From 718da33ba17db8b97f25e4b57fb722d798805513 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 07 八月 2024 14:34:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 212 ++++++++++------------------------------------------
1 files changed, 41 insertions(+), 171 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 2bca110..29ec048 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,7 +1,5 @@
package com.zy.asrs.service.impl;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
@@ -9,17 +7,17 @@
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.param.MatSyncParam;
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.OpenOrderPakoutParam;
+import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.result.InOutCountDto;
-import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
-import com.zy.asrs.utils.Utils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
-import com.zy.common.utils.Synchro;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -60,6 +58,8 @@
private NodeService nodeService;
@Autowired
private ManLocDetlService manLocDetlService;
+ @Autowired
+ private MatV2Service matV2Service;
@Override
@Transactional
@@ -125,11 +125,16 @@
}
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 (Cools.isEmpty(mat)) {
+ MatV2 matV2 = matV2Service.selectOne(new EntityWrapper<MatV2>().eq("matnr", detlDto.getMatnr()));
+ if(Cools.isEmpty(matV2)){
+ throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+ }
+ orderDetl.sync(matV2);
+ } else {
+ orderDetl.sync(mat);
+ }
//鎵瑰彿涓虹┖浼氬嚭鐜伴棶棰橈紝璁剧疆涓�涓粯璁ゅ��
if (detlDto.getBatch() == null) {
@@ -266,12 +271,20 @@
}
}
for (DetlDto detlDto : list) {
+ if (detlDto.getMatnr().substring(0,1).equals("B")) {
+ detlDto.setMatnr(detlDto.getMatnr().substring(1));
+ };
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
- }
OrderDetl orderDetl = new OrderDetl();
- orderDetl.sync(mat);
+ if (Cools.isEmpty(mat)) {
+ MatV2 matV2 = matV2Service.selectOne(new EntityWrapper<MatV2>().eq("matnr", detlDto.getMatnr()));
+ if(Cools.isEmpty(matV2)){
+ throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+ }
+ orderDetl.sync(matV2);
+ } else {
+ orderDetl.sync(mat);
+ }
orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch());
orderDetl.setAnfme(detlDto.getAnfme());
orderDetl.setOrderId(order.getId());
@@ -473,49 +486,17 @@
// 鍒嗙被
Long tagId;
// 涓�绾у垎绫�
- if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) {
- Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2);
- if (priTag == null) {
- Tag top = tagService.getTop();
- NodeUtils nodeUtils = new NodeUtils();
- nodeUtils.executePath(top.getId());
- priTag = new Tag(
- null, // 缂栧彿
- matParam.getGroupCode(), // 鍚嶇О
- top.getId(), // 鐖剁骇
- top.getName(), // 鐖剁骇鍚嶇О
- nodeUtils.path.toString(), // 鍏宠仈璺緞
- nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚�
- 0, // 绫诲瀷
- null, // 璐熻矗浜�
- null, // 鍥剧墖
- null, // 绠�瑕佹弿杩�
- null, // 鏁伴噺
- 2, // 绛夌骇
- null, // 鎺掑簭
- 1, // 鐘舵��
- now, // 娣诲姞鏃堕棿
- null, // 娣诲姞浜哄憳
- now, // 淇敼鏃堕棿
- null, // 淇敼浜哄憳
- null // 澶囨敞
- );
- if (tagMapper.insert(priTag) == 0) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
- }
+ if (!Cools.isEmpty(matParam.getGroupName())) {
// 浜岀骇鍒嗙被
Tag secTag = tagService.selectByName(matParam.getGroupName(), 3);
if (secTag == null) {
- NodeUtils nodeUtils = new NodeUtils();
- nodeUtils.executePath(priTag.getId());
secTag = new Tag(
null, // 缂栧彿
matParam.getGroupName(), // 鍚嶇О
- priTag.getId(), // 鐖剁骇
- priTag.getName(), // 鐖剁骇鍚嶇О
- nodeUtils.path.toString(), // 鍏宠仈璺緞
- nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚�
+ 10010L, // 鐖剁骇
+ "鍏ㄩ儴", // 鐖剁骇鍚嶇О
+ "10009,10010", // 鍏宠仈璺緞
+ "鍏ㄩ儴,鍏ㄩ儴", // 鍏宠仈璺緞鍚�
0, // 绫诲瀷
null, // 璐熻矗浜�
null, // 鍥剧墖
@@ -533,17 +514,20 @@
if (tagMapper.insert(secTag) == 0) {
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
+ Tag tag = tagService.selectByName(matParam.getGroupName(), 3);
+ tagId = tag.getId();
+ } else {
+ tagId = secTag.getId();
}
- tagId = secTag.getId();
} else {
- tagId = tagService.getTop().getId();
+ throw new CoolException("鍟嗗搧鍒嗙被涓嶈兘涓虹┖");
+// tagId = tagService.getTop().getId();
}
mat.sync(matParam);
// mat.setMatnr(para);
// mat.setMaktx(param.getMaktx());
// mat.setSpecs(param.getSpecs());
// mat.setModel(param.getModel());
-
mat.setTagId(tagId);
mat.setStatus(1);
mat.setCreateTime(now);
@@ -554,7 +538,9 @@
log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
}
} else {
- mat.sync(param);
+// mat.sync(param);
+ mat.setMaktx(matParam.getMaktx());
+ mat.setSpecs(matParam.getSpecs());
if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) {
throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
}
@@ -567,122 +553,6 @@
public R getInOutDetl() {
List<InOutCountDto> top100 = wrkMastService.selectTop100();
return R.ok().add(top100);
- }
-
- @Transactional
- @Override
- public R manDetlIn(JSONObject json) {
- Date date = new Date();
- String jsonLocNo = (String) json.get("locNo");
- Node node = nodeService.selectOne(new EntityWrapper<Node>()
- .eq("name", jsonLocNo));
-
- String jsonOrderNo = (String) json.get("orderNo");
- Order order = orderService.selectOne(new EntityWrapper<Order>()
- .eq("order_no", jsonOrderNo));
- if (Cools.isEmpty(node, order)) {
- return R.error("鍙傛暟涓虹┖");
- }
-
- JSONArray combMats = json.getJSONArray("combMats");
- for (int i = 0; i < combMats.size(); i++) {
- OrderDetl jsonOrderDetl = combMats.getObject(i, OrderDetl.class);
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
- .eq("order_no", jsonOrderNo));
- if (Cools.isEmpty(orderDetl)) {
- return R.error("鍗曟嵁鏄庣粏鏈夎,璇锋鏌�");
- }
- if (orderDetl.getAnfme() - (jsonOrderDetl.getAnfme() + orderDetl.getQty()) < 0) {
- return R.error("鍏ュ簱鏁伴噺澶т簬鍙叆鏁伴噺");
- }
- ManLocDetl checkManLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>()
- .eq("loc_no", jsonLocNo)
- .eq("matnr", orderDetl.getMatnr()));
- if (checkManLocDetl == null) {
- ManLocDetl manLocDetl = new ManLocDetl();
- Synchro.Copy(orderDetl, manLocDetl);
- manLocDetl.setLocNo(node.getName());
- manLocDetl.setNodeId(node.getId());
- manLocDetl.setMatnr(orderDetl.getMatnr());
- manLocDetl.setMaktx(orderDetl.getMaktx());
- manLocDetl.setAnfme(orderDetl.getAnfme());
- manLocDetl.setModiTime(date);
- manLocDetl.setCreateTime(date);
- manLocDetlService.insert(manLocDetl);
- } else {
- checkManLocDetl.setAnfme(checkManLocDetl.getAnfme() + orderDetl.getAnfme());
- checkManLocDetl.setModiTime(date);
- manLocDetlService.update(checkManLocDetl, new EntityWrapper<ManLocDetl>()
- .eq("loc_no", jsonLocNo)
- .eq("matnr", orderDetl.getMatnr()));
- }
-
- orderDetl.setQty(orderDetl.getQty() + jsonOrderDetl.getAnfme());
- orderDetl.setWorkQty(orderDetl.getWorkQty() + jsonOrderDetl.getAnfme());
- orderDetl.setUpdateTime(date);
- orderDetlService.updateById(orderDetl);
-
- }
- orderService.checkComplete(order.getOrderNo());
-
-
- return R.ok("涓婃灦瀹屾垚");
- }
-
- @Transactional
- @Override
- public R manDetlOut(JSONObject json) {
- Date date = new Date();
- String jsonLocNo = (String) json.get("locNo");
- Node node = nodeService.selectOne(new EntityWrapper<Node>()
- .eq("name", jsonLocNo));
- String jsonOrderNo = (String) json.get("orderNo");
- Order order = orderService.selectOne(new EntityWrapper<Order>()
- .eq("order_no", jsonOrderNo));
- if (Cools.isEmpty(node, order)) {
- return R.error("鍙傛暟涓虹┖");
- }
-
- JSONArray combMats = json.getJSONArray("combMats");
- for (int i = 0; i < combMats.size(); i++) {
- OrderDetl jsonOrderDetl = combMats.getObject(i, OrderDetl.class);
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
- .eq("order_no", jsonOrderNo));
- if (Cools.isEmpty(orderDetl)) {
- return R.error("鍗曟嵁鏄庣粏鏈夎,璇锋鏌�");
- }
- if (jsonOrderDetl.getAnfme() > (orderDetl.getAnfme() - orderDetl.getWorkQty())) {
- return R.error("鍑哄簱鏁伴噺澶т簬鍗曟嵁鍙嚭鏁伴噺");
- }
- ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>()
- .eq("loc_no", jsonLocNo)
- .eq("matnr", orderDetl.getMatnr()));
- if (manLocDetl == null) {
- return R.error("璇ュ簱浣嶆病鏈夊嚭搴撶殑鐗╂枡淇℃伅");
- }
- if (jsonOrderDetl.getAnfme() > manLocDetl.getAnfme()) {
- return R.error("鍑哄簱鏁伴噺澶т簬鍙嚭鏁伴噺");
- }
- Double finalQty = manLocDetl.getAnfme() - jsonOrderDetl.getAnfme();
- if (finalQty <= 0){
- manLocDetlService.delete(new EntityWrapper<ManLocDetl>()
- .eq("loc_no", jsonLocNo)
- .eq("matnr", orderDetl.getMatnr()));
- }else {
- manLocDetl.setAnfme(finalQty);
- manLocDetl.setModiTime(date);
- manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
- .eq("loc_no", jsonLocNo)
- .eq("matnr", orderDetl.getMatnr()));
- }
- orderDetl.setQty(orderDetl.getQty() + jsonOrderDetl.getAnfme());
- orderDetl.setWorkQty(orderDetl.getWorkQty() + jsonOrderDetl.getAnfme());
- orderDetl.setUpdateTime(date);
- orderDetlService.updateById(orderDetl);
-
- orderService.checkComplete(order.getOrderNo());
- }
- return R.ok("涓嬫灦瀹屾垚");
}
}
--
Gitblit v1.9.1