小编推荐
集团公司组织机构和业务单元的复杂性,导致客户主数据组织分配的繁琐和低效,如何从这种效率低且易出错的工作中解脱出来?
如下来自一线的解决方案,通过批量引入的实现方案轻松应对主数据客户分配,让我们一起来看下吧。
适用版本说明:
1、 此方案适用于V6.0之前的版本;
2、 标准产品在V6.0版本推出了相应功能,相应介绍文档如下:
基础资料分配:https://vip.kingdee.com/article/256158303560954880
Excel引入分配:https://vip.kingdee.com/article/500693667859121664
撰稿人:金蝶-李敖
【温馨提示:因企业业务场景存在不同程度的差异,此案例仅供参考,请根据现场实际业务情况探讨最优解决方案,并在上线前进行充分验证。】
一、业务背景
业务现状
XX集团下存在几千个业务单元,每个业务单元下对应着不同的集团产品,该集团的大部分客户都会购买该集团下多个业务单元的产品,所以当集团中的主数据分配人员在对客户主数据进行组织分配时,需要对一个客户分配多个业务单元,目前只能手动一个一个去勾选左树中分散的多个节点。
客户痛点分析
1、客户与组织的关联信息一般都是一个Excel文件,目前无法对从Excel中复制出来的组织编码进行过滤并勾选,只能对照Excel文件进行人工选择。
2、对于需要分配的组织只能人工去寻找对应节点并勾选,效率低且容易出错。
客户诉求与期望
1、系统能够直接对从Excel中复制出来的组织通过苍穹组织F7界面进行搜索过滤并勾选。
2、分配界面能够实现对组织的搜索功能。
二、解决方案
整体实现思路
主数据
客户分配批量引入的整体实现思路为:1、在主数据客户列表增加【客户分配】按钮,点击该按钮进入【客户分配界面】。
2、开发【客户分配界面】动态表单,在该界面选择待分配组织和待分配客户。
3、点击分配,调用平台批量分配接口。
4、在分配查询中可进行分配结果查询。
关键步骤
步骤1
路径:系统服务云 → 基础资料 → 主数据 → 客户
在主数据客户列表点击【客户分配】按钮,注册客户分配列表插件SysCustomerAssignListPlugin,在该插件中实现点击【客户分配】按钮弹出【客户分配界面】的逻辑:
步骤2
点击客户分配,弹出【客户分配界面】进行分配组织、分配客户的查看和选择:
步骤3
路径:开发平台 → 系统服务云 → 基础资料 → 客户
【客户分配界面】动态表单页面开发,分配组织字段为组织F7,待分配客户单据体展示的是客户的编码、名称以及创建组织等信息:
点击分配按钮时调用平台批量分批接口,接口如下:
/**
* 批量分配
* * @param entityID 实体标志
* @param assignOrgID 分配组织ID
* @param dataIDs 待分配的基础资料ID
* @param orgIDs 待分配的目标组织ID
* @return 检查失败的待分配基础资料及组织信息map, key是基础资料ID,value是目标组织ID集合
*/public static Map<Long,Map<Long, String>> batchAssignWithDetail(String entityID,
Long assignOrgID, List<Long> dataIDs, List<Long> orgIDs) {
IBaseDataService baseDataService = getService();
return baseDataService.batchAssign(entityID, assignOrgID, dataIDs, orgIDs);
}
(注意:对于自由分配控制策略,分配组织ID为数据的创建组织ID;对于逐级分配控制策略,分配组织ID为被分配组织的上级组织ID)
步骤5
在分配查询中可进行分配结果查询,能够查看所选客户已分配的组织信息,即对分配结果是否正确的确认。
图5 客户分配查询结果
实现后效果展示(视频)
步骤:
选中需要分配组织的客户,点击客户分配按钮,在分配组织F7字段中选择所需分配的组织,点击分配,即可分配成功。分配后可点击分配查询按钮对客户已分配的组织进行查看。
三、方案的可推广价值
对于业务单元较少的集团而言目前的主数据分配即可满足使用,不过不排除存在成百上千个业务单元的集团,因此该方案更适合多业务单元集团的使用。
通过重建主数据分配元数据,加入对业务单元的搜索功能来替代人工寻找业务单元节点的操作,使得主数据分配更加的快捷和准确。
四、相关资料
附源码及元数据包,供下载参考学习。