收款单携带客户优化
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