|  | @@ -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});
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |