| | |
| | | */ |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @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) { |
| | |
| | | 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 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; |
| | | } |
| | | |
| | | } |