PersonnelReportService.java 5.7 KB

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