From e8ba2a1bec7ffbd78cb941521b31d000890e66de Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 27 二月 2024 14:04:16 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 496 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 271 insertions(+), 225 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 65fe248..902725d 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
@@ -8,11 +8,15 @@
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.entity.userInfo.SysError;
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.service.userInfo.SysErrorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
@@ -21,6 +25,7 @@
@Service
@DS("mm")
+@Transactional(rollbackFor = Exception.class)
public class FinishedGoodsInventoryService {
@Autowired
FinishedGoodsInventoryMapper finishedGoodsInventoryMapper;
@@ -28,6 +33,8 @@
FinishedOperateLogMapper finishedOperateLogMapper;
@Autowired
BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+ @Autowired
+ SysErrorService sysErrorService;
public Map<String, Object> defaultDateFinishedGoodsInventory(Integer pageNum, Integer pageSize, FinishedGoodsInventory finishedGoodsInventory) {
Integer offset = (pageNum - 1) * pageSize;
@@ -128,72 +135,79 @@
public Boolean adddeliveryDetail(Map<String,Object> object) {
- Boolean isinsert=false;
- String userName = "";
- String userId = "";
- if (object.get("userName") != null) {
- userName = object.get("userName").toString();
- }
- if (object.get("userId") != null) {
- userId = object.get("userId").toString();
- }
- //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
- if (!orderDetaillist.isEmpty()){
- for (OrderDetail orderDetail : orderDetaillist) {
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("鍑哄簱");
- //娣诲姞鍑哄叆搴撹褰�
- finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
- Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
+ }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
+ if (!orderDetaillist.isEmpty()){
+ for (OrderDetail orderDetail : orderDetaillist) {
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("鍑哄簱");
+ //娣诲姞鍑哄叆搴撹褰�
+ finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
+ Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
- Integer finishedGoodsInventorybycount=finishedGoodsInventoryMapper.finishedGoodsInventorybycount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
- Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId());
- Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId());
+ Integer finishedGoodsInventorybycount=finishedGoodsInventoryMapper.finishedGoodsInventorybycount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+ Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId());
+ Integer ordernumbersum = 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;
- }
-
- System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
- orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" +
- deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
- if (finishedGoodsInventorycount > 0) {
- if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
- //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲�
- //finishedGoodsInventoryMapper.updateInventoryquantityavailable(orderDetail);
- //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1);
- //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲�
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
- //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
- if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) {
- //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
- finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
- }
- if (deliverysum==deliverydetailsum+orderDetail.getDeliveryNum()) {
- //淇敼鍙戣揣琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
- }
- isinsert=true;
+ Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId());
+ Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0);
+ if(deliverydetailsum==null){
+ deliverydetailsum=0;
}
- } else {
- isinsert=false;
+ System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
+ orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" +
+ deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
+ if (finishedGoodsInventorycount > 0) {
+ if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
+ //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲�
+ //finishedGoodsInventoryMapper.updateInventoryquantityavailable(orderDetail);
+ //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1);
+ //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲�
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
+ //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
+ if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) {
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
+ }
+ if (deliverysum==deliverydetailsum+orderDetail.getDeliveryNum()) {
+ //淇敼鍙戣揣琛ㄧ姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
+ }
+ }
+
+ }
}
}
- return isinsert;
- }else{
- return false;
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e.toString());
+ sysError.setFunc("saveOrder");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
}
-
-
+ return saveState;
}
@@ -208,52 +222,62 @@
}
public Boolean updateFinishedGoodsInventoryAllocate(Map<String,Object> object) {
- Boolean isinsert=false;
- String userName = "";
- String userId = "";
- if (object.get("userName") != null) {
- userName = object.get("userName").toString();
- }
- if (object.get("userId") != null) {
- userId = object.get("userId").toString();
- }
- //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
- if (!orderDetaillist.isEmpty()){
- for (OrderDetail orderDetail : orderDetaillist) {
- Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
- Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
-
- Integer newordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getOrderId());
- Integer newordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getOrderId());
-
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("璋冩嫧");
- //娣诲姞璋冩嫧璁板綍
- finishedOperateLogMapper.insertFinishedOperateLogAllocate(orderDetail,userName,oddNumber);
- //淇敼鍘熻鍗曠殑搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryquantityAllocateOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- //淇敼璋冩嫧鍚庤鍗曠殑搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryquantityAllocateInt(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- //淇敼鍘熻鍗曟槑缁嗚〃鍙戣揣鏁伴噺
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- //淇敼璋冩嫧鏂拌鍗曟槑缁嗚〃鍙戣揣鏁伴噺
- finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- if (newordersum==newordernumbersum+orderDetail.getQuantity()){
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getOrderId(),2);
- }
- if (Objects.equals(oldordersum, oldordernumbersum)){
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
- }
- isinsert=true;
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
}
- return isinsert;
- }else{
- return false;
- }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
+ if (!orderDetaillist.isEmpty()){
+ for (OrderDetail orderDetail : orderDetaillist) {
+ Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
+ Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
+ Integer newordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getOrderId());
+ Integer newordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getOrderId());
+
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("璋冩嫧");
+ //娣诲姞璋冩嫧璁板綍
+ finishedOperateLogMapper.insertFinishedOperateLogAllocate(orderDetail,userName,oddNumber);
+ //淇敼鍘熻鍗曠殑搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryquantityAllocateOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ //淇敼璋冩嫧鍚庤鍗曠殑搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryquantityAllocateInt(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ //淇敼鍘熻鍗曟槑缁嗚〃鍙戣揣鏁伴噺
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ //淇敼璋冩嫧鏂拌鍗曟槑缁嗚〃鍙戣揣鏁伴噺
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ if (newordersum==newordernumbersum+orderDetail.getQuantity()){
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getOrderId(),2);
+ }
+ if (Objects.equals(oldordersum, oldordernumbersum)){
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e.toString());
+ sysError.setFunc("saveOrder");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+ return saveState;
}
@@ -283,60 +307,63 @@
}
public Boolean updateFinishedGoodsInventoryTakeOut(Map<String,Object> object) {
- Boolean isinsert=false;
- String userName = "";
- String userId = "";
- if (object.get("userName") != null) {
- userName = object.get("userName").toString();
- }
- if (object.get("userId") != null) {
- userId = object.get("userId").toString();
- }
-
- String operateType = "";
- String remarks = "";
- if (object.get("remarks") != null) {
- remarks = object.get("remarks").toString();
- }
- if (object.get("operateType") != null) {
- operateType = object.get("operateType").toString();
- }
- //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
- if (!orderDetaillist.isEmpty()){
- for (OrderDetail orderDetail : orderDetaillist) {
- Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
- Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
-
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("棰嗗嚭");
- //娣诲姞棰嗗嚭璁板綍
- finishedOperateLogMapper.insertFinishedOperateLogTakeOut(orderDetail,userName,oddNumber,operateType,remarks);
- //淇敼搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- //淇敼璁㈠崟鏄庣粏琛ㄦ暟閲�
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- if (Objects.equals(oldordersum, oldordernumbersum)){
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
- }
- isinsert=true;
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
}
- return isinsert;
- }else{
- return false;
- }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ String operateType = "";
+ String remarks = "";
+ if (object.get("remarks") != null) {
+ remarks = object.get("remarks").toString();
+ }
+ if (object.get("operateType") != null) {
+ operateType = object.get("operateType").toString();
+ }
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
+ if (!orderDetaillist.isEmpty()){
+ for (OrderDetail orderDetail : orderDetaillist) {
+ Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
+ Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
+
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("棰嗗嚭");
+ //娣诲姞棰嗗嚭璁板綍
+ finishedOperateLogMapper.insertFinishedOperateLogTakeOut(orderDetail,userName,oddNumber,operateType,remarks);
+ //淇敼搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ //淇敼璁㈠崟鏄庣粏琛ㄦ暟閲�
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ if (Objects.equals(oldordersum, oldordernumbersum)){
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e.toString());
+ sysError.setFunc("saveOrder");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+ return saveState;
}
- /* public Map<String, Object> getselectTakeOutFinishedOperateLog(Integer pageNum, Integer pageSize, FinishedOperateLog finishedOperateLog) {
- Integer offset = (pageNum - 1) * pageSize;
- Map<String, Object> map = new HashMap<>();
- map.put("data", finishedOperateLogMapper.getselectAllocateFinishedOperateLog(offset, pageSize, finishedOperateLog));
- map.put("total", finishedOperateLogMapper.getselectAllocateFinishedOperateLogPageTotal(offset, pageSize, finishedOperateLog));
- return map;
- }*/
public Map<String, Object> getSelectOperateRecord(Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) {
Integer offset = (pageNum-1)*pageSize;
@@ -363,88 +390,107 @@
public Boolean updateFinishedGoodsInventoryRework(Map<String,Object> object) {
- Boolean isinsert=false;
- String userName = "";
- String userId = "";
- if (object.get("userName") != null) {
- userName = object.get("userName").toString();
- }
- if (object.get("userId") != null) {
- userId = object.get("userId").toString();
- }
-
- String operateType = "";
- String remarks = "";
- if (object.get("remarks") != null) {
- remarks = object.get("remarks").toString();
- }
- if (object.get("operateType") != null) {
- operateType = object.get("operateType").toString();
- }
- //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
- if (!orderDetaillist.isEmpty()){
- for (OrderDetail orderDetail : orderDetaillist) {
- Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
- Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
-
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("杩斿伐");
- //娣诲姞棰嗗嚭璁板綍
- finishedOperateLogMapper.insertFinishedOperateLogRework(orderDetail,userName,oddNumber,operateType,remarks);
- //淇敼搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- //淇敼璁㈠崟鏄庣粏琛ㄦ暟閲�
- finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
- if (Objects.equals(oldordersum, oldordernumbersum)){
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
- }
- isinsert=true;
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
}
- return isinsert;
- }else{
- return false;
- }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ String operateType = "";
+ String remarks = "";
+ if (object.get("remarks") != null) {
+ remarks = object.get("remarks").toString();
+ }
+ if (object.get("operateType") != null) {
+ operateType = object.get("operateType").toString();
+ }
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
+ if (!orderDetaillist.isEmpty()){
+ for (OrderDetail orderDetail : orderDetaillist) {
+ Integer oldordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getFinishedGoodsInventory().getOrderId());
+ Integer oldordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getFinishedGoodsInventory().getOrderId());
+
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("杩斿伐");
+ //娣诲姞棰嗗嚭璁板綍
+ finishedOperateLogMapper.insertFinishedOperateLogRework(orderDetail,userName,oddNumber,operateType,remarks);
+ //淇敼搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ //淇敼璁㈠崟鏄庣粏琛ㄦ暟閲�
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+ if (Objects.equals(oldordersum, oldordernumbersum)){
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getFinishedGoodsInventory().getOrderId(),1);
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e.toString());
+ sysError.setFunc("saveOrder");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+ return saveState;
}
public Boolean updateFinishedGoodsInventoryToExamine(Map<String,Object> object,String type) {
- Boolean isinsert=false;
- String userName = "";
- String userId = "";
- if (object.get("userName") != null) {
- userName = object.get("userName").toString();
- }
- if (object.get("userId") != null) {
- userId = object.get("userId").toString();
- }
- //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
- List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
- if (!finishedOperateLogslist.isEmpty()){
- for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
- if(Objects.equals(type, "瀹℃牳")){
- //瀹℃牳淇敼棰嗗嚭璁板綍
- finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"宸插鏍�");
- //瀹℃牳淇敼搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryInventoryOut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
- } else if (Objects.equals(type, "鍙嶅")) {
- //瀹℃牳淇敼棰嗗嚭璁板綍
- finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"鏈鏍�");
- //瀹℃牳淇敼搴撳瓨鏁伴噺
- finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
- }
-
-
- isinsert=true;
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
}
- return isinsert;
- }else{
- return false;
- }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
+ if (!finishedOperateLogslist.isEmpty()){
+ for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
+ if(Objects.equals(type, "瀹℃牳")){
+ //瀹℃牳淇敼棰嗗嚭璁板綍
+ finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"宸插鏍�");
+ //瀹℃牳淇敼搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryInventoryOut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
+ } else if (Objects.equals(type, "鍙嶅")) {
+ //瀹℃牳淇敼棰嗗嚭璁板綍
+ finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"鏈鏍�");
+ //瀹℃牳淇敼搴撳瓨鏁伴噺
+ finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e.toString());
+ sysError.setFunc("saveOrder");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+ return saveState;
}
--
Gitblit v1.8.0