|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|