TaxUnitListHandlerEx.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package com.kingdee.eas.custom.jiuzhoutong.shuiyou;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.kingdee.bos.BOSException;
  5. import com.kingdee.bos.Context;
  6. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  7. import com.kingdee.eas.common.EASBizException;
  8. import com.kingdee.eas.custom.jiuzhoutong.utils.SYUtils;
  9. import com.kingdee.eas.custom.shuiyou.registration.RegistrationInfoFactory;
  10. import com.kingdee.eas.custom.shuiyou.registration.RegistrationInfoInfo;
  11. import com.kingdee.eas.fi.arap.util.DBUtil;
  12. import com.kingdee.shr.base.syssetting.context.SHRContext;
  13. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  14. import com.kingdee.shr.compensation.app.tax.TaxUnitFactory;
  15. import com.kingdee.shr.compensation.app.tax.TaxUnitInfo;
  16. import com.kingdee.shr.compensation.web.handler.tax.taxUnit.TaxUnitListHandler;
  17. import okhttp3.*;
  18. import org.apache.log4j.Logger;
  19. import org.springframework.ui.ModelMap;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.io.FileInputStream;
  23. import java.io.FileNotFoundException;
  24. import java.io.IOException;
  25. import java.util.Map;
  26. import java.util.Properties;
  27. public class TaxUnitListHandlerEx extends TaxUnitListHandler {
  28. private Properties propt = new Properties();
  29. private static Logger logger = Logger.getLogger("com.kingdee.eas.custom.jiuzhoutong.shuiyou.TaxUnitListHandlerEx");
  30. /**
  31. * 企业注册
  32. * @param request
  33. * @param response
  34. * @param modelMap
  35. * @throws SHRWebException
  36. */
  37. public void businessAegistrationAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
  38. String entrance = "com.kingdee.eas.custom.jiuzhoutong.shuiyou.TaxUnitListHandlerEx.businessAegistrationAction";
  39. logger.error("=========进入:"+entrance+"==========");
  40. String id = request.getParameter("id");
  41. Context context = SHRContext.getInstance().getContext();
  42. SYUtils syUtils =null;
  43. Response sYResponse = null;
  44. Map<String, String> commonParameter = null;
  45. String postBody ="";
  46. try {
  47. logger.error("=====获取基本信息=====");
  48. this.propt.load(new FileInputStream(System.getProperty("EAS_HOME") + "/server/properties/sy/syConfig.properties"));
  49. syUtils = new SYUtils(propt);
  50. commonParameter = syUtils.getCommonParameter();//获取公共参数
  51. logger.error("=======公共参数:"+JSONObject.toJSONString(commonParameter)+"===========");
  52. logger.error("=======获取报税企业信息=====");
  53. TaxUnitInfo taxUnitInfo = TaxUnitFactory.getLocalInstance(context).getTaxUnitInfo(new ObjectUuidPK(id));
  54. String name = taxUnitInfo.getName();//企业名称
  55. String taxNumber = taxUnitInfo.getTaxNumber();//税号
  56. String areaCode = taxUnitInfo.getAreaCode();//行政区代码
  57. logger.error("企业名称:"+name);
  58. logger.error("税号:"+taxNumber);
  59. logger.error("行政区代码:"+areaCode);
  60. logger.error("==========================");
  61. logger.error("==========发送请求 post================");
  62. OkHttpClient client = new OkHttpClient();
  63. String ip = propt.getProperty("ip");
  64. String url = ip+"/gateway/iit/declare/getCompanyRegisterInfo";
  65. logger.error("地址:"+url);
  66. postBody = "{\"qymc\":\""+name+"\",\"nsrsbh\":\""+taxNumber+"\",\"areaid\":\""+areaCode+"\"}";
  67. logger.error("参数:"+postBody);
  68. logger.error("公共参数:"+JSONObject.toJSONString(commonParameter));
  69. //gateway/iit/declare/getCompanyRegisterInfo
  70. RequestBody body = RequestBody.create(MediaType.parse("application/json"), postBody);
  71. Request sYRequest = new Request.Builder()
  72. .url(url)
  73. .post(body).headers(Headers.of(commonParameter))
  74. .build();
  75. sYResponse = client.newCall(sYRequest).execute();
  76. if (sYResponse.isSuccessful()) {
  77. String responseData = sYResponse.body().string();
  78. logger.error("返回参数:"+responseData);
  79. JSONArray jsonArray = JSONArray.parseArray(responseData);
  80. RegistrationInfoInfo registrationInfo ;
  81. if (jsonArray.size()>0){
  82. logger.error("删除原有的数据以便以写入行的数据");
  83. String sql = "delete from CT_REG_RegistrationInfo";
  84. DBUtil.execute(context,sql);
  85. }
  86. logger.error("写入数据:");
  87. for (int i = 0; i < jsonArray.size(); i++) {
  88. registrationInfo = new RegistrationInfoInfo();
  89. JSONObject jsonObject = jsonArray.getJSONObject(i);
  90. String djxhid = jsonObject.getString("djxhid");// 登记序号
  91. registrationInfo.setDjxhid(djxhid);
  92. String qymc = jsonObject.getString("qymc");// 企业名称
  93. registrationInfo.setQymc(qymc);
  94. String frxm = jsonObject.getString("frxm");// 法人姓名
  95. registrationInfo.setFrxm(frxm);
  96. String lxdh = jsonObject.getString("lxdh");// 联系电话
  97. registrationInfo.setLxdh(lxdh);
  98. String scjydz = jsonObject.getString("scjydz");// 生产经营地址
  99. registrationInfo.setScjydz(scjydz);
  100. String hymc = jsonObject.getString("hymc");// 行业名称
  101. registrationInfo.setHymc(hymc);
  102. String zgswjgmc = jsonObject.getString("zgswjgmc");// 主管税务机关名称
  103. registrationInfo.setZgswjgmc(zgswjgmc);
  104. String zgswjg = jsonObject.getString("zgswjg");// 主管税务机关代码
  105. registrationInfo.setZgswjg(zgswjg);
  106. String zgswjgskdm = jsonObject.getString("zgswjgskdm");// 主管税务分局所科代码
  107. registrationInfo.setZgswjgskdm(zgswjgskdm);
  108. String zgswjgskmc = jsonObject.getString("zgswjgskmc");// 主管税务分局所科名称
  109. registrationInfo.setZgswjgskmc(zgswjgskmc);
  110. String fbmba = jsonObject.getString("fbmba");// 是否分部门备案
  111. registrationInfo.setFbmba(fbmba);
  112. String smzh = jsonObject.getString("smzh");// 实名账号
  113. registrationInfo.setSmzh(smzh);
  114. String shxydm = jsonObject.getString("shxydm");// 社会信用代码
  115. registrationInfo.setShxydm(shxydm);
  116. String nsrsbm = jsonObject.getString("nsrsbm");// 纳税人识别码
  117. registrationInfo.setNsrsbm(nsrsbm);
  118. String yzbm = jsonObject.getString("yzbm");// 邮政编码
  119. registrationInfo.setYzbm(yzbm);
  120. String cwxm = jsonObject.getString("cwxm");// 财务负责人
  121. registrationInfo.setCwxm(cwxm);
  122. String hydm = jsonObject.getString("hydm");// 行业代码
  123. registrationInfo.setHydm(hydm);
  124. String jjlxdm = jsonObject.getString("jjlxdm");// 经济类型名称代码
  125. registrationInfo.setJjlxdm(jjlxdm);
  126. String jjlxmc = jsonObject.getString("jjlxmc");// 经济类型名称
  127. registrationInfo.setJjlxmc(jjlxmc);
  128. String ssglydm = jsonObject.getString("ssglydm");// 税收管理员代码
  129. registrationInfo.setSsglydm(ssglydm);
  130. String bsrxm = jsonObject.getString("bsrxm");// 报税人姓名
  131. registrationInfo.setBsrxm(bsrxm);
  132. String jdxzdm = jsonObject.getString("jdxzdm");// 街道乡镇代码
  133. registrationInfo.setJdxzdm(jdxzdm);
  134. String kjywrdm = jsonObject.getString("kjywrdm");// 扣缴义务人代码
  135. registrationInfo.setKjywrdm(kjywrdm);
  136. String djrq = jsonObject.getString("djrq");// 登记日期
  137. registrationInfo.setDjrq(djrq);
  138. String swjgdm = jsonObject.getString("swjgdm");// 税务机关代码
  139. registrationInfo.setSwjgdm(swjgdm);
  140. String swjgmc = jsonObject.getString("swjgmc");// 税务机关名称
  141. registrationInfo.setSwjgmc(swjgmc);
  142. String sfscjyqy = jsonObject.getString("sfscjyqy");// 是否是生产经营企业
  143. registrationInfo.setSfscjyqy(sfscjyqy);
  144. String nsrztdm = jsonObject.getString("nsrztdm");// 纳税人状态代码
  145. registrationInfo.setNsrztdm(nsrztdm);
  146. String nsrztmc = jsonObject.getString("nsrztmc");// 纳税人状态名称
  147. registrationInfo.setNsrztmc(nsrztmc);
  148. RegistrationInfoFactory.getLocalInstance(context).save(registrationInfo);
  149. }
  150. logger.error("记录成功接口日志");
  151. syUtils.interfaceLog(context,null,ip+"/gateway/iit/declare/getCompanyRegisterInfo"
  152. ,"企业注册",postBody,responseData,entrance,commonParameter.get("xReqNonce"));
  153. } else {
  154. logger.error("记录无参数返回日志");
  155. syUtils.interfaceLog(context,sYResponse.message(),ip+"/gateway/iit/declare/getCompanyRegisterInfo"
  156. ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null);
  157. System.out.println("Error Code:" + sYResponse.message());
  158. }
  159. } catch (BOSException e) {
  160. logger.error("记录BOSException报错接口日志");
  161. syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo"
  162. ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null);
  163. throw new RuntimeException(e);
  164. } catch (EASBizException e) {
  165. logger.error("记录 EASBizException 报错接口日志");
  166. syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo"
  167. ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null);
  168. throw new RuntimeException(e);
  169. } catch (FileNotFoundException e) {
  170. logger.error("记录 FileNotFoundException 报错接口日志");
  171. syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo"
  172. ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null);
  173. throw new RuntimeException(e);
  174. } catch (IOException e) {
  175. logger.error("记录 IOException 报错接口日志");
  176. syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo"
  177. ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null);
  178. throw new RuntimeException(e);
  179. }
  180. logger.error("======================退出==================================");
  181. }
  182. }