zjj
2024-04-01 fb405f122670d390ea31d5f7694155cbe36722a4
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -61,50 +61,7 @@
    public ReturnT<Exception> start(WrkMast wrkMast) {
        try {
            if (!Cools.isEmpty(wrkMast.getBarcode())) {
                Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode());
                // erp关联订单处理
                List<WaitPakin> waitPakins = waitPakinService.selectList(wrapper);
                for (WaitPakin waitPakin : waitPakins) {
                    if (!Cools.isEmpty(waitPakin.getMemo())) {
                        if (waitPakin.getMemo().equals("原材料")) {
                            if (!erpService.incrementPakIn(waitPakin.getSupplier(), waitPakin.getMatnr(), waitPakin.getAnfme())) {
                                exceptionHandle("更新ERP原材料入库数据[matnr={0}]失败", waitPakin.getMatnr());
                            }
                        } else if (waitPakin.getMemo().equals("成品")) {
                            if (!erpService.incrementCPakIn(waitPakin.getSupplier(), waitPakin.getMatnr(), waitPakin.getAnfme())) {
                                exceptionHandle("更新ERP成品入库数据[matnr={0}]失败", waitPakin.getMatnr());
                            }
                        }
                    }
                }
                // 保存入库通知档历史档
                waitPakinLogService.save(wrkMast.getBarcode());
                // 删除入库通知档
                waitPakinService.delete(wrapper);
            }
            // erp关联出库订单处理
            if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 53) {
                EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
                // 获取工作档内物料清单
                List<WrkDetl> wrkDetls = wrkDetlService.selectList(wrapper.eq("wrk_no", wrkMast.getWrkNo()).and().isNotNull("supplier"));
                for (WrkDetl wrkDetl: wrkDetls) {
                    if (!Cools.isEmpty(wrkDetl)) {
                        Integer FInterI = outStockDanService.queryOutStockFInterID(wrkDetl.getSupplier()); // 获取出库单主表主键
                        if (!Cools.isEmpty(FInterI)) {
                            if (!erpService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
                                exceptionHandle("[xtyasrs_dual]更新ERP成品出库数据[matnr={0},FBillNo={1}]失败", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                            }
                            if (!outStockDanService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
                                exceptionHandle("[xtyasrs]更新ERP成品出库数据[matnr={0},FBillNo={1}]失败", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                            }
                        }
                    }
                }
            }
            if (!Cools.isEmpty(wrkMast.getPdcType()) && wrkMast.getPdcType().equals("Y")){
                List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                if (Cools.isEmpty(wrkDetls)){
@@ -158,6 +115,49 @@
                    }
                }
            }
            if (!Cools.isEmpty(wrkMast.getBarcode())) {
                Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode());
                // erp关联订单处理
                List<WaitPakin> waitPakins = waitPakinService.selectList(wrapper);
                for (WaitPakin waitPakin : waitPakins) {
                    if (!Cools.isEmpty(waitPakin.getMemo())) {
                        if (waitPakin.getMemo().equals("原材料")) {
                            if (!erpService.incrementPakIn(waitPakin.getSupplier(), waitPakin.getMatnr(), waitPakin.getAnfme())) {
                                exceptionHandle("更新ERP原材料入库数据[matnr={0}]失败", waitPakin.getMatnr());
                            }
                        } else if (waitPakin.getMemo().equals("成品")) {
                            if (!erpService.incrementCPakIn(waitPakin.getSupplier(), waitPakin.getMatnr(), waitPakin.getAnfme())) {
                                exceptionHandle("更新ERP成品入库数据[matnr={0}]失败", waitPakin.getMatnr());
                            }
                        }
                    }
                }
                // 保存入库通知档历史档
                waitPakinLogService.save(wrkMast.getBarcode());
                // 删除入库通知档
                waitPakinService.delete(wrapper);
            }
            // erp关联出库订单处理
            if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 53) {
                EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
                // 获取工作档内物料清单
                List<WrkDetl> wrkDetls = wrkDetlService.selectList(wrapper.eq("wrk_no", wrkMast.getWrkNo()).and().isNotNull("supplier"));
                for (WrkDetl wrkDetl: wrkDetls) {
                    if (!Cools.isEmpty(wrkDetl)) {
                        Integer FInterI = outStockDanService.queryOutStockFInterID(wrkDetl.getSupplier()); // 获取出库单主表主键
                        if (!Cools.isEmpty(FInterI)) {
                            if (!erpService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
                                exceptionHandle("[xtyasrs_dual]更新ERP成品出库数据[matnr={0},FBillNo={1}]失败", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                            }
                            if (!outStockDanService.incrementCPakOut(FInterI, wrkDetl.getMatnr(),  wrkDetl.getAnfme(), wrkDetl.getSupplier())) {
                                exceptionHandle("[xtyasrs]更新ERP成品出库数据[matnr={0},FBillNo={1}]失败", wrkDetl.getMatnr(),wrkDetl.getSupplier());
                            }
                        }
                    }
                }
            }
            // 保存工作主档历史档
            if (!wrkMastLogService.save(wrkMast.getWrkNo())) {