From 70a9b5ca60bafe50da533513f99b990147968a93 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 09 十二月 2025 10:11:47 +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 |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 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 86fc231..8e410c2 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,22 +1,14 @@
 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.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.example.erp.common.Constants;
-import com.example.erp.dto.mm.FinishedOperateLogDTO;
+import com.example.erp.dto.mm.MaterialLogDTO;
 import com.example.erp.entity.mm.*;
 import com.example.erp.entity.pp.*;
-import com.example.erp.entity.sd.Delivery;
-import com.example.erp.entity.sd.DeliveryDetail;
-import com.example.erp.entity.sd.OrderDetail;
-import com.example.erp.entity.sd.OrderProcessDetail;
 import com.example.erp.entity.userInfo.Log;
 import com.example.erp.entity.userInfo.SysError;
-import com.example.erp.exception.ServiceException;
 import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
 import com.example.erp.mapper.mm.MaterialInventoryMapper;
 import com.example.erp.mapper.mm.MaterialLogMapper;
@@ -28,7 +20,6 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -36,6 +27,9 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 @Service
@@ -875,8 +869,15 @@
         return map;
     }
 
-    public List<MaterialLog> exportMaterialLogReport(List<LocalDate> dates, String type) {
-        return materialInventoryMapper.exportMaterialLogReport(dates,type);
+    public List<MaterialLogDTO> exportMaterialLogReport(List<LocalDate> dates, String type) {
+        if(type.equals("鐗╂枡鍑哄簱")){
+            return materialInventoryMapper.exportMaterialLogReport(dates,type);
+        }else if(type.equals("浼樺寲鍑哄簱")){
+            return materialInventoryMapper.exportMaterialLogOptimizeOutboundReport(dates,type);
+        }else{
+            return materialInventoryMapper.exportMaterialLogReports(dates,type);
+        }
+
     }
 
 
@@ -1276,9 +1277,9 @@
             //鏌ヨ鐗╂枡鏄惁瀛樺湪
             List<MaterialInventory> MaterialInventoryCount;
             if (materialInventory.getDateOfManufacture()!=null){
-                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialInventory.getMaterialCode(),materialInventory.getDateOfManufacture(),materialInventory.getProducer());
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount1(materialInventory.getMaterialCode(),materialInventory.getDateOfManufacture(),materialInventory.getProducer(),materialInventory.getId());
             }else{
-                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialInventory.getMaterialCode(),materialInventory.getProducer());
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull1(materialInventory.getMaterialCode(),materialInventory.getProducer(),materialInventory.getId());
             }
 
             if(MaterialInventoryCount.size()==1){
@@ -1307,4 +1308,34 @@
 
     }
 
+    public Object appGetStockList() {
+        ExecutorService executor = Executors.newFixedThreadPool(2);
+        AtomicReference<List<MaterialInventory>> materialInventoryList = new AtomicReference<>(new ArrayList<MaterialInventory>());
+        executor.execute(() -> {
+            materialInventoryList.set(materialInventoryMapper.selectGetStockList());
+        });
+        List<Object> list = new ArrayList<>();
+        executor.shutdown();
+
+        Map<String, Object> totalSum  = new HashMap<>();
+
+        Integer inventoryQuantity = 0;
+        Integer availableQuantity = 0;
+        Double totalArea = 0.00;
+        for (MaterialInventory materialInventory : materialInventoryList.get()) {
+            inventoryQuantity += materialInventory.getInventoryQuantity();
+            availableQuantity += materialInventory.getAvailableQuantity();
+            totalArea += materialInventory.getTotalArea();
+        }
+        DecimalFormat df = new DecimalFormat("#.00");
+        totalSum.put("inventoryQuantity",inventoryQuantity);
+        totalSum.put("availableQuantity",availableQuantity);
+        totalSum.put("totalArea", df.format(totalArea));
+
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("glassStock", materialInventoryList);
+        map.put("totalSum", totalSum);
+        return map;
+    }
 }

--
Gitblit v1.8.0