支出财务确认单增加是否冲预付的判断
This commit is contained in:
parent
aff78c9e0a
commit
29f0fd2435
|
@ -33,6 +33,7 @@ public class OutFinaceconfirmReversalamountCkOp extends AbstractOperationService
|
||||||
e.getFieldKeys().add("zcgj_prepayentry.zcgj_sourceapplybillid");
|
e.getFieldKeys().add("zcgj_prepayentry.zcgj_sourceapplybillid");
|
||||||
e.getFieldKeys().add("zcgj_prepayentry.zcgj_sourceapplyentryid");
|
e.getFieldKeys().add("zcgj_prepayentry.zcgj_sourceapplyentryid");
|
||||||
e.getFieldKeys().add("zcgj_prepayentry.zcgj_boltamount");
|
e.getFieldKeys().add("zcgj_prepayentry.zcgj_boltamount");
|
||||||
|
e.getFieldKeys().add("zcgj_isprepay");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -51,48 +52,36 @@ public class OutFinaceconfirmReversalamountCkOp extends AbstractOperationService
|
||||||
for (int i = 0; i < entryEntityCollection.size(); i++) {
|
for (int i = 0; i < entryEntityCollection.size(); i++) {
|
||||||
DynamicObject entryEntity = entryEntityCollection.get(i);
|
DynamicObject entryEntity = entryEntityCollection.get(i);
|
||||||
DynamicObjectCollection prepayentryCollection = dataEntity.getDynamicObjectCollection("zcgj_prepayentry");//冲销预付分录
|
DynamicObjectCollection prepayentryCollection = dataEntity.getDynamicObjectCollection("zcgj_prepayentry");//冲销预付分录
|
||||||
int seq = 0;
|
String isprepay = dataEntity.getString("zcgj_isprepay");
|
||||||
for (DynamicObject prepay : prepayentryCollection) {
|
if("10".equals(isprepay)){
|
||||||
seq++;
|
if(prepayentryCollection == null || prepayentryCollection.isEmpty()){
|
||||||
long sourceapplybillid = prepay.getLong("zcgj_sourceapplybillid");
|
this.addFatalErrorMessage(extendedDataEntity, String.format("请录入冲销预付明细数据!"));
|
||||||
long sourceapplyentryid = prepay.getLong("zcgj_sourceapplyentryid");
|
}else{
|
||||||
BigDecimal boltamount = prepay.getBigDecimal("zcgj_boltamount");//支出财务确认单冲销金额
|
int seq = 0;
|
||||||
DynamicObject paymentapply = BusinessDataServiceHelper.loadSingle(sourceapplybillid, "ec_paymentapply");//工程资金付款申请单
|
for (DynamicObject prepay : prepayentryCollection) {
|
||||||
if (paymentapply != null) {
|
seq++;
|
||||||
DynamicObjectCollection entryentityCollection = paymentapply.getDynamicObjectCollection("entryentity");
|
long sourceapplybillid = prepay.getLong("zcgj_sourceapplybillid");
|
||||||
|
long sourceapplyentryid = prepay.getLong("zcgj_sourceapplyentryid");
|
||||||
|
BigDecimal boltamount = prepay.getBigDecimal("zcgj_boltamount");//支出财务确认单冲销金额
|
||||||
|
DynamicObject paymentapply = BusinessDataServiceHelper.loadSingle(sourceapplybillid, "ec_paymentapply");//工程资金付款申请单
|
||||||
|
if (paymentapply != null) {
|
||||||
|
DynamicObjectCollection entryentityCollection = paymentapply.getDynamicObjectCollection("entryentity");
|
||||||
|
|
||||||
for (DynamicObject dynamicObject : entryentityCollection) {
|
for (DynamicObject dynamicObject : entryentityCollection) {
|
||||||
BigDecimal thisrealpayamt = dynamicObject.getBigDecimal("thisrealpayamt");//付款申请单本次实付金额
|
BigDecimal thisrealpayamt = dynamicObject.getBigDecimal("thisrealpayamt");//付款申请单本次实付金额
|
||||||
long pkValue = (long)dynamicObject.getPkValue();
|
long pkValue = (long)dynamicObject.getPkValue();
|
||||||
if(pkValue==sourceapplyentryid){
|
if(pkValue==sourceapplyentryid){
|
||||||
BigDecimal zcgjYreversalamount = dynamicObject.getBigDecimal("zcgj_yreversalamount");
|
BigDecimal zcgjYreversalamount = dynamicObject.getBigDecimal("zcgj_yreversalamount");
|
||||||
zcgjYreversalamount = zcgjYreversalamount.add(boltamount);
|
zcgjYreversalamount = zcgjYreversalamount.add(boltamount);
|
||||||
if(thisrealpayamt.subtract(zcgjYreversalamount).compareTo(BigDecimal.ZERO) < 0){
|
if(thisrealpayamt.subtract(zcgjYreversalamount).compareTo(BigDecimal.ZERO) < 0){
|
||||||
this.addFatalErrorMessage(extendedDataEntity, String.format("冲销预付分录第%d行,冲销金额超限!",seq));
|
this.addFatalErrorMessage(extendedDataEntity, String.format("冲销预付分录第%d行,冲销金额超限!",seq));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*DynamicObject contract = entryEntity.getDynamicObject("contract");//合同名称
|
|
||||||
String contractNumber = null;
|
|
||||||
if (contract != null) {
|
|
||||||
contractNumber = contract.getString("number");//合同编号
|
|
||||||
}
|
|
||||||
String paymentType = entryEntity.getString("paymenttype");//支付类型
|
|
||||||
DynamicObject settleType = entryEntity.getDynamicObject("settletype");//结算方式
|
|
||||||
String settleTypeName = null;
|
|
||||||
if (settleType != null) {
|
|
||||||
settleTypeName = settleType.getString("name");//结算方式编码
|
|
||||||
}
|
|
||||||
String combinationKey = contractNumber + "|" + paymentType + "|" + settleTypeName;
|
|
||||||
if (combinationIndices.containsKey(combinationKey)) {
|
|
||||||
this.addFatalErrorMessage(extendedDataEntity, "付款信息中一个合同不能填写多行相同的支付类型+结算方式");
|
|
||||||
} else {
|
|
||||||
List<Integer> indices = new ArrayList<>();
|
|
||||||
indices.add(i);
|
|
||||||
combinationIndices.put(combinationKey, indices);
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue