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.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.bos.util.BOSUuid; 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.shr.dydeploy.web.executeSql.ExceptionUtils; import org.apache.log4j.Logger; import java.util.List; import java.util.Map; /** * 扣除名单确认反馈 * description: GetPreDeductConfirmFeedBack
* date: 2024/8/29 15:02
* author: lhbj
* version: 1.0
*/ public class GetPreDeductConfirmFeedBack implements IHRMsfService { private static final Logger LOG = Logger.getLogger(GetPreDeductConfirmFeedBack.class); @Override public Object process(Context context, Map map) throws EASBizException, BOSException { 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.GETPREDEDUCTCONFIRMFEEDBACK_VALUE; JSONObject paramMap = JSONUtil.parseObj(paramData); //获取传入任务id String preTaskId = (String) paramMap.get("parent_taskid"); 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); String result = facade.get(url,paramData); JSONObject resultMap = JSONUtil.parseObj(result); JSONObject head = resultMap.getJSONObject("head"); JSONObject body = resultMap.getJSONObject("body"); String code = head.getStr("code"); if ("00000000".equals(code)) { TaskRequestParamInfo requestParamInfo = taskInfo.getRequestParam(); String paramCon = requestParamInfo.getParamContent(); JSONObject json = JSONUtil.parseObj(paramCon); JSONArray kczglb=json.getJSONArray("kczglb"); List listUp = Lists.newArrayList(); StringBuilder sqler = new StringBuilder(); sqler.append(" update T_HR_STaxDirectDeduction set FSATE='20' where fid in ( "); sqler.append(" select tdd.fid from T_HR_STaxDirectDeduction tdd "); sqler.append(" left join T_HR_STaxPersonRecordEntry tpre on tpre.fid=tdd.FTAXPERSONRECORDENTRYID "); sqler.append(" left join T_HR_STaxPersonRecord tpr on tpr.fid=tpre.FBILLID "); sqler.append(" left join T_HR_STaxUnitDeduction tud on tud.fid=tdd.FTAXUNITDEDUCTIONID "); sqler.append(" where tpre.fid is not null and tud.FTAXUNITID = tpre.FTAXUNITID and tpr.FCARDNUMBER=?)"); for(int i=0;i list = Lists.newArrayList(); for(int i=0;i