自动化立体仓库 - WMS系统
#
lty
2 天以前 4f2b7db1184798a55046f04e17d5540b4a7e19f4
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -349,7 +349,7 @@
            //任务
            if (params.getMsgType().equals("task_complete")) {
                //称重
                if ((mast.getIoType()==1||mast.getIoType()==10)&&mast.getWrkSts() == 2 && Cools.isEmpty(mast.getStaNo())) {
                if ((mast.getIoType()==1||mast.getIoType()==10) && mast.getWrkSts() == 2 && Cools.isEmpty(mast.getStaNo())) {
                    Double weight = 0.0;
                    if (!Cools.isEmpty(params.getData())){
                        JSONObject jsonObject = JSONObject.parseObject(params.getData());
@@ -576,7 +576,7 @@
            //任务
            if (params.getMsgType().equals("task_complete")) {
                //称重
                if ((mast.getIoType()==1||mast.getIoType()==10)&&mast.getWrkSts() == 2 && Cools.isEmpty(mast.getStaNo())) {
                if ((mast.getIoType()==1||mast.getIoType()==10) && mast.getWrkSts() == 2  && Cools.isEmpty(mast.getStaNo())) {
                    Double weight = 0.0;
                    if (!Cools.isEmpty(params.getData())){
                        JSONObject jsonObject = JSONObject.parseObject(params.getData());
@@ -697,8 +697,40 @@
                            if (!wrkDetlService.update(detl, new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo).eq("matnr", detl.getMatnr()).eq("barcode", detl.getBarcode()))) {
                                throw new CoolException("原任务档明细修改失败!!");
                            }
                        } else {
                            throw new CoolException("任务号截取失败,请检查主任务档任档wrkCode字段");
                        } else if(!Cools.isEmpty(mast.getPacked())){
                            String wrkNo = mast.getPacked();
                            WrkMast orgWrk = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
                            if (Objects.isNull(orgWrk)) {
                                throw new CoolException("数据错误,回库主任务档不存在或已删除!!");
                            }
                            orgWrk.setOveMk("Y");
                            log.info("回库主任务更新: wrkNo={}, setOveMk=Y", wrkNo);
                            if (!wrkMastService.updateById(orgWrk)) {
                                throw new CoolException("任务档修改失败!!");
                            }
                            WrkDetl detl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo));
                            if (Objects.isNull(detl)) {
                                throw new CoolException("主任务档明细不存在!!");
                            }
                            //库存减去称重长度
                            Double v = Math.round((wrkDetl.getStockQty() - realQty) * 10000) / 10000.0;
                            log.info("回库主任务明细回写计算: mainWrkNo={}, v=(stockQty-realQty)={}, stockQty={}, realQty={}",
                                    wrkNo, v, wrkDetl.getStockQty(), realQty);
                            //原出为数量与真实数量互换,保持一致性
                            if(v<= 0){
                                detl.setAnfme(matnr.getSafeQty());//设定为默认值
                                log.info("回库主任务明细回写修正: mainWrkNo={}, v<=0, setAnfme(safeQty)={}", wrkNo, detl.getAnfme());
                            }else{
                                detl.setAnfme(v);
                                log.info("回库主任务明细回写修正: mainWrkNo={}, v>0, setAnfme={}", wrkNo, detl.getAnfme());
                            }
                            detl.setWeight(weight);
                            if (!wrkDetlService.update(detl, new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo).eq("matnr", detl.getMatnr()).eq("barcode", detl.getBarcode()))) {
                                throw new CoolException("原任务档明细修改失败!!");
                            }
                        }else{
                                throw new CoolException("任务号截取失败,请检查主任务档任档wrkCode字段");
                        }
                    }
                }