From d6dd7fca8ee9e0a514c263ce274b7a8d9543ae9d Mon Sep 17 00:00:00 2001
From: purple <purple_lihe@163.com>
Date: Fri, 10 Jul 2020 17:05:47 +0800
Subject: [PATCH] =?UTF-8?q?feature=20(=E4=BA=8C=E6=89=8B=E6=88=90=E4=BA=A4?=
 =?UTF-8?q?=E6=A1=88=E4=BE=8B=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5)?=
 =?UTF-8?q?=EF=BC=9A=20=E6=8E=A8=E9=80=81=E4=BD=8F=E5=AE=85=E9=94=80?=
 =?UTF-8?q?=E5=94=AE=E4=BA=8C=E6=89=8B=E6=88=90=E4=BA=A4=E6=A1=88=E4=BE=8B?=
 =?UTF-8?q?=E5=88=B0=E8=81=94=E5=9F=8E=E6=95=B0=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ...alResidenceSaleClosingCaseServiceImpl.java | 22 ++++++
 .../impl/OriginalOfficeCaseServiceImpl.java   | 10 +--
 ruoyi/src/main/resources/application-dev.yml  | 72 +------------------
 .../sql-template/copy_ershou_data.sql         | 51 +++++++++++++
 .../java/com/ruoyi/GenerateTableTests.java    |  6 ++
 ...idenceSaleClosingCaseServiceImplTests.java | 20 ++++++
 6 files changed, 105 insertions(+), 76 deletions(-)
 create mode 100644 ruoyi/src/main/resources/sql-template/copy_ershou_data.sql

diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/DownloadOriginalResidenceSaleClosingCaseServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/DownloadOriginalResidenceSaleClosingCaseServiceImpl.java
index 7db5e9219..3b04e821b 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/DownloadOriginalResidenceSaleClosingCaseServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/DownloadOriginalResidenceSaleClosingCaseServiceImpl.java
@@ -10,6 +10,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import java.util.Calendar;
@@ -65,6 +66,8 @@ public class DownloadOriginalResidenceSaleClosingCaseServiceImpl {
 
         running(tableRoute, originalResidenceSaleClosingCases);
         after(tableRoute);
+
+        copy2UVData(tableRoute, remoteTableRoute);
     }
 
 
@@ -110,4 +113,23 @@ public class DownloadOriginalResidenceSaleClosingCaseServiceImpl {
         }
     }
 
+    /**
+     * 拷贝数据到联城数库
+     *
+     * @param tableRoute
+     * @param remoteTableRoute
+     */
+    @Async
+    public void copy2UVData(Integer tableRoute, Integer remoteTableRoute) {
+        try {
+            String yearMonth = String.format("%d-%02d", remoteTableRoute / 100, remoteTableRoute % 100);
+            String rawSql = LoadUtil.loadContent("sql-template/copy_ershou_data.sql");
+            String sql = rawSql.replace("#tableRoute#", tableRoute.toString())
+                    .replace("#yearMonth#", yearMonth);
+            jdbcTemplate.update(sql);
+        } catch (Exception e) {
+            logger.error("住宅销售二手成交案例推送到联城数库异常", e);
+        }
+    }
+
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/OriginalOfficeCaseServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/OriginalOfficeCaseServiceImpl.java
index 5675ebf1c..266840891 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/OriginalOfficeCaseServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/data/cases/service/impl/OriginalOfficeCaseServiceImpl.java
@@ -54,11 +54,11 @@ public class OriginalOfficeCaseServiceImpl implements IOriginalOfficeCaseService
                 calendar.get(Calendar.MONTH) + 1));
 
 //        yearMonth = 202007;
-//        lastYearMonth = 202006;
-//        calendar.set(2020, 5, 16);
-//        startDate = calendar.getTime();
-//        calendar.set(2020, 6, 16);
-//        endDate = calendar.getTime();
+////        lastYearMonth = 202006;
+////        calendar.set(2020, 5, 16);
+////        startDate = calendar.getTime();
+////        calendar.set(2020, 6, 16);
+////        endDate = calendar.getTime();
 
         before(yearMonth, startDate, endDate);
         running(yearMonth, lastYearMonth);
diff --git a/ruoyi/src/main/resources/application-dev.yml b/ruoyi/src/main/resources/application-dev.yml
index 1d507d4d5..86fe1314e 100644
--- a/ruoyi/src/main/resources/application-dev.yml
+++ b/ruoyi/src/main/resources/application-dev.yml
@@ -77,74 +77,4 @@ spring:
           driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
           url: jdbc:sqlserver://139.196.201.83:1433;DatabaseName=TEST
           username: purple
-          password: liancheng
-
-#        druid:
-#            statViewServlet:
-#                enabled: true
-#                # 设置白名单,不填则允许所有访问
-#                allow:
-#                url-pattern: /druid/*
-#                # 控制台管理用户名和密码
-#                login-username:
-#                login-password:
-#        dynamic:
-#            druid:
-#                # 初始连接数
-#                initialSize: 5
-#                # 最小连接池数量
-#                minIdle: 10
-#                # 最大连接池数量
-#                maxActive: 20
-#                # 配置获取连接等待超时的时间
-#                maxWait: 60000
-#                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-#                timeBetweenEvictionRunsMillis: 60000
-#                # 配置一个连接在池中最小生存的时间,单位是毫秒
-#                minEvictableIdleTimeMillis: 300000
-#                # 配置一个连接在池中最大生存的时间,单位是毫秒
-#                maxEvictableIdleTimeMillis: 900000
-#                # 配置检测连接是否有效
-#                validationQuery: SELECT 1
-#                testWhileIdle: true
-#                testOnBorrow: false
-#                testOnReturn: false
-##                webStatFilter:
-##                    enabled: true
-##                filters: stat,wall
-##                wall:
-##                    multiStatementAllow: true
-#                stat:
-#                    log-slow-sql: true
-#                    slow-sql-millis: 1000
-#                    merge-sql: true
-#            primary: master
-#            datasource:
-#                # 主库数据源
-#                master:
-#                    driver-class-name: com.mysql.jdbc.Driver
-#                    url: jdbc:mysql://172.16.30.243:6060/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-#                    username: root
-#                    password: LOLm2dI2UQF#RxOf
-#                # 从库数据源
-##                slave:
-##                    # 从数据源开关/默认关闭
-##                    enabled: false
-##                    url:
-##                    username:
-##                    password:
-#                teemlink:
-#                    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#                    url: jdbc:sqlserver://172.16.30.233:1433;DatabaseName=obpm_LianCheng_Data
-#                    username: sa
-#                    password: Lcdatacenter_888
-#                compute:
-#                    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#                    url: jdbc:sqlserver://172.16.30.233:1433;DatabaseName=uv_compute
-#                    username: sa
-#                    password: Lcdatacenter_888
-#                clean:
-#                    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#                    url: jdbc:sqlserver://172.16.30.233:1433;DatabaseName=uv_clean
-#                    username: sa
-#                    password: Lcdatacenter_888
\ No newline at end of file
+          password: liancheng
\ No newline at end of file
diff --git a/ruoyi/src/main/resources/sql-template/copy_ershou_data.sql b/ruoyi/src/main/resources/sql-template/copy_ershou_data.sql
new file mode 100644
index 000000000..5e82d5789
--- /dev/null
+++ b/ruoyi/src/main/resources/sql-template/copy_ershou_data.sql
@@ -0,0 +1,51 @@
+delete from obpm_LianCheng_Data.dbo.TLK_成交案例 where ITEM_YEARMONTH='#yearMonth#';
+
+declare @count int
+
+SELECT @count=max(cast((substring(ITEM_DEALID,2,10) )as int)) FROM dbo.TLK_成交案例 where ITEM_DEALTYPE='二手';
+-- 居住类型
+insert into obpm_LianCheng_Data.dbo.TLK_成交案例(LASTMODIFIED, FORMNAME, AUTHOR, AUTHOR_DEPT_INDEX, CREATED, FORMID, ISTMP, VERSIONS, APPLICATIONID, STATEINT, LASTMODIFIER, DOMAINID, AUDITORLIST, COAUDITORLIST, ID, ITEM_DEALID, ITEM_SECTOR, ITEM_CIRCLEPOSITION, ITEM_DISTRICT, ITEM_RANAME, ITEM_HOUSEADDRESS, ITEM_AREA, ITEM_SUMPRICE, ITEM_UNITPRICE, ITEM_SIGNINGDATA, ITEM_FLOOR, ITEM_ROOMNATURE, ITEM_APARTMENT, ITEM_DEALTYPE, ITEM_REGISTER, ITEM_INTERMEDIARYCOMPANY, ITEM_INTERMEDIARYTYPE, ITEM_SELLERTYPE, ITEM_BUYERTYPE, ITEM_YEARMONTH, ITEM_AIRAID, ITEM_AIUNITID, ITEM_SINGLEID, ITEM_STANDARDSINGLEADDRESS, ITEM_HOUSETYPE, ITEM_IMPORTDATE,ITEM_PROPERTYTYPE)
+select getdate(), N'物业信息管理/成交案例', N'PNDbyK6lSFWFGlLJFXj', 'Os6qe4Pmq5viTO8lTnW_3QBGkL7jqDjm2BRk7uJ', getdate(),
+N'gTn1hQuxFRdwLakei6q', 0, 1, N'Ts7TykYmuEzzZgWhXHj', 0, N'PNDbyK6lSFWFGlLJFXj', N'BclzHtmfLQoAA5ICTb5', N'{}',
+N'{}', newid(), 'b'+cast((row_number() over(order by case_id) + @count) as nvarchar(20)),case_block_name,
+case_loopline_name,case_county_name,case_community_name,case_address,case_area,case_total_price,case_unit_price,
+case_signing_date,null,case_house_property,case_apartment_layout,'二手',case_register_date,case_agency_name,
+case_agency_type,case_seller_type,case_buyer_type,'#yearMonth#',clean_community_id,NULL,clean_condo_id,
+clean_condo_address,case_house_type,getdate(),clean_property_type
+from uv_compute.dbo.original_residence_sale_closing_case_#tableRoute#
+
+insert into obpm_LianCheng_Data.dbo.T_DOCUMENT
+(
+   ID
+ , LASTMODIFIED
+ , FORMNAME
+ , AUTHOR
+ , AUTHOR_DEPT_INDEX
+ , CREATED
+ , FORMID
+ , ISTMP
+ , VERSIONS
+ , APPLICATIONID
+ , LASTMODIFIER
+ , DOMAINID
+ , AUDITORLIST
+ , COAUDITORLIST
+ , MAPPINGID
+)
+SELECT     ID
+ , LASTMODIFIED
+ , FORMNAME
+ , AUTHOR
+ , AUTHOR_DEPT_INDEX
+ , CREATED
+ , FORMID
+ , ISTMP
+ , VERSIONS
+ , APPLICATIONID
+ , LASTMODIFIER
+ , DOMAINID
+ , AUDITORLIST
+ , COAUDITORLIST
+ , ID
+FROM obpm_LianCheng_Data.dbo.TLK_成交案例
+where ITEM_YEARMONTH='#yearMonth#' and ITEM_DEALTYPE='二手';
\ No newline at end of file
diff --git a/ruoyi/src/test/java/com/ruoyi/GenerateTableTests.java b/ruoyi/src/test/java/com/ruoyi/GenerateTableTests.java
index f1c58e3d6..93b435b16 100644
--- a/ruoyi/src/test/java/com/ruoyi/GenerateTableTests.java
+++ b/ruoyi/src/test/java/com/ruoyi/GenerateTableTests.java
@@ -148,5 +148,11 @@ public class GenerateTableTests {
         }
     }
 
+    @Test
+    public void printLoop2(){
+        for (int i = 201901; i <= 201912; i++) {
+            System.out.println(i);
+        }
+    }
 
 }
diff --git a/ruoyi/src/test/java/com/ruoyi/compute/DownloadOriginalResidenceSaleClosingCaseServiceImplTests.java b/ruoyi/src/test/java/com/ruoyi/compute/DownloadOriginalResidenceSaleClosingCaseServiceImplTests.java
index 332293a05..8533c7ab5 100644
--- a/ruoyi/src/test/java/com/ruoyi/compute/DownloadOriginalResidenceSaleClosingCaseServiceImplTests.java
+++ b/ruoyi/src/test/java/com/ruoyi/compute/DownloadOriginalResidenceSaleClosingCaseServiceImplTests.java
@@ -9,6 +9,8 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.util.Arrays;
+
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = RuoYiApplication.class)
 @ActiveProfiles("dev")
@@ -20,4 +22,22 @@ public class DownloadOriginalResidenceSaleClosingCaseServiceImplTests {
     public void testDownload() {
         downloadOriginalResidenceSaleClosingCaseService.download(202007, 202005);
     }
+
+
+    @Test
+    public void testLoopDownload() {
+        // , 201912
+//        Arrays.asList(201901, 201902, 201903, 201904, 201905, 201906, 201907, 201908, 201909, 201910, 201911).parallelStream().forEach(i -> {
+//            downloadOriginalResidenceSaleClosingCaseService.download(i + 1, i);
+//        });
+//        downloadOriginalResidenceSaleClosingCaseService.download(202001, 201912);
+        downloadOriginalResidenceSaleClosingCaseService.download(202001, 201911);
+        downloadOriginalResidenceSaleClosingCaseService.download(202002, 201912);
+        downloadOriginalResidenceSaleClosingCaseService.download(202003, 202001);
+        downloadOriginalResidenceSaleClosingCaseService.download(202004, 202002);
+        downloadOriginalResidenceSaleClosingCaseService.download(202005, 202003);
+        downloadOriginalResidenceSaleClosingCaseService.download(202006, 202004);
+        downloadOriginalResidenceSaleClosingCaseService.download(202007, 202005);
+        downloadOriginalResidenceSaleClosingCaseService.download(202008, 202006);
+    }
 }