From b276afc142b38e3227bfbe12c1ad69d962768e1f Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 14 May 2025 11:10:46 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BackApplyInfoController.java | 2 +- .../back/mapper/BackApplyInfoMapper.java | 2 +- .../back/service/IBackApplyInfoService.java | 2 +- .../impl/BackApplyInfoServiceImpl.java | 2 +- .../ma/controller/TypeController.java | 13 ++++ .../com/bonus/material/ma/domain/Machine.java | 6 +- .../com/bonus/material/ma/domain/Type.java | 3 + .../bonus/material/ma/mapper/TypeMapper.java | 9 +++ .../material/ma/service/ITypeService.java | 1 + .../ma/service/impl/TypeServiceImpl.java | 16 +++++ .../bonus/material/warning/StatisticTask.java | 37 ++++-------- .../material/back/BackApplyInfoMapper.xml | 8 ++- .../mapper/material/ma/MachineMapper.xml | 10 +++- .../mapper/material/ma/TypeMapper.xml | 59 ++++++++++++++----- 14 files changed, 115 insertions(+), 55 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java index b8ccba24..ca5f7076 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java @@ -80,7 +80,7 @@ public class BackApplyInfoController extends BaseController { @GetMapping("/getDetailsList") public AjaxResult getDetailsList(BackApplyInfo backApplyInfo) { startPage(); - List list = backApplyInfoService.getDetailsList(backApplyInfo); + List list = backApplyInfoService.getDetailsList(backApplyInfo); return AjaxResult.success(getDataTable(list)); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index 12d2c523..f0e422c6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -372,5 +372,5 @@ public interface BackApplyInfoMapper { * @param backApplyInfo * @return */ - List getDetailsList(BackApplyInfo backApplyInfo); + List getDetailsList(BackApplyInfo backApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java index 0ff617e9..e3947b9f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java @@ -165,6 +165,6 @@ public interface IBackApplyInfoService { * @param backApplyInfo * @return */ - List getDetailsList(BackApplyInfo backApplyInfo); + List getDetailsList(BackApplyInfo backApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index 3106f4d6..0ae3de44 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -1438,7 +1438,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { * @return */ @Override - public List getDetailsList(BackApplyInfo backApplyInfo) { + public List getDetailsList(BackApplyInfo backApplyInfo) { return backApplyInfoMapper.getDetailsList(backApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java index bcd8b511..db3c5fa4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java @@ -54,6 +54,19 @@ public class TypeController extends BaseController { return getDataTable(list); } + /** + * 根据层级查询下拉数据 + * @param type + * @return + */ + @ApiOperation(value = "查询物资类型管理列表") + @GetMapping("/getLevelList") + public AjaxResult getLevelList(Type type) { + startPage(); + List list = typeService.getLevelList(type); + return AjaxResult.success(list); + } + @ApiOperation(value = "查询物资历史价格列表") @GetMapping("/getMaTypeHistoryList") public TableDataInfo getMaTypeHistoryList(MaTypeHistory maTypeHistory) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java index fcc08f6a..3ebd521f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java @@ -221,9 +221,9 @@ public class Machine extends BaseEntity @ApiModelProperty(value = "类型编号") private String typeCode; - /** 规格编号 */ - @ApiModelProperty(value = "规格编号") - private String modelCode; + /** 规格型号 */ + @ApiModelProperty(value = "规格型号") + private String maModel; @ApiModelProperty(value = "推送时间") @JsonFormat(pattern = "yyyy-MM-dd") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java index 2b01e73f..c4b626fb 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Type.java @@ -239,4 +239,7 @@ public class Type extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd") private String pushTime; + @ApiModelProperty(value = "机具编码") + private String maCode; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java index f50c67c2..9a4396a0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java @@ -213,4 +213,13 @@ public interface TypeMapper { * @return */ List getMaTypeDetails(Type dto); + + /** + * 查询物资类型管理列表 + * @param type + * @return + */ + List getLevelList(Type type); + + List getLevelThreeList(Type type); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java index 268adbe5..f40367fa 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java @@ -140,4 +140,5 @@ public interface ITypeService { AjaxResult getPushDetailsInfo(); + List getLevelList(Type type); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java index a3410894..af983817 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java @@ -207,6 +207,22 @@ public class TypeServiceImpl implements ITypeService { return AjaxResult.success(simplifiedGroupedData); } + /** + * 查询物资类型管理列表 + * @param type + * @return + */ + @Override + public List getLevelList(Type type) { + List list = new ArrayList<>(); + if (type.getLevel() != null && "3".equals(type.getLevel())) { + list = typeMapper.getLevelList(type); + } else if (type.getLevel() != null && "4".equals(type.getLevel())) { + list = typeMapper.getLevelThreeList(type); + } + return list; + } + @Override public List selectMaTypeListByHouseId(Long houseId) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java index b05070a7..3452a8f7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/StatisticTask.java @@ -74,7 +74,7 @@ public class StatisticTask { Long level3Id = createOrGetCategory(keys[2], level2Id, "3", type); // 处理四级分类和机具信息 - processLevel4Items(formDate, valueList, level3Id, keys, typeMapper, machineMapper); + processLevel4Items(valueList, level3Id, typeMapper, machineMapper); } catch (Exception e) { log.error("Failed to process category: {}", key, e); @@ -118,14 +118,12 @@ public class StatisticTask { /** * 处理四级分类和机具信息 - * @param formDate * @param items * @param parentId - * @param categoryKeys * @param typeMapper * @param machineMapper */ - private void processLevel4Items(String formDate, List items, Long parentId, String[] categoryKeys, + private void processLevel4Items(List items, Long parentId, TypeMapper typeMapper, MachineMapper machineMapper) { for (Type item : items) { item.setLevel("4"); @@ -145,29 +143,14 @@ public class StatisticTask { throw new RuntimeException("Failed to insert level 4 item: " + item.getModelCode()); } } - - // 查询并更新机具信息 - Type queryDto = new Type(); - queryDto.setMaterialName(categoryKeys[0]); - queryDto.setTypeName(categoryKeys[1]); - queryDto.setTypeCode(categoryKeys[2]); - queryDto.setModelCode(item.getModelCode()); - queryDto.setPushTime(formDate); - - List machineList = typeMapper.getMaTypeDetails(queryDto); - - if (CollectionUtils.isNotEmpty(machineList)) { - for (Machine machine : machineList) { - machine.setTypeId(item.getTypeId()); - Machine existingMachine = machineMapper.getMachineById(machine); - if (existingMachine == null) { - // 推送过来的数据默认状态为 在库 - machine.setMaStatus("1"); - machineMapper.insertMachine(machine); - } /*else { - machineMapper.updateMachine(machine); - }*/ - } + Machine machine = new Machine(); + machine.setTypeId(item.getTypeId()); + machine.setMaCode(item.getMaCode()); + Machine existingMachine = machineMapper.getMachineById(machine); + if (existingMachine == null) { + // 推送过来的数据默认状态为 在库 + machine.setMaStatus("1"); + machineMapper.insertMachine(machine); } } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 54fa780a..330f3375 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -932,11 +932,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bcd.type_id = #{typeId} + - SELECT ma_name AS typeCode, ma_model AS modelCode, - ma_unit AS unitName, + ma_unit AS unitNames, NUM AS backNum FROM ma_station_push WHERE task_code = #{code} + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 7f09ff8b..a951b18c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -497,7 +497,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ma_type AS typeName, ma_name AS typeCode, ma_model AS maModel, - ma_code AS modelCode, + ma_code AS maCode, ma_qrcode AS qrCode, ma_status AS maStatus, this_check_time AS thisCheckTime, @@ -512,9 +512,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ( ma_code like concat('%', #{keyWord}, '%') or ma_qrcode like concat('%', #{keyWord}, '%') or - check_man like concat('%', #{keyWord}, '%') or + check_man like concat('%', #{keyWord}, '%') ) + + and ma_name like concat('%', #{typeCode}, '%') + + + and ma_model like concat('%', #{maModel}, '%') + GROUP BY ma_code diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml index 5baafcdf..7061e9b7 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml @@ -956,7 +956,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" COALESCE(t1.sum_num_1, 0) - COALESCE(t2.sum_num_2, 0) AS storageNum, COALESCE(t1.lease_price, t2.lease_price) AS leasePrice, COALESCE(t1.push_time, t2.push_time) AS pushTime, - COALESCE(t1.manage_type, t2.manage_type) AS manageType + COALESCE(t1.manage_type, t2.manage_type) AS manageType, + COALESCE(t1.ma_code, t2.ma_code) AS maCode FROM ( SELECT ma_material, @@ -964,16 +965,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ma_name, ma_model, ma_code, - SUM(NUM) AS sum_num_1, + SUM(num) AS sum_num_1, lease_price, push_time, manage_type FROM ma_station_push WHERE task_type = '1' - - and push_time = #{pushTime} - - GROUP BY ma_material, ma_type, ma_name, ma_model + + and push_time = #{pushTime} + + GROUP BY + ma_material, ma_type, ma_name, ma_model, ma_code, + lease_price, push_time, manage_type ) t1 LEFT JOIN ( SELECT @@ -982,22 +985,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ma_name, ma_model, ma_code, - SUM(NUM) AS sum_num_2, + SUM(num) AS sum_num_2, lease_price, push_time, manage_type FROM ma_station_push WHERE task_type = '2' - - and push_time = #{pushTime} - - GROUP BY ma_material, ma_type, ma_name, ma_model + + and push_time = #{pushTime} + + GROUP BY + ma_material, ma_type, ma_name, ma_model, ma_code, + lease_price, push_time, manage_type ) t2 - ON t1.ma_material = t2.ma_material - AND t1.ma_type = t2.ma_type - AND t1.ma_name = t2.ma_name - AND t1.ma_model = t2.ma_model - AND t1.manage_type = t2.manage_type + ON + t1.ma_material = t2.ma_material AND + t1.ma_type = t2.ma_type AND + t1.ma_name = t2.ma_name AND + t1.ma_model = t2.ma_model AND + t1.manage_type = t2.manage_type AND + ( + (t1.ma_code IS NOT NULL AND t2.ma_code IS NOT NULL AND t1.ma_code = t2.ma_code) + OR (t1.ma_code IS NULL OR t2.ma_code IS NULL) + ) + WHERE + COALESCE(t1.sum_num_1, 0) - COALESCE(t2.sum_num_2, 0) > 0 + + +