SynIncomeTaxDeclareService.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.kingdee.eas.custom.compensation.service;
  2. import cn.com.servyou.dto.ApiResponse;
  3. import cn.com.servyou.dto.declare.Feedback;
  4. import cn.com.servyou.rmi.client.ClientProxyFactory;
  5. import cn.com.servyou.service.DeclarationRequest;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.fasterxml.jackson.databind.ObjectMapper;
  8. import com.kingdee.bos.BOSException;
  9. import com.kingdee.bos.Context;
  10. import com.kingdee.bos.bsf.service.app.IHRMsfService;
  11. import com.kingdee.eas.common.EASBizException;
  12. import com.kingdee.eas.custom.shuiyou.interfacelog.LogInfoFactory;
  13. import com.kingdee.eas.custom.shuiyou.interfacelog.LogInfoInfo;
  14. import com.kingdee.eas.custom.shuiyou.task.MessageResult;
  15. import com.kingdee.eas.custom.shuiyou.utils.ClientProxyFactoryUtils;
  16. import org.apache.log4j.Logger;
  17. import java.io.IOException;
  18. import java.util.Date;
  19. import java.util.HashMap;
  20. import java.util.Map;
  21. /**
  22. * @author qingwu
  23. * @date 2024/9/19
  24. * @apiNote
  25. */
  26. public class SynIncomeTaxDeclareService implements IHRMsfService {
  27. Logger logger = Logger.getLogger("com.kingdee.eas.custom.compensation.service.SynIncomeTaxDeclareService");
  28. public Object process(Context context, Map map) throws EASBizException, BOSException {
  29. //接口日志实体
  30. LogInfoInfo logInfo = new LogInfoInfo();
  31. //入口
  32. logInfo.setEntrance(this.getClass().getName());
  33. logInfo.setBizDate(new Date());
  34. Map resMap = new HashMap();
  35. logger.error("SynIncomeTaxDeclareService----------OSF----Start");
  36. JSONObject paramData = JSONObject.parseObject((String) map.get("paramData"));
  37. logger.error("paramData--------" + paramData);
  38. String requestId = paramData.getString("requestId");
  39. //JSONObject param = paramData.getJSONObject("param");
  40. logger.error("requestId--------" + requestId);
  41. //logger.error("param--------" + param);
  42. ObjectMapper mapper = new ObjectMapper();
  43. try {
  44. //客户端代理工厂
  45. ClientProxyFactory clientProxyFactory = ClientProxyFactoryUtils.getClientProxyFactory();
  46. //算税请求接口
  47. DeclarationRequest declarationRequest = clientProxyFactory.getDeclarationRequest();
  48. //申报数据反馈 requestId:请求Id reportType:申报所得类型[1:综合所得;2:分类所得;3:非居民所得;4:限售股所得]
  49. ApiResponse<Feedback> feedback = declarationRequest.getFeedback(requestId, "1");
  50. logInfo.setInterfaceAddress("/gateway/iit/report/getFeedback");//接口地址
  51. logInfo.setInterfaceName("getFeedback");//接口名
  52. logger.error("feedback--------" + mapper.writeValueAsString(feedback));
  53. String status = feedback.getHead().getStatus();
  54. Feedback body = null;
  55. if ("N".equals(status)) {
  56. //请求失败响应
  57. String msg = feedback.getHead().getMsg();
  58. //throw new BOSException(msg);
  59. return MessageResult.FAILED(msg);
  60. } else {
  61. //调用成功
  62. //请求id
  63. body = feedback.getBody();
  64. logInfo.setOutParameter(mapper.writeValueAsString(body));//回参
  65. LogInfoFactory.getLocalInstance(context).addnew(logInfo);
  66. }
  67. return MessageResult.SUCCESS(mapper.writeValueAsString(body));
  68. } catch (IOException e) {
  69. e.printStackTrace();
  70. logInfo.setErrorInfo(e.getMessage());//错误信息
  71. LogInfoFactory.getLocalInstance(context).save(logInfo);
  72. //throw new BOSException(e);
  73. return MessageResult.ERROR(e.getMessage());
  74. }
  75. }
  76. }