package com.kingdee.eas.custom.jiuzhoutong.shuiyou; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.dao.ormapping.ObjectUuidPK; import com.kingdee.eas.common.EASBizException; import com.kingdee.eas.custom.jiuzhoutong.utils.SYUtils; import com.kingdee.eas.custom.shuiyou.registration.RegistrationInfoFactory; import com.kingdee.eas.custom.shuiyou.registration.RegistrationInfoInfo; import com.kingdee.eas.fi.arap.util.DBUtil; import com.kingdee.shr.base.syssetting.context.SHRContext; import com.kingdee.shr.base.syssetting.exception.SHRWebException; import com.kingdee.shr.compensation.app.tax.TaxUnitFactory; import com.kingdee.shr.compensation.app.tax.TaxUnitInfo; import com.kingdee.shr.compensation.web.handler.tax.taxUnit.TaxUnitListHandler; import okhttp3.*; import org.apache.log4j.Logger; import org.springframework.ui.ModelMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; import java.util.Properties; public class TaxUnitListHandlerEx extends TaxUnitListHandler { private Properties propt = new Properties(); private static Logger logger = Logger.getLogger("com.kingdee.eas.custom.jiuzhoutong.shuiyou.TaxUnitListHandlerEx"); /** * 企业注册 * @param request * @param response * @param modelMap * @throws SHRWebException */ public void businessAegistrationAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException { String entrance = "com.kingdee.eas.custom.jiuzhoutong.shuiyou.TaxUnitListHandlerEx.businessAegistrationAction"; logger.error("=========进入:"+entrance+"=========="); String id = request.getParameter("id"); Context context = SHRContext.getInstance().getContext(); SYUtils syUtils =null; Response sYResponse = null; Map commonParameter = null; String postBody =""; try { logger.error("=====获取基本信息====="); this.propt.load(new FileInputStream(System.getProperty("EAS_HOME") + "/server/properties/sy/syConfig.properties")); syUtils = new SYUtils(propt); commonParameter = syUtils.getCommonParameter();//获取公共参数 logger.error("=======公共参数:"+JSONObject.toJSONString(commonParameter)+"==========="); logger.error("=======获取报税企业信息====="); TaxUnitInfo taxUnitInfo = TaxUnitFactory.getLocalInstance(context).getTaxUnitInfo(new ObjectUuidPK(id)); String name = taxUnitInfo.getName();//企业名称 String taxNumber = taxUnitInfo.getTaxNumber();//税号 String areaCode = taxUnitInfo.getAreaCode();//行政区代码 logger.error("企业名称:"+name); logger.error("税号:"+taxNumber); logger.error("行政区代码:"+areaCode); logger.error("=========================="); logger.error("==========发送请求 post================"); OkHttpClient client = new OkHttpClient(); String ip = propt.getProperty("ip"); String url = ip+"/gateway/iit/declare/getCompanyRegisterInfo"; logger.error("地址:"+url); postBody = "{\"qymc\":\""+name+"\",\"nsrsbh\":\""+taxNumber+"\",\"areaid\":\""+areaCode+"\"}"; logger.error("参数:"+postBody); logger.error("公共参数:"+JSONObject.toJSONString(commonParameter)); //gateway/iit/declare/getCompanyRegisterInfo RequestBody body = RequestBody.create(MediaType.parse("application/json"), postBody); Request sYRequest = new Request.Builder() .url(url) .post(body).headers(Headers.of(commonParameter)) .build(); sYResponse = client.newCall(sYRequest).execute(); if (sYResponse.isSuccessful()) { String responseData = sYResponse.body().string(); logger.error("返回参数:"+responseData); JSONArray jsonArray = JSONArray.parseArray(responseData); RegistrationInfoInfo registrationInfo ; if (jsonArray.size()>0){ logger.error("删除原有的数据以便以写入行的数据"); String sql = "delete from CT_REG_RegistrationInfo"; DBUtil.execute(context,sql); } logger.error("写入数据:"); for (int i = 0; i < jsonArray.size(); i++) { registrationInfo = new RegistrationInfoInfo(); JSONObject jsonObject = jsonArray.getJSONObject(i); String djxhid = jsonObject.getString("djxhid");// 登记序号 registrationInfo.setDjxhid(djxhid); String qymc = jsonObject.getString("qymc");// 企业名称 registrationInfo.setQymc(qymc); String frxm = jsonObject.getString("frxm");// 法人姓名 registrationInfo.setFrxm(frxm); String lxdh = jsonObject.getString("lxdh");// 联系电话 registrationInfo.setLxdh(lxdh); String scjydz = jsonObject.getString("scjydz");// 生产经营地址 registrationInfo.setScjydz(scjydz); String hymc = jsonObject.getString("hymc");// 行业名称 registrationInfo.setHymc(hymc); String zgswjgmc = jsonObject.getString("zgswjgmc");// 主管税务机关名称 registrationInfo.setZgswjgmc(zgswjgmc); String zgswjg = jsonObject.getString("zgswjg");// 主管税务机关代码 registrationInfo.setZgswjg(zgswjg); String zgswjgskdm = jsonObject.getString("zgswjgskdm");// 主管税务分局所科代码 registrationInfo.setZgswjgskdm(zgswjgskdm); String zgswjgskmc = jsonObject.getString("zgswjgskmc");// 主管税务分局所科名称 registrationInfo.setZgswjgskmc(zgswjgskmc); String fbmba = jsonObject.getString("fbmba");// 是否分部门备案 registrationInfo.setFbmba(fbmba); String smzh = jsonObject.getString("smzh");// 实名账号 registrationInfo.setSmzh(smzh); String shxydm = jsonObject.getString("shxydm");// 社会信用代码 registrationInfo.setShxydm(shxydm); String nsrsbm = jsonObject.getString("nsrsbm");// 纳税人识别码 registrationInfo.setNsrsbm(nsrsbm); String yzbm = jsonObject.getString("yzbm");// 邮政编码 registrationInfo.setYzbm(yzbm); String cwxm = jsonObject.getString("cwxm");// 财务负责人 registrationInfo.setCwxm(cwxm); String hydm = jsonObject.getString("hydm");// 行业代码 registrationInfo.setHydm(hydm); String jjlxdm = jsonObject.getString("jjlxdm");// 经济类型名称代码 registrationInfo.setJjlxdm(jjlxdm); String jjlxmc = jsonObject.getString("jjlxmc");// 经济类型名称 registrationInfo.setJjlxmc(jjlxmc); String ssglydm = jsonObject.getString("ssglydm");// 税收管理员代码 registrationInfo.setSsglydm(ssglydm); String bsrxm = jsonObject.getString("bsrxm");// 报税人姓名 registrationInfo.setBsrxm(bsrxm); String jdxzdm = jsonObject.getString("jdxzdm");// 街道乡镇代码 registrationInfo.setJdxzdm(jdxzdm); String kjywrdm = jsonObject.getString("kjywrdm");// 扣缴义务人代码 registrationInfo.setKjywrdm(kjywrdm); String djrq = jsonObject.getString("djrq");// 登记日期 registrationInfo.setDjrq(djrq); String swjgdm = jsonObject.getString("swjgdm");// 税务机关代码 registrationInfo.setSwjgdm(swjgdm); String swjgmc = jsonObject.getString("swjgmc");// 税务机关名称 registrationInfo.setSwjgmc(swjgmc); String sfscjyqy = jsonObject.getString("sfscjyqy");// 是否是生产经营企业 registrationInfo.setSfscjyqy(sfscjyqy); String nsrztdm = jsonObject.getString("nsrztdm");// 纳税人状态代码 registrationInfo.setNsrztdm(nsrztdm); String nsrztmc = jsonObject.getString("nsrztmc");// 纳税人状态名称 registrationInfo.setNsrztmc(nsrztmc); RegistrationInfoFactory.getLocalInstance(context).save(registrationInfo); } logger.error("记录成功接口日志"); syUtils.interfaceLog(context,null,ip+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,responseData,entrance,commonParameter.get("xReqNonce")); } else { logger.error("记录无参数返回日志"); syUtils.interfaceLog(context,sYResponse.message(),ip+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null); System.out.println("Error Code:" + sYResponse.message()); } } catch (BOSException e) { logger.error("记录BOSException报错接口日志"); syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null); throw new RuntimeException(e); } catch (EASBizException e) { logger.error("记录 EASBizException 报错接口日志"); syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null); throw new RuntimeException(e); } catch (FileNotFoundException e) { logger.error("记录 FileNotFoundException 报错接口日志"); syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null); throw new RuntimeException(e); } catch (IOException e) { logger.error("记录 IOException 报错接口日志"); syUtils.interfaceLog(context,e.getMessage(),propt.getProperty("ip")+"/gateway/iit/declare/getCompanyRegisterInfo" ,"企业注册",postBody,null,entrance,commonParameter!=null?commonParameter.get("xReqNonce"):null); throw new RuntimeException(e); } logger.error("======================退出=================================="); } }