收款单携带客户优化
This commit is contained in:
parent
91734f9fd2
commit
e7181e9471
|
|
@ -124,47 +124,49 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
bill.set("shjh_dfhm", oppunit);//收款单备注字段
|
||||
bill.set("payertype", "bd_customer");//付款人类型:客户
|
||||
// 2025/6/18 优化: 先根据规则指定的付款人赋值
|
||||
DynamicObject ePayerid = entry.getDynamicObject("e_payerid");
|
||||
if (null != ePayerid) {
|
||||
bill.set("payer", ePayerid.getPkValue()); //付款人id
|
||||
bill.set("payername", ePayerid.getString("name")); //付款人名称
|
||||
}else {
|
||||
DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", new QFilter[]{new QFilter("name", QCP.equals, oppunit)});
|
||||
if (null != bd_customer) {
|
||||
bill.set("payer", bd_customer.getPkValue()); //付款人id
|
||||
bill.set("payername", bd_customer.getString("name")); //付款人名称
|
||||
} else {
|
||||
boolean shjhEGetcustomer = entry.getBoolean("shjh_e_getcustomer"); //取规则得映射表客户标记
|
||||
if (shjhEGetcustomer) {
|
||||
QFilter qFilter = new QFilter("shjh_dfhm", QCP.equals, oppunit);
|
||||
//新增收款入账中心-资金组织&&映射表组织过滤
|
||||
qFilter.and(new QFilter("shjh_org.id",QCP.equals,companyId));
|
||||
//对方户名与客户名称映射表 shjh_dfhmcust
|
||||
DynamicObject shjhDfhmcust = BusinessDataServiceHelper.loadSingle("shjh_dfhmcust", qFilter.toArray());
|
||||
if (null != shjhDfhmcust) {
|
||||
DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer");
|
||||
if (null != shjhCustomer) {
|
||||
bill.set("payer", shjhCustomer.getPkValue()); //付款人id
|
||||
bill.set("payername", shjhCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
}else {
|
||||
QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042
|
||||
DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
if (null != bdCustomer) {
|
||||
bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
}
|
||||
}else {
|
||||
QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042
|
||||
DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
if (null != bdCustomer) {
|
||||
bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bill.getString("payername")==null || "".equals(bill.getString("payername")) || bill.getLong("payer")==0L) {
|
||||
carryCustomerRule(entry,bill,oppunit,companyId);
|
||||
// DynamicObject ePayerid = entry.getDynamicObject("e_payerid");
|
||||
// if (null != ePayerid) {
|
||||
// bill.set("payer", ePayerid.getPkValue()); //付款人id
|
||||
// bill.set("payername", ePayerid.getString("name")); //付款人名称
|
||||
// } else {
|
||||
// DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", new QFilter[]{new QFilter("name", QCP.equals, oppunit)});
|
||||
// if (null != bd_customer) {
|
||||
// bill.set("payer", bd_customer.getPkValue()); //付款人id
|
||||
// bill.set("payername", bd_customer.getString("name")); //付款人名称
|
||||
// } else {
|
||||
// boolean shjhEGetcustomer = entry.getBoolean("shjh_e_getcustomer"); //取规则得映射表客户标记
|
||||
// if (shjhEGetcustomer) {
|
||||
// QFilter qFilter = new QFilter("shjh_dfhm", QCP.equals, oppunit);
|
||||
// //新增收款入账中心-资金组织&&映射表组织过滤
|
||||
// qFilter.and(new QFilter("shjh_org.id", QCP.equals, companyId));
|
||||
// //对方户名与客户名称映射表 shjh_dfhmcust
|
||||
// DynamicObject shjhDfhmcust = BusinessDataServiceHelper.loadSingle("shjh_dfhmcust", qFilter.toArray());
|
||||
// if (null != shjhDfhmcust) {
|
||||
// DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer");
|
||||
// if (null != shjhCustomer) {
|
||||
// bill.set("payer", shjhCustomer.getPkValue()); //付款人id
|
||||
// bill.set("payername", shjhCustomer.getString("name")); //付款人名称
|
||||
// }
|
||||
// } else {
|
||||
// QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042
|
||||
// DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
// if (null != bdCustomer) {
|
||||
// bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
// bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042
|
||||
// DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
// if (null != bdCustomer) {
|
||||
// bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
// bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
DynamicObject shjhBizbig = (DynamicObject) bill.get("shjh_bizebig");//收款单的业务大类
|
||||
|
|
@ -584,4 +586,52 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
|
||||
return true; // 客户不属于任何允许的客户组
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1.先看取映射表按钮是否打开,打开——>取映射表中客户
|
||||
* 2.映射表中未配置客户——>取规则生单中客户
|
||||
* 3.规则生单未配置客户——>取收款入账中心客户
|
||||
* 4.以上都未配置——>不确定客户
|
||||
*/
|
||||
private void carryCustomerRule(DynamicObject entry,DynamicObject bill,String oppunit,Long companyId){
|
||||
//1.先看取映射表按钮是否打开,打开——>取映射表中客户
|
||||
boolean shjhEGetcustomer = entry.getBoolean("shjh_e_getcustomer"); //取规则得映射表客户标记
|
||||
if (shjhEGetcustomer) {
|
||||
QFilter qFilter = new QFilter("shjh_dfhm", QCP.equals, oppunit);
|
||||
//新增收款入账中心-资金组织&&映射表组织过滤
|
||||
qFilter.and(new QFilter("shjh_org.id", QCP.equals, companyId));
|
||||
//对方户名与客户名称映射表 shjh_dfhmcust
|
||||
DynamicObject shjhDfhmcust = BusinessDataServiceHelper.loadSingle("shjh_dfhmcust", qFilter.toArray());
|
||||
if (null != shjhDfhmcust) {
|
||||
DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer");
|
||||
if (null != shjhCustomer) {
|
||||
bill.set("payer", shjhCustomer.getPkValue()); //付款人id
|
||||
bill.set("payername", shjhCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
} else {
|
||||
//2.映射表中未配置客户——>取规则生单中客户
|
||||
DynamicObject ePayerid = entry.getDynamicObject("e_payerid");
|
||||
if (null != ePayerid) {
|
||||
bill.set("payer", ePayerid.getPkValue()); //付款人id
|
||||
bill.set("payername", ePayerid.getString("name")); //付款人名称
|
||||
} else {
|
||||
//3.规则生单未配置客户——>取收款入账中心客户
|
||||
DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", new QFilter[]{new QFilter("name", QCP.equals, oppunit)});
|
||||
if (null != bd_customer) {
|
||||
bill.set("payer", bd_customer.getPkValue()); //付款人id
|
||||
bill.set("payername", bd_customer.getString("name")); //付款人名称
|
||||
} else {
|
||||
//4.规则生单未配置客户——>默认不确定客户
|
||||
QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042
|
||||
DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
if (null != bdCustomer) {
|
||||
bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue