From d21b141e59c9994a51349982a255b3b4b42f3e9b Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 02 八月 2024 12:04:55 +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/MaterialInventoryService.java | 134 +++++++++++++++++++++++++++++---------------
1 files changed, 87 insertions(+), 47 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
index a9be79f..b47981d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -1,5 +1,6 @@
package com.example.erp.service.mm;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
@@ -17,11 +18,14 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.util.List;
+import java.util.ArrayList;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
+import java.util.stream.Collectors;
@Service
@DS("mm")
@@ -55,13 +59,15 @@
List<MaterialOutboundDetail> materialOutboundDetailLists = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId);
if (!materialOutboundDetailLists.isEmpty()) {
for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailLists) {
- if(materialOutboundDetail.getUseId()!=null){
+ //杩樺師鐗╂枡搴撳瓨鏁�
+ materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity());
+ /*if(materialOutboundDetail.getUseId()!=null){
//杩樺師浼樺寲宸ョ▼搴撳瓨鏁�
materialInventoryMapper.updateMaterialInventoryAvailableOptInt(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity());
}else{
//杩樺師鐗╂枡搴撳瓨鏁�
materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity());
- }
+ }*/
}
}
@@ -83,13 +89,15 @@
Integer materialOutboundDetailMaximum = materialInventoryMapper.getMaterialOutboundDetailMaximum(oddNumber);
//鏂板鏉愭枡鍑哄簱鏄庣粏鏁版嵁
materialInventoryMapper.insertMaterialOutboundDetail(materialOutboundDetail, oddNumber, materialOutboundDetailMaximum + 1);
- if(materialOutboundDetail.getUseId()!=null){
+ //淇敼鐗╂枡搴撳瓨琛ㄥ嚭搴撴暟閲�
+ materialInventoryMapper.updateMaterialInventoryAvailableOut(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity());
+ /*if(materialOutboundDetail.getUseId()!=null){
//淇敼浼樺寲宸ョ▼琛ㄥ嚭搴撴暟閲�
materialInventoryMapper.updateMaterialInventoryAvailableOptOut(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity());
}else{
//淇敼鐗╂枡搴撳瓨琛ㄥ嚭搴撴暟閲�
materialInventoryMapper.updateMaterialInventoryAvailableOut(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity());
- }
+ }*/
}
@@ -100,8 +108,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("saveMaterialOutbound");
sysErrorService.insert(sysError);
saveState = false;
@@ -112,28 +120,41 @@
public Boolean saveMaterialInventory(Map<String,Object> object) {
boolean saveState = true;
- Double singlePieceArea = 0.0;
- Double totalArea = 0.0;
- Long materialCode = 0L;
- if (object.get("singlePieceArea") != null) {
- singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString());
- }
- if (object.get("totalArea") != null) {
- totalArea = Double.valueOf(object.get("totalArea").toString());
- }
- if (object.get("materialCode") != null) {
- materialCode = Long.valueOf(object.get("materialCode").toString());
- }
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ Double singlePieceArea = 0.0;
+ Double totalArea = 0.0;
+ Long materialCode = 0L;
+ if (object.get("singlePieceArea") != null) {
+ singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString());
+ }
+ if (object.get("totalArea") != null) {
+ totalArea = Double.valueOf(object.get("totalArea").toString());
+ }
+ if (object.get("materialCode") != null) {
+ materialCode = Long.valueOf(object.get("materialCode").toString());
+ }
- MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
+ MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
- //鏌ヨ鐗╂枡鏄惁瀛樺湪
- Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
+ //鏌ヨ鐗╂枡鏄惁瀛樺湪
+ Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
- if(MaterialInventoryCount>0){
- materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
- }else {
- materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+ if(MaterialInventoryCount>0){
+ materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+ }else {
+ materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+ }
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("saveMaterialInventory");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
}
return saveState;
@@ -187,17 +208,26 @@
Integer offset = (pageNum - 1) * pageSize;
Map<String, Object> map = new HashMap<>();
- map.put("data", materialInventoryMapper.getSelectMaterialInventory(offset, pageSize, materialInventory));
- map.put("total", materialInventoryMapper.getSelectMaterialInventoryPageTotal(offset, pageSize, materialInventory));
+ List<Long> ids=new ArrayList<>();;
+ if(materialInventory.getStockId()!=null && !materialInventory.getStockId().isEmpty()){
+ List<String> result = StrUtil.split(materialInventory.getStockId(), '|');
+ ids=result.stream().map(Long::valueOf).collect(Collectors.toList());
+ }
+ map.put("data", materialInventoryMapper.getSelectMaterialInventory(offset, pageSize, materialInventory,ids));
+ map.put("total", materialInventoryMapper.getSelectMaterialInventoryPageTotal(offset, pageSize, materialInventory,ids));
return map;
}
public Map<String, Object> getSelectMaterialInventoryEngineering(Integer pageNum, Integer pageSize, OptimizeUse optimizeUse) {
Integer offset = (pageNum - 1) * pageSize;
- System.out.println(optimizeUse);
Map<String, Object> map = new HashMap<>();
- map.put("data", materialInventoryMapper.getSelectMaterialInventoryEngineering(offset, pageSize, optimizeUse));
- map.put("total", materialInventoryMapper.getSelectMaterialInventoryEngineeringPageTotal(offset, pageSize, optimizeUse));
+ List<Long> ids=new ArrayList<>();;
+ if(optimizeUse.getRawStockCode()!=null && !optimizeUse.getRawStockCode().isEmpty()){
+ List<String> result = StrUtil.split(optimizeUse.getRawStockCode(), '|');
+ ids=result.stream().map(Long::valueOf).collect(Collectors.toList());
+ }
+ map.put("data", materialInventoryMapper.getSelectMaterialInventoryEngineering(offset, pageSize, optimizeUse,ids));
+ map.put("total", materialInventoryMapper.getSelectMaterialInventoryEngineeringPageTotal(offset, pageSize, optimizeUse,ids));
return map;
}
@@ -221,8 +251,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("deleteMaterialOutbound");
sysErrorService.insert(sysError);
saveState = false;
@@ -295,10 +325,10 @@
List<MaterialOutboundDetail> materialOutboundDetailList = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId);
if (!materialOutboundDetailList.isEmpty()) {
for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailList) {
- if(materialOutboundDetail.getUseId()==null){
+
//淇敼鐗╂枡搴撳瓨鏁伴噺
materialInventoryMapper.updateMaterialInventoryInventoryOut(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity());
- }
+
}
}
@@ -307,10 +337,10 @@
List<MaterialOutboundDetail> materialOutboundDetailList = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId);
if (!materialOutboundDetailList.isEmpty()) {
for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailList) {
- if(materialOutboundDetail.getUseId()==null){
+
//淇敼鐗╂枡搴撳瓨鏁伴噺
materialInventoryMapper.updateMaterialInventoryInventoryInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity());
- }
+
}
}
@@ -321,8 +351,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("updateMaterialOutboundToExamine");
sysErrorService.insert(sysError);
saveState = false;
@@ -337,11 +367,12 @@
boolean saveState = true;
//璁剧疆鍥炴粴鐐�
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
- String returningId = "";
- String oddNumber;
- if (object.get("returningId") != null) {
- returningId = object.get("returningId").toString();
- }
+ try {
+ String returningId = "";
+ String oddNumber;
+ if (object.get("returningId") != null) {
+ returningId = object.get("returningId").toString();
+ }
ReturningWarehouse returningWarehouse = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), ReturningWarehouse.class);
List<ReturningWarehouseDetail> returningWarehouseDetailList = JSONArray.parseArray(JSONObject.toJSONString(object.get("returningWarehouseDetail")), ReturningWarehouseDetail.class);
//鏌ヨ鍑哄簱鍗曟槸鍚﹀瓨鍦�
@@ -423,7 +454,16 @@
}
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("saveReturningWarehouse");
+ sysErrorService.insert(sysError);
+ saveState = false;
+ }
return saveState;
}
@@ -463,7 +503,7 @@
if (!returningWarehouseDetailList.isEmpty()) {
for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailList) {
//淇敼鐗╂枡搴撳瓨鏁伴噺
- materialInventoryMapper.updateMaterialInventoryAvailableInt(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity());
+ materialInventoryMapper.updateMaterialInventoryInventoryInt(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity());
}
}
materialInventoryMapper.updateReturningWarehouseToExamine(returningId,type,reviewed);
@@ -472,7 +512,7 @@
if (!returningWarehouseDetailList.isEmpty()) {
for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailList) {
//淇敼鐗╂枡搴撳瓨鏁伴噺
- materialInventoryMapper.updateMaterialInventoryAvailableOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity());
+ materialInventoryMapper.updateMaterialInventoryInventoryOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity());
}
}
materialInventoryMapper.updateReturningWarehouseCounterExamination(returningId,type,reviewed);
@@ -482,8 +522,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("updateReturningWarehouseToExamine");
sysErrorService.insert(sysError);
saveState = false;
--
Gitblit v1.8.0