From ea5001f61efd718a463b6671fc3bb32bfac0aa66 Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Tue, 2 Jun 2026 11:47:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E8=B5=84=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/BsSalaryCalculationExcel.java | 21 +++++++---- .../pojo/vo/BsSalaryCalculationVO.java | 35 +++++++++++++++---- .../desk/produce/mapper/WorkPlanMapper.xml | 26 ++++++++++++-- 3 files changed, 67 insertions(+), 15 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/excel/BsSalaryCalculationExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/excel/BsSalaryCalculationExcel.java index 84f449eb9..8d715e55f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/excel/BsSalaryCalculationExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/excel/BsSalaryCalculationExcel.java @@ -7,6 +7,8 @@ import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; + @Data @ColumnWidth(25) @HeadRowHeight(20) @@ -83,25 +85,25 @@ public class BsSalaryCalculationExcel implements Serializable { private String ppsName; /** - * 定额工时 + * 额定工时 */ @ColumnWidth(20) - @ExcelProperty("定额工时") - private String hourQuota; + @ExcelProperty("额定工时") + private BigDecimal standardTime; /** * 准备工时 */ @ColumnWidth(20) @ExcelProperty("准备工时") - private String hourPrepar; + private BigDecimal prepareTime; /** * 工时额定单位 */ @ColumnWidth(20) @ExcelProperty("工时额定单位") - private String hqUnit; + private String hourTypeValue; /** * 报工数 @@ -115,7 +117,14 @@ public class BsSalaryCalculationExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("总工时") - private String hourTotal; + private BigDecimal totalHour; + + /** + * 实际总工时 + */ + @ColumnWidth(20) + @ExcelProperty("实际总工时") + private BigDecimal hourQuota; /** * 责任人 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsSalaryCalculationVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsSalaryCalculationVO.java index 5414e8d00..f4438d7fb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsSalaryCalculationVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsSalaryCalculationVO.java @@ -3,6 +3,7 @@ package org.springblade.desk.efficiency.pojo.vo; import lombok.Data; import java.io.Serial; +import java.math.BigDecimal; @Data public class BsSalaryCalculationVO { @@ -56,9 +57,9 @@ public class BsSalaryCalculationVO { private String ppsName; /** - * 定额工时 + * 工时定额 */ - private String hourQuota; + private BigDecimal hourQuota; /** * 准备工时 @@ -75,11 +76,6 @@ public class BsSalaryCalculationVO { */ private String workQty; - /** - * 总工时 - */ - private String hourTotal; - /** * 责任人 */ @@ -169,4 +165,29 @@ public class BsSalaryCalculationVO { */ private boolean isAsc; + /** + * 额定工时 + */ + private BigDecimal standardTime; + + /** + * 准备工时 + */ + private BigDecimal prepareTime; + + /** + * 工时类型 0-按件 1-按订单 + */ + private String hourType; + + /** + * 工时类型 + */ + private String hourTypeValue; + + /** + * 总工时 + */ + private BigDecimal totalHour; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml index bc5418bee..e62c5afd9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml @@ -490,7 +490,18 @@ CASE WHEN a.BASE_AMOUNT IS NULL AND a.SUBSIDY_AMOUNT IS NULL THEN NULL ELSE NVL(a.BASE_AMOUNT, 0) + NVL(a.SUBSIDY_AMOUNT, 0) - END AS totalAmount + END AS totalAmount, + a.STANDARD_TIME as standardTime, + a.PREPARE_TIME as prepareTime, + a.HOUR_TYPE as hourType, + CASE + WHEN a.HOUR_TYPE = '0' THEN a.WORK_QTY * a.STANDARD_TIME + PREPARE_TIME + WHEN a.HOUR_TYPE = '1' THEN a.STANDARD_TIME + PREPARE_TIME + ELSE NULL END as totalHour, + CASE + WHEN a.HOUR_TYPE = '0' THEN '按件' + WHEN a.HOUR_TYPE = '1' THEN '按订单' + ELSE '' END as hourTypeValue FROM MES_WORK_PLAN a INNER JOIN BS_PROCESS_SET b ON a.PPS_ID = b.ID AND b.IS_DELETED = 0 INNER JOIN MES_MAKE_REC c ON a.ID = c.WP_ID AND c.IS_DELETED = 0 @@ -640,7 +651,18 @@ CASE WHEN a.BASE_AMOUNT IS NULL AND a.SUBSIDY_AMOUNT IS NULL THEN NULL ELSE NVL(a.BASE_AMOUNT, 0) + NVL(a.SUBSIDY_AMOUNT, 0) - END AS totalAmount + END AS totalAmount, + a.STANDARD_TIME as standardTime, + a.PREPARE_TIME as prepareTime, + a.HOUR_TYPE as hourType, + CASE + WHEN a.HOUR_TYPE = '0' THEN a.WORK_QTY * a.STANDARD_TIME + PREPARE_TIME + WHEN a.HOUR_TYPE = '1' THEN a.STANDARD_TIME + PREPARE_TIME + ELSE NULL END as totalHour, + CASE + WHEN a.HOUR_TYPE = '0' THEN '按件' + WHEN a.HOUR_TYPE = '1' THEN '按订单' + ELSE '' END as hourTypeValue FROM MES_WORK_PLAN a INNER JOIN BS_PROCESS_SET b ON a.PPS_ID = b.ID AND b.IS_DELETED = 0 INNER JOIN MES_MAKE_REC c ON a.ID = c.WP_ID AND c.IS_DELETED = 0