From 901dfbf8d57ffb54f9154e6d7db6899b9b4dcc92 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 28 十二月 2023 16:56:13 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 135 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 133 insertions(+), 2 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 09473ad..f06bbaa 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,6 +1,7 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; @@ -9,6 +10,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.InOutCountDto; +import com.zy.asrs.entity.result.LocDetlAll; import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.mapper.ReportQueryMapper; import com.zy.asrs.mapper.TagMapper; @@ -130,6 +132,7 @@ List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getOwnerName(),detail.getPayment()); + dto.setBeBatch(detail.getBeBatch()); if (DetlDto.has(list, dto)) { DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); assert detlDto != null; @@ -170,6 +173,7 @@ orderDetl.setPayment(detlDto.getPayment()); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setBeBatch(detlDto.getBeBatch()); orderDetl.setWeight(detlDto.getWeight()); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -235,6 +239,7 @@ List<DetlDto> orderDetails = param.getOrderDetails(); for (DetlDto detail : orderDetails) { DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); + dto.setBeBatch(detail.getBeBatch()); if (DetlDto.has(list, dto)) { DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); assert detlDto != null; @@ -261,6 +266,123 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setBeBatch(detlDto.getBeBatch()); + orderDetl.setWeight(detlDto.getWeight()); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + } + } + + @Override + @Transactional + public void pakmoveOrderCreate(OpenOrderPakmoveParam param) { + Order order = orderService.selectByNo(param.getOrderNo()); + if (!Cools.isEmpty(order)) { + throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); + } + + for (DetlDto detlDto : param.getOrderDetails()){ + if (Cools.isEmpty(detlDto) || Cools.isEmpty(detlDto.getOwnerName(),detlDto.getPayment())){ + throw new CoolException(param.getOrderNo() + "缂哄皯璐т富鎴栬揣鐗╁舰鎬�"); + }else { + LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName())); + if (Cools.isEmpty(locOwner)){ + LocOwner locOwner1 = new LocOwner(); + locOwner1.setOwner(detlDto.getOwnerName()); + locOwnerService.insert(locOwner1); + } + } + } + DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); + Date now = new Date(); + // 鍗曟嵁涓绘。 + order = new Order( + String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] + param.getOrderNo(), // 璁㈠崟缂栧彿 + DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 + docType.getDocId(), // 鍗曟嵁绫诲瀷 + null, // 椤圭洰缂栧彿 + null, // + null, // 璋冩嫧椤圭洰缂栧彿 + null, // 鍒濆绁ㄦ嵁鍙� + null, // 绁ㄦ嵁鍙� + null, // 瀹㈡埛缂栧彿 + null, // 瀹㈡埛 + null, // 鑱旂郴鏂瑰紡 + null, // 鎿嶄綔浜哄憳 + null, // 鍚堣閲戦 + null, // 浼樻儬鐜� + null, // 浼樻儬閲戦 + null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 + null, // 瀹炰粯閲戦 + null, // 浠樻绫诲瀷 + null, // 涓氬姟鍛� + null, // 缁撶畻澶╂暟 + null, // 閭垂鏀粯绫诲瀷 + null, // 閭垂 + null, // 浠樻鏃堕棿 + null, // 鍙戣揣鏃堕棿 + null, // 鐗╂祦鍚嶇О + null, // 鐗╂祦鍗曞彿 + 1L, // 璁㈠崟鐘舵�� + 1, // 鐘舵�� + 9527L, // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + 9527L, // 淇敼浜哄憳 + now, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + 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.getAnfme(),detail.getOwnerName(),detail.getPayment()); + dto.setBeBatch(detail.getBeBatch()); + if (DetlDto.has(list, dto)) { + DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); + assert detlDto != null; + detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); + } else { + list.add(dto); + } + dto.setWeight(detail.getWeight()); + } + for (DetlDto detlDto : list) { + Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); + } + OrderDetl orderDetl = new OrderDetl(); + orderDetl.sync(mat); + + //鎵瑰彿涓虹┖浼氬嚭鐜伴棶棰橈紝璁剧疆涓�涓粯璁ゅ�� + if (detlDto.getBatch() == null) { + orderDetl.setBatch(""); + } else { + orderDetl.setBatch(detlDto.getBatch()); + + } + orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(9527L); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(9527L); + orderDetl.setUpdateTime(now); + LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().eq("owner", detlDto.getOwnerName())); + if (Cools.isEmpty(locOwner)){ + throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + }else { + orderDetl.setOwner(locOwner.getId()); + } + orderDetl.setPayment(detlDto.getPayment()); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + orderDetl.setBeBatch(detlDto.getBeBatch()); orderDetl.setWeight(detlDto.getWeight()); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); @@ -409,7 +531,7 @@ Long tagId; // 涓�绾у垎绫� if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { - Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2); + Tag priTag = tagService.selectByName(matParam.getGroupCode(), 1); if (priTag == null) { Tag top = tagService.getTop(); NodeUtils nodeUtils = new NodeUtils(); @@ -440,7 +562,7 @@ } } // 浜岀骇鍒嗙被 - Tag secTag = tagService.selectByName(matParam.getGroupName(), 3); + Tag secTag = tagService.selectByName(matParam.getGroupName(), 2); if (secTag == null) { NodeUtils nodeUtils = new NodeUtils(); nodeUtils.executePath(priTag.getId()); @@ -540,4 +662,13 @@ return digitalTwin; } + /* + * 閫熻吘鏁板瓧瀛敓璋冪敤鎺ュ彛 + * */ + @Override + public synchronized R ownerAllNumber() { + List<LocDetlAll> locDetlAlls = locDetlService.selectOwnerAllAnfme(); + return R.ok(locDetlAlls); + } + } -- Gitblit v1.9.1