STKServiceImpl.java 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  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 CU_CODE,CU_NAME,UID_TYPE,CU_BUSINESSCODE,NVL(CUSTOMER_TYPE,'C0201') CUSTOMER_TYPE,IS_VALID,nvl(CREATED_ORG,CU_CODE) CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY " +
  144. "from Customer left join STK_CUSTVEND on cu_businesscode = uid2 where cu_id="
  145. + vid + "");
  146. while (cust.next()) {
  147. SaveOrChangeCustomerDetailDto sourcedao = new SaveOrChangeCustomerDetailDto();
  148. sourcedao.setS_CODE(cust.getString("CU_CODE"));
  149. sourcedao.setNAME(cust.getString("CU_NAME"));
  150. sourcedao.setUID_TYPE(cust.getString("UID_TYPE"));
  151. sourcedao.setUID(cust.getString("CU_BUSINESSCODE"));
  152. sourcedao.setCUSTOMER_TYPE(cust.getString("CUSTOMER_TYPE"));
  153. sourcedao.setIS_VALID(cust.getString("IS_VALID"));
  154. sourcedao.setCREATED_ORG(cust.getString("CREATED_ORG"));
  155. sourcedao.setCREATED_SYSTEM(cust.getString("CREATED_SYSTEM"));
  156. sourcedao.setISTEMPORARY(cust.getString("ISTEMPORARY"));
  157. sourceDataList.add(sourcedao);
  158. }
  159. }else{
  160. SqlRowList vend = baseDao
  161. .queryForRowSet("select VE_CODE,VE_NAME,UID_TYPE,VE_WEBSERVER,NVL(CUSTOMER_TYPE,'S0201') CUSTOMER_TYPE,IS_VALID,nvl(CREATED_ORG,VE_CODE) CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY " +
  162. "from Vendor left join STK_CUSTVEND on ve_webserver = uid2 where ve_id="
  163. + vid + "");
  164. while (vend.next()) {
  165. SaveOrChangeCustomerDetailDto sourcedao = new SaveOrChangeCustomerDetailDto();
  166. sourcedao.setS_CODE(vend.getString("VE_CODE"));
  167. sourcedao.setNAME(vend.getString("VE_NAME"));
  168. sourcedao.setUID_TYPE(vend.getString("UID_TYPE"));
  169. sourcedao.setUID(vend.getString("VE_WEBSERVER"));
  170. sourcedao.setCUSTOMER_TYPE(vend.getString("CUSTOMER_TYPE"));
  171. sourcedao.setIS_VALID(vend.getString("IS_VALID"));
  172. sourcedao.setCREATED_ORG(vend.getString("CREATED_ORG"));
  173. sourcedao.setCREATED_SYSTEM(vend.getString("CREATED_SYSTEM"));
  174. sourcedao.setISTEMPORARY(vend.getString("ISTEMPORARY"));
  175. sourceDataList.add(sourcedao);
  176. }
  177. }
  178. List<SaveOrChangeCustomerDataVo> changeCustomerVos = new ArrayList<>();
  179. //调用深投控api接口
  180. for(SaveOrChangeCustomerDetailDto detailDto : sourceDataList){
  181. SaveOrChangeCustomerDataVo saveOrChangeCustomerVo = null;
  182. try {
  183. logger.info("开始调用客商api");
  184. saveOrChangeCustomerVo = requestSTKService.updateKSPostParam(detailDto);
  185. } catch (Exception e) {
  186. e.printStackTrace();
  187. }
  188. changeCustomerVos.add(saveOrChangeCustomerVo);
  189. }
  190. ApiResult result = new ApiResult();
  191. return result.setData(changeCustomerVos);
  192. }
  193. @Override
  194. public ApiResult<String> getAssistBalanceCountTest(HttpServletRequest request, AssistBalanceDTO dto) {
  195. //取yearMonth
  196. String yearMonth = dto.getYearMonth();
  197. System.out.println("body参数打印:"+dto.getYearMonth());
  198. //获取header参数
  199. Map<String,String> headerMap = getHeaderParams(request);
  200. System.out.println("header参数:【AccessKey:"+headerMap.get("AccessKey")+",Timestamp:"+headerMap.get("Timestamp")
  201. +",RequestId:"+headerMap.get("RequestId")+",Signature:"+headerMap.get("Signature")+"】");
  202. return null;
  203. }
  204. //客商信息
  205. @Override
  206. public void getCustvend(TravellingMerchantVo travellingMerchantVo , Boolean isdelete) {
  207. if(null == travellingMerchantVo.getData() || CollectionUtils.isEmpty(travellingMerchantVo.getData().getList())){
  208. return ;
  209. }
  210. List<CustvendDTO> custvendDTOS = travellingMerchantVo.getData().getList();
  211. /*List<String> sqls = new ArrayList<>();
  212. if (isdelete) {
  213. sqls.add("delete from STK_CUSTVEND");
  214. }*/
  215. for (int i = 0; i < custvendDTOS.size(); i++) {
  216. List<String> sqls = new ArrayList<>();
  217. sqls.add("delete from STK_CUSTVEND where id = " + custvendDTOS.get(i).getId());
  218. /*String regBizsCope = "to_clob("+StringUtil.splitAndConcat(custvendDTOS.get(i).getReg_bizscope(), 1333, "'", "'", ")||to_clob(")+")";
  219. if (StringUtils.isEmpty(custvendDTOS.get(i).getReg_bizscope()) ||custvendDTOS.get(i).getReg_bizscope().length()==0) {
  220. regBizsCope = "''";
  221. }*/
  222. sqls.add("insert into STK_CUSTVEND(ID,S_ID,S_CODE,NAME,UID_TYPE,UID2,CUSTOMER_TYPE,IS_VALID,CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY,MDM_CODE,REG_COUNTRY, " +
  223. "REG_PLACE,REG_REP,REG_CAPTIAL,REG_PERIOD,REG_BIZSCOPE," +
  224. "REG_FOUNDEDDATE," +
  225. "REG_URL,REG_ADDRESS," +
  226. "CREAT_TIME," +
  227. "UPDATE_TIME,SERIAL) " +
  228. "values ("+custvendDTOS.get(i).getId()+","+custvendDTOS.get(i).getS_id()+",'"+custvendDTOS.get(i).getS_code()+"','"+custvendDTOS.get(i).getName()+"'" +
  229. ",'"+custvendDTOS.get(i).getUid_type()+"','"+custvendDTOS.get(i).getUid()+"','"+custvendDTOS.get(i).getCustomer_type()+"','"+custvendDTOS.get(i).getIs_valid()+"'" +
  230. ",'"+custvendDTOS.get(i).getCreated_org()+"','"+custvendDTOS.get(i).getCreated_system()+"','"+custvendDTOS.get(i).getIstemporary()+"','"+custvendDTOS.get(i).getMdm_code()+"','"+custvendDTOS.get(i).getReg_country()+"'" +
  231. ",'"+custvendDTOS.get(i).getReg_place()+"','"+custvendDTOS.get(i).getReg_rep()+"','"+custvendDTOS.get(i).getReg_captial()+"','"+custvendDTOS.get(i).getReg_period()+"',' '" +
  232. ",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" +
  233. ",'"+custvendDTOS.get(i).getReg_url()+"','"+custvendDTOS.get(i).getReg_address()+"'" +
  234. ",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" +
  235. ",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()+"')");
  236. sqls.add("update STK_CUSTVEND set UID_TYPENAME = case when UID_TYPE = '01' then '统一社会信用代码' when UID_TYPE = '02' then '邓氏编码' " +
  237. "when UID_TYPE = '03' then '身份证号码(大陆)' when UID_TYPE = '04' then '护照号码(包括港澳身份证号码)' when UID_TYPE = '06' then '身份证护照组合' " +
  238. "when UID_TYPE = '99' then '其他编码' end where id = " + custvendDTOS.get(i).getId());
  239. sqls.add("update STK_CUSTVEND set CUSTOMER_TYPENAME = case when CUSTOMER_TYPE = 'C0201' then '单位客户' when CUSTOMER_TYPE = 'C0202' then '个人客户' " +
  240. "when CUSTOMER_TYPE = 'S0201' then '单位供应商' when CUSTOMER_TYPE = 'S0202' then '个人供应商' end where id = " + custvendDTOS.get(i).getId());
  241. sqls.add("update STK_CUSTVEND set IS_VALIDNAME = case when IS_VALID = '1' then '有效' else '无效' end, " +
  242. "ISTEMPORARYNAME = case when ISTEMPORARY = '1' then '是' else '否' end where id = " + custvendDTOS.get(i).getId());
  243. baseDao.execute(sqls);
  244. }
  245. }
  246. //客商信息(当天)
  247. @Override
  248. public void getCustvendDay(TravellingMerchantVo travellingMerchantVo , Boolean isdelete) {
  249. if(null == travellingMerchantVo.getData() || CollectionUtils.isEmpty(travellingMerchantVo.getData().getList())){
  250. return ;
  251. }
  252. List<CustvendDTO> custvendDTOS = travellingMerchantVo.getData().getList();
  253. List<String> sqls = new ArrayList<>();
  254. for (int i = 0; i < custvendDTOS.size(); i++) {
  255. sqls.add("delete from STK_CUSTVEND where id = " + custvendDTOS.get(i).getId());
  256. sqls.add("insert into STK_CUSTVEND(ID,S_ID,S_CODE,NAME,UID_TYPE,UID2,CUSTOMER_TYPE,IS_VALID,CREATED_ORG,CREATED_SYSTEM,ISTEMPORARY,MDM_CODE,REG_COUNTRY, " +
  257. "REG_PLACE,REG_REP,REG_CAPTIAL,REG_PERIOD,REG_BIZSCOPE," +
  258. "REG_FOUNDEDDATE," +
  259. "REG_URL,REG_ADDRESS," +
  260. "CREAT_TIME," +
  261. "UPDATE_TIME,SERIAL) " +
  262. "values ("+custvendDTOS.get(i).getId()+","+custvendDTOS.get(i).getS_id()+",'"+custvendDTOS.get(i).getS_code()+"','"+custvendDTOS.get(i).getName()+"'" +
  263. ",'"+custvendDTOS.get(i).getUid_type()+"','"+custvendDTOS.get(i).getUid()+"','"+custvendDTOS.get(i).getCustomer_type()+"','"+custvendDTOS.get(i).getIs_valid()+"'" +
  264. ",'"+custvendDTOS.get(i).getCreated_org()+"','"+custvendDTOS.get(i).getCreated_system()+"','"+custvendDTOS.get(i).getIstemporary()+"','"+custvendDTOS.get(i).getMdm_code()+"','"+custvendDTOS.get(i).getReg_country()+"'" +
  265. ",'"+custvendDTOS.get(i).getReg_place()+"','"+custvendDTOS.get(i).getReg_rep()+"','"+custvendDTOS.get(i).getReg_captial()+"','"+custvendDTOS.get(i).getReg_period()+"',' '" +
  266. ",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" +
  267. ",'"+custvendDTOS.get(i).getReg_url()+"','"+custvendDTOS.get(i).getReg_address()+"'" +
  268. ",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" +
  269. ",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()+"')");
  270. sqls.add("update STK_CUSTVEND set UID_TYPENAME = case when UID_TYPE = '01' then '统一社会信用代码' when UID_TYPE = '02' then '邓氏编码' " +
  271. "when UID_TYPE = '03' then '身份证号码(大陆)' when UID_TYPE = '04' then '护照号码(包括港澳身份证号码)' when UID_TYPE = '06' then '身份证护照组合' " +
  272. "when UID_TYPE = '99' then '其他编码' end where id = " + custvendDTOS.get(i).getId());
  273. sqls.add("update STK_CUSTVEND set CUSTOMER_TYPENAME = case when CUSTOMER_TYPE = 'C0201' then '单位客户' when CUSTOMER_TYPE = 'C0202' then '个人客户' " +
  274. "when CUSTOMER_TYPE = 'S0201' then '单位供应商' when CUSTOMER_TYPE = 'S0202' then '个人供应商' end where id = " + custvendDTOS.get(i).getId());
  275. sqls.add("update STK_CUSTVEND set IS_VALIDNAME = case when IS_VALID = '1' then '有效' else '无效' end, " +
  276. "ISTEMPORARYNAME = case when ISTEMPORARY = '1' then '是' else '否' end where id = " + custvendDTOS.get(i).getId());
  277. }
  278. baseDao.execute(sqls);
  279. }
  280. //获取现金流
  281. @Override
  282. public void getCashFlowItems(CashFlowItemsVo cashFlowItemsVo , Boolean isdelete) {
  283. if(null == cashFlowItemsVo.getData()){
  284. return ;
  285. }
  286. List<CashFlowItemsDataVo> cashFlowItemsDataVo = cashFlowItemsVo.getData().getList();
  287. List<String> sqls = new ArrayList<>();
  288. if (isdelete) {
  289. sqls.add("delete from STK_CASHFLOWDJ");
  290. }
  291. for (int i = 0; i < cashFlowItemsDataVo.size(); i++) {
  292. sqls.add("delete from STK_CASHFLOWDJ where id = " + cashFlowItemsDataVo.get(i).getID());
  293. sqls.add("insert into STK_CASHFLOWDJ(ID,NUMBER2,CODE,NAME,LONGNUMBER,LEVEL2,FULLNAME,ISLEAF,CTRLSTRATEGY,SOURCEDATA,BITINDEX,SRCINDEX," +
  294. "TYPE,DIRECTION,ISDEALACTIVITY,ISEXCHANGERATE,ISPREFIT,NOTICE,CHECKITEMHELP,ISASSIST,ISSCHEDULEITEM,MODIFIER_NUMBER," +
  295. "MODIFIER_NAME,CREATEORG_NUMBER,ORG_NUMBER,ORG_NAME,USEORG_NUMBER,USEORG_NAME,STATUS,ENABLE," +
  296. "CREATE_TIME," +
  297. "UPDATE_IME," +
  298. "SOURCE,ASSISTENTRY) " +
  299. "values ("+cashFlowItemsDataVo.get(i).getID()+",'"+cashFlowItemsDataVo.get(i).getNUMBER()+"','"+cashFlowItemsDataVo.get(i).getCODE()+"','"+cashFlowItemsDataVo.get(i).getNAME()+"'" +
  300. ",'"+cashFlowItemsDataVo.get(i).getLONGNUMBER()+"','"+cashFlowItemsDataVo.get(i).getLEVEL()+"','"+cashFlowItemsDataVo.get(i).getFULLNAME()+"','"+cashFlowItemsDataVo.get(i).getISLEAF()+"'" +
  301. ",'"+cashFlowItemsDataVo.get(i).getCTRLSTRATEGY()+"','"+cashFlowItemsDataVo.get(i).getSOURCEDATA()+"','"+cashFlowItemsDataVo.get(i).getBITINDEX()+"','"+cashFlowItemsDataVo.get(i).getSRCINDEX()+"'" +
  302. ",'"+cashFlowItemsDataVo.get(i).getTYPE()+"','"+cashFlowItemsDataVo.get(i).getDIRECTION()+"','"+cashFlowItemsDataVo.get(i).getISDEALACTIVITY()+"','"+cashFlowItemsDataVo.get(i).getISEXCHANGERATE()+"','"+cashFlowItemsDataVo.get(i).getISPREFIT()+"','"+cashFlowItemsDataVo.get(i).getNOTICE()+"'" +
  303. ",'"+cashFlowItemsDataVo.get(i).getCHECKITEMHELP()+"','"+cashFlowItemsDataVo.get(i).getISASSIST()+"','"+cashFlowItemsDataVo.get(i).getISSCHEDULEITEM()+"','"+cashFlowItemsDataVo.get(i).getMODIFIER_NUMBER()+"'" +
  304. ",'"+cashFlowItemsDataVo.get(i).getMODIFIER_NAME()+"','"+cashFlowItemsDataVo.get(i).getCREATEORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getORG_NAME()+"'" +
  305. ",'"+cashFlowItemsDataVo.get(i).getUSEORG_NUMBER()+"','"+cashFlowItemsDataVo.get(i).getUSEORG_NAME()+"','"+cashFlowItemsDataVo.get(i).getSTATUS()+"','"+cashFlowItemsDataVo.get(i).getENABLE()+"'" +
  306. ",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" +
  307. ",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" +
  308. //",'"+cashFlowItemsDataVo.get(i).getSOURCE()+"','"+cashFlowItemsDataVo.get(i).getASSISTENTRY()+"')");
  309. ",'"+cashFlowItemsDataVo.get(i).getSOURCE()+"','')");
  310. }
  311. baseDao.execute(sqls);
  312. }
  313. //获取会计科目
  314. @Override
  315. public void getAccountantProject(AccountantProjectVo accountantProjectVo , Boolean isdelete) {
  316. if(null == accountantProjectVo.getData()){
  317. return ;
  318. }
  319. List<AccountantProjectDataVo> accountantProjectDataVo = accountantProjectVo.getData().getList();
  320. List<String> sqls = new ArrayList<>();
  321. if (isdelete) {
  322. sqls.add("delete from STK_CATEGORYDJ");
  323. }
  324. for (int i = 0; i < accountantProjectDataVo.size(); i++) {
  325. sqls.add("delete from STK_CATEGORYDJ where id = " + accountantProjectDataVo.get(i).getID());
  326. 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," +
  327. "PLTYPE,DC,ACCRUALDIRECTION,ISCASH,ISBANK,ISCASHEQUIVALENT,ACNOTICE,ISCHANGECURRENCY,BW,ISQTY,ISASSIST,NOCURRENCYRADIO,DESCURRENCYRADIO,ALLCURRENCYRADIO,ACCTCURRENCY,HELPCODE,ISALLOWCA,ORGCONTROLLEVEL,ISMANUAL,ACCHECK,ISJOURNAL," +
  328. "STARTDATE," +
  329. "ENDDATE," +
  330. "MREUTYPENUMBER,MREUTYPENAME,MEASUREUNITCNUM,MEASUREUNITNAME,CREATEORGCODE,CREATEORGNAME,ORG_NUMBER,ORG_NAME,USEORG_NUMBER,USEORG_NAME,CTRLSTRATEGY,STATUS,ENABLE," +
  331. "CREATE_TIME," +
  332. "UPDATE_TIME," +
  333. "DISABLEDATE," +
  334. "SOURCE,ENTRYCHECKITEM,ENTRYCURRENCY) " +
  335. "values ("+accountantProjectDataVo.get(i).getID()+",'"+accountantProjectDataVo.get(i).getS_ID()+"','"+accountantProjectDataVo.get(i).getS_NUMBER()+"','"+accountantProjectDataVo.get(i).getCODE()+"','"+accountantProjectDataVo.get(i).getNAME()+"'" +
  336. ",'"+accountantProjectDataVo.get(i).getPARENTID()+"','"+accountantProjectDataVo.get(i).getS_PARENTNUM()+"','"+accountantProjectDataVo.get(i).getPARENTCODE()+"','"+accountantProjectDataVo.get(i).getPARENTNAME()+"'" +
  337. ",'"+accountantProjectDataVo.get(i).getLONGNUMBER()+"','"+accountantProjectDataVo.get(i).getLONGNAME()+"','"+accountantProjectDataVo.get(i).getLEVEL()+"','"+accountantProjectDataVo.get(i).getISLEAF()+"'" +
  338. ",'"+accountantProjectDataVo.get(i).getACCOUNTTABLENUMBER()+"','"+accountantProjectDataVo.get(i).getACCOUNTTABLENAME()+"','"+accountantProjectDataVo.get(i).getACCOUNTTYPENUMBER()+"','"+accountantProjectDataVo.get(i).getACCOUNTTYPENAME()+"'" +
  339. ",'"+accountantProjectDataVo.get(i).getPLTYPE()+"','"+accountantProjectDataVo.get(i).getDC()+"','"+accountantProjectDataVo.get(i).getACCRUALDIRECTION()+"','"+accountantProjectDataVo.get(i).getISCASH()+"','"+accountantProjectDataVo.get(i).getISBANK()+"'" +
  340. ",'"+accountantProjectDataVo.get(i).getISCASHEQUIVALENT()+"','"+accountantProjectDataVo.get(i).getACNOTICE()+"','"+accountantProjectDataVo.get(i).getISCHANGECURRENCY()+"','"+accountantProjectDataVo.get(i).getBW()+"','"+accountantProjectDataVo.get(i).getISQTY()+"'" +
  341. ",'"+accountantProjectDataVo.get(i).getISASSIST()+"','"+accountantProjectDataVo.get(i).getNOCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getDESCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getALLCURRENCYRADIO()+"','"+accountantProjectDataVo.get(i).getACCTCURRENCY()+"','"+accountantProjectDataVo.get(i).getHELPCODE()+"'" +
  342. ",'"+accountantProjectDataVo.get(i).getISALLOWCA()+"','"+accountantProjectDataVo.get(i).getORGCONTROLLEVEL()+"','"+accountantProjectDataVo.get(i).getISMANUAL()+"','"+accountantProjectDataVo.get(i).getACCHECK()+"','"+accountantProjectDataVo.get(i).getISJOURNAL()+"'" +
  343. ",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" +
  344. ",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" +
  345. ",'"+accountantProjectDataVo.get(i).getMREUTYPENUMBER()+"','"+accountantProjectDataVo.get(i).getMREUTYPENAME()+"','"+accountantProjectDataVo.get(i).getMEASUREUNITCNUM()+"','"+accountantProjectDataVo.get(i).getMEASUREUNITNAME()+"','"+accountantProjectDataVo.get(i).getCREATEORGCODE()+"'" +
  346. ",'"+accountantProjectDataVo.get(i).getCREATEORGNAME()+"','"+accountantProjectDataVo.get(i).getORG_NUMBER()+"','"+accountantProjectDataVo.get(i).getORG_NAME()+"','"+accountantProjectDataVo.get(i).getUSEORG_NUMBER()+"','"+accountantProjectDataVo.get(i).getUSEORG_NAME()+"'" +
  347. ",'"+accountantProjectDataVo.get(i).getCTRLSTRATEGY()+"','"+accountantProjectDataVo.get(i).getSTATUS()+"','"+accountantProjectDataVo.get(i).getENABLE()+"'" +
  348. ",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" +
  349. ",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" +
  350. ",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" +
  351. //",'"+accountantProjectDataVo.get(i).getSOURCE()+"','"+accountantProjectDataVo.get(i).getENTRYCHECKITEM()+"','"+accountantProjectDataVo.get(i).getENTRYCURRENCY()+"')");
  352. ",'"+accountantProjectDataVo.get(i).getSOURCE()+"','','"+accountantProjectDataVo.get(i).getENTRYCURRENCY()+"')");
  353. }
  354. baseDao.execute(sqls);
  355. }
  356. /**
  357. * 获取客商数据前,先删除客商信息(暂时)
  358. * */
  359. @Override
  360. public void delete(){
  361. baseDao.execute("delete from STK_CUSTVEND");
  362. }
  363. private Map<String, JSONArray> getData(HttpServletRequest request){
  364. Map<String, JSONArray> map = new HashMap<>();
  365. try {
  366. String data = PSHttpUtils.readRaw(request.getInputStream());
  367. JSONObject jsonObject = JSON.parseObject(data);
  368. Object data1 = jsonObject.get("Data");
  369. JSONObject jsonObject1 = JSON.parseObject(StringUtil.nvl(data1,""));
  370. Object page1 = jsonObject1.get("Page1");
  371. Object page2 = jsonObject1.get("Page2");
  372. JSONArray jsonArray = JSON.parseArray(StringUtil.nvl(page1, ""));
  373. map.put("main",jsonArray);
  374. JSONArray jsonArray1 = JSON.parseArray(StringUtil.nvl(page2, ""));
  375. map.put("detail",jsonArray1);
  376. } catch (IOException e) {
  377. logger.info("参数解析异常信息:"+e.getMessage());
  378. e.printStackTrace();
  379. }
  380. return map;
  381. }
  382. /**
  383. * 获取header参数
  384. * */
  385. public Map<String,String> getHeaderParams(HttpServletRequest request){
  386. String accessKey = request.getHeader("AccessKey");
  387. String timestamp = request.getHeader("Timestamp");
  388. String requestId = request.getHeader("RequestId");
  389. String signature = request.getHeader("Signature");
  390. Map<String,String> headerMap = new HashMap<>();
  391. if(!StringUtils.isEmpty(accessKey)){
  392. headerMap.put("AccessKey",accessKey);
  393. }
  394. if(!StringUtils.isEmpty(timestamp)){
  395. headerMap.put("Timestamp",timestamp);
  396. }
  397. if(!StringUtils.isEmpty(requestId)){
  398. headerMap.put("RequestId",requestId);
  399. }
  400. if(!StringUtils.isEmpty(signature)){
  401. headerMap.put("Signature",signature);
  402. }
  403. return headerMap;
  404. }
  405. private JSONObject getJsonData(HttpServletRequest request){
  406. JSONObject jsonObject=null;
  407. try {
  408. String data = PSHttpUtils.readRaw(request.getInputStream());
  409. jsonObject = JSON.parseObject(data);
  410. } catch (IOException e) {
  411. logger.info("参数解析异常信息:"+e.getMessage());
  412. e.printStackTrace();
  413. }
  414. return jsonObject;
  415. }
  416. }