From 19a46dfb30832d312d39864873c333729dacfc7c Mon Sep 17 00:00:00 2001 From: Administrator <335182714> Date: 星期一, 25 八月 2025 09:41:41 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 81 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index f3fe9f4..cebb70d 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -109,6 +110,9 @@ @Resource private OrderMapper orderMapper; + + @Resource + private OrderDetlMapper orderDetlMapper; @Resource private BasCrnpMapper basCrnpMapper; @@ -1141,12 +1145,12 @@ public R kthl(KthlParam param) { // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢� - List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3) - .eq("wrk_no",0).eq("in_enable","Y").eq("out_enable","Y")); + List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3) + .eq("wrk_no", 0).eq("in_enable", "Y").eq("out_enable", "Y")); if (basCrnps.isEmpty()) { // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛� - basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y") - .eq("out_enable","Y")); + basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3).eq("in_enable", "Y") + .eq("out_enable", "Y")); } WrkMast exist = wrkMastService.selectOne( new EntityWrapper<WrkMast>() @@ -1190,7 +1194,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 杩斿洖GWCS鐩爣淇℃伅 - pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode(),"浜屾ゼ绌烘墭鍥炴祦鎺ㄩ�乬wcs"); + pushStaNoToGwcs(param.getPalletizingNo(), wrkMast.getSourceStaNo(), workNo, param.getBarcode(), "浜屾ゼ绌烘墭鍥炴祦鎺ㄩ�乬wcs"); return R.ok("绌烘墭鍥炴祦璇锋眰鎴愬姛"); } @@ -1237,6 +1241,17 @@ int barcodeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); if (barcodeCount > 0) { throw new CoolException("宸ヤ綔妗e凡瀛樺湪璇ユ墭鐩樼爜锛�" + param.getBarcode()); + } + if (!Cools.isEmpty(param.getMatList())) { + HashMap<String, Object> xx = new HashMap<>(); + List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList(); + for (GwmsGenerateInventoryDto.MatList obj : matList) { + if (xx.get(obj.getPackageGroupNo()) != null) { + throw new CoolException("鏄庣粏涓瓨鍦�2鏉$浉鍚岀殑鍖呰缁勫彿锛�" + obj.getPackageGroupNo()); + } else { + xx.put(obj.getPackageGroupNo(), obj); + } + } } } LocTypeDto locTypeDto = new LocTypeDto(); @@ -1360,7 +1375,7 @@ if (wrkMast == null) { throw new CoolException("涓嶅瓨鍦ㄨ宸ヤ綔鍙凤細" + param.getWorkNo()); } - if (wrkMast.getWrkSts() == 3||wrkMast.getWrkSts() == 4) { + if (wrkMast.getWrkSts() == 3 || wrkMast.getWrkSts() == 4) { throw new CoolException("宸ヤ綔妗g姸鎬佷笉瀵癸細" + param.getWorkNo()); } wrkMast.setWrkSts(2L); @@ -1514,8 +1529,10 @@ private void ckjgsbPushMes(WrkMast wrkMast, List<WrkDetl> wrkDetls) { GwmsGenerateInventoryDto gwmsGenerateInventoryDto = new GwmsGenerateInventoryDto(); + gwmsGenerateInventoryDto.setWarehouseType(4); gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode()); gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo()); + gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo()); List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>(); for (WrkDetl wrkDetl : wrkDetls) { boolean flag = true; @@ -2265,5 +2282,63 @@ return crnStn; } + @Override + @Transactional + public R groupOrderConfirm(GroupOrderConfirmParam param) { + // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪 + Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + if (order == null) { + // 1.1 涓嶅瓨鍦紝鏂板缓鍗曟嵁 + order = new Order(); + order.setOrderNo(param.getGroupOrderNumber()); + order.setStatus(Integer.valueOf(param.getGroupStatus())); + order.setOrderTime(sdf.format(new Date())); + order.setCreateTime(new Date()); + order.setSettle(1L); + order.setDocType(25L); + orderMapper.insert(order); + } else { + // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬� + order.setStatus(Integer.valueOf(param.getGroupStatus())); + orderMapper.updateById(order); + } + orderDetlMapper.delete( + new EntityWrapper<OrderDetl>().eq("order_no", param.getGroupOrderNumber()) + ); + + // 2. 涓�涓�瀵瑰簲閬嶅巻 + List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos(); + List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers(); + + int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫 + for (int i = 0; i < size; i++) { + GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i); + GroupOrderConfirmParam.VolumeNumber vn = volList.get(i); + + // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl + OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo( + param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber() + ); + + if (detl == null) { + detl = new OrderDetl(); + detl.setOrderId(order.getId()); + detl.setOrderNo(param.getGroupOrderNumber()); + detl.setCreateTime(new Date()); + detl.setAnfme(1.0); + detl.setBrand(pg.getPackageGroupNo()); // 鍖呰缁勫彿 + detl.setModel(vn.getVolumeNumber()); // 鍗峰彿 + orderDetlMapper.insert(detl); + } + } + + return R.ok("缁勮揣纭鎴愬姛"); + } + + + + /*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/ } -- Gitblit v1.9.1