parent
							
								
									304d6c39cd
								
							
						
					
					
						commit
						e5b971b84f
					
				|  | @ -91,7 +91,7 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private DynamicObject xdMembersubject(DynamicObject bill){ | ||||
|     public static DynamicObject xdMembersubject(DynamicObject bill){ | ||||
|         //SAP应付凭证生成付款申请单后,系统自动根据配置表(shjh_request_account)带出资金计划科目 | ||||
|         QFilter qFilter = new QFilter("shjh_biztype", QCP.equals,"A");//业务类型:付款 | ||||
|         qFilter.and(new QFilter("enable", QCP.equals, "1"));//启用 | ||||
|  | @ -364,7 +364,7 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem | |||
|         return null; | ||||
|     } | ||||
| 
 | ||||
|     private String queryDyobj(QFilter qFilter){ | ||||
|     public static String queryDyobj(QFilter qFilter){ | ||||
|         String dyobj = ""; | ||||
|         DynamicObject[] load = BusinessDataServiceHelper.load("shjh_request_account", | ||||
|                 "id,shjh_membersubject", qFilter.toArray()); | ||||
|  |  | |||
|  | @ -120,7 +120,7 @@ public class PayBillSaveOperation extends AbstractOperationServicePlugIn impleme | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private DynamicObject xdMembersubject(DynamicObject bill){ | ||||
|     public static DynamicObject xdMembersubject(DynamicObject bill){ | ||||
|         //付款单,系统自动根据配置表(shjh_pay_account)带出资金计划科目 | ||||
|         QFilter qFilter = new QFilter("shjh_biztype", QCP.equals,"A");//业务类型:付款 | ||||
|         qFilter.and(new QFilter("enable", QCP.equals, "1"));//启用 | ||||
|  |  | |||
|  | @ -0,0 +1,78 @@ | |||
| package shjh.jhzj7.fi.fi.plugin.task; | ||||
| 
 | ||||
| import kd.bos.context.RequestContext; | ||||
| import kd.bos.dataentity.OperateOption; | ||||
| import kd.bos.dataentity.entity.DynamicObject; | ||||
| import kd.bos.entity.operate.OperateOptionConst; | ||||
| import kd.bos.entity.operate.result.OperationResult; | ||||
| import kd.bos.exception.KDException; | ||||
| import kd.bos.logging.Log; | ||||
| import kd.bos.logging.LogFactory; | ||||
| import kd.bos.orm.query.QCP; | ||||
| import kd.bos.orm.query.QFilter; | ||||
| import kd.bos.schedule.executor.AbstractTask; | ||||
| import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||
| import kd.bos.servicehelper.operation.OperationServiceHelper; | ||||
| import kd.bos.servicehelper.operation.SaveServiceHelper; | ||||
| import kd.sdk.plugin.Plugin; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| import static shjh.jhzj7.fi.fi.plugin.operate.PayBillSaveOperation.xdMembersubject; | ||||
| 
 | ||||
| public class ZjjhTask extends AbstractTask implements Plugin { | ||||
| 
 | ||||
|     private final static Log logger = LogFactory.getLog(ZjjhTask.class); | ||||
|     @Override | ||||
|     public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException { | ||||
| 
 | ||||
|         QFilter q1 = new QFilter("paymentidentify.number", QCP.equals, "FKBS02");//付款标识为被动付款 | ||||
|         QFilter q2 = new QFilter("paymentidentify.number", QCP.equals, "FKBS01");//付款标识为主动付款 | ||||
|         QFilter q3 = new QFilter("shjh_sourcesystem", QCP.equals, "A");//来源系统,A_sap,B_fk | ||||
|         QFilter q4 = new QFilter("shjh_sourcesystem", QCP.equals, "B");//来源系统,A_sap,B_fk | ||||
|         QFilter filter = q1.or(q2.and(q3.or(q4)));//filter条件为被动付款 或者 主动付款(且来源系统为sap或费控) | ||||
|         DynamicObject[] paybills = BusinessDataServiceHelper.load("cas_paybill", "id", filter.toArray()); | ||||
|         if (paybills.length!=0){ | ||||
|             ArrayList<Long> ids = new ArrayList<>(); | ||||
|             for (DynamicObject dynamicObject : paybills) { | ||||
|                 ids.add(dynamicObject.getLong("id")); | ||||
|             } | ||||
|             Map<Object, DynamicObject> recBillMap = BusinessDataServiceHelper.loadFromCache(ids.toArray(), "cas_paybill"); | ||||
|             OperateOption operateOption = OperateOption.create(); | ||||
|             // 不执行警告级别校验器 | ||||
|             operateOption.setVariableValue(OperateOptionConst.IGNOREWARN, String.valueOf(true)); | ||||
|             // 不显示交互提示,自动执行到底 | ||||
|             operateOption.setVariableValue(OperateOptionConst.IGNOREINTERACTION, String.valueOf(true)); | ||||
|             // 全部校验通过才保存 | ||||
|             operateOption.setVariableValue(OperateOptionConst.STRICTVALIDATION, String.valueOf(true)); | ||||
|             //同一个用户在多个界面操作同一张,也不允许操作 | ||||
|             operateOption.setVariableValue(OperateOptionConst.MUTEX_ISSTRICT, String.valueOf(true)); | ||||
|             for (DynamicObject cas_paybill : recBillMap.values()) { | ||||
|                 String string = cas_paybill.getString("paymentidentify.number"); | ||||
|                 //被动  如果是被动付款,则将现有付款单保存操作后,获取资金计划科目的代码直接复制拷贝至此; | ||||
|                 if ("FKBS02".equals(string)) { | ||||
|                     cas_paybill.set("shjh_membersubject", xdMembersubject(cas_paybill)); | ||||
|                     SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); | ||||
|                 } | ||||
|                 //主动 如果是主动付款,根据付款单查找到上游某一个付款申请单即可,再根据付款申请单对象,将现有付款申请单保存操作后获取资金计划科目的代码直接复制拷贝至此; | ||||
|                 if ("FKBS01".equals(string)) { | ||||
|                     long sourcebillid = cas_paybill.getLong("sourcebillid"); | ||||
|                     //根据付款单查找到上游某一个付款申请单即可 | ||||
|                     DynamicObject payapply = BusinessDataServiceHelper.loadSingle(sourcebillid, "ap_payapply"); | ||||
|                     if (null != payapply) { | ||||
|                         DynamicObject xdMembersubject = xdMembersubject(payapply); | ||||
|                         payapply.set("shjh_membersubject",xdMembersubject); | ||||
|                         SaveServiceHelper.save(new DynamicObject[]{payapply}); | ||||
|                         //将现有付款申请单保存操作后获取资金计划科目的代码直接复制拷贝至此 | ||||
|                         cas_paybill.set("shjh_membersubject", xdMembersubject); | ||||
|                         SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); | ||||
| 
 | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue