Browse Source

代码优化,增加业绩指标评级自动生成

hlf 1 year ago
parent
commit
be22232a9c

+ 11 - 5
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DepartmentAllocationController.java

@@ -9,11 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.EvaluationDept;
-import com.ims.eval.entity.dto.request.DeptDTO;
 import com.ims.eval.entity.dto.request.UserDTO;
 import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IEvaluationDeptService;
 import com.ims.eval.service.IUserService;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -234,10 +234,10 @@ public class DepartmentAllocationController {
 			map.put("44444444", "子部门4");
 		}
 		if ("23031015".equals(id)) {
-			map.put("55555555", "子部门1");
-			map.put("66666666", "子部门2");
-			map.put("77777777", "子部门3");
-			map.put("88888888", "子部门4");
+			map.put("55555555", "子部门5");
+			map.put("66666666", "子部门6");
+			map.put("77777777", "子部门7");
+			map.put("88888888", "子部门8");
 		}
 		for (Map.Entry<String, String> entry : map.entrySet()) {
 			DeptDTO dept = new DeptDTO();
@@ -247,4 +247,10 @@ public class DepartmentAllocationController {
 		}
 		return R.ok().data(deptList);
 	}
+
+	@Data
+	private static class DeptDTO {
+		private String id;
+		private String name;
+	}
 }

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

@@ -85,7 +85,7 @@ public class DepartmentPerformanceAppraisalRatingController {
 			if (b) {
 				return R.ok().data(b);
 			} else {
-				return R.error("保存失败!");
+				return R.error("已存在" + evaluationDeptRating.getAnnual() + "年" + evaluationDeptRating.getDeptName() + "数据,保存失败!");
 			}
 		} catch (CustomException e) {
 			return R.customError(e.getMessage()).data("失败!");

+ 0 - 5
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/request/DeptDTO.java

@@ -23,9 +23,4 @@ public class DeptDTO {
 	//生成报表word数据
 	private EvaluationDeptBusinessContent evaluationDeptBusinessContent;
 
-	//临时字段
-	private String id;
-
-	//临时字段
-	private String name;
 }

+ 75 - 5
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/DeptAssessmentDeclarationServiceImpl.java

@@ -15,11 +15,9 @@ import com.ims.eval.dao.DeptAssessmentDeclarationMapper;
 import com.ims.eval.entity.DeptAssessmentDeclaration;
 import com.ims.eval.entity.DeptAssessmentDeclarationContent;
 import com.ims.eval.entity.EvaluationDept;
+import com.ims.eval.entity.EvaluationDeptRating;
 import com.ims.eval.entity.dto.request.UserDTO;
-import com.ims.eval.service.IDeptAssessmentDeclarationContentService;
-import com.ims.eval.service.IDeptAssessmentDeclarationService;
-import com.ims.eval.service.IEvaluationDeptService;
-import com.ims.eval.service.IUserService;
+import com.ims.eval.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +42,9 @@ public class DeptAssessmentDeclarationServiceImpl extends ServiceImpl<DeptAssess
 	@Autowired
 	private IEvaluationDeptService evaluationDeptService;
 
+	@Autowired
+	private IEvaluationDeptRatingService evaluationDeptRatingService;
+
 	@Override
 	public IPage<DeptAssessmentDeclaration> listPage(Integer pageNum, Integer pageSize, String deptId, String orderNumber, String deptName, String annual, String declarationMonth) {
 		if ("23031009".equals(deptId)) {//组织人事部
@@ -162,7 +163,76 @@ public class DeptAssessmentDeclarationServiceImpl extends ServiceImpl<DeptAssess
 		if (StringUtils.isNotEmpty(instId)) {
 			deptAssessmentDeclaration.setInstId(instId);
 		}
-		return super.saveOrUpdate(deptAssessmentDeclaration);
+		super.saveOrUpdate(deptAssessmentDeclaration);
+		if ("流程已结束".equals(deptAssessmentDeclaration.getStage())) {
+			QueryWrapper<EvaluationDeptRating> qw = new QueryWrapper<>();
+			if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getDeptId())) {
+				qw.lambda().eq(EvaluationDeptRating::getDeptId, deptAssessmentDeclaration.getDeptId());
+			}
+			if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getAnnual())) {
+				qw.lambda().eq(EvaluationDeptRating::getAnnual, deptAssessmentDeclaration.getAnnual());
+			}
+			EvaluationDeptRating evaluationDeptRating = evaluationDeptRatingService.getOne(qw);
+			if (null != evaluationDeptRating) {
+				insertContent(deptAssessmentDeclaration, evaluationDeptRating);
+				evaluationDeptRatingService.updateById(evaluationDeptRating);
+			} else {
+				EvaluationDeptRating obj = new EvaluationDeptRating();
+				insertContent(deptAssessmentDeclaration, obj);
+				evaluationDeptRatingService.save(obj);
+			}
+		}
+		return true;
 	}
 
+	private static void insertContent(DeptAssessmentDeclaration deptAssessmentDeclaration, EvaluationDeptRating evaluationDeptRating) {
+		if ("1".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setJan(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setJanContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("2".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setFeb(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setFebContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("3".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setMar(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setMarContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("4".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setApr(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setAprContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("5".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setMay(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setMayContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("6".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setJun(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setJunContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("7".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setJul(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setJulContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("8".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setAug(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setAugContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("9".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setSep(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setSepContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("10".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setOct(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setOctContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("11".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setNov(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setNovContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+		if ("12".equals(deptAssessmentDeclaration.getDeclarationMonth())) {
+			evaluationDeptRating.setDece(deptAssessmentDeclaration.getRatingGrade());
+			evaluationDeptRating.setDeceContent(deptAssessmentDeclaration.getDeclarationReason());
+		}
+	}
 }