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.google.common.collect.Lists; import com.google.common.collect.Maps; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.bsf.service.app.IHRMsfService; import com.kingdee.bos.dao.ormapping.ObjectUuidPK; 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.*; import com.kingdee.eas.custom.shuiyou.uitls.ISYUtilsFacade; import com.kingdee.eas.custom.shuiyou.uitls.SYUtilsFacadeFactory; import com.kingdee.eas.custom.shuiyou.uitls.URLConfigEnum; import com.kingdee.eas.util.app.DbUtil; import com.kingdee.jdbc.rowset.IRowSet; import com.kingdee.shr.dydeploy.web.executeSql.ExceptionUtils; import java.util.List; import java.util.Map; /** * 养老金下载反馈 * description: GetDownloadFeedback
* date: 2024/9/12 16:58
* author: lhbj
* version: 1.0
*/ public class GetPensionDownloadFeedback implements IHRMsfService { @Override public Object process(Context context, Map map) throws EASBizException, BOSException { SelectorItemCollection scs = new SelectorItemCollection(); scs.add(new SelectorItemInfo("state")); ITask iTask = TaskFactory.getLocalInstance(context); ISYUtilsFacade facade = SYUtilsFacadeFactory.getLocalInstance(context); //获取请求结果 TaskInfo taskInfo = null; String paramData = (String) map.get("paramData"); MessageResult messageResult = null; try { Map config = facade.getConfig(); String url = config.get("ip") + URLConfigEnum.PENSIONDOWNLOADFEEDBACK_VALUE; JSONObject paramMap = JSONUtil.parseObj(paramData); //获取传入任务id String preTaskId = (String) paramMap.get("parent_taskid"); String initIds = (String) paramMap.get("initIds"); //获取本次的数据id String taxIDS = initIds; StringBuilder sel = new StringBuilder(); sel.append(" select tax.fid,stpr.FCARDNUMBER from "); sel.append(" T_HR_STAXCALINITDETAIL tax "); sel.append(" left join T_HR_STaxPersonRecord stpr on stpr.FPERSONID=tax.FPERSONID "); sel.append(" left join T_HR_STaxPersonRecordEntry stpre on stpre.FBILLID =stpr.fid "); sel.append(" where tax.FTAXUNITID=stpre.FTAXUNITID "); sel.append(" and tax.fid in (" + taxIDS + ")"); IRowSet rs = DbUtil.executeQuery(context, sel.toString()); Map card_idMap = Maps.newHashMap(); while (rs.next()) { String id = rs.getString("fid"); String card = rs.getString("FCARDNUMBER"); card_idMap.put(card, id); } SelectorItemCollection sc = new SelectorItemCollection(); sc.add(new SelectorItemInfo("id")); sc.add(new SelectorItemInfo("url")); sc.add(new SelectorItemInfo("requestId")); sc.add(new SelectorItemInfo("requestType")); sc.add(new SelectorItemInfo("requestParam.id")); sc.add(new SelectorItemInfo("requestParam.paramContent")); sc.add(new SelectorItemInfo("requestResult.id")); sc.add(new SelectorItemInfo("requestResult.resultContent")); sc.add(new SelectorItemInfo("requestState")); sc.add(new SelectorItemInfo("state")); sc.add(new SelectorItemInfo("name")); sc.add(new SelectorItemInfo("osfServiceName")); sc.add(new SelectorItemInfo("number")); sc.add(new SelectorItemInfo("taskPre.id")); sc.add(new SelectorItemInfo("taskPre.state")); sc.add(new SelectorItemInfo("taskPre.requestState")); taskInfo = iTask.getTaskInfo(new ObjectUuidPK(preTaskId), sc); int pageNo = 1; int pageSize = 4999; boolean next = false; StringBuilder updateljgrylj = new StringBuilder(); updateljgrylj.append("update T_HR_STAXCALINITDETAIL set T46 =? where fid=?"); List list = Lists.newArrayList(); String result = facade.get(url, paramData); JSONObject resultMap = JSONUtil.parseObj(result); JSONObject head = resultMap.getJSONObject("head"); JSONArray body = resultMap.getJSONArray("body"); String code = head.getStr("code"); if ("00000000".equals(code)) { for(int j =0; j