parent
							
								
									dde5c07008
								
							
						
					
					
						commit
						5dd99ab60c
					
				|  | @ -32,6 +32,11 @@ public class PayBillSaveOperation extends AbstractOperationServicePlugIn impleme | |||
|             //付款单保存之后 付款标识为被动付款,并且资金计划科目为空,从配置表(shjh_pay_account)携带资金计划科目 | ||||
|             DynamicObject[] dataEntities = e.getDataEntities(); | ||||
|             for (DynamicObject bill : dataEntities) { | ||||
| 
 | ||||
|                 //携带生单规则分录的业务大类,业务小类,成本中心,利润中心到收款处理单头 | ||||
|                 carryCustomer(bill); | ||||
|                 SaveServiceHelper.save(new DynamicObject[]{bill}); | ||||
| 
 | ||||
| //            bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(),"cas_paybill"); | ||||
|                 DynamicObject paymentidentify = bill.getDynamicObject("paymentidentify"); | ||||
|                 DynamicObject shjhMembersubject = bill.getDynamicObject("shjh_membersubject"); | ||||
|  | @ -47,6 +52,49 @@ public class PayBillSaveOperation extends AbstractOperationServicePlugIn impleme | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void carryCustomer(DynamicObject bill){ | ||||
|         String sourcebilltypes = (String) bill.get("sourcebilltype");//源单类型:被动付款入账(bei_intelpay) | ||||
|         if (!"bei_intelpay".equals(sourcebilltypes)) { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         String sourcebillnumber = (String)bill.get("sourcebillnumber");//源单编码:被动付款单号(bei_intelpay) | ||||
|         QFilter q1 = new QFilter("billno", QCP.equals, sourcebillnumber); | ||||
|         DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_intelpay", q1.toArray()); | ||||
|         if (null != beiIntelpay) { | ||||
|             String rulename = beiIntelpay.getString("rulename");//适配规则名称 | ||||
|             //根据适配规则名称查询适配规则 (cas_recpayrule) | ||||
|             // 单据:生单/通知规则(shjh_cas_recpayrule_ext)  单据体:入账规则(entryentity) 字段:规则项名称(e_rulesname) | ||||
|             QFilter q2 = new QFilter("entryentity.e_rulesname", QCP.equals, rulename); | ||||
|             DynamicObject rule = BusinessDataServiceHelper.loadSingle("cas_recpayrule",q2.toArray()); | ||||
|             if (null != rule) { | ||||
|                 //根据适配规则携带对应分录的业务大类,业务小类,成本中心,利润中心 | ||||
|                 DynamicObjectCollection collection = rule.getDynamicObjectCollection("entryentity"); | ||||
|                 for (DynamicObject entry : collection) { | ||||
|                     if (rulename.equals(entry.getString("e_rulesname"))) { | ||||
|                         DynamicObject shjhBizbig = (DynamicObject)bill.get("shjh_bizbig"); | ||||
|                         if (null == shjhBizbig) { | ||||
|                             bill.set("shjh_bizbig", entry.getDynamicObject("shjh_e_bizbig")); | ||||
|                         } | ||||
|                         DynamicObject shjhBizsmall = (DynamicObject)bill.get("shjh_bizsmall"); | ||||
|                         if (null == shjhBizsmall) { | ||||
|                             bill.set("shjh_bizsmall", entry.getDynamicObject("shjh_e_bizsmall")); | ||||
|                         } | ||||
|                         DynamicObject shjhCostcenter = (DynamicObject)bill.get("shjh_costcenter"); | ||||
|                         if (null == shjhCostcenter) { | ||||
|                             bill.set("shjh_costcenter", entry.getDynamicObject("shjh_e_cc")); | ||||
|                         } | ||||
|                         DynamicObject shjhPc = (DynamicObject)bill.get("shjh_pc"); | ||||
|                         if (null == shjhPc) { | ||||
|                             bill.set("shjh_pc", entry.getDynamicObject("shjh_e_pc")); | ||||
|                         } | ||||
|                         return; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private DynamicObject xdMembersubject(DynamicObject bill){ | ||||
|         //付款单,系统自动根据配置表(shjh_pay_account)带出资金计划科目 | ||||
|         QFilter qFilter = new QFilter("shjh_biztype", QCP.equals,"A");//业务类型:付款 | ||||
|  |  | |||
|  | @ -43,6 +43,53 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme | |||
|                 bill.set("shjh_planclass", xdMembersubject(bill)); | ||||
|                 SaveServiceHelper.save(new DynamicObject[]{bill}); | ||||
| //            } | ||||
| 
 | ||||
|             //携带生单规则分录的业务大类,业务小类,成本中心,利润中心到收款处理单头 | ||||
|             carryCustomer(bill); | ||||
|             SaveServiceHelper.save(new DynamicObject[]{bill}); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void carryCustomer(DynamicObject bill) { | ||||
|         String sourcebilltype = (String) bill.get("sourcebilltype");//源单类型:被动付款入账(bei_intelpay) | ||||
|         if (!"bei_intelrec".equals(sourcebilltype)) { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         String sourcebillnumber = (String) bill.get("sourcebillnumber");//源单编码:被动付款单号(bei_intelpay) | ||||
|         QFilter q1 = new QFilter("billno", QCP.equals, sourcebillnumber); | ||||
|         DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_intelrec", q1.toArray()); | ||||
|         if (null != beiIntelpay) { | ||||
|             String rulename = beiIntelpay.getString("rulename");//适配规则名称 | ||||
|             //根据适配规则名称查询适配规则 (cas_recpayrule) | ||||
|             // 单据:生单/通知规则(shjh_cas_recpayrule_ext)  单据体:入账规则(entryentity) 字段:规则项名称(e_rulesname) | ||||
|             QFilter q2 = new QFilter("entryentity.e_rulesname", QCP.equals, rulename); | ||||
|             DynamicObject rule = BusinessDataServiceHelper.loadSingle("cas_recpayrule", q2.toArray()); | ||||
|             if (null != rule) { | ||||
|                 //根据适配规则携带对应分录的业务大类,业务小类,成本中心,利润中心 | ||||
|                 DynamicObjectCollection collection = rule.getDynamicObjectCollection("entryentity"); | ||||
|                 for (DynamicObject entry : collection) { | ||||
|                     if (rulename.equals(entry.getString("e_rulesname"))) { | ||||
|                         DynamicObject shjhBizbig = (DynamicObject) bill.get("shjh_bizebig"); | ||||
|                         if (null == shjhBizbig) { | ||||
|                             bill.set("shjh_bizebig", entry.getDynamicObject("shjh_e_bizbig")); | ||||
|                         } | ||||
|                         DynamicObject shjhBizsmall = (DynamicObject) bill.get("shjh_bizsmall"); | ||||
|                         if (null == shjhBizsmall) { | ||||
|                             bill.set("shjh_bizsmall", entry.getDynamicObject("shjh_e_bizsmall")); | ||||
|                         } | ||||
|                         DynamicObject shjhCostcenter = (DynamicObject) bill.get("shjh_costcenter"); | ||||
|                         if (null == shjhCostcenter) { | ||||
|                             bill.set("shjh_costcenter", entry.getDynamicObject("shjh_e_cc")); | ||||
|                         } | ||||
|                         DynamicObject shjhPc = (DynamicObject) bill.get("shjh_profitcenter"); | ||||
|                         if (null == shjhPc) { | ||||
|                             bill.set("shjh_profitcenter", entry.getDynamicObject("shjh_e_pc")); | ||||
|                         } | ||||
|                         return; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue