From b5d5b7676c92eee961ca34259848bfcb97115c7b Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 21 四月 2026 15:56:00 +0800
Subject: [PATCH] 奖惩记录迁移到绩效模块
---
cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml | 38 ++++-----
cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java | 25 ++++-
cnas-personnel/src/main/java/com/ruoyi/personnel/vo/PersonRewardPunishmentRecordVO.java | 34 ++++++++
cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java | 20 ++--
cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java | 10 ++
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java | 38 ++++++++-
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java | 49 +----------
cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java | 5
cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java | 13 +-
9 files changed, 135 insertions(+), 97 deletions(-)
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java
index a60c9ac..a012c3d 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java
@@ -10,6 +10,7 @@
import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService;
+import com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
@@ -40,61 +41,25 @@
@ApiOperation(value = "鏂板/鏇存柊 濂栨儵璁板綍")
@PostMapping("/addOrUpdateRewardPunishment")
public Result<?> PersonTrainingSave(@RequestBody PersonRewardPunishmentRecord personRewardPunishmentRecord) {
- personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord);
- return Result.success();
+ return Result.success(personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord));
}
@ApiOperation(value = "鍒犻櫎濂栨儵璁板綍")
@DeleteMapping("/deleteRewardPunishment")
public Result<?> deleteRewardPunishment(@RequestParam("id") Integer id) {
- personRewardPunishmentRecordService.removeById(id);
- return Result.success();
+ return Result.success(personRewardPunishmentRecordService.removeById(id));
}
@ApiOperation(value = "鏌ヨ 濂栨儵璁板綍")
@GetMapping("/rewardPunishmentPage")
@SneakyThrows
- public Result<IPage<PersonRewardPunishmentRecordDto>> rewardPunishmentPage(Page page,
- Integer userId,
- Integer departmentId,
- String userName,
- @RequestParam(value = "startTime",required = false) String startTimeStr,
- @RequestParam(value = "endTime",required = false) String endTimeStr) {
- Date startTime = null;
- Date endTime = null;
- if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- startTime = formatter.parse(startTimeStr);
- endTime = formatter.parse(endTimeStr);
- }
- return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId));
+ public Result<IPage<PersonRewardPunishmentRecordVO>> rewardPunishmentPage(Page page,PersonRewardPunishmentRecordDto punishmentRecordDto) {
+ return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, punishmentRecordDto));
}
@ApiOperation(value = "濂栨儵璁板綍瀵煎嚭")
@GetMapping("/rewardPunishmentExport")
- public void rewardPunishmentExport(Integer userId,
- Integer departmentId,
- String userName,
- @RequestParam(value = "startTime",required = false) String startTimeStr,
- @RequestParam(value = "endTime",required = false) String endTimeStr,
- HttpServletResponse response) throws Exception {
- Date startTime = null;
- Date endTime = null;
- if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- startTime = formatter.parse(startTimeStr);
- endTime = formatter.parse(endTimeStr);
- }
- List<PersonRewardPunishmentRecordExcel> data = personRewardPunishmentRecordService.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime);
- response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- response.setHeader("requestType", "excel");
- response.setHeader("Access-Control-Expose-Headers", "requestType");
- // 璁剧疆鍗曞厓鏍兼牱寮�
- // 淇濆瓨鍒扮涓�涓猻heet涓�
- EasyExcel.write(response.getOutputStream())
- .head(PersonRewardPunishmentRecordExcel.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .sheet()
- .doWrite(data);
+ public void rewardPunishmentExport(PersonRewardPunishmentRecordDto punishmentRecordDto,HttpServletResponse response) {
+ personRewardPunishmentRecordService.exportExcel(punishmentRecordDto,response);
}
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java
index 5be270b..8481844 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java
@@ -2,13 +2,19 @@
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
@Data
public class PersonRewardPunishmentRecordDto extends PersonRewardPunishmentRecord {
private String userName;
- private String account;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime startTime;
- private String createUserName;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime endTime;
+
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java
index 84456f3..46f48e6 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java
@@ -5,14 +5,12 @@
@Data
public class PersonRewardPunishmentRecordExcel {
+
@ExcelProperty("鍛樺伐缂栧彿")
private String account;
- @ExcelProperty("濮撳悕")
+ @ExcelProperty("鍛樺伐濮撳悕")
private String userName;
-
- @ExcelProperty("濂栨儵绾у埆")
- private String rewardPunishLevel;
@ExcelProperty("濂栨儵鍚嶇О")
private String rewardPunishName;
@@ -20,15 +18,15 @@
@ExcelProperty("濂栨儵鏃堕棿")
private String rewardPunishTime;
- @ExcelProperty("濂栨儵鍗曚綅")
- private String rewardPunishWorkUnit;
+ @ExcelProperty("濂栨儵璁″垎")
+ private String rewardPunishScore;
- @ExcelProperty("濂栨儵鍐呭")
- private String rewardPunishContent;
-
- @ExcelProperty("鍒涘缓鏃堕棿")
- private String createTime;
+ @ExcelProperty("濂栨儵閲戦")
+ private String rewardPunishSum;
@ExcelProperty("鍒涘缓浜�")
private String createUserName;
+
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private String createTime;
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java
index b0633b3..81a35cc 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java
@@ -6,6 +6,7 @@
import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto;
import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
+import com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
@@ -21,7 +22,7 @@
*/
public interface PersonRewardPunishmentRecordMapper extends BaseMapper<PersonRewardPunishmentRecord> {
- IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page, @Param("userId") Integer userId, @Param("userName") String userName,@Param("startTime") Date startTime, @Param("endTime") Date endTime,@Param("departmentId") Integer departmentId);
+ IPage<PersonRewardPunishmentRecordVO> rewardPunishmentPage(Page page, @Param("dto") PersonRewardPunishmentRecordDto punishmentRecordDto);
- List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(@Param("userId") Integer userId, @Param("departmentId") Integer departmentId, @Param("userName") String userName, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
+ List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(@Param("dto") PersonRewardPunishmentRecordDto punishmentRecordDto);
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java
index 93f0262..e1683fa 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java
@@ -7,6 +7,7 @@
import lombok.Setter;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -29,8 +30,8 @@
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
- @ApiModelProperty("濂栨儵绾у埆")
- private String rewardPunishLevel;
+ @ApiModelProperty("鐢ㄦ埛id")
+ private Integer userId;
@ApiModelProperty("濂栨儵鍚嶇О")
private String rewardPunishName;
@@ -38,24 +39,34 @@
@ApiModelProperty("濂栨儵鏃堕棿")
private LocalDateTime rewardPunishTime;
- @ApiModelProperty("濂栨儵鍗曚綅")
- private String rewardPunishWorkUnit;
+ @ApiModelProperty("濂栨儵璁″垎")
+ private BigDecimal rewardPunishScore;
+
+ @ApiModelProperty("濂栨儵閲戦")
+ private BigDecimal rewardPunishSum;
@ApiModelProperty("濂栨儵鍐呭")
private String rewardPunishContent;
- @ApiModelProperty("鐢ㄦ埛id")
- private Integer userId;
+ @ApiModelProperty("濂栨儵绾у埆")
+ private String rewardPunishLevel;
+
+ @ApiModelProperty("濂栨儵鍗曚綅")
+ private String rewardPunishWorkUnit;
@ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true)
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
@ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true)
- @TableField(fill = FieldFill.INSERT)
+ @TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@ApiModelProperty(value = "鍒涘缓浜�", hidden = true)
@TableField(fill = FieldFill.INSERT)
private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊浜�", hidden = true)
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java
index ecb6fa1..3a93fe2 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java
@@ -6,7 +6,9 @@
import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto;
import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
+import com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO;
+import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
@@ -20,12 +22,9 @@
*/
public interface PersonRewardPunishmentRecordService extends IService<PersonRewardPunishmentRecord> {
- IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page,
- Integer userId,
- String userName,
- Date startTime,
- Date endTime,
- Integer departmentId);
+ IPage<PersonRewardPunishmentRecordVO> rewardPunishmentPage(Page page,PersonRewardPunishmentRecordDto punishmentRecordDto);
- List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(Integer userId, Integer departmentId, String userName, Date startTime, Date endTime);
+ List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(PersonRewardPunishmentRecordDto punishmentRecordDto);
+
+ void exportExcel(PersonRewardPunishmentRecordDto punishmentRecordDto, HttpServletResponse response);
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java
index ed82a41..e1f09be 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java
@@ -1,5 +1,8 @@
package com.ruoyi.personnel.service.impl;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,8 +11,13 @@
import com.ruoyi.personnel.mapper.PersonRewardPunishmentRecordMapper;
import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService;
+import com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO;
import org.springframework.stereotype.Service;
+import javax.servlet.http.HttpServletResponse;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -25,12 +33,34 @@
public class PersonRewardPunishmentRecordServiceImpl extends ServiceImpl<PersonRewardPunishmentRecordMapper, PersonRewardPunishmentRecord> implements PersonRewardPunishmentRecordService {
@Override
- public IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page, Integer userId, String userName, Date startTime, Date endTime, Integer departmentId) {
- return baseMapper.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId);
+ public IPage<PersonRewardPunishmentRecordVO> rewardPunishmentPage(Page page, PersonRewardPunishmentRecordDto punishmentRecordDto) {
+ return baseMapper.rewardPunishmentPage(page, punishmentRecordDto);
}
@Override
- public List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(Integer userId, Integer departmentId, String userName, Date startTime, Date endTime) {
- return baseMapper.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime);
+ public List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(PersonRewardPunishmentRecordDto punishmentRecordDto) {
+ return baseMapper.rewardPunishmentExport(punishmentRecordDto);
+ }
+
+ @Override
+ public void exportExcel(PersonRewardPunishmentRecordDto punishmentRecordDto, HttpServletResponse response) {
+ response.reset();
+ try{
+ List<PersonRewardPunishmentRecordExcel> data = rewardPunishmentExport(punishmentRecordDto);
+ //瀵煎嚭
+ String fileName = "涓ぉ鑰愪笣璐ㄩ噺閮ㄥ鎯╄褰�"+ ExcelTypeEnum.XLSX;
+ fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString());
+ response.setContentType("application/vnd.ms-excel");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+ response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
+ EasyExcel.write(response.getOutputStream())
+ .head(PersonRewardPunishmentRecordExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet()
+ .doWrite(data);
+ }catch (Exception e){
+ throw new RuntimeException("濂栨儵璁板綍瀵煎嚭澶辫触");
+ }
}
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/vo/PersonRewardPunishmentRecordVO.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/vo/PersonRewardPunishmentRecordVO.java
new file mode 100644
index 0000000..e6c36d8
--- /dev/null
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/vo/PersonRewardPunishmentRecordVO.java
@@ -0,0 +1,34 @@
+package com.ruoyi.personnel.vo;
+
+import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class PersonRewardPunishmentRecordVO extends PersonRewardPunishmentRecord {
+
+ /**
+ * 鐢ㄦ埛鍚嶇О
+ */
+ @ApiModelProperty("鐢ㄦ埛鍚嶇О")
+ private String userName;
+
+ /**
+ * 鐢ㄦ埛璐﹀彿
+ */
+ @ApiModelProperty("鐢ㄦ埛璐﹀彿")
+ private String account;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createUserName;
+
+ /**
+ * 鏇存柊浜�
+ */
+ @ApiModelProperty("鏇存柊浜�")
+ private String updateUserName;
+
+}
diff --git a/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml
index d92a163..c62d196 100644
--- a/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml
+++ b/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml
@@ -3,23 +3,23 @@
<mapper namespace="com.ruoyi.personnel.mapper.PersonRewardPunishmentRecordMapper">
- <select id="rewardPunishmentPage" resultType="com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto">
- select cprpr.*, us.name create_user_name, u.account account, u.name user_name
+ <select id="rewardPunishmentPage" resultType="com.ruoyi.personnel.vo.PersonRewardPunishmentRecordVO">
+ select
+ cprpr.*,
+ us.name create_user_name,
+ u.account account,
+ u.name user_name,
+ us2.name AS update_user_name
from cnas_person_reward_punishment_record cprpr
left join user u on cprpr.user_id = u.id
left join user us on cprpr.create_user = us.id
+ left join user us2 on cprpr.update_user = us2.id
<where>
- <if test="userId != null and userId != ''">
- and cprpr.user_id = #{userId}
+ <if test="dto.userName != null and dto.userName != ''">
+ and u.name like concat('%', #{dto.userName}, '%')
</if>
- <if test="userName != null and userName != ''">
- and u.name like concat('%', #{userName}, '%')
- </if>
- <if test="startTime != null and endTime != null">
- AND DATE(cprpr.reward_punish_time) BETWEEN #{startTime} AND #{endTime}
- </if>
- <if test="departmentId != null and departmentId != ''">
- and FIND_IN_SET(#{departmentId}, u.depart_lims_id)
+ <if test="dto.startTime != null and dto.startTime != null">
+ AND cprpr.reward_punish_time BETWEEN #{dto.startTime} AND #{dto.endTime}
</if>
</where>
</select>
@@ -30,17 +30,11 @@
left join user u on cprpr.user_id = u.id
left join user us on cprpr.create_user = us.id
<where>
- <if test="userId != null and userId != ''">
- and cprpr.user_id = #{userId}
+ <if test="dto.userName != null and dto.userName != ''">
+ and u.name like concat('%', #{dto.userName}, '%')
</if>
- <if test="departmentId != null and departmentId != ''">
- and FIND_IN_SET(#{departmentId},u.depart_lims_id)
- </if>
- <if test="userName != null and userName != ''">
- and u.name like concat('%', #{userName}, '%')
- </if>
- <if test="startTime != null and endTime != null">
- AND DATE(cprpr.reward_punish_time) BETWEEN #{startTime} AND #{endTime}
+ <if test="dto.startTime != null and dto.endTime != null">
+ AND cprpr.reward_punish_time BETWEEN #{dto.startTime} AND #{dto.endTime}
</if>
</where>
</select>
--
Gitblit v1.9.3