123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package cn.cslg.pas.service.business;
- import cn.cslg.pas.common.dto.business.AvoidDesignDTO;
- import cn.cslg.pas.common.dto.business.AvoidDesignInsertDTO;
- import cn.cslg.pas.common.model.cronModel.PersonnelVO;
- import cn.cslg.pas.common.utils.CacheUtils;
- import cn.cslg.pas.common.utils.LoginUtils;
- import cn.cslg.pas.common.vo.business.AvoidDesignVO;
- import cn.cslg.pas.domain.business.AvoidDesign;
- import cn.cslg.pas.domain.business.Feature;
- import cn.cslg.pas.domain.business.ReportProject;
- import cn.cslg.pas.exception.UnLoginException;
- import cn.cslg.pas.exception.XiaoShiException;
- import cn.cslg.pas.mapper.AvoidDesignMapper;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 回避设计Service
- * @Author xiexiang
- * @Date 2023/12/5
- */
- @Service
- public class AvoidDesignService extends ServiceImpl<AvoidDesignMapper, AvoidDesign> {
- @Autowired
- private CacheUtils cacheUtils;
- @Autowired
- private LoginUtils loginUtils;
- @Autowired
- private FeatureService featureService;
- @Autowired
- private ReportProjectService reportProjectService;
- /**
- * 新增回避设计
- * @param avoidDesignInsertDTO
- * @return
- */
- public List<Integer> addAvoidDesign(AvoidDesignInsertDTO avoidDesignInsertDTO){
- // //获取登录人信息
- // PersonnelVO personnelVO = new PersonnelVO();
- // try {
- // personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
- // } catch (Exception e) {
- // throw new UnLoginException("未登录");
- // }
- Integer projectId = avoidDesignInsertDTO.getProjectId();
- if (projectId == null) {
- throw new XiaoShiException("projectId不能为空");
- }
- //根据projctId查询出专利号
- LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(ReportProject::getProjectId, projectId);
- List<ReportProject> reportProjects = reportProjectService.list(queryWrapper);
- String patentNo = "";
- if (!reportProjects.isEmpty()) {
- ReportProject reportProject = reportProjects.get(0);
- patentNo = reportProject.getSignPatentNo();
- } else {
- throw new XiaoShiException("未查询到报告专利号");
- }
- List<AvoidDesignDTO> avoidDesignDTOS = avoidDesignInsertDTO.getAvoidDesignDTOS();
- //根据专利号和projectId,删除特征
- LambdaQueryWrapper<Feature> deleteWrapper =new LambdaQueryWrapper<>();
- deleteWrapper.eq(Feature::getPatentNo,patentNo)
- .eq(Feature::getProjectId,projectId);
- featureService.remove(deleteWrapper);
- //根据projectId删除回避设计方向数据
- LambdaQueryWrapper<AvoidDesign> deleteWrapper2 = new LambdaQueryWrapper<>();
- deleteWrapper2.eq(AvoidDesign::getProjectId, projectId);
- this.remove(deleteWrapper2);
- //新增插入回避设计方向集合
- List<AvoidDesign> avoidDesignList = new ArrayList<>();
- //遍历传入集合
- for (AvoidDesignDTO avoidDesignDTO : avoidDesignDTOS) {
- Feature feature = new Feature();
- feature.setRightSort(avoidDesignDTO.getRightSort());
- feature.setPatentNo(patentNo);
- feature.setProjectId(projectId);
- feature.setContent(avoidDesignDTO.getContent());
- feature.setExplainText(avoidDesignDTO.getExpalinText());
- // feature.setCreateId(personnelVO.getId());
- feature.setCreateId("328");
- feature.setRightType(avoidDesignDTO.getRightType());
- feature.insert();
- //获取特征id
- Integer featureId = feature.getId();
- //插入回避设计方向
- AvoidDesign avoidDesign = new AvoidDesign();
- avoidDesign.setProjectId(projectId);
- avoidDesign.setFeatureId(featureId);
- avoidDesign.setDirection(avoidDesignDTO.getDirection());
- // avoidDesign.setCreateId(personnelVO.getId());
- avoidDesign.setCreateId("328");
- avoidDesignList.add(avoidDesign);
- }
- List<Integer> ids = new ArrayList<>();
- if (!avoidDesignList.isEmpty()) {
- this.saveBatch(avoidDesignList);
- ids = avoidDesignList.stream().map(AvoidDesign::getId).collect(Collectors.toList());
- }
- return ids;
- }
- /**
- * 查询回避设计
- */
- public List<AvoidDesignVO> queryAvoidDesign(Integer projectId){
- List<AvoidDesignVO> avoidDesignVOS = new ArrayList<>();
- LambdaQueryWrapper<AvoidDesign> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AvoidDesign::getProjectId, projectId);
- List<AvoidDesign> avoidDesignList = this.list(queryWrapper);
- if (!avoidDesignList.isEmpty()) {
- avoidDesignList.forEach(item -> {
- AvoidDesignVO avoidDesignVO = new AvoidDesignVO();
- BeanUtils.copyProperties(item, avoidDesignVO);
- avoidDesignVOS.add(avoidDesignVO);
- });
- }
- return avoidDesignVOS;
- }
- public void deleteAvoidDesign(){
- }
- }
|