123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package com.kingdee.eas.custom.shuiyou.six.osf;
- import cn.hutool.json.JSONArray;
- import cn.hutool.json.JSONObject;
- import cn.hutool.json.JSONUtil;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.bsf.service.app.IHRMsfService;
- import com.kingdee.bos.metadata.entity.SelectorItemCollection;
- import com.kingdee.bos.metadata.entity.SelectorItemInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.custom.shuiyou.task.MessageResult;
- import com.kingdee.eas.custom.shuiyou.uitls.ISYUtilsFacade;
- import com.kingdee.eas.custom.shuiyou.uitls.SYUtilsFacadeFactory;
- import com.kingdee.shr.compensation.BankCardStatusEnum;
- import com.kingdee.shr.compensation.IdentityStatusEnume;
- import com.kingdee.shr.compensation.SubmitStatusEnum;
- import com.kingdee.shr.compensation.app.incomeTax.ITaxPersonRecordEntry;
- import com.kingdee.shr.compensation.app.incomeTax.TaxPersonRecordEntryFactory;
- import com.kingdee.shr.compensation.app.incomeTax.TaxPersonRecordEntryInfo;
- import com.kingdee.shr.compensation.app.incomeTax.TaxPersonRecordInfo;
- import com.kingdee.shr.dydeploy.web.executeSql.ExceptionUtils;
- import org.apache.log4j.Logger;
- import java.util.Map;
- /**
- * 人员报送反馈接口
- */
- public class PersonnelReportService implements IHRMsfService {
- private static Logger logger = Logger.getLogger("com.kingdee.eas.custom.shuiyou.service.PersonnelReportService");
- @Override
- public Object process(Context context, Map map) throws EASBizException, BOSException {
- logger.error("com.kingdee.eas.custom.shuiyou.service.PersonnelReportService.process");
- MessageResult messageResult=null;
- String paramData = (String) map.get("paramData");
- System.out.println("PersonnelReportService:"+paramData);
- ISYUtilsFacade facade = SYUtilsFacadeFactory.getLocalInstance(context);
- Map<String,String> config = facade.getConfig();
- String url = config.get("ip")+"/gateway/iit/declare/getEmployeeInfoFeedback";
- String result=null;
- try {
- result = facade.get(url, paramData);
- if (result == null) {
- messageResult = MessageResult.ERROR("参数result为空");
- } else {
- JSONObject jsonObject = JSONUtil.parseObj(result);
- logger.error("入参:" + jsonObject);
- JSONObject head = jsonObject.getJSONObject("head");
- String code =head.getStr("code");
- if ("00000000".equals(code)){
- JSONObject body = jsonObject.getJSONObject("body");
- if(body.containsKey("bsjg")) {
- JSONArray bsjgs = body.getJSONArray("bsjg");
- SelectorItemCollection sc = new SelectorItemCollection();
- sc.add(new SelectorItemInfo("identityStatus"));
- sc.add(new SelectorItemInfo("submitStatus"));
- sc.add(new SelectorItemInfo("failReason"));
- sc.add(new SelectorItemInfo("failReason"));
- sc.add(new SelectorItemInfo("bill.bankCardStatus"));
- for (int b = 0; b < bsjgs.size(); b++) {
- JSONObject bsjg = bsjgs.getJSONObject(b);
- String zzhm = bsjg.getStr("zzhm");
- ITaxPersonRecordEntry tyse = TaxPersonRecordEntryFactory.getLocalInstance(context);
- TaxPersonRecordEntryInfo taxPersonRecordEntry = tyse.getTaxPersonRecordEntryInfo("select * , bill.* where bill.cardnumber = '" + zzhm + "'");
- String sbzt = bsjg.getStr("sbzt");//报送状态 1 待报送 2 代报中 3 代报失败 4 代报成功
- taxPersonRecordEntry.setSubmitStatus(StartReflection(sbzt));
- String rzzt = bsjg.getStr("rzzt");//验证状态0 若是身份证,状态为验证中;其他证件为暂不验证 1 验证通过 2 验证不通过 4 待验证 9 同代码0处理
- taxPersonRecordEntry.setIdentityStatus(IdentityStatusEnume.getEnum(("4".compareTo(rzzt) < 0 ? "0" : rzzt)));
- //bsjg.getString("sfyjd");//是否建档
- String sbyy = bsjg.getStr("sbyy");//失败原因
- taxPersonRecordEntry.setFailReason(sbyy);
- String yhkzhzt = bsjg.getStr("yhkzhzt");//银行卡账号状态
- TaxPersonRecordInfo taxPersonRecord = taxPersonRecordEntry.getBill();
- taxPersonRecord.setBankCardStatus(BankCardStatusEnum.getEnum(("1".equals(yhkzhzt) ? "2" : "3")));
- tyse.updatePartial(taxPersonRecordEntry, sc);
- }
- messageResult = MessageResult.SUCCESS(result);
- }else {
- messageResult = MessageResult.FAILED(result);
- }
- }else if("00000004".equals(head.getStr("code"))) {
- messageResult = MessageResult.AGAIN();
- }else {
- messageResult = MessageResult.FAILED(result);
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- messageResult = MessageResult.ERROR(ExceptionUtils.getStackTrace(e)+result);
- }
- return messageResult;
- }
- public SubmitStatusEnum StartReflection(String start){
- switch (start){
- case "1":
- return SubmitStatusEnum.NotSubmit;
- case "2":
- return SubmitStatusEnum.Submiting;
- case "3":
- return SubmitStatusEnum.SubmitFail;
- case "4":
- return SubmitStatusEnum.HaveSubmit;
- }
- return null;
- }
- }
|