From 1ae5f2198b70aba54c49f1752e02dfe7b9d5a2e9 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期日, 04 八月 2024 17:35:30 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 118 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 89 insertions(+), 29 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
index 7a4c018..79f2485 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.example.erp.dto.mm.FinishedOperateLogDTO;
import com.example.erp.entity.mm.FinishedGoodsInventory;
import com.example.erp.entity.mm.FinishedOperateLog;
import com.example.erp.entity.pp.FlowCard;
@@ -12,6 +14,8 @@
import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
import com.example.erp.mapper.mm.FinishedOperateLogMapper;
+import com.example.erp.mapper.sd.OrderDetailMapper;
+import com.example.erp.mapper.sd.OrderMapper;
import com.example.erp.service.userInfo.SysErrorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -19,6 +23,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.sql.SQLException;
+import java.sql.Wrapper;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -33,6 +38,10 @@
FinishedOperateLogMapper finishedOperateLogMapper;
@Autowired
BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+ @Autowired
+ OrderDetailMapper orderDetailMapper;
+ @Autowired
+ OrderMapper orderMapper;
@Autowired
SysErrorService sysErrorService;
@@ -60,11 +69,15 @@
//瀹氫箟鍓嶇浼犺緭鐨勬暟鎹�
String storageRegion = "";
String remark = "";
+ String container = "";
if (object.get("remark") != null) {
remark = object.get("remark").toString();
}
if (object.get("storageRegion") != null) {
storageRegion = object.get("storageRegion").toString();
+ }
+ if (object.get("container") != null) {
+ container = object.get("container").toString();
}
String userName = "";
@@ -77,13 +90,13 @@
}
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowcard")), FlowCard.class);
+ List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
if (!flowCardlist.isEmpty()){
for (FlowCard flowCard : flowCardlist) {
//鑾峰彇鍗曞彿
String oddNumber= orderNumberSetting("鍏ュ簱");
//娣诲姞鍑哄叆搴撹褰�
- finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber);
+ finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber,container);
Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber());
Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId());
Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId());
@@ -97,7 +110,7 @@
//淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
//淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(), Long.valueOf(flowCard.getInventoryQuantity()));
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
//淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
@@ -108,7 +121,7 @@
//淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
finishedGoodsInventoryMapper.updateflowcard(flowCard);
//淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(), Long.valueOf(flowCard.getInventoryQuantity()));
if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
//淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2);
@@ -129,8 +142,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("addSelectWarehousing");
sysErrorService.insert(sysError);
saveState = false;
@@ -175,7 +188,7 @@
Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId());
- Integer orderDeliveryQuantitySum = finishedGoodsInventoryMapper.findOrderDeliveryQuantitySum(orderDetail.getDeliveryDetail().getOrderId());
+ Integer orderNumberdsum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId());
Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId());
Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0);
@@ -183,7 +196,7 @@
deliverydetailsum=0;
}
- /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟宸插彂鏁伴噺锛�" + orderDeliveryQuantitySum + "鍑嗗鍑哄簱鏁伴噺" +
+ /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟搴撳瓨鏁帮細" + orderNumberdsum + "鍑嗗鍑哄簱鏁伴噺" +
orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
if (finishedGoodsInventorycount > 0) {
@@ -199,7 +212,8 @@
//淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
- if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
+ if (orderNumberdsum == orderDetail.getWarehouseNum()) {
+ //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
//淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
}
@@ -209,6 +223,9 @@
}
}
+ }else{
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ saveState = false;
}
}
}
@@ -217,8 +234,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("addDeliveryDetail");
sysErrorService.insert(sysError);
saveState = false;
@@ -271,7 +288,7 @@
//淇敼鍘熻鍗曟槑缁嗚〃鍙戣揣鏁伴噺
finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
//淇敼璋冩嫧鏂拌鍗曟槑缁嗚〃鍙戣揣鏁伴噺
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), orderDetail.getQuantity());
if (newordersum==newordernumbersum+orderDetail.getQuantity()){
//淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getOrderId(),2);
@@ -287,8 +304,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("updateFinishedGoodsInventoryAllocate");
sysErrorService.insert(sysError);
saveState = false;
@@ -370,8 +387,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("updateFinishedGoodsInventoryTakeOut");
sysErrorService.insert(sysError);
saveState = false;
@@ -453,8 +470,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("updateFinishedGoodsInventoryRework");
sysErrorService.insert(sysError);
saveState = false;
@@ -500,8 +517,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("updateFinishedGoodsInventoryToExamine");
sysErrorService.insert(sysError);
saveState = false;
@@ -537,8 +554,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("cancelFinishedGoodsInventoryToExamine");
sysErrorService.insert(sysError);
saveState = false;
@@ -613,8 +630,11 @@
finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
//淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
- //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
- finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+ if(finishedOperateLog.getProcessId()!=null){
+ //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+ finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+ }
+
//淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
@@ -637,7 +657,7 @@
//淇敼鍙戣揣琛ㄧ姸鎬�
finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
//淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
//淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1);
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
@@ -660,8 +680,8 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
- sysError.setFunc("saveOrder");
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("cancelFinishedGoodsInventoryStorage");
sysErrorService.insert(sysError);
saveState = false;
@@ -670,12 +690,52 @@
}
- public List<FinishedOperateLog> exportFinishedOperateLogReport(List<LocalDate> dates) {
- System.out.println(finishedOperateLogMapper.exportFinishedOperateLogReport(dates));
+ public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) {
return finishedOperateLogMapper.exportFinishedOperateLogReport(dates);
}
+ public Boolean oneClickStorage(String orderId,String userName) {
+ boolean saveState = true;
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String oddNumber= orderNumberSetting("鍏ュ簱");
+ Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",orderId));
+ if(order.getWarehousing()==0){
+ List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId);
+ for (OrderDetail orderDetail:orderDetailList){
+ FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber());
+ if(finishedGoodsInventory!=null){
+ //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+ finishedGoodsInventoryMapper.updateOrderInventory(orderDetail);
+ }else{
+ finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail);
+ }
+ finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),orderDetail.getQuantity());
+ }
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
+ }
+
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("oneClickStorage");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+
+ return saveState;
+
+ }
+
+
+
+
--
Gitblit v1.8.0