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