PersonnelReportService.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.kingdee.eas.custom.shuiyou.six.osf;
  2. import cn.hutool.json.JSONArray;
  3. import cn.hutool.json.JSONObject;
  4. import cn.hutool.json.JSONUtil;
  5. import com.kingdee.bos.BOSException;
  6. import com.kingdee.bos.Context;
  7. import com.kingdee.bos.bsf.service.app.IHRMsfService;
  8. import com.kingdee.bos.metadata.entity.SelectorItemCollection;
  9. import com.kingdee.bos.metadata.entity.SelectorItemInfo;
  10. import com.kingdee.eas.common.EASBizException;
  11. import com.kingdee.eas.custom.shuiyou.task.MessageResult;
  12. import com.kingdee.eas.custom.shuiyou.uitls.ISYUtilsFacade;
  13. import com.kingdee.eas.custom.shuiyou.uitls.SYUtilsFacadeFactory;
  14. import com.kingdee.shr.compensation.BankCardStatusEnum;
  15. import com.kingdee.shr.compensation.IdentityStatusEnume;
  16. import com.kingdee.shr.compensation.SubmitStatusEnum;
  17. import com.kingdee.shr.compensation.app.incomeTax.*;
  18. import com.kingdee.shr.dydeploy.web.executeSql.ExceptionUtils;
  19. import org.apache.log4j.Logger;
  20. import java.util.Map;
  21. /**
  22. * 人员报送反馈接口
  23. */
  24. public class PersonnelReportService implements IHRMsfService {
  25. private static Logger logger = Logger.getLogger("com.kingdee.eas.custom.shuiyou.service.PersonnelReportService");
  26. @Override
  27. public Object process(Context context, Map map) throws EASBizException, BOSException {
  28. logger.error("com.kingdee.eas.custom.shuiyou.service.PersonnelReportService.process");
  29. MessageResult messageResult = null;
  30. String this_taskId =(String) map.get("this_taskId");
  31. String paramData = (String) map.get("paramData");
  32. System.out.println("PersonnelReportService:" + paramData);
  33. ISYUtilsFacade facade = SYUtilsFacadeFactory.getLocalInstance(context);
  34. Map<String, String> config = facade.getConfig();
  35. String url = config.get("ip") + "/gateway/iit/declare/getEmployeeInfoFeedback";
  36. String result = null;
  37. try {
  38. result = facade.get(url, paramData);
  39. if (result == null) {
  40. messageResult = MessageResult.ERROR("参数result为空");
  41. } else {
  42. JSONObject jsonObject = JSONUtil.parseObj(result);
  43. logger.error("入参:" + jsonObject);
  44. JSONObject head = jsonObject.getJSONObject("head");
  45. String code = head.getStr("code");
  46. if ("00000000".equals(code)) {
  47. JSONObject body = jsonObject.getJSONObject("body");
  48. if (body.containsKey("bsjg")) {
  49. JSONArray bsjgs = body.getJSONArray("bsjg");
  50. SelectorItemCollection sc = new SelectorItemCollection();
  51. sc.add(new SelectorItemInfo("identityStatus"));
  52. sc.add(new SelectorItemInfo("submitStatus"));
  53. sc.add(new SelectorItemInfo("failReason"));
  54. sc.add(new SelectorItemInfo("failReason"));
  55. sc.add(new SelectorItemInfo("bill.bankCardStatus"));
  56. for (int b = 0; b < bsjgs.size(); b++) {
  57. JSONObject bsjg = bsjgs.getJSONObject(b);
  58. String zzhm = bsjg.getStr("zzhm");
  59. ITaxPersonRecordEntry tyse = TaxPersonRecordEntryFactory.getLocalInstance(context);
  60. System.out.println("TaxPersonRecordEntryCollection:"+zzhm+"_");
  61. TaxPersonRecordEntryCollection c = tyse.getTaxPersonRecordEntryCollection("select * , bill.*,taxunit.* where bill.cardnumber = '" + zzhm + "' and task.id='" + this_taskId + "' ");
  62. System.out.println("TaxPersonRecordEntryCollection:"+c);
  63. for (int i = 0; null!=c && i < c.size(); i++) {
  64. TaxPersonRecordEntryInfo taxPersonRecordEntry = c.get(i);
  65. String sbzt = bsjg.getStr("sbzt");//报送状态 1待报送,2代报中,3代报失败,4代报成功
  66. taxPersonRecordEntry.setSubmitStatus(this.StartReflection(sbzt));
  67. String rzzt = bsjg.getStr("rzzt");//验证状态0 若是身份证,状态为验证中;其他证件为暂不验证 1 验证通过 2 验证不通过 4 待验证 9 同代码0处理
  68. taxPersonRecordEntry.setIdentityStatus(IdentityStatusEnume.getEnum(("4".compareTo(rzzt) < 0 ? "0" : rzzt)));
  69. //bsjg.getString("sfyjd");//是否建档
  70. String sbyy = bsjg.getStr("sbyy");//失败原因
  71. taxPersonRecordEntry.setFailReason(sbyy);
  72. String yhkzhzt = bsjg.getStr("yhkzhzt");//银行卡账号状态
  73. TaxPersonRecordInfo taxPersonRecord = taxPersonRecordEntry.getBill();
  74. taxPersonRecord.setBankCardStatus(BankCardStatusEnum.getEnum(("1".equals(yhkzhzt) ? "2" : "3")));
  75. System.out.println("taxPersonRecordEntry:"+taxPersonRecordEntry);
  76. tyse.updatePartial(taxPersonRecordEntry, sc);
  77. }
  78. }
  79. messageResult = MessageResult.SUCCESS(result);
  80. } else {
  81. messageResult = MessageResult.FAILED(result);
  82. }
  83. } else if ("000004".equals(head.getStr("code"))) {
  84. messageResult =MessageResult.AGAIN("进行中,请稍后");
  85. } else {
  86. messageResult = MessageResult.FAILED(result);
  87. }
  88. }
  89. } catch (Exception e) {
  90. e.printStackTrace();
  91. messageResult = MessageResult.ERROR(ExceptionUtils.getStackTrace(e) + result);
  92. }
  93. return messageResult;
  94. }
  95. public SubmitStatusEnum StartReflection(String start) {
  96. if ("1".equals(start)) {
  97. return SubmitStatusEnum.NotSubmit;
  98. }else if ("2".equals(start)) {
  99. return SubmitStatusEnum.Submiting;
  100. }
  101. else if ("3".equals(start)) {
  102. return SubmitStatusEnum.SubmitFail;
  103. }
  104. else if ("4".equals(start)){
  105. return SubmitStatusEnum.HaveSubmit;
  106. }
  107. return SubmitStatusEnum.SubmitFail;
  108. }
  109. }