优化发票
This commit is contained in:
		
							parent
							
								
									b49d697f07
								
							
						
					
					
						commit
						bfbb917ed4
					
				|  | @ -20,6 +20,7 @@ import kd.bos.dataentity.entity.DynamicObjectCollection; | ||||||
| import kd.bos.dataentity.resource.ResManager; | import kd.bos.dataentity.resource.ResManager; | ||||||
| import kd.bos.entity.EntityMetadataCache; | import kd.bos.entity.EntityMetadataCache; | ||||||
| import kd.bos.entity.datamodel.ListSelectedRowCollection; | import kd.bos.entity.datamodel.ListSelectedRowCollection; | ||||||
|  | import kd.bos.entity.datamodel.events.ChangeData; | ||||||
| import kd.bos.entity.datamodel.events.PropertyChangedArgs; | import kd.bos.entity.datamodel.events.PropertyChangedArgs; | ||||||
| import kd.bos.entity.operate.result.OperationResult; | import kd.bos.entity.operate.result.OperationResult; | ||||||
| import kd.bos.fileservice.FileItem; | import kd.bos.fileservice.FileItem; | ||||||
|  | @ -146,6 +147,17 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF | ||||||
|         String name = e.getProperty().getName(); |         String name = e.getProperty().getName(); | ||||||
|         if ("qeug_attachmentcount".equals(name)){ |         if ("qeug_attachmentcount".equals(name)){ | ||||||
|             this.getView().addClientCallBack("auto_save",0); |             this.getView().addClientCallBack("auto_save",0); | ||||||
|  |         }else if ("qeug_isticket".equals(name)){//是否补单字段 | ||||||
|  |             ChangeData[] changeSet = e.getChangeSet(); | ||||||
|  |             boolean newValue = (boolean) changeSet[0].getNewValue();//新值 | ||||||
|  |             if (newValue){//若新值为true,则表明需要补票,校验发票分录须为空 | ||||||
|  |                 DynamicObjectCollection invoiceentry = this.getModel().getEntryEntity("invoiceentry"); | ||||||
|  |                 if (invoiceentry.size() > 0){ | ||||||
|  |                     this.getModel().setValue("qeug_isticket",false); | ||||||
|  |                     this.getView().showTipNotification("进行补票时,不允许上传发票,请删除关联发票后重新勾选"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -551,7 +563,6 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF | ||||||
|     @Override |     @Override | ||||||
|     public void beforeDoOperation(BeforeDoOperationEventArgs args) { |     public void beforeDoOperation(BeforeDoOperationEventArgs args) { | ||||||
|         super.beforeDoOperation(args); |         super.beforeDoOperation(args); | ||||||
| 
 |  | ||||||
|         FormOperate source = (FormOperate) args.getSource(); |         FormOperate source = (FormOperate) args.getSource(); | ||||||
|         String operateKey = source.getOperateKey(); |         String operateKey = source.getOperateKey(); | ||||||
|         DynamicObject dataEntity = this.getModel().getDataEntity();//单据数据 |         DynamicObject dataEntity = this.getModel().getDataEntity();//单据数据 | ||||||
|  | @ -665,6 +676,27 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|  |             case "submit": | ||||||
|  |                 boolean qeug_isticket = dataEntity.getBoolean("qeug_isticket");//查看是否补单状态 | ||||||
|  |                 DynamicObjectCollection invoiceEntrys = getModel().getEntryEntity("invoiceentry");//获取发票分录 | ||||||
|  |                 if (qeug_isticket){//若需要补单,则不允许发票分录存在数据 | ||||||
|  |                     if (invoiceEntrys.size()  > 0){ | ||||||
|  |                         args.setCancel(true);//取消操作 | ||||||
|  |                         this.getView().showTipNotification("补票单据禁止关联发票,请删除后重新提交"); | ||||||
|  |                     } | ||||||
|  |                 }else {//无需补票的时候必须提交等额申请核销的发票 | ||||||
|  |                     BigDecimal applyamt = dataEntity.getBigDecimal("applyamt");//本期申请金额 | ||||||
|  |                     BigDecimal invoiceApplyAmt = BigDecimal.ZERO;//初始化申请核销金额之和 | ||||||
|  |                     for (DynamicObject invoiceEntry : invoiceEntrys) { | ||||||
|  |                         BigDecimal inventry_haswriteoffamt = invoiceEntry.getBigDecimal("inventry_haswriteoffamt");//发票申请核销金额 | ||||||
|  |                         invoiceApplyAmt = invoiceApplyAmt.add(inventry_haswriteoffamt);//汇总发票申请核销金额 | ||||||
|  |                     } | ||||||
|  |                     if (applyamt.compareTo(invoiceApplyAmt) != 0){ | ||||||
|  |                         args.setCancel(true);//取消操作 | ||||||
|  |                         this.getView().showTipNotification("本期申请金额须等于发票申请核销金额之和,请修改关联发票后重新提交"); | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 break; | ||||||
|             default: |             default: | ||||||
|                 break; |                 break; | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue