From 25c4d88c377055a726d8f79c9e11e2484b3c3442 Mon Sep 17 00:00:00 2001 From: L <L@123> Date: 星期二, 23 九月 2025 12:58:30 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 137 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 111 insertions(+), 26 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 9fd8dff..9f1cdb0 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,5 +1,6 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.DateUtils; @@ -13,6 +14,7 @@ import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.OrderInAndOutUtil; +import com.zy.asrs.utils.Utils; import com.zy.common.model.DetlDto; import com.zy.common.utils.NodeUtils; import lombok.extern.slf4j.Slf4j; @@ -20,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.rmi.CORBA.Util; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -49,6 +52,10 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private BasArmService basArmService; + @Autowired + private BasArmMastService basArmMastService; @Override @Transactional @@ -94,7 +101,8 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 1 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -103,9 +111,9 @@ 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.getLineNumber(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber()); + 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()); + 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 { @@ -134,6 +142,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(1); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -146,9 +155,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(); @@ -156,10 +165,12 @@ 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.宸蹭笂鎶� @@ -182,11 +193,14 @@ 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)) { @@ -247,7 +261,8 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 2 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -256,9 +271,11 @@ 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.getLineNumber(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(),dto.getBrand(),dto.getStandby1(),dto.getStandby2(),dto.getStandby3(),dto.getLineNumber()); + 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()); + 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 { @@ -287,6 +304,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(2); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -298,18 +316,20 @@ 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.宸蹭笂鎶� @@ -329,10 +349,12 @@ 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)) { @@ -549,7 +571,7 @@ } else { tagId = tagService.getTop().getId(); } - mat.sync(param); + mat.sync(matParam); // mat.setMatnr(param.getMatnr()); // mat.setMaktx(param.getMaktx()); // mat.setSpecs(param.getSpecs()); @@ -565,7 +587,7 @@ log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); } } else { - mat.sync(param); + mat.sync(matParam); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } @@ -574,4 +596,67 @@ } + @Override + @Transactional + public void taskArmReport(TaskArmReportParam param) { + BasArmMast basArmMast = new BasArmMast(param); + List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line_sou", basArmMast.getSortingLine())); + for (BasArm basArm : basArmList) { + if (basArm.getStatus()!=1){ + continue; + } + basArmMast.setArmNo(basArm.getArmNo()); + basArmMast.setStaNo(basArm.getStaNoSou()); + break; + } + basArmMastService.insert(basArmMast); + } + + @Override + @Transactional + public void taskArmCycleResult(TaskArmCycleResultParam param) { + BasArmMast basArmMast = basArmMastService.selectOne( + new EntityWrapper<BasArmMast>() + .eq("sorting_line", Utils.armStaNo(param.getArm_no(),Integer.parseInt(param.getStaNo()))) + .eq("arm_no", param.getArm_no()) + .eq("status", 1) + ); + if (Cools.isEmpty(basArmMast)){ + throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param)); + } + + basArmMast.setStatus(2); + basArmMastService.updateById(basArmMast); + } + + @Override + @Transactional + public void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param) { + BasArmMast basArmMast = basArmMastService.selectOne( + new EntityWrapper<BasArmMast>() + .eq("sorting_line", Utils.armStaNo(param.getArm_no(),Integer.parseInt(param.getId()))) + .eq("arm_no", param.getArm_no()) + .eq("status", 2) + ); + if (Cools.isEmpty(basArmMast)){ + throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param)); + } + basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),2,3); + } + + @Override + @Transactional + public void taskArmWorkOrderStatus(OrderArmEndParam param) { + BasArmMast basArmMast = basArmMastService.selectOne( + new EntityWrapper<BasArmMast>() + .eq("sorting_line", Utils.armStaNo(param.getArm_no(),Integer.parseInt(param.getStaNo()))) + .eq("arm_no", param.getArm_no()) + .eq("status", 5) + ); + if (Cools.isEmpty(basArmMast)){ + throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param)); + } + basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(), 5,6); + } + } -- Gitblit v1.9.1