Browse Source

Merge remote-tracking branch 'origin/master'

xuhao 6 months ago
parent
commit
93a6aaa0ea

+ 44 - 0
src/main/java/fi/ar/formplugin/AcctagerptPlugin.java

@@ -0,0 +1,44 @@
+package fi.ar.formplugin;
+
+
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.form.FormShowParameter;
+import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.report.plugin.AbstractReportFormPlugin;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.sdk.plugin.Plugin;
+
+import java.time.LocalDate;
+import java.util.EventObject;
+
+/**
+ * @author cjz
+ * @date 2024/10/11 17:26
+ * @description:跳转后报表初始化参数
+ */
+public class AcctagerptPlugin extends AbstractReportFormPlugin implements Plugin {
+
+    @Override
+    public void afterCreateNewData(EventObject e) {
+        super.afterCreateNewData(e);
+
+        // 获取自定义参数
+        FormShowParameter formShowParameter = this.getView().getFormShowParameter();
+        Object text = formShowParameter.getCustomParam("parentid");
+        Object qAsstacttype = formShowParameter.getCustomParam("q_asstacttype");
+        if (!("").equals(qAsstacttype)) {
+            this.getModel().setValue("q_asstacttype",qAsstacttype);
+        }
+        //应收挂账单
+        DynamicObject dynamicObject= BusinessDataServiceHelper.loadSingle(text,"ar_finarbill");
+
+    }
+
+    @Override
+    public void afterBindData(EventObject e) {
+        super.afterBindData(e);
+    }
+}

+ 49 - 0
src/main/java/fi/ar/formplugin/EarlyWarnHandlerPlugin.java

@@ -0,0 +1,49 @@
+package fi.ar.formplugin;
+
+import com.alibaba.druid.support.logging.Log;
+import com.alibaba.druid.support.logging.LogFactory;
+import kd.bos.context.RequestContext;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.earlywarn.EarlyWarnContext;
+import kd.bos.entity.earlywarn.warn.EarlyWarnMessageInfo;
+import kd.bos.entity.earlywarn.warn.YzjPublicNumberInfo;
+import kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnMessageHandler;
+import kd.bos.service.earlywarn.impl.DefaultWarnMessageHandler;
+import kd.bos.url.UrlService;
+
+import java.util.List;
+
+/**
+ * @author cjz
+ * @date 2024/10/10 17:42
+ * @description:预警自定义消息插件,设置跳转的报表url
+ */
+public class EarlyWarnHandlerPlugin implements IEarlyWarnMessageHandler {
+    private final Log logger= LogFactory.getLog(DefaultWarnMessageHandler.class);
+    private String clientPath="";//客户端地址
+    private String formId = "";//pc端表单标识
+
+
+    @Override
+    public EarlyWarnMessageInfo singleMessageBuilder(DynamicObject dynamicObject, EarlyWarnContext earlyWarnContext) {
+        RequestContext ctx = RequestContext.get();
+        this.clientPath = UrlService.getDomainContextUrlByTenantCode(ctx.getTenantCode());//拿到完整的客户端网址
+        this.formId = earlyWarnContext.getEarlyWarn().getDataSourceId();//表单标识
+        EarlyWarnMessageInfo info = new EarlyWarnMessageInfo();
+        String pkId = dynamicObject.get("id").toString();//对应单据的内码
+        String contentUrl = clientPath+"?formId="+formId+"&pkId="+pkId+"&flag=1";//pc端跳转单据路径
+        info.setContentUrl(contentUrl);
+        return info;
+    }
+
+
+    @Override
+    public EarlyWarnMessageInfo mergeMessageBuilder(EarlyWarnContext earlyWarnContext) {
+        return null;
+    }
+
+    @Override
+    public YzjPublicNumberInfo getYZJMessagePublicNumber(List<YzjPublicNumberInfo> publicNumberInfos) {
+        return IEarlyWarnMessageHandler.super.getYZJMessagePublicNumber(publicNumberInfos);
+    }
+}

+ 63 - 0
src/main/java/fi/ar/formplugin/FinarbillFormPlugin.java

@@ -0,0 +1,63 @@
+package fi.ar.formplugin;
+
+import com.alibaba.druid.util.StringUtils;
+import kd.bos.bill.BillShowParameter;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.form.*;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.events.ClosedCallBackEvent;
+import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.list.ListShowParameter;
+import kd.bos.report.ReportShowParameter;
+import kd.bos.report.plugin.AbstractReportFormPlugin;
+import kd.imc.sim.formplugin.report.AbstractReportPlugin;
+import kd.sdk.plugin.Plugin;
+
+import java.util.EventObject;
+
+/**
+ * @author cjz
+ * @date 2024/10/11 14:50
+ * @description:跳转到报表
+ */
+public class FinarbillFormPlugin extends AbstractFormPlugin implements Plugin {
+
+
+    //初始化自动点击跳转按钮
+    @Override
+    public void afterBindData(EventObject e) {
+        super.afterBindData(e);
+        Object flag = this.getView().getFormShowParameter().getCustomParam("flag");
+        //如果为预警跳转的页面则自动点击跳转按钮到报表
+        if (("1").equals(flag)) {
+            //获取当前单据
+            DynamicObject dynamicObject=this.getModel().getDataEntity(true);
+            Long id=dynamicObject.getLong("id");
+            //往来类型
+            String asstacttype=dynamicObject.getString("asstacttype");
+            ReportShowParameter showParameter = new ReportShowParameter();
+            //设置参数传给子界面
+            showParameter.setCustomParam("parentid",id);
+            showParameter.setCustomParam("q_asstacttype","bd_supplier");
+            showParameter.setFormId("ar_acctagerpt_n");
+            showParameter.setCaption("账龄分析表");
+            showParameter.getOpenStyle().setShowType(ShowType.Modal);
+            StyleCss inlineStyleCss = new StyleCss();
+            inlineStyleCss.setHeight("1800");
+            inlineStyleCss.setWidth("1500");
+            showParameter.getOpenStyle().setInlineStyleCss(inlineStyleCss);
+            showParameter.setCloseCallBack(new CloseCallBack(this,"ar_acctagerpt_n"));
+            this.getView().showForm(showParameter);
+        }
+    }
+
+    @Override
+    public void closedCallBack(ClosedCallBackEvent e) {
+        super.closedCallBack(e);
+        if (StringUtils.equals("ar_acctagerpt_n",e.getActionId())) {
+            this.getModel().setDataChanged(false);
+            this.getView().close();
+        }
+    }
+}