diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java index b3ea8c6e..5b03e178 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyInfo.java @@ -15,7 +15,7 @@ import java.util.List; /** * 退料任务对象 back_apply_info - * + * * @author xsheng * @date 2024-10-16 */ @@ -211,4 +211,9 @@ public class MaterialBackApplyInfo implements Serializable { @Excel(name = "项目部",sort = 4) private String departName; + /** + * 协议id集合 + */ + private List agreementIds; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java index 284fcc41..087dfa1c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java @@ -53,9 +53,9 @@ public class SelectServiceImpl implements SelectService { // 性能监控开始 long startTime = System.currentTimeMillis(); Map stepTimes = new LinkedHashMap<>(); - + log.info("=== getUnitList开始执行,参数: {}", bmUnit); - + // 步骤1: 获取登陆用户的组织ID long step1Start = System.currentTimeMillis(); Long thisLoginUserDeptId = SecurityUtils.getLoginUser().getSysUser().getDeptId(); @@ -66,25 +66,25 @@ public class SelectServiceImpl implements SelectService { log.info("用户组织ID为空,直接返回空列表,总耗时: {}ms", totalTime); return AjaxResult.success(Collections.emptyList()); } - + // 步骤2: 判断是否开启过滤 long step2Start = System.currentTimeMillis(); if (Objects.nonNull(bmUnit) && Objects.nonNull(bmUnit.getEnableFilter()) && bmUnit.getEnableFilter()) { bmUnit.setDeptId(thisLoginUserDeptId); } stepTimes.put("过滤判断", System.currentTimeMillis() - step2Start); - + // 步骤3: 判断是否是app模式 if (bmUnit.getIsApp() != null && bmUnit.getIsApp()) { long appStart = System.currentTimeMillis(); List list = mapper.getUnitListApp(bmUnit); stepTimes.put("App模式查询", System.currentTimeMillis() - appStart); - + long totalTime = System.currentTimeMillis() - startTime; DateTimeHelper.logPerformanceAnalysis("getUnitList(App模式)", totalTime, stepTimes); return AjaxResult.success(list); } - + List groupList = new ArrayList<>(); List list; try { @@ -92,7 +92,7 @@ public class SelectServiceImpl implements SelectService { long dbStart = System.currentTimeMillis(); list = mapper.getUnitList(bmUnit); stepTimes.put("数据库查询", System.currentTimeMillis() - dbStart); - + // 步骤5: 数据过滤 long filterStart = System.currentTimeMillis(); if (list != null) { @@ -128,11 +128,11 @@ public class SelectServiceImpl implements SelectService { } catch (Exception e) { log.error("单位类型树-查询失败", e); } - + // 性能分析总结 long totalTime = System.currentTimeMillis() - startTime; DateTimeHelper.logPerformanceAnalysis("getUnitList", totalTime, stepTimes); - + return AjaxResult.success(groupList); } @@ -414,19 +414,17 @@ public class SelectServiceImpl implements SelectService { */ @Override public AjaxResult getAgreementInfoByIdBack(SelectDto dto) { - AgreementVo vo = new AgreementVo(); + List list = new ArrayList<>(); try { if (dto != null && dto.getTeamId() != null) { dto.setUnitId(Integer.parseInt(dto.getTeamId())); } - List list = mapper.getAgreementInfoByIdBack(dto); - if (CollectionUtils.isNotEmpty(list)) { - vo = list.get(0); - } + list = mapper.getAgreementInfoByIdBack(dto); + } catch (Exception e) { log.error("往来单位id和标段工程id获取协议信息", e); } - return AjaxResult.success(vo); + return AjaxResult.success(list); } /** @@ -817,19 +815,19 @@ public class SelectServiceImpl implements SelectService { if (CollectionUtils.isEmpty(nodes)) { return new ArrayList<>(); } - + // 使用Map来存储节点,提高查找效率 Map nodeMap = new HashMap<>(); Map> childrenMap = new HashMap<>(); - + // 第一遍遍历:建立Map索引 for (ProjectTreeNode node : nodes) { nodeMap.put(node.getId(), node); childrenMap.put(node.getId(), new ArrayList<>()); } - + List rootNodes = new ArrayList<>(); - + // 第二遍遍历:建立父子关系 for (ProjectTreeNode node : nodes) { String parentId = node.getParentId(); @@ -844,13 +842,13 @@ public class SelectServiceImpl implements SelectService { } } } - + // 第三遍遍历:设置children for (ProjectTreeNode node : nodes) { List children = childrenMap.get(node.getId()); node.setChildren(children); } - + return rootNodes; } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAgreementInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAgreementInfoMapper.xml index 5310fd46..810ea99b 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAgreementInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmAgreementInfoMapper.xml @@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY bai.agreement_id DESC - + - + insert into bm_agreement_info (agreement_code, sign_time, unit_id, project_unit_id, project_id, create_by, lease_day, @@ -140,7 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from bm_agreement_info where agreement_id in + delete from bm_agreement_info where agreement_id in #{agreementId} @@ -195,9 +195,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE unit_id = #{unitId} and project_id = #{projectId} + limit 1 - \ No newline at end of file + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml index ef9201e0..3774c23e 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml @@ -729,7 +729,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id and mt1.del_flag = '0' LEFT JOIN clz_lease_apply_info clai ON sai.lease_id = clai.id WHERE - sai.STATUS = '0' and sai.agreement_id = #{agreementId} + sai.STATUS = '0' + + + and sai.agreement_id in + + #{item} + + + GROUP BY mt.type_id @@ -851,4 +859,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - \ No newline at end of file +