|  |  | 
 |  |  |     private WaitPakinService waitPakinService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderDetlService orderDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private ManLocDetlService manLocDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private NodeService nodeService; | 
 |  |  |  | 
 |  |  |     private static final Map<Integer,Integer> sourceSite = new HashMap<>(); | 
 |  |  |     static { | 
 |  |  | 
 |  |  |  | 
 |  |  |     private ReturnT<String> doIn(WrkMast wrkMast){ | 
 |  |  |         Date now = new Date(); | 
 |  |  |         LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); | 
 |  |  |         try { | 
 |  |  |         LocMast locMast = null; | 
 |  |  |         Node node = null; | 
 |  |  |         if (wrkMast.getIoType() == 300){ | 
 |  |  |             node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getLocNo()).eq("type",3)); | 
 |  |  |             if (null == node) { | 
 |  |  | //                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                 return FAIL.setMsg("工作档[workNo=" + wrkMast.getWrkNo() + "]库位号错误[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |             } | 
 |  |  |             assert node != null; | 
 |  |  |         }else { | 
 |  |  |             locMast = locMastService.selectById(wrkMast.getLocNo()); | 
 |  |  |             if (null == locMast) { | 
 |  |  | //                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                 return FAIL.setMsg("工作档[workNo=" + wrkMast.getWrkNo() + "]库位号错误[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |             } | 
 |  |  |             assert locMast != null; | 
 |  |  |         } | 
 |  |  |         try { | 
 |  |  |  | 
 |  |  |             switch (wrkMast.getIoType()) { | 
 |  |  |                 // 空板入库 | 
 |  |  |                 case 10: | 
 |  |  | 
 |  |  |                         return FAIL.setMsg("库位移转 ===>> 修改目标库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 case 300: | 
 |  |  |                     // 根据工作号,查询工作明细档 | 
 |  |  |                     List<WrkDetl> wrkDetls300 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); | 
 |  |  |                     if (wrkDetls300.isEmpty()) { | 
 |  |  | //                        exceptionHandle("并板入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); | 
 |  |  |                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                         return FAIL.setMsg("平库入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                     } | 
 |  |  |                     // 修改库存明细数量,如无库存,曾新增 | 
 |  |  |                     for (WrkDetl wrkDetl:wrkDetls300) { | 
 |  |  |  | 
 |  |  |                         ManLocDetl manLocDetl = manLocDetlService.selectItem(node.getName(), wrkDetl.getMatnr(), wrkDetl.getBatch()); | 
 |  |  |                         if (null != manLocDetl) { | 
 |  |  |                             Double anfme = manLocDetl.getAnfme()+wrkDetl.getAnfme(); | 
 |  |  |                             if (!manLocDetlService.updateAnfme(anfme, locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { | 
 |  |  | //                                exceptionHandle("并板入库 ===>> 修改库存明细数量失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); | 
 |  |  |                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                                 return FAIL.setMsg("平库入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                             } | 
 |  |  |                         } else { | 
 |  |  |                             manLocDetl = new ManLocDetl(); | 
 |  |  |                             manLocDetl.sync(wrkDetl); | 
 |  |  |                             manLocDetl.setLocNo(wrkMast.getLocNo()); // 库位号 | 
 |  |  |                             manLocDetl.setAnfme(wrkDetl.getAnfme()); // 数量 | 
 |  |  |                             manLocDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码 | 
 |  |  |                             manLocDetl.setModiTime(now); | 
 |  |  |                             manLocDetl.setCreateTime(now); | 
 |  |  |                             if (!manLocDetlService.insert(manLocDetl)) { | 
 |  |  | //                                exceptionHandle("并板入库 ===>> 新增库存明细失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); | 
 |  |  |                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                                 return FAIL.setMsg("平库入库 ===>> 新增库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         if (!Cools.isEmpty(wrkDetl.getOrderNo())){ | 
 |  |  |                             // 更新订单完成数量 | 
 |  |  |                             OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); | 
 |  |  |                             if (orderDetl==null){ | 
 |  |  |                                 orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); | 
 |  |  |                             } | 
 |  |  |                             try { | 
 |  |  |                                 if(!Cools.isEmpty(orderDetl)){ | 
 |  |  |                                     if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), | 
 |  |  |                                             orderDetl.getBatch(),wrkDetl.getAnfme())){ | 
 |  |  | //                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", | 
 |  |  | //                                            wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                                         return FAIL.setMsg("平库入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                                     } | 
 |  |  |                                 } | 
 |  |  |                             } catch (Exception ignore){} | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     break; | 
 |  |  |                 default: | 
 |  |  |                     break; | 
 |  |  |             } | 
 |  |  | 
 |  |  |         Date now = new Date(); | 
 |  |  |         LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); | 
 |  |  |         try { | 
 |  |  |             Node node = null; | 
 |  |  |             if (wrkMast.getIoType() == 301){ | 
 |  |  |                 node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getSourceLocNo()).eq("type",3)); | 
 |  |  |                 if (null == node) { | 
 |  |  | //                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                     return FAIL.setMsg("工作档[workNo=" + wrkMast.getWrkNo() + "]库位号错误[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                 } | 
 |  |  |                 assert node != null; | 
 |  |  |             }else { | 
 |  |  |                 locMast = locMastService.selectById(wrkMast.getLocNo()); | 
 |  |  |                 if (null == locMast) { | 
 |  |  | //                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                     return FAIL.setMsg("工作档[workNo=" + wrkMast.getWrkNo() + "]库位号错误[locNo=" + wrkMast.getLocNo() + "]"); | 
 |  |  |                 } | 
 |  |  |                 assert locMast != null; | 
 |  |  |             } | 
 |  |  |             if (null == locMast) { | 
 |  |  | //                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 case 301: | 
 |  |  |                     List<WrkDetl> wrkDetls301 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); | 
 |  |  |                     for (WrkDetl wrkDetl : wrkDetls301) { | 
 |  |  |                         // 更新订单完成数量 | 
 |  |  |                         OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); | 
 |  |  |                         if (orderDetl==null){ | 
 |  |  |                             orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); | 
 |  |  |                         } | 
 |  |  |                         try { | 
 |  |  |                             if(!Cools.isEmpty(orderDetl)){ | 
 |  |  |                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), | 
 |  |  |                                         orderDetl.getBatch(),wrkDetl.getAnfme())){ | 
 |  |  | //                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", | 
 |  |  | //                                            wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
 |  |  |                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
 |  |  |                                     return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } catch (Exception ignore){} | 
 |  |  |                     } | 
 |  |  |                     break; | 
 |  |  |                 default: | 
 |  |  |                     break; | 
 |  |  |             } |