|
@@ -1,12 +1,18 @@
|
|
package cn.cslg.pas.service.business;
|
|
package cn.cslg.pas.service.business;
|
|
|
|
|
|
import cn.cslg.pas.common.dto.business.InvalidStatutesDTO;
|
|
import cn.cslg.pas.common.dto.business.InvalidStatutesDTO;
|
|
|
|
+import cn.cslg.pas.common.vo.invalidVO.InvalidStatutesVO;
|
|
import cn.cslg.pas.domain.business.InvalidStatutes;
|
|
import cn.cslg.pas.domain.business.InvalidStatutes;
|
|
|
|
+import cn.cslg.pas.domain.business.PatentClaim;
|
|
|
|
+import cn.cslg.pas.domain.business.SystemDict;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.mapper.InvalidStatutesMapper;
|
|
import cn.cslg.pas.mapper.InvalidStatutesMapper;
|
|
|
|
+import cn.cslg.pas.service.business.invalidReport.PatentClaimService;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -22,6 +28,11 @@ import java.util.stream.Collectors;
|
|
@Service
|
|
@Service
|
|
public class InvalidStatutesService extends ServiceImpl<InvalidStatutesMapper, InvalidStatutes> {
|
|
public class InvalidStatutesService extends ServiceImpl<InvalidStatutesMapper, InvalidStatutes> {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private SystemDictService systemDictService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PatentClaimService patentClaimService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 添加无效法条
|
|
* 添加无效法条
|
|
@@ -63,4 +74,94 @@ public class InvalidStatutesService extends ServiceImpl<InvalidStatutesMapper, I
|
|
}
|
|
}
|
|
return ids;
|
|
return ids;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询无效法条
|
|
|
|
+ * @param projectId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<InvalidStatutesVO> queryInvalidStatutes(Integer projectId){
|
|
|
|
+ List<InvalidStatutesVO> invalidStatutesVOS = new ArrayList<>();
|
|
|
|
+ if (projectId != null) {
|
|
|
|
+ //根据报告id查询所有无效法条
|
|
|
|
+ LambdaQueryWrapper<InvalidStatutes> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(InvalidStatutes::getProjectId, projectId);
|
|
|
|
+ List<InvalidStatutes> invalidStatutes = this.list(queryWrapper);
|
|
|
|
+ if (!invalidStatutes.isEmpty()) {
|
|
|
|
+ invalidStatutes.forEach(item -> {
|
|
|
|
+ InvalidStatutesVO invalidStatutesVO = new InvalidStatutesVO();
|
|
|
|
+ BeanUtils.copyProperties(item, invalidStatutesVO);
|
|
|
|
+ invalidStatutesVOS.add(invalidStatutesVO);
|
|
|
|
+ });
|
|
|
|
+ if (!invalidStatutesVOS.isEmpty()) {
|
|
|
|
+ //装载法条内容和权要排序
|
|
|
|
+ this.loadStatutes(invalidStatutesVOS);
|
|
|
|
+ this.loadClaims(projectId, invalidStatutesVOS);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return invalidStatutesVOS;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 装载法条
|
|
|
|
+ * @param invalidStatutesVOS
|
|
|
|
+ */
|
|
|
|
+ public void loadStatutes(List<InvalidStatutesVO> invalidStatutesVOS){
|
|
|
|
+ List<Integer> invalidStatutesIds = invalidStatutesVOS.stream().map(InvalidStatutesVO::getStatutesId).collect(Collectors.toList());
|
|
|
|
+ if (!invalidStatutesIds.isEmpty()) {
|
|
|
|
+ LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.in(SystemDict::getValue, invalidStatutesIds)
|
|
|
|
+ .eq(SystemDict::getType, "STATUTE");
|
|
|
|
+ List<SystemDict> systemDicts = systemDictService.list(queryWrapper);
|
|
|
|
+ if (!systemDicts.isEmpty()) {
|
|
|
|
+ for (InvalidStatutesVO invalidStatutesVO : invalidStatutesVOS) {
|
|
|
|
+ SystemDict systemDict = systemDicts
|
|
|
|
+ .stream()
|
|
|
|
+ .filter(item -> item.getValue().equals(invalidStatutesVO.getStatutesId()))
|
|
|
|
+ .findFirst()
|
|
|
|
+ .orElse(null);
|
|
|
|
+ if (systemDict != null) {
|
|
|
|
+ invalidStatutesVO.setStatutes(systemDict.getLabel());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ throw new XiaoShiException("法条查询错误");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 装载权要
|
|
|
|
+ * @param invalidStatutesVOS
|
|
|
|
+ */
|
|
|
|
+ public void loadClaims(Integer projectId, List<InvalidStatutesVO> invalidStatutesVOS){
|
|
|
|
+ List<Integer> claimIds = invalidStatutesVOS.stream().map(InvalidStatutesVO::getClaimId).collect(Collectors.toList());
|
|
|
|
+ if (!claimIds.isEmpty()) {
|
|
|
|
+ LambdaQueryWrapper<PatentClaim> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.in(PatentClaim::getId, claimIds)
|
|
|
|
+ .eq(PatentClaim::getProjectId, projectId);
|
|
|
|
+ List<PatentClaim> patentClaims = patentClaimService.list(queryWrapper);
|
|
|
|
+ if (!patentClaims.isEmpty()) {
|
|
|
|
+ for (InvalidStatutesVO invalidStatutesVO : invalidStatutesVOS) {
|
|
|
|
+ PatentClaim patentClaim = patentClaims
|
|
|
|
+ .stream()
|
|
|
|
+ .filter(item -> item.getId().equals(invalidStatutesVO.getClaimId()))
|
|
|
|
+ .findFirst()
|
|
|
|
+ .orElse(null);
|
|
|
|
+ if (patentClaim != null) {
|
|
|
|
+ invalidStatutesVO.setClaimSort(patentClaim.getSysOrder());
|
|
|
|
+ invalidStatutesVO.setClaimText(patentClaim.getContent());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ throw new XiaoShiException("法条查询错误");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|