BankNameServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.malk.ruisi.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.malk.ruisi.service.BankNameService;
  4. import com.malk.server.aliwork.YDConf;
  5. import com.malk.server.aliwork.YDParam;
  6. import com.malk.server.aliwork.YDR;
  7. import com.malk.server.common.VenR;
  8. import com.malk.server.dingtalk.DDConf;
  9. import com.malk.server.dingtalk.DDR_New;
  10. import com.malk.service.aliwork.YDClient;
  11. import com.malk.service.dingtalk.DDClient;
  12. import com.malk.utils.UtilHttp;
  13. import com.malk.utils.UtilMap;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.apache.ibatis.annotations.Select;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import java.sql.Connection;
  19. import java.sql.DriverManager;
  20. import java.sql.ResultSet;
  21. import java.sql.Statement;
  22. import java.util.ArrayList;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. import java.util.Map;
  26. @Service
  27. @Slf4j
  28. public class BankNameServiceImpl implements BankNameService {
  29. @Autowired
  30. private YDClient ydClient;
  31. @Autowired
  32. private DDClient ddClient;
  33. @Autowired
  34. private YDConf ydConf;
  35. @Autowired
  36. private DDConf ddConf;
  37. @Override
  38. public void BankName() {
  39. //1、数据库
  40. List<Map> bankList = new ArrayList<>();
  41. String sql = "SELECT * FROM V_BE_BEBANK";
  42. String jdbcUrl = "jdbc:oracle:thin:@10.30.53.26:1521:orcldb";
  43. String userName = "riverdeep86";
  44. String password = "riverdeep86";
  45. try{
  46. Class.forName("oracle.jdbc.driver.OracleDriver");
  47. Connection conn = DriverManager.getConnection(jdbcUrl, userName, password);
  48. Statement statement = conn.createStatement();
  49. ResultSet resultSet = statement.executeQuery(sql);
  50. int i=0;
  51. while (resultSet.next()){
  52. i++;
  53. System.out.println(i+"-"+resultSet.getFetchSize());
  54. System.out.println(resultSet.getString("FNUMBER"));
  55. String fid = resultSet.getString("FID");
  56. String funmber = resultSet.getString("FNUMBER");
  57. String fnameL2 = resultSet.getString("FNAME_L2");
  58. String flastupdatetime = resultSet.getString("FLASTUPDATETIME");
  59. HashMap<String, Object> bankmap = new HashMap<>();
  60. bankmap.put("FID",fid);
  61. bankmap.put("FNUMBER",funmber);
  62. bankmap.put("FNAME_L2",fnameL2);
  63. bankmap.put("FLASTUPDATETIME",flastupdatetime);
  64. bankList.add(bankmap);
  65. }
  66. resultSet.close();
  67. statement.close();
  68. conn.close();
  69. }catch (Exception e){
  70. e.printStackTrace();
  71. }
  72. //异常处理集合
  73. ArrayList<Object> list1 = new ArrayList<>();
  74. int i=0;
  75. //2、操作数据
  76. for (Map bank : bankList) {
  77. i++;
  78. log.info("{}/{}",i,bankList.size());
  79. String sc = "textField_lvkosqky, textField_luaz6x59, textField_luaz6x5a, textField_lvkosqkz";
  80. String FID = bank.get("FID").toString()!=null?bank.get("FID").toString():"数据库此字段为空";
  81. String FNUMBER = bank.get("FNUMBER").toString()!=null?bank.get("FNUMBER").toString():"数据库此字段为空";
  82. String FNAME = bank.get("FNAME_L2").toString()!=null?bank.get("FNAME_L2").toString():"数据库此字段为空";
  83. String FLASTUPDATETIME = bank.get("FLASTUPDATETIME").toString()!=null?bank.get("FLASTUPDATETIME").toString():"数据库此字段为空";
  84. try{
  85. /*List<Map> list=(List<Map>) ydClient.queryData(YDParam.builder().formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT")
  86. .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_lvkosqky",bank.get("FID"))))
  87. .build(), YDConf.FORM_QUERY.retrieve_list).getData();
  88. String s = convertToJson(bank.get("FID").toString()!=null?bank.get("FID").toString():"数据库此字段为空", bank.get("FNUMBER").toString()!=null?bank.get("FNUMBER").toString():"数据库此字段为空",
  89. bank.get("FNAME_L2").toString()!=null?bank.get("FNAME_L2").toString():"数据库此字段为空", bank.get("FLASTUPDATETIME").toString()!= null?bank.get("FLASTUPDATETIME").toString():"数据库此字段为空");
  90. if(list!=null&&list.size()>0){
  91. ydClient.operateData(YDParam.builder().formInstanceId(list.get(0).get("formInstanceId").toString()).updateFormDataJson(s).build(), YDConf.FORM_OPERATION.update);
  92. }else{
  93. ydClient.operateData(YDParam.builder().formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT").formDataJson(s).build(), YDConf.FORM_OPERATION.create);
  94. }*/
  95. String string = ydClient.operateData(YDParam.builder()
  96. .formUuid("FORM-72E05C080017421A8E22B36A8835847AARFT")
  97. .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_lvkosqky",FID)))
  98. .formDataJson(JSONObject.toJSONString(UtilMap.map(sc, FID, FNUMBER, FNAME,FLASTUPDATETIME)))
  99. .build(), YDConf.FORM_OPERATION.upsert).toString();
  100. System.out.println("数据:"+string);
  101. }catch (Exception e){//异常处理-----------
  102. e.printStackTrace();
  103. log.info("bank:{}",bank);
  104. list1.add(bank);//存放错误信息
  105. }
  106. }
  107. log.info("异常数据集合:{}",list1);
  108. }
  109. /*字段封装方法*/
  110. public static String convertToJson(String fid, String fnumber, String fnameL2, String flastupdatetime) {
  111. // 创建一个JSONObject来保存数据
  112. JSONObject jsonObject = new JSONObject();
  113. jsonObject.put("textField_lvkosqky", fid);
  114. jsonObject.put("textField_luaz6x59", fnumber);
  115. jsonObject.put("textField_luaz6x5a", fnameL2);
  116. jsonObject.put("textField_lvkosqkz", flastupdatetime);
  117. // 将JSONObject转换为JSON字符串
  118. String jsonString = jsonObject.toString();
  119. // 返回JSON字符串
  120. return jsonString;
  121. }
  122. }