|
@@ -25,24 +25,27 @@ public class ExpenseAccountFileOpPlugin extends AbstractOperationServicePlugIn {
|
|
|
public void endOperationTransaction(EndOperationTransactionArgs e) {
|
|
|
super.endOperationTransaction(e);
|
|
|
//获取当前操作单据数组
|
|
|
- DynamicObject[] dynamicObjects = e.getDataEntities();
|
|
|
- for (int i = 0; i < dynamicObjects.length; i++) {
|
|
|
- JSONObject object = new JSONObject();
|
|
|
- //当前单头数据包
|
|
|
- DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
|
- BigDecimal reimburseamount = info.getBigDecimal("reimburseamount");
|
|
|
- if(reimburseamount.compareTo(new BigDecimal(50000)) > -1){
|
|
|
- this.operationResult.addErrorInfo(new ValidationErrorInfo("",info.getPkValue(),
|
|
|
- 0,0,"err","billtitle",info.getString("billno")+"请关联出差申请单或上传线下审批单!", ErrorLevel.Error));
|
|
|
- }
|
|
|
- BigDecimal nckdFukuanamountfield = info.getBigDecimal("nckd_fukuanamountfield");
|
|
|
- DynamicObject dynamicObject = info.getDynamicObjectCollection("accountentry").get(0);
|
|
|
- if(dynamicObject!=null){
|
|
|
- BigDecimal orireceiveamount = dynamicObject.getBigDecimal("orireceiveamount");
|
|
|
- if(orireceiveamount.compareTo(nckdFukuanamountfield) == 1){
|
|
|
- throw new KDBizException("收款明细分录第一行收款金额大于单头付款金额,请检查!");
|
|
|
- } else if (orireceiveamount.compareTo(nckdFukuanamountfield) == -1) {
|
|
|
- throw new KDBizException("收款明细分录第一行收款金额不等于单头付款金额,请检查!");
|
|
|
+ String operationKey = e.getOperationKey();
|
|
|
+ if(!"er_dailyreimbursebill".equals(operationKey)){
|
|
|
+ DynamicObject[] dynamicObjects = e.getDataEntities();
|
|
|
+ for (int i = 0; i < dynamicObjects.length; i++) {
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
+ //当前单头数据包
|
|
|
+ DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
|
|
|
+ BigDecimal reimburseamount = info.getBigDecimal("reimburseamount");
|
|
|
+ if(reimburseamount.compareTo(new BigDecimal(50000)) > -1){
|
|
|
+ this.operationResult.addErrorInfo(new ValidationErrorInfo("",info.getPkValue(),
|
|
|
+ 0,0,"err","billtitle",info.getString("billno")+"请关联出差申请单或上传线下审批单!", ErrorLevel.Error));
|
|
|
+ }
|
|
|
+ BigDecimal nckdFukuanamountfield = info.getBigDecimal("nckd_fukuanamountfield");
|
|
|
+ DynamicObject dynamicObject = info.getDynamicObjectCollection("accountentry").get(0);
|
|
|
+ if(dynamicObject!=null){
|
|
|
+ BigDecimal orireceiveamount = dynamicObject.getBigDecimal("orireceiveamount");
|
|
|
+ if(orireceiveamount.compareTo(nckdFukuanamountfield) == 1){
|
|
|
+ throw new KDBizException("收款明细分录第一行收款金额大于单头付款金额,请检查!");
|
|
|
+ } else if (orireceiveamount.compareTo(nckdFukuanamountfield) == -1) {
|
|
|
+ throw new KDBizException("收款明细分录第一行收款金额不等于单头付款金额,请检查!");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|