diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index 3491450a..7bd9ab77 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -2079,13 +2079,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { if ("2".equals(spStatus)) { map.put("approverPass", 1); map.put("state", "已入库"); - } else { + } + else { // 如果驳回 map.put("state", "驳回"); map.put("approverPass", 2); break; } + // 用于标志当前处理的入库申请是否为组合入库下的申请 + boolean flagForGroupInfoInDepository = false; // 默认不是 if (!"".equals(sid)) { Integer id = ObjectFormatUtil.toInteger(sid.trim()); // 获取具体入库订单 @@ -2093,6 +2096,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 获取当前入库对应的物料 Material materialById = materialMapper.findMaterialById(recordP.getMid()); + if(recordP.getAirtoGroupId() != null){ + // 如果该申请是组合入库下的申请 + flagForGroupInfoInDepository = true; + } // 用于调用入库方法而创建的 Map paramForUpdateInventory = new HashMap<>(); paramForUpdateInventory.put("mid", recordP.getMid()); @@ -2122,7 +2129,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { paramForUpdateInventory.put("producedDate", recordP.getMproducedDate()); Place placeById = placeMapper.findPlaceById(recordP.getPlaceId()); updateInventoryInfoForApproval(paramForUpdateInventory, recordP.getQuantity(), materialById, placeById); - } else { + } + else { // 如果是拆单单位 // 查询拆单记录 @@ -2173,8 +2181,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } } } - map.put("id", sid); - depositoryRecordMapper.updateApplicationInRecord(map); + if(!flagForGroupInfoInDepository) { + map.put("id", sid); + depositoryRecordMapper.updateApplicationInRecord(map); + }else{ + depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(sid)); + String mainGidId = (String)redisTemplate.opsForHash().get(spNo, "mainGidId"); + String replace = mainGidId.replace("[", "").replace("]", ""); + map.put("id",replace); + depositoryRecordMapper.updateApplicationInRecord(map); + } } redisTemplate.delete(spNo); }