明细报表开发

This commit is contained in:
ljw 2024-09-06 10:45:02 +08:00 committed by zzs01@yunemao.com
parent b5900ccd56
commit 13f5145fc2

View File

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