Browse Source

修改绩效结果考核申报问题

hlf 1 năm trước cách đây
mục cha
commit
21672ec8eb

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

@@ -98,6 +98,9 @@ public class DepartmentAllocationController {
 	public R addAll(@RequestBody EvaluationDept evaluationDept) {
 		try {
 			QueryWrapper<EvaluationDept> qw = new QueryWrapper<>();
+			if (StringUtils.isNotEmpty(evaluationDept.getParentId())) {
+				qw.lambda().eq(EvaluationDept::getParentId, evaluationDept.getParentId());
+			}
 			if (StringUtils.isNotEmpty(evaluationDept.getDeptId())) {
 				qw.lambda().eq(EvaluationDept::getDeptId, evaluationDept.getDeptId());
 			}

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

@@ -95,7 +95,7 @@ public class DepartmentalPerformanceIndicatorPlanController {
 			}
 			EvaluationDeptBusinessPlan businessPlan = evaluationDeptBusinessPlanService.getOne(qw);
 			if (ObjectUtil.isNotNull(businessPlan)) {
-				return R.ok().message(evaluationDeptBusinessPlan.getAppraisalYear() + "年度业绩指标计划已存在!");
+				return R.error(evaluationDeptBusinessPlan.getAppraisalYear() + "年度业绩指标计划已存在!");
 			}
 			boolean b = evaluationDeptBusinessPlanService.save(evaluationDeptBusinessPlan);
 			if (b) {

+ 33 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DeptAssessmentDeclarationController.java

@@ -104,6 +104,20 @@ public class DeptAssessmentDeclarationController {
 	@PostMapping(value = "/save")
 	public R addAll(@RequestBody DeptAssessmentDeclaration deptAssessmentDeclaration, HttpServletRequest request) {
 		try {
+			QueryWrapper<DeptAssessmentDeclaration> qw = new QueryWrapper<>();
+			if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getDeptId())) {
+				qw.lambda().eq(DeptAssessmentDeclaration::getDeptId, deptAssessmentDeclaration.getDeptId());
+			}
+			if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getAnnual())) {
+				qw.lambda().eq(DeptAssessmentDeclaration::getAnnual, deptAssessmentDeclaration.getAnnual());
+			}
+			if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getDeclarationMonth())) {
+				qw.lambda().eq(DeptAssessmentDeclaration::getDeclarationMonth, deptAssessmentDeclaration.getDeclarationMonth());
+			}
+			DeptAssessmentDeclaration assessmentDeclaration = deptAssessmentDeclarationService.getOne(qw);
+			if (ObjectUtil.isNotNull(assessmentDeclaration)) {
+				return R.error(deptAssessmentDeclaration.getDeptName() + deptAssessmentDeclaration.getAnnual() + "年" + deptAssessmentDeclaration.getDeclarationMonth() + "月绩效结果考核申报已存在!");
+			}
 			boolean b = deptAssessmentDeclarationService.save(deptAssessmentDeclaration, request);
 			if (b) {
 				return R.ok().data(b);
@@ -208,7 +222,7 @@ public class DeptAssessmentDeclarationController {
 			if (b) {
 				return R.ok().data(b);
 			} else {
-				return R.error("新增/修改失败,人员重复!");
+				return R.error("新增/修改失败,人员重复!");
 			}
 		} catch (CustomException e) {
 			return R.customError(e.getMessage()).data("失败!");
@@ -358,9 +372,26 @@ public class DeptAssessmentDeclarationController {
 		DeptAssessmentDeclaration deptAssessmentDeclaration = deptAssessmentDeclarationService.getById(id);
 		String departmentName = deptAssessmentDeclaration.getDeptName();
 		String month = deptAssessmentDeclaration.getDeclarationMonth();
-		String level = deptAssessmentDeclaration.getDeclarationLevel();
+		//String level = deptAssessmentDeclaration.getDeclarationLevel();
+		String level = deptAssessmentDeclaration.getRatingGrade();
 		String leader = deptAssessmentDeclaration.getDeptLeaderName();
 		String declarationReason = deptAssessmentDeclaration.getDeclarationReason();
 		ExcelUtils.createExcel(employeeDTOList, departmentName, month, level, leader, declarationReason, response.getOutputStream());
 	}
+
+	/**
+	 * 参与考核人数
+	 *
+	 * @param id 主键
+	 * @return 结果
+	 */
+	@GetMapping(value = "/participantsNumber/{id}")
+	public R participantsNumber(@PathVariable String id) {
+		QueryWrapper<DeptAssessmentDeclarationContent> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(id)) {
+			qw.lambda().like(DeptAssessmentDeclarationContent::getAssessmentDeclarationId, id);
+		}
+		int count = deptAssessmentDeclarationContentService.list(qw).size();
+		return R.ok().data(count);
+	}
 }

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationDept.java

@@ -18,6 +18,9 @@ public class EvaluationDept extends Model {
 	//主键
 	private String id;
 
+	//父级主键
+	private String parentId;
+
 	//部门主键
 	private String deptId;
 

+ 59 - 14
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/DeptAssessmentDeclarationServiceImpl.java

@@ -14,9 +14,11 @@ import com.ims.common.utils.StringUtils;
 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.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 org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -39,6 +41,9 @@ public class DeptAssessmentDeclarationServiceImpl extends ServiceImpl<DeptAssess
 	@Autowired
 	private IUserService userService;
 
+	@Autowired
+	private IEvaluationDeptService evaluationDeptService;
+
 	@Override
 	public IPage<DeptAssessmentDeclaration> listPage(Integer pageNum, Integer pageSize, String orderNumber, String deptId, String annual, String declarationMonth) {
 		if (null == pageNum || null == pageSize) {
@@ -66,20 +71,60 @@ public class DeptAssessmentDeclarationServiceImpl extends ServiceImpl<DeptAssess
 		deptAssessmentDeclaration.setStage("流程未启动");
 		deptAssessmentDeclaration.setCreateTime(DateUtil.date());
 		List<DeptAssessmentDeclarationContent> deptAssessmentDeclarationContentList = new ArrayList<>();
-		JSONObject jsonArr = userService.pageList(1, 500, deptAssessmentDeclaration.getDeptId(), "", "", "", "", "", request);
-		JSONObject jsonArr1 = (JSONObject) jsonArr.get("data");
-		JSONArray array = JSONUtil.parseArray(jsonArr1.get("records"));
-		List<UserDTO> userList = JSONUtil.toList(array, UserDTO.class);
-		for (int i = 0; i < userList.size(); i++) {
-			if (StringUtils.isNotEmpty(userList.get(i).getNo())) {
-				DeptAssessmentDeclarationContent deptAssessmentDeclarationContent = new DeptAssessmentDeclarationContent();
-				deptAssessmentDeclarationContent.setAssessmentDeclarationId(id);
-				deptAssessmentDeclarationContent.setSerialNumber(i + 1);
-				deptAssessmentDeclarationContent.setEmployeeId(userList.get(i).getId());
-				deptAssessmentDeclarationContent.setEmployeeNo(userList.get(i).getNo());
-				deptAssessmentDeclarationContent.setEmployeeName(userList.get(i).getName());
-				deptAssessmentDeclarationContent.setSuggestedValue("1");
-				deptAssessmentDeclarationContentList.add(deptAssessmentDeclarationContent);
+		QueryWrapper<EvaluationDept> deptQw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(deptAssessmentDeclaration.getDeptId())) {
+			deptQw.lambda().eq(EvaluationDept::getDeptId, deptAssessmentDeclaration.getDeptId());
+		}
+		EvaluationDept evaluationDept = evaluationDeptService.getOne(deptQw);
+		if (null != evaluationDept) {
+			if ("".equals(evaluationDept.getParentId()) || null == evaluationDept.getParentId()) {//父级部门为空 表示当前为父级
+				List<UserDTO> secondaryList = new ArrayList<>();
+				QueryWrapper<EvaluationDept> secondaryDeptQw = new QueryWrapper<>();
+				if (StringUtils.isNotEmpty(evaluationDept.getDeptId())) {
+					secondaryDeptQw.lambda().eq(EvaluationDept::getParentId, evaluationDept.getDeptId());
+				}
+				List<EvaluationDept> evaluationDeptList = evaluationDeptService.list(secondaryDeptQw);
+				for (EvaluationDept obj : evaluationDeptList) {
+					JSONObject jsonArr = userService.pageList(1, 1000, obj.getDeptId(), "", "", "", "", "", request);
+					JSONObject jsonArr1 = (JSONObject) jsonArr.get("data");
+					JSONArray array = JSONUtil.parseArray(jsonArr1.get("records"));
+					List<UserDTO> userList = JSONUtil.toList(array, UserDTO.class);
+					secondaryList.addAll(userList);
+				}
+				JSONObject jsonArr = userService.pageList(1, 1000, deptAssessmentDeclaration.getDeptId(), "", "", "", "", "", request);
+				JSONObject jsonArr1 = (JSONObject) jsonArr.get("data");
+				JSONArray array = JSONUtil.parseArray(jsonArr1.get("records"));
+				List<UserDTO> userList = JSONUtil.toList(array, UserDTO.class);
+				userList.removeAll(secondaryList);
+				for (int i = 0; i < userList.size(); i++) {
+					if (StringUtils.isNotEmpty(userList.get(i).getNo())) {
+						DeptAssessmentDeclarationContent deptAssessmentDeclarationContent = new DeptAssessmentDeclarationContent();
+						deptAssessmentDeclarationContent.setAssessmentDeclarationId(id);
+						deptAssessmentDeclarationContent.setSerialNumber(i + 1);
+						deptAssessmentDeclarationContent.setEmployeeId(userList.get(i).getId());
+						deptAssessmentDeclarationContent.setEmployeeNo(userList.get(i).getNo());
+						deptAssessmentDeclarationContent.setEmployeeName(userList.get(i).getName());
+						deptAssessmentDeclarationContent.setSuggestedValue("1");
+						deptAssessmentDeclarationContentList.add(deptAssessmentDeclarationContent);
+					}
+				}
+			} else {//子级部门
+				JSONObject jsonArr = userService.pageList(1, 1000, deptAssessmentDeclaration.getDeptId(), "", "", "", "", "", request);
+				JSONObject jsonArr1 = (JSONObject) jsonArr.get("data");
+				JSONArray array = JSONUtil.parseArray(jsonArr1.get("records"));
+				List<UserDTO> userList = JSONUtil.toList(array, UserDTO.class);
+				for (int i = 0; i < userList.size(); i++) {
+					if (StringUtils.isNotEmpty(userList.get(i).getNo())) {
+						DeptAssessmentDeclarationContent deptAssessmentDeclarationContent = new DeptAssessmentDeclarationContent();
+						deptAssessmentDeclarationContent.setAssessmentDeclarationId(id);
+						deptAssessmentDeclarationContent.setSerialNumber(i + 1);
+						deptAssessmentDeclarationContent.setEmployeeId(userList.get(i).getId());
+						deptAssessmentDeclarationContent.setEmployeeNo(userList.get(i).getNo());
+						deptAssessmentDeclarationContent.setEmployeeName(userList.get(i).getName());
+						deptAssessmentDeclarationContent.setSuggestedValue("1");
+						deptAssessmentDeclarationContentList.add(deptAssessmentDeclarationContent);
+					}
+				}
 			}
 		}
 		boolean b = super.save(deptAssessmentDeclaration);