From f7649c532163847914e3591236e77c99fb68e1a8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 30 一月 2026 16:42:00 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
index 5a7fe76..7212d3f 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.production.dto.ProductionProductMainDto;
 import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.mapper.ProductionProductMainMapper;
 import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
 import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
 import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
@@ -23,17 +26,58 @@
 public class SalesLedgerProductionAccountingServiceImpl extends ServiceImpl<SalesLedgerProductionAccountingMapper, SalesLedgerProductionAccounting> implements SalesLedgerProductionAccountingService {
   
     private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-  
+    private final ProductionProductMainMapper productionProductMainMapper;
+
     @Override
     public IPage<SalesLedgerProductionAccountingDto> listPage(Page page, SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto) {
         IPage<SalesLedgerProductionAccountingDto> list = salesLedgerProductionAccountingMapper.listPage(page, salesLedgerProductionAccountingDto);
         list.getRecords().forEach(item -> {
             String[] split = item.getSpecificationModel().split("\\*");
-            if(split.length == 2){
+            if(split.length == 2 && isNumeric(split[1])){
                 // 璁$畻宸ヨ祫 = 宸ユ椂瀹氶 * 鏁伴噺 * 瑙勬牸
                 item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
             }
         });
         return list;
     }
+
+    @Override
+    public IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+        // TODO 绠$悊鍛樻煡璇㈡墍鏈夛紝鍏朵粬浜哄彧鑳芥煡鑷繁
+        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+        if (!admin) {
+            salesLedgerProductionAccountingDto.setSchedulingUserName(SecurityUtils.getUsername());
+        }
+        if (salesLedgerProductionAccountingDto.getDateType().equals("month"))  {
+            salesLedgerProductionAccountingDto.setEntryDate(null);
+        }else {
+            salesLedgerProductionAccountingDto.setEntryDateStart(null);
+            salesLedgerProductionAccountingDto.setEntryDateEnd(null);
+        }
+        return salesLedgerProductionAccountingMapper.pageProductionAccounting(page, salesLedgerProductionAccountingDto);
+    }
+
+    @Override
+    public IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page) {
+        if (salesLedgerProductionAccountingDto.getDateType().equals("month"))  {
+            salesLedgerProductionAccountingDto.setEntryDate(null);
+        }else {
+            salesLedgerProductionAccountingDto.setEntryDateStart(null);
+            salesLedgerProductionAccountingDto.setEntryDateEnd(null);
+        }
+        return productionProductMainMapper.listProductionDetails(salesLedgerProductionAccountingDto, page);
+    }
+
+    public static boolean isNumeric(String str) {
+        if (str == null || str.isEmpty()) {
+            return false;
+        }
+        // 閬嶅巻瀛楃涓茬殑姣忎釜瀛楃锛屾鏌ユ槸鍚︿负鏁板瓧
+        for (int i = 0; i < str.length(); i++) {
+            if (!Character.isDigit(str.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
+    }
 }

--
Gitblit v1.9.3