From da2876bd485026380b695d773277f4551a1c8983 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 二月 2025 09:59:01 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 262 +++++++++++++++++++++++++++------------------------
1 files changed, 139 insertions(+), 123 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 3f3b677..a25dfff 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
@@ -207,67 +207,9 @@
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
if (!orderDetaillist.isEmpty()){
- for (OrderDetail orderDetail : orderDetaillist) {
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("鍑哄簱");
- OrderDetail orderDetailNew= finishedGoodsInventoryMapper.findOrderDetailNumberd(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
- //娣诲姞鍑哄叆搴撹褰�
- finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
- Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
-
- Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(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);
- if(deliverydetailsum==null){
- deliverydetailsum=0;
- }
-
- DeliveryDetail deliveryDetail=finishedGoodsInventoryMapper.findDeliverydetail(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId());
- /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟搴撳瓨鏁帮細" + orderNumberdsum + "鍑嗗鍑哄簱鏁伴噺" +
- orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
- deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
- //鍒ゆ柇鍙戣揣鍗曠殑搴撳瓨鏄惁瀛樺湪
- if (finishedGoodsInventorycount > 0) {
- //鍒ゆ柇鍙戣揣鍗曟槸鍚﹀凡鍑哄簱
- if(deliveryDetail==null){
- if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
- //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
- finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
- //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId(),0);
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1);
- //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲�
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
- //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
- if (orderNumberdsum == orderDetail.getWarehouseNum()) {
- //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
- }
- if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) {
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
- }
- }else{
- TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
- return "false3";
- }
- }else{
- TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
- return "false1";
- }
-
-
- }else{
- TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
- return "false2";
- }
+ if(!Objects.equals(deliveryDetailLogic(orderDetaillist, savePoint, userName), "true")) {
+ return deliveryDetailLogic(orderDetaillist, savePoint, userName);
}
}
@@ -691,69 +633,8 @@
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
if (!finishedOperateLogslist.isEmpty()){
- for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
- Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId());
- Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId());
- Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(finishedOperateLog.getOperationOrderNumber());
- Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1);
-
- if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
- Delivery delivery = finishedGoodsInventoryMapper.findOrderDelivery(finishedOperateLog.getOrderId());
- if(delivery==null){
- //淇敼璁板綍琛�
- finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
- //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
- finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
- if(finishedOperateLog.getProcessId()!=null){
- //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
- finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
- }
-
- //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
- //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
- if (Objects.equals(ordersum, ordernumbersum)) {
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),1);
- }
- if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
- }
- log.setFunction("cancelFinishedGoodsInventoryStorage鍏ュ簱");
- }else{
- return "false1";
- }
-
-
-
- }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
- //淇敼璁板綍琛�
- finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
- //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
- finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
- //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDetailState(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getOperationOrderNumber(),1);
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),1);
- //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
- //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
- if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum){
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0);
-
- }
- if (deliverysum==finishedOperateLog.getQuantity()+deliverydetailsum) {
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
- }
- log.setFunction("cancelFinishedGoodsInventoryStorage鍑哄簱");
-
- }
-
+ if(!Objects.equals(cancelDeliveryDetailLogic(finishedOperateLogslist, savePoint, object.get("userName").toString(), log), "true")){
+ return cancelDeliveryDetailLogic(finishedOperateLogslist,savePoint,object.get("userName").toString(),log);
}
}
logService.saveLog(log);
@@ -907,4 +788,139 @@
map.put("data", list);
return map;
}
+
+
+ public String deliveryDetailLogic(List<OrderDetail> list,Object savePoint,String userName) {
+ for (OrderDetail orderDetail : list) {
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("鍑哄簱");
+ OrderDetail orderDetailNew= finishedGoodsInventoryMapper.findOrderDetailNumberd(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+ //娣诲姞鍑哄叆搴撹褰�
+ finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
+ Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+
+
+ Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(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);
+ if(deliverydetailsum==null){
+ deliverydetailsum=0;
+ }
+
+ DeliveryDetail deliveryDetail=finishedGoodsInventoryMapper.findDeliverydetail(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId());
+ /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟搴撳瓨鏁帮細" + orderNumberdsum + "鍑嗗鍑哄簱鏁伴噺" +
+ orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
+ deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
+ //鍒ゆ柇鍙戣揣鍗曠殑搴撳瓨鏄惁瀛樺湪
+ if (finishedGoodsInventorycount > 0) {
+ //鍒ゆ柇鍙戣揣鍗曟槸鍚﹀凡鍑哄簱
+ if(deliveryDetail==null){
+ if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
+ //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
+ finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
+ //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId(),0);
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1);
+ //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲�
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
+ //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
+ if (Objects.equals(orderNumberdsum, orderDetail.getWarehouseNum())) {
+ //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
+ }
+ if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) {
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
+ }
+ }else{
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ return "false3";
+ }
+ }else{
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ return "false1";
+ }
+
+
+ }else{
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ return "false2";
+ }
+ }
+ return "true";
+ }
+
+ public String cancelDeliveryDetailLogic(List<FinishedOperateLog> finishedOperateLogslist,Object savePoint,String userName,Log log) {
+ for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
+ Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId());
+ Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId());
+ Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(finishedOperateLog.getOperationOrderNumber());
+ Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1);
+
+ if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
+ Delivery delivery = finishedGoodsInventoryMapper.findOrderDelivery(finishedOperateLog.getOrderId());
+ if(delivery==null){
+ //淇敼璁板綍琛�
+ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+ //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+ finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
+ if(finishedOperateLog.getProcessId()!=null){
+ //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+ finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+ }
+
+ //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+ //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
+ if (Objects.equals(ordersum, ordernumbersum)) {
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),1);
+ }
+ if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
+ }
+ log.setFunction("cancelFinishedGoodsInventoryStorage鍏ュ簱");
+ }else{
+ return "false1";
+ }
+
+
+
+ }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
+ //淇敼璁板綍琛�
+ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+ //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
+ finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+ //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDetailState(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getOperationOrderNumber(),1);
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),1);
+ //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
+ //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
+ if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum){
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0);
+
+ }
+ if (deliverysum==finishedOperateLog.getQuantity()+deliverydetailsum) {
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
+ }
+ log.setFunction("cancelFinishedGoodsInventoryStorage鍑哄簱");
+
+ }
+
+ }
+ return "true";
+ }
}
--
Gitblit v1.8.0