From 93b80ffb7f7ffc02bc414271b8ebeac82be6bcb9 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 11 十一月 2024 16:29:00 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 166 insertions(+), 12 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 09719d5..41cb646 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
@@ -4,6 +4,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.*;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.pp.OptimizeUse;
@@ -14,6 +15,7 @@
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
import com.example.erp.mapper.mm.MaterialInventoryMapper;
+import com.example.erp.mapper.mm.MaterialLogMapper;
import com.example.erp.mapper.mm.MaterialStoreMapper;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
@@ -44,6 +46,8 @@
SysErrorService sysErrorService;
@Autowired
LogService logService;
+ @Autowired
+ MaterialLogMapper materialLogMapper;
public String saveMaterialOutbound(Map<String,Object> object) {
String saveState = "true";
@@ -111,6 +115,28 @@
//淇敼鐗╂枡搴撳瓨琛ㄥ嚭搴撴暟閲�
materialInventoryMapper.updateMaterialInventoryAvailableOut(materialOutboundDetail.getId(), materialOutboundDetail.getOutboundQuantity());
}*/
+ String json="";
+ MaterialStore materialStore=materialStoreMapper.getSelectMaterialStoreById(Long.valueOf(materialOutboundDetail.getMaterialCode()));
+ json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1);
+ MaterialLog materialLog=new MaterialLog();
+ materialLog.setOperationOrderNumber(oddNumber);
+ materialLog.setOperationNumber(materialOutboundDetailMaximum + 1);
+ materialLog.setOperateType("鐗╂枡鍑哄簱");
+ materialLog.setMaterialCode(Long.valueOf(materialOutboundDetail.getMaterialCode()));
+ materialLog.setMaterialName(convertString(json,"\"name\""));
+ materialLog.setProducer(materialInventory.getProducer());
+ materialLog.setUnit(convertString(json,"\"unit\""));
+ materialLog.setWidth(convertDouble(json,"\"width\""));
+ materialLog.setHeight(convertDouble(json,"\"height\""));
+ materialLog.setThickness(convertDouble(json,"\"thickness\""));
+ materialLog.setQuantity(materialOutboundDetail.getOutboundQuantity());
+ materialLog.setSinglePieceArea(materialOutboundDetail.getSinglePieceArea());
+ materialLog.setInventoryId(materialOutboundDetail.getId());
+ materialLog.setInventoryArea(materialInventory.getInventoryArea());
+ materialLog.setRemarks(materialOutboundDetail.getRemarks());
+ materialLog.setOperator(object.get("userName").toString());
+ materialLog.setOperateTime(LocalDate.now());
+ materialLogMapper.insert(materialLog);
}else{
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
return "false1";
@@ -138,8 +164,8 @@
}
- public Boolean saveMaterialInventory(Map<String,Object> object) {
- boolean saveState = true;
+ public String saveMaterialInventory(Map<String,Object> object) {
+ String saveState = "true";
//璁剧疆鍥炴粴鐐�
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
try {
@@ -162,16 +188,49 @@
MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
- //鏌ヨ鐗╂枡鏄惁瀛樺湪
- Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
- if(MaterialInventoryCount>0){
- materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+ //鏌ヨ鐗╂枡鏄惁瀛樺湪
+ Integer MaterialInventoryCount=0;
+ if (materialInventory.getDateOfManufacture()!=null){
+ MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
+ }else{
+ MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode);
+ }
+
+ if(MaterialInventoryCount==1){
+ if (materialInventory.getDateOfManufacture()!=null){
+ materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+ }else{
+ materialInventoryMapper.updateMaterialInventoryNull(materialCode,singlePieceArea,totalArea,materialInventory);
+ }
log.setFunction("saveMaterialInventory淇敼");
- }else {
+ }else if(MaterialInventoryCount==0) {
materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
log.setFunction("saveMaterialInventory鏂板");
+ }else {
+ return "false1";
}
+
+ String json="";
+ MaterialStore materialStore=materialStoreMapper.getSelectMaterialStoreById(materialCode);
+ json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1);
+ MaterialLog materialLog=new MaterialLog();
+ materialLog.setOperateType("鐗╂枡鏂板");
+ materialLog.setMaterialCode(materialCode);
+ materialLog.setMaterialName(convertString(json,"\"name\""));
+ materialLog.setProducer(materialInventory.getProducer());
+ materialLog.setUnit(convertString(json,"\"unit\""));
+ materialLog.setWidth(convertDouble(json,"\"width\""));
+ materialLog.setHeight(convertDouble(json,"\"height\""));
+ materialLog.setThickness(convertDouble(json,"\"thickness\""));
+ materialLog.setQuantity(materialInventory.getInventoryQuantity());
+ materialLog.setSinglePieceArea(singlePieceArea);
+ materialLog.setInventoryId(materialInventory.getId());
+ materialLog.setInventoryArea(materialInventory.getInventoryArea());
+ materialLog.setRemarks(materialInventory.getRemarks());
+ materialLog.setOperator(object.get("userName").toString());
+ materialLog.setOperateTime(LocalDate.now());
+ materialLogMapper.insert(materialLog);
logService.saveLog(log);
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -180,7 +239,7 @@
sysError.setError(e+Arrays.toString(e.getStackTrace()));
sysError.setFunc("saveMaterialInventory");
sysErrorService.insert(sysError);
- saveState = false;
+ saveState = "false";
}
return saveState;
@@ -270,12 +329,49 @@
if(materialOutboundId!=null){
materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId);
materialInventoryMapper.deleteMaterialOutbound(materialOutboundId);
+ materialInventoryMapper.deleteMaterialLog(materialOutboundId);
}
Log log = new Log();
log.setContent(object.toString());
log.setOperatorId(object.get("userId").toString());
log.setOperator(object.get("userName").toString());
log.setFunction("deleteMaterialOutbound鍒犻櫎:"+materialOutboundId);
+ logService.saveLog(log);
+
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("deleteMaterialOutbound");
+ sysErrorService.insert(sysError);
+ saveState = false;
+
+ }
+ return saveState;
+
+ }
+
+ public Boolean deleteReturnToStorage(Map<String,Object> object) {
+ boolean saveState = true;
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String returningId = "";
+ if (object.get("returningId") != null) {
+ returningId = object.get("returningId").toString();
+ }
+ if(returningId!=null){
+ materialInventoryMapper.deleteReturningWarehouseDetail(returningId);
+ materialInventoryMapper.deleteReturningWarehouse(returningId);
+ materialInventoryMapper.deleteMaterialLog(returningId);
+ }
+ Log log = new Log();
+ log.setContent(object.toString());
+ log.setOperatorId(object.get("userId").toString());
+ log.setOperator(object.get("userName").toString());
+ log.setFunction("deleteReturnToStorage:"+returningId);
logService.saveLog(log);
@@ -456,8 +552,8 @@
json=materialStore.getJson().substring(1, materialStore.getJson().length() - 1);
- double width= convert(json,"\"width\"");
- double height=convert(json,"\"height\"");
+ double width= convertDouble(json,"\"width\"");
+ double height= convertDouble(json,"\"height\"");
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
singlePieceArea= Double.parseDouble(decimalFormat.format(width * height / 100000));
totalArea= Double.parseDouble(decimalFormat.format(singlePieceArea * returningWarehouseDetail.getReturnQuantity()));
@@ -493,6 +589,25 @@
materialInventoryMapper.updateReturningWarehouseDetail(oddNumber, returningWarehouseDetailMaximum + 1,MaterialInventoryId.get(0).getId());
+
+ MaterialLog materialLog=new MaterialLog();
+ materialLog.setOperationOrderNumber(oddNumber);
+ materialLog.setOperationNumber(returningWarehouseDetailMaximum + 1);
+ materialLog.setOperateType("鐗╂枡杩斿簱");
+ materialLog.setMaterialCode(returningWarehouseDetail.getId());
+ materialLog.setMaterialName(convertString(json,"\"name\""));
+ materialLog.setProducer(returningWarehouseDetail.getProducer());
+ materialLog.setUnit(convertString(json,"\"unit\""));
+ materialLog.setWidth(convertDouble(json,"\"width\""));
+ materialLog.setHeight(convertDouble(json,"\"height\""));
+ materialLog.setThickness(convertDouble(json,"\"thickness\""));
+ materialLog.setQuantity(returningWarehouseDetail.getReturnQuantity());
+ materialLog.setSinglePieceArea(singlePieceArea);
+ materialLog.setInventoryArea(returningWarehouseDetail.getInventoryArea());
+ materialLog.setRemarks(returningWarehouseDetail.getRemarks());
+ materialLog.setOperator(object.get("userName").toString());
+ materialLog.setOperateTime(LocalDate.now());
+ materialLogMapper.insert(materialLog);
}
@@ -690,6 +805,33 @@
return map;
}
+ public Map<String, Object> getMaterialLogReport(String type,Integer pageNum, Integer pageSize, List<String> selectDate, MaterialLog materialLog) {
+ 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", materialInventoryMapper.getMaterialLogReport(offset, pageSize,startDate, endDate, materialLog,type));
+ map.put("total", materialInventoryMapper.getMaterialLogReportTotal(offset, pageSize,startDate, endDate, materialLog,type));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+ public List<MaterialLog> exportMaterialLogReport(List<LocalDate> dates, String type) {
+ return materialInventoryMapper.exportMaterialLogReport(dates,type);
+ }
+
@@ -719,7 +861,7 @@
}
- public double convert(String json,String string) {
+ public String convertString(String json,String string) {
Map<String, Object> map = new HashMap<>();
String[] keyValues = json.split(",");
for (String keyValue : keyValues) {
@@ -728,7 +870,19 @@
map.put(pair[0], pair[1]);
}
}
- double number=0.0;
+ return map.get(string).toString().replace("\"","");
+ }
+
+ public Double convertDouble(String json,String string) {
+ Map<String, Object> map = new HashMap<>();
+ String[] keyValues = json.split(",");
+ for (String keyValue : keyValues) {
+ String[] pair = keyValue.split(":");
+ if (pair.length == 2) {
+ map.put(pair[0], pair[1]);
+ }
+ }
+ Double number=0.0;
if(map.get(string)!=null){
String[] widthStrings = map.get(string).toString().split("\\D+");
for (String numberString : widthStrings) {
--
Gitblit v1.8.0