收款单携带客户优化
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("shjh_dfhm", oppunit);//收款单备注字段 | ||||||
|                         bill.set("payertype", "bd_customer");//付款人类型:客户 |                         bill.set("payertype", "bd_customer");//付款人类型:客户 | ||||||
|                         // 2025/6/18 优化: 先根据规则指定的付款人赋值 |                         // 2025/6/18 优化: 先根据规则指定的付款人赋值 | ||||||
|                         DynamicObject ePayerid = entry.getDynamicObject("e_payerid"); |                         if (bill.getString("payername")==null || "".equals(bill.getString("payername")) || bill.getLong("payer")==0L) { | ||||||
|                         if (null != ePayerid) { |                             carryCustomerRule(entry,bill,oppunit,companyId); | ||||||
|                             bill.set("payer", ePayerid.getPkValue()); //付款人id | //                            DynamicObject ePayerid = entry.getDynamicObject("e_payerid"); | ||||||
|                             bill.set("payername", ePayerid.getString("name")); //付款人名称 | //                            if (null != ePayerid) { | ||||||
|                         }else { | //                                bill.set("payer", ePayerid.getPkValue()); //付款人id | ||||||
|                             DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", new QFilter[]{new QFilter("name", QCP.equals, oppunit)}); | //                                bill.set("payername", ePayerid.getString("name")); //付款人名称 | ||||||
|                             if (null != bd_customer) { | //                            } else { | ||||||
|                                 bill.set("payer", bd_customer.getPkValue()); //付款人id | //                                DynamicObject bd_customer = BusinessDataServiceHelper.loadSingle("bd_customer", new QFilter[]{new QFilter("name", QCP.equals, oppunit)}); | ||||||
|                                 bill.set("payername", bd_customer.getString("name")); //付款人名称 | //                                if (null != bd_customer) { | ||||||
|                             } else { | //                                    bill.set("payer", bd_customer.getPkValue()); //付款人id | ||||||
|                                 boolean shjhEGetcustomer = entry.getBoolean("shjh_e_getcustomer"); //取规则得映射表客户标记 | //                                    bill.set("payername", bd_customer.getString("name")); //付款人名称 | ||||||
|                                 if (shjhEGetcustomer) { | //                                } else { | ||||||
|                                     QFilter qFilter = new QFilter("shjh_dfhm", QCP.equals, oppunit); | //                                    boolean shjhEGetcustomer = entry.getBoolean("shjh_e_getcustomer"); //取规则得映射表客户标记 | ||||||
|                                     //新增收款入账中心-资金组织&&映射表组织过滤 | //                                    if (shjhEGetcustomer) { | ||||||
|                                     qFilter.and(new QFilter("shjh_org.id",QCP.equals,companyId)); | //                                        QFilter qFilter = new QFilter("shjh_dfhm", QCP.equals, oppunit); | ||||||
|                                     //对方户名与客户名称映射表 shjh_dfhmcust | //                                        //新增收款入账中心-资金组织&&映射表组织过滤 | ||||||
|                                     DynamicObject shjhDfhmcust = BusinessDataServiceHelper.loadSingle("shjh_dfhmcust", qFilter.toArray()); | //                                        qFilter.and(new QFilter("shjh_org.id", QCP.equals, companyId)); | ||||||
|                                     if (null != shjhDfhmcust) { | //                                        //对方户名与客户名称映射表 shjh_dfhmcust | ||||||
|                                         DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer"); | //                                        DynamicObject shjhDfhmcust = BusinessDataServiceHelper.loadSingle("shjh_dfhmcust", qFilter.toArray()); | ||||||
|                                         if (null != shjhCustomer) { | //                                        if (null != shjhDfhmcust) { | ||||||
|                                             bill.set("payer", shjhCustomer.getPkValue()); //付款人id | //                                            DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer"); | ||||||
|                                             bill.set("payername", shjhCustomer.getString("name")); //付款人名称 | //                                            if (null != shjhCustomer) { | ||||||
|                                         } | //                                                bill.set("payer", shjhCustomer.getPkValue()); //付款人id | ||||||
|                                     }else { | //                                                bill.set("payername", shjhCustomer.getString("name")); //付款人名称 | ||||||
|                                         QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042 | //                                            } | ||||||
|                                         DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray()); | //                                        } else { | ||||||
|                                         if (null != bdCustomer) { | //                                            QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042 | ||||||
|                                             bill.set("payer", bdCustomer.getPkValue()); //付款人id | //                                            DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray()); | ||||||
|                                             bill.set("payername", bdCustomer.getString("name")); //付款人名称 | //                                            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()); | //                                    } else { | ||||||
|                                     if (null != bdCustomer) { | //                                        QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086"); //4000042 | ||||||
|                                         bill.set("payer", bdCustomer.getPkValue()); //付款人id | //                                        DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray()); | ||||||
|                                         bill.set("payername", bdCustomer.getString("name")); //付款人名称 | //                                        if (null != bdCustomer) { | ||||||
|                                     } | //                                            bill.set("payer", bdCustomer.getPkValue()); //付款人id | ||||||
|                                 } | //                                            bill.set("payername", bdCustomer.getString("name")); //付款人名称 | ||||||
|                             } | //                                        } | ||||||
| 
 | //                                    } | ||||||
|  | //                                } | ||||||
|  | //                            } | ||||||
|                         } |                         } | ||||||
| 
 | 
 | ||||||
|                         DynamicObject shjhBizbig = (DynamicObject) bill.get("shjh_bizebig");//收款单的业务大类 |                         DynamicObject shjhBizbig = (DynamicObject) bill.get("shjh_bizebig");//收款单的业务大类 | ||||||
|  | @ -584,4 +586,52 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme | ||||||
| 
 | 
 | ||||||
|         return true; // 客户不属于任何允许的客户组 |         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