From 0a567fd9c3baeb8022c77fa1a6a96d4c60cfa11c Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 23 五月 2024 08:18:47 +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 | 277 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 229 insertions(+), 48 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 902725d..ac2f718 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,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
+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;
@@ -44,36 +45,37 @@
return map;
}
- public Map<String, Object> getseletwarehousing(Integer pageNum, Integer pageSize, FlowCard flowCard) {
+ public Map<String, Object> getSelectWarehousing(Integer pageNum, Integer pageSize, FlowCard flowCard) {
Integer offset = (pageNum - 1) * pageSize;
Map<String, Object> map = new HashMap<>();
- map.put("data", finishedGoodsInventoryMapper.getseletwarehousing(offset, pageSize, flowCard));
- map.put("total", finishedGoodsInventoryMapper.getseletwarehousingPageTotal(offset, pageSize, flowCard));
+ map.put("data", finishedGoodsInventoryMapper.getSelectWarehousing(offset, pageSize, flowCard));
+ map.put("total", finishedGoodsInventoryMapper.getSelectWarehousingPageTotal(offset, pageSize, flowCard));
return map;
}
- public Boolean addseletwarehousing(Map<String,Object> object) {
- Boolean isinsert=false;
+ public Boolean addSelectWarehousing(Map<String,Object> object) {
+ boolean saveState = true;
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ //瀹氫箟鍓嶇浼犺緭鐨勬暟鎹�
+ String storageRegion = "";
+ String remark = "";
+ if (object.get("remark") != null) {
+ remark = object.get("remark").toString();
+ }
+ if (object.get("storageRegion") != null) {
+ storageRegion = object.get("storageRegion").toString();
+ }
- //瀹氫箟鍓嶇浼犺緭鐨勬暟鎹�
- String storageRegion = "";
- String remark = "";
- if (object.get("remark") != null) {
- remark = object.get("remark").toString();
- }
- if (object.get("storageRegion") != null) {
- storageRegion = object.get("storageRegion").toString();
- }
-
- 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 userName = "";
+ String userId = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
+ }
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowcard")), FlowCard.class);
@@ -87,12 +89,14 @@
Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId());
Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId());
- System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity());
+ /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity());*/
if (finishedGoodsInventorycount > 0) {
//淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark);
//淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
finishedGoodsInventoryMapper.updateflowcard(flowCard);
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
//淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
@@ -100,41 +104,54 @@
//淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2);
}
- isinsert=true;
} else {
if (finishedGoodsInventoryMapper.insertFinishedGoodsInventory(flowCard, storageRegion, remark)) {
//淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
finishedGoodsInventoryMapper.updateflowcard(flowCard);
//淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
- //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
- finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
- isinsert=true;
- } else {
- isinsert= false;
+ if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2);
+ }else{
+ //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+ finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
+ }
+
+
}
}
}
- 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;
}
- public Map<String, Object> getseletdeliveryDetail(Integer pageNum, Integer pageSize, OrderDetail orderDetail) {
+ public Map<String, Object> getSelectDeliveryDetail(Integer pageNum, Integer pageSize, OrderDetail orderDetail) {
Integer offset = (pageNum - 1) * pageSize;
Map<String, Object> map = new HashMap<>();
- map.put("data", finishedGoodsInventoryMapper.getseletdeliveryDetail(offset, pageSize, orderDetail));
- map.put("total", finishedGoodsInventoryMapper.getseletdeliveryDetailPageTotal(offset, pageSize, orderDetail));
+ map.put("data", finishedGoodsInventoryMapper.getSelectDeliveryDetail(offset, pageSize, orderDetail));
+ map.put("total", finishedGoodsInventoryMapper.getSelectDeliveryDetailPageTotal(offset, pageSize, orderDetail));
return map;
}
- public Boolean adddeliveryDetail(Map<String,Object> object) {
+ public Boolean addDeliveryDetail(Map<String,Object> object) {
boolean saveState = true;
//璁剧疆鍥炴粴鐐�
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -157,9 +174,9 @@
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 orderDeliveryQuantitySum = finishedGoodsInventoryMapper.findOrderDeliveryQuantitySum(orderDetail.getDeliveryDetail().getOrderId());
Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId());
Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0);
@@ -167,27 +184,27 @@
deliverydetailsum=0;
}
- System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
- orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" +
- deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
+ /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟宸插彂鏁伴噺锛�" + orderDeliveryQuantitySum + "鍑嗗鍑哄簱鏁伴噺" +
+ orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
+ deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
if (finishedGoodsInventorycount > 0) {
- if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
- //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲�
- //finishedGoodsInventoryMapper.updateInventoryquantityavailable(orderDetail);
+ if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
+ //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
+ finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
//淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
- finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
+ 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.getDeliveryNum());
+ finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
//淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
//鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
- if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) {
+ if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
//淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
}
- if (deliverysum==deliverydetailsum+orderDetail.getDeliveryNum()) {
+ if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) {
//淇敼鍙戣揣琛ㄧ姸鎬�
finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
}
@@ -282,7 +299,7 @@
}
- public Map<String, Object> getselectAllocateFinishedOperateLog(Integer pageNum, Integer pageSize,List<String> selectDate, FinishedOperateLog finishedOperateLog) {
+ public Map<String, Object> getSelectAllocateFinishedOperateLog(Integer pageNum, Integer pageSize,List<String> selectDate, FinishedOperateLog finishedOperateLog) {
Integer offset = (pageNum - 1) * pageSize;
String endDate = LocalDate.now().toString();
@@ -494,6 +511,170 @@
}
+ public Boolean cancelFinishedGoodsInventoryToExamine(Map<String,Object> object) {
+ 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<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
+ if (!finishedOperateLogslist.isEmpty()){
+ for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
+ finishedGoodsInventoryMapper.updateInventoryquantityInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Math.toIntExact(finishedOperateLog.getQuantity()));
+ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+
+ }
+ }
+
+ } 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> getSelectStorageRecord(Integer pageNum, Integer pageSize, List<String> selectDate,String type, FinishedOperateLog finishedOperateLog) {
+ Integer offset = (pageNum-1)*pageSize;
+ String endDate = LocalDate.now().toString();
+ String startDate = LocalDate.now().minusDays(15).toString();
+ if(selectDate !=null && selectDate.size()==2){
+ if(!selectDate.get(0).isEmpty()){
+ startDate = selectDate.get(0);
+ }
+ if(!selectDate.get(1).isEmpty()){
+ endDate = selectDate.get(1);
+ }
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", finishedOperateLogMapper.getSelectStorageRecord(offset, pageSize,startDate, endDate,type, finishedOperateLog));
+ map.put("total", finishedOperateLogMapper.getSelectStorageRecordLogPageTotal(offset, pageSize,startDate, endDate,type, finishedOperateLog));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+ public Map<String, Object> getSelectFinishedOperateLogReport(Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) {
+ Integer offset = (pageNum-1)*pageSize;
+ String endDate = LocalDate.now().toString();
+ String startDate = LocalDate.now().minusDays(15).toString();
+ if(selectDate !=null && selectDate.size()==2){
+ if(!selectDate.get(0).isEmpty()){
+ startDate = selectDate.get(0);
+ }
+ if(!selectDate.get(1).isEmpty()){
+ endDate = selectDate.get(1);
+ }
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", finishedOperateLogMapper.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog));
+ map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+
+ public Boolean cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ 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());
+
+ if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
+ //淇敼璁板綍琛�
+ finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+ //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+ finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
+ //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+ 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);
+ }
+
+ }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(),0);
+ //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
+ finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1);
+ //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
+ if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
+
+ }
+ if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum) {
+ //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+ finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0);
+ }
+
+ }
+
+ }
+ }
+
+ } 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 List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) {
+ return finishedOperateLogMapper.exportFinishedOperateLogReport(dates);
+ }
+
--
Gitblit v1.8.0