From c2ad18d09d62ec9922fe234c7d141258f2acf577 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 28 三月 2025 08:10:27 +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/MaterialInventoryService.java | 73 ++++++++++++++++++++++++++++++++++--
1 files changed, 68 insertions(+), 5 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 f3c8ce6..1be42c5 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
@@ -201,21 +201,22 @@
//鏌ヨ鐗╂枡鏄惁瀛樺湪
- Integer MaterialInventoryCount=0;
+ List<MaterialInventory> MaterialInventoryCount;
if (materialInventory.getDateOfManufacture()!=null){
MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
}else{
MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode);
}
- if(MaterialInventoryCount==1){
+ if(MaterialInventoryCount.size()==1){
+ materialInventory.setId(MaterialInventoryCount.get(0).getId());
if (materialInventory.getDateOfManufacture()!=null){
materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
}else{
materialInventoryMapper.updateMaterialInventoryNull(materialCode,singlePieceArea,totalArea,materialInventory);
}
log.setFunction("saveMaterialInventory淇敼");
- }else if(MaterialInventoryCount==0) {
+ }else if(MaterialInventoryCount.isEmpty()) {
materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
log.setFunction("saveMaterialInventory鏂板");
}else {
@@ -226,6 +227,9 @@
MaterialStore materialStore=materialStoreMapper.getSelectMaterialStoreById(materialCode);
json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1);
MaterialLog materialLog=new MaterialLog();
+ if(materialInventory.getDateOfManufacture()!=null){
+ materialLog.setOperationOrderNumber(materialInventory.getDateOfManufacture().toString());
+ }
materialLog.setOperateType("鐗╂枡鏂板");
materialLog.setMaterialCode(materialCode);
materialLog.setMaterialName(convertString(json,"\"name\""));
@@ -598,7 +602,7 @@
//鏌ヨ鐗╂枡鏄惁瀛樺湪
- Integer MaterialInventoryCount=0;
+ List<MaterialInventory> MaterialInventoryCount;
if (returningWarehouseDetail.getDateOfManufacture()!=null){
MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture());
}else{
@@ -606,7 +610,7 @@
}
- if(MaterialInventoryCount>0){
+ if(!MaterialInventoryCount.isEmpty()){
if (returningWarehouseDetail.getDateOfManufacture()!=null){
materialInventoryMapper.updateMaterialInventoryReturning(returningWarehouseDetail.getId(),singlePieceArea,totalArea,returningWarehouseDetail);
}else{
@@ -1018,6 +1022,65 @@
}
+ public String cancelMaterialAdditionRecord(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<MaterialLog> materialLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("materialAdd")), MaterialLog.class);
+ if (!materialLoglist.isEmpty()){
+ for (MaterialLog materialLog : materialLoglist) {
+
+ //鏌ヨ鐗╂枡鏄惁瀛樺湪
+ List<MaterialInventory> MaterialInventoryList;
+ if (materialLog.getOperationOrderNumber()!=null){
+ MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCount(materialLog.getMaterialCode(), LocalDate.parse(materialLog.getOperationOrderNumber()));
+ }else{
+ MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCountNull(materialLog.getMaterialCode());
+ }
+
+ if(MaterialInventoryList.size()==1){
+ if(MaterialInventoryList.get(0).getAvailableQuantity()>=materialLog.getQuantity()){
+ if (materialLog.getOperationOrderNumber()!=null){
+ materialInventoryMapper.updateMaterialInventoryOut(materialLog.getMaterialCode(),materialLog.getQuantity(),materialLog.getOperationOrderNumber());
+ }else{
+ materialInventoryMapper.updateMaterialInventoryNullOut(materialLog.getMaterialCode(),materialLog.getQuantity());
+ }
+ materialInventoryMapper.deleteMaterialLogById(materialLog.getId());
+ }else{
+ return "false1";
+ }
+
+ }else{
+ return "false2";
+ }
+
+
+ }
+
+ }
+ logService.saveLog(log);
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("cancelFinishedGoodsInventoryStorage");
+ sysErrorService.insert(sysError);
+ saveState = "false";
+
+ }
+ return saveState;
+
+ }
+
+
--
Gitblit v1.8.0