lwhhszx 1 год назад
Родитель
Сommit
599f4abd0b

+ 13 - 1
src/main/java/cn/cslg/pas/common/utils/DateUtils2.java

@@ -272,7 +272,7 @@ public class DateUtils2 {
     }
 
 
-    public static List<String> getWeekRange(LocalDate localDate){
+    public static List<String> getWeekRange (LocalDate localDate){
         List<String> ranges =new ArrayList<>();
         LocalDate firstDayOfWeek = localDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
         LocalDate lastDayOfWeek = firstDayOfWeek.plusDays(6);
@@ -285,6 +285,18 @@ public class DateUtils2 {
         return ranges;
     }
 
+    public static List<String> getWDWeekRange(LocalDate localDate){
+        List<String> ranges =new ArrayList<>();
+        LocalDate firstDayOfWeek = localDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+        LocalDate lastDayOfWeek = firstDayOfWeek.plusDays(6);
+        java.time.format.DateTimeFormatter formatter =java.time.format.DateTimeFormatter.ofPattern("yyyyMMdd");
+        // 使用formatter将LocalDate转换为字符串
+        String formattedDate1 = firstDayOfWeek.format(formatter);
+        String formattedDate2 =lastDayOfWeek.format(formatter);
+        ranges.add(formattedDate1);
+        ranges.add(formattedDate2);
+        return ranges;
+    }
     public static List<String> getMonthRange(LocalDate localDate){
         List<String> ranges =new ArrayList<>();
         LocalDate firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());

+ 36 - 10
src/main/java/cn/cslg/pas/service/business/ImportTaskService.java

@@ -88,6 +88,7 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
     private MailSendService mailSendService;
     @Autowired
     private PatentProjectService patentProjectService;
+
     @Override
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
         List<String> sqls = formatQueryService.reSqls(queryRequest, "importTask");
@@ -556,10 +557,10 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
         return importTask.getId();
     }
 
-    public void addImportTaskByCondition(ImportTaskCondition importTaskCondition,PatentProject project) {
+    public void addImportTaskByCondition(ImportTaskCondition importTaskCondition, PatentProject project) {
         String condition = importTaskCondition.getSearchCondition();
         String updateCycle = project.getUpdateCycle();
-
+        String dbType = importTaskCondition.getDbType();
         if (updateCycle == null) {
             return;
         }
@@ -567,19 +568,40 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
         List<String> dateRange = new ArrayList<>();
         switch (updateCycle) {
             case Cycle.WEEK:
-                LocalDate localDateWeek = localDate.minusWeeks(2);
+                LocalDate localDateWeek = null;
+                if (dbType != null && dbType.equals("CN")) {
+                    localDateWeek = localDate.minusMonths(1).minusWeeks(1);
+                } else {
+                    localDateWeek = localDate.minusWeeks(1);
+
+                }
                 dateRange = DateUtils2.getWeekRange(localDateWeek);
                 break;
             case Cycle.MONTH:
-                LocalDate localDateMonth = localDate.minusMonths(1);
+                LocalDate localDateMonth = null;
+                if (dbType != null && dbType.equals("CN")) {
+                    localDateMonth = localDate.minusMonths(1);
+                } else {
+                    localDateMonth = localDate.minusMonths(2);
+                }
                 dateRange = DateUtils2.getMonthRange(localDateMonth);
                 break;
             case Cycle.QUARTER:
-                LocalDate localDateQuartz = localDate.minusMonths(4);
+                LocalDate localDateQuartz = null;
+                if (dbType != null && dbType.equals("CN")) {
+                    localDateQuartz = localDate.minusMonths(4);
+                } else {
+                    localDateQuartz = localDate.minusMonths(5);
+                }
                 dateRange = DateUtils2.getQuartzRange(localDateQuartz);
                 break;
             case Cycle.YEAR:
-                LocalDate localYear = localDate.minusYears(1);
+                LocalDate localYear = null;
+                if (dbType != null && dbType.equals("CN")) {
+                    localYear = localDate.minusMonths(1).minusYears(1);
+                } else {
+                    localYear= localDate.minusYears(1);
+                }
                 dateRange = DateUtils2.getYearRange(localYear);
                 break;
         }
@@ -599,11 +621,15 @@ public class ImportTaskService extends ServiceImpl<ImportTaskMapper, ImportTask>
         ImportTask importTask = new ImportTask();
 
 
-            String fromDateStr = DateUtils2.dateTimeToPatentStr(start);
-            String todateStr = DateUtils2.dateTimeToPatentStr(end);
-            importTask.setLastUpdateToDate(start);
-            importTask.setUpdateToDate(end);
+        String fromDateStr = DateUtils2.dateTimeToPatentStr(start);
+        String todateStr = DateUtils2.dateTimeToPatentStr(end);
+        importTask.setLastUpdateToDate(start);
+        importTask.setUpdateToDate(end);
+        if (dbType != null && dbType.equals("CN")) {
             condition = condition + " and (PD=" + fromDateStr + "~" + todateStr + " or GD=" + fromDateStr + "~" + todateStr + ")";
+        } else {
+            condition = condition + " and (PD=" + fromDateStr + "~" + todateStr + " or GD=" + fromDateStr + "~" + todateStr + ")";
+        }
 
         PatentStarListDTO patentStarListDto = new PatentStarListDTO()
                 .setCurrentQuery(condition)

+ 32 - 23
src/main/java/cn/cslg/pas/service/quartzService/SysImportPatentJobService.java

@@ -35,29 +35,16 @@ public class SysImportPatentJobService extends QuartzJobBean {
     @Override
     public void executeInternal(JobExecutionContext context) throws JobExecutionException {
         mailSendService.sendSysCycleStartEmail();
-        CheckDateConditionVO checkDateConditionVO = DateUtils2.checkDateCycleCondition(null);
-        Boolean ifMeetMonth = checkDateConditionVO.getIfMeetMonth();
-        Boolean ifMeetQuarter = checkDateConditionVO.getIfMeetQuarter();
-        Boolean ifMeetYear = checkDateConditionVO.getIfMeetYear();
-        List<String> cycles = new ArrayList<>();
-            cycles.add(Cycle.WEEK);
+        this.addChinesePatent();
+        this.addWDPatent();
 
-        if (ifMeetMonth != null && ifMeetMonth) {
-            cycles.add(Cycle.MONTH);
-        }
-        if (ifMeetQuarter != null && ifMeetQuarter) {
-            cycles.add(Cycle.QUARTER);
-        }
-        if (ifMeetYear != null && ifMeetYear) {
-            cycles.add(Cycle.YEAR);
-        }
+    }
 
-        if (cycles.size() <= 0) {
-            return;
-        }
+
+    public void addChinesePatent() {
+         List<String> cycles =this.getCnCycles();
         LambdaQueryWrapper<PatentProject> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(PatentProject::getIfUpdate, true)
-                .in(PatentProject::getUpdateCycle, cycles);
+        queryWrapper.eq(PatentProject::getIfUpdate, true);
         List<PatentProject> patentProjects = patentProjectService.list(queryWrapper);
         if (patentProjects != null && patentProjects.size() != 0) {
             List<Integer> projectId = patentProjects.stream().map(PatentProject::getProjectId).collect(Collectors.toList());
@@ -69,15 +56,37 @@ public class SysImportPatentJobService extends QuartzJobBean {
             List<ImportTaskCondition> importTaskConditions = importTaskConditionService.list(queryWrapper1);
 
             importTaskConditions.forEach(item -> {
-            PatentProject project=    patentProjects.stream().filter(t->t.getProjectId().equals(item.getProjectId())).findFirst().orElse(null);
-                importTaskService.addImportTaskByCondition(item,project);
+
+                PatentProject project = patentProjects.stream().filter(t -> t.getProjectId().equals(item.getProjectId())).findFirst().orElse(null);
+                if(item.getDbType()==null||!item.getDbType().equals("CN")||item.getDbType().equals("CN")&&cycles.contains(project.getUpdateCycle())))
+                {                importTaskService.addImportTaskByCondition(item, project);
+                }
             });
         }
 
-
     }
 
 
+    public List<String> getCnCycles() {
+        CheckDateConditionVO checkDateConditionVO = DateUtils2.checkDateCycleCondition(null);
+        Boolean ifMeetMonth = checkDateConditionVO.getIfMeetMonth();
+        Boolean ifMeetQuarter = checkDateConditionVO.getIfMeetQuarter();
+        Boolean ifMeetYear = checkDateConditionVO.getIfMeetYear();
+        List<String> cycles = new ArrayList<>();
+        cycles.add(Cycle.WEEK);
+
+        if (ifMeetMonth != null && ifMeetMonth) {
+            cycles.add(Cycle.MONTH);
+        }
+        if (ifMeetQuarter != null && ifMeetQuarter) {
+            cycles.add(Cycle.QUARTER);
+        }
+        if (ifMeetYear != null && ifMeetYear) {
+            cycles.add(Cycle.YEAR);
+        }
+        return cycles;
+
+    }
 }