Explorar el Código

销售订单同步 添加带参定时任务

liuchaohui hace 2 años
padre
commit
6109629445

+ 21 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java

@@ -278,4 +278,25 @@ public class QuartzJobController {
 		}
 		return Result.ok("执行成功!");
 	}
+
+	/**
+	 * 立即执行 带参定时任务
+	 * @param id
+	 * @return
+	 */
+	@GetMapping("/executeByParam")
+	public Result<?> executeByParam(@RequestParam(name = "id", required = true) String id,@RequestParam(name = "param", required = true) String param) {
+		QuartzJob quartzJob = quartzJobService.getById(id);
+		quartzJob.setParameter(param);
+		if (quartzJob == null) {
+			return Result.error("未找到对应实体");
+		}
+		try {
+			quartzJobService.execute(quartzJob);
+		} catch (Exception e) {
+			log.info("定时任务 立即执行失败>>"+e.getMessage());
+			return Result.error("执行失败!");
+		}
+		return Result.ok("执行成功!");
+	}
 }

+ 13 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/AddOrderJob.java

@@ -43,6 +43,12 @@ public class AddOrderJob implements Job,ApplicationContextAware {
     private static ISenYuDataSourceTwo senYuDataSourceTwo;
     private static ISenYuDataSourceThree senYuDataSourceThree;
 
+    private String code;
+
+    public void setCode(String code){
+        this.code=code;
+    }
+
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         System.out.println("销售订单拉取U8数据定时任务开始========================》");
         //得到系统时间
@@ -122,7 +128,13 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                         " LEFT JOIN Customer cc ON s.cCusCode = cc.cCusCode" +
                         " LEFT JOIN Person  pe ON s.cPersonCode = pe.cPersonCode" +
                         " left join Vendor v on s.cDefine12=v.cVenName" +
-                        " where s.iStatus = 1  AND (s.cdefine15 is null or  s.cdefine15 !='1')  order by s.dDate desc ";//and s.dverifysystime > '"+lastTimeSf+"'
+                        " where s.iStatus = 1  AND (s.cdefine15 is null or  s.cdefine15 !='1') ";
+
+                if(this.code==null || this.code.equals("") || this.code.equals(" ")){
+                    sql=sql+" order by s.dDate desc ";
+                }else {
+                    sql=sql+" s.cSOCode = "+this.code+" order by s.dDate desc ";
+                }
                 List<Map<String, Object>> list = new ArrayList<>();
                 if(pkorgValue[0].equals("one")){
                     list = senYuDataSourceOne.queryForList(sql);