这是关于设计方法的一般性问题,而不是特定的编程挑战。我们有业务需求来安排资源,但为了降低差旅成本,我们需要能够为地理位置接近的客户预约安排资源。这些约会通常在客户的家中,而不是在指定的站点。
进行地理定位的过程是获取客户的位置和选择的服务活动,查找在该时间范围内具有可用性的所有资源,然后根据其先前的约会位置按照接近顺序对它们进行排名。
这一切都很好,但我遇到的问题是我在哪里插入这个逻辑?是通过插件在Service Appointment实体的“Book”消息中吗?这对最终用户有何影响?我是否必须在自定义aspx页面中模拟服务日历功能才能完成此操作?
有更好的方法吗?
答案 0 :(得分:0)
你可以通过JavaScript ...
来做到这一点1)创建与服务约会实体的服务代表关系。将服务代表查找添加到服务约会实体。
2)创建虚拟文本属性并添加到服务预约表单
3)获取符合您的可用性标准的所有记录,并使用第三方地图服务或基于lng / lat距离来确定最接近的人。
FetchXML - GeoCode Distance search by distance
4)将您的虚拟文本框切换为选择,并添加10个最近服务代表的选项及其名称和距离(即Paul Way - 1.2英里)
5)更改新的选择框值时,在表单上填充rep属性。
6)测试后,通过javascript隐藏rep属性,以便保存更改,但用户必须使用自定义选择框。