Browse Source

【数据中心】配置定时JOB

zhouy 2 tuần trước cách đây
mục cha
commit
297ed62851

+ 9 - 0
src/main/java/com/uas/eis/entity/DataChipTestLog.java

@@ -8,6 +8,7 @@ public class DataChipTestLog implements Serializable {
     private String status;
     private String status;
     private String data_path;
     private String data_path;
     private String counter_path;
     private String counter_path;
+    private Integer dbid_;
 
 
     public String getWafer_id() {
     public String getWafer_id() {
         return wafer_id;
         return wafer_id;
@@ -48,4 +49,12 @@ public class DataChipTestLog implements Serializable {
     public void setCounter_path(String counter_path) {
     public void setCounter_path(String counter_path) {
         this.counter_path = counter_path;
         this.counter_path = counter_path;
     }
     }
+
+    public Integer getDbid_() {
+        return dbid_;
+    }
+
+    public void setDbid_(Integer dbid_) {
+        this.dbid_ = dbid_;
+    }
 }
 }

+ 6 - 1
src/main/java/com/uas/eis/serviceImpl/FileParseServiceImpl.java

@@ -109,11 +109,16 @@ public class FileParseServiceImpl implements FileParseService {
                     sqls.add(new StringBuilder().append("BEGIN ").append(detailBuffer.toString()).append("  END;").toString());
                     sqls.add(new StringBuilder().append("BEGIN ").append(detailBuffer.toString()).append("  END;").toString());
                 }
                 }
                 this.baseDao.getJdbcTemplate().batchUpdate((String[]) sqls.toArray(new String[sqls.size()]));
                 this.baseDao.getJdbcTemplate().batchUpdate((String[]) sqls.toArray(new String[sqls.size()]));
+                StringBuilder endBuilder = new StringBuilder().append("BEGIN ").append("UPDATE DATACENTER$MESFILE SET DEALSTATE_=1,DEALTIME_=SYSDATE WHERE DBID_=").
+                        append(dataChipTestLog.getDbid_()).append("; ");
+                endBuilder.append("INSERT INTO  chip$file (WAFER_ID,LOT_ID,PASS_QTY,FAIL_QTY,PASS_YFIELD,EQUIP_ID,STATUS,COUNTER_PATH,DATA_PATH,TEST_LOT,CREATETIME_,DEALSTATE_,DEALTIME_,DBID_) SELECT WAFER_ID,LOT_ID,PASS_QTY,FAIL_QTY,PASS_YFIELD,EQUIP_ID,STATUS,TRIM(COUNTER_PATH),trim(DATA_PATH),TEST_LOT,CREATETIME_,DEALSTATE_,DEALTIME_,DBID_ " +
+                        "FROM DATACENTER$MESFILE WHERE DBID_="+dataChipTestLog.getDbid_()+" AND DATACENTER$MESFILE.DBID_ NOT IN (SELECT DBID_ FROM chip$file WHERE DBID_="+dataChipTestLog.getDbid_()+" ); END;");
+                this.baseDao.execute(endBuilder.toString());
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
             this.logger.error(new StringBuilder().append("Exception:芯片号:").append(dataChipTestLog.getWafer_id()).toString(), e);
             this.logger.error(new StringBuilder().append("Exception:芯片号:").append(dataChipTestLog.getWafer_id()).toString(), e);
             e.printStackTrace();
             e.printStackTrace();
-           // this.baseDao.execute(new StringBuilder().append("UPDATE DATACENTER$CHIP SET READSTATUS_=-99 WHERE ID_=").append(dataChip.getId_()).toString());
+            this.baseDao.execute(new StringBuilder().append("UPDATE DATACENTER$MESFILE SET DEALSTATE_=-99 , DEALTIME_=SYSDATE WHERE DBID_=").append(dataChipTestLog.getDbid_()).toString());
         } finally {
         } finally {
             countDownLatch.countDown();
             countDownLatch.countDown();
         }
         }

+ 5 - 2
src/main/java/com/uas/eis/task/FileParseTask.java

@@ -11,6 +11,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import java.util.Date;
 import java.util.Date;
@@ -30,11 +31,13 @@ public class FileParseTask {
     private FileParseService fileParseService;
     private FileParseService fileParseService;
     @Autowired
     @Autowired
     private TableCreator tableCreator;
     private TableCreator tableCreator;
+    @Scheduled(fixedRate = 600000)
     public void dataDeal(){
     public void dataDeal(){
         //wafer_id='BF241002603#01' AND
         //wafer_id='BF241002603#01' AND
-        List<DataChipTestLog> dataChipTestLogs = baseDao.getJdbcTemplate().query("select wafer_id,lot_id,status,data_path,counter_path from (select wafer_id,lot_id,status,data_path,counter_path from " +
+        logger.info("开始解析文件");
+        List<DataChipTestLog> dataChipTestLogs = baseDao.getJdbcTemplate().query("select wafer_id,lot_id,status,data_path,counter_path,dbid_ from (select wafer_id,lot_id,status,data_path,counter_path,dbid_ from " +
                         " DATACENTER$MESFILE WHERE DEALSTATE_=0 ORDER BY DBID_ ASC ) where " +
                         " DATACENTER$MESFILE WHERE DEALSTATE_=0 ORDER BY DBID_ ASC ) where " +
-                " rownum<=10", new BeanPropertyRowMapper<>(DataChipTestLog.class));
+                " rownum<=100", new BeanPropertyRowMapper<>(DataChipTestLog.class));
         List<String> distinctLotIds = dataChipTestLogs.stream().map(DataChipTestLog::getLot_id).distinct()
         List<String> distinctLotIds = dataChipTestLogs.stream().map(DataChipTestLog::getLot_id).distinct()
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
         SpObserver.putSp("datacenter");
         SpObserver.putSp("datacenter");

+ 0 - 56
src/main/resources/application-analyse.yml

@@ -1,56 +0,0 @@
-spring:
-    datasource:
-        type: com.alibaba.druid.pool.DruidDataSource
-        driverClassName: oracle.jdbc.OracleDriver
-        username: SZSI_P
-        password: select!#%*(
-        url: jdbc:oracle:thin:@172.16.0.22:1521:orcl
-        initialSize: 10
-        maxActive: 80
-        minIdle: 10
-        maxWait: 60000
-        testOnBorrow: true
-        testOnReturn: false
-        testWhileIdle: true
-        validationQuery: SELECT 1 FROM DUAL
-        timeBetweenEvictionRunsMillis: 60000
-        minEvictableIdleTimeMillis: 300000
-        poolPreparedStatements: true
-        maxPoolPreparedStatementPerConnectionSize: 80
-        filters: stat
-        removeAbandoned: true
-        removeAbandonedTimeout: 1800
-    http:
-        encoding:
-            force: true
-            charset: UTF-8
-            enabled: true
-    message:
-        encoding: UTF-8
-    jpa:
-      show-sql: false
-      hibernate:
-        ddl-auto: update
-      database: oracle
-
-server:
-    tomcat:
-        uri_encoding: UTF-8
-    port: 8009
-    context-path: /EIS
-action:
-    api_action: /EIS/api
-    public_actions: /EIS/logout,/EIS/hello1
-logging:
-  level:
-    org:
-      hibernate:
-        type: trace
-  config: classpath:log/logback-analyse.xml
-
-SECURITY_KEY: 435aMe9L5itTrckY35kfcOQvPkBGZtGo
-KEEP: 86400000
-Task:
-  Method: dataDeal
-  Cron: 5 0/10 1-23 * * ?
-

+ 0 - 54
src/main/resources/application-file.yml

@@ -1,54 +0,0 @@
-spring:
-    datasource:
-        type: com.alibaba.druid.pool.DruidDataSource
-        driverClassName: oracle.jdbc.OracleDriver
-        username: SZSI_P
-        password: select!#%*(
-        url: jdbc:oracle:thin:@172.16.0.22:1521:orcl
-        initialSize: 10
-        maxActive: 80
-        minIdle: 10
-        maxWait: 60000
-        testOnBorrow: true
-        testOnReturn: false
-        testWhileIdle: true
-        validationQuery: SELECT 1 FROM DUAL
-        timeBetweenEvictionRunsMillis: 60000
-        minEvictableIdleTimeMillis: 300000
-        poolPreparedStatements: true
-        maxPoolPreparedStatementPerConnectionSize: 80
-        filters: stat
-        removeAbandoned: true
-        removeAbandonedTimeout: 1800
-    http:
-        encoding:
-            force: true
-            charset: UTF-8
-            enabled: true
-    message:
-        encoding: UTF-8
-    jpa:
-      show-sql: false
-      hibernate:
-        ddl-auto: update
-      database: oracle
-
-server:
-    tomcat:
-        uri_encoding: UTF-8
-    port: 8008
-    context-path: /EIS
-action:
-    api_action: /EIS/api
-    public_actions: /EIS/logout,/EIS/hello1
-logging:
-  level:
-    org:
-      hibernate:
-        type: trace
-  config: classpath:log/logback-file.xml
-Task:
-    Method: edcBak
-    Cron: 0 0/10 1-23 * * ?
-
-

+ 0 - 44
src/main/resources/log/logback-analyse.xml

@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-	<appender name="FILE"
-		class="ch.qos.logback.core.rolling.RollingFileAppender">
-		<File>logs/analyse/log.log</File>
-		<encoder>
-			<pattern>
-				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
-			</pattern>
-			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
-		</encoder>
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-			<!-- daily rollover -->
-			<FileNamePattern>logs/analyse/log.%d{yyyy-MM-dd}.log</FileNamePattern>
-			<!-- keep 10 days' worth of history -->
-			<maxHistory>10</maxHistory>
-		</rollingPolicy>
-		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-			<level>INFO</level>
-		</filter>
-	</appender>
-
-	<!-- Console output -->
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
-		<encoder>
-			<pattern>
-				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
-			</pattern>
-			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
-		</encoder>
-		<!-- Only log level WARN and above -->
-		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-			<level>INFO</level>
-		</filter>
-	</appender>
-
-	<!-- Enable FILE and STDOUT appenders for all log messages. By default, 
-		only log at level INFO and above. -->
-	<root level="INFO">
-		<appender-ref ref="FILE" />
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>

+ 0 - 44
src/main/resources/log/logback-file.xml

@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-	<appender name="FILE"
-		class="ch.qos.logback.core.rolling.RollingFileAppender">
-		<File>logs/file/log.log</File>
-		<encoder>
-			<pattern>
-				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
-			</pattern>
-			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
-		</encoder>
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-			<!-- daily rollover -->
-			<FileNamePattern>logs/file/log.%d{yyyy-MM-dd}.log</FileNamePattern>
-			<!-- keep 10 days' worth of history -->
-			<maxHistory>10</maxHistory>
-		</rollingPolicy>
-		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-			<level>INFO</level>
-		</filter>
-	</appender>
-
-	<!-- Console output -->
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
-		<encoder>
-			<pattern>
-				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
-			</pattern>
-			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
-		</encoder>
-		<!-- Only log level WARN and above -->
-		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-			<level>INFO</level>
-		</filter>
-	</appender>
-
-	<!-- Enable FILE and STDOUT appenders for all log messages. By default, 
-		only log at level INFO and above. -->
-	<root level="INFO">
-		<appender-ref ref="FILE" />
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>