From f543f2b2df318ce42111fbe9727a1fb7c7a588d6 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 26 十二月 2025 17:43:27 +0800
Subject: [PATCH] #getArmType$
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 148 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 102 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..ddd2c06 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -9,6 +9,7 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
+import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
@@ -20,6 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -49,17 +51,22 @@
private TagService tagService;
@Autowired
private TagMapper tagMapper;
+ @Autowired
+ private LocMastServiceImpl locMastService;
+ @Autowired
+ private ReportQueryMapper reportQueryMapper;
@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 +100,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 +126,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 +141,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 +154,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 +164,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 +192,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 +215,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 +260,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 +288,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 +303,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 +315,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 +348,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 +570,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 +586,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 +595,30 @@
}
+ @Override
+ @Transactional
+ public ViewStockUseBeanDigitalTwin digitalTwinOverview() {
+ ViewStockUseBeanDigitalTwin viewStockUseBeanDigitalTwin = new ViewStockUseBeanDigitalTwin();
+ int selectCountLocDetl = locDetlService.selectCount(new EntityWrapper<LocDetl>());
+ viewStockUseBeanDigitalTwin.setRemainingStock(Integer.toUnsignedLong(selectCountLocDetl));
+ int selectCountLocMast = locMastService.selectCount(new EntityWrapper<LocMast>());
+ viewStockUseBeanDigitalTwin.setTotalLoc(Integer.toUnsignedLong(selectCountLocMast));
+ int selectCountLocMastNEO = locMastService.selectCount(new EntityWrapper<LocMast>().ne("loc_sts","O").ne("loc_sts","X"));
+ viewStockUseBeanDigitalTwin.setUseLoc(Integer.toUnsignedLong(selectCountLocMastNEO));
+ int selectCountLocMastO = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts","O"));
+ viewStockUseBeanDigitalTwin.setIdleLoc(Integer.toUnsignedLong(selectCountLocMastO));
+ List<ViewInOutBean> list = reportQueryMapper.getViewInOutAll(new ViewInOutBean());
+ Date date = new Date();
+ String format = new SimpleDateFormat("yyyy-MM-dd").format(date);
+ viewStockUseBeanDigitalTwin.setNowData(format);
+ for (ViewInOutBean view : list) {
+ if (view.getYmd().equals(format)) {
+ viewStockUseBeanDigitalTwin.setTodayOutbound(view.getRet_qty());
+ viewStockUseBeanDigitalTwin.setTodayWarehousing(view.getSto_qty());
+ break;
+ }
+ }
+ return viewStockUseBeanDigitalTwin;
+ }
+
}
--
Gitblit v1.9.1