|
@@ -3,22 +3,30 @@ package com.malk.lanyun.service.impl;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.malk.lanyun.Mapper.ProjectAnalysisMapper;
|
|
|
+import com.malk.lanyun.entity.ProjectAnalysis;
|
|
|
import com.malk.lanyun.service.TimerService;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
|
import com.malk.server.aliwork.YDParam;
|
|
|
import com.malk.service.aliwork.YDClient;
|
|
|
import com.malk.service.aliwork.YDService;
|
|
|
-import com.malk.service.dingtalk.DDClient;
|
|
|
-import com.malk.service.dingtalk.DDClient_Contacts;
|
|
|
import com.malk.utils.UtilDateTime;
|
|
|
import com.malk.utils.UtilExcel;
|
|
|
import com.malk.utils.UtilMap;
|
|
|
+import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.sql.Connection;
|
|
|
+import java.sql.DriverManager;
|
|
|
+import java.sql.PreparedStatement;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
|
|
@@ -26,7 +34,16 @@ import java.util.*;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class TimerServiceImpl implements TimerService {
|
|
|
-
|
|
|
+ @Value("${spring.datasource.url}")
|
|
|
+ private String url;
|
|
|
+ @Value("${spring.datasource.username}")
|
|
|
+ private String username;
|
|
|
+ @Value("${spring.datasource.password}")
|
|
|
+ private String password;
|
|
|
+ @Value("${spring.datasource.driver-class-name}")
|
|
|
+ private String driver;
|
|
|
+ @Autowired
|
|
|
+ private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private YDService ydService;
|
|
|
|
|
@@ -179,10 +196,9 @@ public class TimerServiceImpl implements TimerService {
|
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lrnd0lxr", "小业主")))
|
|
|
.build());
|
|
|
log.info("小业主档案_测试, {}", dataList.size());
|
|
|
- List<Map> testlist = new ArrayList<>();
|
|
|
dataList.forEach(e -> {
|
|
|
log.info("e1:{}",e.toString());
|
|
|
- List<Map> list = (List<Map>) e.get("tableField_lr3dmdpk");
|
|
|
+ List<Map> list = (List<Map>) e.get("tableField_lr3dmdpk");
|
|
|
if (ObjectUtil.isNotNull(e.get("tableField_lr3dmdpk"))){
|
|
|
list.forEach(v->{
|
|
|
if (v.size()>3){
|
|
@@ -198,21 +214,25 @@ public class TimerServiceImpl implements TimerService {
|
|
|
.appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
.systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
.formInstanceId(UtilMap.getString(e, "formInstanceId"))
|
|
|
-// .useLatestVersion(true)
|
|
|
- .updateFormDataJson(JSON.toJSONString(UtilMap.map("tableField_lr3dmdpk", list)))
|
|
|
+ .useLatestVersion(true)
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(new HashMap<>()))
|
|
|
+// .updateFormDataJson(JSON.toJSONString(UtilMap.map("tableField_lr3dmdpk", list)))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void execlExport(HttpServletResponse response, HttpServletRequest request) {
|
|
|
-// data.put("page", 1);
|
|
|
-// data.put("size", Integer.MAX_VALUE);
|
|
|
+ public void execlExport(Map data,HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ if (data.isEmpty()){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String formInstId = data.get("formInstId").toString();
|
|
|
+ log.info("已获取流程实例ID为:{}",data.get("formInstId").toString());
|
|
|
// 动态表头模板导出
|
|
|
Map formData = ydClient.queryData(YDParam.builder()
|
|
|
.appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
.systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
- .formInstanceId("FINST-8A666OD1MXUM0RFMCLG6XDA2H5MY2NPY2WNYLJ31")
|
|
|
+ .formInstanceId(formInstId)
|
|
|
.build(),
|
|
|
YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
log.info("formData:{}",formData);
|
|
@@ -227,45 +247,297 @@ public class TimerServiceImpl implements TimerService {
|
|
|
});
|
|
|
Map<String, String> dataMain = UtilMap.map(keys[0], valuses[0]);
|
|
|
log.info("dataMain:{}",dataMain);
|
|
|
- String fileName = dataMain.get("textField_ltxyt75m") + dataMain.get("textField_lz2fk0wc") + "采购订单";
|
|
|
+ String fileName = dataMain.get("textField_lr26y1io") + dataMain.get("textField_lz2fk0wc") + "采购订单";
|
|
|
|
|
|
List<Map> dataList = (List<Map>) formData.get("tableField_ltxyt76f");
|
|
|
+ for (int i = 0; i < dataList.size(); i++) {
|
|
|
+ dataList.get(i).put("row",i+1);
|
|
|
+ }
|
|
|
log.info("dataList:{}",dataList);
|
|
|
- UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Template_days.xlsx");
|
|
|
- }
|
|
|
+ String text = "一、订单说明:\n" +
|
|
|
+ "1.供应商需按订单内容,向采购方按时、按量提供质量合格的商品(如一张订单分多次送货的,将以末次送货时间作为该订单的送货时间)。\n" +
|
|
|
+ "2.供应商配送物品与订单不符,采购方接收人有权拒收、要求换货或给与相应的赔偿。\n" +
|
|
|
+ "3.供应商未按订单约定时间配送物品,需按照订单总价的5%作为单日违约金,按照延迟天数向采购方支付。\n" +
|
|
|
+ "4.供应商送货时,需向采购方接收人提供供应商送货签收单据的客户联,采购方将作为付款的书面依据留存。\n" +
|
|
|
+ "5.供应商完成物品配送后,5个工作日内需向采购方提交与订单内容相符的增值税专用发票。\n" +
|
|
|
+ "6.采购方在收到供应商提供的与订单相符的物品及相应发票和单据后,将按照双方约定的付款周期支付货款。\n" +
|
|
|
+ "7.采购方以传真和邮件方式,向供应商提供《采购订单》;供应商接收《采购订单》后,需以传真或邮件方式进行签收。\n" +
|
|
|
+ "8.采购方以供应商传真或邮件签收,作为该《采购订单》正式履行的依据。\n" +
|
|
|
+ "9.采购订单作为供需双方的日常业务办理依据,双方合作的相关法律依据以双方签订的合作协议为准。\n" +
|
|
|
+ "10.严禁除采购以外的任何人员直接向供应商订购物资,如供应商在未收到采购订单的情况下进行物资配送,采购一律不予结算该账款。\n" +
|
|
|
+ "严禁供应商向除采购方以外的任何第三方泄露采购单价,造成采购方名誉、信誉、财产的一切损失将由供应商承担。\n" +
|
|
|
+ "二、备注:采购订单敲章后与发票一起寄回,以便后期确认。\n" +
|
|
|
+ "发票寄送地址:上海市宝山区双城路803弄宝莲城9号楼27层\n" +
|
|
|
+ "联系人:浦水菊 联系电话:60671366 转 828";
|
|
|
+ dataMain.put("text",text);
|
|
|
+ int numSum = dataList.stream().mapToInt(e -> e.get("numberField_ltxyt75z").toString().equals("") ? 0 : Integer.parseInt(e.get("numberField_ltxyt75z").toString())).sum();
|
|
|
+ Double sumTotal = dataList.stream().mapToDouble(e -> e.get("numberField_ltxyt764").toString().equals("") ? 0 : Double.parseDouble(e.get("numberField_ltxyt764").toString())).sum();
|
|
|
+ dataMain.put("num_sum",String.valueOf(numSum));
|
|
|
+ dataMain.put("sum_total",String.valueOf(sumTotal));
|
|
|
|
|
|
+ UtilExcel.exportMapAndListByTemplate(response, dataMain, dataList, Map.class, fileName, "Template.xlsx");
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 应收款通知:
|
|
|
- * 每月10日,拉取上月底之前开票档案,已开未有任何回款数据。按照客户纬度汇总生成催款单据
|
|
|
- * - 只要有已回款,则不在通知
|
|
|
- * - 红字发票不需要通知
|
|
|
- */
|
|
|
@Override
|
|
|
- public void sendReminderLetter() {
|
|
|
-
|
|
|
+ public void monthRiskMerits() {
|
|
|
+ // 获取月初日期
|
|
|
+ long beginTime = DateUtil.beginOfMonth(new Date()).getTime();
|
|
|
List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .formUuid("FORM-6603375ED27B4D059CBB919C2BEFA44BZVOL")
|
|
|
- .searchCondition(JSON.toJSONString(UtilMap.map("radioField_m06hhw2p, selectField_lvituew9", "未回款", "正常")))
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formUuid("FORM-0536AD7797894C94BCAC4BAC0BBBE86BUQE1")
|
|
|
+// .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lrnd0lxr", "小业主")))
|
|
|
.build());
|
|
|
+ dataList.forEach(e->{
|
|
|
+ log.info(e.toString());
|
|
|
+ String department = e.get("departmentSelectField_ls2tx0tf_id").toString();
|
|
|
+ log.info("部门:{}",department);
|
|
|
+ String header = e.get("employeeField_ls2tx0tg_id").toString();
|
|
|
+ log.info("负责人:{}",header);
|
|
|
+ List<Map> tableList = (List<Map>) e.get("tableField_ls2tx0tl");
|
|
|
+ if (tableList.size()>0) {
|
|
|
+ tableList.forEach(f->{
|
|
|
+ f.forEach((k,v)->{
|
|
|
+ if (k.toString().equals("textField_ls2tx0tn")){
|
|
|
+ f.put("textField_ls2u8mc7",v);
|
|
|
+ f.remove(k);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ /*关联表单控件*/
|
|
|
+ JSONArray jsonArray = new JSONArray();
|
|
|
+ Map<String, Object> jsonMap = UtilMap.map("appType, formUuid, formType, instanceId, title",
|
|
|
+ "APP_ERBDTFS82HOVBPL3NFH0","FORM-0536AD7797894C94BCAC4BAC0BBBE86BUQE1","receipt",e.get("instanceId"),e.get("textField_ls2upvtq"));
|
|
|
+ JSONObject jsonObject = new JSONObject(jsonMap);
|
|
|
+ jsonArray.add(jsonObject);
|
|
|
+ /*发起流程*/
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formUuid("FORM-A4B37CFEB8524947939C00523373532BT3TH")
|
|
|
+ .formDataJson(JSON.toJSONString(UtilMap.map("dateField_ls2u8mbv, departmentSelectField_ls2u8mbw, employeeField_ls2u8mbx, tableField_ls2u8mc6, associationFormField_ls2u8mcb, dateField_ls1ky8c5, employeeField_ls1ky8c3",
|
|
|
+ beginTime,department,header,tableList,jsonArray,beginTime,YDConf.PUB_ACCOUNT)))
|
|
|
+ .build(), YDConf.FORM_OPERATION.start);
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- // 数据字典
|
|
|
- UtilMap.map("大业主, 小业主, 工程订单, 日保一次性",
|
|
|
- UtilMap.map("table, content", "tableField_lvc9x4vt, textField_lvd8pp2t"),
|
|
|
- UtilMap.map("table, content", "tableField_lvd8pp44, textField_lvd8pp3w"),
|
|
|
- UtilMap.map("table, content", "tableField_lvdnme13, textField_lvdnme0u")
|
|
|
- );
|
|
|
- // 按照客户维度
|
|
|
- dataList.forEach(e -> {
|
|
|
+ @SneakyThrows
|
|
|
+ @Override
|
|
|
+ public List<ProjectAnalysis> projectAnalysisGroup(Map<String, Object> data){
|
|
|
+ final String[] sql = {"",""};
|
|
|
+ int pageStart = (Integer.parseInt(data.get("page").toString()) - 1) * Integer.parseInt(data.get("num").toString());
|
|
|
+ int pageEnd = Integer.parseInt(data.get("page").toString()) * Integer.parseInt(data.get("num").toString());
|
|
|
+ data.remove("page");
|
|
|
+ data.remove("num");
|
|
|
+ if (!data.containsKey("month")){
|
|
|
+ sql[0] = "SELECT " +
|
|
|
+ " `month`, " +
|
|
|
+ " sum( predict_income ) predict_income," +
|
|
|
+ " NULL as project_name, " +
|
|
|
+ " SUM( `open` ) `open`, " +
|
|
|
+ " SUM( income ) income, " +
|
|
|
+ " SUM( person ) person, " +
|
|
|
+ " SUM( person_cost ) person_cost, " +
|
|
|
+ " SUM( material ) material, " +
|
|
|
+ " SUM( other_cost ) other_cost, " +
|
|
|
+ " SUM( cost_sum ) cost_sum, " +
|
|
|
+ " SUM( taxes ) taxes, " +
|
|
|
+ " SUM( gross_profit ) gross_profit, " +
|
|
|
+ " SUM( gross_profit )/ SUM( income ) gross_margin, " +
|
|
|
+ " SUM( overhead ) overhead, " +
|
|
|
+ " SUM( corporate_income_tax ) corporate_income_tax, " +
|
|
|
+ " SUM( net_profit ) net_profit, " +
|
|
|
+ " SUM( net_profit )/ SUM( income ) net_margin " +
|
|
|
+ "FROM " +
|
|
|
+ " lanyun_project_analysis " +
|
|
|
+ " WHERE 1=1 " ;
|
|
|
+ if (ObjectUtil.isNotNull(data.get("startDate"))) {
|
|
|
+ sql[0] = sql[0] + " AND `month` >= \"" + data.get("startDate") +"\" " ;
|
|
|
+ sql[1] = sql[1] + " AND `month` >= \"" + data.get("startDate") +"\" " ;
|
|
|
+ } else if (ObjectUtil.isNotNull(data.get("endDate"))) {
|
|
|
+ sql[0] = sql[0] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
+ sql[1] = sql[1] + " AND `month` <= \"" + data.get("endDate") +"\" " ;
|
|
|
+ }
|
|
|
+ sql[0] = sql[0] +
|
|
|
+ " GROUP BY " +
|
|
|
+ " `month`" +
|
|
|
+ " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+ sql[1]= "SELECT " +
|
|
|
+ " '合计' as `month` , " +
|
|
|
+ " sum( predict_income ) predict_income," +
|
|
|
+ " NULL as project_name, " +
|
|
|
+ " SUM( `open` ) `open`, " +
|
|
|
+ " SUM( income ) income, " +
|
|
|
+ " SUM( person ) person, " +
|
|
|
+ " SUM( person_cost ) person_cost, " +
|
|
|
+ " SUM( material ) material, " +
|
|
|
+ " SUM( other_cost ) other_cost, " +
|
|
|
+ " SUM( cost_sum ) cost_sum, " +
|
|
|
+ " SUM( taxes ) taxes, " +
|
|
|
+ " SUM( gross_profit ) gross_profit, " +
|
|
|
+ " SUM( gross_profit )/ SUM( income ) gross_margin, " +
|
|
|
+ " SUM( overhead ) overhead, " +
|
|
|
+ " SUM( corporate_income_tax ) corporate_income_tax, " +
|
|
|
+ " SUM( net_profit ) net_profit, " +
|
|
|
+ " SUM( net_profit )/ SUM( income ) net_margin " +
|
|
|
+ "FROM " +
|
|
|
+ " lanyun_project_analysis " ;
|
|
|
+ }else {
|
|
|
+ sql[0] = "SELECT " +
|
|
|
+ " `month`," +
|
|
|
+ " project_name, " +
|
|
|
+ " predict_income, " +
|
|
|
+ " `open`, " +
|
|
|
+ " income, " +
|
|
|
+ " person, " +
|
|
|
+ " person_cost, " +
|
|
|
+ " material, " +
|
|
|
+ " other_cost, " +
|
|
|
+ " cost_sum, " +
|
|
|
+ " taxes, " +
|
|
|
+ " gross_profit, " +
|
|
|
+ " gross_margin, " +
|
|
|
+ " overhead, " +
|
|
|
+ " corporate_income_tax, " +
|
|
|
+ " net_profit, " +
|
|
|
+ " net_margin " +
|
|
|
+ "FROM " +
|
|
|
+ " lanyun_project_analysis " +
|
|
|
+ " WHERE 1=1";
|
|
|
+ sql[1] = "SELECT " +
|
|
|
+ " '合计' as `month`, " +
|
|
|
+ " sum( predict_income ) predict_income," +
|
|
|
+ " NULL as project_name, " +
|
|
|
+ " SUM( `open` ) `open`, " +
|
|
|
+ " SUM( income ) income, " +
|
|
|
+ " SUM( person ) person, " +
|
|
|
+ " SUM( person_cost ) person_cost, " +
|
|
|
+ " SUM( material ) material, " +
|
|
|
+ " SUM( other_cost ) other_cost, " +
|
|
|
+ " SUM( cost_sum ) cost_sum, " +
|
|
|
+ " SUM( taxes ) taxes, " +
|
|
|
+ " SUM( gross_profit ) gross_profit, " +
|
|
|
+ " SUM( gross_profit )/ SUM( income ) gross_margin, " +
|
|
|
+ " SUM( overhead ) overhead, " +
|
|
|
+ " SUM( corporate_income_tax ) corporate_income_tax, " +
|
|
|
+ " SUM( net_profit ) net_profit, " +
|
|
|
+ " SUM( net_profit )/ SUM( income ) net_margin " +
|
|
|
+ " FROM " +
|
|
|
+ " lanyun_project_analysis " +
|
|
|
+ " WHERE 1=1 ";
|
|
|
|
|
|
- String type = UtilMap.getString(e, "selectField_lvc9x4vn");
|
|
|
+ if (data.containsKey("startDate") || data.containsKey("endDate")){
|
|
|
+ data.remove("month");
|
|
|
+ }
|
|
|
+ data.forEach((k,v)->{
|
|
|
+ if (k.equals("low") && ObjectUtil.isNotNull(v)){
|
|
|
+ sql[0] = sql[0] + " AND `net_margin` < 0.05" ;
|
|
|
+ sql[1] = sql[1] + " AND `net_margin` < 0.05" ;
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && k.equals("startDate")) {
|
|
|
+ sql[0] = sql[0] + " AND `month` >= \"" + v +"\"" ;
|
|
|
+ sql[1] = sql[1] + " AND `month` >= \"" + v +"\"" ;
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && k.equals("endDate")) {
|
|
|
+ sql[0] = sql[0] + " AND `month` <= \"" + v +"\"" ;
|
|
|
+ sql[1] = sql[1] + " AND `month` <= \"" + v +"\"" ;
|
|
|
+ } else if (ObjectUtil.isNotNull(v) && !k.equals("low")){
|
|
|
+ sql[0] = sql[0] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
+ sql[1] = sql[1] + " AND `" + k +"` = \"" + v +"\"" ;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ sql[1] = sql[1] + " GROUP BY `month` ";
|
|
|
+ sql[0] = sql[0] + " order by `month` DESC LIMIT " + pageStart + "," + pageEnd;
|
|
|
+ }
|
|
|
+// Class.forName(driver);
|
|
|
+// Connection connection = DriverManager.getConnection(url, username, password);
|
|
|
+// Statement statement = connection.createStatement();
|
|
|
+ List<ProjectAnalysis> analysisList = jdbcTemplate.query(sql[0], new ProjectAnalysisMapper());
|
|
|
+ List<ProjectAnalysis> analysisSum= jdbcTemplate.query(sql[1], new ProjectAnalysisMapper());
|
|
|
+ analysisList.add(analysisSum.get(0));
|
|
|
+ log.info("results:{}",analysisList);
|
|
|
+ if (ObjectUtil.isNotNull(analysisList)&&analysisList.size()>0){
|
|
|
+ return analysisList;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public void insertAnalysisList() {
|
|
|
+ List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formUuid("FORM-954C78969A864D95A1BC0CE9F69299E8VI38")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("radioField_m0dkcxod", "否")))
|
|
|
+ .build());
|
|
|
|
|
|
- String invoiceNo = UtilMap.getString(e, "textField_m06ij3z9");
|
|
|
- String invoiceDate = UtilMap.getString(e, "dateField_m06ij3zc");
|
|
|
- String amount = UtilMap.getString(e, "numberField_m06ij3zf");
|
|
|
- String customerName = UtilMap.getString(e, "textField_m06ij3z8");
|
|
|
- });
|
|
|
+ Connection connection = null;
|
|
|
+ PreparedStatement ps = null;
|
|
|
+ try {
|
|
|
+ Class.forName(driver);
|
|
|
+ connection = DriverManager.getConnection(url, username, password);
|
|
|
+ String sql = "INSERT INTO `lanyun_project_analysis`(`project_name`, `belong_project`, `month`, " +
|
|
|
+ "`status`, `predict_income`, `open`, `income`, `person`, `person_cost`, `material`, `other_cost`, " +
|
|
|
+ "`cost_sum`, `taxes`, `gross_profit`, `gross_margin`, `overhead`, `corporate_income_tax`, `net_profit`, " +
|
|
|
+ "`net_margin`, `format`, `customer_system`, `profit_loss`, `approach_date`, `level`, `notes`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
|
|
|
|
|
|
+ ps = connection.prepareStatement(sql);
|
|
|
+ for (int i = 0; i < dataList.size(); i++) {
|
|
|
+ ps.setObject(1,dataList.get(i).get("textField_dliiyul"));
|
|
|
+ ps.setObject(2,dataList.get(i).get("textField_bheotm5"));
|
|
|
+ ps.setObject(3,dataList.get(i).get("dateField_lcwv382"));
|
|
|
+ ps.setObject(4,dataList.get(i).get("textField_pa6o780"));
|
|
|
+ ps.setObject(5,dataList.get(i).get("numberField_5wyyb42"));
|
|
|
+ ps.setObject(6,dataList.get(i).get("numberField_c4acnrg"));
|
|
|
+ ps.setObject(7,dataList.get(i).get("numberField_zjdki9k"));
|
|
|
+ ps.setObject(8,dataList.get(i).get("numberField_hg6jznm"));
|
|
|
+ ps.setObject(9,dataList.get(i).get("numberField_7ga9c5w"));
|
|
|
+ ps.setObject(10,dataList.get(i).get("numberField_c3cqsfv"));
|
|
|
+ ps.setObject(11,dataList.get(i).get("numberField_avaexyf"));
|
|
|
+ ps.setObject(12,dataList.get(i).get("numberField_gub2ul5"));
|
|
|
+ ps.setObject(13,dataList.get(i).get("numberField_hqiac12"));
|
|
|
+ ps.setObject(14,dataList.get(i).get("numberField_lz6mt3xq"));
|
|
|
+ ps.setObject(15,dataList.get(i).get("numberField_lz9n3fm9"));
|
|
|
+ ps.setObject(16,dataList.get(i).get("numberField_ln701sy"));
|
|
|
+ ps.setObject(17,dataList.get(i).get("numberField_fmhzxdr"));
|
|
|
+ ps.setObject(18,dataList.get(i).get("numberField_lz6mt3xr"));
|
|
|
+ ps.setObject(19,dataList.get(i).get("numberField_lz9n3fma"));
|
|
|
+ ps.setObject(20,dataList.get(i).get("textField_tpb3m2f"));
|
|
|
+ ps.setObject(21,dataList.get(i).get("textField_2adicsn"));
|
|
|
+ double net_margin = Double.parseDouble(dataList.get(i).get("numberField_lz9n3fma").toString());
|
|
|
+ String profit_loss = "";
|
|
|
+ if (net_margin < 0){
|
|
|
+ profit_loss = "亏损";
|
|
|
+ }else if (net_margin >=0 && net_margin <=0.05){
|
|
|
+ profit_loss = "净利较低";
|
|
|
+ }else if(net_margin > 0.05){
|
|
|
+ profit_loss = "盈利";
|
|
|
+ }
|
|
|
+ ps.setObject(22,dataList.get(i).get("textField_1yw4mx4") == null ? null : profit_loss);
|
|
|
+ ps.setObject(23,dataList.get(i).get("dateField_ji5yfvf"));
|
|
|
+ ps.setObject(24,dataList.get(i).get("textField_h2qx5nz"));
|
|
|
+ ps.setObject(25,dataList.get(i).get("textField_35paoph"));
|
|
|
+ ps.addBatch();
|
|
|
+ if (i%500==0){
|
|
|
+ ps.executeBatch();
|
|
|
+ ps.clearBatch();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ps.executeBatch();
|
|
|
+ connection.close();
|
|
|
+ } catch (Exception exception) {
|
|
|
+ throw new RuntimeException(exception);
|
|
|
+ }
|
|
|
+ dataList.forEach(e->{
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formInstanceId(UtilMap.getString(e, "formInstanceId"))
|
|
|
+// .useLatestVersion(true)
|
|
|
+// .updateFormDataJson(JSONObject.toJSONString(new HashMap<>()))
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("radioField_m0dkcxod", "是")))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
+ });
|
|
|
}
|
|
|
}
|