From 5051c4082a91cbab723445dcfcea2d85770a8c97 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期二, 09 九月 2025 16:17:59 +0800 Subject: [PATCH] 用印管理修改,接口值班与计划 --- src/main/java/com/ruoyi/collaborativeApproval/pojo/SealApplicationManagement.java | 4 src/main/resources/mapper/collaborativeApproval/DutyPlanMapper.xml | 40 ++++++ src/main/java/com/ruoyi/collaborativeApproval/service/impl/DutyPlanServiceImpl.java | 41 ++++++ src/main/java/com/ruoyi/collaborativeApproval/mapper/DutyPlanMapper.java | 20 +++ src/main/java/com/ruoyi/collaborativeApproval/dto/DutyPlanDTO.java | 22 +++ src/main/java/com/ruoyi/collaborativeApproval/pojo/DutyPlan.java | 100 ++++++++++++++++ src/main/java/com/ruoyi/collaborativeApproval/pojo/RulesRegulationsManagement.java | 4 src/main/java/com/ruoyi/collaborativeApproval/service/DutyPlanService.java | 19 +++ src/main/java/com/ruoyi/collaborativeApproval/controller/DutyPlanController.java | 63 ++++++++++ src/main/resources/mapper/collaborativeApproval/RulesRegulationsManagementMapper.xml | 3 10 files changed, 316 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/DutyPlanController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/DutyPlanController.java new file mode 100644 index 0000000..9ad69ee --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/DutyPlanController.java @@ -0,0 +1,63 @@ +package com.ruoyi.collaborativeApproval.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.collaborativeApproval.dto.DutyPlanDTO; +import com.ruoyi.collaborativeApproval.mapper.DutyPlanMapper; +import com.ruoyi.collaborativeApproval.pojo.DutyPlan; +import com.ruoyi.collaborativeApproval.pojo.RulesRegulationsManagement; +import com.ruoyi.collaborativeApproval.service.DutyPlanService; +import com.ruoyi.common.utils.excel.ExcelUtils; +import com.ruoyi.framework.web.domain.AjaxResult; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@RestController +@RequestMapping("/dutyPlan") +@AllArgsConstructor +public class DutyPlanController { + @Autowired + private DutyPlanService dutyPlanService; + + @GetMapping("/getList") + @ApiOperation("鍒嗛〉鏌ヨ") + public AjaxResult listPage(Page page, DutyPlanDTO dutyPlanDTO){ + return AjaxResult.success(dutyPlanService.listPage(page, dutyPlanDTO)); + } + @GetMapping("/getNum") + @ApiOperation("鑾峰彇绛夌骇鏁版嵁") + public AjaxResult getNum(){ + return AjaxResult.success(dutyPlanService.getNum()); + } + + @PostMapping("/add") + @ApiOperation("鏂板") + public AjaxResult add(@RequestBody DutyPlan dutyPlan){ + return AjaxResult.success(dutyPlanService.save(dutyPlan)); + } + + @PostMapping("/update") + @ApiOperation("淇敼") + public AjaxResult update(@RequestBody DutyPlan dutyPlan){ + return AjaxResult.success(dutyPlanService.updateById(dutyPlan)); + } + + @DeleteMapping("/delete") + @ApiOperation("鍒犻櫎") + public AjaxResult delete(@RequestBody List<Long> ids){ + if (CollectionUtils.isEmpty(ids)) { + throw new RuntimeException("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + } + return AjaxResult.success(dutyPlanService.removeBatchByIds(ids)); + } + @PostMapping("/export") + @ApiOperation("瀵煎嚭") + public void exportData(HttpServletResponse response, DutyPlanDTO dutyPlanDTO){ + dutyPlanService.exportData(response, dutyPlanDTO); + } +} diff --git a/src/main/java/com/ruoyi/collaborativeApproval/dto/DutyPlanDTO.java b/src/main/java/com/ruoyi/collaborativeApproval/dto/DutyPlanDTO.java new file mode 100644 index 0000000..4f3936f --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/dto/DutyPlanDTO.java @@ -0,0 +1,22 @@ +package com.ruoyi.collaborativeApproval.dto; + +import org.springframework.format.annotation.DateTimeFormat; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.collaborativeApproval.pojo.DutyPlan; +import lombok.Data; + +import java.time.LocalDate; +import java.util.List; + +@Data +public class DutyPlanDTO extends DutyPlan { + private List<String> tags; + + /** + * 鏌ヨ鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate queryDate; +} diff --git a/src/main/java/com/ruoyi/collaborativeApproval/mapper/DutyPlanMapper.java b/src/main/java/com/ruoyi/collaborativeApproval/mapper/DutyPlanMapper.java new file mode 100644 index 0000000..b9bffe1 --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/mapper/DutyPlanMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.collaborativeApproval.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.collaborativeApproval.dto.DutyPlanDTO; +import com.ruoyi.collaborativeApproval.pojo.DutyPlan; +import io.lettuce.core.dynamic.annotation.Param; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface DutyPlanMapper extends BaseMapper<DutyPlan> { + IPage<DutyPlanDTO> listPage(Page page, @Param("dutyPlan") DutyPlanDTO dutyPlan); + + + List<Map<String, Object>> getNum(); +} diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/DutyPlan.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/DutyPlan.java new file mode 100644 index 0000000..f8d75b9 --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/DutyPlan.java @@ -0,0 +1,100 @@ +package com.ruoyi.collaborativeApproval.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.approve.utils.ListToStringTypeHandler; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.ibatis.type.JdbcType; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Data +@TableName("duty_plan") +public class DutyPlan{ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /** + * 璁″垝鏍囬 + */ + @Excel(name = "璁″垝鏍囬") + @ApiModelProperty("璁″垝鏍囬") + private String title; + /** + * 璁″垝鎻忚堪 + */ + @Excel(name = "璁″垝鎻忚堪") + @ApiModelProperty("璁″垝鎻忚堪") + private String description; + + + /** + * 璁″垝绾у埆 + */ + @Excel(name = "璁″垝绾у埆") + @ApiModelProperty("璁″垝绾у埆") + private String level; + /** + * 鏃堕棿鍛ㄦ湡 + */ + @Excel(name = "鏃堕棿鍛ㄦ湡") + @ApiModelProperty("鏃堕棿鍛ㄦ湡") + private String period; + /** + * 寮�濮嬫椂闂� + */ + @Excel(name = "寮�濮嬫椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate startDate; + /** + * 缁撴潫鏃堕棿 + */ + @Excel(name = "缁撴潫鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate endDate; + + /** + * 璐熻矗浜� + */ + @Excel(name = "璐熻矗浜�") + @ApiModelProperty("璐熻矗浜�") + private String assignee; + /** + * 鐘舵�� + */ + @Excel(name = "鐘舵��") + @ApiModelProperty("鐘舵��") + private String status; + /** + * 浼樺厛绾� + */ + @Excel(name = "浼樺厛绾�") + @ApiModelProperty("浼樺厛绾�") + private String priority; + /** + * 瀹屾垚搴� + */ + @Excel(name = "瀹屾垚搴�") + @ApiModelProperty("瀹屾垚搴�") + private Integer progress; + /** + * 鏍囩 + */ + @Excel(name = "鏍囩") + @ApiModelProperty("鏍囩") + @TableField(value = "tags",typeHandler = ListToStringTypeHandler.class,jdbcType = JdbcType.VARCHAR) + private List<String> tags; + /** + * 绉熸埛ID + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + +} diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/RulesRegulationsManagement.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/RulesRegulationsManagement.java index 6f5ea51..80dc338 100644 --- a/src/main/java/com/ruoyi/collaborativeApproval/pojo/RulesRegulationsManagement.java +++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/RulesRegulationsManagement.java @@ -80,6 +80,8 @@ * 鍒涘缓鏃堕棿 */ @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * 淇敼浜� @@ -90,6 +92,8 @@ * 淇敼鏃堕棿 */ @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; /** * 绉熸埛ID diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/SealApplicationManagement.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/SealApplicationManagement.java index 6525fc3..d7a4222 100644 --- a/src/main/java/com/ruoyi/collaborativeApproval/pojo/SealApplicationManagement.java +++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/SealApplicationManagement.java @@ -1,8 +1,10 @@ package com.ruoyi.collaborativeApproval.pojo; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @@ -54,6 +56,8 @@ * 鍒涘缓鏃堕棿 */ @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * 绉熸埛ID diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/DutyPlanService.java b/src/main/java/com/ruoyi/collaborativeApproval/service/DutyPlanService.java new file mode 100644 index 0000000..67bff22 --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/service/DutyPlanService.java @@ -0,0 +1,19 @@ +package com.ruoyi.collaborativeApproval.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.collaborativeApproval.dto.DutyPlanDTO; +import com.ruoyi.collaborativeApproval.pojo.DutyPlan; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +public interface DutyPlanService extends IService<DutyPlan> { + IPage listPage(Page page, DutyPlanDTO dutyPlanDTO); + + List<Map<String, Object>> getNum(); + + void exportData(HttpServletResponse response, DutyPlanDTO dutyPlan); +} diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/DutyPlanServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/DutyPlanServiceImpl.java new file mode 100644 index 0000000..b70f67a --- /dev/null +++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/DutyPlanServiceImpl.java @@ -0,0 +1,41 @@ +package com.ruoyi.collaborativeApproval.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.collaborativeApproval.dto.DutyPlanDTO; +import com.ruoyi.collaborativeApproval.mapper.DutyPlanMapper; +import com.ruoyi.collaborativeApproval.pojo.DutyPlan; +import com.ruoyi.collaborativeApproval.service.DutyPlanService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +@Service +public class DutyPlanServiceImpl extends ServiceImpl<DutyPlanMapper, DutyPlan> implements DutyPlanService { + @Autowired + private DutyPlanMapper dutyPlanMapper; + + @Override + public IPage listPage(Page page, DutyPlanDTO dutyPlanDTO) { + return dutyPlanMapper.listPage(page, dutyPlanDTO); + } + + @Override + public List<Map<String, Object>> getNum() { + + return dutyPlanMapper.getNum(); + } + + @Override + public void exportData(HttpServletResponse response, DutyPlanDTO dutyPlanDTO) { + IPage<DutyPlanDTO> dutyPlans = dutyPlanMapper.listPage(new Page<>(-1, -1), dutyPlanDTO); + List<DutyPlanDTO> records = dutyPlans.getRecords(); + ExcelUtil<DutyPlanDTO> util = new ExcelUtil<>(DutyPlanDTO.class); + util.exportExcel(response, records, "璁″垝瀵煎嚭"); + } +} diff --git a/src/main/resources/mapper/collaborativeApproval/DutyPlanMapper.xml b/src/main/resources/mapper/collaborativeApproval/DutyPlanMapper.xml new file mode 100644 index 0000000..6c1679d --- /dev/null +++ b/src/main/resources/mapper/collaborativeApproval/DutyPlanMapper.xml @@ -0,0 +1,40 @@ +<?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.collaborativeApproval.mapper.DutyPlanMapper"> + <resultMap id="DutyPlanDTOMap" type="com.ruoyi.collaborativeApproval.dto.DutyPlanDTO"> + <result column="id" property="id"/> + <result column="tags" property="tags" typeHandler="com.ruoyi.approve.utils.ListToStringTypeHandler"/> + </resultMap> + + <select id="listPage" resultMap="DutyPlanDTOMap"> + select * from duty_plan + <where> + 1=1 + <if test="dutyPlan.title != null and dutyPlan.title != ''"> + and title like concat('%',#{dutyPlan.title},'%') + </if> + <if test="dutyPlan.level != null"> + and level = #{dutyPlan.level} + </if> + <if test="dutyPlan.period != null"> + and period = #{dutyPlan.period} + </if> + <if test="dutyPlan.queryDate != null"> + and start_date <= #{dutyPlan.queryDate} + and end_date >= #{dutyPlan.queryDate} + </if> + </where> + </select> + + <select id="getNum" resultType="java.util.Map"> + SELECT + level, + COUNT(*) AS num, + ROUND(COUNT(*) / total.count * 100) AS completion + FROM + duty_plan, + (SELECT COUNT(*) AS count FROM duty_plan) AS total + GROUP BY + level, total.count + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/collaborativeApproval/RulesRegulationsManagementMapper.xml b/src/main/resources/mapper/collaborativeApproval/RulesRegulationsManagementMapper.xml index c34b460..03dc024 100644 --- a/src/main/resources/mapper/collaborativeApproval/RulesRegulationsManagementMapper.xml +++ b/src/main/resources/mapper/collaborativeApproval/RulesRegulationsManagementMapper.xml @@ -17,6 +17,9 @@ from rules_regulations_management rrm left join sys_user su on rrm.create_user = su.user_id <where> + <if test="ew.regulationNum != null and ew.regulationNum != ''"> + and rrm.regulation_num = #{ew.regulationNum} + </if> <if test="ew.title != null and ew.title != ''"> and rrm.title like concat('%',#{ew.title},'%') </if> -- Gitblit v1.9.3