diff --git a/src/main/java/com/yem/wm/im/materialpriceing/materialPriceingPlugin.java b/src/main/java/com/yem/wm/im/materialpriceing/materialPriceingPlugin.java new file mode 100644 index 00000000..1b6619c6 --- /dev/null +++ b/src/main/java/com/yem/wm/im/materialpriceing/materialPriceingPlugin.java @@ -0,0 +1,74 @@ +package com.yem.wm.im.materialpriceing; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; + +import java.math.BigDecimal; + +/** + * @author ljw + * @date 2024/9/6 10:05 + * @description materialPriceingPlugin + */ +public class materialPriceingPlugin extends AbstractBillPlugIn { + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + super.propertyChanged(e); + String name = e.getProperty().getName(); + ChangeData[] changeSet = e.getChangeSet(); + switch (name) { + case "yem_from": + yemFrom(e); + break; + case "yem_reach": + yemReach(e); + break; + } + } + + /** + * 至不允许小于等于从 + * + * @param e + */ + private void yemReach(PropertyChangedArgs e) { + ChangeData changeData = e.getChangeSet()[0]; + int rowIndex = changeData.getRowIndex(); + int parentRowIndex = changeData.getParentRowIndex(); + BigDecimal newValue = (BigDecimal) changeData.getNewValue(); + DynamicObjectCollection yemBdLogistics = this.getModel().getEntryEntity("yem_entryentity"); + BigDecimal bigDecimal = yemBdLogistics.get(parentRowIndex).getDynamicObjectCollection("yem_subentryentity").get(rowIndex).getBigDecimal("yem_from"); + if (bigDecimal.compareTo(newValue) >= 0) { + + this.getModel().setValue("yem_reach",0,rowIndex,parentRowIndex); + + this.getView().showMessage("至不允许小于等于从!!!"); + } + } + + /** + * 从不能小于前一行的至 + * + * @param e + */ + private void yemFrom(PropertyChangedArgs e) { + ChangeData changeData = e.getChangeSet()[0]; + int rowIndex = changeData.getRowIndex(); + if (rowIndex - 1 < 0) { + return; + } + int parentRowIndex = changeData.getParentRowIndex(); + BigDecimal newValue = (BigDecimal) changeData.getNewValue(); + DynamicObjectCollection yemBdLogistics = this.getModel().getEntryEntity("yem_entryentity"); + BigDecimal bigDecimal = yemBdLogistics.get(parentRowIndex).getDynamicObjectCollection("yem_subentryentity").get(rowIndex - 1).getBigDecimal("yem_reach"); + if (bigDecimal.compareTo(newValue) > 0) { + + this.getModel().setValue("yem_from",0,rowIndex,parentRowIndex); + this.getView().showMessage("从不能小于前一行的至!!!"); + } + } +}