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 | 168 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 122 insertions(+), 46 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..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; @@ -49,17 +50,22 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private BasArmService basArmService; + @Autowired + private BasArmMastService basArmMastService; @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { - - OrderInAndOutUtil.query(Boolean.TRUE,param.getOrderNo()); - + Order order = orderService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(order)) { + throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } 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 +99,19 @@ 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()); + 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,7 +140,10 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); - OrderInAndOutUtil.insertOrderDetl(Boolean.TRUE,order,orderDetl); + orderDetl.setPakinPakoutStatus(1); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } } } @@ -138,9 +153,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,10 +163,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.宸蹭笂鎶� @@ -174,11 +191,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)) { @@ -194,15 +214,13 @@ @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()); } DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); @@ -241,19 +259,21 @@ 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()); + 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 +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); @@ -277,10 +302,10 @@ 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); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } } } @@ -289,18 +314,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.宸蹭笂鎶� @@ -320,10 +347,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)) { @@ -540,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()); @@ -556,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("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } @@ -565,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