From e3be005d35bffbeb0cac8789b4b0a794656f732c Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 22 Dec 2023 13:37:43 +0800
Subject: [PATCH] 任务结果
---
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 96 insertions(+), 0 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 b510ae4..e2f2163 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
@@ -16,15 +16,28 @@
*/
package org.springblade.modules.evaluate.service.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.AllArgsConstructor;
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+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.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
@@ -34,7 +47,13 @@
* @since 2023-12-08
*/
@Service
+@AllArgsConstructor
public class EvaluateTaskServiceImpl extends BaseServiceImpl<EvaluateTaskMapper, EvaluateTaskEntity> implements IEvaluateTaskService {
+
+ private final IEvaluateTaskSetService evaluateTaskSetService;
+ private final IUserService userService;
+
+ private final IDeptService deptService;
@Override
public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
@@ -51,4 +70,81 @@
return evaluateTaskList;
}
+ @Override
+ @Transactional
+ public boolean saveOrUpdate(EvaluateTaskEntity evaluateTask) {
+ boolean ret = super.saveOrUpdate(evaluateTask);
+ 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) {
+ boolean ret = super.deleteLogic(ids);
+ if (ret) {
+ for (Long id:ids) {
+ //先删除
+ QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("evaluate_task_id", id);
+ evaluateTaskSetService.remove(queryWrapper);
+ }
+ }
+ return ret;
+ }
+
}
--
Gitblit v1.9.3