Jelajahi Sumber

修改定时任务分页bug

wzh 1 tahun lalu
induk
melakukan
a02d4f2621
1 mengubah file dengan 21 tambahan dan 9 penghapusan
  1. 21 9
      src/main/java/com/qlm/service/UploadService.java

+ 21 - 9
src/main/java/com/qlm/service/UploadService.java

@@ -122,16 +122,22 @@ public class UploadService {
 		}
 	}
 	
+	static boolean  isRunning = false;
+	
 	//同步订单到我们自己的库
 	public static void update(){
-		
-		int pageSize = 500;
-		for (int i = 1; i <100000000; i++) {
-			int pageStart = (i-1)*pageSize;
-			int pageEnd = pageSize*i;
-			String udfSqlString = "select * from WMS_PROD.V_TMSO_RETURN_H where ROWNUM>="+pageStart+" and ROWNUM<"+pageEnd;
-//			String sql = "select * from WMS_PROD.V_SERIAL_INFO WHERE ROWNUM = 1";
-			List<Record> find = Db.use("oracle").find(udfSqlString);
+		if(isRunning){
+			return;
+		}
+		isRunning = true;
+		int pageSize = 1000;
+		try{
+		for (int pageNumber = 1; pageNumber <100000000; pageNumber++) {
+			int pageStart = (pageNumber - 1) * pageSize + 1;
+			int pageEnd = pageSize*pageNumber;
+			
+			String udfSqlString = "SELECT * FROM (SELECT a.*, ROWNUM rnum FROM (SELECT * FROM WMS_PROD.V_TMSO_RETURN_H) a WHERE ROWNUM <= ?) WHERE rnum > ?";
+			List<Record> find = Db.use("oracle").find(udfSqlString,pageStart,pageEnd);
 			if(find.isEmpty()){
 				break;
 			}
@@ -191,9 +197,15 @@ public class UploadService {
 				
 			}
 			WxUtil.batchSaveIgnore("deliveryorders", list, "");
-			Log.info("执行同步数据:,页数:"+i+"");
+			Log.info("执行同步数据:,页数:"+pageNumber+"");
+		}
+		}catch(Exception e){
+			e.printStackTrace();
+		}finally{
+			isRunning = false;
 		}
 		
+		
 	}
 	
 	private static String key = "wYG(nx%Xlc7vb%Ss1=2L#JZ*gSk^WXuV";