diff --git a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java index f4e54f37..69747a3b 100644 --- a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java +++ b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderEdit.java @@ -1981,6 +1981,23 @@ public class SalesOrderEdit extends AbstractBillPlugIn implements Plugin, Before if ("submit".equals(operateKey)) { setNewpPrice(dataEntity, view); checkGiftsGivenNumber(dataEntity, e); + DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("yem_es_salesorder_zp"); + Map map = new HashMap<>(); + for (DynamicObject dynamicObject : collection) { + DynamicObject yemGiveproactype = dynamicObject.getDynamicObject("yem_giveproactype"); + if (yemGiveproactype != null) { + long aLong = yemGiveproactype.getLong("id"); + BigDecimal yemSingleamt = dynamicObject.getBigDecimal("yem_singleamt"); + if (map.get(aLong)!=null){ + if (map.get(aLong).compareTo(yemSingleamt)!=0){ + ConfirmCallBackListener confirmCallBackListener = new ConfirmCallBackListener("checkGiftsGivenNumber", this); + this.getView().showConfirm("赠送配件分录同一机型存在多个单台配件金额,请检查后在进行提交!!!", MessageBoxOptions.OKCancel, confirmCallBackListener); + } + }else { + map.put(aLong,yemSingleamt); + } + } + } } if ("save".equals(operateKey)) { diff --git a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderZJEdit.java b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderZJEdit.java index 178061d9..3006e899 100644 --- a/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderZJEdit.java +++ b/src/main/java/com/yem/wm/es/salesorder/from/SalesOrderZJEdit.java @@ -619,10 +619,12 @@ public class SalesOrderZJEdit extends AbstractBillPlugIn implements Plugin, Befo IDataModel model = this.getModel(); DynamicObject dynamicObject = model.getDataEntity(true); DynamicObject giveproactype = (DynamicObject) model.getValue("yem_giveproactype", rowIndex); + BigDecimal yemSingleamt = (BigDecimal) model.getValue("yem_singleamt", rowIndex); if (giveproactype == null) return; DynamicObjectCollection materialinfo = dynamicObject.getDynamicObjectCollection("yem_es_materialinfo"); BigDecimal qty = BigDecimal.ZERO; for (DynamicObject object : materialinfo) { + BigDecimal yemSinglepartgiftmat = object.getBigDecimal("yem_singlepartgiftmat"); String businesssort = object.getString("yem_businesssort"); boolean ifgift = object.getBoolean("yem_ifgift"); if ("Z".equals(businesssort) && !ifgift) { @@ -630,7 +632,7 @@ public class SalesOrderZJEdit extends AbstractBillPlugIn implements Plugin, Befo if (productmodel == null) continue; productmodel = BusinessDataServiceHelper.loadSingle(productmodel.getPkValue(), productmodel.getDynamicObjectType().getName()); DynamicObject products = productmodel.getDynamicObject("yem_products"); - if (products != null && products.getLong("id") == giveproactype.getLong("id")) { + if (products != null && products.getLong("id") == giveproactype.getLong("id")&&yemSingleamt.compareTo(yemSinglepartgiftmat)==0) { qty = qty.add(object.getBigDecimal("yem_qty")); } }