hlf 2 년 전
부모
커밋
a6f135cfa5
20개의 변경된 파일551개의 추가작업 그리고 81개의 파일을 삭제
  1. 64 0
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentPerformanceAppraisalRatingController.java
  2. 73 0
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentalPerformanceIndicatorAssessmentController.java
  3. 14 63
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentalPerformanceIndicatorPlanController.java
  4. 0 3
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationDeptController.java
  5. 1 1
      ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptBusinessPlanMapper.java
  6. 4 2
      ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptPlanContentMapper.java
  7. 16 0
      ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptRatingMapper.java
  8. 12 2
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptBusinessPlan.java
  9. 15 2
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptPlanContent.java
  10. 64 0
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptRating.java
  11. 5 1
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptBusinessPlanService.java
  12. 4 2
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptPlanContentService.java
  13. 19 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptRatingService.java
  14. 3 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/custom/WorkflowService.java
  15. 75 4
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptBusinessPlanServiceImpl.java
  16. 38 1
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptPlanContentImpl.java
  17. 49 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptRatingServiceImpl.java
  18. 7 0
      ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptBusinessPlanMapper.xml
  19. 17 0
      ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptPlanContentMapper.xml
  20. 71 0
      ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptRatingMapper.xml

+ 64 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentPerformanceAppraisalRatingController.java

@@ -0,0 +1,64 @@
+package com.ims.eval.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ims.eval.entity.EvaluationDeptRating;
+import com.ims.eval.entity.dto.result.R;
+import com.ims.eval.service.IEvaluationDeptRatingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 本部部门绩效考核评级
+ *
+ * @author hlf
+ * @date 2023/4/28 16:22
+ * 文件说明:
+ */
+@RestController
+@RequestMapping("//evaluation-dept-rating")
+public class DepartmentPerformanceAppraisalRatingController {
+
+	@Autowired
+	private IEvaluationDeptRatingService evaluationDeptRatingService;
+
+	/**
+	 * 部门绩效考核评级列表信息(分页)
+	 *
+	 * @param pageNum            当前记录起始索引
+	 * @param pageSize           每页显示记录数
+	 * @param deptName           部门名称
+	 * @param annual             月度
+	 * @return 结果
+	 */
+	//@ImsPreAuth("eval:evaluationDeptRating:view")
+	@GetMapping(value = "list")
+	public R list(
+		@RequestParam(value = "pageNum") Integer pageNum,
+		@RequestParam(value = "pageSize") Integer pageSize,
+		@RequestParam(value = "deptName", required = false) String deptName,
+		@RequestParam(value = "annual", required = false) String annual) {
+		IPage<EvaluationDeptRating> list = evaluationDeptRatingService.listPage(pageNum, pageSize, deptName, annual);
+		return R.ok().data(list);
+	}
+
+	/**
+	 * 部门绩效考核评级信息
+	 *
+	 * @param deptName           部门名称
+	 * @param annual             月度
+	 * @return 结果
+	 */
+	//@ImsPreAuth("eval:evaluationDeptRating:view")
+	@GetMapping(value = "listAll")
+	public R listAll(
+		@RequestParam(value = "deptName", required = false) String deptName,
+		@RequestParam(value = "annual", required = false) String annual) {
+		List<EvaluationDeptRating> list = evaluationDeptRatingService.listAll(deptName, annual);
+		return R.ok().data(list);
+	}
+}

+ 73 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentalPerformanceIndicatorAssessmentController.java

@@ -0,0 +1,73 @@
+package com.ims.eval.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ims.eval.entity.EvaluationDeptBusinessPlan;
+import com.ims.eval.entity.EvaluationDeptPlanContent;
+import com.ims.eval.entity.dto.result.R;
+import com.ims.eval.service.IEvaluationDeptBusinessPlanService;
+import com.ims.eval.service.IEvaluationDeptPlanContentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * 本部部门业绩指标考核
+ *
+ * @author hlf
+ * @date 2023/4/28 10:09
+ * 文件说明:
+ */
+@RestController
+@RequestMapping("//evaluation-dept-assessment")
+public class DepartmentalPerformanceIndicatorAssessmentController {
+
+	@Autowired
+	private IEvaluationDeptBusinessPlanService evaluationDeptBusinessPlanService;
+
+	@Autowired
+	private IEvaluationDeptPlanContentService evaluationDeptPlanContentService;
+
+	@Autowired
+	private HttpServletRequest request;
+
+	/**
+	 * 部门考评业务列表信息(分页)
+	 *
+	 * @param pageNum            当前记录起始索引
+	 * @param pageSize           每页显示记录数
+	 * @param responsibilityCode 业务编码
+	 * @param des                业务简述
+	 * @param appraisalYear      月度
+	 * @param stage              流程状态
+	 * @return 结果
+	 */
+	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:view")
+	@GetMapping(value = "list")
+	public R list(
+		@RequestParam(value = "pageNum") Integer pageNum,
+		@RequestParam(value = "pageSize") Integer pageSize,
+		@RequestParam(value = "responsibilityCode", required = false) String responsibilityCode,
+		@RequestParam(value = "des", required = false) String des,
+		@RequestParam(value = "appraisalYear", required = false) String appraisalYear,
+		@RequestParam(value = "stage", required = false) String stage) {
+		stage = "流程已结束";
+		IPage<EvaluationDeptBusinessPlan> list = evaluationDeptBusinessPlanService.listPage(pageNum, pageSize, responsibilityCode, des, appraisalYear, stage);
+		return R.ok().data(list);
+	}
+
+	/**
+	 * 详情
+	 *
+	 * @param id 业务主键
+	 * @return 结果
+	 */
+	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:view")
+	@GetMapping(value = "/details/{id}")
+	public R details(@PathVariable("id") String id) {
+		List<EvaluationDeptPlanContent> list = evaluationDeptPlanContentService.detailsList(id, "指标结果", request);
+		return R.ok().data(list);
+	}
+
+}

+ 14 - 63
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentalPerformanceIndicatorPlanController.java

@@ -14,12 +14,13 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
 /**
- * 部门业绩指标计划
+ * 本部部门业绩指标计划
  *
  * @author hlf
  * @date 2023/4/26 14:15
@@ -33,16 +34,10 @@ public class DepartmentalPerformanceIndicatorPlanController {
 	private IEvaluationDeptBusinessPlanService evaluationDeptBusinessPlanService;
 
 	@Autowired
-	private IEvaluationDeptService evaluationDeptService;
-
-	@Autowired
-	private IEvaluationDeptIndicatorService evaluationDeptIndicatorService;
-
-	@Autowired
-	private IEvaluationDeptIndicatorItemService evaluationDeptIndicatorItemService;
+	private IEvaluationDeptPlanContentService evaluationDeptPlanContentService;
 
 	@Autowired
-	private IEvaluationDeptPlanContentService evaluationDeptPlanContentService;
+	private HttpServletRequest request;
 
 	/**
 	 * 部门考评业务列表信息(分页)
@@ -52,6 +47,7 @@ public class DepartmentalPerformanceIndicatorPlanController {
 	 * @param responsibilityCode 业务编码
 	 * @param des                业务简述
 	 * @param appraisalYear      月度
+	 * @param stage              流程状态
 	 * @return 结果
 	 */
 	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:view")
@@ -61,8 +57,9 @@ public class DepartmentalPerformanceIndicatorPlanController {
 		@RequestParam(value = "pageSize") Integer pageSize,
 		@RequestParam(value = "responsibilityCode", required = false) String responsibilityCode,
 		@RequestParam(value = "des", required = false) String des,
-		@RequestParam(value = "appraisalYear", required = false) String appraisalYear) {
-		IPage<EvaluationDeptBusinessPlan> list = evaluationDeptBusinessPlanService.listPage(pageNum, pageSize, responsibilityCode, des, appraisalYear);
+		@RequestParam(value = "appraisalYear", required = false) String appraisalYear,
+		@RequestParam(value = "stage", required = false) String stage) {
+		IPage<EvaluationDeptBusinessPlan> list = evaluationDeptBusinessPlanService.listPage(pageNum, pageSize, responsibilityCode, des, appraisalYear, stage);
 		return R.ok().data(list);
 	}
 
@@ -92,48 +89,8 @@ public class DepartmentalPerformanceIndicatorPlanController {
 	 */
 	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:edit")
 	@PostMapping(value = "/save")
-	@ApiOperation(value = "新增", notes = "新增")
 	public R addAll(@RequestBody EvaluationDeptBusinessPlan deptBusinessPlan) {
 		try {
-			String businessPlanId = Convert.toStr(IdUtil.getSnowflake(1, 1).nextId());
-			deptBusinessPlan.setId(businessPlanId);
-			deptBusinessPlan.setResponsibilityCode("bmkp_" + deptBusinessPlan.getAppraisalYear() + RandomUtil.randomString(6));
-			deptBusinessPlan.setBusinessClass("年度考评");
-			deptBusinessPlan.setDocumentStatus("有效");
-			deptBusinessPlan.setStage("流程未启动");
-			QueryWrapper<EvaluationDept> qw = new QueryWrapper<>();
-			if (StringUtils.isNotEmpty(deptBusinessPlan.getAppraisalYear())) {
-				qw.lambda().eq(EvaluationDept::getAnnual, deptBusinessPlan.getAppraisalYear());
-			}
-			List<EvaluationDept> evaluationDeptList = evaluationDeptService.list(qw);
-			StringBuilder deptIds = new StringBuilder();
-			StringBuilder deptNames = new StringBuilder();
-			for (int i = 0; i < evaluationDeptList.size(); i++) {
-				EvaluationDept evaluationDept = evaluationDeptList.get(i);
-				List<EvaluationDeptIndicatorItem> evaluationDeptIndicatorItemList = evaluationDeptIndicatorItemService.selectEvaluationDeptIndicatorItemListByEvaluationDeptId(evaluationDept.getDeptId());
-				for (EvaluationDeptIndicatorItem evaluationDeptIndicatorItem : evaluationDeptIndicatorItemList) {
-					EvaluationDeptIndicator evaluationDeptIndicator = evaluationDeptIndicatorService.getById(evaluationDeptIndicatorItem.getEvaluationDeptIndicatorId());
-					EvaluationDeptPlanContent evaluationDeptPlanContent = new EvaluationDeptPlanContent();
-					evaluationDeptPlanContent.setBusinessPlanId(businessPlanId);
-					evaluationDeptPlanContent.setDeptId(evaluationDept.getDeptId());
-					evaluationDeptPlanContent.setDeptName(evaluationDept.getDeptName());
-					evaluationDeptPlanContent.setIndicatorId(evaluationDeptIndicator.getId());
-					evaluationDeptPlanContent.setIndicatorName(evaluationDeptIndicator.getIndicatorName());
-					evaluationDeptPlanContent.setIndicatorItemId(evaluationDeptIndicatorItem.getId());
-					evaluationDeptPlanContent.setIndicatorItemName(evaluationDeptIndicatorItem.getIndicatorItemName());
-					evaluationDeptPlanContent.setAuditStatus("审批未开始");
-					evaluationDeptPlanContentService.save(evaluationDeptPlanContent);
-				}
-				if (i == evaluationDeptList.size() - 1) {
-					deptIds.append(evaluationDept.getDeptId());
-					deptNames.append(evaluationDept.getDeptName());
-				} else {
-					deptIds.append(evaluationDept.getDeptId()).append(",");
-					deptNames.append(evaluationDept.getDeptName()).append(",");
-				}
-			}
-			deptBusinessPlan.setDeptId(deptIds.toString());
-			deptBusinessPlan.setDeptName(deptNames.toString());
 			boolean b = evaluationDeptBusinessPlanService.save(deptBusinessPlan);
 			if (b) {
 				return R.ok().data(b);
@@ -153,7 +110,6 @@ public class DepartmentalPerformanceIndicatorPlanController {
 	 */
 	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:remove")
 	@PostMapping(value = "/removeAll/{ids}")
-	@ApiOperation(value = "批量删除", notes = "批量删除")
 	public R deleteAll(@PathVariable("ids") String ids) {
 		String[] strings = ids.split(",");
 		boolean b = evaluationDeptBusinessPlanService.removeByIds(Arrays.asList(strings));
@@ -171,29 +127,24 @@ public class DepartmentalPerformanceIndicatorPlanController {
 	 * @return 结果
 	 */
 	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:view")
-	@GetMapping(value = "details")
-	public R details(@RequestParam(value = "id", required = false) String id) {
-		QueryWrapper<EvaluationDeptPlanContent> qw = new QueryWrapper<>();
-		if (StringUtils.isNotEmpty(id)) {
-			qw.lambda().eq(EvaluationDeptPlanContent::getBusinessPlanId, id);
-		}
-		List<EvaluationDeptPlanContent> list = evaluationDeptPlanContentService.list(qw);
+	@GetMapping(value = "/details/{id}")
+	public R details(@PathVariable("id") String id) {
+		List<EvaluationDeptPlanContent> list = evaluationDeptPlanContentService.detailsList(id, "指标计划", request);
 		return R.ok().data(list);
 	}
 
 	/**
 	 * 详情里指标内容修改
 	 *
-	 * @param evaluationDeptPlanContent
+	 * @param evaluationDeptPlanContentList
 	 * @return
 	 */
 
 	//@ImsPreAuth("eval:evaluationDeptBusinessPlan:edit")
 	@PostMapping(value = "/update")
-	@ApiOperation(value = "修改", notes = "修改")
-	public R update(@RequestBody EvaluationDeptPlanContent evaluationDeptPlanContent) {
+	public R update(@RequestBody List<EvaluationDeptPlanContent> evaluationDeptPlanContentList) {
 		try {
-			boolean b = evaluationDeptPlanContentService.updateById(evaluationDeptPlanContent);
+			boolean b = evaluationDeptPlanContentService.saveOrUpdateBatch(evaluationDeptPlanContentList);
 			if (b) {
 				return R.ok().data(b);
 			} else {

+ 0 - 3
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationDeptController.java

@@ -107,7 +107,6 @@ public class EvaluationDeptController {
 	 */
 	//@ImsPreAuth("eval:evaluationDept:edit")
 	@PostMapping(value = "/save")
-	@ApiOperation(value = "新增(修改)", notes = "新增(修改)")
 	public R addAll(@RequestBody EvaluationDept dept) {
 		try {
 			boolean b;
@@ -206,7 +205,6 @@ public class EvaluationDeptController {
 	 */
 	//@ImsPreAuth("eval:evaluationDept:remove")
 	@PostMapping(value = "/removeAll/{ids}")
-	@ApiOperation(value = "批量删除", notes = "批量删除")
 	public R deleteAll(@PathVariable("ids") String ids) {
 		String[] strings = ids.split(",");
 		boolean b;
@@ -238,7 +236,6 @@ public class EvaluationDeptController {
 	 */
 	//@ImsPreAuth("eval:evaluationDept:remove")
 	@PostMapping(value = "/remove/{id}")
-	@ApiOperation(value = "删除", notes = "删除")
 	public R delete(@PathVariable("id") String id) {
 		boolean b = evaluationDeptIndicatorItemService.removeById(id);
 		if (b) {

+ 1 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptBusinessPlanMapper.java

@@ -14,5 +14,5 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface EvaluationDeptBusinessPlanMapper extends BaseMapper<EvaluationDeptBusinessPlan> {
 
-	IPage<EvaluationDeptBusinessPlan> selectListPage(Page<EvaluationDeptBusinessPlan> page, @Param("responsibilityCode") String responsibilityCode, @Param("des") String des, @Param("appraisalYear") String appraisalYear);
+	IPage<EvaluationDeptBusinessPlan> selectListPage(Page<EvaluationDeptBusinessPlan> page, @Param("responsibilityCode") String responsibilityCode, @Param("des") String des, @Param("appraisalYear") String appraisalYear, @Param("stage") String stage);
 }

+ 4 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptPlanContentMapper.java

@@ -2,6 +2,9 @@ package com.ims.eval.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ims.eval.entity.EvaluationDeptPlanContent;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author hlf
@@ -10,6 +13,5 @@ import com.ims.eval.entity.EvaluationDeptPlanContent;
  */
 public interface EvaluationDeptPlanContentMapper extends BaseMapper<EvaluationDeptPlanContent> {
 
-
-
+    List<EvaluationDeptPlanContent> detailsList(@Param("businessPlanId") String businessPlanId, @Param("indicatorCategory") String indicatorCategory);
 }

+ 16 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationDeptRatingMapper.java

@@ -0,0 +1,16 @@
+package com.ims.eval.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ims.eval.entity.EvaluationDeptRating;
+
+/**
+ * @author hlf
+ * @date 2023/4/28 16:18
+ * 文件说明:
+ */
+public interface EvaluationDeptRatingMapper extends BaseMapper<EvaluationDeptRating> {
+
+	IPage<EvaluationDeptRating> selectListPage(Page<EvaluationDeptRating> page, String deptName, String annual);
+}

+ 12 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptBusinessPlan.java

@@ -56,11 +56,16 @@ public class EvaluationDeptBusinessPlan extends Model {
 	private String documentStatus;
 
 	/**
-	 * 审批状态
+	 * 计划审批状态
 	 */
 	private String stage;
 
 	/**
+	 * 考核审批状态
+	 */
+	private String assessmentStage;
+
+	/**
 	 * 描述
 	 */
 	private String des;
@@ -96,11 +101,16 @@ public class EvaluationDeptBusinessPlan extends Model {
 	private String finalReviewOpinion;
 
 	/**
-	 * 流程实例ID
+	 * 计划流程实例ID
 	 */
 	private String instId;
 
 	/**
+	 * 考核流程实例ID
+	 */
+	private String assessmentInstId;
+
+	/**
 	 * 创建时间
 	 */
 	private String createTime;

+ 15 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptPlanContent.java

@@ -1,5 +1,6 @@
 package com.ims.eval.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -7,7 +8,7 @@ import lombok.EqualsAndHashCode;
 /**
  * @author hlf
  * @date 2023/4/27 16:00
- * 文件说明:部门考评计划内容
+ * 文件说明:本部部门业绩指标考核内容
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
@@ -61,8 +62,20 @@ public class EvaluationDeptPlanContent extends Model {
 	private String targetValue;
 
 	/**
-	 * 审核状态
+	 * 审核状态(未开始-1 待审核0 已完成1)
 	 */
 	private String auditStatus;
 
+	/**
+	 * 修改标记
+	 */
+	@TableField(exist = false)
+	private Boolean updateMark;
+
+	/**
+	 * 指标类别(指标计划 指标结果)
+	 */
+	@TableField(exist = false)
+	private String indicatorCategory;
+
 }

+ 64 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDeptRating.java

@@ -0,0 +1,64 @@
+package com.ims.eval.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.apache.poi.ss.formula.functions.Count;
+
+/**
+ * @author hlf
+ * @date 2023/4/28 14:13
+ * 文件说明:本部部门绩效考核评级
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EvaluationDeptRating extends Model {
+
+	private static final long serialVersionUID = 1L;
+
+	//主键
+	private String id;
+	//部门主键
+	private String deptId;
+	//部门名称
+	private String deptName;
+	//年度
+	private String annual;
+	//一月
+	private String jan;
+	//二月
+	private String feb;
+	//三月
+	private String mar;
+	//四月
+	private String apr;
+	//五月
+	private String may;
+	//六月
+	private String jun;
+	//七月
+	private String jul;
+	//八月
+	private String aug;
+	//九月
+	private String sep;
+	//十月
+	private String oct;
+	//十一月
+	private String nov;
+	//十二月
+	private String dece;
+	//A级总数
+	private String aCount;
+	//A级原因
+	private String aCause;
+	//创建时间
+	private String createTime;
+	//创建者
+	private String createBy;
+	//更新时间
+	private String updateTime;
+	//更新者
+	private String updateBy;
+
+}

+ 5 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptBusinessPlanService.java

@@ -13,9 +13,13 @@ import java.util.List;
  */
 public interface IEvaluationDeptBusinessPlanService extends IService<EvaluationDeptBusinessPlan> {
 
-	IPage<EvaluationDeptBusinessPlan> listPage(Integer pageNum, Integer pageSize, String responsibilityCode, String des, String appraisalYear);
+	IPage<EvaluationDeptBusinessPlan> listPage(Integer pageNum, Integer pageSize, String responsibilityCode, String des, String appraisalYear, String stage);
 
 	List<EvaluationDeptBusinessPlan> listAll(String responsibilityCode, String des, String appraisalYear);
 
+	boolean save(EvaluationDeptBusinessPlan deptBusinessPlan);
+
 	boolean editState(String id, String state, String instId);
+
+	boolean editAState(String id, String assessmentStage, String assessmentInstId);
 }

+ 4 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptPlanContentService.java

@@ -3,6 +3,9 @@ package com.ims.eval.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ims.eval.entity.EvaluationDeptPlanContent;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
 /**
  * @author hlf
  * @date 2023/4/27 16:03
@@ -10,6 +13,5 @@ import com.ims.eval.entity.EvaluationDeptPlanContent;
  */
 public interface IEvaluationDeptPlanContentService extends IService<EvaluationDeptPlanContent> {
 
-
-
+    List<EvaluationDeptPlanContent> detailsList(String businessPlanId, String indicatorCategory, HttpServletRequest request);
 }

+ 19 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationDeptRatingService.java

@@ -0,0 +1,19 @@
+package com.ims.eval.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ims.eval.entity.EvaluationDeptRating;
+
+import java.util.List;
+
+/**
+ * @author hlf
+ * @date 2023/4/28 16:16
+ * 文件说明:
+ */
+public interface IEvaluationDeptRatingService extends IService<EvaluationDeptRating> {
+
+	IPage<EvaluationDeptRating> listPage(Integer pageNum, Integer pageSize, String deptName, String annual);
+
+	List<EvaluationDeptRating> listAll(String deptName, String annual);
+}

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/custom/WorkflowService.java

@@ -246,6 +246,9 @@ public class WorkflowService {
 			case "bbbmyjzbjh"://本部部门业绩指标计划
 				evaluationDeptBusinessPlanService.editState(bizKey,taskName,instId);
 				break;
+			case "bbbmyjzbkh"://本部部门业绩指标考核
+				evaluationDeptBusinessPlanService.editAState(bizKey,taskName,instId);
+				break;
 		}
 		return true;
 

+ 75 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptBusinessPlanServiceImpl.java

@@ -1,13 +1,16 @@
 package com.ims.eval.service.impl;
 
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.IdUtil;
 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.dao.EvaluationDeptBusinessPlanMapper;
-import com.ims.eval.entity.EvaluationDeptBusinessPlan;
-import com.ims.eval.service.IEvaluationDeptBusinessPlanService;
+import com.ims.eval.entity.*;
+import com.ims.eval.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -20,14 +23,26 @@ import java.util.List;
 @Service
 public class EvaluationDeptBusinessPlanServiceImpl extends ServiceImpl<EvaluationDeptBusinessPlanMapper, EvaluationDeptBusinessPlan> implements IEvaluationDeptBusinessPlanService {
 
+	@Autowired
+	private IEvaluationDeptService evaluationDeptService;
+
+	@Autowired
+	private IEvaluationDeptIndicatorService evaluationDeptIndicatorService;
+
+	@Autowired
+	private IEvaluationDeptIndicatorItemService evaluationDeptIndicatorItemService;
+
+	@Autowired
+	private IEvaluationDeptPlanContentService evaluationDeptPlanContentService;
+
 	@Override
-	public IPage<EvaluationDeptBusinessPlan> listPage(Integer pageNum, Integer pageSize, String responsibilityCode, String des, String appraisalYear) {
+	public IPage<EvaluationDeptBusinessPlan> listPage(Integer pageNum, Integer pageSize, String responsibilityCode, String des, String appraisalYear, String stage) {
 		if (null == pageNum || null == pageSize) {
 			throw new RuntimeException("分页参数为空");
 		}
 		//构造分页构造器
 		Page<EvaluationDeptBusinessPlan> page = new Page<>(pageNum, pageSize);
-		return baseMapper.selectListPage(page, responsibilityCode, des, appraisalYear);
+		return baseMapper.selectListPage(page, responsibilityCode, des, appraisalYear, stage);
 	}
 
 	@Override
@@ -50,6 +65,50 @@ public class EvaluationDeptBusinessPlanServiceImpl extends ServiceImpl<Evaluatio
 	}
 
 	@Override
+	public boolean save(EvaluationDeptBusinessPlan deptBusinessPlan) {
+		String businessPlanId = Convert.toStr(IdUtil.getSnowflake(1, 1).nextId());
+		deptBusinessPlan.setId(businessPlanId);
+		deptBusinessPlan.setResponsibilityCode("bmkp_" + deptBusinessPlan.getBusinessClass().toLowerCase() + "_" + deptBusinessPlan.getAppraisalYear());
+		deptBusinessPlan.setDocumentStatus("有效");
+		deptBusinessPlan.setStage("流程未启动");
+		deptBusinessPlan.setAssessmentStage("流程未启动");
+		QueryWrapper<EvaluationDept> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(deptBusinessPlan.getAppraisalYear())) {
+			qw.lambda().eq(EvaluationDept::getAnnual, deptBusinessPlan.getAppraisalYear());
+		}
+		List<EvaluationDept> evaluationDeptList = evaluationDeptService.list(qw);
+		StringBuilder deptIds = new StringBuilder();
+		StringBuilder deptNames = new StringBuilder();
+		for (int i = 0; i < evaluationDeptList.size(); i++) {
+			EvaluationDept evaluationDept = evaluationDeptList.get(i);
+			List<EvaluationDeptIndicatorItem> evaluationDeptIndicatorItemList = evaluationDeptIndicatorItemService.selectEvaluationDeptIndicatorItemListByEvaluationDeptId(evaluationDept.getId());
+			for (EvaluationDeptIndicatorItem evaluationDeptIndicatorItem : evaluationDeptIndicatorItemList) {
+				EvaluationDeptIndicator evaluationDeptIndicator = evaluationDeptIndicatorService.getById(evaluationDeptIndicatorItem.getEvaluationDeptIndicatorId());
+				EvaluationDeptPlanContent evaluationDeptPlanContent = new EvaluationDeptPlanContent();
+				evaluationDeptPlanContent.setBusinessPlanId(businessPlanId);
+				evaluationDeptPlanContent.setDeptId(evaluationDept.getDeptId());
+				evaluationDeptPlanContent.setDeptName(evaluationDept.getDeptName());
+				evaluationDeptPlanContent.setIndicatorId(evaluationDeptIndicator.getId());
+				evaluationDeptPlanContent.setIndicatorName(evaluationDeptIndicator.getIndicatorName());
+				evaluationDeptPlanContent.setIndicatorItemId(evaluationDeptIndicatorItem.getId());
+				evaluationDeptPlanContent.setIndicatorItemName(evaluationDeptIndicatorItem.getIndicatorItemName());
+				evaluationDeptPlanContent.setAuditStatus("-1");
+				evaluationDeptPlanContentService.save(evaluationDeptPlanContent);
+			}
+			if (i == evaluationDeptList.size() - 1) {
+				deptIds.append(evaluationDept.getDeptId());
+				deptNames.append(evaluationDept.getDeptName());
+			} else {
+				deptIds.append(evaluationDept.getDeptId()).append(",");
+				deptNames.append(evaluationDept.getDeptName()).append(",");
+			}
+		}
+		deptBusinessPlan.setDeptId(deptIds.toString());
+		deptBusinessPlan.setDeptName(deptNames.toString());
+		return super.save(deptBusinessPlan);
+	}
+
+	@Override
 	public boolean editState(String id, String state, String instId) {
 		EvaluationDeptBusinessPlan evaluationDeptBusinessPlan = baseMapper.selectById(id);
 		if (StringUtils.isNotEmpty(state)) {
@@ -60,4 +119,16 @@ public class EvaluationDeptBusinessPlanServiceImpl extends ServiceImpl<Evaluatio
 		}
 		return super.saveOrUpdate(evaluationDeptBusinessPlan);
 	}
+
+	@Override
+	public boolean editAState(String id, String assessmentStage, String assessmentInstId) {
+		EvaluationDeptBusinessPlan evaluationDeptBusinessPlan = baseMapper.selectById(id);
+		if (StringUtils.isNotEmpty(assessmentStage)) {
+			evaluationDeptBusinessPlan.setAssessmentStage(assessmentStage);
+		}
+		if (StringUtils.isNotEmpty(assessmentInstId)) {
+			evaluationDeptBusinessPlan.setAssessmentInstId(assessmentInstId);
+		}
+		return super.saveOrUpdate(evaluationDeptBusinessPlan);
+	}
 }

+ 38 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptPlanContentImpl.java

@@ -1,11 +1,21 @@
 package com.ims.eval.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ims.common.utils.Constant;
+import com.ims.eval.config.CustomException;
 import com.ims.eval.dao.EvaluationDeptPlanContentMapper;
 import com.ims.eval.entity.EvaluationDeptPlanContent;
+import com.ims.eval.entity.Myuser;
+import com.ims.eval.entity.dto.response.MyuserResDTO;
 import com.ims.eval.service.IEvaluationDeptPlanContentService;
+import com.ims.eval.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
 /**
  * @author hlf
  * @date 2023/4/27 16:03
@@ -14,6 +24,33 @@ import org.springframework.stereotype.Service;
 @Service
 public class EvaluationDeptPlanContentImpl extends ServiceImpl<EvaluationDeptPlanContentMapper, EvaluationDeptPlanContent> implements IEvaluationDeptPlanContentService {
 
+	@Autowired
+	private IUserService userService;
 
-
+	@Override
+	public List<EvaluationDeptPlanContent> detailsList(String businessPlanId, String indicatorCategory, HttpServletRequest request) {
+		List<EvaluationDeptPlanContent> evaluationDeptPlanContentList = baseMapper.detailsList(businessPlanId, indicatorCategory);
+		/*Myuser myuser = userService.getSysUser(request);
+		if (null != myuser) {
+			throw new CustomException("暂无权限");
+		} else {
+			for (EvaluationDeptPlanContent evaluationDeptPlanContent : evaluationDeptPlanContentList) {
+				boolean updateMark = false;
+				if (!"".equals(myuser.getDeptId())) {
+					if (myuser.getDeptId().equals(evaluationDeptPlanContent.getDeptId())) {
+						updateMark = true;
+					} else if (myuser.getLoginName().equals("admin")) {
+						updateMark = true;
+					} else {
+						throw new CustomException("暂无权限");
+					}
+				}
+				evaluationDeptPlanContent.setUpdateMark(updateMark);
+			}
+		}*/
+		evaluationDeptPlanContentList.stream().forEach(i->{
+			i.setUpdateMark(true);
+		});
+		return evaluationDeptPlanContentList;
+	}
 }

+ 49 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationDeptRatingServiceImpl.java

@@ -0,0 +1,49 @@
+package com.ims.eval.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ims.common.utils.StringUtils;
+import com.ims.eval.dao.EvaluationDeptRatingMapper;
+import com.ims.eval.entity.EvaluationDeptBusinessPlan;
+import com.ims.eval.entity.EvaluationDeptRating;
+import com.ims.eval.service.IEvaluationDeptRatingService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author hlf
+ * @date 2023/4/28 16:16
+ * 文件说明:
+ */
+@Service
+public class EvaluationDeptRatingServiceImpl extends ServiceImpl<EvaluationDeptRatingMapper, EvaluationDeptRating> implements IEvaluationDeptRatingService {
+
+	@Override
+	public IPage<EvaluationDeptRating> listPage(Integer pageNum, Integer pageSize, String deptName, String annual) {
+		if (null == pageNum || null == pageSize) {
+			throw new RuntimeException("分页参数为空");
+		}
+		//构造分页构造器
+		Page<EvaluationDeptRating> page = new Page<>(pageNum, pageSize);
+		return baseMapper.selectListPage(page, deptName, annual);
+	}
+
+	@Override
+	public List<EvaluationDeptRating> listAll(String deptName, String annual) {
+		QueryWrapper<EvaluationDeptRating> qw = new QueryWrapper<>();
+
+		if (StringUtils.isNotEmpty(deptName)) {
+			qw.lambda().eq(EvaluationDeptRating::getDeptName, deptName);
+		}
+
+		if (StringUtils.isNotEmpty(annual)) {
+			qw.lambda().eq(EvaluationDeptRating::getAnnual, annual);
+		}
+
+		return baseMapper.selectList(qw);
+	}
+
+}

+ 7 - 0
ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptBusinessPlanMapper.xml

@@ -13,6 +13,7 @@
         <result column="business_class" property="businessClass"/>
         <result column="document_status" property="documentStatus"/>
         <result column="stage" property="stage"/>
+        <result column="assessment_stage" property="assessmentStage"/>
         <result column="des" property="des"/>
         <result column="review_people" property="reviewPeople"/>
         <result column="review_people_time" property="reviewPeopleTime"/>
@@ -21,6 +22,7 @@
         <result column="final_review_people_time" property="finalReviewPeopleTime"/>
         <result column="final_review_opinion" property="finalReviewOpinion"/>
         <result column="inst_id" property="instId"/>
+        <result column="assessment_inst_id" property="assessmentInstId"/>
         <result column="create_time" property="createTime"/>
         <result column="create_by" property="createBy"/>
         <result column="update_time" property="updateTime"/>
@@ -39,6 +41,7 @@
                business_class,
                document_status,
                stage,
+               assessment_stage,
                des,
                review_people,
                review_people_time,
@@ -47,6 +50,7 @@
                final_review_people_time,
                final_review_opinion,
                inst_id,
+               assessment_inst_id,
                create_time,
                create_by,
                update_time,
@@ -67,6 +71,9 @@
             <if test="appraisalYear != null and appraisalYear != ''">
                 AND appraisal_year = #{appraisalYear}
             </if>
+            <if test="stage != null and stage != ''">
+                AND stage = #{stage}
+            </if>
         </where>
         order by create_time desc
     </select>

+ 17 - 0
ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptPlanContentMapper.xml

@@ -31,4 +31,21 @@
         from evaluation_dept_plan_content
     </sql>
 
+    <select id="detailsList" resultType="com.ims.eval.entity.EvaluationDeptPlanContent">
+        select edpc.id,
+               edpc.business_plan_id,
+               edpc.dept_id,
+               edpc.dept_name,
+               edpc.indicator_id,
+               edpc.indicator_name,
+               edpc.indicator_item_id,
+               edpc.indicator_item_name,
+               edpc.target_value,
+               edpc.audit_status,
+               edii.indicator_category as "indicatorCategory"
+        from evaluation_dept_plan_content edpc
+        left join evaluation_dept_indicator_item edii on edii.id = edpc.indicator_item_id
+        where edpc.business_plan_id = #{businessPlanId} and edii.indicator_category = #{indicatorCategory}
+    </select>
+
 </mapper>

+ 71 - 0
ims-service/ims-eval/src/main/resources/mappers/EvaluationDeptRatingMapper.xml

@@ -0,0 +1,71 @@
+<?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.ims.eval.dao.EvaluationDeptRatingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ims.eval.entity.EvaluationDeptRating">
+        <id column="id" property="id"/>
+        <result column="dept_id" property="deptId"/>
+        <result column="dept_name" property="deptName"/>
+        <result column="annual" property="annual"/>
+        <result column="jan" property="jan"/>
+        <result column="feb" property="feb"/>
+        <result column="mar" property="mar"/>
+        <result column="apr" property="apr"/>
+        <result column="may" property="may"/>
+        <result column="jun" property="jun"/>
+        <result column="jul" property="jul"/>
+        <result column="aug" property="aug"/>
+        <result column="sep" property="sep"/>
+        <result column="oct" property="oct"/>
+        <result column="nov" property="nov"/>
+        <result column="dece" property="dece"/>
+        <result column="a_count" property="aCount"/>
+        <result column="a_cause" property="aCause"/>
+        <result column="create_time" property="createTime"/>
+        <result column="create_by" property="createBy"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="update_by" property="updateBy"/>
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="selectEvaluationDeptPlanContentVo">
+        select id,
+               dept_id,
+               dept_name,
+               annual,
+               jan,
+               feb,
+               mar,
+               apr,
+               may,
+               jun,
+               jul,
+               aug,
+               sep,
+               oct,
+               nov,
+               dece,
+               a_count,
+               a_cause,
+               create_time,
+               create_by,
+               update_time,
+               update_by
+        from evaluation_dept_rating
+    </sql>
+
+    <select id="selectListPage" resultType="com.ims.eval.entity.EvaluationDeptRating">
+        <include refid="selectEvaluationDeptPlanContentVo"/>
+        <where>
+            <if test="deptName != null and deptName != ''">
+                AND dept_name like CONCAT('%',#{deptName},'%')
+            </if>
+            <if test="annual != null and annual != ''">
+                AND annual = #{annual}
+            </if>
+        </where>
+        order by create_time desc
+    </select>
+
+</mapper>