|  | @@ -0,0 +1,47 @@
 | 
											
												
													
														|  | 
 |  | +package fi.gl.business;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import kd.bos.dataentity.entity.DynamicObject;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.entity.ExtendedDataEntity;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.entity.validate.AbstractValidator;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.exception.KDBizException;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.orm.query.QCP;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.orm.query.QFilter;
 | 
											
												
													
														|  | 
 |  | +import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import java.util.Date;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +/**
 | 
											
												
													
														|  | 
 |  | + * 凭证操作插件校验器
 | 
											
												
													
														|  | 
 |  | + * 2024-07-15 wangj
 | 
											
												
													
														|  | 
 |  | + * 主要功能:校验凭证是否日结
 | 
											
												
													
														|  | 
 |  | + */
 | 
											
												
													
														|  | 
 |  | +public class VoucherValidator extends AbstractValidator {
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public void validate() {
 | 
											
												
													
														|  | 
 |  | +        String oKey = this.getOperateKey();
 | 
											
												
													
														|  | 
 |  | +        switch (oKey) {
 | 
											
												
													
														|  | 
 |  | +            case "save":
 | 
											
												
													
														|  | 
 |  | +            case "tblantipost":
 | 
											
												
													
														|  | 
 |  | +            case "unaudit":
 | 
											
												
													
														|  | 
 |  | +                checkDatas();
 | 
											
												
													
														|  | 
 |  | +                break;
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    private void checkDatas() {
 | 
											
												
													
														|  | 
 |  | +        for (ExtendedDataEntity rowDataEntity : this.getDataEntities()) {
 | 
											
												
													
														|  | 
 |  | +            DynamicObject bill = rowDataEntity.getDataEntity();
 | 
											
												
													
														|  | 
 |  | +            DynamicObject org = (DynamicObject) bill.get("org");
 | 
											
												
													
														|  | 
 |  | +            long orgId = org.getLong("id");
 | 
											
												
													
														|  | 
 |  | +            Date bizdate = bill.getDate("bizdate");
 | 
											
												
													
														|  | 
 |  | +            QFilter qFilter_org = new QFilter("nckd_org", QCP.equals,orgId);
 | 
											
												
													
														|  | 
 |  | +            QFilter qFilter_bizdate = new QFilter("nckd_dailydate",QCP.equals,bizdate);
 | 
											
												
													
														|  | 
 |  | +            DynamicObject[] dailybillCol = BusinessDataServiceHelper.load("nckd_gl_dailybill","id",
 | 
											
												
													
														|  | 
 |  | +                    new QFilter[]{qFilter_org,qFilter_bizdate});
 | 
											
												
													
														|  | 
 |  | +            if(dailybillCol!=null && dailybillCol.length>0){
 | 
											
												
													
														|  | 
 |  | +                String errorMessage = "当前组织对应业务日期已日结,无法新增、修改、反审核、反过账凭证";
 | 
											
												
													
														|  | 
 |  | +                throw new KDBizException(errorMessage);
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 |