ソースを参照

Merge remote-tracking branch 'origin/master'

徐昊 9 ヶ月 前
コミット
7fa9887fe8

+ 47 - 0
src/main/java/fi/gl/business/VoucherValidator.java

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

+ 0 - 10
src/main/java/fi/gl/formplugin/VoucherOpPlugin.java

@@ -1,10 +0,0 @@
-package fi.gl.formplugin;
-
-/**
- * 动态表单操作
- * 日结执行界面插件
- * 2024-07-15 wangj
- * 主要功能:校验凭证是否日结
- */
-public class VoucherOpPlugin {
-}

+ 20 - 0
src/main/java/fi/gl/opplugin/VoucherOpPlugin.java

@@ -0,0 +1,20 @@
+package fi.gl.opplugin;
+
+import fi.gl.business.VoucherValidator;
+import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
+import kd.bos.entity.plugin.AddValidatorsEventArgs;
+import kd.sdk.plugin.Plugin;
+
+/**
+ * 凭证操作插件
+ * 2024-07-15 wangj
+ * 主要功能:校验凭证是否日结
+ */
+public class VoucherOpPlugin  extends AbstractOperationServicePlugIn implements Plugin {
+
+    @Override
+    public void onAddValidators(AddValidatorsEventArgs e) {
+        super.onAddValidators(e);
+        e.addValidator(new VoucherValidator());
+    }
+}