1.发运提交的时候  如果该合同下发运明细单的历史总数量+本次发运总数量等于  关联合同的总数量,那么历史发运金额+当前发运金额的汇总值必须等于合同金额
  否则,不需判断
This commit is contained in:
ljw 2024-12-05 19:07:21 +08:00
parent 5f718ba1cb
commit def41ec6e9

View File

@ -33,7 +33,7 @@ public class ShippingDetailSubmitValidator extends AbstractValidator {
BigDecimal yemQty = BigDecimal.ZERO;//合同数量 BigDecimal yemQty = BigDecimal.ZERO;//合同数量
BigDecimal yemSumcost = BigDecimal.ZERO;//合同金额 BigDecimal yemSumcost = BigDecimal.ZERO;//合同金额
if (yemEsSaleorder != null) { if (yemEsSaleorder != null) {
yemSumcost = yemEsSaleorder.getBigDecimal("yem_sumcost"); yemSumcost = yemEsSaleorder.getBigDecimal("yem_offeramount");
DynamicObjectCollection yemEsMaterialinfo = yemEsSaleorder.getDynamicObjectCollection("yem_es_materialinfo"); DynamicObjectCollection yemEsMaterialinfo = yemEsSaleorder.getDynamicObjectCollection("yem_es_materialinfo");
for (DynamicObject dynamicObject : yemEsMaterialinfo) { for (DynamicObject dynamicObject : yemEsMaterialinfo) {
yemQty = yemQty.add(dynamicObject.getBigDecimal("yem_qty")); yemQty = yemQty.add(dynamicObject.getBigDecimal("yem_qty"));
@ -41,7 +41,7 @@ public class ShippingDetailSubmitValidator extends AbstractValidator {
} }
DynamicObjectCollection materialInfos = dataEntity.getDynamicObjectCollection("yem_es_materialinfo"); DynamicObjectCollection materialInfos = dataEntity.getDynamicObjectCollection("yem_es_materialinfo");
BigDecimal qty = BigDecimal.ZERO;//发运数量 BigDecimal qty = BigDecimal.ZERO;//发运数量
BigDecimal sumcost = dataEntity.getBigDecimal("yem_sumcost");//发运金额 BigDecimal sumcost = dataEntity.getBigDecimal("yem_offeramount");//发运金额
for (int i = 0; i < materialInfos.size(); i++) { for (int i = 0; i < materialInfos.size(); i++) {
DynamicObject materialInfo = materialInfos.get(i); DynamicObject materialInfo = materialInfos.get(i);
qty = qty.add(materialInfo.getBigDecimal("yem_qty")); qty = qty.add(materialInfo.getBigDecimal("yem_qty"));
@ -53,7 +53,7 @@ public class ShippingDetailSubmitValidator extends AbstractValidator {
if (YEM.isNotEmpty(yem_shippingdetails)){ if (YEM.isNotEmpty(yem_shippingdetails)){
for (DynamicObject yem_shippingdetail : yem_shippingdetails) { for (DynamicObject yem_shippingdetail : yem_shippingdetails) {
DynamicObjectCollection yemEsMaterialinfo = yem_shippingdetail.getDynamicObjectCollection("yem_es_materialinfo"); DynamicObjectCollection yemEsMaterialinfo = yem_shippingdetail.getDynamicObjectCollection("yem_es_materialinfo");
sumcost = sumcost.add(yem_shippingdetail.getBigDecimal("yem_sumcost")); sumcost = sumcost.add(yem_shippingdetail.getBigDecimal("yem_offeramount"));
for (int i = 0; i < yemEsMaterialinfo.size(); i++) { for (int i = 0; i < yemEsMaterialinfo.size(); i++) {
DynamicObject materialInfo = yemEsMaterialinfo.get(i); DynamicObject materialInfo = yemEsMaterialinfo.get(i);
qty = qty.add(materialInfo.getBigDecimal("yem_qty")); qty = qty.add(materialInfo.getBigDecimal("yem_qty"));
@ -62,8 +62,8 @@ public class ShippingDetailSubmitValidator extends AbstractValidator {
} }
if (yemQty.compareTo(qty) == 0){ if (yemQty.compareTo(qty) == 0){
if (sumcost.compareTo(yemSumcost)!=0){ if (sumcost.compareTo(yemSumcost)!=0){
this.addMessage(dataEntitie,"历史发运金额:"+sumcost.subtract(dataEntity.getBigDecimal("yem_sumcost"))+"元+当前发运金额:"+ this.addMessage(dataEntitie,"历史发运金额:"+sumcost.subtract(dataEntity.getBigDecimal("yem_offeramount"))+"元+当前发运金额:"+
dataEntity.getBigDecimal("yem_sumcost")+"元,不等于合同金额:"+yemSumcost+"元,请自行修改发运金额!"); dataEntity.getBigDecimal("yem_offeramount")+"元,不等于合同金额:"+yemSumcost+"元,请自行修改发运金额!");
} }
} }
vehicleNoSingle(dataEntitie); vehicleNoSingle(dataEntitie);