人员头像裂图

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:3

人员头像裂图

# 问题描述 人员头像裂图 # 原因分析&解决方案 ## 场景一 ### 原因分析: 环境迁移/数据复制,对应的头像文件没有迁移到新环境的文件服务器,但是在t_sec_user表中,favatar字段依然记录的是原始文件路径,导致在新环境中头像地址无法找到对应文件,从而产生人员头像裂图的问题。 ### 解决方案: 在人员列表上扩展一个按钮,绑定二开的操作插件,具体配置见截图: ![image.webp](/download/01002b2165dc27364f9783c5e09ad3535efe.webp) 插件具体代码逻辑如下: ``` package kd.hr.hrt.dada.demo.LicenseCheck; import kd.bos.base.utils.user.UserUtils; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.args.BeginOperationTransactionArgs; import kd.bos.org.utils.Utils; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import java.util.*; public class UserAvatarFix extends AbstractOperationServicePlugIn { @Override public void beginOperationTransaction(BeginOperationTransactionArgs e) { DynamicObject[] userObjList = getSelectedUserInfo(e); UserUtils.createAvatar(userObjList); SaveServiceHelper.save(userObjList); } private DynamicObject[] getSelectedUserInfo(BeginOperationTransactionArgs e) { List<DynamicObject> dataEntityList = Arrays.asList(e.getDataEntities()); if (Utils.isListEmpty(dataEntityList)) { return null; } else { List<Long> userIds = new ArrayList(dataEntityList.size()); Iterator var4 = dataEntityList.iterator(); while (var4.hasNext()) { DynamicObject obj = (DynamicObject) var4.next(); userIds.add(obj.getLong("id")); } return (DynamicObject[]) BusinessDataServiceHelper.load(userIds.toArray(), BusinessDataServiceHelper.newDynamicObject("bos_user").getDataEntityType()); } } } ``` **特别说明:** - 在人员较多的情况下,考虑到性能因素,建议在列表页面单次勾选不要超过10000; - 此方案生成的是系统默认头像,并非原始系统的头像。如果存在文件丢失的情况,无法进行头像文件的迁移,推荐使用此方案处理。 ## 场景二 ### 原因分析: 内外网隔离,外网访问系统的时候是通过域名转发到内网,而mc当中domaincontextUrl参数依然配置的是内网ip或域名;同时,由于头像文件的绝对地址是根据domaincontextUrl来生成的,导致在外网环境下此地址访问不通,体现在单据上就是裂图状态。用快捷键F12打开浏览器控制台,检查头像的文件地址: ![image.webp](/download/01009d50f52f3680418987da89ace0795539.webp) 地址格式为: ```{domaincontextUrl}/attachment/downloadImage/1b1756ab2b802800.webp?v=1.0&pageId=18XPH3OV/SPYroota61f417a960b420e8532c551fcfebc7a_bos_user_169574&kd_cs_ticket=OMjcicwVjyHVbwR6xDooGnU0wz3c85dz ``` ### 解决方案: 通过运维手段解决此问题,具体解决方案可参考:[金蝶云·苍穹内外网访问部署方案](https://vip.kingdee.com/article/255988029918299904?productLineId=29&isKnowledge=2&lang=zh-CN)。 **特别说明:** 此种方案有一定实施门槛,若想从简处理,可以统一内外网域名访问,保证外网通过域名能够正常访问文件即可。但是此种方案存在安全问题,无法做到内外网隔离,可根据实际情况选择。 # 参考文档 [金蝶云·苍穹内外网访问部署方案](https://vip.kingdee.com/article/255988029918299904?productLineId=29&isKnowledge=2&lang=zh-CN) [自动生成人员头像的具体代码逻辑](https://vip.kingdee.com/article/414117672205285632?productLineId=29&lang=zh-CN)

人员头像裂图

# 问题描述人员头像裂图# 原因分析&解决方案## 场景一### 原因分析:环境迁移/数据复制,对应的头像文件没有迁移到新环境的文件服务器...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息