STKServiceImpl.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. package com.uas.eis.service.Impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.serializer.SerializerFeature;
  6. import com.uas.eis.core.config.SpObserver;
  7. import com.uas.eis.dao.BaseDao;
  8. import com.uas.eis.dao.SqlRowList;
  9. import com.uas.eis.sdk.dto.*;
  10. import com.uas.eis.sdk.entity.ApiResult;
  11. import com.uas.eis.sdk.resp.ApiResponse;
  12. import com.uas.eis.service.RequestSTKService;
  13. import com.uas.eis.service.STKService;
  14. import com.uas.eis.utils.*;
  15. import com.uas.eis.vo.stkVo.*;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.beans.factory.annotation.Value;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.util.CollectionUtils;
  22. import org.springframework.util.StringUtils;
  23. import javax.servlet.http.HttpServletRequest;
  24. import java.io.IOException;
  25. import java.util.*;
  26. /**
  27. * @author zhuxl
  28. * @date 2024-10-12
  29. */
  30. @Service
  31. public class STKServiceImpl implements STKService {
  32. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  33. @Autowired
  34. private BaseDao baseDao;
  35. @Autowired
  36. private RequestSTKService requestSTKService;
  37. @Override
  38. public ApiResult<String> getAssistBalanceCount(HttpServletRequest request, AssistBalanceDTO dto) {
  39. String yearmonth = dto.getYearMonth();
  40. boolean bool = baseDao.checkIf("PeriodsDetail", "pd_code='MONTH-A' and pd_status=99 and pd_detno='"+yearmonth+"'");
  41. if (bool) {
  42. int batch_no = baseDao.getSeqId("STK_ASSISTBALANCE2_SEQ");
  43. String res = baseDao.callProcedure("SP_INSER_ASSISTBALANCE",
  44. new Object[] {batch_no,yearmonth});
  45. if (res != null && !res.trim().equals("")) {
  46. return ApiResponse.successRsp("1",res,request.getHeader("RequestId"),null);
  47. }else{
  48. int count = baseDao.getCount("select count(1) from STK_ASSISTBALANCE where FPERIODNAME='" + yearmonth + "'");
  49. BalanceCountDTO balanceCountDTO = new BalanceCountDTO();
  50. balanceCountDTO.setYearMonth(yearmonth);
  51. balanceCountDTO.setBatch_no(batch_no);
  52. balanceCountDTO.setCount(count);
  53. String s = JSON.toJSONString(balanceCountDTO, SerializerFeature.WriteMapNullValue);
  54. return ApiResponse.successRsp("1",null,request.getHeader("RequestId"),s);
  55. }
  56. }else{
  57. return ApiResponse.successRsp("2001","当前期间未结账!",request.getHeader("RequestId"),null);
  58. }
  59. }
  60. @Override
  61. public ApiResult<String> getAssistBalance(HttpServletRequest request, AssistBalanceDTO dto) {
  62. String yearmonth = dto.getYearMonth();
  63. String batch_no = dto.getBatch_no();
  64. int pageNum = Integer.valueOf(dto.getPageNum());
  65. int pageSize = Integer.valueOf(dto.getPageSize());
  66. int start = ((pageNum - 1) * pageSize + 1);
  67. int end = pageNum * pageSize;
  68. boolean bool = baseDao.checkIf("PeriodsDetail", "pd_code='MONTH-A' and pd_status=99 and pd_detno='"+yearmonth+"'");
  69. if (bool) {
  70. List<BalanceDTO> balanceDTO = baseDao.query("SELECT fid,fssno,fsoid,forgunitno,forgunitname,fperiodname,fcurrencyname,forginalcname,faccountno,faccountname," +
  71. " fassistgrptype,fassistgrpno1,fassistgrpname1," +
  72. " fassistgrpno2,fassistgrpname2," +
  73. " fbeginbalancefor,fbeginbalancelocal," +
  74. " fcreditfor,fcreditlocal,fdebitfor,fdebitlocal," +
  75. " fendbalancefor,fendbalancelocal," +
  76. " fyearpnlfor,fyearpnllocal," +
  77. " fyeardebitfor,fyeardebitlocal,fyearcreditfor,fyearcreditlocal," +
  78. " faccoccurfor,faccoccurlocal," +
  79. " to_char(fmodifytime,'yyyy-mm-dd hh24:mi:ss') fmodifytime,to_char(flockintime,'yyyy-mm-dd hh24:mi:ss') flockintime," +
  80. " fdisablelabel,fdatamode,fbilltype,batch_no from stk_assistbalance " +
  81. "WHERE batch_no ="+batch_no+" and FPERIODNAME = '"+yearmonth +"' and QUERYDETNO >= " +start+ " and QUERYDETNO <= " + end, BalanceDTO.class);
  82. //String s = JSON.toJSONString(rs.getResultList(), SerializerFeature.WriteMapNullValue);
  83. String s = JSON.toJSONString(balanceDTO, SerializerFeature.WriteMapNullValue);
  84. return ApiResponse.successRsp("1",null,request.getHeader("RequestId"),s);
  85. }else{
  86. return ApiResponse.successRsp("2001","当前期间未结账!",request.getHeader("RequestId"),null);
  87. }
  88. }
  89. @Override
  90. public ApiResult<String> getCashFlowCount(HttpServletRequest request, AssistBalanceDTO dto) {
  91. String yearmonth = dto.getYearMonth();
  92. boolean bool = baseDao.checkIf("PeriodsDetail", "pd_code='MONTH-A' and pd_status=99 and pd_detno='"+yearmonth+"'");
  93. if (bool) {
  94. int batch_no = baseDao.getSeqId("STK_CASHFLOW2_SEQ");
  95. String res = baseDao.callProcedure("SP_INSER_CASHFLOW",
  96. new Object[] {batch_no,yearmonth});
  97. if (res != null && !res.trim().equals("")) {
  98. return ApiResponse.successRsp("2001",res,request.getHeader("RequestId"),null);
  99. }else{
  100. int count = baseDao.getCount("select count(1) from STK_CASHFLOW where FPERIODNAME='" + yearmonth + "'");
  101. BalanceCountDTO balanceCountDTO = new BalanceCountDTO();
  102. balanceCountDTO.setYearMonth(yearmonth);
  103. balanceCountDTO.setBatch_no(batch_no);
  104. balanceCountDTO.setCount(count);
  105. String s = JSON.toJSONString(balanceCountDTO, SerializerFeature.WriteMapNullValue);
  106. return ApiResponse.successRsp("1",null,request.getHeader("RequestId"),s);
  107. }
  108. }else{
  109. return ApiResponse.successRsp("2001","当前期间未结账!",request.getHeader("RequestId"),null);
  110. }
  111. }
  112. @Override
  113. public ApiResult<String> getCashFlow(HttpServletRequest request, AssistBalanceDTO dto) {
  114. String yearmonth = dto.getYearMonth();
  115. String batch_no = dto.getBatch_no();
  116. int pageNum = Integer.valueOf(dto.getPageNum());
  117. int pageSize = Integer.valueOf(dto.getPageSize());
  118. int start = ((pageNum - 1) * pageSize + 1);
  119. int end = pageNum * pageSize;
  120. boolean bool = baseDao.checkIf("PeriodsDetail", "pd_code='MONTH-A' and pd_status=99 and pd_detno='"+yearmonth+"'");
  121. if (bool) {
  122. List<CashFlowDTO> cashFlowDTO = baseDao.query("SELECT fid,fssno,fsoid,forgunitno,forgunitname,fperiodname,fcurrencyname,forginalcname,faccountno,faccountname," +
  123. " fassistgrptype,fassistgrpno1,fassistgrpname1," +
  124. " fassistgrpno2,fassistgrpname2," +
  125. " fytdamt,fytdlocalamt," +
  126. " fmodifytime,flockintime,fdisablelabel,fdatamode,batch_no from STK_CASHFLOW " +
  127. "WHERE batch_no ="+batch_no+" and FPERIODNAME = '"+yearmonth +"' and QUERYDETNO >= " +start+ " and QUERYDETNO <= " + end, CashFlowDTO.class);
  128. //String s = JSON.toJSONString(rs.getResultList(), SerializerFeature.WriteMapNullValue);
  129. String s = JSON.toJSONString(cashFlowDTO, SerializerFeature.WriteMapNullValue);
  130. return ApiResponse.successRsp("1",null,request.getHeader("RequestId"),s);
  131. }else{
  132. return ApiResponse.successRsp("2001","当前期间未结账!",request.getHeader("RequestId"),null);
  133. }
  134. }
  135. @Override
  136. public ApiResult<String> updateCustVend(UpdateCustVendDTO dto) {
  137. int vid = dto.getVid();
  138. String vtype = dto.getVtype();
  139. //查询出的新增,变更数据
  140. List<SaveOrChangeCustomerDetailDto> sourceDataList = new ArrayList<>();
  141. if ("客户".equals(vtype)) {
  142. SqlRowList cust = baseDao
  143. .queryForRowSet("select * from Customer left join STK_CUSTVEND on cu_businesscode = uid2 where cu_id="
  144. + vid + "");
  145. while (cust.next()) {
  146. SaveOrChangeCustomerDetailDto sourcedao = new SaveOrChangeCustomerDetailDto();
  147. sourcedao.setS_CODE(cust.getString("CU_CODE"));
  148. sourcedao.setNAME(cust.getString("CU_NAME"));
  149. sourcedao.setUID_TYPE(cust.getString("UID_TYPE"));
  150. sourcedao.setUID(cust.getString("CU_BUSINESSCODE"));
  151. sourcedao.setCUSTOMER_TYPE(cust.getString("CUSTOMER_TYPE"));
  152. sourcedao.setIS_VALID(cust.getString("IS_VALID"));
  153. sourcedao.setCREATED_ORG(cust.getString("CREATED_ORG"));
  154. sourcedao.setCREATED_SYSTEM(cust.getString("CREATED_SYSTEM"));
  155. sourcedao.setISTEMPORARY(cust.getString("ISTEMPORARY"));
  156. sourceDataList.add(sourcedao);
  157. }
  158. }else{
  159. SqlRowList vend = baseDao
  160. .queryForRowSet("select * from Vendor left join STK_CUSTVEND on ve_webserver = uid2 where ve_id="
  161. + vid + "");
  162. while (vend.next()) {
  163. SaveOrChangeCustomerDetailDto sourcedao = new SaveOrChangeCustomerDetailDto();
  164. sourcedao.setS_CODE(vend.getString("CU_CODE"));
  165. sourcedao.setNAME(vend.getString("CU_NAME"));
  166. sourcedao.setUID_TYPE(vend.getString("UID_TYPE"));
  167. sourcedao.setUID(vend.getString("VE_WEBSERVER"));
  168. sourcedao.setCUSTOMER_TYPE(vend.getString("CUSTOMER_TYPE"));
  169. sourcedao.setIS_VALID(vend.getString("IS_VALID"));
  170. sourcedao.setCREATED_ORG(vend.getString("CREATED_ORG"));
  171. sourcedao.setCREATED_SYSTEM(vend.getString("CREATED_SYSTEM"));
  172. sourcedao.setISTEMPORARY(vend.getString("ISTEMPORARY"));
  173. sourceDataList.add(sourcedao);
  174. }
  175. }
  176. List<SaveOrChangeCustomerDataVo> changeCustomerVos = new ArrayList<>();
  177. //调用深投控api接口
  178. for(SaveOrChangeCustomerDetailDto detailDto : sourceDataList){
  179. SaveOrChangeCustomerDataVo saveOrChangeCustomerVo = null;
  180. try {
  181. logger.info("开始调用客商api");
  182. saveOrChangeCustomerVo = requestSTKService.updateKSPostParam(detailDto);
  183. } catch (Exception e) {
  184. e.printStackTrace();
  185. }
  186. changeCustomerVos.add(saveOrChangeCustomerVo);
  187. }
  188. ApiResult result = new ApiResult();
  189. return result.setData(changeCustomerVos);
  190. }
  191. @Override
  192. public ApiResult<String> getAssistBalanceCountTest(HttpServletRequest request, AssistBalanceDTO dto) {
  193. //取yearMonth
  194. String yearMonth = dto.getYearMonth();
  195. System.out.println("body参数打印:"+dto.getYearMonth());
  196. //获取header参数
  197. Map<String,String> headerMap = getHeaderParams(request);
  198. System.out.println("header参数:【AccessKey:"+headerMap.get("AccessKey")+",Timestamp:"+headerMap.get("Timestamp")
  199. +",RequestId:"+headerMap.get("RequestId")+",Signature:"+headerMap.get("Signature")+"】");
  200. return null;
  201. }
  202. //客商信息
  203. @Override
  204. public void getCustvend(TravellingMerchantVo travellingMerchantVo , Boolean isdelete) {
  205. if(null == travellingMerchantVo.getData() || CollectionUtils.isEmpty(travellingMerchantVo.getData().getList())){
  206. return ;
  207. }
  208. List<CustvendDTO> custvendDTOS = travellingMerchantVo.getData().getList();
  209. List<String> sqls = new ArrayList<>();
  210. if (isdelete) {
  211. sqls.add("delete from STK_CUSTVEND2");
  212. }
  213. for (int i = 0; i < custvendDTOS.size(); i++) {
  214. sqls.add("insert into STK_CUSTVEND2(ID,S_ID,S_CODE,NAME,UID_TYPE,UID2,CUSTOMER_TYPE,IS_VALID,CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY,MDM_CODE,REG_COUNTRY, " +
  215. "REG_PLACE,REG_REP,REG_CAPTIAL,REG_PERIOD,REG_BIZSCOPE," +
  216. "REG_FOUNDEDDATE," +
  217. "REG_URL,REG_ADDRESS," +
  218. "CREAT_TIME," +
  219. "UPDATE_TIME,SERIAL) " +
  220. "values ("+custvendDTOS.get(i).getId()+","+custvendDTOS.get(i).getS_id()+",'"+custvendDTOS.get(i).getS_code()+"','"+custvendDTOS.get(i).getName()+"'" +
  221. ",'"+custvendDTOS.get(i).getUid_type()+"','"+custvendDTOS.get(i).getUid()+"','"+custvendDTOS.get(i).getCustomer_type()+"','"+custvendDTOS.get(i).getIs_valid()+"'" +
  222. ",'"+custvendDTOS.get(i).getCreated_org()+"','"+custvendDTOS.get(i).getCreated_system()+"','"+custvendDTOS.get(i).getIstemporary()+"','"+custvendDTOS.get(i).getMdm_code()+"','"+custvendDTOS.get(i).getReg_country()+"'" +
  223. ",'"+custvendDTOS.get(i).getReg_place()+"','"+custvendDTOS.get(i).getReg_rep()+"','"+custvendDTOS.get(i).getReg_captial()+"','"+custvendDTOS.get(i).getReg_period()+"','"+custvendDTOS.get(i).getReg_bizscope()+"'" +
  224. ",case when '"+custvendDTOS.get(i).getReg_foundeddate()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getReg_foundeddate()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  225. ",'"+custvendDTOS.get(i).getReg_url()+"','"+custvendDTOS.get(i).getReg_address()+"'" +
  226. ",case when '"+custvendDTOS.get(i).getCreat_time()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getCreat_time()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  227. ",case when '"+custvendDTOS.get(i).getUpdate_time()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getUpdate_time()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end,'"+custvendDTOS.get(i).getSerial()+"')");
  228. sqls.add("update STK_CUSTVEND2 set UID_TYPENAME = case when UID_TYPE = '01' then '统一社会信用代码' when UID_TYPE = '02' then '邓氏编码' " +
  229. "when UID_TYPE = '03' then '身份证号码(大陆)' when UID_TYPE = '04' then '护照号码(包括港澳身份证号码)' when UID_TYPE = '06' then '身份证护照组合' " +
  230. "when UID_TYPE = '99' then '其他编码' end where id = " + custvendDTOS.get(i).getId());
  231. sqls.add("update STK_CUSTVEND2 set CUSTOMER_TYPENAME = case when CUSTOMER_TYPE = 'C0201' then '单位客户' when CUSTOMER_TYPE = 'C0202' then '个人客户' " +
  232. "when CUSTOMER_TYPE = 'S0201' then '单位供应商' when CUSTOMER_TYPE = 'S0202' then '个人供应商' end where id = " + custvendDTOS.get(i).getId());
  233. sqls.add("update STK_CUSTVEND2 set IS_VALIDNAME = case when IS_VALID = '1' then '有效' else '无效' end, " +
  234. "ISTEMPORARYNAME = case when ISTEMPORARY = '1' then '是' else '否' end where id = " + custvendDTOS.get(i).getId());
  235. }
  236. baseDao.execute(sqls);
  237. }
  238. //客商信息(当天)
  239. @Override
  240. public void getCustvendDay(TravellingMerchantVo travellingMerchantVo , Boolean isdelete) {
  241. if(null == travellingMerchantVo.getData() || CollectionUtils.isEmpty(travellingMerchantVo.getData().getList())){
  242. return ;
  243. }
  244. List<CustvendDTO> custvendDTOS = travellingMerchantVo.getData().getList();
  245. List<String> sqls = new ArrayList<>();
  246. for (int i = 0; i < custvendDTOS.size(); i++) {
  247. sqls.add("delete from STK_CUSTVEND2 where id = " + custvendDTOS.get(i).getId());
  248. sqls.add("insert into STK_CUSTVEND2(ID,S_ID,S_CODE,NAME,UID_TYPE,UID2,CUSTOMER_TYPE,IS_VALID,CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY,MDM_CODE,REG_COUNTRY, " +
  249. "REG_PLACE,REG_REP,REG_CAPTIAL,REG_PERIOD,REG_BIZSCOPE," +
  250. "REG_FOUNDEDDATE," +
  251. "REG_URL,REG_ADDRESS," +
  252. "CREAT_TIME," +
  253. "UPDATE_TIME,SERIAL) " +
  254. "values ("+custvendDTOS.get(i).getId()+","+custvendDTOS.get(i).getS_id()+",'"+custvendDTOS.get(i).getS_code()+"','"+custvendDTOS.get(i).getName()+"'" +
  255. ",'"+custvendDTOS.get(i).getUid_type()+"','"+custvendDTOS.get(i).getUid()+"','"+custvendDTOS.get(i).getCustomer_type()+"','"+custvendDTOS.get(i).getIs_valid()+"'" +
  256. ",'"+custvendDTOS.get(i).getCreated_org()+"','"+custvendDTOS.get(i).getCreated_system()+"','"+custvendDTOS.get(i).getIstemporary()+"','"+custvendDTOS.get(i).getMdm_code()+"','"+custvendDTOS.get(i).getReg_country()+"'" +
  257. ",'"+custvendDTOS.get(i).getReg_place()+"','"+custvendDTOS.get(i).getReg_rep()+"','"+custvendDTOS.get(i).getReg_captial()+"','"+custvendDTOS.get(i).getReg_period()+"','"+custvendDTOS.get(i).getReg_bizscope()+"'" +
  258. ",case when '"+custvendDTOS.get(i).getReg_foundeddate()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getReg_foundeddate()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  259. ",'"+custvendDTOS.get(i).getReg_url()+"','"+custvendDTOS.get(i).getReg_address()+"'" +
  260. ",case when '"+custvendDTOS.get(i).getCreat_time()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getCreat_time()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  261. ",case when '"+custvendDTOS.get(i).getUpdate_time()+"' = 'null' then null else to_date(to_char(to_timestamp('"+custvendDTOS.get(i).getUpdate_time()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end,'"+custvendDTOS.get(i).getSerial()+"')");
  262. sqls.add("update STK_CUSTVEND2 set UID_TYPENAME = case when UID_TYPE = '01' then '统一社会信用代码' when UID_TYPE = '02' then '邓氏编码' " +
  263. "when UID_TYPE = '03' then '身份证号码(大陆)' when UID_TYPE = '04' then '护照号码(包括港澳身份证号码)' when UID_TYPE = '06' then '身份证护照组合' " +
  264. "when UID_TYPE = '99' then '其他编码' end where id = " + custvendDTOS.get(i).getId());
  265. sqls.add("update STK_CUSTVEND2 set CUSTOMER_TYPENAME = case when CUSTOMER_TYPE = 'C0201' then '单位客户' when CUSTOMER_TYPE = 'C0202' then '个人客户' " +
  266. "when CUSTOMER_TYPE = 'S0201' then '单位供应商' when CUSTOMER_TYPE = 'S0202' then '个人供应商' end where id = " + custvendDTOS.get(i).getId());
  267. sqls.add("update STK_CUSTVEND2 set IS_VALIDNAME = case when IS_VALID = '1' then '有效' else '无效' end, " +
  268. "ISTEMPORARYNAME = case when ISTEMPORARY = '1' then '是' else '否' end where id = " + custvendDTOS.get(i).getId());
  269. }
  270. baseDao.execute(sqls);
  271. }
  272. //获取现金流
  273. @Override
  274. public void getCashFlowItems(CashFlowItemsVo cashFlowItemsVo , Boolean isdelete) {
  275. if(null == cashFlowItemsVo.getData()){
  276. return ;
  277. }
  278. List<CashFlowItemsDataVo> cashFlowItemsDataVo = cashFlowItemsVo.getData().getList();
  279. List<String> sqls = new ArrayList<>();
  280. if (isdelete) {
  281. sqls.add("delete from STK_CASHFLOWDJ");
  282. }
  283. for (int i = 0; i < cashFlowItemsDataVo.size(); i++) {
  284. sqls.add("delete from STK_CASHFLOWDJ where id = " + cashFlowItemsDataVo.get(i).getID());
  285. sqls.add("insert into STK_CASHFLOWDJ(ID,NUMBER2,CODE,NAME,LONGNUMBER,LEVEL2,FULLNAME,ISLEAF,CTRLSTRATEGY,SOURCEDATA,BITINDEX,SRCINDEX," +
  286. "TYPE,DIRECTION,ISDEALACTIVITY,ISEXCHANGERATE,ISPREFIT,NOTICE,CHECKITEMHELP,ISASSIST,ISSCHEDULEITEM,MODIFIER_NUMBER," +
  287. "MODIFIER_NAME,CREATEORG_NUMBER,ORG_NUMBER,ORG_NAME,USEORG_NUMBER,USEORG_NAME,STATUS,ENABLE," +
  288. "CREATE_TIME," +
  289. "UPDATE_IME," +
  290. "SOURCE,ASSISTENTRY) " +
  291. "values ("+cashFlowItemsDataVo.get(i).getID()+",'"+cashFlowItemsDataVo.get(i).getNUMBER()+"','"+cashFlowItemsDataVo.get(i).getCODE()+"','"+cashFlowItemsDataVo.get(i).getNAME()+"'" +
  292. ",'"+cashFlowItemsDataVo.get(i).getLONGNUMBER()+"','"+cashFlowItemsDataVo.get(i).getLEVEL()+"','"+cashFlowItemsDataVo.get(i).getFULLNAME()+"','"+cashFlowItemsDataVo.get(i).getISLEAF()+"'" +
  293. ",'"+cashFlowItemsDataVo.get(i).getCTRLSTRATEGY()+"','"+cashFlowItemsDataVo.get(i).getSOURCEDATA()+"','"+cashFlowItemsDataVo.get(i).getBITINDEX()+"','"+cashFlowItemsDataVo.get(i).getSRCINDEX()+"'" +
  294. ",'"+cashFlowItemsDataVo.get(i).getTYPE()+"','"+cashFlowItemsDataVo.get(i).getDIRECTION()+"','"+cashFlowItemsDataVo.get(i).getISDEALACTIVITY()+"','"+cashFlowItemsDataVo.get(i).getISEXCHANGERATE()+"','"+cashFlowItemsDataVo.get(i).getISPREFIT()+"','"+cashFlowItemsDataVo.get(i).getNOTICE()+"'" +
  295. ",'"+cashFlowItemsDataVo.get(i).getCHECKITEMHELP()+"','"+cashFlowItemsDataVo.get(i).getISASSIST()+"','"+cashFlowItemsDataVo.get(i).getISSCHEDULEITEM()+"','"+cashFlowItemsDataVo.get(i).getMODIFIER_NUMBER()+"'" +
  296. ",'"+cashFlowItemsDataVo.get(i).getMODIFIER_NAME()+"','"+cashFlowItemsDataVo.get(i).getCREATEORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getORG_NAME()+"'" +
  297. ",'"+cashFlowItemsDataVo.get(i).getUSEORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getUSEORG_NAME()+"','"+cashFlowItemsDataVo.get(i).getSTATUS()+"','"+cashFlowItemsDataVo.get(i).getENABLE()+"'" +
  298. ",case when '"+cashFlowItemsDataVo.get(i).getCREATE_TIME()+"' = 'null' then null else to_date(to_char(to_timestamp('"+cashFlowItemsDataVo.get(i).getCREATE_TIME()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  299. ",case when '"+cashFlowItemsDataVo.get(i).getUPDATE_IME()+"' = 'null' then null else to_date(to_char(to_timestamp('"+cashFlowItemsDataVo.get(i).getUPDATE_IME()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  300. //",'"+cashFlowItemsDataVo.get(i).getSOURCE()+"','"+cashFlowItemsDataVo.get(i).getASSISTENTRY()+"')");
  301. ",'"+cashFlowItemsDataVo.get(i).getSOURCE()+"','')");
  302. }
  303. baseDao.execute(sqls);
  304. }
  305. //获取会计科目
  306. @Override
  307. public void getAccountantProject(AccountantProjectVo accountantProjectVo , Boolean isdelete) {
  308. if(null == accountantProjectVo.getData()){
  309. return ;
  310. }
  311. List<AccountantProjectDataVo> accountantProjectDataVo = accountantProjectVo.getData().getList();
  312. List<String> sqls = new ArrayList<>();
  313. if (isdelete) {
  314. sqls.add("delete from STK_CATEGORYDJ");
  315. }
  316. for (int i = 0; i < accountantProjectDataVo.size(); i++) {
  317. sqls.add("delete from STK_CATEGORYDJ where id = " + accountantProjectDataVo.get(i).getID());
  318. sqls.add("insert into STK_CATEGORYDJ(ID,S_ID,S_NUMBER,CODE,NAME,PARENTID,S_PARENTNUM,PARENTCODE,PARENTNAME,LONGNUMBER,LONGNAME,LEVEL2,ISLEAF,ACCOUNTTABLENUMBER,ACCOUNTTABLENAME,ACCOUNTTYPENUMBER,ACCOUNTTYPENAME," +
  319. "PLTYPE,DC,ACCRUALDIRECTION,ISCASH,ISBANK,ISCASHEQUIVALENT,ACNOTICE,ISCHANGECURRENCY,BW,ISQTY,ISASSIST,NOCURRENCYRADIO,DESCURRENCYRADIO,ALLCURRENCYRADIO,ACCTCURRENCY,HELPCODE,ISALLOWCA,ORGCONTROLLEVEL,ISMANUAL,ACCHECK,ISJOURNAL," +
  320. "STARTDATE," +
  321. "ENDDATE," +
  322. "MREUTYPENUMBER,MREUTYPENAME,MEASUREUNITCNUM,MEASUREUNITNAME,CREATEORGCODE,CREATEORGNAME,ORG_NUMBER,ORG_NAME,USEORG_NUMBER,USEORG_NAME,CTRLSTRATEGY,STATUS,ENABLE," +
  323. "CREATE_TIME," +
  324. "UPDATE_TIME," +
  325. "DISABLEDATE," +
  326. "SOURCE,ENTRYCHECKITEM,ENTRYCURRENCY) " +
  327. "values ("+accountantProjectDataVo.get(i).getID()+",'"+accountantProjectDataVo.get(i).getS_ID()+"','"+accountantProjectDataVo.get(i).getS_NUMBER()+"','"+accountantProjectDataVo.get(i).getCODE()+"','"+accountantProjectDataVo.get(i).getNAME()+"'" +
  328. ",'"+accountantProjectDataVo.get(i).getPARENTID()+"','"+accountantProjectDataVo.get(i).getS_PARENTNUM()+"','"+accountantProjectDataVo.get(i).getPARENTCODE()+"','"+accountantProjectDataVo.get(i).getPARENTNAME()+"'" +
  329. ",'"+accountantProjectDataVo.get(i).getLONGNUMBER()+"','"+accountantProjectDataVo.get(i).getLONGNAME()+"','"+accountantProjectDataVo.get(i).getLEVEL()+"','"+accountantProjectDataVo.get(i).getISLEAF()+"'" +
  330. ",'"+accountantProjectDataVo.get(i).getACCOUNTTABLENUMBER()+"','"+accountantProjectDataVo.get(i).getACCOUNTTABLENAME()+"','"+accountantProjectDataVo.get(i).getACCOUNTTYPENUMBER()+"','"+accountantProjectDataVo.get(i).getACCOUNTTYPENAME()+"'" +
  331. ",'"+accountantProjectDataVo.get(i).getPLTYPE()+"','"+accountantProjectDataVo.get(i).getDC()+"','"+accountantProjectDataVo.get(i).getACCRUALDIRECTION()+"','"+accountantProjectDataVo.get(i).getISCASH()+"','"+accountantProjectDataVo.get(i).getISBANK()+"'" +
  332. ",'"+accountantProjectDataVo.get(i).getISCASHEQUIVALENT()+"','"+accountantProjectDataVo.get(i).getACNOTICE()+"','"+accountantProjectDataVo.get(i).getISCHANGECURRENCY()+"','"+accountantProjectDataVo.get(i).getBW()+"','"+accountantProjectDataVo.get(i).getISQTY()+"'" +
  333. ",'"+accountantProjectDataVo.get(i).getISASSIST()+"','"+accountantProjectDataVo.get(i).getNOCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getDESCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getALLCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getACCTCURRENCY()+"','"+accountantProjectDataVo.get(i).getHELPCODE()+"'" +
  334. ",'"+accountantProjectDataVo.get(i).getISALLOWCA()+"','"+accountantProjectDataVo.get(i).getORGCONTROLLEVEL()+"','"+accountantProjectDataVo.get(i).getISMANUAL()+"','"+accountantProjectDataVo.get(i).getACCHECK()+"','"+accountantProjectDataVo.get(i).getISJOURNAL()+"'" +
  335. ",case when '"+accountantProjectDataVo.get(i).getSTARTDATE()+"' = 'null' then null else to_date(to_char(to_timestamp('"+accountantProjectDataVo.get(i).getSTARTDATE()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  336. ",case when '"+accountantProjectDataVo.get(i).getENDDATE()+"' = 'null' then null else to_date(to_char(to_timestamp('"+accountantProjectDataVo.get(i).getENDDATE()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  337. ",'"+accountantProjectDataVo.get(i).getMREUTYPENUMBER()+"','"+accountantProjectDataVo.get(i).getMREUTYPENAME()+"','"+accountantProjectDataVo.get(i).getMEASUREUNITCNUM()+"','"+accountantProjectDataVo.get(i).getMEASUREUNITNAME()+"','"+accountantProjectDataVo.get(i).getCREATEORGCODE()+"'" +
  338. ",'"+accountantProjectDataVo.get(i).getCREATEORGNAME()+"','"+accountantProjectDataVo.get(i).getORG_NUMBER()+"','"+accountantProjectDataVo.get(i).getORG_NAME()+"','"+accountantProjectDataVo.get(i).getUSEORG_NUMBER()+"','"+accountantProjectDataVo.get(i).getUSEORG_NAME()+"'" +
  339. ",'"+accountantProjectDataVo.get(i).getCTRLSTRATEGY()+"','"+accountantProjectDataVo.get(i).getSTATUS()+"','"+accountantProjectDataVo.get(i).getENABLE()+"'" +
  340. ",case when '"+accountantProjectDataVo.get(i).getCREATE_TIME()+"' = 'null' then null else to_date(to_char(to_timestamp('"+accountantProjectDataVo.get(i).getCREATE_TIME()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  341. ",case when '"+accountantProjectDataVo.get(i).getUPDATE_TIME()+"' = 'null' then null else to_date(to_char(to_timestamp('"+accountantProjectDataVo.get(i).getUPDATE_TIME()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  342. ",case when '"+accountantProjectDataVo.get(i).getDISABLEDATE()+"' = 'null' then null else to_date(to_char(to_timestamp('"+accountantProjectDataVo.get(i).getDISABLEDATE()+"','yyyy-mm-dd hh24:mi:ssxff'),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') end" +
  343. //",'"+accountantProjectDataVo.get(i).getSOURCE()+"','"+accountantProjectDataVo.get(i).getENTRYCHECKITEM()+"','"+accountantProjectDataVo.get(i).getENTRYCURRENCY()+"')");
  344. ",'"+accountantProjectDataVo.get(i).getSOURCE()+"','','"+accountantProjectDataVo.get(i).getENTRYCURRENCY()+"')");
  345. }
  346. baseDao.execute(sqls);
  347. }
  348. /**
  349. * 获取客商数据前,先删除客商信息(暂时)
  350. * */
  351. @Override
  352. public void delete(){
  353. baseDao.execute("delete from STK_CUSTVEND2");
  354. }
  355. private Map<String, JSONArray> getData(HttpServletRequest request){
  356. Map<String, JSONArray> map = new HashMap<>();
  357. try {
  358. String data = PSHttpUtils.readRaw(request.getInputStream());
  359. JSONObject jsonObject = JSON.parseObject(data);
  360. Object data1 = jsonObject.get("Data");
  361. JSONObject jsonObject1 = JSON.parseObject(StringUtil.nvl(data1,""));
  362. Object page1 = jsonObject1.get("Page1");
  363. Object page2 = jsonObject1.get("Page2");
  364. JSONArray jsonArray = JSON.parseArray(StringUtil.nvl(page1, ""));
  365. map.put("main",jsonArray);
  366. JSONArray jsonArray1 = JSON.parseArray(StringUtil.nvl(page2, ""));
  367. map.put("detail",jsonArray1);
  368. } catch (IOException e) {
  369. logger.info("参数解析异常信息:"+e.getMessage());
  370. e.printStackTrace();
  371. }
  372. return map;
  373. }
  374. /**
  375. * 获取header参数
  376. * */
  377. public Map<String,String> getHeaderParams(HttpServletRequest request){
  378. String accessKey = request.getHeader("AccessKey");
  379. String timestamp = request.getHeader("Timestamp");
  380. String requestId = request.getHeader("RequestId");
  381. String signature = request.getHeader("Signature");
  382. Map<String,String> headerMap = new HashMap<>();
  383. if(!StringUtils.isEmpty(accessKey)){
  384. headerMap.put("AccessKey",accessKey);
  385. }
  386. if(!StringUtils.isEmpty(timestamp)){
  387. headerMap.put("Timestamp",timestamp);
  388. }
  389. if(!StringUtils.isEmpty(requestId)){
  390. headerMap.put("RequestId",requestId);
  391. }
  392. if(!StringUtils.isEmpty(signature)){
  393. headerMap.put("Signature",signature);
  394. }
  395. return headerMap;
  396. }
  397. private JSONObject getJsonData(HttpServletRequest request){
  398. JSONObject jsonObject=null;
  399. try {
  400. String data = PSHttpUtils.readRaw(request.getInputStream());
  401. jsonObject = JSON.parseObject(data);
  402. } catch (IOException e) {
  403. logger.info("参数解析异常信息:"+e.getMessage());
  404. e.printStackTrace();
  405. }
  406. return jsonObject;
  407. }
  408. }