123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- 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 <br>
- * date: 2024/9/12 16:58 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
- 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<String, Object> 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<String, String> 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<String[]> 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<body.size();j++) {
- JSONObject bod = body.getJSONObject(j);
- JSONArray ljjg = bod.getJSONArray("ljjg");
- //遍历明细数据
- for (int i = 0; i < ljjg.size(); i++) {
- JSONObject sfn = ljjg.getJSONObject(i);
- String zzhm = sfn.getStr("zzhm");
- String ljgrylj = sfn.getStr("ljgrylj");
- String[] par = new String[2];
- par[0] = card_idMap.get(zzhm);
- par[1] = ljgrylj;
- list.add(par);
- }
- }
- DbUtil.executeBatch(context, updateljgrylj.toString(), list);
- messageResult = MessageResult.SUCCESS(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));
- }finally {
- iTask.updatePartial(taskInfo, scs);
- }
- return messageResult;
- }
- /**
- * 查询项目
- *
- * @param context
- * @param number
- * @return
- */
- protected String getFieldByNumber(Context context, String number) {
- String sql = "select ('T'||FIELDSN) fieldName,fname_L2 from T_HR_STaxItem where FSIMPLENAME=?";
- try {
- IRowSet rs = DbUtil.executeQuery(context, sql, new String[]{number});
- if (rs.next()) {
- return rs.getString("fieldName");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }
|