优化发票
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.entity.EntityMetadataCache;
|
||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||
import kd.bos.entity.datamodel.events.ChangeData;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.fileservice.FileItem;
|
||||
|
@ -146,6 +147,17 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF
|
|||
String name = e.getProperty().getName();
|
||||
if ("qeug_attachmentcount".equals(name)){
|
||||
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
|
||||
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
||||
super.beforeDoOperation(args);
|
||||
|
||||
FormOperate source = (FormOperate) args.getSource();
|
||||
String operateKey = source.getOperateKey();
|
||||
DynamicObject dataEntity = this.getModel().getDataEntity();//单据数据
|
||||
|
@ -665,6 +676,27 @@ public class ReconPayreqFormPlugin extends AbstractFormPlugin implements BeforeF
|
|||
}
|
||||
}
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue