wanghongzhi 1 anno fa
parent
commit
754b44a1ab
27 ha cambiato i file con 579 aggiunte e 98 eliminazioni
  1. 0 14
      src/main/java/com/qdport/controller/FlowableController.java
  2. 14 23
      src/main/java/com/qdport/controller/PolicyCaseController.java
  3. 61 0
      src/main/java/com/qdport/controller/PolicyProgressController.java
  4. 13 16
      src/main/java/com/qdport/controller/PolicyShareController.java
  5. 14 13
      src/main/java/com/qdport/controller/PolicyStriveController.java
  6. 5 0
      src/main/java/com/qdport/controller/PolicySystemController.java
  7. 93 0
      src/main/java/com/qdport/controller/PolicyTemplateController.java
  8. 0 3
      src/main/java/com/qdport/entity/PolicyFile.java
  9. 12 0
      src/main/java/com/qdport/entity/PolicyShare.java
  10. 12 0
      src/main/java/com/qdport/entity/PolicyStrive.java
  11. 49 0
      src/main/java/com/qdport/entity/PolicyTemplate.java
  12. 5 0
      src/main/java/com/qdport/enums/QDPortEnum.java
  13. 14 0
      src/main/java/com/qdport/mapper/PolicyTemplateMapper.java
  14. 3 1
      src/main/java/com/qdport/query/PolicyCaseQuery.java
  15. 42 0
      src/main/java/com/qdport/query/PolicyProgressQuery.java
  16. 9 1
      src/main/java/com/qdport/query/PolicyShareQuery.java
  17. 3 1
      src/main/java/com/qdport/query/PolicyStriveQuery.java
  18. 28 0
      src/main/java/com/qdport/query/PolicyTemplateQuery.java
  19. 24 0
      src/main/java/com/qdport/service/PolicyTemplateService.java
  20. 4 12
      src/main/java/com/qdport/service/impl/PolicyCaseServiceImpl.java
  21. 2 8
      src/main/java/com/qdport/service/impl/PolicyShareServiceImpl.java
  22. 2 6
      src/main/java/com/qdport/service/impl/PolicyStriveServiceImpl.java
  23. 3 0
      src/main/java/com/qdport/service/impl/PolicySystemService.java
  24. 102 0
      src/main/java/com/qdport/service/impl/PolicyTemplateServiceImpl.java
  25. 11 0
      src/main/java/com/qdport/vo/PolicyProgressVo.java
  26. 23 0
      src/main/java/com/qdport/vo/PolicyTemplateVO.java
  27. 31 0
      src/main/java/com/qdport/wrapper/PolicyTemplateWrapper.java

+ 0 - 14
src/main/java/com/qdport/controller/FlowableController.java

@@ -1,14 +0,0 @@
-package com.qdport.controller;
-
-import io.swagger.annotations.Api;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping("qdport-zcgx/flawable")
-@Api(value = "审批流相关", tags = "审批流相关")
-@AllArgsConstructor
-public class FlowableController {
-
-}

+ 14 - 23
src/main/java/com/qdport/controller/PolicyCaseController.java

@@ -2,7 +2,9 @@ package com.qdport.controller;
 
 import com.qdport.entity.PolicyStrive;
 import com.qdport.enums.QDPortEnum;
+import com.qdport.modules.system.entity.SysDept;
 import com.qdport.modules.system.entity.SysUser;
+import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.modules.system.service.TSysUserService;
 import com.qdport.service.PolicyFileService;
 import com.qdport.service.PolicyStriveService;
@@ -46,15 +48,13 @@ public class PolicyCaseController extends QdportController {
     @Resource
     private PolicyCaseService policyCaseService;
     @Resource
-    private TSysUserService sysUserService;
-    @Resource
-    private PolicySystemService policySystemService;
-    @Resource
     private PolicyFileService policyFileService;
     @Resource
     private PolicyTodoService policyTodoService;
     @Resource
     private PolicyStriveService policyStriveService;
+    @Resource
+    private SysDeptService sysDeptService;
 
     /**
      * 分页
@@ -65,10 +65,6 @@ public class PolicyCaseController extends QdportController {
         IPage<PolicyCaseVO> page = policyCaseService.page(query);
         List<PolicyCaseVO> records = page.getRecords();
         for (PolicyCaseVO model : records) {
-            SysUser createUser = sysUserService.getById(model.getCreateId());
-            Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-            model.setDeptName(resultMap.get("deptName"));
-            model.setCompanyName(resultMap.get("companyName"));
 
             List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
             model.setFileList(fileList);
@@ -77,10 +73,11 @@ public class PolicyCaseController extends QdportController {
             if (StringUtil.isNotEmpty(strive)) {
                 PolicyStriveVO striveVO = new PolicyStriveVO();
                 BeanUtils.copyProperties(strive, striveVO);
-                createUser = sysUserService.getById(strive.getCreateId());
-                resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-                striveVO.setDeptName(resultMap.get("deptName"));
-                striveVO.setCompanyName(resultMap.get("companyName"));
+                SysDept dept = sysDeptService.getById(striveVO.getDeptId());
+                striveVO.setDeptName(dept.getName());
+                SysDept company = sysDeptService.getById(striveVO.getCompanyId());
+                striveVO.setCompanyName(company.getName());
+
                 model.setPolicyStrive(striveVO);
             }
         }
@@ -97,21 +94,15 @@ public class PolicyCaseController extends QdportController {
         PolicyCase entity = policyCaseService.getById(id);
         PolicyCaseVO vo = PolicyCaseWrapper.build().entityVO(entity);
 
-        SysUser createUser = sysUserService.getById(entity.getCreateId());
-        Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-        vo.setDeptName(resultMap.get("deptName"));
-        vo.setCompanyName(resultMap.get("companyName"));
-
         PolicyStrive strive = policyStriveService.getById(entity.getStriveId());
         PolicyStriveVO striveVO = new PolicyStriveVO();
         BeanUtils.copyProperties(strive, striveVO);
-        createUser = sysUserService.getById(strive.getCreateId());
-        resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-        striveVO.setDeptName(resultMap.get("deptName"));
-        striveVO.setCompanyName(resultMap.get("companyName"));
-
+        SysDept dept = sysDeptService.getById(striveVO.getDeptId());
+        striveVO.setDeptName(dept.getName());
+        SysDept company = sysDeptService.getById(striveVO.getCompanyId());
+        striveVO.setCompanyName(company.getName());
 
-        List<PolicyFileVO> fileList = policyFileService.getFileList(strive.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
+        List<PolicyFileVO> fileList = policyFileService.getFileList(strive.getId(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
         striveVO.setFileList(fileList);
         vo.setPolicyStrive(striveVO);
         return R.data(vo);

+ 61 - 0
src/main/java/com/qdport/controller/PolicyProgressController.java

@@ -0,0 +1,61 @@
+package com.qdport.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qdport.core.boot.ctrl.QdportController;
+import com.qdport.core.tool.api.R;
+import com.qdport.modules.system.entity.SysDept;
+import com.qdport.modules.system.service.SysDeptService;
+import com.qdport.query.PolicyProgressQuery;
+import com.qdport.query.QueryWrapperBuilder;
+import com.qdport.service.PolicyShareService;
+import com.qdport.service.PolicyStriveService;
+import com.qdport.util.StringUtil;
+import com.qdport.vo.PolicyProgressVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@RequestMapping("qdport-zcgx/progress")
+@Api(value = "进度管理", tags = "进度管理")
+public class PolicyProgressController extends QdportController {
+    @Resource
+    private PolicyShareService policyShareService;
+    @Resource
+    private PolicyStriveService policyStriveService;
+    @Resource
+    private SysDeptService sysDeptService;
+
+    @GetMapping("sharePage")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage> page(@Valid PolicyProgressQuery query) {
+        IPage<SysDept> page = new Page<>(query.getPage(), query.getSize());
+        QueryWrapper<SysDept> wrapper = QueryWrapperBuilder.buildQueryWrapper(query, SysDept.class);
+        if (StringUtil.isEmpty(query.getBeginCreateTime()) || StringUtil.isEmpty(query.getEndCreateTime())) {
+            throw new RuntimeException("参数错误");
+        }
+
+        if (StringUtil.isNotEmpty(query.getIsCreate())) {
+
+        }
+
+
+        page = sysDeptService.page(page, wrapper);
+        List<SysDept> records = page.getRecords();
+
+        List<PolicyProgressVo> progressVoList = new ArrayList<>();
+        for (SysDept model : records) {
+
+        }
+        return null;
+    }
+}

+ 13 - 16
src/main/java/com/qdport/controller/PolicyShareController.java

@@ -2,16 +2,15 @@ package com.qdport.controller;
 
 import com.qdport.entity.PolicyShare;
 import com.qdport.enums.QDPortEnum;
+import com.qdport.modules.system.entity.SysDept;
+import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.query.PolicyShareQuery;
 import com.qdport.service.PolicyFileService;
 import com.qdport.service.PolicyShareService;
 import com.qdport.service.PolicyTodoService;
-import com.qdport.service.impl.PolicySystemService;
 import com.qdport.vo.PolicyFileVO;
 import com.qdport.vo.PolicyShareVO;
 import com.qdport.wrapper.PolicyShareWrapper;
-import com.qdport.modules.system.entity.SysUser;
-import com.qdport.modules.system.service.TSysUserService;
 import org.springframework.web.bind.annotation.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,13 +38,11 @@ public class PolicyShareController extends QdportController {
     @Resource
     private PolicyShareService policyShareService;
     @Resource
-    private TSysUserService sysUserService;
-    @Resource
-    private PolicySystemService policySystemService;
-    @Resource
     private PolicyFileService policyFileService;
     @Resource
     private PolicyTodoService policyTodoService;
+    @Resource
+    private SysDeptService sysDeptService;
 
     /**
      * 分页
@@ -56,11 +53,11 @@ public class PolicyShareController extends QdportController {
         IPage<PolicyShareVO> page = policyShareService.page(query);
         List<PolicyShareVO> records = page.getRecords();
         for (PolicyShareVO model : records) {
-            SysUser createUser = sysUserService.getById(model.getCreateId());
-            Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-            model.setDeptName(resultMap.get("deptName"));
-            model.setCompanyName(resultMap.get("companyName"));
-            List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_SHARE.getValue());
+            SysDept dept = sysDeptService.getById(model.getDeptId());
+            model.setDeptName(dept.getName());
+            SysDept company = sysDeptService.getById(model.getCompanyId());
+            model.setCompanyName(company.getName());
+            List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_SHARE.getValue());
             model.setFileList(fileList);
         }
         return R.data(page);
@@ -75,10 +72,10 @@ public class PolicyShareController extends QdportController {
         PolicyShare entity = policyShareService.getById(id);
         PolicyShareVO vo = PolicyShareWrapper.build().entityVO(entity);
 
-        SysUser createUser = sysUserService.getById(entity.getCreateId());
-        Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-        vo.setDeptName(resultMap.get("deptName"));
-        vo.setCompanyName(resultMap.get("companyName"));
+        SysDept dept = sysDeptService.getById(vo.getDeptId());
+        vo.setDeptName(dept.getName());
+        SysDept company = sysDeptService.getById(vo.getCompanyId());
+        vo.setCompanyName(company.getName());
 
         List<PolicyFileVO> fileList = policyFileService.getFileList(entity.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_SHARE.getValue());
 

+ 14 - 13
src/main/java/com/qdport/controller/PolicyStriveController.java

@@ -6,7 +6,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qdport.entity.PolicyTodo;
 import com.qdport.enums.QDPortEnum;
+import com.qdport.modules.system.entity.SysDept;
 import com.qdport.modules.system.entity.SysUser;
+import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.modules.system.service.TSysUserService;
 import com.qdport.service.PolicyFileService;
 import com.qdport.service.PolicyTodoService;
@@ -49,13 +51,11 @@ public class PolicyStriveController extends QdportController {
     @Resource
     private PolicyStriveService policyStriveService;
     @Resource
-    private TSysUserService sysUserService;
-    @Resource
-    private PolicySystemService policySystemService;
-    @Resource
     private PolicyFileService policyFileService;
     @Resource
     private PolicyTodoService policyTodoService;
+    @Resource
+    private SysDeptService sysDeptService;
 
     /**
      * 分页
@@ -66,12 +66,13 @@ public class PolicyStriveController extends QdportController {
         IPage<PolicyStriveVO> page = policyStriveService.page(query);
         List<PolicyStriveVO> records = page.getRecords();
         for (PolicyStriveVO model : records) {
-            SysUser createUser = sysUserService.getById(model.getCreateId());
-            Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-            model.setDeptName(resultMap.get("deptName"));
-            model.setCompanyName(resultMap.get("companyName"));
 
-            List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
+            SysDept dept = sysDeptService.getById(model.getDeptId());
+            model.setDeptName(dept.getName());
+            SysDept company = sysDeptService.getById(model.getCompanyId());
+            model.setCompanyName(company.getName());
+
+            List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
             model.setFileList(fileList);
         }
         return R.data(page);
@@ -87,10 +88,10 @@ public class PolicyStriveController extends QdportController {
 
         PolicyStriveVO vo = PolicyStriveWrapper.build().entityVO(entity);
 
-        SysUser createUser = sysUserService.getById(entity.getCreateId());
-        Map<String, String> resultMap = policySystemService.getDeptNameAndCompanyName(createUser.getDeptId());
-        vo.setDeptName(resultMap.get("deptName"));
-        vo.setCompanyName(resultMap.get("companyName"));
+        SysDept dept = sysDeptService.getById(vo.getDeptId());
+        vo.setDeptName(dept.getName());
+        SysDept company = sysDeptService.getById(vo.getCompanyId());
+        vo.setCompanyName(company.getName());
 
         List<PolicyFileVO> fileList = policyFileService.getFileList(entity.getId().toString(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_STRIVE.getValue());
 

+ 5 - 0
src/main/java/com/qdport/controller/PolicySystemController.java

@@ -1,7 +1,11 @@
 package com.qdport.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qdport.core.tool.api.R;
+import com.qdport.modules.system.entity.SysDept;
+import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.service.impl.PolicySystemService;
+import com.qdport.vo.PolicyProgressVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -11,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 import java.util.Map;
 
 @RestController

+ 93 - 0
src/main/java/com/qdport/controller/PolicyTemplateController.java

@@ -0,0 +1,93 @@
+package com.qdport.controller;
+
+import com.qdport.entity.PolicyTemplate;
+import com.qdport.enums.QDPortEnum;
+import com.qdport.service.PolicyFileService;
+import com.qdport.service.PolicyTemplateService;
+import com.qdport.query.PolicyTemplateQuery;
+import com.qdport.vo.PolicyFileVO;
+import com.qdport.vo.PolicyTemplateVO;
+import com.qdport.wrapper.PolicyTemplateWrapper;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.qdport.core.tool.api.R;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.boot.ctrl.QdportController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 模板管理
+ *
+ * @author yuheng
+ * @since 1.0.0 2024-10-25
+ */
+@RestController
+@RequestMapping("qdport-zcgx/template")
+@Api(value = "模板管理", tags = "模板管理")
+public class PolicyTemplateController extends QdportController {
+    @Resource
+    private PolicyTemplateService policyTemplateService;
+    @Resource
+    private PolicyFileService policyFileService;
+    /**
+     * 分页
+     */
+    @GetMapping("page")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage<PolicyTemplateVO>> page(@Valid PolicyTemplateQuery query) {
+        IPage<PolicyTemplateVO> page = policyTemplateService.page(query);
+        List<PolicyTemplateVO> records = page.getRecords();
+
+        for (PolicyTemplateVO model : records) {
+            List<PolicyFileVO> fileList = policyFileService.getFileList(model.getId(), QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+            model.setFileList(fileList);
+        }
+        return R.data(page);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("{id}")
+    @ApiOperation(value = "详情", notes = "id")
+    public R<PolicyTemplateVO> get(@PathVariable("id") String id) {
+        PolicyTemplate entity = policyTemplateService.getById(id);
+        return R.data(PolicyTemplateWrapper.build().entityVO(entity));
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "新增", notes = "传入PolicyTemplate")
+    public R save(@RequestBody PolicyTemplateVO vo) {
+        policyTemplateService.save(vo);
+        return R.success("保存成功");
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    public R update(@RequestBody @Valid PolicyTemplateVO vo) {
+        policyTemplateService.update(vo);
+        return R.success("更新成功");
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R delete(@ApiParam(value = "主键集合", required = true) @RequestParam(name = "ids") String ids) {
+        List<String> idList = Func.toStrList(ids);
+        policyTemplateService.delete(idList);
+        return R.success("删除成功");
+    }
+}

+ 0 - 3
src/main/java/com/qdport/entity/PolicyFile.java

@@ -51,9 +51,6 @@ public class PolicyFile implements Serializable {
 	@ApiModelProperty(value = "创建时间")
 	private Date createTime;
 
-	@JsonSerialize(
-			using = ToStringSerializer.class
-	)
 	@ApiModelProperty(value = "关联id")
 	private String refId;
 	@ApiModelProperty(value = "关联类型")

+ 12 - 0
src/main/java/com/qdport/entity/PolicyShare.java

@@ -152,6 +152,18 @@ public class PolicyShare implements Serializable {
 	@ApiModelProperty(value = "解读内容")
 	private String decodeContent;
 
+	@ApiModelProperty(value = "填报人部门id")
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	private Long deptId;
+
+	@ApiModelProperty(value = "填报人单位id")
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	private Long companyId;
+
 	@ApiModelProperty(value = "流程任务id")
 	private String processTaskId;
 	@ApiModelProperty(value = "流程实例id")

+ 12 - 0
src/main/java/com/qdport/entity/PolicyStrive.java

@@ -201,6 +201,18 @@ public class PolicyStrive implements Serializable {
 	@ApiModelProperty(value = "是否案例")
 	private Integer isCase;
 
+	@ApiModelProperty(value = "填报人部门id")
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	private Long deptId;
+
+	@ApiModelProperty(value = "填报人单位id")
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	private Long companyId;
+
 	@ApiModelProperty(value = "流程任务id")
 	private String processTaskId;
 	@ApiModelProperty(value = "流程实例id")

+ 49 - 0
src/main/java/com/qdport/entity/PolicyTemplate.java

@@ -0,0 +1,49 @@
+package com.qdport.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 模板管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-25
+ */
+
+@Data
+@TableName("POLICY_TEMPLATE")
+@ApiModel(value = "PolicyTemplate对象", description = "PolicyTemplate")
+public class PolicyTemplate implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "id")
+	@TableId(
+			value = "id",
+			type = IdType.ASSIGN_UUID
+	)
+	private String id;
+	@ApiModelProperty(value = "模板类型")
+	private String refType;
+	@ApiModelProperty(value = "模板名称")
+	private String templateName;
+	@ApiModelProperty(value = "模板地址")
+	private String templateUrl;
+
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+
+}

+ 5 - 0
src/main/java/com/qdport/enums/QDPortEnum.java

@@ -29,6 +29,7 @@ public enum QDPortEnum {
 
     POLICY_FILE_REFTYPE_POLICY_SHARE("policy_share", "政策分享"),
     POLICY_FILE_REFTYPE_POLICY_STRIVE("policy_strive", "政策争取"),
+    POLICY_FILE_REFTYPE_POLICY_TEMPLATE("policy_template", "模板"),
 
     POLICY_TODO_REFTYPE_POLICY_SHARE("policy_share", "政策分享"),
     POLICY_TODO_REFTYPE_POLICY_STRIVE("policy_strive", "政策争取"),
@@ -40,6 +41,10 @@ public enum QDPortEnum {
 
     POLICY_TODO_TYPE_APPROVE("approve", "审核"),
 
+    POLICY_TEMPLATE_REFTYPE_POLICY_SHARE("policy_share", "政策分享"),
+    POLICY_TEMPLATE_REFTYPE_POLICY_STRIVE("policy_strive", "政策争取"),
+    POLICY_TEMPLATE_REFTYPE_POLICY_STRIVE_MONTH("policy_strive_month", "月度维护"),
+
     POLICY_PROCESS_TYPE_USER_TASK("userTask", "已经审批通过的节点+正在审批的节点(去除箭头)"),
 
 

+ 14 - 0
src/main/java/com/qdport/mapper/PolicyTemplateMapper.java

@@ -0,0 +1,14 @@
+package com.qdport.mapper;
+
+import com.qdport.entity.PolicyTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* 模板管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-25
+*/
+public interface PolicyTemplateMapper extends BaseMapper<PolicyTemplate> {
+
+}

+ 3 - 1
src/main/java/com/qdport/query/PolicyCaseQuery.java

@@ -35,5 +35,7 @@ public class PolicyCaseQuery implements Serializable {
     )
     private Date endCreateTime;
 
-    private Long deptId;
+    @ApiModelProperty("下面两个参数是查询逻辑:用户之前的填报记录和用户当前部门的所有记录")
+    private Long userDeptId;
+    private Long createId;
 }

+ 42 - 0
src/main/java/com/qdport/query/PolicyProgressQuery.java

@@ -0,0 +1,42 @@
+package com.qdport.query;
+
+import com.qdport.annotation.Wrapper;
+import com.qdport.enums.Comparison;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+* 模板管理查询
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-25
+*/
+@Data
+@ApiModel(value = "进度管理查询", description = "进度管理查询")
+public class PolicyProgressQuery implements Serializable {
+    @ApiModelProperty("分页参数当前页")
+    private Integer page=1;
+    @ApiModelProperty("分页参数页码大小")
+    private Integer size=20;
+
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date beginCreateTime;
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    private Date endCreateTime;
+
+    @Wrapper(value = Comparison.LIKE)
+    private String name;
+
+    private Integer isCreate;
+    private Integer isDelay;
+}

+ 9 - 1
src/main/java/com/qdport/query/PolicyShareQuery.java

@@ -51,5 +51,13 @@ public class PolicyShareQuery implements Serializable {
     )
     private Date endCreateTime;
 
-    private Long deptId;
+    @ApiModelProperty("下面两个参数是查询逻辑:用户之前的填报记录和用户当前部门的所有记录")
+    private Long userDeptId;
+    private Long createId;
+//    @Wrapper
+//    private Long companyId;
+//    @Wrapper
+//    private Long deptId;
+
+
 }

+ 3 - 1
src/main/java/com/qdport/query/PolicyStriveQuery.java

@@ -53,5 +53,7 @@ public class PolicyStriveQuery implements Serializable {
     @Wrapper
     private Integer isCase;
 
-    private Long deptId;
+    @ApiModelProperty("下面两个参数是查询逻辑:用户之前的填报记录和用户当前部门的所有记录")
+    private Long userDeptId;
+    private Long createId;
 }

+ 28 - 0
src/main/java/com/qdport/query/PolicyTemplateQuery.java

@@ -0,0 +1,28 @@
+package com.qdport.query;
+import com.qdport.annotation.Wrapper;
+import com.qdport.enums.Comparison;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+
+/**
+* 模板管理查询
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-25
+*/
+@Data
+@ApiModel(value = "模板管理查询", description = "模板管理查询")
+public class PolicyTemplateQuery implements Serializable {
+    @ApiModelProperty("分页参数当前页")
+    private Integer page=1;
+    @ApiModelProperty("分页参数页码大小")
+    private Integer size=20;
+
+    @Wrapper(value = Comparison.LIKE)
+    private String templateName;
+    @Wrapper
+    private String refType;
+}

+ 24 - 0
src/main/java/com/qdport/service/PolicyTemplateService.java

@@ -0,0 +1,24 @@
+package com.qdport.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qdport.vo.PolicyTemplateVO;
+import com.qdport.query.PolicyTemplateQuery;
+import com.qdport.entity.PolicyTemplate;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 模板管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-25
+ */
+public interface PolicyTemplateService  extends IService<PolicyTemplate> {
+
+    IPage<PolicyTemplateVO> page(PolicyTemplateQuery query);
+
+    void save(PolicyTemplateVO vo);
+
+    void update(PolicyTemplateVO vo);
+
+    void delete(List<String> idList);
+}

+ 4 - 12
src/main/java/com/qdport/service/impl/PolicyCaseServiceImpl.java

@@ -2,15 +2,12 @@ package com.qdport.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qdport.entity.PolicyStrive;
 import com.qdport.entity.PolicyTodo;
 import com.qdport.enums.QDPortEnum;
 import com.qdport.mapper.PolicyTodoMapper;
-import com.qdport.modules.system.entity.SysUser;
 import com.qdport.modules.system.service.TSysUserService;
 import com.qdport.query.QueryWrapperBuilder;
 import com.qdport.service.PolicyFlowNoService;
@@ -19,7 +16,6 @@ import com.qdport.util.StringUtil;
 import com.qdport.vo.PolicyStriveVO;
 import com.qdport.workflow.process.model.WfProcess;
 import com.qdport.workflow.process.service.IWfProcessService;
-import lombok.AllArgsConstructor;
 import com.qdport.entity.PolicyCase;
 import com.qdport.query.PolicyCaseQuery;
 import com.qdport.vo.PolicyCaseVO;
@@ -71,6 +67,9 @@ public class PolicyCaseServiceImpl extends ServiceImpl<PolicyCaseMapper, PolicyC
         wrapper.orderByDesc("CREATE_TIME");
 
         QueryWrapper<PolicyStrive> striveWrapper = new QueryWrapper<>();
+        if (StringUtil.isNotEmpty(query.getCreateId()) && StringUtil.isNotEmpty(query.getUserDeptId())) {
+            striveWrapper.apply("(CREATE_ID = " + query.getCreateId() + " or DEPT_ID = " + query.getUserDeptId() + ")");
+        }
         if (StringUtil.isNotEmpty(query.getZcName())) {
             striveWrapper.like("NAME", query.getZcName());
         }
@@ -92,18 +91,11 @@ public class PolicyCaseServiceImpl extends ServiceImpl<PolicyCaseMapper, PolicyC
         if (!striveWrapper.isEmptyOfEntity()) {
             List<PolicyStrive> striveList = policyStriveService.list(striveWrapper);
             if (!striveList.isEmpty()) {
-                List<String> idList = striveList.stream().map(PolicyStrive::getId).collect(Collectors.toList());
+                List<String> idList = striveList.stream().skip((query.getPage() - 1) * query.getSize()).limit(query.getSize()).map(PolicyStrive::getId).collect(Collectors.toList());
                 wrapper.in("STRIVE_ID", idList);
             }
         }
 
-        if (StringUtil.isNotEmpty(query.getDeptId())) {
-            QueryWrapper<SysUser> userWrapper = new QueryWrapper<>();
-            userWrapper.eq("dept_id", query.getDeptId());
-            List<SysUser> userList = sysUserService.list(userWrapper);
-            List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
-            wrapper.in("create_id", userIdList);
-        }
         return wrapper;
     }
 

+ 2 - 8
src/main/java/com/qdport/service/impl/PolicyShareServiceImpl.java

@@ -8,7 +8,6 @@ import com.qdport.entity.PolicyFile;
 import com.qdport.entity.PolicyTodo;
 import com.qdport.mapper.PolicyTodoMapper;
 import com.qdport.modules.system.entity.SysUser;
-import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.modules.system.service.TSysUserService;
 import com.qdport.query.QueryWrapperBuilder;
 import com.qdport.service.PolicyFileService;
@@ -69,13 +68,8 @@ public class PolicyShareServiceImpl extends ServiceImpl<PolicyShareMapper, Polic
     private QueryWrapper<PolicyShare> getWrapper(PolicyShareQuery query) {
         QueryWrapper<PolicyShare> wrapper = QueryWrapperBuilder.buildQueryWrapper(query, PolicyShare.class);
         wrapper.orderByDesc("CREATE_TIME");
-
-        if (StringUtil.isNotEmpty(query.getDeptId())) {
-            QueryWrapper<SysUser> userWrapper = new QueryWrapper<>();
-            userWrapper.eq("dept_id", query.getDeptId());
-            List<SysUser> userList = sysUserService.list(userWrapper);
-            List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
-            wrapper.in("create_id", userIdList);
+        if(StringUtil.isNotEmpty(query.getCreateId())&& StringUtil.isNotEmpty(query.getUserDeptId())){
+            wrapper.apply("(CREATE_ID = " + query.getCreateId() + " or DEPT_ID = " + query.getUserDeptId() + ")");
         }
         return wrapper;
     }

+ 2 - 6
src/main/java/com/qdport/service/impl/PolicyStriveServiceImpl.java

@@ -86,12 +86,8 @@ public class PolicyStriveServiceImpl extends ServiceImpl<PolicyStriveMapper, Pol
         QueryWrapper<PolicyStrive> wrapper = QueryWrapperBuilder.buildQueryWrapper(query, PolicyStrive.class);
         wrapper.orderByDesc("CREATE_TIME");
 
-        if (StringUtil.isNotEmpty(query.getDeptId())) {
-            QueryWrapper<SysUser> userWrapper = new QueryWrapper<>();
-            userWrapper.eq("dept_id", query.getDeptId());
-            List<SysUser> userList = sysUserService.list(userWrapper);
-            List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
-            wrapper.in("create_id", userIdList);
+        if (StringUtil.isNotEmpty(query.getCreateId()) && StringUtil.isNotEmpty(query.getUserDeptId())) {
+            wrapper.apply("(CREATE_ID = " + query.getCreateId() + " or DEPT_ID = " + query.getUserDeptId() + ")");
         }
         return wrapper;
     }

+ 3 - 0
src/main/java/com/qdport/service/impl/PolicySystemService.java

@@ -19,18 +19,21 @@ public class PolicySystemService {
         Map<String, String> result = new HashMap<>();
         SysDept dept = deptService.getById(deptId);
         result.put("deptName", dept.getName());
+        result.put("deptId", dept.getId());
         if (QDPortEnum.SYS_DEPT_TYPE_DEPT.getValue().equals(dept.getDeptType().toString())) {
             Long pid = dept.getParentId();
             while (true){
                 SysDept pDept = deptService.getById(pid);
                 if (QDPortEnum.SYS_DEPT_TYPE_COMPANY.getValue().equals(pDept.getDeptType().toString())) {
                     result.put("companyName", pDept.getName());
+                    result.put("companyId", pDept.getId());
                     break;
                 }
                 pid = pDept.getParentId();
             }
         } else {
             result.put("companyName", dept.getName());
+            result.put("companyId", dept.getId());
         }
         return result;
     }

+ 102 - 0
src/main/java/com/qdport/service/impl/PolicyTemplateServiceImpl.java

@@ -0,0 +1,102 @@
+package com.qdport.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qdport.entity.PolicyFile;
+import com.qdport.enums.QDPortEnum;
+import com.qdport.query.QueryWrapperBuilder;
+import com.qdport.service.PolicyFileService;
+import com.qdport.vo.PolicyFileVO;
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyTemplate;
+import com.qdport.query.PolicyTemplateQuery;
+import com.qdport.vo.PolicyTemplateVO;
+import com.qdport.mapper.PolicyTemplateMapper;
+import com.qdport.service.PolicyTemplateService;
+import com.qdport.wrapper.PolicyTemplateWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 模板管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-25
+ */
+@Service
+public class PolicyTemplateServiceImpl extends ServiceImpl<PolicyTemplateMapper, PolicyTemplate> implements PolicyTemplateService {
+    @Resource
+    private PolicyFileService policyFileService;
+    @Override
+    public IPage<PolicyTemplateVO> page(PolicyTemplateQuery query) {
+        IPage<PolicyTemplate> page = new Page<>(query.getPage(), query.getSize());
+        page = baseMapper.selectPage(page, getWrapper(query));
+        return PolicyTemplateWrapper.build().pageVO(page);
+    }
+
+    private QueryWrapper<PolicyTemplate> getWrapper(PolicyTemplateQuery query){
+        QueryWrapper<PolicyTemplate> wrapper = QueryWrapperBuilder.buildQueryWrapper(query, PolicyTemplate.class);
+        wrapper.orderByDesc("CREATE_TIME");
+        return wrapper;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void save(PolicyTemplateVO vo) {
+        PolicyTemplate entity = BeanUtil.copy(vo,PolicyTemplate.class);
+        entity.setCreateTime(new Date());
+        baseMapper.insert(entity);
+
+        QueryWrapper<PolicyFile> fileWrapper = new QueryWrapper<>();
+        fileWrapper.eq("REF_ID", entity.getId());
+        fileWrapper.eq("REF_TYPE", QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+        policyFileService.remove(fileWrapper);
+
+        List<PolicyFileVO> fileList = vo.getFileList();
+        for (PolicyFileVO model : fileList) {
+            model.setCreateTime(new Date());
+            model.setRefId(entity.getId());
+            model.setRefType(QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+            policyFileService.save(model);
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(PolicyTemplateVO vo) {
+        PolicyTemplate entity = BeanUtil.copy(vo,PolicyTemplate.class);
+        updateById(entity);
+
+        QueryWrapper<PolicyFile> fileWrapper = new QueryWrapper<>();
+        fileWrapper.eq("REF_ID", entity.getId());
+        fileWrapper.eq("REF_TYPE", QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+        policyFileService.remove(fileWrapper);
+
+        List<PolicyFileVO> fileList = vo.getFileList();
+        for (PolicyFileVO model : fileList) {
+            model.setCreateTime(new Date());
+            model.setRefId(entity.getId());
+            model.setRefType(QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+            policyFileService.save(model);
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delete(List<String> idList) {
+        removeByIds(idList);
+
+        QueryWrapper<PolicyFile> fileWrapper = new QueryWrapper<>();
+        fileWrapper.in("REF_ID", idList);
+        fileWrapper.eq("REF_TYPE", QDPortEnum.POLICY_FILE_REFTYPE_POLICY_TEMPLATE.getValue());
+        policyFileService.remove(fileWrapper);
+    }
+
+}

+ 11 - 0
src/main/java/com/qdport/vo/PolicyProgressVo.java

@@ -0,0 +1,11 @@
+package com.qdport.vo;
+
+import com.qdport.entity.PolicyShare;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class PolicyProgressVo extends PolicyShare {
+
+}

+ 23 - 0
src/main/java/com/qdport/vo/PolicyTemplateVO.java

@@ -0,0 +1,23 @@
+package com.qdport.vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.qdport.entity.PolicyTemplate;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* 模板管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-25
+*/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PolicyTemplateVO extends PolicyTemplate {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "附件")
+	private List<PolicyFileVO> fileList = new ArrayList<>();
+}

+ 31 - 0
src/main/java/com/qdport/wrapper/PolicyTemplateWrapper.java

@@ -0,0 +1,31 @@
+package com.qdport.wrapper;
+import com.qdport.core.mp.support.BaseEntityWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import java.util.Objects;
+import com.qdport.vo.PolicyTemplateVO;
+import com.qdport.entity.PolicyTemplate;
+import lombok.Data;
+/**
+* 模板管理Wrapper
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-25
+*/
+@Data
+public class PolicyTemplateWrapper extends BaseEntityWrapper<PolicyTemplate, PolicyTemplateVO> {
+
+    public static PolicyTemplateWrapper build() {
+        return new PolicyTemplateWrapper();
+    }
+
+    @Override
+    public PolicyTemplateVO entityVO(PolicyTemplate entity) {
+        PolicyTemplateVO vo = Objects.requireNonNull(BeanUtil.copy(entity, PolicyTemplateVO.class));
+        //User createUser = UserCache.getUser(entity.getCreateUser());
+        //User updateUser = UserCache.getUser(entity.getUpdateUser());
+        //vo.setCreateUserName(createUser.getName());
+        //vo.setUpdateUserName(updateUser.getName());
+        return vo;
+    }
+
+}