进项发票占用校验
This commit is contained in:
parent
beefa099a9
commit
b3be09d148
|
|
@ -0,0 +1,59 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
|
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||||
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 进项发票占用校验
|
||||||
|
*/
|
||||||
|
public class InInvoiceUseCkOp extends AbstractOperationServicePlugIn {
|
||||||
|
|
||||||
|
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||||
|
super.onPreparePropertys(e);
|
||||||
|
e.getFieldKeys().add("serialno");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||||
|
super.onAddValidators(e);
|
||||||
|
e.getValidators().add(new ValidatorExt());
|
||||||
|
}
|
||||||
|
|
||||||
|
class ValidatorExt extends AbstractValidator {
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
||||||
|
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||||
|
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||||
|
String serialno = dataEntity.getString("serialno");
|
||||||
|
if(!StringUtils.isEmpty(serialno)) {
|
||||||
|
QFilter filterOrgDepId = new QFilter("serial_no", QCP.equals,serialno);
|
||||||
|
DynamicObject[] xpenseRelation = BusinessDataServiceHelper.load("rim_expense_relation", "number,expense_num", new QFilter[]{filterOrgDepId});
|
||||||
|
if(xpenseRelation != null && xpenseRelation.length > 0) {
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("当前发票已被单据%s绑定,不允许反审核!",xpenseRelation[0].getString("expense_num")));
|
||||||
|
}
|
||||||
|
/*DynamicObject zcgjAccounttype = dynamicObject.getDynamicObject("zcgj_accounttype");
|
||||||
|
if(zcgjAccounttype == null){
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("设备维修信息,第%d行科目属性不能为空!",i));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String number = zcgjAccounttype.getString("number");
|
||||||
|
DynamicObject cbs = dynamicObject.getDynamicObject("zcgj_pa_process");
|
||||||
|
if((StringUtils.equals(number, "FL001") || StringUtils.equals(number, "FL013") ) && cbs == null ){ //生成成本时,工序必录
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("设备维修信息,第%d行工序不能为空!",i));
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue