|
@@ -5,6 +5,7 @@ import com.alibaba.druid.support.logging.LogFactory;
|
|
|
import fi.cas.opplugin.PayBillToolUtil;
|
|
|
import kd.bos.context.RequestContext;
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
+import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
import kd.bos.exception.KDException;
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
@@ -20,6 +21,8 @@ import java.util.Map;
|
|
|
*/
|
|
|
public class AgentPayCloseTast extends AbstractTask {
|
|
|
private static final Log log = LogFactory.getLog(AgentPayCloseTast.class);
|
|
|
+ private static String nckd_salarydistribute="nckd_salarydistribute";//薪酬计提发放单标识
|
|
|
+
|
|
|
@Override
|
|
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
|
|
//获取要查询的数据。状态为已审批,支付状态为支付中。核心状态为支付处理全部成功
|
|
@@ -53,6 +56,65 @@ public class AgentPayCloseTast extends AbstractTask {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ log.info("反写核心返回信息到上游薪酬计提单");
|
|
|
+ //获取代发分录
|
|
|
+ DynamicObjectCollection entryCollection=dataEntity.getDynamicObjectCollection("entry");
|
|
|
+ //获取源单id
|
|
|
+ Long sourcebillid=entryCollection.get(0).getLong("sourcebillid");
|
|
|
+ QFilter qfilter=new QFilter("id",QCP.equals,sourcebillid);
|
|
|
+ DynamicObject agentpaybill=BusinessDataServiceHelper
|
|
|
+ .loadSingle(nckd_salarydistribute,
|
|
|
+ "id,nckd_entrytype,nckd_staffentry,nckd_earlyretiredentry,nckd_retireentry,nckd_salaryentry" +
|
|
|
+ ",nckd_salaryentryre,nckd_se_success,nckd_se_sysfeedback,nckd_ee_success,nckd_ee_sysfeedback,nckd_re_success" +
|
|
|
+ ",nckd_re_sysfeedback,nckd_sae_success,nckd_sae_sysfeedback,nckd_see_success,nckd_see_sysfeedback"
|
|
|
+ ,new QFilter[]{qfilter});
|
|
|
+ //薪酬计提单分录类型
|
|
|
+ String nckd_entrytype=agentpaybill.getString("nckd_entrytype");
|
|
|
+ //薪酬计提单分录
|
|
|
+ if ("A".equals(nckd_entrytype)) {
|
|
|
+ //一般员工分录
|
|
|
+ DynamicObjectCollection nckd_staffentry=agentpaybill.getDynamicObjectCollection("nckd_staffentry");
|
|
|
+ for (int a=0;a<nckd_staffentry.size();a++) {
|
|
|
+ nckd_staffentry.get(a).set("nckd_se_success",entryCollection.get(a).getBoolean("e_issuccess"));
|
|
|
+ nckd_staffentry.get(a).set("nckd_se_sysfeedback",entryCollection.get(a).getString("bankreturnmsg"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("B".equals(nckd_entrytype)) {
|
|
|
+ //内退分录
|
|
|
+ DynamicObjectCollection nckd_earlyretiredentry=agentpaybill.getDynamicObjectCollection("nckd_earlyretiredentry");
|
|
|
+ for (int b=0;b<nckd_earlyretiredentry.size();b++)
|
|
|
+ {
|
|
|
+ nckd_earlyretiredentry.get(b).set("nckd_ee_success",entryCollection.get(b).getBoolean("e_issuccess"));
|
|
|
+ nckd_earlyretiredentry.get(b).set("nckd_ee_sysfeedback",entryCollection.get(b).getString("bankreturnmsg"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("C".equals(nckd_entrytype)) {
|
|
|
+ //退休分录
|
|
|
+ DynamicObjectCollection nckd_retireentry=agentpaybill.getDynamicObjectCollection("nckd_retireentry");
|
|
|
+ for (int c=0;c<nckd_retireentry.size();c++) {
|
|
|
+ nckd_retireentry.get(c).set("nckd_re_success",entryCollection.get(c).getBoolean("e_issuccess"));
|
|
|
+ nckd_retireentry.get(c).set("nckd_re_sysfeedback",entryCollection.get(c).getString("bankreturnmsg"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("D".equals(nckd_entrytype)) {
|
|
|
+ //人力薪酬分录
|
|
|
+ DynamicObjectCollection nckd_salaryentry=agentpaybill.getDynamicObjectCollection("nckd_salaryentry");
|
|
|
+ for (int d=0;d<nckd_salaryentry.size();d++) {
|
|
|
+ nckd_salaryentry.get(d).set("nckd_sae_success",entryCollection.get(d).getBoolean("e_issuccess"));
|
|
|
+ nckd_salaryentry.get(d).set("nckd_sae_sysfeedback",entryCollection.get(d).getString("bankreturnmsg"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("E".equals(nckd_entrytype)) {
|
|
|
+ //人力薪酬内退分录
|
|
|
+ DynamicObjectCollection nckd_salaryentry=agentpaybill.getDynamicObjectCollection("nckd_salaryentryre");
|
|
|
+ for (int d=0;d<nckd_salaryentry.size();d++) {
|
|
|
+ nckd_salaryentry.get(d).set("nckd_see_success",entryCollection.get(d).getBoolean("e_issuccess"));
|
|
|
+ nckd_salaryentry.get(d).set("nckd_see_sysfeedback",entryCollection.get(d).getString("bankreturnmsg"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //反写后保存
|
|
|
+ SaveServiceHelper.save(new DynamicObject[] {agentpaybill});
|
|
|
}
|
|
|
}
|
|
|
}
|