| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- package cn.com.goldenwater.dcproj.service.impl.tac;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.dao.TacEvaluationGroupLeaderDao;
- import cn.com.goldenwater.dcproj.dao.TacInspYearBatchGroupPersDao;
- import cn.com.goldenwater.dcproj.dao.TacPawpRgstrDao;
- import cn.com.goldenwater.dcproj.model.TacEvaluationGroupLeader;
- import cn.com.goldenwater.dcproj.model.TacInspYearBatchGroupPers;
- import cn.com.goldenwater.dcproj.model.TacPawpRgstr;
- import cn.com.goldenwater.dcproj.param.TacEvaluationGroupLeaderParam;
- import cn.com.goldenwater.dcproj.param.TacInspYearBatchGroupPersParam;
- import cn.com.goldenwater.dcproj.param.TacPawpRgstrParam;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.TacEvaluationGroupLeaderService;
- import cn.com.goldenwater.dcproj.utils.StringUtils;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
- import cn.com.goldenwater.dcproj.vo.TacEvaluationGroupLeaderVo;
- import cn.com.goldenwater.id.util.UuidUtil;
- import cn.com.goldenwater.target.CheckException;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 专家组长测评Service业务层处理
- *
- * @author ruoyi
- * @date 2023-03-06
- */
- @Service
- @Transactional
- public class TacEvaluationGroupLeaderServiceImpl extends AbstractCrudService<TacEvaluationGroupLeader, TacEvaluationGroupLeaderParam> implements TacEvaluationGroupLeaderService
- {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private TacEvaluationGroupLeaderDao tacEvaluationGroupLeaderDao;
- /**
- * 机构 区域 服务
- */
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- @Autowired
- private TacPawpRgstrDao pawpRgstrDao;
- @Autowired
- private TacInspYearBatchGroupPersDao tacInspYearBatchGroupPersDao;
- public TacEvaluationGroupLeaderServiceImpl(TacEvaluationGroupLeaderDao tacEvaluationGroupLeaderDao) {
- super(tacEvaluationGroupLeaderDao);
- this.tacEvaluationGroupLeaderDao = tacEvaluationGroupLeaderDao;
- }
- /**
- * 增加专家组长测评
- *
- * @return 专家组长测评
- */
- @Override
- public int insert(TacEvaluationGroupLeader tacEvaluationGroupLeader) {
- logger.debug("TacEvaluationGroupLeader 新增");
- // 给专家组长 打分 先判定 是否所有专家都提交了阶段成果
- // 获取到专家底稿信息
- TacPawpRgstrParam pawpRgstrParam = new TacPawpRgstrParam();
- pawpRgstrParam.setGroupId(tacEvaluationGroupLeader.getGroupId());
- pawpRgstrParam.setObjId(tacEvaluationGroupLeader.getProjId());
- pawpRgstrParam.setProvince(olBisInspOrgService.getProvince(tacEvaluationGroupLeader.getOrgId()));
- List<TacPawpRgstr> pawpRgstrList= pawpRgstrDao.findList(pawpRgstrParam);
- if(null == pawpRgstrList || 1 != pawpRgstrList.size()){
- throw new CheckException("没有专家底稿,不能打分");
- }
- // 获取到 该组 项目 下的专家列表
- TacInspYearBatchGroupPersParam batchGroupPersParam = new TacInspYearBatchGroupPersParam();
- batchGroupPersParam.setGroupId(tacEvaluationGroupLeader.getGroupId());
- List<TacInspYearBatchGroupPers> groupPersList = this.tacInspYearBatchGroupPersDao.findList(batchGroupPersParam);
- if(null == groupPersList || 0 == groupPersList.size()){
- throw new CheckException("专家未提交问题,不能打分");
- }
- TacPawpRgstr pawpRgstr = pawpRgstrList.get(0);
- // 判定该组有没有配置 专业专家
- List<String> roleTypeList = Arrays.asList(new String[]{"11","12","13","14","15","16"});
- List<TacInspYearBatchGroupPers> expertList = groupPersList.stream().filter(f -> roleTypeList.contains(f.getRoleType())).collect(Collectors.toList());
- if(null == expertList || 0== expertList.size()){
- if( StringUtils.isBlank(pawpRgstr.getPdbstStat()) || 4 > Integer.parseInt(pawpRgstr.getPdbstStat())){
- throw new CheckException("前期专家未提交问题,不能打分");
- }
- if(StringUtils.isBlank(pawpRgstr.getBstocmTsopbfpStat()) || 4 > Integer.parseInt(pawpRgstr.getBstocmTsopbfpStat())){
- throw new CheckException("建管专家未提交问题,不能打分");
- }
- if(StringUtils.isBlank(pawpRgstr.getRaiobisStat()) || 4 > Integer.parseInt(pawpRgstr.getRaiobisStat())){
- throw new CheckException("计划专家未提交问题,不能打分");
- }
- if(StringUtils.isBlank(pawpRgstr.getBstocmCmsStat()) || 4 > Integer.parseInt(pawpRgstr.getBstocmCmsStat())){
- throw new CheckException("财务专家未提交问题,不能打分");
- }
- if(StringUtils.isBlank(pawpRgstr.getBitopqPeqaaStat()) || 4 > Integer.parseInt(pawpRgstr.getBitopqPeqaaStat())){
- throw new CheckException("质量专家未提交问题,不能打分");
- }
- if(StringUtils.isBlank(pawpRgstr.getBioesRwunitStat()) || 4 > Integer.parseInt(pawpRgstr.getBioesRwunitStat())){
- throw new CheckException("安全专家未提交问题,不能打分");
- }
- }else{
- for(TacInspYearBatchGroupPers groupPers: groupPersList){
- if("11".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getPdbstStat()) || 4 > Integer.parseInt(pawpRgstr.getPdbstStat()))){
- throw new CheckException("前期专家未提交问题,不能打分");
- }
- if("12".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getBstocmTsopbfpStat()) || 4 > Integer.parseInt(pawpRgstr.getBstocmTsopbfpStat()))){
- throw new CheckException("建管专家未提交问题,不能打分");
- }
- if("13".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getRaiobisStat()) || 4 > Integer.parseInt(pawpRgstr.getRaiobisStat()))){
- throw new CheckException("计划专家未提交问题,不能打分");
- }
- if("14".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getBstocmCmsStat()) || 4 > Integer.parseInt(pawpRgstr.getBstocmCmsStat()))){
- throw new CheckException("财务专家未提交问题,不能打分");
- }
- if("15".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getBitopqPeqaaStat()) || 4 > Integer.parseInt(pawpRgstr.getBitopqPeqaaStat()))){
- throw new CheckException("质量专家未提交问题,不能打分");
- }
- if("16".equals(groupPers.getRoleType()) && (StringUtils.isBlank(pawpRgstr.getBioesRwunitStat()) || 4 > Integer.parseInt(pawpRgstr.getBioesRwunitStat()))){
- throw new CheckException("安全专家未提交问题,不能打分");
- }
- }
- }
- String uuid = UuidUtil.uuid(); // 生成uuid
- tacEvaluationGroupLeader.setId(uuid);
- tacEvaluationGroupLeader.setIntm(new Date());
- tacEvaluationGroupLeader.setUptm(new Date());
- return this.tacEvaluationGroupLeaderDao.insert(tacEvaluationGroupLeader);
- }
- /**
- * 更新 专家组长测评
- * 主键更新
- * @param tacEvaluationGroupLeader 专家组长测评
- * @return 专家组长测评
- */
- @Override
- public int update(TacEvaluationGroupLeader tacEvaluationGroupLeader) {
- logger.debug("TacEvaluationGroupLeader 更新");
- tacEvaluationGroupLeader.setUptm(new Date());
- return this.tacEvaluationGroupLeaderDao.update(tacEvaluationGroupLeader);
- }
- /**
- * 主键删除 专家组长测评
- *
- * @param id 专家组长测评主键
- * @return 专家组长测评
- */
- @Override
- public int delete(String id) {
- logger.debug("TacEvaluationGroupLeader 删除");
- return this.tacEvaluationGroupLeaderDao.delete(id);
- }
- /**
- * 导出 专家组长测评
- *
- * @param tacEvaluationGroupLeaderParam 筛选查询参数
- * @param response
- */
- @Override
- public void export(TacEvaluationGroupLeaderParam tacEvaluationGroupLeaderParam, HttpServletResponse response) {
- logger.debug("TacEvaluationGroupLeader 导出");
- List<TacEvaluationGroupLeader> tacEvaluationGroupLeaderList = findList(tacEvaluationGroupLeaderParam);
- List<String> columns = new ArrayList<String>() {{
- add("id");
- add("orgId");
- add("adCode");
- add("groupId");
- add("projId");
- add("groupLeaderId");
- add("groupLeaderName");
- add("orgLeader");
- add("businessLevel");
- add("cphsManage");
- add("workStyle");
- add("oneVeto");
- add("score");
- add("evalLevel");
- add("note");
- add("persId");
- add("intm");
- add("uptm");
- }};
- ExportUtil.exportExcel2(tacEvaluationGroupLeaderList, response, "专家组长测评列表", columns, TacEvaluationGroupLeader.class);
- }
- /**
- * 批量添加
- * @param tacEvaluationGroupLeaderList
- * @return
- */
- @Override
- public int insertBatchFile(List<TacEvaluationGroupLeader> tacEvaluationGroupLeaderList){
- return this.tacEvaluationGroupLeaderDao.insertBatchFile(tacEvaluationGroupLeaderList);
- }
- /**
- * 待测评的 专家组长列表
- * @return
- */
- @Override
- public List<TacEvaluationGroupLeaderVo> selectEavlPersListByGroupId(TacEvaluationGroupLeaderParam groupLeaderParam){
- return this.tacEvaluationGroupLeaderDao.selectEavlPersListByGroupId(groupLeaderParam);
- }
- /**
- * 专家组长 测评结果
- * @return
- */
- @Override
- public PageInfo<TacEvaluationGroupLeaderVo> findEvaluationResult(TacEvaluationGroupLeaderParam groupLeaderParam){
- PageHelper.startPage(groupLeaderParam);
- List<TacEvaluationGroupLeaderVo> list = this.tacEvaluationGroupLeaderDao.findEvaluationResult2(groupLeaderParam);
- PageInfo<TacEvaluationGroupLeaderVo> pageInfo = new PageInfo(list);
- return pageInfo ;
- }
- /**
- * 专家组长 测评结果明细
- * 按 专家 按项目
- * @return
- */
- @Override
- public PageInfo<TacEvaluationGroupLeaderVo> findEvaluationResultDetails(TacEvaluationGroupLeaderParam groupLeaderParam){
- PageHelper.startPage(groupLeaderParam);
- List<TacEvaluationGroupLeaderVo> list = this.tacEvaluationGroupLeaderDao.findEvaluationResultDetails(groupLeaderParam);
- PageInfo<TacEvaluationGroupLeaderVo> pageInfo = new PageInfo(list);
- return pageInfo ;
- }
- /**
- * 修改评分
- * @param groupLeaderParam
- * @return
- */
- @Override
- public int updateScoreById(TacEvaluationGroupLeader groupLeaderParam){
- return this.tacEvaluationGroupLeaderDao.updateScoreById(groupLeaderParam);
- }
- /**
- * 恢复评分
- * @param id
- * @return
- */
- @Override
- public int revertScoreById(String id){
- TacEvaluationGroupLeader groupLeader = this.tacEvaluationGroupLeaderDao.get(id);
- if(null != groupLeader ){
- String backup = groupLeader.getBackUp();
- if(StringUtils.isNotBlank(backup)){
- String[] strs = backup.split(",");
- TacEvaluationGroupLeader groupLeaderParam = new TacEvaluationGroupLeaderParam();
- groupLeaderParam.setId(id);
- groupLeaderParam.setOrgLeader(Double.parseDouble(strs[0]));
- groupLeaderParam.setBusinessLevel(Double.parseDouble(strs[1]));
- groupLeaderParam.setCphsManage(Double.parseDouble(strs[2]));
- groupLeaderParam.setWorkStyle(Double.parseDouble(strs[3]));
- groupLeaderParam.setScore(Double.parseDouble(strs[4]));
- groupLeaderParam.setEvalLevel(strs[5]);
- if(strs.length==7){
- groupLeaderParam.setNote(strs[6]);
- }
- return this.tacEvaluationGroupLeaderDao.revertScoreById(groupLeaderParam);
- }
- }
- return 0;
- }
- @Override
- public TacEvaluationGroupLeader selectOneDetailByProjIdAndGroupLeaderId(String projId,String groupLeaderId){
- return this.tacEvaluationGroupLeaderDao.selectOneDetailByProjIdAndGroupLeaderId(projId,groupLeaderId);
- }
- @Override
- public TacEvaluationGroupLeader selectHjScoreByProjIdAndGroupLeaderId(String projId,String groupLeaderId){
- return this.tacEvaluationGroupLeaderDao.selectHjScoreByProjIdAndGroupLeaderId(projId,groupLeaderId);
- }
- @Override
- public int insertHjScoreByProjIdAndExpertId(TacEvaluationGroupLeader vo){
- return this.tacEvaluationGroupLeaderDao.insert(vo);
- }
- @Override
- public List<TacEvaluationGroupLeaderVo> findEvaluationResultDetails2(String groupLeaderId,String projId){
- return this.tacEvaluationGroupLeaderDao.findEvaluationResultDetails2(groupLeaderId,projId);
- }
- }
|