采购订单-现返货返分摊到明细
This commit is contained in:
		
						commit
						60cc77ae80
					
				|  | @ -0,0 +1,48 @@ | |||
| package tqq9.lc123.cloud.app.plugin.form; | ||||
| 
 | ||||
| import kd.bos.bill.AbstractBillPlugIn; | ||||
| import kd.bos.dataentity.entity.DynamicObject; | ||||
| import kd.bos.dataentity.entity.DynamicObjectCollection; | ||||
| import kd.bos.entity.datamodel.events.PropertyChangedArgs; | ||||
| 
 | ||||
| import java.math.BigDecimal; | ||||
| import java.math.RoundingMode; | ||||
| 
 | ||||
| /** | ||||
|  * 采购订单 | ||||
|  *      现返、货返金额分摊 | ||||
|  */ | ||||
| public class PuroderBillShareRefundPlugin extends AbstractBillPlugIn { | ||||
| 
 | ||||
| 
 | ||||
|     @Override | ||||
|     public void propertyChanged(PropertyChangedArgs e) { | ||||
|         super.propertyChanged(e); | ||||
|         String name = e.getProperty().getName(); | ||||
|         DynamicObject dataEntity = this.getModel().getDataEntity(true); | ||||
|         if("tqq9_hsxfsyje".equals(name)){ | ||||
|             //含税现返使用金额 | ||||
|             BigDecimal tqq9_hsxfsyje = dataEntity.getBigDecimal(name); | ||||
|             if(tqq9_hsxfsyje.compareTo(BigDecimal.ZERO) > 0){ | ||||
|                 BigDecimal totalallamount = dataEntity.getBigDecimal("totalallamount");//单头价税合计 | ||||
|                 DynamicObjectCollection billentries = dataEntity.getDynamicObjectCollection("billentry"); | ||||
|                 if(billentries != null && billentries.size() > 0){ | ||||
|                     BigDecimal remainRefundAmt = totalallamount;//拆分后剩余的金额 | ||||
|                     for (int i = 0; i <= billentries.size() - 1; i++) { | ||||
|                         DynamicObject billentry = billentries.get(i); | ||||
|                         if(i == billentries.size() - 1){ | ||||
|                             billentry.set("tqq9_xfamount", remainRefundAmt);//明细现返使用金额 | ||||
|                         }else{ | ||||
|                             BigDecimal amountandtax = billentry.getBigDecimal("amountandtax");//明细价税合计 | ||||
|                             BigDecimal rate = amountandtax.divide(totalallamount, 2, RoundingMode.HALF_UP);//分录行含税金额比例 | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         if("tqq9_hshfsyje".equals(name)){ | ||||
|             //含税货返使用金额 | ||||
|             BigDecimal tqq9_hshfsyje = dataEntity.getBigDecimal(name); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue