75 lines
2.6 KiB
Java
75 lines
2.6 KiB
Java
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("从不能小于前一行的至!!!");
|
|
}
|
|
}
|
|
}
|