123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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) {
- RequestContext ctx = RequestContext.get();
- this.clientPath = UrlService.getDomainContextUrlByTenantCode(ctx.getTenantCode());//拿到完整的客户端网址
- this.formId = earlyWarnContext.getEarlyWarn().getDataSourceId();//表单标识
- EarlyWarnMessageInfo info = new EarlyWarnMessageInfo();
- String contentUrl = clientPath+"?formId="+formId+"&flag=1"+"&asstacttype=bd_supplier";//pc端跳转单据路径
- info.setContentUrl(contentUrl);
- return info;
- }
- @Override
- public YzjPublicNumberInfo getYZJMessagePublicNumber(List<YzjPublicNumberInfo> publicNumberInfos) {
- return IEarlyWarnMessageHandler.super.getYZJMessagePublicNumber(publicNumberInfos);
- }
- }
|