diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index cf1f9cf41..314329eb6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -11862,22 +11862,36 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl updateFlowStatusBatch(JSONObject json) { - String ids = json.getString("ids"); String flowStatus = json.getString("flowStatus"); - String operateType = json.getString("operateType"); - if(StringUtils.isNotEmpty(ids)){ + JSONArray lawsInventoryArray = json.getJSONArray("lawsInventoryArray"); + if(CollectionUtils.isNotEmpty(lawsInventoryArray)){ + List> lawsInventoryMapList = new ArrayList<>(); + Map lawsInventoryMap = null; + for (Object lawsInventory : lawsInventoryArray) { + lawsInventoryMap = JSONObject.parseObject(JSONObject.toJSONString(lawsInventory),Map.class); + lawsInventoryMapList.add(lawsInventoryMap); + } + + List lawsInventoryIdList = lawsInventoryMapList.stream().map(e -> (String) e.get("id")).distinct().collect(Collectors.toList()); + QueryWrapper pliQueryWrap = new QueryWrapper<>(); - pliQueryWrap.lambda().in(ProjectLawsInventoryEO::getId,Arrays.asList(ids.split(","))); + pliQueryWrap.lambda().in(ProjectLawsInventoryEO::getId,lawsInventoryIdList); List pliEoList = this.list(pliQueryWrap); - if(CollectionUtils.isNotEmpty(pliEoList)){ - pliEoList.forEach(pliEo -> { - if(StringUtils.contains(operateType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_UPDATE_FLOW_STATUS.getValue())){ - pliEo.setDesignFlowStatus(flowStatus); - } - if(StringUtils.contains(operateType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_UPDATE_FLOW_STATUS.getValue())){ - pliEo.setVerifyFlowStatus(flowStatus); - } - }); + if(CollectionUtils.isNotEmpty(pliEoList) && CollectionUtils.isNotEmpty(lawsInventoryMapList)){ + for (Map map : lawsInventoryMapList) { + String id = (String) map.get("id"); + String operateType = (String) map.get("operateType"); + pliEoList.forEach(pliEo -> { + if (StringUtils.equals(id,pliEo.getId())) { + if(StringUtils.contains(operateType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_UPDATE_FLOW_STATUS.getValue())){ + pliEo.setDesignFlowStatus(flowStatus); + } + if(StringUtils.contains(operateType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_UPDATE_FLOW_STATUS.getValue())){ + pliEo.setVerifyFlowStatus(flowStatus); + } + } + }); + } this.updateBatchById(pliEoList); } }