xieb
2023-12-29 bc749c4c9a516cac4574c74ef9b233d2680d9eea
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) {