From 0989ec1e6b465141f99ed67e40fa2a0b928dce94 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 29 四月 2026 16:54:51 +0800
Subject: [PATCH] feat(production): 新增生产核算和生产工单功能模块 - 添加生产核算控制器、服务接口及实现类 - 实现生产核算分页查询和工人生产工资信息查询功能 - 添加生产工单控制器、服务接口及实现类 - 实现生产工单的增删改查和状态统计功能 - 集成工单流转卡下载和二维码生成功能 - 添加工单相关的数据传输对象和值对象 - 实现工单与用户关联的分配功能 - 完善工单附件图片处理和展示功能

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java |   81 +++++-----------------------------------
 1 files changed, 11 insertions(+), 70 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 7212d3f..f06284d 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -1,83 +1,24 @@
 package com.ruoyi.production.service.impl;
 
-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.bean.dto.UserAccountDto;
+import com.ruoyi.production.bean.dto.UserProductionAccountingDto;
+import com.ruoyi.production.mapper.ProductionAccountMapper;
 import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
 import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
-
-/**
- * @author :yys
- * @date : 2025/7/21 14:41
- */
 @Service
 @RequiredArgsConstructor
-@Slf4j
-public class SalesLedgerProductionAccountingServiceImpl extends ServiceImpl<SalesLedgerProductionAccountingMapper, SalesLedgerProductionAccounting> implements SalesLedgerProductionAccountingService {
-  
-    private final SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-    private final ProductionProductMainMapper productionProductMainMapper;
+public class SalesLedgerProductionAccountingServiceImpl implements SalesLedgerProductionAccountingService {
+
+    private final ProductionAccountMapper productionAccountMapper;
 
     @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 && 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());
+    public UserAccountDto getByUserId(UserProductionAccountingDto dto) {
+        if (dto == null || dto.getUserId() == null || dto.getDate() == null || dto.getDate().trim().isEmpty()) {
+            return new UserAccountDto();
         }
-        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;
+        UserAccountDto result = productionAccountMapper.selectUserAccount(dto.getUserId(), dto.getDate());
+        return result == null ? new UserAccountDto() : result;
     }
 }

--
Gitblit v1.9.3