From bc749c4c9a516cac4574c74ef9b233d2680d9eea Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 29 Dec 2023 14:05:24 +0800
Subject: [PATCH] 评优任务修改、增加评定人信息

---
 src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java |  159 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 94 insertions(+), 65 deletions(-)

diff --git a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
index 1b652d0..91c26e4 100644
--- a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
@@ -20,13 +20,17 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
 import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.service.IEvaluateCandidateService;
 import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
 import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
 import org.springblade.modules.evaluate.excel.EvaluateTaskExcel;
 import org.springblade.modules.evaluate.mapper.EvaluateTaskMapper;
 import org.springblade.modules.evaluate.service.IEvaluateTaskService;
+import org.springblade.modules.evaluate.wrapper.EvaluateCandidateWrapper;
+import org.springblade.modules.evaluate.wrapper.EvaluateTaskWrapper;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IDeptService;
@@ -55,6 +59,31 @@
 
 	private final IDeptService deptService;
 
+	private final IEvaluateCandidateService evaluateCandidateService;
+
+	@Override
+	@Transactional
+	public boolean save(EvaluateTaskVO vo) {
+		Boolean ret = super.save(EvaluateTaskWrapper.build().entityPO(vo));
+		if (ret) {
+			ret = evaluateCandidateService.saveBatch(vo.getCandidateEntities());
+		}
+		return ret;
+	}
+
+	@Override
+	@Transactional
+	public boolean updateById(EvaluateTaskVO vo) {
+		if (null == vo.getId())
+			return false;
+
+		Boolean ret = super.updateById(EvaluateTaskWrapper.build().entityPO(vo));
+		if (ret) {
+			ret = evaluateCandidateService.saveOrUpdateBatch(vo.getCandidateEntities());
+		}
+		return ret;
+	}
+
 	@Override
 	public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
 		return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask));
@@ -70,71 +99,71 @@
 		return evaluateTaskList;
 	}
 
-	@Override
-	@Transactional
-	public boolean saveOrUpdate(EvaluateTaskEntity evaluateTask) {
-		boolean ret = super.saveOrUpdate(evaluateTask);
-		if (null == evaluateTask.getType()) //
-			return ret;
-		if (ret) {
-			//先删除
-			QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("evaluate_task_id", evaluateTask.getId());
-			evaluateTaskSetService.remove(queryWrapper);
-
-
-			if (evaluateTask.getType() == 0) { //个人评优处理
-				//保存
-				JSONArray jsonArray = JSONArray.parseArray(JSONObject.toJSONString(evaluateTask.getCandidateNum()));
-				for (int i = 0; i < jsonArray.size(); i++) {
-					JSONObject obj = jsonArray.getJSONObject(i);//{"deptId":"1737282385453543425","deptName":"中国铜业","val":3,"users":[{"id":"1737304543567310850","name":"张二瑶"}
-					Long deptId = obj.getLong("deptId");
-					String deptName = obj.getString("deptName");
-					String val = obj.getString("val");
-					JSONArray userJson = JSONArray.parseArray(JSONObject.toJSONString(obj.get("users")));
-					for (int j = 0; j < userJson.size(); j++) {
-						EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
-						entityPO.setEvaluateTaskId(evaluateTask.getId());
-						entityPO.setDeptId(deptId);
-						entityPO.setDeptName(deptName);
-						entityPO.setUserId(userJson.getJSONObject(j).getLong("id"));
-						entityPO.setUserName(userJson.getJSONObject(j).getString("name"));
-						entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
-						evaluateTaskSetService.save(entityPO);
-					}
-					if (userJson.size() == 0) {
-						QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
-						userQueryWrapper.eq("dept_id", deptId);
-						List<User> userList = userService.list(userQueryWrapper);
-						for (User po: userList) {
-							EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
-							entityPO.setEvaluateTaskId(evaluateTask.getId());
-							entityPO.setDeptId(deptId);
-							entityPO.setDeptName(deptName);
-							entityPO.setUserId(po.getId());
-							entityPO.setUserName(po.getName());
-							entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
-							evaluateTaskSetService.save(entityPO);
-						}
-					}
-				}
-			} else if (evaluateTask.getType() == 1){ //部门评优
-				//获取所有部门保存
-				List<Dept> list = deptService.list();
-				for (Dept dept: list) {
-					EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
-					entityPO.setEvaluateTaskId(evaluateTask.getId());
-					entityPO.setDeptId(dept.getId());
-					entityPO.setDeptName(dept.getDeptName());
-					entityPO.setType(1);
-					entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
-					evaluateTaskSetService.save(entityPO);
-				}
-			}
-
-		}
-		return ret;
-	}
+//	@Override
+//	@Transactional
+//	public boolean saveOrUpdate(EvaluateTaskEntity evaluateTask) {
+//		boolean ret = super.saveOrUpdate(evaluateTask);
+//		if (null == evaluateTask.getType()) //
+//			return ret;
+//		if (ret) {
+//			//先删除
+//			QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
+//			queryWrapper.eq("evaluate_task_id", evaluateTask.getId());
+//			evaluateTaskSetService.remove(queryWrapper);
+//
+//
+//			if (evaluateTask.getType() == 0) { //个人评优处理
+//				//保存
+//				JSONArray jsonArray = JSONArray.parseArray(JSONObject.toJSONString(evaluateTask.getCandidateNum()));
+//				for (int i = 0; i < jsonArray.size(); i++) {
+//					JSONObject obj = jsonArray.getJSONObject(i);//{"deptId":"1737282385453543425","deptName":"中国铜业","val":3,"users":[{"id":"1737304543567310850","name":"张二瑶"}
+//					Long deptId = obj.getLong("deptId");
+//					String deptName = obj.getString("deptName");
+//					String val = obj.getString("val");
+//					JSONArray userJson = JSONArray.parseArray(JSONObject.toJSONString(obj.get("users")));
+//					for (int j = 0; j < userJson.size(); j++) {
+//						EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+//						entityPO.setEvaluateTaskId(evaluateTask.getId());
+//						entityPO.setDeptId(deptId);
+//						entityPO.setDeptName(deptName);
+//						entityPO.setUserId(userJson.getJSONObject(j).getLong("id"));
+//						entityPO.setUserName(userJson.getJSONObject(j).getString("name"));
+//						entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+//						evaluateTaskSetService.save(entityPO);
+//					}
+//					if (userJson.size() == 0) {
+//						QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
+//						userQueryWrapper.eq("dept_id", deptId);
+//						List<User> userList = userService.list(userQueryWrapper);
+//						for (User po: userList) {
+//							EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+//							entityPO.setEvaluateTaskId(evaluateTask.getId());
+//							entityPO.setDeptId(deptId);
+//							entityPO.setDeptName(deptName);
+//							entityPO.setUserId(po.getId());
+//							entityPO.setUserName(po.getName());
+//							entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+//							evaluateTaskSetService.save(entityPO);
+//						}
+//					}
+//				}
+//			} else if (evaluateTask.getType() == 1){ //部门评优
+//				//获取所有部门保存
+//				List<Dept> list = deptService.list();
+//				for (Dept dept: list) {
+//					EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+//					entityPO.setEvaluateTaskId(evaluateTask.getId());
+//					entityPO.setDeptId(dept.getId());
+//					entityPO.setDeptName(dept.getDeptName());
+//					entityPO.setType(1);
+//					entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+//					evaluateTaskSetService.save(entityPO);
+//				}
+//			}
+//
+//		}
+//		return ret;
+//	}
 	@Override
 	@Transactional
 	public boolean deleteLogic(List<Long> ids) {

--
Gitblit v1.9.3