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