目标成本评审审核操作插件,系统二开,去除审核通过后反写工序成本清单是否启用逻辑/工序成本预算单审核通过后“是否启用”赋值逻辑
This commit is contained in:
parent
fb120d58c8
commit
f60593547b
|
@ -0,0 +1,60 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.entity.operate.result.OperationResult;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
//工序成本预算单审核通过后“是否启用”赋值
|
||||||
|
public class AimCostBillAuditOp extends AbstractOperationServicePlugIn {
|
||||||
|
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
||||||
|
super.afterExecuteOperationTransaction(e);
|
||||||
|
String operationKey = e.getOperationKey();//操作标识
|
||||||
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
|
List<DynamicObject> modifiedEntities = new ArrayList<>();
|
||||||
|
for (DynamicObject model : dataEntities) {
|
||||||
|
long id = model.getLong("id");
|
||||||
|
QFilter f1 = new QFilter("id", "=", id);
|
||||||
|
DynamicObject dataEntity = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", new QFilter[]{f1});//工序成本预算单
|
||||||
|
if (dataEntity == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (dataEntity.getString("billstatus").equals("C") && operationKey.equals("audit")) {
|
||||||
|
//单据状态为已审核且操作标识为审核
|
||||||
|
dataEntity.set("isenable", true);//是否启用
|
||||||
|
BigDecimal versionno;
|
||||||
|
String zcgj_periodyear = dataEntity.getString("zcgj_periodyear");//年份
|
||||||
|
DynamicObject project = dataEntity.getDynamicObject("project");//项目
|
||||||
|
versionno = dataEntity.getBigDecimal("versionno");//版本号
|
||||||
|
if (versionno != null && versionno.compareTo(BigDecimal.ONE) > 0) {
|
||||||
|
versionno = versionno.subtract(BigDecimal.ONE);//版本号减1
|
||||||
|
}
|
||||||
|
QFilter filter = new QFilter("zcgj_periodyear", "=", zcgj_periodyear);
|
||||||
|
filter.and(new QFilter("project", "=", project.getPkValue()));
|
||||||
|
filter.and(new QFilter("versionno", "=", versionno));
|
||||||
|
DynamicObject ecco_aimcostbillcbs = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", new QFilter[]{filter});
|
||||||
|
if (ecco_aimcostbillcbs != null) {
|
||||||
|
ecco_aimcostbillcbs.set("isenable", false);//是否启用
|
||||||
|
modifiedEntities.add(ecco_aimcostbillcbs);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dataEntity.set("isenable", false);//是否启用
|
||||||
|
}
|
||||||
|
modifiedEntities.add(dataEntity);
|
||||||
|
}
|
||||||
|
if (!modifiedEntities.isEmpty()) {
|
||||||
|
try {
|
||||||
|
SaveServiceHelper.save(modifiedEntities.toArray(new DynamicObject[0]));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
throw new RuntimeException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,6 +29,7 @@ import kd.ec.cost.common.enums.CostReviewFromTypeEnum;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
|
//目标成本评审审核操作插件,系统二开,去除审核通过后反写工序成本清单是否启用逻辑
|
||||||
public class AimCostReviewOpExt extends AbstractOperationServicePlugIn {
|
public class AimCostReviewOpExt extends AbstractOperationServicePlugIn {
|
||||||
public AimCostReviewOpExt() {
|
public AimCostReviewOpExt() {
|
||||||
}
|
}
|
||||||
|
@ -106,7 +107,7 @@ public class AimCostReviewOpExt extends AbstractOperationServicePlugIn {
|
||||||
}).collect(Collectors.toSet());
|
}).collect(Collectors.toSet());
|
||||||
QFilter idFilter = new QFilter(AimcostcbsConstant.ID_ENTITY_PK, "in", cbsCostIds);
|
QFilter idFilter = new QFilter(AimcostcbsConstant.ID_ENTITY_PK, "in", cbsCostIds);
|
||||||
DynamicObject[] cbsCostEntities = BusinessDataServiceHelper.load("ecco_aimcostbillcbs", "project,unitproject,isenable,versionno", new QFilter[]{idFilter});
|
DynamicObject[] cbsCostEntities = BusinessDataServiceHelper.load("ecco_aimcostbillcbs", "project,unitproject,isenable,versionno", new QFilter[]{idFilter});
|
||||||
this.invokeCbsCostAudit(cbsCostEntities);
|
// this.invokeCbsCostAudit(cbsCostEntities);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue