Procházet zdrojové kódy

各项目经营分析报表更新

fyz před 9 měsíci
rodič
revize
232e54d09c

+ 73 - 68
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/NCServiceImpl.java

@@ -1,6 +1,7 @@
 package com.malk.lanyun.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.malk.lanyun.entity.SqlServerBean;
 import com.malk.lanyun.service.NCService;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
@@ -10,6 +11,7 @@ import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Service;
 
 import java.sql.Connection;
@@ -26,20 +28,12 @@ import java.util.Map;
 @Slf4j
 public class NCServiceImpl implements NCService {
 
-
     @Autowired
-    private YDService ydService;
+    private YDClient ydClient;
 
     @Autowired
-    private YDClient ydClient;
+    private SqlServerBean sqlBean;
 
-    // 数据库连接信息
-    // 数据库连接信息
-//    String url = "jdbc:sqlserver://58.246.128.122:2433;databaseName=lanyun";
-    String url = "jdbc:sqlserver://192.168.0.237:1433;databaseName=lanyun";
-    String user = "sa";
-    //    String password = "!lanyunnc@2023#";
-    String password = "LANyunnc!2024#";
 
     // 获取当前日期
     LocalDate today = LocalDate.now();
@@ -56,23 +50,16 @@ public class NCServiceImpl implements NCService {
             // 加载 JDBC 驱动
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             // 建立连接
-            connection = DriverManager.getConnection(url, user, password);
+            connection = DriverManager.getConnection(sqlBean.getUrl(), sqlBean.getUsername(), sqlBean.getPassword());
             // 创建 Statement 对象
             statement = connection.createStatement();
 
             // 执行查询
-//            String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa, a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
-//                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE  b.yearv = "+year+"\n" +
-//                    "            AND b.accountcode IN ( '50010101', '500102', '500103', '500117', '500114', '500115', '500118', '500119', '500109', '500133' )\n" +
-//                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ) )\n" +
-//                    "            GROUP BY b.adjustperiod,  b.pk_accasoa, a.name";
-
-            //生产
             String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa, a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
-                    "            FROM [192.168.0.237].[lanyun].[dbo].[gl_detail] b JOIN [192.168.0.237].[lanyun].[dbo].[bd_accasoa] a ON b.pk_accasoa = a.pk_accasoa\n" +
-                    "            WHERE b.yearv = "+year+" AND b.accountcode IN ( '50010101', '500102', '500103', '500117', '500114', '500115', '500118', '500119', '500109', '500133' )\n" +
-                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM [192.168.0.237].[lanyun].[dbo].[org_accountingbook] WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ) )\n" +
-                    "            GROUP BY  b.adjustperiod,  b.pk_accasoa, a.name";
+                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE  b.yearv = "+year+"\n" +
+                    "            AND b.accountcode IN ( '50010101', '500102', '500103', '500117', '500114', '500115', '500118', '500119', '500109', '500133' )\n" +
+                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ) )\n" +
+                    "            GROUP BY b.adjustperiod,  b.pk_accasoa, a.name";
 
             resultSet = statement.executeQuery(sql);
 
@@ -101,6 +88,7 @@ public class NCServiceImpl implements NCService {
                         .build(), YDConf.FORM_OPERATION.create);
             }
         } catch (Exception e) {
+            log.info("数据库连接异常"+e.toString());
             e.printStackTrace();
         } finally {
             // 关闭资源
@@ -126,23 +114,16 @@ public class NCServiceImpl implements NCService {
             // 加载 JDBC 驱动
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             // 建立连接
-            connection = DriverManager.getConnection(url, user, password);
+            connection = DriverManager.getConnection(sqlBean.getUrl(), sqlBean.getUsername(), sqlBean.getPassword());
 
             // 创建 Statement 对象
             statement = connection.createStatement();
 
             // 测试sql 执行查询
-//            String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
-//                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.accountcode IN ( '500114', '500115' )\n" +
-//                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ))\n" +
-//                    "            GROUP BY b.adjustperiod,  b.pk_accasoa,  a.name";
-
-            //生产 sql
-            String sql= "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa, a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
-                    "            FROM [192.168.0.237].[lanyun].[dbo].[gl_detail] b JOIN [192.168.0.237].[lanyun].[dbo].[bd_accasoa] a ON b.pk_accasoa = a.pk_accasoa\n" +
-                    "            WHERE b.yearv = "+year+" AND b.accountcode IN ( '500114', '500115' )\n" +
-                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM [192.168.0.237].[lanyun].[dbo].[org_accountingbook] WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ))\n" +
-                    "            GROUP BY b.adjustperiod, b.pk_accasoa, a.name";
+            String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
+                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.accountcode IN ( '500114', '500115' )\n" +
+                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ))\n" +
+                    "            GROUP BY b.adjustperiod,  b.pk_accasoa,  a.name";
 
 
             resultSet = statement.executeQuery(sql);
@@ -162,7 +143,6 @@ public class NCServiceImpl implements NCService {
                 log.info("periodv:"+resultSet.getString("accasoa_name"));
                 log.info("creditamount:"+resultSet.getBigDecimal("creditamount"));
 
-                //写入月度项目经营情况
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
                         .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
@@ -171,7 +151,9 @@ public class NCServiceImpl implements NCService {
                         .build(), YDConf.FORM_OPERATION.create);
             }
         } catch (Exception e) {
+            log.info("数据库连接异常"+e.toString());
             e.printStackTrace();
+
         } finally {
             // 关闭资源
             try {
@@ -184,6 +166,9 @@ public class NCServiceImpl implements NCService {
         }
     }
 
+    /**
+     * 大业主项目
+     */
     @Override
     public void getNcCost() {
         // 获取当前年
@@ -196,37 +181,46 @@ public class NCServiceImpl implements NCService {
             // 加载 JDBC 驱动
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             // 建立连接
-            connection = DriverManager.getConnection(url, user, password);
+            connection = DriverManager.getConnection(sqlBean.getUrl(), sqlBean.getUsername(), sqlBean.getPassword());
 
             // 创建 Statement 对象
             statement = connection.createStatement();
 
-            // 执行查询
-            String sql = "SELECT yearv,periodv,SUM(creditamount) as creditamount  FROM gl_detail where yearv = '"+year+"' and accountcode in('500114','500115') and adjustperiod in ('01','02','03','06','10','11') GROUP BY yearv, periodv";
+            // 测试sql 执行查询
+            String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
+                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.accountcode IN ( '500114', '500115' )\n" +
+                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ))\n" +
+                    "            GROUP BY b.adjustperiod,  b.pk_accasoa,  a.name";
+
+
             resultSet = statement.executeQuery(sql);
 
-            // 处理结果集
             while (resultSet.next()) {
                 Map hashMap = new HashMap();
-                hashMap.put("",resultSet.getString("yearv"));
 
-                hashMap.put("",resultSet.getString("periodv"));
-
-                hashMap.put("",resultSet.getString("creditamount"));
+                String yearAndNonth = year +"-"+resultSet.getString("adjustperiod");
+                hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                hashMap.put("textField_m0dkzhwo", yearAndNonth);
+                hashMap.put("textField_m0dkzhwu",resultSet.getString("pk_accasoa"));
+                hashMap.put("textField_m0dkzhwv",resultSet.getString("accasoa_name"));
+                hashMap.put("textField_m0eudqp0","大业主项目ID");
+                hashMap.put("textField_m0eudqp2","大业主项目名称");
+                hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
 
-                log.info("yearv"+resultSet.getString("yearv"));
-                log.info("periodv"+resultSet.getString("periodv"));
-                log.info("creditamount"+resultSet.getString("creditamount"));
+                log.info("yearv:"+UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                log.info("periodv:"+resultSet.getString("pk_accasoa"));
+                log.info("periodv:"+resultSet.getString("accasoa_name"));
+                log.info("creditamount:"+resultSet.getBigDecimal("creditamount"));
 
-               //写入大业主项目物料成本管控
-//                ydClient.operateData(YDParam.builder()
-//                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
-//                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-//                        .formUuid("FORM-EC67BCB875264EE9AE25C9D663568CAFCYU6")
-//                        .formDataJson(JSON.toJSONString(hashMap))
-//                        .build(), YDConf.FORM_OPERATION.create);
+                ydClient.operateData(YDParam.builder()
+                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                        .formUuid("FORM-87BF51F1E54D4D73A987939613D07BD5ZZE9")
+                        .formDataJson(JSON.toJSONString(hashMap))
+                        .build(), YDConf.FORM_OPERATION.create);
             }
         } catch (Exception e) {
+            log.info("数据库连接异常"+e.toString());
             e.printStackTrace();
         } finally {
             // 关闭资源
@@ -252,35 +246,46 @@ public class NCServiceImpl implements NCService {
             // 加载 JDBC 驱动
             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
             // 建立连接
-            connection = DriverManager.getConnection(url, user, password);
+            connection = DriverManager.getConnection(sqlBean.getUrl(), sqlBean.getUsername(), sqlBean.getPassword());
 
             // 创建 Statement 对象
             statement = connection.createStatement();
 
-            // 执行查询
-            String sql = "SELECT yearv,periodv,SUM(creditamount) as creditamount  FROM gl_detail where yearv = '"+year+"' and accountcode in('60010301','60010302') and adjustperiod in ('01','02','03','04','05','06','10') GROUP BY yearv, periodv";
+            // 测试sql 执行查询
+            String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount\n" +
+                    "            FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.accountcode like '6602%' " +
+                    "            AND b.pk_accountingbook IN ( SELECT pk_accountingbook FROM org_accountingbook WHERE code IN ( 'A01-0004', 'A02-0004', 'A03-0004', 'A04-0004', 'A05-0004', 'A06-0004', 'A10-0004', 'A11-0004' ))\n" +
+                    "            GROUP BY b.adjustperiod,  b.pk_accasoa,  a.name";
+
+
             resultSet = statement.executeQuery(sql);
 
-            // 处理结果集
             while (resultSet.next()) {
                 Map hashMap = new HashMap();
-                hashMap.put("",resultSet.getString("yearv"));
 
-                hashMap.put("",resultSet.getString("periodv"));
+                String yearAndNonth = year +"-"+resultSet.getString("adjustperiod");
+                hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                hashMap.put("textField_m0dkzhwo", yearAndNonth);
+                hashMap.put("textField_m0dkzhwu",resultSet.getString("pk_accasoa"));
+                hashMap.put("textField_m0dkzhwv",resultSet.getString("accasoa_name"));
+                hashMap.put("textField_m0eudqp0","部门");
+                hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
 
-                hashMap.put("",resultSet.getString("creditamount"));
+                log.info("yearv:"+UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                log.info("periodv:"+resultSet.getString("pk_accasoa"));
+                log.info("periodv:"+resultSet.getString("accasoa_name"));
+                log.info("creditamount:"+resultSet.getBigDecimal("creditamount"));
 
-                log.info("yearv"+resultSet.getString("yearv"));
-                log.info("periodv"+resultSet.getString("periodv"));
-                log.info("creditamount"+resultSet.getString("creditamount"));
 
-//                //收款金额
-//                ydClient.operateData(YDParam.builder()
-//                        .formUuid("")
-//                        .formDataJson(JSON.toJSONString(hashMap))
-//                        .build(), YDConf.FORM_OPERATION.create);
+                ydClient.operateData(YDParam.builder()
+                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                        .formUuid("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU")
+                        .formDataJson(JSON.toJSONString(hashMap))
+                        .build(), YDConf.FORM_OPERATION.create);
             }
         } catch (Exception e) {
+            log.info("数据库连接异常"+e.toString());
             e.printStackTrace();
         } finally {
             // 关闭资源