新增双向统计接口
This commit is contained in:
@@ -122,5 +122,25 @@ public class WmsMaterialCoilController extends BaseController {
|
||||
Map<String, Object> traceResult = iWmsMaterialCoilService.queryTrace(enterCoilNo, currentCoilNo);
|
||||
return R.ok(traceResult);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询各个库区中不同类型的钢卷分布情况
|
||||
* 按库区分组,统计每种物品类型的钢卷数量和重量
|
||||
*/
|
||||
@GetMapping("/distributionByWarehouse")
|
||||
public R<List<WmsMaterialCoilVo>> getDistributionByWarehouse() {
|
||||
List<WmsMaterialCoilVo> distribution = iWmsMaterialCoilService.getDistributionByWarehouse();
|
||||
return R.ok(distribution);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询不同类型的钢卷在不同库区的分布情况
|
||||
* 按物品类型分组,统计每个库区的钢卷数量和重量
|
||||
*/
|
||||
@GetMapping("/distributionByItemType")
|
||||
public R<List<WmsMaterialCoilVo>> getDistributionByItemType() {
|
||||
List<WmsMaterialCoilVo> distribution = iWmsMaterialCoilService.getDistributionByItemType();
|
||||
return R.ok(distribution);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -158,6 +158,28 @@ public class WmsMaterialCoilVo {
|
||||
*/
|
||||
private List<WmsBomItemVo> bomItemList;
|
||||
|
||||
// ========== 统计相关属性 ==========
|
||||
|
||||
/**
|
||||
* 库区名称(用于统计查询)
|
||||
*/
|
||||
private String warehouseName;
|
||||
|
||||
/**
|
||||
* 钢卷数量(用于统计查询)
|
||||
*/
|
||||
private Long coilCount;
|
||||
|
||||
/**
|
||||
* 总毛重(用于统计查询)
|
||||
*/
|
||||
private BigDecimal totalGrossWeight;
|
||||
|
||||
/**
|
||||
* 总净重(用于统计查询)
|
||||
*/
|
||||
private BigDecimal totalNetWeight;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.klp.mapper;
|
||||
import com.klp.domain.WmsMaterialCoil;
|
||||
import com.klp.domain.vo.WmsMaterialCoilVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 钢卷物料表Mapper接口
|
||||
@@ -12,5 +14,20 @@ import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
*/
|
||||
public interface WmsMaterialCoilMapper extends BaseMapperPlus<WmsMaterialCoilMapper, WmsMaterialCoil, WmsMaterialCoilVo> {
|
||||
|
||||
/**
|
||||
* 查询各个库区中不同类型的钢卷分布情况
|
||||
* 按库区分组,统计每种物品类型的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表
|
||||
*/
|
||||
List<Map<String, Object>> getDistributionByWarehouse();
|
||||
|
||||
/**
|
||||
* 查询不同类型的钢卷在不同库区的分布情况
|
||||
* 按物品类型分组,统计每个库区的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表
|
||||
*/
|
||||
List<Map<String, Object>> getDistributionByItemType();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsMaterialCoil;
|
||||
import com.klp.domain.vo.WmsMaterialCoilVo;
|
||||
import com.klp.domain.bo.WmsMaterialCoilBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
@@ -65,5 +64,21 @@ public interface IWmsMaterialCoilService {
|
||||
* @return 溯源结果(包含二维码信息和数据库记录)
|
||||
*/
|
||||
Map<String, Object> queryTrace(String enterCoilNo, String currentCoilNo);
|
||||
|
||||
/**
|
||||
* 查询各个库区中不同类型的钢卷分布情况
|
||||
* 按库区分组,统计每种物品类型的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表,包含库区信息、物品类型、数量、重量等
|
||||
*/
|
||||
List<WmsMaterialCoilVo> getDistributionByWarehouse();
|
||||
|
||||
/**
|
||||
* 查询不同类型的钢卷在不同库区的分布情况
|
||||
* 按物品类型分组,统计每个库区的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表,包含物品类型、库区信息、数量、重量等
|
||||
*/
|
||||
List<WmsMaterialCoilVo> getDistributionByItemType();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,7 @@ import com.klp.domain.vo.WmsMaterialCoilVo;
|
||||
import com.klp.domain.vo.WmsGenerateRecordVo;
|
||||
import com.klp.domain.vo.WmsWarehouseVo;
|
||||
import com.klp.domain.vo.WmsRawMaterialVo;
|
||||
import com.klp.domain.vo.WmsProductBomVo;
|
||||
import com.klp.domain.vo.WmsBomItemVo;
|
||||
import com.klp.domain.bo.WmsProductBomBo;
|
||||
import com.klp.domain.bo.WmsBomItemBo;
|
||||
import com.klp.domain.WmsMaterialCoil;
|
||||
import com.klp.domain.WmsStock;
|
||||
@@ -45,6 +43,7 @@ import java.util.HashMap;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 钢卷物料表Service业务层处理
|
||||
@@ -1008,5 +1007,47 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询各个库区中不同类型的钢卷分布情况
|
||||
* 按库区分组,统计每种物品类型的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表,包含库区信息、物品类型、数量、重量等
|
||||
*/
|
||||
@Override
|
||||
public List<WmsMaterialCoilVo> getDistributionByWarehouse() {
|
||||
List<Map<String, Object>> mapList = baseMapper.getDistributionByWarehouse();
|
||||
return convertMapListToVoList(mapList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询不同类型的钢卷在不同库区的分布情况
|
||||
* 按物品类型分组,统计每个库区的钢卷数量和重量
|
||||
*
|
||||
* @return 分布情况列表,包含物品类型、库区信息、数量、重量等
|
||||
*/
|
||||
@Override
|
||||
public List<WmsMaterialCoilVo> getDistributionByItemType() {
|
||||
List<Map<String, Object>> mapList = baseMapper.getDistributionByItemType();
|
||||
return convertMapListToVoList(mapList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Map列表转换为WmsMaterialCoilVo列表
|
||||
*/
|
||||
private List<WmsMaterialCoilVo> convertMapListToVoList(List<Map<String, Object>> mapList) {
|
||||
List<WmsMaterialCoilVo> voList = new ArrayList<>();
|
||||
for (Map<String, Object> map : mapList) {
|
||||
WmsMaterialCoilVo vo = new WmsMaterialCoilVo();
|
||||
vo.setWarehouseId(map.get("warehouse_id") != null ? Long.valueOf(map.get("warehouse_id").toString()) : null);
|
||||
vo.setWarehouseName(map.get("warehouse_name") != null ? map.get("warehouse_name").toString() : null);
|
||||
vo.setItemType(map.get("item_type") != null ? map.get("item_type").toString() : null);
|
||||
vo.setCoilCount(map.get("coil_count") != null ? Long.valueOf(map.get("coil_count").toString()) : 0L);
|
||||
vo.setTotalGrossWeight(map.get("total_gross_weight") != null ? new BigDecimal(map.get("total_gross_weight").toString()) : BigDecimal.ZERO);
|
||||
vo.setTotalNetWeight(map.get("total_net_weight") != null ? new BigDecimal(map.get("total_net_weight").toString()) : BigDecimal.ZERO);
|
||||
voList.add(vo);
|
||||
}
|
||||
return voList;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user