src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/StandingHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/param/SearchLocParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -216,16 +216,16 @@ } @PostMapping("/rpc/pakIn/auth/v1") @AppAuth(memo = "入库通知单接口调用") @AppAuth(memo = "PACK信息下发") public synchronized R combPack(@RequestHeader(required = false) String appkey, @RequestBody(required = false) CombParam param, HttpServletRequest request) { log.info("入库通知单接口调用"+appkey+param); log.info("PACK信息下发接口调用"+appkey+param); auth(appkey, param, request); if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } //生成入库通知档 //生成商品档案 openService.combPACK(param); // Map<String, Boolean> map = new HashMap<>(); // map.put("isComplete", true); src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -672,7 +672,7 @@ } //3.开始测试上报 CombParam combParam = new CombParam(); combParam.setPackNo(locMast.getBarcode()); combParam.setPackNo(testMast.getBarcode()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(0); combParam.setStepSts(3); src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -573,65 +573,65 @@ throw new CoolException("缺少参数:packNo"); }else if (Cools.isEmpty(param.getPackName())){ throw new CoolException("缺少参数:packName"); // }else if (Cools.isEmpty(param.getSettingTimes())){ // throw new CoolException("缺少参数:settingTimes"); }else if (Cools.isEmpty(param.getRequestTime())){ throw new CoolException("缺少参数:requestTime"); throw new CoolException("缺少参数:requestTime");//此参数填入生产日期一栏 不用可关闭 } if (Cools.isEmpty(param.getPackNo())) { throw new CoolException(BaseRes.PARAM); } // 判断是否有相同Pack码的数据 if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). eq("zpallet", param.getPackNo()).eq("io_status", "N")) > 0) { throw new CoolException(param.getPackNo() + "数据正在进行入库"); } // // 判断是否有相同Pack码的数据 // if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). // eq("zpallet", param.getPackNo()).eq("io_status", "N")) > 0) { // throw new CoolException(param.getPackNo() + "数据正在进行入库"); // } int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getPackNo())); int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getPackNo())); int countPakin = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getPackNo())); if (countLoc > 0 || countWrk > 0) { throw new CoolException("工作档/库存条码数据已存在===>>" + param.getPackNo()); }else if (countPakin>0){ throw new CoolException("重复申请" + param.getPackNo()); } // int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getPackNo())); // int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getPackNo())); // int countPakin = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getPackNo())); // if (countLoc > 0 || countWrk > 0) { // throw new CoolException("工作档/库存条码数据已存在===>>" + param.getPackNo()); // }else if (countPakin>0){ // throw new CoolException("重复申请" + param.getPackNo()); // } // 生成入库通知档 Mat mat = matService.selectByMatnr(param.getPackName()); Mat mat = matService.selectByMatnr(param.getPackNo()); Date now = new Date(); if (Cools.isEmpty(mat)) { Tag tag = tagService.selectByName("全部", 1); Mat matNew = new Mat(); matNew.setTagId(tag.getId()); matNew.setMatnr(param.getPackName()); matNew.setMatnr(param.getPackNo()); matNew.setMaktx(param.getPackName()); mat.setManuDate(param.getRequestTime()); matNew.setDeadWarn(480);//8小时 480分钟 matNew.setCreateBy(9999L);//9999表示erp下发 matNew.setCreateTime(new Date()); matNew.setCreateTime(now); matNew.setUpdateBy(9999L);//9999表示erp下发 matNew.setUpdateTime(new Date()); matNew.setUpdateTime(now); if (!matService.insert(matNew)){ throw new CoolException(param.getPackName() + "商品档案自动生成失败"); } mat=matNew; // mat=matNew; // throw new CoolException(param.getPackName() + "商品档案不存在"); } WaitPakin waitPakin = new WaitPakin(); // waitPakin.sync(mat); waitPakin.setMatnr(param.getPackName()); waitPakin.setMaktx(param.getPackName()); waitPakin.setZpallet(param.getPackNo()); // Pack码 waitPakin.setIoStatus("N"); // 入出状态 waitPakin.setAnfme(1.0); // 数量 waitPakin.setStatus("Y"); // 状态 waitPakin.setManuDate(param.getRequestTime()); waitPakin.setAppeUser(null); waitPakin.setAppeTime(new Date()); waitPakin.setModiUser(null); waitPakin.setModiTime(new Date()); waitPakin.setDeadWarn(mat.getDeadWarn()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } // WaitPakin waitPakin = new WaitPakin(); //// waitPakin.sync(mat); // waitPakin.setMatnr(param.getPackName()); // waitPakin.setMaktx(param.getPackName()); // waitPakin.setZpallet(param.getPackNo()); // Pack码 // waitPakin.setIoStatus("N"); // 入出状态 // waitPakin.setAnfme(1.0); // 数量 // waitPakin.setStatus("Y"); // 状态 // waitPakin.setManuDate(param.getRequestTime()); // waitPakin.setAppeUser(null); // waitPakin.setAppeTime(new Date()); // waitPakin.setModiUser(null); // waitPakin.setModiTime(new Date()); // waitPakin.setDeadWarn(mat.getDeadWarn()); // if (!waitPakinService.insert(waitPakin)) { // throw new CoolException("保存入库通知档失败"); // } } @Override @Transactional src/main/java/com/zy/asrs/task/handler/MoveLocHandler.java
@@ -68,9 +68,10 @@ ); if (!Cools.isEmpty(locMasts)){ for (LocMast locMast:locMasts){ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() .eq("loc_no",locMast.getLocNo()) .eq("barcode",locMast.getBarcode()) .eq("barcode",locDetl.getMatnr()) .eq("status",4) ); if (!Cools.isEmpty(testMast)){ @@ -84,7 +85,7 @@ workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(testMast.getUserId())); //4.测试完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(locMast.getBarcode()); combParam.setPackNo(locDetl.getMatnr()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(2); combParam.setStepSts(4); @@ -119,11 +120,13 @@ ); if (!Cools.isEmpty(locMasts2)){ for (LocMast locMast:locMasts2){ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() .eq("loc_no",locMast.getLocNo()) .eq("barcode",locMast.getBarcode()) .eq("barcode",locDetl.getMatnr()) .eq("status",4) ); boolean sign=false; if (!Cools.isEmpty(testMast)){ if (testMast.getStatus()==4){ //移库开始,查询目标库位 @@ -134,15 +137,7 @@ if (targetLocNo != null){ //生成出库任务 if (outLoc(locMast)){ //4.测试完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(locMast.getBarcode()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(1); combParam.setStepSts(4); combParam.setRequestTime(DateUtils.convert(new Date())); new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam); return SUCCESS; sign=true; } }else { //3\4排满 向2排移库,查询目标库位 @@ -152,15 +147,7 @@ } if (targetLocNo != null){ workService.locMove(locMast.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(testMast.getUserId())); //4.测试完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(locMast.getBarcode()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(1); combParam.setStepSts(4); combParam.setRequestTime(DateUtils.convert(new Date())); new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam); return SUCCESS; sign=true; }else { log.error("测试完成自动移库--->没有空库位!"); } @@ -168,9 +155,21 @@ }else if (testMast.getStatus()!=4) { log.error("测试状态异常,库位号为:" + testMast.getLocNo()); } }else { log.error("测试库位:"+locMast.getLocNo()+"所属测试档为空或者不状态为4"); } if (sign){ //4.测试完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(locDetl.getMatnr()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(1); combParam.setStepSts(4); combParam.setRequestTime(DateUtils.convert(new Date())); new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam); return SUCCESS; } } } } catch (Exception e) { src/main/java/com/zy/asrs/task/handler/StandingHandler.java
@@ -70,18 +70,18 @@ //静置完成出库站104 for(LocMast locMast : locMasts){ LocDetl locDetl=locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo())); Mat mat = matService.selectByMatnr(locDetl.getMatnr()); if (Cools.isEmpty(locDetl)){ if (Cools.isEmpty(locDetl) || Cools.isEmpty(locDetl.getMatnr())){ log.error("库位:"+locMast.getLocNo()+"没有明细"); } else if (Cools.isEmpty(locDetl.getDeadWarn())){ log.error("库位:"+locMast.getLocNo()+"没有静置时间"); continue; } Mat mat = matService.selectByMatnr(locDetl.getMatnr()); if (Cools.isEmpty(mat)){ log.error("库位:"+locMast.getLocNo()+"商品所属商品档案为空"); }else if (Cools.isEmpty(mat.getDeadWarn())){ log.error("pack:"+mat.getMatnr()+"没有静置时间"); } else if (Cools.isEmpty(locMast.getModiTime())){ log.error("库位:"+locMast.getLocNo()+"modiTime为空"); } else if (Cools.isEmpty(locMast.getBarcode())){ log.error("库位:"+locMast.getLocNo()+"Pack码为空"); } else if (Cools.isEmpty(mat)){ log.error("库位:"+locMast.getLocNo()+"商品所属商品档案为空"); } else if (now.getTime()-locMast.getModiTime().getTime() >= mat.getDeadWarn()*60*1000){ }else if (now.getTime()-locMast.getModiTime().getTime() >= mat.getDeadWarn()*60*1000){ // 生成工作号 int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 生成工作档 @@ -128,7 +128,7 @@ locMast.setPackStatus(6); //6:静置完成 CombParam combParam = new CombParam(); combParam.setPackNo(locMast.getBarcode()); combParam.setPackNo(mat.getMatnr()); combParam.setLocNo(locMast.getLocNo()); combParam.setPackSts(6); combParam.setStepSts(1); src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -64,13 +64,13 @@ WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); if (wrkMast.getWrkSts() == 5 && wrkMast.getIoType() == 1) { if(wrkDetl != null){ CombParam combParam = new CombParam(); combParam.setPackNo(wrkDetl.getZpallet()); // combParam.setPackName(wrkDetl.getMatnr()); combParam.setLocNo(wrkMast.getLocNo()); combParam.setPackSts(1); combParam.setRequestTime(DateUtils.convert(new Date())); result = new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam); // CombParam combParam = new CombParam(); // combParam.setPackNo(wrkDetl.getMatnr()); //// combParam.setPackName(wrkDetl.getMaktx()); // combParam.setLocNo(wrkMast.getLocNo()); // combParam.setPackSts(1); // combParam.setRequestTime(DateUtils.convert(new Date())); // result = new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam); // 保存入库通知档历史档 WaitPakin pakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); if (pakin!=null){ @@ -84,19 +84,19 @@ } } } else if (wrkMast.getWrkSts() == 15 && wrkMast.getIoType() == 101){ if(wrkDetl != null){ CombParam combParam = new CombParam(); combParam.setPackNo(wrkDetl.getZpallet()); // combParam.setPackName(wrkDetl.getMatnr()); combParam.setLocNo(wrkMast.getSourceLocNo()); // combParam.setPackSts(0); combParam.setRequestTime(DateUtils.convert(new Date())); result = new PostMesDataUtils().postMesData("MES系统",mesUrl,outPath,combParam); } // if(wrkDetl != null){ // CombParam combParam = new CombParam(); // combParam.setPackNo(wrkDetl.getMatnr()); //// combParam.setPackName(wrkDetl.getMatnr()); // combParam.setLocNo(wrkMast.getSourceLocNo()); //// combParam.setPackSts(0); // combParam.setRequestTime(DateUtils.convert(new Date())); // result = new PostMesDataUtils().postMesData("MES系统",mesUrl,outPath,combParam); // } } if(null != result && !result.isSuccess()){ return result; } // if(null != result && !result.isSuccess()){ // return result; // } /*...........................赣州新增..............以上.............赣州新增...........................*/ src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -174,7 +174,7 @@ } //2.入库完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(wrkMast.getBarcode()); combParam.setPackNo(wrkDetls.get(0).getMatnr()); combParam.setLocNo(wrkMast.getLocNo()); if (locMast.getCrnNo()==1){ combParam.setPackSts(0); @@ -346,6 +346,8 @@ locMast.setIoTime(now); locMast.setModiTime(now); locMast.setFireStatus(0); LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); boolean sign =false; if (locMast.getLocType1().equals(sourceLoc.getLocType1())){ @@ -377,10 +379,11 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("库位移转 ===>> 修改目标库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } if (locMast.getCrnNo()==1 && sign){ //5.静置库位入库完成上报 CombParam combParam = new CombParam(); combParam.setPackNo(wrkMast.getBarcode()); combParam.setPackNo(locDetl.getMatnr()); combParam.setLocNo(wrkMast.getLocNo()); if (locMast.getPackStatus()==4){ combParam.setPackSts(2); src/main/java/com/zy/common/web/WcsController.java
@@ -49,6 +49,8 @@ private LocDetlService locDetlService; @Autowired private TestMastService testMastService; @Autowired private MatService matService; @Value("mes.url") private String mesUrl; @@ -66,16 +68,47 @@ if (Cools.isEmpty(param.getSourceStaNo())) { return R.error("源站编号不能为空"); } if (Cools.isEmpty(param.getPackNo())) { return R.error("packNo不能为空"); } Date now = new Date(); if (param.getSourceStaNo()==109){ try{ Mat mat = matService.selectByMatnr(param.getPackNo()); if (Cools.isEmpty(mat)){ return R.error("商品信息档案未查询到pack信息"+param.getPackNo()); } WaitPakin waitPakin = new WaitPakin(); waitPakin.setMatnr(mat.getMatnr());// Pack码 waitPakin.setMaktx(mat.getMaktx()); waitPakin.setZpallet(param.getBarcode()); //托盘码 waitPakin.setIoStatus("N"); // 入出状态 waitPakin.setAnfme(1.0); // 数量 waitPakin.setStatus("Y"); // 状态 waitPakin.setManuDate(mat.getManuDate()); waitPakin.setAppeUser(null); waitPakin.setAppeTime(now); waitPakin.setModiUser(null); waitPakin.setModiTime(now); waitPakin.setDeadWarn(mat.getDeadWarn()); if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } }catch (Exception e){ } } List<WaitPakin> waitPakins = null; if (param.getIoType() == 1) { if (Cools.isEmpty(param.getBarcode())) { return R.error("条码不能为空"); } waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); if (Cools.isEmpty(waitPakins)) { if (Cools.isEmpty(waitPakins) || waitPakins.size()!=1) { WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); if (wrkMast != null && wrkMast.getIoType() == 103) { return R.parse(CodeRes.PICK_600); if (wrkMast != null || waitPakins.size()!=1) { return R.parse("600-重复组托"); } return R.parse(CodeRes.NO_COMB_700); } @@ -152,6 +185,9 @@ if (!res) { throw new CoolException("保存工作档失败"); } // 目标库位 LocMast locMast = locMastService.selectById(dto.getLocNo()); // 生成工作档明细 waitPakins.forEach(waitPakin -> { WrkDetl wrkDetl = new WrkDetl(); @@ -163,6 +199,24 @@ wrkDetl.setDeadWarn(waitPakin.getDeadWarn()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>().eq("barcode", wrkMast.getBarcode())); if (Cools.isEmpty(testMast)){ //生成测试档 testMast=new TestMast(); testMast.setChannel(locMast.getChannel()); testMast.setUserId(locMast.getLocNo()); testMast.setStatus(1); testMast.setBarcode(wrkDetl.getMatnr()); testMast.setLocNo(locMast.getLocNo()); testMast.setModiTime(now); testMast.setAppeTime(now); if (!testMastService.insert(testMast)){ throw new CoolException(wrkDetl.getMatnr()+"生成测试档失败"); } }else { throw new CoolException(wrkDetl.getMatnr()+"已存在测试档"); } }); // 更新入库通知档 ioStatus ===>> Y @@ -182,7 +236,6 @@ throw new CoolException("更新源站失败"); } // 更新目标库位状态 LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")){ locMast.setLocSts("S"); // S.入库预约 locMast.setModiTime(now); @@ -202,24 +255,6 @@ } } else { throw new CoolException(dto.getLocNo()+"目标库位已被占用"); } TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>().eq("barcode", wrkMast.getBarcode())); if (Cools.isEmpty(testMast)){ //生成测试档 testMast=new TestMast(); testMast.setChannel(locMast.getChannel()); testMast.setUserId(locMast.getLocNo()); testMast.setStatus(1); testMast.setBarcode(wrkMast.getBarcode()); testMast.setLocNo(locMast.getLocNo()); testMast.setModiTime(now); testMast.setAppeTime(now); if (!testMastService.insert(testMast)){ throw new CoolException(wrkMast.getBarcode()+"生成测试档失败"); } }else { throw new CoolException(wrkMast.getBarcode()+"已存在测试档"); } return dto; src/main/java/com/zy/common/web/param/SearchLocParam.java
@@ -14,6 +14,8 @@ private String barcode; private String packNo; // 库位规格( 0:未知, 1:低库位, 2:高库位) private Short locType1;