ソースを参照

数据拉取定时任务、逻辑补充

zhouyy 1 ヶ月 前
コミット
469ab7a184

+ 7 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/BustripProject.java

@@ -1,18 +1,18 @@
 package com.management.platform.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import java.time.LocalDate;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.io.Serializable;
+import java.time.LocalDate;
+
 /**
  * <p>
  * 
@@ -73,6 +73,8 @@ public class BustripProject extends Model<BustripProject> {
     @TableField(exist = false)
     private String projectName;
 
+    @TableField(exist = false)
+    private String projectCode;
 
     @Override
     protected Serializable pkVal() {

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/TisTimeVO.java

@@ -6,7 +6,9 @@ import java.math.BigDecimal;
 
 @Data
 public class TisTimeVO {
+    private String coId;
     private String orderId;
     private Integer line;
     private BigDecimal workTime;
+    private String dateStr;
 }

+ 44 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -74,10 +74,11 @@ public class DataCollectTask {
 
 
     public void caDayTisTask(){
+        RestTemplate restTemplate = new RestTemplate();
+        String insertUrl = PREFIX_URL+"/dataCollect/insertCisData";
         SimpleDateFormat sdfYmd = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date();
         String dateStr = sdfYmd.format(date);
-        //TODO fmwDetail修改,不从report里取
 //        List<TisTimeVO> timeVOList = fmwDetailMapper.getTisTimeByDate(specialCompanyId,dateStr);
         List<TisTimeVO> timeVOList =  reportMapper.getTisTimeByDate(specialCompanyId,dateStr);
         for (TisTimeVO tisTimeVO : timeVOList) {
@@ -88,23 +89,53 @@ public class DataCollectTask {
                 queryStmt.setInt(2,tisTimeVO.getLine());
                 ResultSet queryRs = queryStmt.executeQuery();
                 if (queryRs.next()) {
-                    String iRealCOID = queryRs.getString("iRealCOID");
-                    String sqlInsert = "insert into CA_DayTiS(cPPID,iRealWkt,dDate) values(?,?,?)";
-                    PreparedStatement insertStmt = connection.prepareStatement(sqlInsert);
-                    insertStmt.setString(1,iRealCOID);
-                    insertStmt.setBigDecimal(2,tisTimeVO.getWorkTime());
-                    insertStmt.setString(3,dateStr);
-                    int i = insertStmt.executeUpdate();
-                    if(i>0){
-                        System.out.println("执行成功");
-                    }else{
-                        System.out.println(iRealCOID+"执行失败");
-                    }
+                    tisTimeVO.setCoId(queryRs.getString("iRealCOID"));
+                    tisTimeVO.setDateStr(dateStr);
                 }
             } catch (SQLException e) {
                 System.err.println("数据库操作错误: " + e.getMessage());
             }
         }
+        if(!CollectionUtils.isEmpty(timeVOList)){
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            Map<String, Object> requestBody = new HashMap<>();
+            requestBody.put("tisList", timeVOList);
+            HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
+
+            ResponseEntity<String> tisResponse = restTemplate.exchange(insertUrl, HttpMethod.POST, requestEntity, String.class);
+            if (tisResponse.getStatusCode() == HttpStatus.OK) {
+                System.out.println("插入成功");
+            }else{
+                System.out.println(dateStr + "插入失败");
+            }
+        }
+
+//        for (TisTimeVO tisTimeVO : timeVOList) {
+//            String sqlQuery = "select top 1 iRealCOID from ca_batchmap where cMOCode = ? and iMOSubSN = ? ";
+//            try (Connection connection = sqlServerDataSource.getConnection()) {
+//                PreparedStatement queryStmt = connection.prepareStatement(sqlQuery);
+//                queryStmt.setString(1,tisTimeVO.getOrderId());
+//                queryStmt.setInt(2,tisTimeVO.getLine());
+//                ResultSet queryRs = queryStmt.executeQuery();
+//                if (queryRs.next()) {
+//                    String iRealCOID = queryRs.getString("iRealCOID");
+//                    String sqlInsert = "insert into CA_DayTiS(cPPID,iRealWkt,dDate) values(?,?,?)";
+//                    PreparedStatement insertStmt = connection.prepareStatement(sqlInsert);
+//                    insertStmt.setString(1,iRealCOID);
+//                    insertStmt.setBigDecimal(2,tisTimeVO.getWorkTime());
+//                    insertStmt.setString(3,dateStr);
+//                    int i = insertStmt.executeUpdate();
+//                    if(i>0){
+//                        System.out.println("执行成功");
+//                    }else{
+//                        System.out.println(iRealCOID+"执行失败");
+//                    }
+//                }
+//            } catch (SQLException e) {
+//                System.err.println("数据库操作错误: " + e.getMessage());
+//            }
+//        }
     }
 
 

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/BustripProjectMapper.xml

@@ -18,9 +18,10 @@
         id, bustrip_id, project_id, start_date, end_date, degree_id, degree_name
     </sql>
     <select id="getByDate" resultType="com.management.platform.entity.BustripProject">
-        select bp.*
+        select bp.*,p.project_name,p.project_code
         from bustrip_project bp
         left join business_trip bt on bp.bustrip_id = bt.id
+        left join project p on bp.project_id = p.id
         where bt.owner_id = #{userId}
         and bp.start_date &lt;= str_to_date(#{date},'%Y-%m-%d')
         and bp.end_date &gt;= str_to_date(#{date},'%Y-%m-%d')