Explorar o código

提交仓库
NC大业主项目成本、管理费用成本代码提交

zfc hai 9 meses
pai
achega
24d8b9264a

+ 10 - 2
mjava-lanyun/src/main/java/com/malk/lanyun/controller/TimerController.java

@@ -60,13 +60,21 @@ public class TimerController {
         ncService.getNcInfo();
         return McR.success();
     }
-
     @RequestMapping("testTwo")
     McR testTwo() {
         ncService.getNcCgInfo();
         return McR.success();
     }
-
+    @RequestMapping("testThree")
+    McR testThree() {
+        ncService.getNcCost();
+        return McR.success();
+    }
+    @RequestMapping("testFour")
+    McR testFour() {
+        ncService.getNcCollection();
+        return McR.success();
+    }
 
     /**
      * 采购订单导出excel

+ 18 - 0
mjava-lanyun/src/main/java/com/malk/lanyun/entity/SqlServerBean.java

@@ -0,0 +1,18 @@
+package com.malk.lanyun.entity;
+
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "sqlserver")
+public class SqlServerBean {
+
+    private String username;
+    private String password;
+    private String url;
+
+
+}

+ 65 - 60
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;
-
     @Autowired
     private YDClient ydClient;
 
-    // 数据库连接信息
-    //    String url = "jdbc:sqlserver://58.246.128.122:2433;databaseName=lanyun";
-    String url = "jdbc:sqlserver://192.168.0.237:1433;databaseName=lanyun";
+    @Autowired
+    private SqlServerBean sqlBean;
 
-    String user = "sa";
-    //    String password = "!lanyunnc@2023#";
-    String password = "LANyunnc!2024#";
 
     // 获取当前日期
     LocalDate today = LocalDate.now();
@@ -56,7 +50,7 @@ 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();
 
@@ -67,13 +61,6 @@ public class NCServiceImpl implements NCService {
                     "            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";
-
             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,7 +114,7 @@ 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();
@@ -137,13 +125,6 @@ public class NCServiceImpl implements NCService {
                     "            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";
-
 
             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 {
             // 关闭资源

+ 18 - 12
mjava-lanyun/src/main/resources/application-dev.yml

@@ -25,17 +25,17 @@ spring:
     database: MYSQL
     database-platform: org.hibernate.dialect.MySQL57Dialect
 
-# filepath
-#file:
-#  path:
-#    file: /Users/malk/server/_Tool/var/mjava/tmp/file
-#    image: /Users/malk/server/_Tool/var/mjava/tmp/image
-#    tmp: /Users/malk/server/_Tool/var/mjava/tmp
-#  source:
-#    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
-#logging:
-#  file:
-#    path: /Users/malk/server/_Tool/var/mjava/log
+#filepath
+file:
+  path:
+    file: /Users/malk/server/_Tool/var/mjava/tmp/file
+    image: /Users/malk/server/_Tool/var/mjava/tmp/image
+    tmp: /Users/malk/server/_Tool/var/mjava/tmp
+  source:
+    fonts: /Users/malk/server/_Tool/fonts/simsun.ttc
+logging:
+  file:
+    path: /Users/malk/server/_Tool/var/mjava/log
 
 # dingtalk
 dingtalk:
@@ -45,4 +45,10 @@ dingtalk:
   corpId: dingef2eb0ecba261b8935c2f4657eb6378f
   aesKey:
   token:
-  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]
+  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]
+
+#SqlServer
+sqlserver:
+  url: jdbc:sqlserver://58.246.128.122:2433;databaseName=lanyun
+  username: sa
+  password: "!lanyunnc@2023#"

+ 8 - 1
mjava-lanyun/src/main/resources/application-prod.yml

@@ -22,6 +22,7 @@ spring:
     database: MYSQL
     database-platform: org.hibernate.dialect.MySQL57Dialect
 
+
 # dingtalk
 dingtalk:
   agentId: 2871877887
@@ -30,4 +31,10 @@ dingtalk:
   corpId: dingef2eb0ecba261b8935c2f4657eb6378f
   aesKey:
   token:
-  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]
+  operator: ""   # OA管理员账号 [首字符若为0需要转一下字符串]
+
+
+sqlserver:
+  url: jdbc:sqlserver://192.168.0.237:1433;databaseName=lanyun
+  userName: sa
+  password: LANyunnc!2024#