From 4eb8d259b622226eb275666b0b06e7b19d5236f9 Mon Sep 17 00:00:00 2001 From: L <L@123> Date: 星期四, 18 九月 2025 09:40:04 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 155 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 126 insertions(+), 29 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 5d8970a..66b36b5 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; @@ -12,6 +13,7 @@ import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; +import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.model.DetlDto; import com.zy.common.utils.NodeUtils; import lombok.extern.slf4j.Slf4j; @@ -48,6 +50,10 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private BasArmService basArmService; + @Autowired + private BasArmMastService basArmMastService; @Override @Transactional @@ -93,7 +99,8 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 1 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -102,9 +109,9 @@ List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + 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 { @@ -118,8 +125,13 @@ } 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.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -128,6 +140,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(1); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -141,6 +154,9 @@ if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { // 鎸囧畾璁㈠崟 Order order = orderService.selectByNo(param.getOrderNo()); + +// Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE,param.getOrderNo()); + if (null != order) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); results.add(result); @@ -148,19 +164,27 @@ result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(), 6L, null); } } } else { // 鎵�鏈夎鍗� - List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); +// List<Order> orders = orderService.selectBySettle(4L); + List<Order> orders = OrderInAndOutUtil.selectBySettle(null, 4L); + if (orders.isEmpty()){ + orders = new ArrayList<>(); + } for (Order order : orders) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); results.add(result); @@ -168,13 +192,20 @@ result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); + } } return results; @@ -228,7 +259,8 @@ now, // 娣诲姞鏃堕棿 9527L, // 淇敼浜哄憳 now, // 淇敼鏃堕棿 - null // 澶囨敞 + null, // 澶囨敞 + 2 ); if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -237,9 +269,11 @@ List<DetlDto> list = new ArrayList<>(); List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + 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 { @@ -253,8 +287,13 @@ } 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.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -263,6 +302,7 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setPakinPakoutStatus(2); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -275,6 +315,7 @@ if (!Cools.isEmpty(param) && !Cools.isEmpty(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); @@ -282,19 +323,24 @@ result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); } } } else { // 鎵�鏈夎鍗� - List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); +// List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); + List<Order> orders = OrderInAndOutUtil.selectBySettle(null, 4L); for (Order order : orders) { OpenOrderCompeteResult result = new OpenOrderCompeteResult(); results.add(result); @@ -302,13 +348,17 @@ result.setOrderTime(order.getOrderTime()); result.setOrderType(order.getDocType$()); 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } + OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); } } return results; @@ -519,7 +569,7 @@ } else { tagId = tagService.getTop().getId(); } - mat.sync(param); + mat.sync(matParam); // mat.setMatnr(param.getMatnr()); // mat.setMaktx(param.getMaktx()); // mat.setSpecs(param.getSpecs()); @@ -535,7 +585,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("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } @@ -544,4 +594,51 @@ } + @Override + @Transactional + public void taskArmReport(TaskArmReportParam param) { + BasArmMast basArmMast = new BasArmMast(param); + List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("sorting_line", basArmMast.getStaNo())); + for (BasArm basArm : basArmList) { + if (basArm.getStatus()!=1){ + continue; + } + basArmMast.setArmNo(basArm.getArmNo()); + basArmMast.setStaNo(basArm.getStaNo()); + } + basArmMastService.insert(basArmMast); + } + + @Override + @Transactional + public void taskArmCycleResult(TaskArmCycleResultParam param) { + BasArmMast basArmMast = basArmMastService.selectOne( + new EntityWrapper<BasArmMast>() + .eq("sorting_line", param.getStaNo()) + .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("sta_no", Integer.getInteger(param.getId())) + .eq("status", 2) + ); + if (Cools.isEmpty(basArmMast)){ + throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param)); + } + +// basArmMast.setStatus(2); +// basArmMastService.updateArmMastStatus(1,basArm.getSortingLine(),3,4); + } + } -- Gitblit v1.9.1