|  |  | 
 |  |  |  | 
 |  |  |         // 增删改只创建一次工作主档 | 
 |  |  |         boolean updateFlag = true; | 
 |  |  |         boolean deleteFlag = true; | 
 |  |  |         boolean addFlag = true; | 
 |  |  |  | 
 |  |  |         // 修改数量 | 
 |  |  |         Iterator<LocDetl> iterator = locDetls.iterator(); | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 删除库存 | 
 |  |  |         for (LocDetl locDetl : locDetls) { | 
 |  |  |             // todo 盘点记录 | 
 |  |  |             if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(), | 
 |  |  |                     locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3())) { | 
 |  |  |                 throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); | 
 |  |  |             } | 
 |  |  |             // 保存调整记录 | 
 |  |  |             AdjDetl adjDetl = new AdjDetl(); | 
 |  |  |             adjDetl.setLocNo(locDetl.getLocNo()); | 
 |  |  |             adjDetl.setMatnr(locDetl.getMatnr()); | 
 |  |  |             adjDetl.setBatch(locDetl.getBatch()); | 
 |  |  |             adjDetl.setOriQty(locDetl.getAnfme()); | 
 |  |  |             adjDetl.setAdjQty(0.0D); | 
 |  |  |             adjDetl.setModiTime(now); | 
 |  |  |             adjDetl.setModiUser(userId); | 
 |  |  |             adjDetl.setAppeTime(now); | 
 |  |  |             adjDetl.setAppeUser(userId); | 
 |  |  |             adjDetlService.save(adjDetl, userId); | 
 |  |  |  | 
 |  |  |             if (deleteFlag) { | 
 |  |  |                 wrkMast.setWrkNo(commonService.getWorkNo(3)); | 
 |  |  |                 wrkMast.setIoType(22); | 
 |  |  |                 boolean res = wrkMastLogService.insert(wrkMast); | 
 |  |  |                 if (!res) { | 
 |  |  |                     throw new CoolException("库存调整-删除 保存工作档失败"); | 
 |  |  |                 } | 
 |  |  |                 deleteFlag = false; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             // 添加历史工作明细 | 
 |  |  |             WrkDetlLog wrkDetl = new WrkDetlLog(); | 
 |  |  |             wrkDetl.sync(locDetl); | 
 |  |  |             wrkDetl.setWrkNo(wrkMast.getWrkNo()); | 
 |  |  |             wrkDetl.setIoTime(wrkMast.getIoTime()); | 
 |  |  |             wrkDetl.setAnfme(0.0); | 
 |  |  |             wrkDetl.setAppeTime(now); | 
 |  |  |             wrkDetl.setModiTime(now); | 
 |  |  |             wrkMast.setAppeUser(userId); | 
 |  |  |             wrkMast.setModiUser(userId); | 
 |  |  |             if (!wrkDetlLogService.insert(wrkDetl)) { | 
 |  |  |                 throw new CoolException("保存工作明细失败"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         // 添加库存 | 
 |  |  |         for (LocDetlAdjustParam.LocDetlAdjust adjust : list) { | 
 |  |  |             if (adjust.getCount() == 0.0D) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             Mat mat = matService.selectByMatnr(adjust.getMatnr()); | 
 |  |  |             LocDetl locDetl = new LocDetl(); | 
 |  |  |             locDetl.sync(mat); | 
 |  |  |             locDetl.setBatch(adjust.getBatch()); | 
 |  |  |             locDetl.setLocNo(locMast.getLocNo()); | 
 |  |  |             locDetl.setZpallet(locMast.getBarcode()); | 
 |  |  |             locDetl.setAnfme(adjust.getCount()); // 数量 | 
 |  |  |             locDetl.setModiUser(userId); // 操作人员信息 | 
 |  |  |             locDetl.setModiTime(now); | 
 |  |  |             locDetl.setAppeUser(userId); | 
 |  |  |             locDetl.setAppeTime(now); | 
 |  |  |             if (!locDetlService.insert(locDetl)) { | 
 |  |  |                 throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号库存明细失败"); | 
 |  |  |             } | 
 |  |  |             // 保存调整记录 | 
 |  |  |             AdjDetl adjDetl = new AdjDetl(); | 
 |  |  |             adjDetl.setLocNo(locMast.getLocNo()); | 
 |  |  |             adjDetl.setMatnr(adjust.getMatnr()); | 
 |  |  |             adjDetl.setBatch(adjust.getBatch()); | 
 |  |  |             adjDetl.setOriQty(0.0D); | 
 |  |  |             adjDetl.setAdjQty(adjust.getCount()); | 
 |  |  |             adjDetl.setModiTime(now); | 
 |  |  |             adjDetl.setModiUser(userId); | 
 |  |  |             adjDetl.setAppeTime(now); | 
 |  |  |             adjDetl.setAppeUser(userId); | 
 |  |  |             adjDetlService.save(adjDetl, userId); | 
 |  |  |  | 
 |  |  |             if (addFlag) { | 
 |  |  |                 wrkMast.setWrkNo(commonService.getWorkNo(3)); | 
 |  |  |                 wrkMast.setIoType(21); | 
 |  |  |                 boolean res = wrkMastLogService.insert(wrkMast); | 
 |  |  |                 if (!res) { | 
 |  |  |                     throw new CoolException("库存调整-新增 保存工作档失败"); | 
 |  |  |                 } | 
 |  |  |                 addFlag = false; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             // 添加历史工作明细 | 
 |  |  |             WrkDetlLog wrkDetl = new WrkDetlLog(); | 
 |  |  |             wrkDetl.sync(locDetl); | 
 |  |  |             wrkDetl.setWrkNo(wrkMast.getWrkNo()); | 
 |  |  |             wrkDetl.setIoTime(wrkMast.getIoTime()); | 
 |  |  |             wrkDetl.setAnfme(adjust.getCount()); | 
 |  |  |             wrkDetl.setAppeTime(now); | 
 |  |  |             wrkDetl.setModiTime(now); | 
 |  |  |             wrkMast.setAppeUser(userId); | 
 |  |  |             wrkMast.setModiUser(userId); | 
 |  |  |             if (!wrkDetlLogService.insert(wrkDetl)) { | 
 |  |  |                 throw new CoolException("保存工作明细失败"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         // 修改库位状态 | 
 |  |  |         int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); | 
 |  |  |         if (locMast.getLocSts().equals("F")) { |