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("è¯·ä¼ å ¥è¦å é¤çID"); } return AjaxResult.success(dutyPlanService.removeBatchByIds(ids)); } @PostMapping("/export") @ApiOperation("导åº") public void exportData(HttpServletResponse response, DutyPlanDTO dutyPlanDTO){ dutyPlanService.exportData(response, dutyPlanDTO); } } 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; } 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(); } 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; } 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 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 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); } 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, "计å导åº"); } } 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> 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>