From b1b5cf4b00ddc12f624f299174a6366d2cdb2617 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 26 十二月 2025 15:20:31 +0800
Subject: [PATCH] 提交相关代码
---
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGlassShelfService.java | 669 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 669 insertions(+), 0 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGlassShelfService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGlassShelfService.java
new file mode 100644
index 0000000..4a278ba
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGlassShelfService.java
@@ -0,0 +1,669 @@
+package com.example.erp.service.mm;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.mm.*;
+import com.example.erp.entity.sd.*;
+import com.example.erp.entity.userInfo.Log;
+import com.example.erp.entity.userInfo.SysError;
+import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
+import com.example.erp.mapper.mm.FinishedGlassShelfMapper;
+import com.example.erp.mapper.mm.MaterialInventoryMapper;
+import com.example.erp.mapper.mm.MaterialStoreMapper;
+import com.example.erp.service.userInfo.LogService;
+import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+@Service
+@DS("mm")
+@Transactional(rollbackFor = Exception.class)
+public class FinishedGlassShelfService {
+ @Autowired
+ FinishedGlassShelfMapper finishedGlassShelfMapper;
+ @Autowired
+ SysErrorService sysErrorService;
+ @Autowired
+ LogService logService;
+
+ public String saveFinishedGlassShelf(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());
+
+ String userName = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
+ }
+
+ String inventoryArea = "";
+ if (object.get("inventoryArea") != null) {
+ inventoryArea = object.get("inventoryArea").toString();
+ }
+
+ int quantity = 0;
+ if (object.get("quantity") != null) {
+ quantity = Integer.valueOf(object.get("quantity").toString());
+ }
+
+ FinishedGlassShelfInformation finishedGlassShelfInformation =
+ JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), FinishedGlassShelfInformation.class);
+
+ List<FinishedGlassShelfInformation> finishedGlassShelfInformationList=finishedGlassShelfMapper
+ .getSelectFinishedGlassShelfInformation(finishedGlassShelfInformation);
+
+ if(finishedGlassShelfInformation.getId()>0){
+ finishedGlassShelfMapper.updateFinishedGlassShelfInformation(finishedGlassShelfInformation,finishedGlassShelfInformation.getId());
+ log.setFunction("saveFinishedGlassShelf淇敼1");
+ }else{
+ int index=finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationInventoryArea(inventoryArea);
+ for (int i=1;i<=quantity;i++){
+ index++;
+ finishedGlassShelfMapper.insetFinishedGlassShelfInformation(finishedGlassShelfInformation,inventoryArea+index);
+ }
+ log.setFunction("saveFinishedGlassShelf鏂板");
+
+ finishedGlassShelfMapper.insetFinishedGlassShelfLog(finishedGlassShelfInformation,quantity);
+
+ }
+
+ logService.saveLog(log);
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("saveFinishedGlassShelf");
+ sysErrorService.insert(sysError);
+ saveState = "false";
+
+ }
+ return saveState;
+
+ }
+
+ public Map<String, Object> getSelectFinishedGlassShelfInformation(Integer pageNum, Integer pageSize,String type) {
+ Integer offset = (pageNum - 1) * pageSize;
+ Map<String, Object> map = new HashMap<>();
+ if(type.equals("1")){
+ map.put("data", finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationDate(offset, pageSize));
+ map.put("total", finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationDatePageTotal(offset, pageSize));
+ }else{
+ map.put("data", finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationDateDetail(offset, pageSize));
+ map.put("total", finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationDateDetailPageTotal(offset, pageSize));
+ }
+ return map;
+ }
+
+ public Map<String, Object> getSelectFinishedGlassShelfInformationById(Long id) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationById(id));
+ return map;
+ }
+
+
+ public String deleteFinishedGlassShelfInformationById(Map<String,Object> object) {
+ String saveState = "true";
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ Long id = 0l;
+ if (object.get("id") != null) {
+ id = Long.valueOf(object.get("id").toString());
+ }
+
+ finishedGlassShelfMapper.deleteFinishedGlassShelfInformationById(id);
+
+ Log log = new Log();
+ log.setOperatorId(object.get("userId").toString());
+ log.setOperator(object.get("userName").toString());
+ log.setContent(object.toString());
+ log.setFunction("deleteFinishedGlassShelfInformationById鍒犻櫎锛�"+id);
+ logService.saveLog(log);
+
+
+
+ } catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("eleteFinishedGlassShelfInformationById");
+ sysErrorService.insert(sysError);
+ saveState = "false";
+
+ }
+ return saveState;
+
+ }
+
+ public Map<String, Object> getSelectFinishedGlassShelfInformationDetails(Integer pageNum, Integer pageSize, List<Map<String, Object>> object) {
+
+ Map<String, Object> map = new HashMap<>();
+ List<Map<String, Object>> mapList=new ArrayList<>();
+ for(Map<String, Object> objectMap:object){
+ mapList.add(finishedGlassShelfMapper.getSelectFinishedGlassShelfInformationInId(
+ objectMap.get("glassShelfName").toString(),
+ Double.parseDouble(objectMap.get("price").toString()),
+ objectMap.get("unit").toString(),
+ Double.parseDouble(objectMap.get("weight").toString()),
+ Double.parseDouble(objectMap.get("width").toString()),
+ Double.parseDouble(objectMap.get("height").toString())
+ ));
+
+ }
+ map.put("data", mapList);
+ return map;
+ }
+
+ public Map<String, Object> getSelectFinishedGlassShelfEmitDetails(Integer pageNum, Integer pageSize, String emitId) {
+ if (emitId.startsWith("\"") && emitId.endsWith("\"")) {
+ emitId = emitId.substring(1, emitId.length() - 1); // 鍘婚櫎棣栧熬寮曞彿
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("emit", finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitByemitId(emitId));
+ map.put("data", finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitDetailsByemitId(emitId));
+ return map;
+ }
+
+
+ public String insertFinishedGlassShelfEmit(Map<String,Object> object) {
+
+ String saveState = "true";
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+
+ try {
+ String emitId="";
+ String oddNumber = null;
+ if (object.get("emitId") != null) {
+ emitId = object.get("emitId").toString();
+ } else {
+ emitId = "";
+ }
+ FinishedGlassShelfEmit finishedGlassShelfEmit = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), FinishedGlassShelfEmit.class);
+ List<FinishedGlassShelfEmitDetails> finishedGlassShelfEmitDetailsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("emitDetails")), FinishedGlassShelfEmitDetails.class);
+ //鏌ヨ鍑哄簱鍗曟槸鍚﹀瓨鍦�
+ FinishedGlassShelfEmit finishedGlassShelfEmit2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitByemitId(emitId);
+
+ Log log = new Log();
+ log.setOperator(object.get("userName").toString());
+ log.setOperatorId(object.get("userId").toString());
+ log.setContent(object.toString());
+
+ if (finishedGlassShelfEmit2 != null) {
+ //缂栬緫杩樺師鏁版嵁
+ List<FinishedGlassShelfEmitDetails> finishedGlassShelfEmitDetailsList2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitDetailsByemitId1(emitId);
+ if (!finishedGlassShelfEmitDetailsList2.isEmpty()) {
+ for (FinishedGlassShelfEmitDetails finishedGlassShelfEmitDetails : finishedGlassShelfEmitDetailsList2) {
+ finishedGlassShelfMapper.updateInformationAvailableQuantityInt(
+ finishedGlassShelfEmitDetails.getMaxWeight(),
+ finishedGlassShelfEmitDetails.getMaxWidth(),
+ finishedGlassShelfEmitDetails.getMaxHeight(),
+ finishedGlassShelfEmitDetails.getQuantity(),
+ finishedGlassShelfEmitDetails.getPrice(),
+ finishedGlassShelfEmitDetails.getUnit(),
+ finishedGlassShelfEmitDetails.getGlassShelfName());
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetails(emitId);
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetailsLog(emitId);
+ }
+ }
+
+ oddNumber = emitId;
+ finishedGlassShelfMapper.updateFinishedGlassShelfEmit(finishedGlassShelfEmit, oddNumber);
+ log.setFunction("insertEmit淇敼:"+oddNumber);
+ } else {
+ //鑾峰彇鍗曞彿
+ oddNumber = orderNumberSetting("鍑哄簱");
+ //鏂板鍑哄簱鏁版嵁
+ finishedGlassShelfMapper.insertFinishedGlassShelfEmit(finishedGlassShelfEmit, oddNumber);
+ log.setFunction("insertFinishedGlassShelfEmit鏂板:"+oddNumber);
+ }
+
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ if (finishedGlassShelfEmitDetailsList.size()>0) {
+ int index=1;
+ for (FinishedGlassShelfEmitDetails finishedGlassShelfEmitDetails:finishedGlassShelfEmitDetailsList){
+ finishedGlassShelfEmitDetails.setMoney(finishedGlassShelfEmitDetails.getPrice()*finishedGlassShelfEmitDetails.getQuantity());
+ finishedGlassShelfMapper.updateInformationAvailableQuantityOut(
+ finishedGlassShelfEmitDetails.getMaxWeight(),
+ finishedGlassShelfEmitDetails.getMaxWidth(),
+ finishedGlassShelfEmitDetails.getMaxHeight(),
+ finishedGlassShelfEmitDetails.getQuantity(),
+ finishedGlassShelfEmitDetails.getPrice(),
+ finishedGlassShelfEmitDetails.getUnit(),
+ finishedGlassShelfEmitDetails.getGlassShelfName());
+ finishedGlassShelfMapper.insertFinishedGlassShelfEmitDetails(oddNumber,index,finishedGlassShelfEmitDetails);
+ finishedGlassShelfMapper.insertFinishedGlassShelfEmitDetailsLog(
+ oddNumber,
+ index,
+ 1,
+ finishedGlassShelfEmitDetails.getQuantity(),
+ finishedGlassShelfEmitDetails.getPrice(),
+ finishedGlassShelfEmitDetails.getMoney(),
+ finishedGlassShelfEmitDetails.getUnit(),
+ finishedGlassShelfEmitDetails.getRemarks(),
+ finishedGlassShelfEmitDetails.getMaxWeight(),
+ finishedGlassShelfEmitDetails.getMaxWidth(),
+ finishedGlassShelfEmitDetails.getMaxHeight(),
+ finishedGlassShelfEmitDetails.getGlassShelfName(),
+ object.get("userName").toString()
+ );
+ index++;
+ }
+ logService.saveLog(log);
+ } else {
+ return "false3";
+ }
+ }catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("insertFinishedGlassShelfEmit");
+ sysErrorService.insert(sysError);
+ saveState = "false4";
+
+ }
+
+ return saveState;
+ }
+
+
+ public Map<String, Object> getSelectFinishedGlassShelfEmit(Integer pageNum, Integer pageSize,List<String> selectDate,
+ FinishedGlassShelfEmit finishedGlassShelfEmit) throws JsonProcessingException {
+ 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", finishedGlassShelfMapper.getSelectFinishedGlassShelfEmit(offset, pageSize,startDate,endDate, finishedGlassShelfEmit));
+ map.put("total", finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitPageTotal(offset, pageSize,startDate,endDate, finishedGlassShelfEmit));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+
+ public String deleteFinishedGlassShelfEmit(Map<String,Object> object) {
+ String saveState = "true";
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String emitId = "";
+ if (object.get("emitId") != null) {
+ emitId = object.get("emitId").toString();
+ }
+ FinishedGlassShelfEmit finishedGlassShelfEmit2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitByemitId(emitId);
+
+ if (finishedGlassShelfEmit2 != null) {
+
+ if(finishedGlassShelfEmit2.getState()==0){
+ //缂栬緫杩樺師鏁版嵁
+ List<FinishedGlassShelfEmitDetails> finishedGlassShelfEmitDetailsList2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfEmitDetailsByemitId1(emitId);
+ if (!finishedGlassShelfEmitDetailsList2.isEmpty()) {
+ for (FinishedGlassShelfEmitDetails finishedGlassShelfEmitDetails : finishedGlassShelfEmitDetailsList2) {
+ finishedGlassShelfMapper.updateInformationAvailableQuantityInt(
+ finishedGlassShelfEmitDetails.getMaxWeight(),
+ finishedGlassShelfEmitDetails.getMaxWidth(),
+ finishedGlassShelfEmitDetails.getMaxHeight(),
+ finishedGlassShelfEmitDetails.getQuantity(),
+ finishedGlassShelfEmitDetails.getPrice(),
+ finishedGlassShelfEmitDetails.getUnit(),
+ finishedGlassShelfEmitDetails.getGlassShelfName());
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetailsLog(emitId);
+ }
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetails(emitId);
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmit(emitId);
+ }
+ }else{
+ saveState = "false1";
+ }
+
+ }
+
+
+ Log log = new Log();
+ log.setOperatorId(object.get("userId").toString());
+ log.setOperator(object.get("userName").toString());
+ log.setContent(object.toString());
+ log.setFunction("deleteFinishedGlassShelfEmit鍒犻櫎:"+emitId);
+ logService.saveLog(log);
+
+ }catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("deleteFinishedGlassShelfEmit");
+ sysErrorService.insert(sysError);
+ saveState = "false";
+
+ }
+ return saveState;
+
+ }
+
+
+ public String insertFinishedGlassShelfWithdraw(Map<String,Object> object) {
+
+ String saveState = "true";
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+
+ try {
+ String withdrawId="";
+ String oddNumber = null;
+ if (object.get("withdrawId") != null) {
+ withdrawId = object.get("withdrawId").toString();
+ } else {
+ withdrawId = "";
+ }
+ FinishedGlassShelfWithdraw finishedGlassShelfWithdraw = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), FinishedGlassShelfWithdraw.class);
+ List<FinishedGlassShelfWithdrawDetails> finishedGlassShelfWithdrawDetailsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("withdrawDetails")), FinishedGlassShelfWithdrawDetails.class);
+ //鏌ヨ鍏ュ簱鍗曟槸鍚﹀瓨鍦�
+ FinishedGlassShelfWithdraw finishedGlassShelfWithdraw2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdrawByemitId(withdrawId);
+
+ Log log = new Log();
+ log.setOperator(object.get("userName").toString());
+ log.setOperatorId(object.get("userId").toString());
+ log.setContent(object.toString());
+
+ if (finishedGlassShelfWithdraw2 != null) {
+ //缂栬緫杩樺師鏁版嵁
+ List<FinishedGlassShelfWithdrawDetails> finishedGlassShelfWithdrawDetailsList2 = finishedGlassShelfMapper
+ .getSelectFinishedGlassShelfWithdrawDetailsBywithdrawId1(withdrawId);
+ if (!finishedGlassShelfWithdrawDetailsList2.isEmpty()) {
+ for (FinishedGlassShelfWithdrawDetails finishedGlassShelfWithdrawDetails : finishedGlassShelfWithdrawDetailsList2) {
+ finishedGlassShelfMapper.updateEmitDetailsWithdrawQuantityOut(finishedGlassShelfWithdrawDetails);
+ finishedGlassShelfMapper.updateInformationAvailableQuantityOut(
+ finishedGlassShelfWithdrawDetails.getMaxWeight(),
+ finishedGlassShelfWithdrawDetails.getMaxWidth(),
+ finishedGlassShelfWithdrawDetails.getMaxHeight(),
+ finishedGlassShelfWithdrawDetails.getQuantity(),
+ finishedGlassShelfWithdrawDetails.getPrice(),
+ finishedGlassShelfWithdrawDetails.getUnit(),
+ finishedGlassShelfWithdrawDetails.getGlassShelfName()
+ );
+ finishedGlassShelfMapper.deleteFinishedGlassShelfWithdrawDetails(withdrawId);
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetailsLog(withdrawId);
+ }
+ }
+
+ oddNumber = withdrawId;
+ finishedGlassShelfMapper.updateFinishedGlassShelfWithdraw(finishedGlassShelfWithdraw, oddNumber);
+ log.setFunction("insertWithdraw淇敼:"+oddNumber);
+ } else {
+ //鑾峰彇鍗曞彿
+ oddNumber = orderNumberSetting("鍏ュ簱");
+ //鏂板鍑哄簱鏁版嵁
+ finishedGlassShelfMapper.insertFinishedGlassShelfWithdraw(finishedGlassShelfWithdraw, oddNumber);
+ log.setFunction("insertFinishedGlassShelfWithdraw鏂板:"+oddNumber);
+ }
+
+ //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+ if (finishedGlassShelfWithdrawDetailsList.size()>0) {
+ int index=1;
+ for (FinishedGlassShelfWithdrawDetails finishedGlassShelfWithdrawDetails:finishedGlassShelfWithdrawDetailsList){
+ if(finishedGlassShelfWithdrawDetails.getQuantity()>0){
+ finishedGlassShelfWithdrawDetails.setMoney(finishedGlassShelfWithdrawDetails.getPrice()*finishedGlassShelfWithdrawDetails.getQuantity());
+ finishedGlassShelfMapper.updateEmitDetailsWithdrawQuantityInt(finishedGlassShelfWithdrawDetails);
+ finishedGlassShelfMapper.updateInformationAvailableQuantityInt(
+ finishedGlassShelfWithdrawDetails.getMaxWeight(),
+ finishedGlassShelfWithdrawDetails.getMaxWidth(),
+ finishedGlassShelfWithdrawDetails.getMaxHeight(),
+ finishedGlassShelfWithdrawDetails.getQuantity(),
+ finishedGlassShelfWithdrawDetails.getPrice(),
+ finishedGlassShelfWithdrawDetails.getUnit(),
+ finishedGlassShelfWithdrawDetails.getGlassShelfName()
+ );
+ finishedGlassShelfMapper.insertFinishedGlassShelfWithdrawDetails(oddNumber,index,finishedGlassShelfWithdrawDetails);
+ finishedGlassShelfMapper.insertFinishedGlassShelfEmitDetailsLog(
+ oddNumber,
+ index,
+ 2,
+ finishedGlassShelfWithdrawDetails.getQuantity(),
+ finishedGlassShelfWithdrawDetails.getPrice(),
+ finishedGlassShelfWithdrawDetails.getMoney(),
+ finishedGlassShelfWithdrawDetails.getUnit(),
+ finishedGlassShelfWithdrawDetails.getRemarks(),
+ finishedGlassShelfWithdrawDetails.getMaxWeight(),
+ finishedGlassShelfWithdrawDetails.getMaxWidth(),
+ finishedGlassShelfWithdrawDetails.getMaxHeight(),
+ finishedGlassShelfWithdrawDetails.getGlassShelfName(),
+ object.get("userName").toString()
+ );
+ index++;
+ }
+
+ }
+ getUpdateFinishedGlassShelfEmitState(finishedGlassShelfWithdrawDetailsList.get(0).getEmitId());
+ logService.saveLog(log);
+ } else {
+ return "false3";
+ }
+ }catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("insertFinishedGlassShelfWithdraw");
+ sysErrorService.insert(sysError);
+ saveState = "false4";
+
+ }
+
+ return saveState;
+ }
+
+ public void getUpdateFinishedGlassShelfEmitState(String emitId) {
+ List<FinishedGlassShelfEmitDetails> finishedGlassShelfEmitDetailsList2 = finishedGlassShelfMapper
+ .getSelectFinishedGlassShelfEmitDetailsByemitId1(emitId);
+ int sumWithdrawQuantity=0;
+ finishedGlassShelfMapper.updateFinishedGlassShelfEmitState(2,emitId);
+ for(FinishedGlassShelfEmitDetails finishedGlassShelfEmitDetails:finishedGlassShelfEmitDetailsList2){
+ sumWithdrawQuantity+=finishedGlassShelfEmitDetails.getWithdrawQuantity();
+ if(finishedGlassShelfEmitDetails.getQuantity()!=finishedGlassShelfEmitDetails.getWithdrawQuantity()){
+ finishedGlassShelfMapper.updateFinishedGlassShelfEmitState(1,emitId);
+ }
+ }
+ if(sumWithdrawQuantity==0){
+ finishedGlassShelfMapper.updateFinishedGlassShelfEmitState(0,emitId);
+ }
+ }
+
+
+ public Map<String, Object> getSelectFinishedGlassShelfWithdraw(Integer pageNum, Integer pageSize,List<String> selectDate,
+ FinishedGlassShelfWithdraw finishedGlassShelfWithdraw) throws JsonProcessingException {
+ 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", finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdraw(offset, pageSize,startDate,endDate, finishedGlassShelfWithdraw));
+ map.put("total", finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdrawPageTotal(offset, pageSize,startDate,endDate, finishedGlassShelfWithdraw));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+ public Map<String, Object> getSelectFinishedGlassShelfWithdrawDetails(Integer pageNum, Integer pageSize, String withdrawId) {
+ if (withdrawId.startsWith("\"") && withdrawId.endsWith("\"")) {
+ withdrawId = withdrawId.substring(1, withdrawId.length() - 1); // 鍘婚櫎棣栧熬寮曞彿
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("withdraw", finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdrawByemitId(withdrawId));
+ map.put("data", finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdrawDetailsBywithdrawId(withdrawId));
+ return map;
+ }
+
+
+ public String deleteFinishedGlassShelfWithdraw(Map<String,Object> object) {
+ String saveState = "true";
+ //璁剧疆鍥炴粴鐐�
+ Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+ try {
+ String withdrawId = "";
+ if (object.get("withdrawId") != null) {
+ withdrawId = object.get("withdrawId").toString();
+ }
+ FinishedGlassShelfWithdraw finishedGlassShelfWithdraw2 = finishedGlassShelfMapper.getSelectFinishedGlassShelfWithdrawByemitId(withdrawId);
+
+ if (finishedGlassShelfWithdraw2 != null) {
+ //缂栬緫杩樺師鏁版嵁
+ List<FinishedGlassShelfWithdrawDetails> finishedGlassShelfWithdrawDetailsList2 = finishedGlassShelfMapper
+ .getSelectFinishedGlassShelfWithdrawDetailsBywithdrawId1(withdrawId);
+ if (!finishedGlassShelfWithdrawDetailsList2.isEmpty()) {
+ for (FinishedGlassShelfWithdrawDetails finishedGlassShelfWithdrawDetails : finishedGlassShelfWithdrawDetailsList2) {
+ finishedGlassShelfMapper.updateEmitDetailsWithdrawQuantityOut(finishedGlassShelfWithdrawDetails);
+ finishedGlassShelfMapper.updateInformationAvailableQuantityOut(
+ finishedGlassShelfWithdrawDetails.getMaxWeight(),
+ finishedGlassShelfWithdrawDetails.getMaxWidth(),
+ finishedGlassShelfWithdrawDetails.getMaxHeight(),
+ finishedGlassShelfWithdrawDetails.getQuantity(),
+ finishedGlassShelfWithdrawDetails.getPrice(),
+ finishedGlassShelfWithdrawDetails.getUnit(),
+ finishedGlassShelfWithdrawDetails.getGlassShelfName()
+ );
+ finishedGlassShelfMapper.deleteFinishedGlassShelfEmitDetailsLog(withdrawId);
+ }
+
+ finishedGlassShelfMapper.deleteFinishedGlassShelfWithdrawDetails(withdrawId);
+ finishedGlassShelfMapper.deleteFinishedGlassShelfWithdraw(withdrawId);
+ getUpdateFinishedGlassShelfEmitState(finishedGlassShelfWithdrawDetailsList2.get(0).getEmitId());
+ }
+
+
+ }
+
+
+ Log log = new Log();
+ log.setOperatorId(object.get("userId").toString());
+ log.setOperator(object.get("userName").toString());
+ log.setContent(object.toString());
+ log.setFunction("deleteFinishedGlassShelfWithdraw鍒犻櫎:"+withdrawId);
+ logService.saveLog(log);
+
+ return "true";
+ }catch (Exception e) {
+ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+ //灏嗗紓甯镐紶鍏ユ暟鎹簱
+ SysError sysError = new SysError();
+ sysError.setError(e+Arrays.toString(e.getStackTrace()));
+ sysError.setFunc("deleteFinishedGlassShelfWithdraw");
+ sysErrorService.insert(sysError);
+ saveState = "false";
+
+ }
+ return saveState;
+
+ }
+
+
+ public Map<String, Object> getFinishedGlassShelfLogReport(String type,Integer pageNum, Integer pageSize,
+ List<String> selectDate, FinishedGlassShelfLog finishedGlassShelfLog) {
+ 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);
+ }
+ }
+ int state=0;
+ if(type.equals("鏂欐灦鍑哄簱")){
+ state=1;
+ }else if(type.equals("鏂欐灦鍏ュ簱")){
+ state=2;
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ System.out.println(finishedGlassShelfLog.getDocumentId());
+ map.put("data", finishedGlassShelfMapper.getFinishedGlassShelfLogReport(offset, pageSize,startDate, endDate, finishedGlassShelfLog,state));
+ map.put("total", finishedGlassShelfMapper.getFinishedGlassShelfLogReportTotal(offset, pageSize,startDate, endDate, finishedGlassShelfLog,state));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+ return map;
+ }
+
+ public List<FinishedGlassShelfLog> exportFinishedGlassShelfLogReport(List<LocalDate> dates, String type) {
+ int state=0;
+ if(type.equals("鏂欐灦鍑哄簱")){
+ state=1;
+ }else if(type.equals("鏂欐灦鍏ュ簱")){
+ state=2;
+ }
+ return finishedGlassShelfMapper.exportFinishedGlassShelfLogReport(dates,state);
+ }
+
+
+
+
+ public String orderNumberSetting(String type) {
+ //鏍规嵁绫诲瀷鑷姩鐢熸垚涓嶅悓鐨勬搷浣滃崟鍙�
+ String alias="";
+ Integer maximum=0;
+ if(Objects.equals(type, "鍏ュ簱")){
+ alias="RK";
+ maximum=finishedGlassShelfMapper.getmaximumWithdraw();
+ }else if(Objects.equals(type, "鍑哄簱")){
+ alias="CK";
+ maximum=finishedGlassShelfMapper.getmaximumEmit();
+ }
+ //璁剧疆涓や綅涓嶅琛�0
+ String formattedNumber = String.format("%02d", maximum+1);
+ //鏍煎紡鍖栧綋鍓嶆棩鏈�
+ Date currentDate = new Date();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
+ String formattedDate = dateFormat.format(currentDate);
+ String oddNumbers = alias+formattedDate+formattedNumber;
+ return oddNumbers;
+ }
+
+
+}
--
Gitblit v1.8.0