From 6605f552718a6c6b27ddd6bcf9b4adfe2816686f Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 09 二月 2023 17:44:51 +0800
Subject: [PATCH] fix(quartz): 111

---
 src/main/java/com/integrated/zyyt/service/ZyytService.java |  147 ++++++++++++++++++++++++-------------------------
 1 files changed, 72 insertions(+), 75 deletions(-)

diff --git a/src/main/java/com/integrated/zyyt/service/ZyytService.java b/src/main/java/com/integrated/zyyt/service/ZyytService.java
index 4e7b1f4..bac63d1 100644
--- a/src/main/java/com/integrated/zyyt/service/ZyytService.java
+++ b/src/main/java/com/integrated/zyyt/service/ZyytService.java
@@ -1,6 +1,5 @@
 package com.integrated.zyyt.service;
 
-import com.alibaba.fastjson.JSON;
 import com.integrated.zyyt.enetity.StationInfo;
 import com.integrated.zyyt.enetity.YyztTDjtjb;
 import com.integrated.zyyt.enetity.YyztTShkdrb;
@@ -35,26 +34,20 @@
         log.info("寮�濮嬭繘琛� 鏈烘瀯鍚屾");
         LocalDate yestDay = LocalDate.now().minus(1, ChronoUnit.DAYS);
         String batchNo = ZyytUtil.getBatchNo(yestDay);
+        log.info("鎵规鍙蜂负 {}", batchNo);
         if (ZyytUtil.isRunning("STATIONINFO", yestDay)) {
             log.info("鎵规{}姝e湪杩愯", batchNo);
             return;
         }
 
         Zyyt<StationInfo> stationInfoService = ZyytUtil.getBusinessEntity("STATIONINFO", yestDay);
-        String exeSql = "merge into STATIONINFO A USING" +
-                " (select ? V_JGBH  from dual ) C " +
-                "ON(A.V_JGBH=C.V_JGBH) " +
-                "when matched then " +
-                "update SET A.V_SFMC=?,A.V_SFDM=?,A.V_DSDM=?,A.V_DSMC=?,A.V_QXDM=?,A.V_XSMC=?,A.V_TDJGBH=?,A.V_TDJGMC=?,A.V_JGMC=?,A.V_LXRXM=?,A.V_LXDH=?,A.V_SJHM=?,A.V_LXDZ=?,A.ISCOUNTRY=?,A.C_WDLX =?,A.C_YZBM=?,A.V_YYWDBH=?,A.V_YYWDMC=?,A.V_GPSJD=?,A.V_GPSWD=?,A.YLGZDID  =?,A.YLGZDMC=?,A.V_STATUS=?,A.D_SQRQ=?,A.D_SPRQ=?" +
-                "when not matched then " +
-                "insert(A.V_SFMC,A.V_SFDM,A.V_DSDM,A.V_DSMC,A.V_QXDM,A.V_XSMC,A.V_TDJGBH,A.V_TDJGMC,A.V_JGBH,A.V_JGMC,A.V_LXRXM,A.V_LXDH,A.V_SJHM,A.V_LXDZ,A.ISCOUNTRY,A.C_WDLX ,A.C_YZBM,A.V_YYWDBH,A.V_YYWDMC,A.V_GPSJD,A.V_GPSWD,A.YLGZDID  ,A.YLGZDMC,A.V_STATUS,A.D_SQRQ,A.D_SPRQ) values " +
-                "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+        String exeSql = "merge into STATIONINFO A USING" + " (select ? V_JGBH  from dual ) C " + "ON(A.V_JGBH=C.V_JGBH) " + "when matched then " + "update SET A.V_SFMC=?,A.V_SFDM=?,A.V_DSDM=?,A.V_DSMC=?,A.V_QXDM=?,A.V_XSMC=?,A.V_TDJGBH=?,A.V_TDJGMC=?,A.V_JGMC=?,A.V_LXRXM=?,A.V_LXDH=?,A.V_SJHM=?,A.V_LXDZ=?,A.ISCOUNTRY=?,A.C_WDLX =?,A.C_YZBM=?,A.V_YYWDBH=?,A.V_YYWDMC=?,A.V_GPSJD=?,A.V_GPSWD=?,A.YLGZDID  =?,A.YLGZDMC=?,A.V_STATUS=?,A.D_SQRQ=?,A.D_SPRQ=?" + "when not matched then " + "insert(A.V_SFMC,A.V_SFDM,A.V_DSDM,A.V_DSMC,A.V_QXDM,A.V_XSMC,A.V_TDJGBH,A.V_TDJGMC,A.V_JGBH,A.V_JGMC,A.V_LXRXM,A.V_LXDH,A.V_SJHM,A.V_LXDZ,A.ISCOUNTRY,A.C_WDLX ,A.C_YZBM,A.V_YYWDBH,A.V_YYWDMC,A.V_GPSJD,A.V_GPSWD,A.YLGZDID  ,A.YLGZDMC,A.V_STATUS,A.D_SQRQ,A.D_SPRQ) values " + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
 
         Long recordId = stationInfoService.insertRecord("STATIONINFO", batchNo);
         Long totalSize = 0L;
 
         int pageNum = 0;
-        int pageSize = 500;
+        int pageSize = 1000;
 
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -81,7 +74,7 @@
                     int fromIndex = i * batchSize;
                     // 缁撴潫浣嶇疆
                     int toIndex = (i + 1) * batchSize < length ? (i + 1) * batchSize : length;
-                    if (fromIndex == batchSize) {
+                    if (fromIndex == length) {
                         continue;
                     }
                     System.out.println(fromIndex + " === " + toIndex);
@@ -91,67 +84,70 @@
                             @Override
                             public void setValues(PreparedStatement ps, int i) throws SQLException {
                                 StationInfo stationInfo = stationInfoListCopy.get(i);
-                                log.info("stationInfo==> {}", JSON.toJSONString(stationInfo));
+//                                log.info("stationInfo==> {}", JSON.toJSONString(stationInfo));
 
-                                ps.setObject(1, stationInfo.getVJgbh());
+                                ps.setString(1, stationInfo.getVJgbh());
 
-                                ps.setObject(2, stationInfo.getVSfmc());
-                                ps.setObject(3, stationInfo.getVSfdm());
-                                ps.setObject(4, stationInfo.getVDsdm());
-                                ps.setObject(5, stationInfo.getVDsmc());
-                                ps.setObject(6, stationInfo.getVQxdm());
-                                ps.setObject(7, stationInfo.getVXsmc());
-                                ps.setObject(8, stationInfo.getVTdjgbh());
-                                ps.setObject(9, stationInfo.getVTdjgmc());
-                                ps.setObject(10, stationInfo.getVJgmc());
-                                ps.setObject(11, stationInfo.getVLxrxm());
-                                ps.setObject(12, stationInfo.getVLxdh());
-                                ps.setObject(13, stationInfo.getVSjhm());
-                                ps.setObject(14, stationInfo.getVLxdz());
-                                ps.setObject(15, stationInfo.getIscountry());
-                                ps.setObject(16, stationInfo.getCWdlx());
-                                ps.setObject(17, stationInfo.getCYzbm());
-                                ps.setObject(18, stationInfo.getVYywdbh());
-                                ps.setObject(19, stationInfo.getVYywdmc());
-                                ps.setObject(20, stationInfo.getVGpsjd());
-                                ps.setObject(21, stationInfo.getVGpswd());
-                                ps.setObject(22, stationInfo.getYlgzdid());
-                                ps.setObject(23, stationInfo.getYlgzdmc());
-                                ps.setObject(24, stationInfo.getVStatus());
-                                ps.setDate(25, new Date(stationInfo.getDSqrq().getTime()));
-//                                ps.setObject(25, stationInfo.getDSqrq());
-//                                ps.setObject(26, stationInfo.getDSprq());
-                                ps.setDate(26, new Date(stationInfo.getDSprq().getTime()));
+                                ps.setString(2, stationInfo.getVSfmc());
+                                ps.setString(3, stationInfo.getVSfdm());
+                                ps.setString(4, stationInfo.getVDsdm());
+                                ps.setString(5, stationInfo.getVDsmc());
+                                ps.setString(6, stationInfo.getVQxdm());
+                                ps.setString(7, stationInfo.getVXsmc());
+                                ps.setString(8, stationInfo.getVTdjgbh());
+                                ps.setString(9, stationInfo.getVTdjgmc());
+                                ps.setString(10, stationInfo.getVJgmc());
+                                ps.setString(11, stationInfo.getVLxrxm());
+                                ps.setString(12, stationInfo.getVLxdh());
+                                ps.setString(13, stationInfo.getVSjhm());
+                                ps.setString(14, stationInfo.getVLxdz());
+                                ps.setString(15, stationInfo.getIscountry());
+                                ps.setShort(16, stationInfo.getCWdlx());
+                                ps.setString(17, stationInfo.getCYzbm());
+                                ps.setString(18, stationInfo.getVYywdbh());
+                                ps.setString(19, stationInfo.getVYywdmc());
+                                ps.setString(20, stationInfo.getVGpsjd());
+                                ps.setString(21, stationInfo.getVGpswd());
+                                ps.setString(22, stationInfo.getYlgzdid());
+                                ps.setString(23, stationInfo.getYlgzdmc());
+                                ps.setString(24, stationInfo.getVStatus());
+//                                ps.setDate(25, new Date(stationInfo.getDSqrq().getTime()));
+                                ps.setDate(25,
+                                        stationInfo.getDSqrq() == null ? null :
+                                                new Date(stationInfo.getDSqrq().getTime()));
+//                                ps.setString(25, stationInfo.getDSqrq());
+//                                ps.setString(26, stationInfo.getDSprq());
+                                ps.setDate(26, stationInfo.getDSprq() == null ? null :
+                                        new Date(stationInfo.getDSprq().getTime()));
 
-                                ps.setObject(27, stationInfo.getVSfmc());
-                                ps.setObject(28, stationInfo.getVSfdm());
-                                ps.setObject(29, stationInfo.getVDsdm());
-                                ps.setObject(30, stationInfo.getVDsmc());
-                                ps.setObject(31, stationInfo.getVQxdm());
-                                ps.setObject(32, stationInfo.getVXsmc());
-                                ps.setObject(33, stationInfo.getVTdjgbh());
-                                ps.setObject(34, stationInfo.getVTdjgmc());
-                                ps.setObject(35, stationInfo.getVJgbh());
-                                ps.setObject(36, stationInfo.getVJgmc());
-                                ps.setObject(37, stationInfo.getVLxrxm());
-                                ps.setObject(38, stationInfo.getVLxdh());
-                                ps.setObject(39, stationInfo.getVSjhm());
-                                ps.setObject(40, stationInfo.getVLxdz());
-                                ps.setObject(41, stationInfo.getIscountry());
-                                ps.setObject(42, stationInfo.getCWdlx());
-                                ps.setObject(43, stationInfo.getCYzbm());
-                                ps.setObject(44, stationInfo.getVYywdbh());
-                                ps.setObject(45, stationInfo.getVYywdmc());
-                                ps.setObject(46, stationInfo.getVGpsjd());
-                                ps.setObject(47, stationInfo.getVGpswd());
-                                ps.setObject(48, stationInfo.getYlgzdid());
-                                ps.setObject(49, stationInfo.getYlgzdmc());
-                                ps.setObject(50, stationInfo.getVStatus());
-//                                ps.setObject(51, stationInfo.getDSqrq());
-                                ps.setDate(51, new Date(stationInfo.getDSqrq().getTime()));
+                                ps.setString(27, stationInfo.getVSfmc());
+                                ps.setString(28, stationInfo.getVSfdm());
+                                ps.setString(29, stationInfo.getVDsdm());
+                                ps.setString(30, stationInfo.getVDsmc());
+                                ps.setString(31, stationInfo.getVQxdm());
+                                ps.setString(32, stationInfo.getVXsmc());
+                                ps.setString(33, stationInfo.getVTdjgbh());
+                                ps.setString(34, stationInfo.getVTdjgmc());
+                                ps.setString(35, stationInfo.getVJgbh());
+                                ps.setString(36, stationInfo.getVJgmc());
+                                ps.setString(37, stationInfo.getVLxrxm());
+                                ps.setString(38, stationInfo.getVLxdh());
+                                ps.setString(39, stationInfo.getVSjhm());
+                                ps.setString(40, stationInfo.getVLxdz());
+                                ps.setString(41, stationInfo.getIscountry());
+                                ps.setShort(42, stationInfo.getCWdlx());
+                                ps.setString(43, stationInfo.getCYzbm());
+                                ps.setString(44, stationInfo.getVYywdbh());
+                                ps.setString(45, stationInfo.getVYywdmc());
+                                ps.setString(46, stationInfo.getVGpsjd());
+                                ps.setString(47, stationInfo.getVGpswd());
+                                ps.setString(48, stationInfo.getYlgzdid());
+                                ps.setString(49, stationInfo.getYlgzdmc());
+                                ps.setString(50, stationInfo.getVStatus());
+//                                ps.setString(51, stationInfo.getDSqrq());
+                                ps.setDate(51, stationInfo.getDSqrq() == null ? null : new Date(stationInfo.getDSqrq().getTime()));
 
-                                ps.setObject(52, stationInfo.getDSprq());
-                                ps.setDate(52, new Date(stationInfo.getDSprq().getTime()));
+                                ps.setDate(52, stationInfo.getDSprq() == null ? null : new Date(stationInfo.getDSprq().getTime()));
                             }
 
                             @Override
@@ -160,6 +156,8 @@
                             }
                         });
                     } catch (Exception e) {
+                        log.error("璁剧疆鍙傛暟鍊兼姤閿欎簡");
+                        e.printStackTrace();
                         log.error(e.getMessage());
                         //鎵嬪伐鍥炴粴寮傚父
                         TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -203,7 +201,7 @@
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
             int pageNum = 0;
-            int pageSize = 500;
+            int pageSize = 1000;
 
             String batchInsertSql = "INSERT INTO YYZT_T_SHKDRB (\"V_SFDM\",\"V_SFMC\",\"V_DSDM\",\"V_DSMC\",\"V_QXDM\",\"V_XSMC\",\"V_TDJGBH\",\"V_TDJGMC\",\"V_JGBH\",\"V_JGMC\",\"D_RBRQ\",\"N_ZGYZLJS\",\"N_ZGYZQJS\",\"N_SHKDLJS\",\"N_SHKDQJS\",\"N_ZTLJS\",\"N_ZTQJS\",\"N_YTLJS\",\"N_YTQJS\",\"N_STLJS\",\"N_STQJS\",\"N_BSLJS\",\"N_BSQJS\",\"N_YDLJS\",\"N_YDQJS\",\"N_YFLJS\",\"N_YFQJS\",\"N_JDLJS\",\"N_JDQJS\",\"N_JTLJS\",\"N_JTQJS\",\"N_TTLJS\",\"N_TTQJS\",\"N_DBLJS\",\"N_DBQJS\",\"N_DNLJS\",\"N_DNQJS\",\"N_FWLJS\",\"N_FWQJS\",\"N_YSLJS\",\"N_YSQJS\",\"N_QTLJS\",\"N_QTQJS\",\"RESERVED1\",\"RESERVED2\",\"RESERVED3\",\"RESERVED4\",\"BATCH_NO\") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
 
@@ -229,7 +227,7 @@
                     int fromIndex = i * batchSize;
                     // 缁撴潫浣嶇疆
                     int toIndex = (i + 1) * batchSize < length ? (i + 1) * batchSize : length;
-                    if (fromIndex == batchSize) {
+                    if (fromIndex == length) {
                         continue;
                     }
                     List<YyztTShkdrb> yyztTShkdrbs = stationInfoList.subList(fromIndex, toIndex);
@@ -284,8 +282,7 @@
                                     item.getReserved2(),
                                     item.getReserved3(),
                                     item.getReserved4(),
-                                    item.getBatchNo()
-                            });
+                                    batchNo});
                         });
                         jdbcTemplate.batchUpdate(batchInsertSql, insertShkdrbList);
                     } catch (Exception e) {
@@ -330,7 +327,7 @@
 
         try {
             int pageNum = 0;
-            int pageSize = 500;
+            int pageSize = 1000;
 
             String batchInsertSql = "INSERT INTO YYZT_T_DJTJB (\"V_SFDM\", \"V_SFMC\", \"V_DSDM\", \"V_DSMC\", \"V_QXDM\", \"V_XSMC\", \"V_TDJGBH\", \"V_JGBH\", \"V_JGMC\", \"D_RBRQ\", \"V_YLGZDID\", \"V_YLGZDMC\", \"N_SJYWL\", \"N_TKYWL\", \"N_BKYEL\", \"N_SJZJE\", \"N_TKSR\", \"N_BKSR\", \"BATCH_NO\") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
             // 鏌ヨ鎬绘暟
@@ -354,7 +351,7 @@
                     int fromIndex = i * batchSize;
                     // 缁撴潫浣嶇疆
                     int toIndex = (i + 1) * batchSize < length ? (i + 1) * batchSize : length;
-                    if (fromIndex == batchSize) {
+                    if (fromIndex == length) {
                         continue;
                     }
                     System.out.println(fromIndex + " === " + toIndex);
@@ -381,7 +378,7 @@
                                     item.getNSjzje(),
                                     item.getNTksr(),
                                     item.getNBksr(),
-                                    item.getBatchNo()
+                                    batchNo
                             });
                         });
                         jdbcTemplate.batchUpdate(batchInsertSql, insertShkdrbList);

--
Gitblit v1.9.1