zero 1 year ago
parent
commit
4951d43d50

+ 7 - 6
src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java

@@ -13,6 +13,7 @@ import cn.cslg.pas.common.vo.customAnalyse.SelectAnalyseVO;
 import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
 import cn.cslg.pas.domain.business.CustomAnalysisItem;
 import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.CustomAnalysisItemMapper;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -65,7 +66,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         } catch (Exception e) {
-            throw new UnLoginException("未登录");
+            throw new XiaoShiException("未登录");
         }
 
         SelectAnalyseVO analyseVO = new SelectAnalyseVO();
@@ -116,7 +117,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
                 .eq(CustomAnalysisItem::getName, vo.getName())
                 .eq(CustomAnalysisItem::getType, vo.getType()));
         if (items.size() > 1) {
-            throw new Exception("名称不可重复");
+            throw new XiaoShiException("名称不可重复");
         }
 
         String uid = IdUtil.simpleUUID();
@@ -125,7 +126,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         } catch (Exception e) {
-            throw new UnLoginException("未登录");
+            throw new XiaoShiException("未登录");
         }
         CustomAnalysisItem item = new CustomAnalysisItem();
         BeanUtils.copyProperties(vo, item);
@@ -159,14 +160,14 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
                 .eq(CustomAnalysisItem::getName, vo.getName())
                 .eq(CustomAnalysisItem::getType, vo.getType()));
         if (items.size() > 1) {
-            throw new Exception("名称不可重复");
+            throw new XiaoShiException("名称不可重复");
         }
         //获取登陆人信息 用于设置创建人
         PersonnelVO personnelVO = new PersonnelVO();
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         } catch (Exception e) {
-            throw new UnLoginException("未登录");
+            throw new XiaoShiException("未登录");
         }
 
         CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
@@ -191,7 +192,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         long count = this.count(new LambdaQueryWrapper<CustomAnalysisItem>()
                 .eq(CustomAnalysisItem::getParentId, vo.getId()));
         if (count > 0) {
-            throw new Exception("删除失败,请先删除子节点");
+            throw new XiaoShiException("删除失败,请先删除子节点");
         }
         this.removeById(vo.getId());
         itemSchemaService.deleteByUid(item.getUid());

+ 5 - 4
src/main/java/cn/cslg/pas/service/business/MergePersonService.java

@@ -22,6 +22,7 @@ import cn.cslg.pas.domain.es.PatentMergePerson;
 import cn.cslg.pas.domain.es.PatentPerson;
 import cn.cslg.pas.domain.es.PersonAddress;
 import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.MergePersonMapper;
 import cn.cslg.pas.mapper.SystemDictMapper;
 import cn.cslg.pas.service.business.es.EsPatentService;
@@ -92,7 +93,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         } catch (Exception e) {
-            throw new UnLoginException("未登录");
+            throw new XiaoShiException("未登录");
         }
         //判断是否名称重复
         LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
@@ -100,7 +101,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
                 .eq(MergePerson::getName, vo.getName());
         List<MergePerson> list = mergePersonMapper.selectList(wrapper);
         if (list.size() > 1) {
-            throw new Exception("合并名称不可重复");
+            throw new XiaoShiException("合并名称不可重复");
         }
 
         MergePerson person = new MergePerson();
@@ -227,7 +228,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         try {
             personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         } catch (Exception e) {
-            throw new UnLoginException("未登录");
+            throw new XiaoShiException("未登录");
         }
         //判断是否名称重复
         LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
@@ -235,7 +236,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
                 .eq(MergePerson::getName, vo.getName());
         List<MergePerson> list = mergePersonMapper.selectList(wrapper);
         if (list.size() > 1) {
-            throw new Exception("合并名称不可重复");
+            throw new XiaoShiException("合并名称不可重复");
         }
         //获取老专利
         MergePerson person = this.getById(vo.getId());

+ 43 - 1
src/main/java/cn/cslg/pas/service/business/es/EsCountService.java

@@ -86,7 +86,12 @@ public class EsCountService {
                 }
             } else {
                 for (String value : values) {
-                    String condition = countVO.getField() + " = " + value;
+                    String condition = "";
+                    if (dateList.contains(countVO.getField())) {
+                        condition = this.getDateFormat(countVO.getField(), value);
+                    } else {
+                        condition = countVO.getField() + " = " + value;
+                    }
                     this.getReturnData(searchCondition, condition, customFields, taskId, projectId,
                             esCountVOS, detailDTOS, esCountDTO, value, map);
                 }
@@ -99,6 +104,43 @@ public class EsCountService {
         return esCountDTO;
     }
 
+    public String getDateFormat(String field,String value) {
+        String condition = "";
+        if (value.contains("Q") || value.contains("H") || value.length() == 9) {
+            String year = value.substring(0, value.indexOf("-"));
+            int nextYear = Integer.parseInt(year) + 1;
+            String start = "";
+            String end = "";
+            if (value.contains("Q1")) {
+                start = year + "-01";
+                end = year + "-04";
+            } else if (value.contains("Q2")) {
+                start = year + "-04";
+                end = year + "-07";
+            } else if (value.contains("Q3")) {
+                start = year + "-07";
+                end = year + "-10";
+            } else if (value.contains("Q4")) {
+                start = year + "-10";
+                end = nextYear + "-01";
+            } else if (value.contains("H1")) {
+                start = year + "-01";
+                end = year + "-07";
+            } else if (value.contains("H2")) {
+                start = year + "-07";
+                end = nextYear + "-01";
+            } else if (value.length() == 9) {
+                start = year;
+                end = value.substring(value.indexOf("-") + 1);
+            }
+            condition = field + ">=" + start + " " + "AND" + " " + field + "<" + end;
+        } else {
+            condition = field + " = " + value;
+        }
+
+        return condition;
+    }
+
     public void getReturnData(String searchCondition,String condition, List<EsCustomFieldValueDTO> customFields, Integer taskId,
                               Integer projectId, List<EsCountVO> countVOS, List<EsCountDetailDTO> detailDTOS,
                               EsCountDTO esCountDTO, String firstName, Map<String, List<EsCountDetailDTO>> map) throws Exception {