1.订舱通知单提交效验汇总明细信息分录数量
This commit is contained in:
ljw 2024-11-12 18:07:07 +08:00
parent d755bffaee
commit 425d7d29a2
2 changed files with 40 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.yem.wm.es.storagetrans.op;
import com.yem.wm.es.storagetrans.validator.StorageTransSubmitValid;
import com.yem.wm.es.storagetrans.validator.StorageTransSubmitValidator;
import com.yem.wm.utils.YEM;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
@ -32,6 +33,7 @@ public class StorageTransSubmitOp extends AbstractOperationServicePlugIn {
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
e.addValidator(new StorageTransSubmitValidator());
e.addValidator(new AbstractValidator() {
@Override
public void validate() {

View File

@ -0,0 +1,38 @@
package com.yem.wm.es.storagetrans.validator;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.validate.AbstractValidator;
import java.math.BigDecimal;
/**
* @author ljw
* @date 2024/11/12 17:46
* @description StorageTransSubmitValidator
*/
public class StorageTransSubmitValidator extends AbstractValidator {
@Override
public void validate() {
ExtendedDataEntity[] dataEntities = this.getDataEntities();
for (ExtendedDataEntity dataEntitie : dataEntities) {
DynamicObject dataEntity = dataEntitie.getDataEntity();
DynamicObjectCollection yemEsMaterialinfo = dataEntity.getDynamicObjectCollection("yem_es_materialinfo");
BigDecimal yemOrdersumnumber = dataEntity.getBigDecimal("yem_ordersumnumber");
if (!yemEsMaterialinfo.isEmpty()){
BigDecimal yemQty = BigDecimal.ZERO;
for (DynamicObject dynamicObject : yemEsMaterialinfo) {
String yemBusinesssort = dynamicObject.getString("yem_businesssort");
boolean yemIfgift = dynamicObject.getBoolean("yem_ifgift");
if ("Z".equals(yemBusinesssort)&&!yemIfgift){
yemQty =yemQty.add(dynamicObject.getBigDecimal("yem_qty"));
}
}
if (yemOrdersumnumber.compareTo(yemQty)!= 0){
this.addMessage(dataEntitie,"订单总台数["+yemOrdersumnumber+"]和汇总数量["+yemQty+"]不一致,不允许提交!!!");
}
}
}
}
}