From 9d5a8f1595089094ff781d9d9e7872f8555404e6 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 09 三月 2026 10:43:51 +0800
Subject: [PATCH] 区分工序计时还是计件 调整生产核算工资计算方法
---
src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java | 7 +++
src/main/java/com/ruoyi/production/dto/UserProductionAccountingDto.java | 10 +++++
src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java | 4 ++
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml | 13 ++++++
src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java | 7 +++
src/main/java/com/ruoyi/production/dto/UserAccountDto.java | 21 ++++++++++
src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java | 4 ++
7 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
index 50fa4aa..02d36c8 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerProductionAccountingController.java
@@ -11,6 +11,7 @@
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.dto.UserProductionAccountingDto;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
import com.ruoyi.production.service.impl.SalesLedgerProductionAccountingServiceImpl;
@@ -68,4 +69,10 @@
public R listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page){
return R.ok(salesLedgerProductionAccountingService.listProductionDetails(salesLedgerProductionAccountingDto,page));
}
+
+ @GetMapping("getByUserId")
+ @ApiModelProperty("鏌ヨ宸ヤ汉鐢熶骇宸ヨ祫淇℃伅")
+ public R getByUserId(UserProductionAccountingDto userProductionAccountingDto){
+ return R.ok(salesLedgerProductionAccountingService.getByUserId(userProductionAccountingDto));
+ }
}
diff --git a/src/main/java/com/ruoyi/production/dto/UserAccountDto.java b/src/main/java/com/ruoyi/production/dto/UserAccountDto.java
new file mode 100644
index 0000000..75f99bc
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/dto/UserAccountDto.java
@@ -0,0 +1,21 @@
+package com.ruoyi.production.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class UserAccountDto {
+
+ private String userName;
+
+ private Long userId;
+
+ @ApiModelProperty("璁℃椂")
+ private BigDecimal account;
+
+ @ApiModelProperty("璁′欢")
+ private BigDecimal accountBalance;
+
+}
diff --git a/src/main/java/com/ruoyi/production/dto/UserProductionAccountingDto.java b/src/main/java/com/ruoyi/production/dto/UserProductionAccountingDto.java
new file mode 100644
index 0000000..ba191d1
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/dto/UserProductionAccountingDto.java
@@ -0,0 +1,10 @@
+package com.ruoyi.production.dto;
+
+import lombok.Data;
+
+@Data
+public class UserProductionAccountingDto {
+ private Long userId;
+
+ private String date;
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java b/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
index de01d46..8dec95c 100644
--- a/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/SalesLedgerProductionAccountingMapper.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.dto.UserAccountDto;
+import com.ruoyi.production.dto.UserProductionAccountingDto;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import org.apache.ibatis.annotations.Param;
@@ -23,4 +25,6 @@
IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(Page page, @Param("ew") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto);
List<Map<String, Object>> selectDailyWagesStats(@Param("startDate") String startDate, @Param("endDate") String endDate);
+
+ UserAccountDto getByUserId(@Param( "ew") UserProductionAccountingDto userProductionAccountingDto);
}
diff --git a/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java b/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
index bf0176b..4ebd01f 100644
--- a/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
+++ b/src/main/java/com/ruoyi/production/service/SalesLedgerProductionAccountingService.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.dto.UserAccountDto;
+import com.ruoyi.production.dto.UserProductionAccountingDto;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
/**
@@ -20,4 +22,6 @@
IPage<SalesLedgerProductionAccountingDto> pageProductionAccounting(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
+
+ UserAccountDto getByUserId(UserProductionAccountingDto userProductionAccountingDto);
}
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..7e5f58b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -6,6 +6,8 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
+import com.ruoyi.production.dto.UserAccountDto;
+import com.ruoyi.production.dto.UserProductionAccountingDto;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
@@ -68,6 +70,11 @@
return productionProductMainMapper.listProductionDetails(salesLedgerProductionAccountingDto, page);
}
+ @Override
+ public UserAccountDto getByUserId(UserProductionAccountingDto userProductionAccountingDto) {
+ return salesLedgerProductionAccountingMapper.getByUserId( userProductionAccountingDto);
+ }
+
public static boolean isNumeric(String str) {
if (str == null || str.isEmpty()) {
return false;
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index 28501a6..d9ddde7 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -105,6 +105,19 @@
GROUP BY DATE(ppout.create_time)
ORDER BY DATE(ppout.create_time);
</select>
+ <select id="getByUserId" resultType="com.ruoyi.production.dto.UserAccountDto">
+ select
+ slpa.scheduling_user_id as user_id,
+ pp.type,
+ sum(case when pp.type = 0 then slpa.work_hours else 0 end) as account,
+ sum(case when pp.type = 1 then slpa.work_hours else 0 end) as accountBalance
+ from sales_ledger_production_accounting slpa
+ left join product_process pp on pp.name = slpa.process
+ where slpa.scheduling_user_id = #{ew.userId}
+ and slpa.scheduling_date like concat(#{ew.date}, '%')
+ group by slpa.scheduling_user_id
+
+ </select>
</mapper>
--
Gitblit v1.9.3