From 6fe4619fd97c6aa90a0bfeffbfa62603691a1ab4 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期四, 29 五月 2025 09:15:03 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 162 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 103 insertions(+), 59 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 50da2d4..f48ee21 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -49,17 +49,29 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private OrderDetlPakoutServiceImpl orderDetlPakoutService; + @Autowired + private OrderPakoutServiceImpl orderPakoutService; + @Autowired + private OrderPakinServiceImpl orderPakinService; @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { - - OrderInAndOutUtil.query(Boolean.TRUE,param.getOrderNo()); - + OrderPakin orderPakin = orderPakinService.selectByNo(param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(orderPakin)) { + if (orderPakin.getSettle() > 1L) { + throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } + orderPakinService.remove(orderPakin.getId()); + orderService.remove(order.getId()); + } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); Date now = new Date(); // 鍗曟嵁涓绘。 - Order order = new Order( + order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] param.getOrderNo(), // 璁㈠崟缂栧彿 DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 @@ -93,18 +105,21 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 1 ); - OrderInAndOutUtil.insertOrder(Boolean.TRUE,order); - + if (!orderService.insert(order)) { + throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); + } // 鍗曟嵁鏄庣粏妗� List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3()); + DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(), detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme()); + dto.setRemark(detail.getRemark()); + if (DetlDto.hasLineNumber(list, dto)) { + DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3()); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -118,8 +133,16 @@ } OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); + orderDetl.setLineNumber(detlDto.getLineNumber()); orderDetl.setBatch(detlDto.getBatch()); orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setBrand(detlDto.getBrand()); + orderDetl.setStandby1(detlDto.getStandby1()); + orderDetl.setStandby2(detlDto.getStandby2()); + orderDetl.setStandby3(detlDto.getStandby3()); + orderDetl.setBoxType1(detlDto.getBoxType1()); + orderDetl.setBoxType2(detlDto.getBoxType2()); + orderDetl.setBoxType3(detlDto.getBoxType3()); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -128,7 +151,11 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); - OrderInAndOutUtil.insertOrderDetl(Boolean.TRUE,order,orderDetl); + orderDetl.setPakinPakoutStatus(1); + orderDetl.setRemark(detlDto.getRemark()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } } } @@ -138,9 +165,9 @@ List<OpenOrderCompeteResult> results = new ArrayList<>(); if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 -// Order order = orderService.selectByNo(param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); - Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE,param.getOrderNo()); +// Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE,param.getOrderNo()); if (null != order) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); @@ -148,24 +175,26 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), + orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getLineNumber(), + orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); // } - OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 6L, null); + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(), order.getId(), 6L, null); } } } else { // 鎵�鏈夎鍗� // List<Order> orders = orderService.selectBySettle(4L); List<Order> orders = OrderInAndOutUtil.selectBySettle(null, 4L); - if (orders.isEmpty()){ + if (orders.isEmpty()) { orders = new ArrayList<>(); } for (Order order : orders) { @@ -174,17 +203,20 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), + orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getLineNumber(), + orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3(), + orderDetl.getQty())); } // // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); // } - OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(), order.getId(), 6L, null); } } @@ -194,15 +226,15 @@ @Override @Transactional public void pakoutOrderCreate(OpenOrderPakoutParam param) { -// Order order = orderService.selectByNo(param.getOrderNo()); - Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� if (!Cools.isEmpty(order)) { if (order.getSettle() > 1L) { throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�"); } -// orderService.remove(order.getId()); - OrderInAndOutUtil.remove(Boolean.FALSE,order.getId()); + orderService.remove(order.getId()); + OrderPakout orderPakout = orderPakoutService.selectByNo(param.getOrderNo()); + orderPakoutService.remove(orderPakout.getId()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); @@ -241,19 +273,22 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 2 ); -// if (!orderService.insert(order)) { -// throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); -// } - OrderInAndOutUtil.insertOrder(Boolean.FALSE,order); + if (!orderService.insert(order)) { + throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); + } // 鍗曟嵁鏄庣粏妗� List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(),detail.getBrand(),detail.getStandby1(),detail.getStandby2(),detail.getStandby3(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3()); + DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(), + detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme()); + dto.setRemark(detail.getRemark()); + if (DetlDto.hasLineNumber(list, dto)) { + DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(), + dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3()); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); } else { @@ -267,8 +302,16 @@ } OrderDetl orderDetl = new OrderDetl(); orderDetl.sync(mat); + orderDetl.setLineNumber(detlDto.getLineNumber()); orderDetl.setBatch(detlDto.getBatch()); orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setBrand(detlDto.getBrand()); + orderDetl.setStandby1(detlDto.getStandby1()); + orderDetl.setStandby2(detlDto.getStandby2()); + orderDetl.setStandby3(detlDto.getStandby3()); + orderDetl.setBoxType1(detlDto.getBoxType1()); + orderDetl.setBoxType2(detlDto.getBoxType2()); + orderDetl.setBoxType3(detlDto.getBoxType3()); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -277,10 +320,11 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); -// if (!orderDetlService.insert(orderDetl)) { -// throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); -// } - OrderInAndOutUtil.insertOrderDetl(Boolean.FALSE,order,orderDetl); + orderDetl.setPakinPakoutStatus(2); + orderDetl.setRemark(detlDto.getRemark()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } } } @@ -289,25 +333,27 @@ List<OpenOrderCompeteResult> results = new ArrayList<>(); if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 -// Order order = orderService.selectByNo(param.getOrderNo()); - Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo()); + Order order = orderService.selectByNo(param.getOrderNo()); +// Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderNo()); if (null != order) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); results.add(result); result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(),order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(),order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), + orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getLineNumber(), + orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3(), orderDetl.getQty())); } if (order.getSettle() == 4L) { // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); // } - OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(), order.getId(), 6L, null); } } } else { @@ -320,16 +366,18 @@ result.setOrderNo(order.getOrderNo()); result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); -// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId()); for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); + result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), + orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getLineNumber(), + orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3(), orderDetl.getQty())); } // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� // if (!orderService.updateSettle(order.getId(), 6L, null)) { // throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); // } - OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(), order.getId(), 6L, null); } } return results; @@ -459,12 +507,12 @@ @Override @Transactional public void syncMat(MatSyncParam param) { - if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) { + if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <= 0) { throw new CoolException("鍟嗗搧鏁版嵁涓虹┖"); } - for(MatSyncParam.MatParam matParam : param.getMatDetails()){ - if(Cools.isEmpty(matParam.getMatnr())){ + for (MatSyncParam.MatParam matParam : param.getMatDetails()) { + if (Cools.isEmpty(matParam.getMatnr())) { throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖"); } @@ -476,7 +524,7 @@ Long tagId; // 涓�绾у垎绫� if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { - Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2); + Tag priTag = tagService.selectOne(new EntityWrapper<Tag>().eq("name", matParam.getGroupCode())); if (priTag == null) { Tag top = tagService.getTop(); NodeUtils nodeUtils = new NodeUtils(); @@ -540,11 +588,7 @@ } else { tagId = tagService.getTop().getId(); } - mat.sync(param); -// mat.setMatnr(param.getMatnr()); -// mat.setMaktx(param.getMaktx()); -// mat.setSpecs(param.getSpecs()); -// mat.setModel(param.getModel()); + mat.sync(matParam); mat.setTagId(tagId); mat.setStatus(1); @@ -556,8 +600,8 @@ log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); } } else { - mat.sync(param); - if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { + mat.sync(matParam); + if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } } -- Gitblit v1.9.1