From 6fae0cb364948d490a55c8aba5879a436e8ee17e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 08 八月 2025 14:30:45 +0800
Subject: [PATCH] yys 1.协同审批增加附件上传 2.新增薪酬模块

---
 src/main/java/com/ruoyi/compensationperformance/service/impl/CompensationPerformanceServiceImpl.java           |   30 +++
 src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java       |    6 
 src/main/resources/mapper/compensationperformance/CompensationPerformanceMapper.xml                            |   16 ++
 src/main/java/com/ruoyi/common/enums/FileNameType.java                                                         |    3 
 src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java                                            |    2 
 src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java                              |  230 ++++++++++++++++++++++++++++
 src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java                                       |   28 +++
 src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java |    3 
 src/main/java/com/ruoyi/approve/controller/ApproveNodeController.java                                          |   11 +
 src/main/java/com/ruoyi/approve/pojo/ApproveNode.java                                                          |   15 +
 src/main/java/com/ruoyi/compensationperformance/mapper/CompensationPerformanceMapper.java                      |   23 ++
 src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java              |   69 ++++++++
 src/main/java/com/ruoyi/compensationperformance/service/CompensationPerformanceService.java                    |   22 ++
 src/main/java/com/ruoyi/approve/service/IApproveNodeService.java                                               |    3 
 14 files changed, 453 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveNodeController.java b/src/main/java/com/ruoyi/approve/controller/ApproveNodeController.java
index 369a65e..5cda3a3 100644
--- a/src/main/java/com/ruoyi/approve/controller/ApproveNodeController.java
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveNodeController.java
@@ -3,9 +3,15 @@
 import com.ruoyi.approve.pojo.ApproveNode;
 import com.ruoyi.approve.service.IApproveNodeService;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
+
+@Api(tags = "瀹℃壒璁板綍")
 @RestController
 @RequestMapping("/approveNode")
 public class ApproveNodeController {
@@ -18,6 +24,7 @@
      * @return
      */
     @GetMapping("/details/{id}")
+    @ApiOperation(value = "娴佺▼鐘舵�佽鎯�")
     public AjaxResult details(@PathVariable String id) {
         return AjaxResult.success(approveNodeService.details(id));
     }
@@ -28,7 +35,9 @@
      * @return
      */
     @PostMapping("/updateApproveNode")
-    public AjaxResult updateApproveNode(@RequestBody ApproveNode approveNode) {
+    @Transactional(rollbackFor = Exception.class)
+    @ApiOperation(value = "瀹℃壒鑺傜偣")
+    public AjaxResult updateApproveNode(@RequestBody ApproveNode approveNode) throws IOException {
         approveNodeService.updateApproveNode(approveNode);
         return AjaxResult.success();
     }
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveNode.java b/src/main/java/com/ruoyi/approve/pojo/ApproveNode.java
index 300cc32..2ea7dd5 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveNode.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveNode.java
@@ -3,11 +3,15 @@
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.sales.pojo.CommonFile;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -16,7 +20,18 @@
  */
 @Data
 @TableName("approve_node")
+@ApiModel
 public class ApproveNode{
+
+
+    @ApiModelProperty("闄勪欢id")
+    @TableField(exist = false)
+    private List<String> tempFileIds;
+
+    @TableField(exist = false)
+    @ApiModelProperty("闄勪欢鍒楄〃")
+    private String url;
+
     /**
      * 
      */
diff --git a/src/main/java/com/ruoyi/approve/service/IApproveNodeService.java b/src/main/java/com/ruoyi/approve/service/IApproveNodeService.java
index 71813da..41c84ec 100644
--- a/src/main/java/com/ruoyi/approve/service/IApproveNodeService.java
+++ b/src/main/java/com/ruoyi/approve/service/IApproveNodeService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.approve.pojo.ApproveNode;
 
+import java.io.IOException;
 import java.util.List;
 
 public interface IApproveNodeService extends IService<ApproveNode> {
@@ -14,7 +15,7 @@
      */
     List<ApproveNode> details(String id);
 
-    void updateApproveNode(ApproveNode approveNode);
+    void updateApproveNode(ApproveNode approveNode) throws IOException;
 
     void delApproveNodeByApproveId(Long id);
 }
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 201ccb5..f7c98aa 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -8,13 +8,20 @@
 import com.ruoyi.approve.pojo.ApproveNode;
 import com.ruoyi.approve.pojo.ApproveProcess;
 import com.ruoyi.approve.service.IApproveNodeService;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.other.service.impl.TempFileServiceImpl;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
+import java.io.IOException;
 import java.time.LocalDateTime;
 import java.util.Comparator;
 import java.util.Date;
@@ -30,6 +37,12 @@
     private ApproveProcessMapper approveProcessMapper;
     @Autowired
     private SysUserMapper sysUserMapper;
+
+    @Autowired
+    private TempFileServiceImpl tempFileService;
+
+    @Autowired
+    private CommonFileMapper fileMapper;
 
 
     public ApproveProcess getApproveById(String id) {
@@ -87,6 +100,12 @@
             return list;
         }
         for (ApproveNode approveNode : list) {
+            List<CommonFile> commonFiles = fileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+                    .eq(CommonFile::getCommonId, approveNode.getId())
+                    .eq(CommonFile::getType, FileNameType.ApproveNode.getValue()));
+            if(!CollectionUtils.isEmpty(commonFiles)){
+                approveNode.setUrl(commonFiles.get(0).getUrl());
+            }
             if(approveNode.getApproveNodeStatus() == 1){
                 continue;
             }
@@ -96,7 +115,7 @@
         return list;
     }
 
-    public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) {
+    public void updateApproveProcessStatus(ApproveNode approveNode,Integer status) throws IOException {
         LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
         approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())
                 .eq(ApproveProcess::getApproveDelete, 0)
@@ -117,10 +136,15 @@
             approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser());
         }
         approveProcessMapper.updateById(approveProcess);
+
+        // 缁戝畾闄勪欢
+        if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){
+            tempFileService.migrateTempFilesToFormal(approveNode.getId(), approveNode.getTempFileIds(), FileNameType.ApproveNode.getValue());
+        }
     }
 
     @Override
-    public void updateApproveNode(ApproveNode approveNode) {
+    public void updateApproveNode(ApproveNode approveNode) throws IOException {
         // 瀹℃壒鑺傜偣鐘舵��:1鍚屾剰锛�2鎷掔粷锛�0灏氭湭瀹℃牳
         switch (approveNode.getApproveNodeStatus()){
             case 1:
diff --git a/src/main/java/com/ruoyi/common/enums/FileNameType.java b/src/main/java/com/ruoyi/common/enums/FileNameType.java
index 4ee2bb6..ded6e9f 100644
--- a/src/main/java/com/ruoyi/common/enums/FileNameType.java
+++ b/src/main/java/com/ruoyi/common/enums/FileNameType.java
@@ -7,7 +7,8 @@
     INVOICE(3),     //鍙戠エ
     PURCHASELEDGER(4),
     MEASURING(5),  //璁¢噺鍣ㄥ叿鍙拌处
-    MEASURINGRecord(6);  //璁¢噺鍣ㄥ叿鍙拌处璁板綍
+    MEASURINGRecord(6),//璁¢噺鍣ㄥ叿鍙拌处璁板綍
+    ApproveNode(7);  //鍗忓悓瀹℃壒瀹℃牳
 
     private final int value;
 
diff --git a/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
new file mode 100644
index 0000000..1844b3e
--- /dev/null
+++ b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
@@ -0,0 +1,69 @@
+package com.ruoyi.compensationperformance.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
+import com.ruoyi.compensationperformance.service.CompensationPerformanceService;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/8/8 9:56
+ */
+@RestController
+@Api(tags = "钖叕缁╂晥")
+@RequestMapping("/compensationPerformance")
+public class CompensationPerformanceController extends BaseController {
+
+    @Autowired
+    private CompensationPerformanceService compensationPerformanceService;
+
+    @GetMapping("/listPage")
+    @Log(title = "钖叕缁╂晥-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    @ApiOperation("钖叕缁╂晥-鍒嗛〉鏌ヨ")
+    public AjaxResult listPage(Page page, CompensationPerformance compensationPerformance){
+        IPage<CompensationPerformance> listPage = compensationPerformanceService.listPage(page, compensationPerformance);
+        return AjaxResult.success(listPage);
+    }
+
+    @PostMapping("/add")
+    @Log(title = "钖叕缁╂晥-娣诲姞", businessType = BusinessType.INSERT)
+    @ApiOperation("钖叕缁╂晥-娣诲姞")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult add(@RequestBody CompensationPerformance compensationPerformance){
+        boolean save = compensationPerformanceService.save(compensationPerformance);
+        return save ? AjaxResult.success("娣诲姞鎴愬姛") : AjaxResult.error("娣诲姞澶辫触");
+    }
+
+    @PostMapping("/update")
+    @Log(title = "钖叕缁╂晥-淇敼", businessType = BusinessType.UPDATE)
+    @ApiOperation("钖叕缁╂晥-淇敼")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult update(@RequestBody CompensationPerformance compensationPerformance){
+        boolean update = compensationPerformanceService.updateById(compensationPerformance);
+        return update ? AjaxResult.success("淇敼鎴愬姛") : AjaxResult.error("淇敼澶辫触");
+    }
+
+    @DeleteMapping("/delete")
+    @Log(title = "钖叕缁╂晥-鍒犻櫎", businessType = BusinessType.DELETE)
+    @ApiOperation("钖叕缁╂晥-鍒犻櫎")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult delete(@RequestBody List<Long> ids){
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        boolean delete = compensationPerformanceService.removeBatchByIds(ids);
+        return delete ? AjaxResult.success("鍒犻櫎鎴愬姛") : AjaxResult.error("鍒犻櫎澶辫触");
+    }
+
+
+}
diff --git a/src/main/java/com/ruoyi/compensationperformance/mapper/CompensationPerformanceMapper.java b/src/main/java/com/ruoyi/compensationperformance/mapper/CompensationPerformanceMapper.java
new file mode 100644
index 0000000..2526df0
--- /dev/null
+++ b/src/main/java/com/ruoyi/compensationperformance/mapper/CompensationPerformanceMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.compensationperformance.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author :yys
+ * @date : 2025/8/8 9:54
+ */
+public interface CompensationPerformanceMapper extends BaseMapper<CompensationPerformance> {
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param page
+     * @param compensationPerformance
+     * @return
+     */
+    IPage<CompensationPerformance> listPage(Page page,@Param("req") CompensationPerformance compensationPerformance);
+}
diff --git a/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java b/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java
new file mode 100644
index 0000000..5fb2c7a
--- /dev/null
+++ b/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java
@@ -0,0 +1,230 @@
+package com.ruoyi.compensationperformance.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author :yys
+ * @date : 2025/8/8 9:40
+ */
+@Data
+@TableName("compensation_performance")
+@ApiModel
+public class CompensationPerformance {
+
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鍛樺伐id
+     */
+    @ApiModelProperty("鍛樺伐id")
+    @Excel(name = "鍛樺伐id")
+    private Long staffId;
+
+    /**
+     * 濮撳悕
+     */
+    @ApiModelProperty("濮撳悕")
+    @Excel(name = "濮撳悕")
+    private String name;
+
+    /**
+     * 钖祫鏈堜唤(鏌ヨ)
+     */
+    @ApiModelProperty("钖祫鏈堜唤(鏌ヨ)")
+    @TableField(exist = false)
+    private String payDateStr;
+
+    /**
+     * 钖祫鏈堜唤
+     */
+    @ApiModelProperty("钖祫鏈堜唤")
+    @Excel(name = "钖祫鏈堜唤", dateFormat = "yyyy-MM", width = 30)
+    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM")
+    private Date payDate;
+
+
+    /**
+     * 搴斿嚭鍕ゅぉ鏁�
+     */
+    @ApiModelProperty("搴斿嚭鍕ゅぉ鏁�")
+    @Excel(name = "搴斿嚭鍕ゅぉ鏁�")
+    private BigDecimal shouldAttendedNum;
+
+    /**
+     * 瀹為檯鍑哄嫟澶╂暟
+     */
+    @ApiModelProperty("瀹為檯鍑哄嫟澶╂暟")
+    @Excel(name = "瀹為檯鍑哄嫟澶╂暟")
+    private BigDecimal actualAttendedNum;
+
+
+    /**
+     * 鍩烘湰宸ヨ祫
+     */
+    @ApiModelProperty("鍩烘湰宸ヨ祫")
+    @Excel(name = "鍩烘湰宸ヨ祫")
+    private BigDecimal basicSalary;
+
+    /**
+     * 宀椾綅宸ヨ祫
+     */
+    @ApiModelProperty("宀椾綅宸ヨ祫")
+    @Excel(name = "宀椾綅宸ヨ祫")
+    private BigDecimal postSalary;
+
+    /**
+     * 鍏ョ鑱岀己鍕ゆ墸娆�
+     */
+    @ApiModelProperty("鍏ョ鑱岀己鍕ゆ墸娆�")
+    @Excel(name = "鍏ョ鑱岀己鍕ゆ墸娆�")
+    private BigDecimal deductionAbsenteeism;
+
+
+    /**
+     * 鐥呭亣鎵f
+     */
+    @ApiModelProperty("鐥呭亣鎵f")
+    @Excel(name = "鐥呭亣鎵f")
+    private BigDecimal sickLeaveDeductions;
+
+    /**
+     * 浜嬪亣鎵f
+     */
+    @ApiModelProperty("浜嬪亣鎵f")
+    @Excel(name = "浜嬪亣鎵f")
+    private BigDecimal deductionPersonalLeave;
+    /**
+     * 蹇樿鎵撳崱鎵f
+     */
+    @ApiModelProperty("蹇樿鎵撳崱鎵f")
+    @Excel(name = "蹇樿鎵撳崱鎵f")
+    private BigDecimal forgetClockDeduct;
+
+    /**
+     * 缁╂晥寰楀垎
+     */
+    @ApiModelProperty("缁╂晥寰楀垎")
+    @Excel(name = "缁╂晥寰楀垎")
+    private BigDecimal performanceScore;
+
+    /**
+     * 缁╂晥宸ヨ祫
+     */
+    @ApiModelProperty("缁╂晥宸ヨ祫")
+    @Excel(name = "缁╂晥宸ヨ祫")
+    private BigDecimal performancePay;
+
+
+    /**
+     * 搴斿彂鍚堣
+     */
+    @ApiModelProperty("搴斿彂鍚堣")
+    @Excel(name = "搴斿彂鍚堣")
+    private BigDecimal payableWages;
+
+    /**
+     * 绀句繚涓汉
+     */
+    @ApiModelProperty("绀句繚涓汉")
+    @Excel(name = "绀句繚涓汉")
+    private BigDecimal socialSecurityIndividuals;
+    /**
+     * 绀句繚鍏徃
+     */
+    @ApiModelProperty("绀句繚鍏徃")
+    @Excel(name = "绀句繚鍏徃")
+    private BigDecimal socialSecurityCompanies;
+
+    /**
+     * 绀句繚鍚堣
+     */
+    @ApiModelProperty("绀句繚鍚堣")
+    @Excel(name = "绀句繚鍚堣")
+    private BigDecimal socialSecurityTotal;
+
+    /**
+     * 鍏Н閲戝悎璁�
+     */
+    @ApiModelProperty("鍏Н閲戝悎璁�")
+    @Excel(name = "鍏Н閲戝悎璁�")
+    private BigDecimal providentFundTotal;
+    /**
+     * 鍏Н閲戝叕鍙�
+     */
+    @ApiModelProperty("鍏Н閲戝叕鍙�")
+    @Excel(name = "鍏Н閲戝叕鍙�")
+    private BigDecimal providentFundCompany;
+
+    /**
+     * 鍏Н閲戜釜浜�
+     */
+    @ApiModelProperty("鍏Н閲戜釜浜�")
+    @Excel(name = "鍏Н閲戜釜浜�")
+    private BigDecimal providentFundIndividuals;
+
+    /**
+     * 搴旂◣宸ヨ祫
+     */
+    @ApiModelProperty("搴旂◣宸ヨ祫")
+    @Excel(name = "搴旂◣宸ヨ祫")
+    private BigDecimal taxableWaget;
+    /**
+     * 涓汉鎵�寰楃◣
+     */
+    @ApiModelProperty("涓汉鎵�寰楃◣")
+    @Excel(name = "涓汉鎵�寰楃◣")
+    private BigDecimal personalIncomeTax;
+
+    /**
+     * 瀹炲彂宸ヨ祫
+     */
+    @ApiModelProperty("瀹炲彂宸ヨ祫")
+    @Excel(name = "瀹炲彂宸ヨ祫")
+    private BigDecimal actualWages;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 淇敼鑰�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/compensationperformance/service/CompensationPerformanceService.java b/src/main/java/com/ruoyi/compensationperformance/service/CompensationPerformanceService.java
new file mode 100644
index 0000000..547fbf8
--- /dev/null
+++ b/src/main/java/com/ruoyi/compensationperformance/service/CompensationPerformanceService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.compensationperformance.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
+
+/**
+ * @author :yys
+ * @date : 2025/8/8 9:55
+ */
+public interface CompensationPerformanceService extends IService<CompensationPerformance> {
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param page
+     * @param compensationPerformance
+     * @return
+     */
+    IPage<CompensationPerformance> listPage(Page page, CompensationPerformance compensationPerformance);
+}
diff --git a/src/main/java/com/ruoyi/compensationperformance/service/impl/CompensationPerformanceServiceImpl.java b/src/main/java/com/ruoyi/compensationperformance/service/impl/CompensationPerformanceServiceImpl.java
new file mode 100644
index 0000000..2e0d744
--- /dev/null
+++ b/src/main/java/com/ruoyi/compensationperformance/service/impl/CompensationPerformanceServiceImpl.java
@@ -0,0 +1,30 @@
+package com.ruoyi.compensationperformance.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.compensationperformance.mapper.CompensationPerformanceMapper;
+import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
+import com.ruoyi.compensationperformance.service.CompensationPerformanceService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author :yys
+ * @date : 2025/8/8 9:55
+ */
+@Service
+@Slf4j
+public class CompensationPerformanceServiceImpl extends ServiceImpl<CompensationPerformanceMapper, CompensationPerformance> implements CompensationPerformanceService {
+
+    @Autowired
+    private CompensationPerformanceMapper compensationPerformanceMapper;
+
+
+    @Override
+    public IPage<CompensationPerformance> listPage(Page page, CompensationPerformance compensationPerformance) {
+        IPage<CompensationPerformance> compensationPerformanceIPage = compensationPerformanceMapper.listPage(page, compensationPerformance);
+        return compensationPerformanceIPage;
+    }
+}
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
index bca4629..e9b191c 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerRecordServiceImpl.java
@@ -65,7 +65,8 @@
         IPage<MeasuringInstrumentLedgerRecord> measuringInstrumentLedgerRecordIPage = measuringInstrumentLedgerRecordMapper.listPage(page, measuringInstrumentLedgerRecord);
         measuringInstrumentLedgerRecordIPage.getRecords().forEach(item -> {
             LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
-            salesLedgerFileWrapper.eq(CommonFile::getCommonId, item.getId());
+            salesLedgerFileWrapper.eq(CommonFile::getCommonId, item.getId())
+                    .eq(CommonFile::getType, FileNameType.MEASURINGRecord.getValue());
             List<CommonFile> commonFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
             item.setCommonFiles(commonFiles);
         });
diff --git a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
index d34a291..c59f3c1 100644
--- a/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/measuringinstrumentledger/service/impl/MeasuringInstrumentLedgerServiceImpl.java
@@ -71,6 +71,9 @@
     @Override
     public IPage<MeasuringInstrumentLedger> listPage(Page page, MeasuringInstrumentLedger measuringInstrumentLedger) {
         IPage<MeasuringInstrumentLedger> measuringInstrumentLedgerIPage = measuringInstrumentLedgerMapper.listPage(page, measuringInstrumentLedger);
+        List<Integer>  types = new ArrayList<>();
+        types.add(FileNameType.MEASURING.getValue());
+        types.add(FileNameType.MEASURINGRecord.getValue());
         measuringInstrumentLedgerIPage.getRecords().forEach(item -> {
             LambdaQueryWrapper<MeasuringInstrumentLedgerRecord> measuringInstrumentLedgerRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
             measuringInstrumentLedgerRecordLambdaQueryWrapper.eq(MeasuringInstrumentLedgerRecord::getMeasuringInstrumentLedgerId, item.getId());
@@ -81,7 +84,8 @@
             }
             collect.add(item.getId());
             LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
-            salesLedgerFileWrapper.in(CommonFile::getCommonId, collect);
+            salesLedgerFileWrapper.in(CommonFile::getCommonId, collect)
+                    .in(CommonFile::getType,types);
             List<CommonFile> commonFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
             item.setCommonFiles(commonFiles);
 
diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
index ea7b188..d43adf0 100644
--- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -87,7 +87,7 @@
      * @param tempFileIds 涓存椂鏂囦欢ID鍒楄〃
      * @throws IOException 鏂囦欢鎿嶄綔寮傚父
      */
-    private void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds,Integer fileType) throws IOException {
+    public void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds, Integer fileType) throws IOException {
         if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(tempFileIds)) {
             return;
         }
diff --git a/src/main/resources/mapper/compensationperformance/CompensationPerformanceMapper.xml b/src/main/resources/mapper/compensationperformance/CompensationPerformanceMapper.xml
new file mode 100644
index 0000000..f15dd8c
--- /dev/null
+++ b/src/main/resources/mapper/compensationperformance/CompensationPerformanceMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.compensationperformance.mapper.CompensationPerformanceMapper">
+
+    <select id="listPage" resultType="com.ruoyi.compensationperformance.pojo.CompensationPerformance">
+        select * from compensation_performance
+        <where>
+            <if test="req.name != null and req.name != ''">
+                and `name` like concat('%',#{req.name},'%')
+            </if>
+            <if test="req.payDateStr != null and req.payDateStr != ''">
+                and pay_date like concat('%',#{req.payDateStr},'%')
+            </if>
+        </where>
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3