From f425a29a2273a81478f3533476e3c8bd7743a0e4 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 27 十二月 2024 07:43:46 +0800
Subject: [PATCH] 用户列表界面添加用户工序设置
---
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java | 123 +++++++++++++++++++++++++++++++----------
1 files changed, 93 insertions(+), 30 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 e415ab2..3f3b677 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,6 +8,7 @@
import com.example.erp.entity.mm.FinishedGoodsInventory;
import com.example.erp.entity.mm.FinishedOperateLog;
import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.Delivery;
import com.example.erp.entity.sd.DeliveryDetail;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
@@ -30,6 +31,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
+import java.util.stream.Collectors;
@Service
@DS("mm")
@@ -103,9 +105,9 @@
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
if (!flowCardlist.isEmpty()){
+ //鑾峰彇鍗曞彿
+ String oddNumber= orderNumberSetting("鍏ュ簱");
for (FlowCard flowCard : flowCardlist) {
- //鑾峰彇鍗曞彿
- String oddNumber= orderNumberSetting("鍏ュ簱");
//娣诲姞鍑哄叆搴撹褰�
finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber,container);
Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber());
@@ -208,6 +210,7 @@
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());
@@ -230,7 +233,7 @@
if (finishedGoodsInventorycount > 0) {
//鍒ゆ柇鍙戣揣鍗曟槸鍚﹀凡鍑哄簱
if(deliveryDetail==null){
- if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
+ if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
//淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
//淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
@@ -251,6 +254,9 @@
//淇敼鍙戣揣琛ㄧ姸鎬�
finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
}
+ }else{
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ return "false3";
}
}else{
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -649,7 +655,7 @@
return map;
}
- public Map<String, Object> getSelectFinishedOperateLogReport(Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) {
+ public Map<String, Object> getSelectFinishedOperateLogReport(String type,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();
@@ -663,8 +669,8 @@
}
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));
+ map.put("data", finishedOperateLogMapper.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog,type));
+ map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog,type));
List<String> list = new ArrayList<>();
list.add(startDate);
list.add(endDate);
@@ -673,12 +679,14 @@
}
- public Boolean cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
- boolean saveState = true;
+ public String cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
+ String saveState = "true";
//璁剧疆鍥炴粴鐐�
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
try {
Log log = new Log();
+ log.setOperatorId(object.get("userId").toString());
+ log.setOperator(object.get("userName").toString());
log.setContent(object.toString());
//鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
@@ -690,27 +698,34 @@
Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1);
if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
- //淇敼璁板綍琛�
- finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
- //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
- finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
- if(finishedOperateLog.getProcessId()!=null){
- //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
- finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+ 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";
}
- //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
- 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 if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
//淇敼璁板綍琛�
@@ -750,15 +765,15 @@
sysError.setError(e+Arrays.toString(e.getStackTrace()));
sysError.setFunc("cancelFinishedGoodsInventoryStorage");
sysErrorService.insert(sysError);
- saveState = false;
+ saveState = "false";
}
return saveState;
}
- public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) {
- return finishedOperateLogMapper.exportFinishedOperateLogReport(dates);
+ public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates,String type) {
+ return finishedOperateLogMapper.exportFinishedOperateLogReport(dates,type);
}
@@ -806,6 +821,29 @@
}
+ public Map<String, Object> getSelectStorageRecordPint(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.getSelectStorageRecordPint(offset, pageSize,startDate, endDate, finishedOperateLog));
+ map.put("total", finishedOperateLogMapper.getSelectStorageRecordPintPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
@@ -839,9 +877,34 @@
}
+ public Map<String, Object> getSelectPrintSv(Map<String, Object> object) {
+ Map<String, Object> map = new HashMap<>();
+ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
+ List<FinishedOperateLog> finishedOperateLogList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FinishedOperateLog.class);
+ if (!finishedOperateLogList.isEmpty()) {
+ Set<String> processedProcessIds = new HashSet<>();
+ for (FinishedOperateLog finishedOperateLog : finishedOperateLogList) {
+ String OrderId = finishedOperateLog.getOrderId();
+ String Remarks = finishedOperateLog.getRemarks();
+ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� OrderId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+ if (processedProcessIds.contains(OrderId) && processedProcessIds.contains(Remarks)) {
+ continue;
+ }
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("detail", finishedOperateLogMapper.getPrimaryListLimt(finishedOperateLog.getOrderId(),finishedOperateLog.getProcessId(),finishedOperateLog.getRemarks()));
+ List<Map<String, Object>> detailList = finishedOperateLogMapper.getDetailList(finishedOperateLog.getOrderId(),finishedOperateLog.getProcessId(),finishedOperateLog.getRemarks());
+ itemmap.put("detailList", detailList);
+ list.add(itemmap);
+ processedProcessIds.add(OrderId);
+ processedProcessIds.add(Remarks);
+ }
+ }
+ map.put("data", list);
+ return map;
+ }
}
--
Gitblit v1.8.0