diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java index 5df747c..efaffbb 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractSettleUnauditCheckOp.java @@ -10,6 +10,7 @@ import kd.bos.entity.validate.AbstractValidator; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.DeleteServiceHelper; import java.math.BigDecimal; @@ -52,14 +53,24 @@ public class OutContractSettleUnauditCheckOp extends AbstractOperationServicePlu } } - DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_out_finaceconfirm", "id,zcgj_ec_out_contractid", new QFilter[]{new QFilter("zcgj_ec_out_contractid", QCP.equals, billId)}); + DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_out_finaceconfirm", "id,zcgj_ec_out_contractid,billstatus", new QFilter[]{new QFilter("zcgj_ec_out_contractid", QCP.equals, billId)}); if (load != null && load.length > 0) { - if(isReversabillid){ - this.addFatalErrorMessage(extendedDataEntity, "支出合同结算冲销单【"+billno+"】存在支出合同确认单,请删除支出合同确认单后再进行反审核操作。"); - }else{ - this.addFatalErrorMessage(extendedDataEntity, "支出合同结算单【"+billno+"】存在支出合同确认单,请删除支出合同确认单后再进行反审核操作。"); + for (DynamicObject dynamicObject : load) { + String billstatus = dynamicObject.getString("billstatus"); + if("C".equals(billstatus) || "B".equals(billstatus)) { + if(isReversabillid){ + this.addFatalErrorMessage(extendedDataEntity, "支出合同结算冲销单【"+billno+"】存在支出合同确认单,请删除支出合同确认单后再进行反审核操作。"); + }else{ + this.addFatalErrorMessage(extendedDataEntity, "支出合同结算单【"+billno+"】存在支出合同确认单,请删除支出合同确认单后再进行反审核操作。"); + } + return; + }else{ + QFilter idFilter = new QFilter("id", "=", dynamicObject.getLong("id")); + QFilter statusFilter = new QFilter("billstatus", "=", "A"); + DeleteServiceHelper.delete("zcgj_ec_out_finaceconfirm", new QFilter[]{idFilter.and(statusFilter)}); + } } - return; + } } }