소스 검색

计算服务

wangyong 2 년 전
부모
커밋
7c1c5529dc
63개의 변경된 파일215개의 추가작업 그리고 42개의 파일을 삭제
  1. BIN
      export/045f6d72-02c3-4199-9cca-a6a1ea8d8075/洗井日报 .xlsx
  2. BIN
      export/052eade0-b20b-41f6-86b4-ae9e74bb2c91/洗井日报 .xlsx
  3. BIN
      export/06f33b74-0e52-4d7d-ad88-ef93cf5a7793/洗井日报 .xlsx
  4. BIN
      export/104e2656-48d4-4ddc-8a42-2afde2104430/洗井日报.xlsx
  5. BIN
      export/14270cee-a43c-4e33-85e7-5bb0cce38a3f/洗井日报 .xlsx
  6. BIN
      export/1e8e2e04-94da-4fac-ba16-09bd389a33ba/洗井日报 .xlsx
  7. BIN
      export/2954254b-5ae5-4d8d-954c-9b77d7488890/层段合格率统计表.xlsx
  8. BIN
      export/357b820d-b5df-4c2c-b707-0bbe158e707d/欠注管理统计表 .xlsx
  9. BIN
      export/3654ff44-d7f6-483b-aed7-effbe036d395/洗井日报 .xlsx
  10. BIN
      export/38bd834d-0748-457a-8941-d4509e0d8d6a/注水井分注层段合格率月报.xlsx
  11. BIN
      export/38d497e8-1a3e-4a58-9cab-bb75be16c936/洗井日报 .xlsx
  12. BIN
      export/3d5a582d-bba0-40fa-b0ba-39a8da676193/欠注管理统计表 .xlsx
  13. BIN
      export/4784c76e-2d40-45da-97da-9169e1fb75c9/欠注管理统计表 .xlsx
  14. BIN
      export/4ac8d745-a673-4059-8582-f48031271b2c/注水井分注层段合格率月报.xlsx
  15. BIN
      export/519dc4cd-2da5-46d5-a284-697773082f3d/洗井日报 .xlsx
  16. BIN
      export/51c5d2d0-401e-4e8f-948f-ef0ca1a1e5b1/洗井日报 .xlsx
  17. BIN
      export/54f7e3a5-4aa3-4420-8f08-66e76c1ddb97/洗井日报 .xlsx
  18. BIN
      export/564ce041-5bd4-400c-a07d-ee52a9fa0bdd/洗井日报 .xlsx
  19. BIN
      export/57eda5e8-6a05-49d1-ada0-bf109f983a64/洗井日报 .xlsx
  20. BIN
      export/64428d13-1615-44b8-831f-b1a0715bd9cd/洗井日报 .xlsx
  21. BIN
      export/673fe9f8-57f9-448c-865b-de07f3fa58f4/洗井日报 .xlsx
  22. BIN
      export/698598e4-24b1-466b-b4cc-69611615d19d/洗井日报 .xlsx
  23. BIN
      export/6b90bea2-9ed4-418b-944a-09285a45649c/层段合格率统计表.xlsx
  24. BIN
      export/6bafbd7b-fd87-463d-8a1b-1e901bf2a282/洗井日报 .xlsx
  25. BIN
      export/6c054ebb-3ade-4248-a16f-3cc6c99f4cc0/洗井日报 .xlsx
  26. BIN
      export/6e5e8c99-98f6-4074-bdab-bce5ad702d8d/洗井日报 .xlsx
  27. BIN
      export/6f39bbb1-7f38-4ebd-938b-93ef992894c3/洗井日报 .xlsx
  28. BIN
      export/6fefde60-f849-47a2-bcdb-2608fee54623/洗井日报 .xlsx
  29. BIN
      export/760786af-80a1-42c7-95b2-17a1f5eb143b/洗井日报 .xlsx
  30. BIN
      export/769e547a-34a0-490e-a148-ba54f5bc38d7/洗井日报 .xlsx
  31. BIN
      export/793ad2c3-e682-404f-9575-068eb01f9022/洗井日报 .xlsx
  32. BIN
      export/7b5ef502-ff7a-403a-a5a7-357e45594107/欠注井管理.xlsx
  33. BIN
      export/81e76952-1bfd-4cb6-bdd1-4c74a5a0bdf2/洗井日报 .xlsx
  34. BIN
      export/84404694-a3cb-4b50-af0f-e08157765980/洗井日报 .xlsx
  35. BIN
      export/8b052558-c144-4727-a2df-02d3a3209394/洗井日报 .xlsx
  36. BIN
      export/8f55230f-7881-46f7-bc8f-f5a8d3030bdb/洗井日报 .xlsx
  37. BIN
      export/95da5e32-dfc1-45e3-9216-97c6fe56f7da/洗井日报 .xlsx
  38. BIN
      export/980dfd79-9cf4-404b-b3bc-3ceb45ac3bff/洗井日报 .xlsx
  39. BIN
      export/9b7362a7-a0a1-490e-830a-ed7ea87b1849/洗井日报 .xlsx
  40. BIN
      export/a17e0584-d191-4af4-8bab-d535a5e8f507/洗井日报 .xlsx
  41. BIN
      export/a3700103-8662-46db-8e4a-000ea65fcfa7/欠注管理统计表 .xlsx
  42. BIN
      export/a8b0e723-fa14-49f5-ba52-f482f674d83b/洗井日报 .xlsx
  43. BIN
      export/a8d10991-b4e4-490c-b5c9-94942b862ee5/洗井日报.xlsx
  44. BIN
      export/aea631a3-d3d6-4cd0-85ef-a663a04b1087/洗井日报 .xlsx
  45. BIN
      export/bf9ac8b5-59cf-45b2-98aa-348a35f30cbb/洗井日报 .xlsx
  46. BIN
      export/c1efa2e4-f2ca-4c1a-916c-2d0f94be077e/欠注管理统计表 .xlsx
  47. BIN
      export/c6c6c7b7-df3b-400a-848b-17854ed7bf68/洗井日报.xlsx
  48. BIN
      export/c91d9e38-16a7-45b0-87e9-6408c6c3bcc4/洗井日报 .xlsx
  49. BIN
      export/c92a9984-62d6-48c3-b4fd-7f6ca444cfe8/洗井日报 .xlsx
  50. BIN
      export/cf30fa5a-7fbd-43c1-a833-ea1f6b9267d8/洗井日报 .xlsx
  51. BIN
      export/cf4e6bd4-f8e5-4308-8a44-d67b3a57303c/洗井日报 .xlsx
  52. BIN
      export/d7906a54-5b33-45f9-9399-536384282ad4/洗井日报 .xlsx
  53. BIN
      export/dfcde071-559a-4e61-bdab-e2d933a904dc/洗井日报 .xlsx
  54. BIN
      export/e302ef02-7f60-498e-a77c-501140f4bcd5/洗井日报 .xlsx
  55. BIN
      export/f60e126d-b243-437d-bafb-98c9426e90b5/层段合格率统计表.xlsx
  56. 18 3
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/controller/DataCalcController.java
  57. 27 8
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/dao/WaterTubularStructureDao.java
  58. 5 0
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/dao/WaterWellBasicDao.java
  59. 26 13
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/service/WaterTubularStructureService.java
  60. 7 2
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/service/WaterWellBasicService.java
  61. 69 0
      vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/task/DataSyncTask.java
  62. 38 10
      vseaf4.4-calc/src/main/resources/mapper/WaterTubularStructureDao.xml
  63. 25 6
      vseaf4.4-calc/src/main/resources/mapper/WaterWellBasicDao.xml

BIN
export/045f6d72-02c3-4199-9cca-a6a1ea8d8075/洗井日报 .xlsx


BIN
export/052eade0-b20b-41f6-86b4-ae9e74bb2c91/洗井日报 .xlsx


BIN
export/06f33b74-0e52-4d7d-ad88-ef93cf5a7793/洗井日报 .xlsx


BIN
export/104e2656-48d4-4ddc-8a42-2afde2104430/洗井日报.xlsx


BIN
export/14270cee-a43c-4e33-85e7-5bb0cce38a3f/洗井日报 .xlsx


BIN
export/1e8e2e04-94da-4fac-ba16-09bd389a33ba/洗井日报 .xlsx


BIN
export/2954254b-5ae5-4d8d-954c-9b77d7488890/层段合格率统计表.xlsx


BIN
export/357b820d-b5df-4c2c-b707-0bbe158e707d/欠注管理统计表 .xlsx


BIN
export/3654ff44-d7f6-483b-aed7-effbe036d395/洗井日报 .xlsx


BIN
export/38bd834d-0748-457a-8941-d4509e0d8d6a/注水井分注层段合格率月报.xlsx


BIN
export/38d497e8-1a3e-4a58-9cab-bb75be16c936/洗井日报 .xlsx


BIN
export/3d5a582d-bba0-40fa-b0ba-39a8da676193/欠注管理统计表 .xlsx


BIN
export/4784c76e-2d40-45da-97da-9169e1fb75c9/欠注管理统计表 .xlsx


BIN
export/4ac8d745-a673-4059-8582-f48031271b2c/注水井分注层段合格率月报.xlsx


BIN
export/519dc4cd-2da5-46d5-a284-697773082f3d/洗井日报 .xlsx


BIN
export/51c5d2d0-401e-4e8f-948f-ef0ca1a1e5b1/洗井日报 .xlsx


BIN
export/54f7e3a5-4aa3-4420-8f08-66e76c1ddb97/洗井日报 .xlsx


BIN
export/564ce041-5bd4-400c-a07d-ee52a9fa0bdd/洗井日报 .xlsx


BIN
export/57eda5e8-6a05-49d1-ada0-bf109f983a64/洗井日报 .xlsx


BIN
export/64428d13-1615-44b8-831f-b1a0715bd9cd/洗井日报 .xlsx


BIN
export/673fe9f8-57f9-448c-865b-de07f3fa58f4/洗井日报 .xlsx


BIN
export/698598e4-24b1-466b-b4cc-69611615d19d/洗井日报 .xlsx


BIN
export/6b90bea2-9ed4-418b-944a-09285a45649c/层段合格率统计表.xlsx


BIN
export/6bafbd7b-fd87-463d-8a1b-1e901bf2a282/洗井日报 .xlsx


BIN
export/6c054ebb-3ade-4248-a16f-3cc6c99f4cc0/洗井日报 .xlsx


BIN
export/6e5e8c99-98f6-4074-bdab-bce5ad702d8d/洗井日报 .xlsx


BIN
export/6f39bbb1-7f38-4ebd-938b-93ef992894c3/洗井日报 .xlsx


BIN
export/6fefde60-f849-47a2-bcdb-2608fee54623/洗井日报 .xlsx


BIN
export/760786af-80a1-42c7-95b2-17a1f5eb143b/洗井日报 .xlsx


BIN
export/769e547a-34a0-490e-a148-ba54f5bc38d7/洗井日报 .xlsx


BIN
export/793ad2c3-e682-404f-9575-068eb01f9022/洗井日报 .xlsx


BIN
export/7b5ef502-ff7a-403a-a5a7-357e45594107/欠注井管理.xlsx


BIN
export/81e76952-1bfd-4cb6-bdd1-4c74a5a0bdf2/洗井日报 .xlsx


BIN
export/84404694-a3cb-4b50-af0f-e08157765980/洗井日报 .xlsx


BIN
export/8b052558-c144-4727-a2df-02d3a3209394/洗井日报 .xlsx


BIN
export/8f55230f-7881-46f7-bc8f-f5a8d3030bdb/洗井日报 .xlsx


BIN
export/95da5e32-dfc1-45e3-9216-97c6fe56f7da/洗井日报 .xlsx


BIN
export/980dfd79-9cf4-404b-b3bc-3ceb45ac3bff/洗井日报 .xlsx


BIN
export/9b7362a7-a0a1-490e-830a-ed7ea87b1849/洗井日报 .xlsx


BIN
export/a17e0584-d191-4af4-8bab-d535a5e8f507/洗井日报 .xlsx


BIN
export/a3700103-8662-46db-8e4a-000ea65fcfa7/欠注管理统计表 .xlsx


BIN
export/a8b0e723-fa14-49f5-ba52-f482f674d83b/洗井日报 .xlsx


BIN
export/a8d10991-b4e4-490c-b5c9-94942b862ee5/洗井日报.xlsx


BIN
export/aea631a3-d3d6-4cd0-85ef-a663a04b1087/洗井日报 .xlsx


BIN
export/bf9ac8b5-59cf-45b2-98aa-348a35f30cbb/洗井日报 .xlsx


BIN
export/c1efa2e4-f2ca-4c1a-916c-2d0f94be077e/欠注管理统计表 .xlsx


BIN
export/c6c6c7b7-df3b-400a-848b-17854ed7bf68/洗井日报.xlsx


BIN
export/c91d9e38-16a7-45b0-87e9-6408c6c3bcc4/洗井日报 .xlsx


BIN
export/c92a9984-62d6-48c3-b4fd-7f6ca444cfe8/洗井日报 .xlsx


BIN
export/cf30fa5a-7fbd-43c1-a833-ea1f6b9267d8/洗井日报 .xlsx


BIN
export/cf4e6bd4-f8e5-4308-8a44-d67b3a57303c/洗井日报 .xlsx


BIN
export/d7906a54-5b33-45f9-9399-536384282ad4/洗井日报 .xlsx


BIN
export/dfcde071-559a-4e61-bdab-e2d933a904dc/洗井日报 .xlsx


BIN
export/e302ef02-7f60-498e-a77c-501140f4bcd5/洗井日报 .xlsx


BIN
export/f60e126d-b243-437d-bafb-98c9426e90b5/层段合格率统计表.xlsx


+ 18 - 3
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/controller/DataCalcController.java

@@ -3,6 +3,7 @@ package cn.com.victorysoft.business.calc.controller;
 import cn.com.victorysoft.business.calc.service.WaterTubularStructureService;
 import cn.com.victorysoft.business.calc.service.WaterWellBasicService;
 import cn.com.victorysoft.business.calc.service.WellSectionDailyService;
+import cn.com.victorysoft.business.util.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -42,6 +43,15 @@ public class DataCalcController {
         waterWellBasicService.waterWellBasic();
     }
 
+    /**
+     * 同步工艺类型台账表
+     */
+    @GetMapping("/merge-well-process-type")
+    @ApiOperation("同步工艺类型台账表")
+    public void mergeWellProcessType(){
+        waterWellBasicService.mergeWellProcessType();
+    }
+
     /**
      * 初始化 WELL_SECTION_DAILY 表
      * @param startDate
@@ -50,7 +60,11 @@ public class DataCalcController {
     @GetMapping("/well-section-daily")
     @ApiOperation("初始化 WELL_SECTION_DAILY 表")
     public void wellSectionDaily(Date startDate, Date endDate){
-        wellSectionDailyService.wellSectionDaily(startDate, endDate);
+        Date current = startDate;
+        while (!current.after(endDate)) {
+            wellSectionDailyService.wellSectionDaily(current, current);
+            current = DateUtils.addDays(current, 1);
+        }
     }
 
     /**
@@ -58,7 +72,8 @@ public class DataCalcController {
      */
     @GetMapping("/water-tubular-structure")
     @ApiOperation("初始化 WATER_TUBULAR_STRUCTURE 表")
-    public void waterTubularStructure(){
-        waterTubularStructureService.waterTubularStructure();
+    public void waterTubularStructure(Date startDate, Date endDate){
+        waterTubularStructureService.waterTubularStructure(startDate, endDate);
     }
+
 }

+ 27 - 8
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/dao/WaterTubularStructureDao.java

@@ -18,18 +18,32 @@ import java.util.List;
 public interface WaterTubularStructureDao {
 
     /**
-     *
+     * 同步管柱结构数据
      */
-    void waterTubularStructure();
+    void waterTubularStructure(Date startDate, Date endDate);
 
     /**
-     *
-     * @return
+     * 更新下次作业日期
+     */
+    void updateNextZyrq();
+
+    /**
+     * 更新在井时间
+     */
+    void updateZjsj();
+
+    /**
+     * 更新管柱有效期
      */
-    List<WaterTubularStructure> selectList();
+    void updateGzYxq();
 
     /**
-     *
+     * 查询管柱结构
+     */
+    List<WaterTubularStructure> selectList(Date startDate, Date endDate);
+
+    /**
+     * 查询工具代码
      * @param jh
      * @param wjrq
      * @return
@@ -37,14 +51,19 @@ public interface WaterTubularStructureDao {
     List<String> selectTooLCode(@Param("jh") String jh,@Param("wjrq") Date wjrq);
 
     /**
-     *
+     * 查询工具附录
+     */
+    List<Fla55> selectTooLList();
+
+    /**
+     * 查询工具附录
      * @param tooLCode
      * @return
      */
     Fla55 selectTooL(String tooLCode);
 
     /**
-     *
+     * 更新管柱结构工具数据
      * @param waterTubularStructure
      */
     void updateData(WaterTubularStructure waterTubularStructure);

+ 5 - 0
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/dao/WaterWellBasicDao.java

@@ -18,4 +18,9 @@ public interface WaterWellBasicDao {
      */
     void waterWellBasic();
 
+    /**
+     * 同步工艺类型台账表
+     */
+    void mergeWellProcessType();
+
 }

+ 26 - 13
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/service/WaterTubularStructureService.java

@@ -9,7 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Author TY
@@ -23,26 +26,36 @@ public class WaterTubularStructureService {
     private WaterTubularStructureDao waterTubularStructureDao;
 
     @Transactional
-    public void waterTubularStructure() {
+    public void waterTubularStructure(Date startDate, Date endDate) {
         // 主数据同步
-        waterTubularStructureDao.waterTubularStructure();
+        waterTubularStructureDao.waterTubularStructure(startDate, endDate);
+        // 同步下次作业日期
+        waterTubularStructureDao.updateNextZyrq();
+        // 更新在井时间
+        waterTubularStructureDao.updateZjsj();
+        // 更新管柱有效期
+        waterTubularStructureDao.updateGzYxq();
 
         // 查询同步完的数据
-        List<WaterTubularStructure> waterTubularStructureList = waterTubularStructureDao.selectList();
+        List<WaterTubularStructure> waterTubularStructureList = waterTubularStructureDao.selectList(startDate, endDate);
 
-        //
+        // 查询类别
+        List<Fla55> fla55List = waterTubularStructureDao.selectTooLList();
+        Map<String, Fla55> fla55Map = fla55List.stream().collect(Collectors.toMap(Fla55::getDm, v -> v));
+        // 同步工具
         for (WaterTubularStructure waterTubularStructure : waterTubularStructureList) {
             List<String> tooLCodeList = waterTubularStructureDao.selectTooLCode(waterTubularStructure.getJh(), waterTubularStructure.getWjrq());
             for (String tooLCode : tooLCodeList) {
-                // 查询类别
-                Fla55 fla55 = waterTubularStructureDao.selectTooL(tooLCode);
-                // 封隔器
-                if ("封隔器".equals(fla55.getDmmc())) {
-                    waterTubularStructure.setFgq(fla55.getDmmc());
-                }
-                // 锚定工具
-                if ("锚定工具".equals(fla55.getDmmc())) {
-                    waterTubularStructure.setMdgj(fla55.getDmmc());
+                Fla55 fla55 = fla55Map.get(tooLCode);
+                if (fla55 != null) {
+                    // 封隔器
+                    if ("封隔器".equals(fla55.getDmmc())) {
+                        waterTubularStructure.setFgq(fla55.getDmmc());
+                    }
+                    // 锚定工具
+                    if ("锚定工具".equals(fla55.getDmmc())) {
+                        waterTubularStructure.setMdgj(fla55.getDmmc());
+                    }
                 }
             }
             waterTubularStructureDao.updateData(waterTubularStructure);

+ 7 - 2
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/service/WaterWellBasicService.java

@@ -5,8 +5,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
-
 /**
  * @Author TY
  * @Date: 2023/1/30 9:56
@@ -24,4 +22,11 @@ public class WaterWellBasicService {
     public void waterWellBasic() {
         waterWellBasicDao.waterWellBasic();
     }
+
+    /**
+     * 同步工艺类型台账表
+     */
+    public void mergeWellProcessType() {
+        waterWellBasicDao.mergeWellProcessType();
+    }
 }

+ 69 - 0
vseaf4.4-calc/src/main/java/cn/com/victorysoft/business/calc/task/DataSyncTask.java

@@ -0,0 +1,69 @@
+package cn.com.victorysoft.business.calc.task;
+
+import cn.com.victorysoft.business.calc.service.WaterTubularStructureService;
+import cn.com.victorysoft.business.calc.service.WaterWellBasicService;
+import cn.com.victorysoft.business.calc.service.WellSectionDailyService;
+import cn.com.victorysoft.business.util.DateUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 数据同步任务调度
+ */
+@Slf4j
+@Component
+public class DataSyncTask {
+
+    @Value("${data.calc.enabled}")
+    private boolean calcEnabled;
+
+    @Resource
+    private WaterWellBasicService wellBasicService;
+    @Resource
+    private WellSectionDailyService wellSectionDailyService;
+    @Resource
+    private WaterTubularStructureService waterTubularStructureService;
+
+    @Scheduled(cron = "0 0 23 * * ?")
+    public void syncStatic() {
+        if (calcEnabled) {
+            log.info("静态数据同步任务开始");
+            wellBasicService.waterWellBasic();
+            wellBasicService.mergeWellProcessType();
+            log.info("静态数据同步任务结束");
+        }
+    }
+
+    /**
+     * 每天同步日度数据-----
+     */
+    @Scheduled(cron = "0 0 14,22 * * ?")
+    public void syncDailyData() {
+        if (calcEnabled) {
+            Date date = DateUtils.truncate(new Date(), Calendar.DATE);
+            log.info("水井日度层段数据同步任务开始");
+            try {
+                wellSectionDailyService.wellSectionDaily(date, date);
+            }catch (Exception e) {
+                log.error("水井日度层段数据同步任务异常", e);
+            }
+            log.info("水井日度层段数据同步任务结束");
+
+//            log.info("管柱结构数据同步任务开始");
+//            // 同步30天内的完工数据
+//            try {
+//                waterTubularStructureService.waterTubularStructure(DateUtils.addDays(date, -30), date);
+//            }catch (Exception e) {
+//                log.error("管柱结构数据同步任务异常", e);
+//            }
+//            log.info("管柱结构数据同步任务结束");
+        }
+    }
+
+}

+ 38 - 10
vseaf4.4-calc/src/main/resources/mapper/WaterTubularStructureDao.xml

@@ -6,12 +6,19 @@
         MERGE INTO WATER_TUBULAR_STRUCTURE T1 USING (
             SELECT
                 B.DWMC, B.DYDM, B.EJDWDM, B.DWDM,
-                A.JH, A.KGRQ, A.WGRQ, A.CSLB, A.KGRQ - A.LAST_WGRQ ZJSJ, A.LAST_WGRQ
+                A.JH, A.KGRQ, A.WGRQ, A.CSLB, A.GYLX
             FROM (
+                SELECT * FROM
+                (
                 SELECT
-                    A.*, LEAD(KGRQ, 1, NULL) OVER(PARTITION BY JH ORDER BY KGRQ) LAST_WGRQ
+                    A.*,
+                    B.GYLX, row_number() over(partition by B.JH order by B.FWSJ desc) rn
                 FROM
-                    YS_DDH01 A
+                    YS_DDH01 A, WELL_PROCESS_TYPE B
+                WHERE A.JH = B.JH AND A.WGRQ >= B.FWSJ
+                AND A.WGRQ >= #{startDate}
+                AND A.WGRQ &lt;= #{endDate}
+                ) where rn = 1
             ) A
             LEFT JOIN YS_DAA01 B ON A.JH = B.JH
         ) T2 ON (T1.JH = T2.JH AND T1.WJRQ = T2.WGRQ)
@@ -19,13 +26,28 @@
             UPDATE SET
                 DWDM = T2.EJDWDM,
                 DYDM = T2.DYDM,
-                NEXT_ZYRQ = NULL,
-                CSLB = T2.CSLB,
-                ZJSJ = T2.ZJSJ,
-                GZ_YXQ = T2.ZJSJ
+                CSLB = T2.CSLB
         WHEN NOT MATCHED THEN
-            INSERT(DWDM, DYDM, JH, WJRQ, NEXT_ZYRQ, CSLB, ZJSJ, GZ_YXQ, GYLX)
-            VALUES(T2.EJDWDM, T2.DYDM, T2.JH, T2.WGRQ, NULL, T2.CSLB, T2.ZJSJ, T2.ZJSJ, 'GYLX1')
+            INSERT(DWDM, DYDM, JH, WJRQ, CSLB, GYLX)
+            VALUES(T2.EJDWDM, T2.DYDM, T2.JH, T2.WGRQ, T2.CSLB, T2.GYLX)
+    </update>
+
+    <update id="updateNextZyrq">
+        update water_tubular_structure t
+        set NEXT_ZYRQ = (select min(kgrq) from ys_ddh01 where jh = t.jh and kgrq > t.wjrq + 90)
+        where NEXT_ZYRQ is null
+    </update>
+
+    <update id="updateZjsj">
+        update water_tubular_structure t
+        set ZJSJ = NEXT_ZYRQ - WJRQ
+        where ZJSJ is null and WJRQ is not null and NEXT_ZYRQ is not null
+    </update>
+
+    <update id="updateGzYxq">
+        update water_tubular_structure t
+        set gz_yxq = ZJSJ
+        where ZJSJ is not null and gz_yxq is null
     </update>
 
     <update id="updateData">
@@ -41,6 +63,8 @@
 
     <select id="selectList" resultType="cn.com.victorysoft.business.calc.entity.WaterTubularStructure">
         SELECT * FROM WATER_TUBULAR_STRUCTURE
+        WHERE WJRQ >= #{startDate}
+        AND WJRQ &lt;= #{endDate}
     </select>
 
     <select id="selectTooLCode" resultType="java.lang.String">
@@ -61,6 +85,10 @@
             )
     </select>
 
+    <select id="selectTooLList" resultType="cn.com.victorysoft.business.calc.entity.Fla55">
+        SELECT * FROM FLA55
+    </select>
+
     <select id="selectTooL" resultType="cn.com.victorysoft.business.calc.entity.Fla55">
         SELECT
             *
@@ -69,4 +97,4 @@
         WHERE
             DM = #{tooLCode}
     </select>
-</mapper>
+</mapper>

+ 25 - 6
vseaf4.4-calc/src/main/resources/mapper/WaterWellBasicDao.xml

@@ -2,11 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.victorysoft.business.calc.dao.WaterWellBasicDao">
 
-
     <update id="waterWellBasic">
         MERGE INTO WATER_WELL_BASIC T1 USING (
             SELECT
-                A.*, B.ZDJXJ, C.TGMC, C.TGGJ, C.WJ
+                A.*, B.ZDJXJ, C.TGMC, C.TGGJ, C.WJ,
+                (select p_unitcode from SYS_UNITINFO where unitcode = A.dwdm) unitcode_area,
+                '30200000' unitcode_group
             FROM
             (
             SELECT
@@ -49,10 +50,28 @@
                     YCZS = (T2.SKYCDS2 + T2.SKYCDS1)/2,
                     TGGG = T2.TGGJ || '/' || T2.WJ,
                     JX = T2.ZDJXJ,
-                    STHD = T2.YXHD
+                    STHD = T2.YXHD,
+                    UNITCODE_COMPANY = T2.EJDWDM,
+                    UNITCODE_AREA = T2.UNITCODE_AREA,
+                    UNITCODE_GROUP = T2.UNITCODE_GROUP
         WHEN NOT MATCHED THEN
-            INSERT(JH, QKDM, DWDM, DWMC, YTDM, BGRQ, YCLX, SCCW, CS, YSDCYL, YSDCWD, YSBHYL, ZSJDDS, ZSJDDIS, YCZS, TGGG, JX, STHD)
-            VALUES(T2.JH, T2.DYDM, T2.EJDWDM, T2.DWMC, T2.YQTDM, SYSDATE, '', T2.CW, T2.CS, T2.YSDCYL, T2.YSDCWD, T2.YSBHYL, T2.SKYCDS1, T2.SKYCDS2, (T2.SKYCDS2 + T2.SKYCDS1)/2, T2.TGGJ || '/' || T2.WJ, T2.ZDJXJ, T2.YXHD)
+            INSERT(JH, QKDM, DWDM, DWMC, YTDM, BGRQ, YCLX, SCCW, CS, YSDCYL,
+            YSDCWD, YSBHYL, ZSJDDS, ZSJDDIS, YCZS, TGGG, JX, STHD,
+            UNITCODE_COMPANY, UNITCODE_AREA, UNITCODE_GROUP)
+            VALUES(T2.JH, T2.DYDM, T2.EJDWDM, T2.DWMC, T2.YQTDM, SYSDATE, '', T2.CW, T2.CS, T2.YSDCYL,
+            T2.YSDCWD, T2.YSBHYL, T2.SKYCDS1, T2.SKYCDS2, (T2.SKYCDS2 + T2.SKYCDS1)/2, T2.TGGJ || '/' || T2.WJ, T2.ZDJXJ, T2.YXHD,
+            T2.EJDWDM, T2.UNITCODE_AREA, T2.UNITCODE_GROUP)
     </update>
 
-</mapper>
+  <update id="mergeWellProcessType">
+    MERGE INTO well_process_type T1
+    USING (SELECT 井号 JH, 注水工艺 GYLX, nvl(注水日期, date '1900-01-01') FWSJ
+             FROM zss_zsgy) T2
+    ON (T1.JH = T2.JH and T1.FWSJ = T2.FWSJ)
+    WHEN MATCHED THEN
+      UPDATE SET GYLX = T2.GYLX
+    WHEN NOT MATCHED THEN
+      INSERT (JH, GYLX, FWSJ) VALUES (T2.JH, T2.GYLX, T2.FWSJ)
+  </update>
+
+</mapper>