/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ 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.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; 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; /** * 评优任务表 服务实现类 * * @author aix * @since 2023-12-08 */ @Service @AllArgsConstructor public class EvaluateTaskServiceImpl extends BaseServiceImpl implements IEvaluateTaskService { private final IEvaluateTaskSetService evaluateTaskSetService; private final IUserService userService; 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 selectEvaluateTaskPage(IPage page, EvaluateTaskVO evaluateTask) { return page.setRecords(baseMapper.selectEvaluateTaskPage(page, evaluateTask)); } @Override public List exportEvaluateTask(Wrapper queryWrapper) { List evaluateTaskList = baseMapper.exportEvaluateTask(queryWrapper); //evaluateTaskList.forEach(evaluateTask -> { // evaluateTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, EvaluateTask.getType())); //}); return evaluateTaskList; } @Override @Transactional public boolean deleteLogic(List ids) { boolean ret = super.deleteLogic(ids); if (ret) { for (Long id:ids) { //先删除 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("evaluate_task_id", id); evaluateTaskSetService.remove(queryWrapper); } } return ret; } }