src/main/java/com/zy/asrs/controller/MobileController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/WorkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/StaDescService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -366,42 +366,41 @@ ckbmList.add(storeType.getStoreId()); } NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>() .eq("WLBM", combMat.getMatnr()) .eq("VBATCHCODE", combMat.getBatch()) .in("CKBM", ckbmList) ); if(null == nccSaleXclGgsybWms) { return R.error("未查到ERP库存"); } //ERP库存数量 BigDecimal zsl = nccSaleXclGgsybWms.getZsl(); //获取立库数量 List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() .eq("matnr", combMat.getMatnr()) .eq("batch", combMat.getBatch()) ); BigDecimal stockNum = new BigDecimal(0); for (LocDetl locDetl : locDetls) { stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme())); } //加上组托数量 for (CombParam.CombMat mat : combParam.getCombMats()) { stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme())); } if(stockNum.doubleValue() > zsl.doubleValue()) { return R.error("组托数量超过ERP库存"); } List<CombParam.CombMat> combMats = combParam.getCombMats(); for (CombParam.CombMat mat : combMats) { mat.setStandby1(nccSaleXclGgsybWms.getCkbm()); mat.setCstateid(nccSaleXclGgsybWms.getCstateid()); } // NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>() // .eq("WLBM", combMat.getMatnr()) // .eq("VBATCHCODE", combMat.getBatch()) // .in("CKBM", ckbmList) // ); // if(null == nccSaleXclGgsybWms) { // return R.error("未查到ERP库存"); // } // // //ERP库存数量 // BigDecimal zsl = nccSaleXclGgsybWms.getZsl(); // // //获取立库数量 // List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() // .eq("matnr", combMat.getMatnr()) // .eq("batch", combMat.getBatch()) // ); // BigDecimal stockNum = new BigDecimal(0); // for (LocDetl locDetl : locDetls) { // stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme())); // } // // //加上组托数量 // for (CombParam.CombMat mat : combParam.getCombMats()) { // stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme())); // } // // if(stockNum.doubleValue() > zsl.doubleValue()) { // return R.error("组托数量超过ERP库存"); // } // // List<CombParam.CombMat> combMats = combParam.getCombMats(); // for (CombParam.CombMat mat : combMats) { // mat.setStandby1(nccSaleXclGgsybWms.getCkbm()); // } mobileService.comb(combParam, getUserId()); return R.ok("组托成功"); src/main/java/com/zy/asrs/controller/WorkController.java
@@ -101,6 +101,9 @@ @RequestMapping("/plate/out/start") @ManagerAuth(memo = "出库作业") public R fullStoreTakeStart(@RequestBody StockOutParam param) { /*if (getUser().getRoleId()!=2 && getUser().getRoleId()!=14){ return R.error("无权限 请联系管理员"); }*/ workService.startupFullTakeStore(param, getUserId()); return R.ok("出库启动成功"); } src/main/java/com/zy/asrs/service/StaDescService.java
@@ -11,7 +11,7 @@ List<StaDesc> queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo); StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo); StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo,Integer row); StaDesc queryCrnStn(Integer crnNo); src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1295,7 +1295,7 @@ .setJson(JSON.toJSONString(map)) .build() .doPost(); log.info("toOutSta:{}", response); log.info("toOutSta:{},{}",map, response); } catch (Exception e) { log.error("fail", e); } src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -43,7 +43,18 @@ } @Override public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) { public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo, Integer row) { if (crnNo == 1 && row > 3) { Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", typeNo) .eq("stn_no", stnNo) .eq("crn_no", crnNo) .orderBy("stn_no", false); StaDesc staDesc = this.selectOne(wrapper); if (staDesc != null) { return staDesc; } } Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", typeNo) .eq("stn_no", stnNo) src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -465,7 +465,7 @@ String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo); int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103); StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo(),locMast.getRow1()); // 生成工作号 int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 生成工作档 src/main/java/com/zy/asrs/utils/Utils.java
@@ -143,8 +143,8 @@ if (row == 1 || row == 6) { return null; } //2,7,11,15,19,23 if (row == 2 || row == 8 || row == 12 || row == 16 || row == 20 || row == 24) { //2,8,11,15,19,23 if (row == 5 || row == 8 || row == 12 || row == 16 || row == 20 || row == 24) { return zerofill(String.valueOf(row - 1), 2) + shallowLoc.substring(2); } else { return zerofill(String.valueOf(row + 1), 2) + shallowLoc.substring(2); src/main/java/com/zy/common/service/CommonService.java
@@ -293,9 +293,10 @@ if (nearRow == 0) { throw new CoolException("无可用堆垛机"); } } else { throw new CoolException("无可用堆垛机"); } // else { // throw new CoolException("无可用堆垛机"); // } } boolean signRule1 = false; @@ -443,40 +444,22 @@ StaDesc staDesc = null; BasDevp staNo = null; if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { // 获取目标站 wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) .eq("stn_no", sourceStaNo) .eq("crn_no", crnNo); staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); // throw new CoolException("入库路径不存在"); crnNo = 0; } else { staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")) { log.error("目标站" + staDesc.getCrnStn() + "不可用"); // throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); crnNo = 0; } startupDto.setStaNo(staNo.getDevNo()); } // 更新库位排号 if (Cools.isEmpty(locMast)) { rowLastno.setCurrentRow(curRow); rowLastnoService.updateById(rowLastno); } } // 开始查找库位 ==============================>> // 1.按规则查找库位 if (Cools.isEmpty(locMast) && crnNo != 0) { List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("row1", nearRow) .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh",1) .orderBy("lev1", true).orderBy("bay1", true)); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { @@ -552,7 +535,7 @@ // locTypeDto.setLocType1((short)i); // return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); // } log.error("系统没有空库位!!! 尺寸规格: {}, 轮询次数:{}", JSON.toJSONString(locTypeDto), times); log.error("系统没有空库位!!! 尺寸规格: {}, 轮询次数:{},{}", JSON.toJSONString(locTypeDto), times,moveCrnNo); throw new CoolException("没有空库位"); } @@ -567,18 +550,40 @@ //针对1号堆垛机打的补丁,防止找到库位时,找到最浅库位 String deepLoc2 = Utils.getDeepLoc2(slaveProperties, locMast.getLocNo()); if (!Cools.isEmpty(deepLoc2)) { LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>() LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no",locMast.getCrnNo()) .eq("loc_no", deepLoc2).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMastNew)) { locMast = locMastNew; } } // 获取目标站 wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) .eq("stn_no", sourceStaNo) .eq("crn_no", locMast.getCrnNo()); staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo); // throw new CoolException("入库路径不存在"); crnNo = 0; } else { staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")) { log.error("目标站" + staDesc.getCrnStn() + "不可用"); // throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); crnNo = 0; } startupDto.setStaNo(staNo.getDevNo()); } String locNo = locMast.getLocNo(); // 生成工作号 int workNo = getWorkNo(0); // 返回dto startupDto.setWorkNo(workNo); startupDto.setCrnNo(crnNo); startupDto.setCrnNo(locMast.getCrnNo()); startupDto.setSourceStaNo(sourceStaNo); startupDto.setLocNo(locNo); return startupDto; @@ -960,6 +965,8 @@ .eq("row1", nearRow) .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) .orderBy("lev1", true).orderBy("bay1", true));//最浅库位 //System.out.println(nearRow); //System.out.println(curRow); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue;