|
@@ -2,6 +2,7 @@ package com.malk.lanyun.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.malk.lanyun.entity.MySqlBean;
|
|
|
import com.malk.lanyun.entity.SqlServerBean;
|
|
|
import com.malk.lanyun.service.NCService;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
@@ -14,12 +15,10 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.sql.Connection;
|
|
|
-import java.sql.DriverManager;
|
|
|
-import java.sql.ResultSet;
|
|
|
-import java.sql.Statement;
|
|
|
+import java.sql.*;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -33,7 +32,8 @@ public class NCServiceImpl implements NCService {
|
|
|
|
|
|
@Autowired
|
|
|
private SqlServerBean sqlBean;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private MySqlBean mySqlBean;
|
|
|
@Autowired
|
|
|
private YDService ydService;
|
|
|
|
|
@@ -61,11 +61,8 @@ public class NCServiceImpl implements NCService {
|
|
|
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.adjustperiod = "+ month +
|
|
|
- " 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 FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+"\n AND b.adjustperiod = "+ month +
|
|
|
+ " AND b.accountcode IN ( '50010101', '500102', '500103', '500117', '500114', '500115', '500118', '500119', '500109', '500133' ) 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' ) ) GROUP BY b.adjustperiod, b.pk_accasoa, a.name";
|
|
|
|
|
|
resultSet = statement.executeQuery(sql);
|
|
|
|
|
@@ -128,11 +125,8 @@ public class NCServiceImpl implements NCService {
|
|
|
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.adjustperiod = "+ month +
|
|
|
- " 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";
|
|
|
+ String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.adjustperiod = "+ month +
|
|
|
+ " AND b.accountcode IN ( '500114', '500115' ) 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' )) GROUP BY b.adjustperiod, b.pk_accasoa, a.name";
|
|
|
|
|
|
|
|
|
resultSet = statement.executeQuery(sql);
|
|
@@ -198,11 +192,8 @@ public class NCServiceImpl implements NCService {
|
|
|
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.adjustperiod = "+ month +
|
|
|
- " 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";
|
|
|
+ String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.adjustperiod = "+ month +
|
|
|
+ " AND b.accountcode IN ( '500114', '500115' ) 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' )) GROUP BY b.adjustperiod, b.pk_accasoa, a.name";
|
|
|
|
|
|
|
|
|
resultSet = statement.executeQuery(sql);
|
|
@@ -267,11 +258,9 @@ public class NCServiceImpl implements NCService {
|
|
|
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.adjustperiod = '"+ month + "'" +
|
|
|
+ String sql = "SELECT b.adjustperiod AS adjustperiod, b.pk_accasoa AS pk_accasoa,a.name AS accasoa_name, SUM ( b.creditamount ) AS creditamount FROM gl_detail b JOIN bd_accasoa a ON b.pk_accasoa = a.pk_accasoa WHERE b.yearv = "+year+" AND b.adjustperiod = '"+ month + "'" +
|
|
|
" AND (b.accountcode like '6602%' OR b.accountcode IN ('660101','660103','660104'))" +
|
|
|
- " 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";
|
|
|
+ " 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' )) GROUP BY b.adjustperiod, b.pk_accasoa, a.name";
|
|
|
|
|
|
|
|
|
resultSet = statement.executeQuery(sql);
|
|
@@ -382,6 +371,349 @@ public class NCServiceImpl implements NCService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void getProjectOperate() {
|
|
|
+ int year = lastMonth.getYear();
|
|
|
+ String month = String.format("%02d",lastMonth.getMonthValue()) ;
|
|
|
+ deleteMonthDate("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU","textField_m0dkzhwo", String.valueOf(year),month);
|
|
|
+
|
|
|
+ System.out.println(month);
|
|
|
+ Connection connection = null;
|
|
|
+ Statement statement = null;
|
|
|
+ ResultSet resultSet = null;
|
|
|
+ Connection mysqlCon = null;
|
|
|
+ PreparedStatement ps = null;
|
|
|
+ try {
|
|
|
+ // 加载 JDBC 驱动
|
|
|
+ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
|
|
+ // 建立连接
|
|
|
+ connection = DriverManager.getConnection(sqlBean.getUrl(), sqlBean.getUsername(), sqlBean.getPassword());
|
|
|
+ mysqlCon = DriverManager.getConnection(mySqlBean.getUrl(), mySqlBean.getUsername(), mySqlBean.getPassword());
|
|
|
+
|
|
|
+ // 创建 Statement 对象
|
|
|
+ statement = connection.createStatement();
|
|
|
+
|
|
|
+ //获取生产成本-工资
|
|
|
+ String sql = "SELECT\n" +
|
|
|
+ "\tbd_project.project_code xmcode,\n" +
|
|
|
+ "\tbd_project.project_name xmname,\n" +
|
|
|
+ "\tgl_detail.yearv yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod monthv,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\tgl_detail gl_detail\n" +
|
|
|
+ "\tLEFT JOIN gl_docfree1 ON gl_detail.assid = gl_docfree1.assid\n" +
|
|
|
+ "\tLEFT JOIN org_dept ON gl_docfree1.f1 = org_dept.pk_dept\n" +
|
|
|
+ "\tLEFT JOIN bd_project ON gl_docfree1.f10 = bd_project.pk_project\n" +
|
|
|
+ "\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "WHERE\n" +
|
|
|
+ "\tbd_account.CODE IN ( '50010101', '500103', '500102', '500117' ) \n" +
|
|
|
+ "\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\tAND ( gl_docfree1.F1 <> 'NN/A' OR gl_docfree1.F10 <> 'NN/A' ) \n" +
|
|
|
+ "\tAND 1 = 1 \n" +
|
|
|
+ "GROUP BY\n" +
|
|
|
+ "\tgl_detail.yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod,\n" +
|
|
|
+ "\tbd_project.project_code,\n" +
|
|
|
+ "\tbd_project.project_name \n" +
|
|
|
+ "ORDER BY\n" +
|
|
|
+ "\txmcode ASC ";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+// String insert = "INSERT INTO `dingtalk`.`lanyun_project_analysis_copy1`(`month`,`project_name`,`person_cost`) VALUES (?,?,?)";
|
|
|
+// String yearAndNonth = year +"-"+resultSet.getString("adjustperiod");
|
|
|
+// Map hashMap = new HashMap();
|
|
|
+// ps = mysqlCon.prepareStatement(insert);
|
|
|
+// ps.setObject(1,UtilDateTime.parse(yearAndNonth,"yyyy-MM").getTime());
|
|
|
+// ps.setObject(2,resultSet.getBigDecimal("xmname"));
|
|
|
+// ps.setObject(3,resultSet.getBigDecimal("JFFS"));
|
|
|
+ List<Map<String,Object>> personCostList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ log.info("xmcode:{}",resultSet.getString("xmcode"));
|
|
|
+ personCost.put("xmcode",resultSet.getString("xmcode"));
|
|
|
+ personCost.put("xmname",resultSet.getString("xmname"));
|
|
|
+ personCost.put("person_cost_compute",resultSet.getString("JFFS"));
|
|
|
+ personCostList.add(personCost);
|
|
|
+ }
|
|
|
+ //获取生产成本-材料费
|
|
|
+ sql = "SELECT\n" +
|
|
|
+ "\tbd_project.project_code xmcode,\n" +
|
|
|
+ "\tbd_project.project_name xmname,\n" +
|
|
|
+ "\tgl_detail.yearv yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod monthv,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\tgl_detail gl_detail\n" +
|
|
|
+ "\tLEFT JOIN gl_docfree1 ON gl_detail.assid = gl_docfree1.assid\n" +
|
|
|
+ "\tLEFT JOIN org_dept ON gl_docfree1.f1 = org_dept.pk_dept\n" +
|
|
|
+ "\tLEFT JOIN bd_project ON gl_docfree1.f10 = bd_project.pk_project\n" +
|
|
|
+ "\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "WHERE\n" +
|
|
|
+ "\tbd_account.CODE IN ( '500114' ) \n" +
|
|
|
+ "\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\tAND ( gl_docfree1.F1 <> 'NN/A' OR gl_docfree1.F10 <> 'NN/A' ) \n" +
|
|
|
+ "\tAND 1 = 1 \n" +
|
|
|
+ "GROUP BY\n" +
|
|
|
+ "\tgl_detail.yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod,\n" +
|
|
|
+ "\tbd_project.project_code,\n" +
|
|
|
+ "\tbd_project.project_name \n" +
|
|
|
+ "ORDER BY\n" +
|
|
|
+ "\txmcode ASC ";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+ List<Map<String,Object>> materialList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ personCost.put("xmcode",resultSet.getString("xmcode"));
|
|
|
+ personCost.put("xmname",resultSet.getString("xmname"));
|
|
|
+ personCost.put("material_compute",resultSet.getString("JFFS"));
|
|
|
+ materialList.add(personCost);
|
|
|
+ }
|
|
|
+ //获取5001科目总生产成本
|
|
|
+ sql = "SELECT\n" +
|
|
|
+ "\tA.yearv,\n" +
|
|
|
+ "\tA.monthv,\n" +
|
|
|
+ "\tA.xmcode,\n" +
|
|
|
+ "\tA.xmname,\n" +
|
|
|
+ "\tsum( A.JFFS ) JFFS,\n" +
|
|
|
+ "\tsum( A.DFFS ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\t(\n" +
|
|
|
+ "\tSELECT\n" +
|
|
|
+ "\t\tgl_detail.yearv yearv,\n" +
|
|
|
+ "\t\tgl_detail.adjustperiod monthv,\n" +
|
|
|
+ "\t\torg_accountingbook.CODE orgcode,\n" +
|
|
|
+ "\t\torg_accountingbook.NAME orgname,\n" +
|
|
|
+ "\t\tsubstring( bd_account.CODE, 0, 5 ) kmbm,\n" +
|
|
|
+ "\t\tbd_accasoa.dispname,\n" +
|
|
|
+ "\t\torg_dept.CODE bmcode,\n" +
|
|
|
+ "\t\torg_dept.NAME bmname,\n" +
|
|
|
+ "\t\tbd_project.project_code xmcode,\n" +
|
|
|
+ "\t\tbd_project.project_name xmname,\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "\tFROM\n" +
|
|
|
+ "\t\tgl_detail gl_detail\n" +
|
|
|
+ "\t\tLEFT JOIN gl_docfree1 ON gl_detail.assid = gl_docfree1.assid\n" +
|
|
|
+ "\t\tLEFT JOIN org_dept ON gl_docfree1.f1 = org_dept.pk_dept\n" +
|
|
|
+ "\t\tLEFT JOIN bd_project ON gl_docfree1.f10 = bd_project.pk_project\n" +
|
|
|
+ "\t\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\t\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\t\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "\tWHERE\n" +
|
|
|
+ "\t\tsubstring( bd_account.CODE, 0, 5 ) IN ('5001') \n" +
|
|
|
+ "\t\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\t\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\t\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\t\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\t\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\t\tAND ( gl_docfree1.F1 <> 'NN/A' OR gl_docfree1.F10 <> 'NN/A' ) \n" +
|
|
|
+ "\t\tAND 1 = 1 \n" +
|
|
|
+ "\tGROUP BY\n" +
|
|
|
+ "\t\tgl_detail.pk_accasoa,\n" +
|
|
|
+ "\t\tgl_detail.pk_accountingbook,\n" +
|
|
|
+ "\t\tgl_detail.yearv,\n" +
|
|
|
+ "\t\tgl_detail.adjustperiod,\n" +
|
|
|
+ "\t\torg_dept.CODE,\n" +
|
|
|
+ "\t\torg_dept.NAME,\n" +
|
|
|
+ "\t\torg_accountingbook.CODE,\n" +
|
|
|
+ "\t\torg_accountingbook.NAME,\n" +
|
|
|
+ "\t\tbd_accasoa.dispname,\n" +
|
|
|
+ "\t\tbd_account.CODE,\n" +
|
|
|
+ "\t\tbd_project.project_code,\n" +
|
|
|
+ "\t\tbd_project.project_name \n" +
|
|
|
+ "\t) A \n" +
|
|
|
+ "GROUP BY\n" +
|
|
|
+ "\tA.yearv,\n" +
|
|
|
+ "\tA.monthv,\n" +
|
|
|
+ "\tA.xmcode,\n" +
|
|
|
+ "\tA.xmname \n" +
|
|
|
+ "ORDER BY\n" +
|
|
|
+ "\txmcode ASC";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+ List<Map<String,Object>> otherList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ personCost.put("xmcode",resultSet.getString("xmcode"));
|
|
|
+ personCost.put("xmname",resultSet.getString("xmname"));
|
|
|
+ personCost.put("other_compute",resultSet.getString("JFFS"));
|
|
|
+ otherList.add(personCost);
|
|
|
+ }
|
|
|
+
|
|
|
+ //管理费用分子6601+6602+6603
|
|
|
+ sql = "SELECT\n" +
|
|
|
+ "\tsum( A.JFFS ) JFFS,\n" +
|
|
|
+ "\tsum( A.DFFS ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\t(\n" +
|
|
|
+ "\tSELECT\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "\tFROM\n" +
|
|
|
+ "\t\tgl_detail gl_detail\n" +
|
|
|
+ "\t\tLEFT JOIN gl_docfree1 ON gl_detail.assid = gl_docfree1.assid\n" +
|
|
|
+ "\t\tLEFT JOIN org_dept ON gl_docfree1.f1 = org_dept.pk_dept\n" +
|
|
|
+ "\t\tLEFT JOIN bd_project ON gl_docfree1.f10 = bd_project.pk_project\n" +
|
|
|
+ "\t\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\t\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\t\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "\tWHERE\n" +
|
|
|
+ "\t\tsubstring( bd_account.CODE, 0, 5 ) IN ( '6602', '6601' ) \n" +
|
|
|
+ "\t\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\t\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\t\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\t\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\t\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\t\tAND ( gl_docfree1.F1 <> 'NN/A' OR gl_docfree1.F10 <> 'NN/A' ) \n" +
|
|
|
+ "\t\tUNION ALL\n" +
|
|
|
+ "\tSELECT\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\t\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "\tFROM\n" +
|
|
|
+ "\t\tgl_detail gl_detail\n" +
|
|
|
+ "\t\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\t\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\t\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "\tWHERE\n" +
|
|
|
+ "\t\tsubstring( bd_account.CODE, 0, 5 ) IN ( '6603' ) \n" +
|
|
|
+ "\t\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\t\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\t\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\t\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\t\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\t\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\tAND 1 = 1 \n" +
|
|
|
+ "\t)A";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+ List<Map<String,Object>> manageList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ personCost.put("manage_compute",resultSet.getString("JFFS"));
|
|
|
+ manageList.add(personCost);
|
|
|
+ }
|
|
|
+ //管理费用分母
|
|
|
+ sql = "SELECT\n" +
|
|
|
+ "\tbd_project.project_code xmcode,\n" +
|
|
|
+ "\tbd_project.project_name xmname,\n" +
|
|
|
+ "\tgl_detail.yearv yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod monthv,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\tgl_detail gl_detail\n" +
|
|
|
+ "\tLEFT JOIN gl_docfree1 ON gl_detail.assid = gl_docfree1.assid\n" +
|
|
|
+ "\tLEFT JOIN org_dept ON gl_docfree1.f1 = org_dept.pk_dept\n" +
|
|
|
+ "\tLEFT JOIN bd_project ON gl_docfree1.f10 = bd_project.pk_project\n" +
|
|
|
+ "\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "WHERE\n" +
|
|
|
+ "\tbd_account.CODE IN ( '600101','600109','600102','600106','600103') \n" +
|
|
|
+ "\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 5 \n" +
|
|
|
+ "\tAND ( gl_docfree1.F1 <> 'NN/A' OR gl_docfree1.F10 <> 'NN/A' ) \n" +
|
|
|
+ "\tAND 1 = 1 \n" +
|
|
|
+ "GROUP BY\n" +
|
|
|
+ "\tgl_detail.yearv,\n" +
|
|
|
+ "\tgl_detail.adjustperiod,\n" +
|
|
|
+ "\tbd_project.project_code,\n" +
|
|
|
+ "\tbd_project.project_name \n" +
|
|
|
+ "ORDER BY\n" +
|
|
|
+ "\txmcode ASC ";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+ List<Map<String,Object>> manageProjectList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ personCost.put("xmcode",resultSet.getString("xmcode"));
|
|
|
+ personCost.put("xmname",resultSet.getString("xmname"));
|
|
|
+ personCost.put("manage_project_compute",resultSet.getString("JFFS"));
|
|
|
+ manageProjectList.add(personCost);
|
|
|
+ }
|
|
|
+
|
|
|
+ //企业所得税6801
|
|
|
+ sql = "SELECT\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localdebitamount ELSE 0 END ) JFFS,\n" +
|
|
|
+ "\tsum( CASE WHEN adjustperiod >= '01' AND adjustperiod <= '12' THEN gl_detail.localcreditamount ELSE 0 END ) DFFS \n" +
|
|
|
+ "FROM\n" +
|
|
|
+ "\tgl_detail gl_detail\n" +
|
|
|
+ "\tLEFT JOIN org_accountingbook ON gl_detail.pk_accountingbook = org_accountingbook.pk_accountingbook\n" +
|
|
|
+ "\tLEFT JOIN bd_accasoa ON gl_detail.pk_accasoa = bd_accasoa.pk_accasoa\n" +
|
|
|
+ "\tLEFT JOIN bd_account ON bd_accasoa.pk_account = bd_account.pk_account \n" +
|
|
|
+ "WHERE\n" +
|
|
|
+ "\tsubstring( bd_account.CODE, 0, 5 ) IN ( '6801' ) \n" +
|
|
|
+ "\tAND gl_detail.yearv = '2024' \n" +
|
|
|
+ "\tAND gl_detail.adjustperiod = '10' \n" +
|
|
|
+ "\tAND org_accountingbook.CODE IN ( 'A01-0004', 'A02-0004', 'A11-0004', 'A03-0004', 'A06-0004', 'A04-0004', 'A05-0004', 'A10-0004' ) \n" +
|
|
|
+ "\tAND gl_detail.discardflagv <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.dr = 0 \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 255 \n" +
|
|
|
+ "\tAND gl_detail.tempsaveflag <> 'Y' \n" +
|
|
|
+ "\tAND gl_detail.voucherkindv <> 5 ";
|
|
|
+
|
|
|
+ resultSet = statement.executeQuery(sql);
|
|
|
+ List<Map<String,Object>> businessIncomeList = new ArrayList<>();
|
|
|
+ while (resultSet.next()) {
|
|
|
+ HashMap<String, Object> personCost = new HashMap<>();
|
|
|
+ personCost.put("business_income_compute",resultSet.getString("JFFS"));
|
|
|
+ businessIncomeList.add(personCost);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("数据库连接异常"+e.toString());
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ // 关闭资源
|
|
|
+ try {
|
|
|
+ if (resultSet != null) resultSet.close();
|
|
|
+ if (mysqlCon != null) mysqlCon.close();
|
|
|
+ if (statement != null) statement.close();
|
|
|
+ if (connection != null) connection.close();
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void deleteMonthDate(String formUuid,String key, String year, String month){
|
|
|
String yearAndMonth = year;
|
|
|
if (ObjectUtil.isNotNull(month)){
|
|
@@ -400,6 +732,5 @@ public class NCServiceImpl implements NCService {
|
|
|
.formInstanceId(e.get("formInstanceId").toString())
|
|
|
.build(), YDConf.FORM_OPERATION.delete);
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
}
|