• 首页
  • 栏目
  • ERP
  • 纷享自定义函数:客户回填工商信息(天眼查)

纷享自定义函数:客户回填工商信息(天眼查)

  • 2021-12-03
  • Admin

客户在使用CRM系统之前,数据一般都是在OA、ERP、Excel里,没有准确完整的g工商信息,通过纷享的自定义函数,配合计划任务,可以把工商信息,批量更新到客户信息里。具体代码如下:

  1. /*
  2. 客户导入时刷新天眼查字段信息
  3. */
  4. Map fieldMapping=[:] //工商库字段 映射 CRM客户模块字段API
  5. fieldMapping.put("Name","name") //data-name="客户名称"
  6. fieldMapping.put("Email","email") //data-name="邮箱"
  7. fieldMapping.put("WebSiteUrl","url" )//data-name="网址"
  8. fieldMapping.put("PhoneNumber","tel" )//data-name="电话"
  9. fieldMapping.put("CreditCode" ,"uniform_social_credit_code" )//data-name="税号"
  10. fieldMapping.put("Address" ,"address" )//data-name="地区定位.详细地址"
  11. fieldMapping.put("ShortStatus" ,"field_UzsOx__c" )//data-name="企业状态"
  12. fieldMapping.put("CheckDate" ,"field_9O8d6__c" )//data-name="核准日期"
  13. fieldMapping.put("RegistCapi","field_WEm93__c" )//data-name="注册资本"
  14. fieldMapping.put("Scope" ,"field_C6opK__c" )//data-name="经营范围"
  15. fieldMapping.put("BelongOrg","field_C5p2v__c" )//data-name="登记机关"
  16. fieldMapping.put("orgNumber" ,"field_kBumU__c" )//data-name="组织机构代码"
  17. fieldMapping.put("StartDate" ,"field_s47n9__c" )//data-name="营业期限自"
  18. fieldMapping.put("EndDate","field_y602L__c" )//data-name="营业期限至"
  19. fieldMapping.put("Status" ,"field_xO6Vr__c" )//data-name="经营状态"
  20. fieldMapping.put("OperName" ,"field_xE6Vr__c" )//data-name="法人代表"
  21. fieldMapping.put("industryName" ,"field_QogEm__c " )//data-name="行业"
  22. fieldMapping.put("Province","province") //注册省份
  23. fieldMapping.put("city","city") //注册城市
  24. fieldMapping.put("district","district" )//注册区县
  25. List areaFieldList=["Province","city","district"]
  26. List dateFieldList=[]
  27. dateFieldList.add("CheckDate")
  28. dateFieldList.add("StartDate")
  29. dateFieldList.add("EndDate")
  30. dateFieldList.add("CompanyStartDate")
  31. String id=context.data._id as String //客户ID
  32. String name=context.data.name as String //客户名称
  33. log.info("客户名称:"+name)
  34. //name="北京纷扬科技有限责任公司"
  35. //1、获取根据企业名称查询到的工商信息列表
  36. def (boolean error,HttpResult result,String errorMessage)=
  37. Fx.proxy.callAPI("industry.getCompanyByName",null,["KeyWord":name])
  38. //log.info(result)
  39. Map content=result.content as Map
  40. List companyEsObjects = content.companyEsObjects as List
  41. log.info(companyEsObjects.get(0))
  42. Map map=companyEsObjects.get(0) as Map
  43. if( map.Name ==name){
  44. log.info("KeyNo:"+map.KeyNo)
  45. //若一致则表明是可以被精确匹配上的,再查这条数据的详情,用于回填所需的字段
  46. def (boolean return_error,HttpResult return_result,String return_errorMessage) =
  47. Fx.proxy.callAPI("industry.getCompanyById",null,["KeyNo":map.KeyNo])
  48. log.info(return_result)
  49. Map companyInfoArgs=return_result.content as Map //工商库列表
  50. List<Map> companyInfoArgsList=companyInfoArgs.companyInfoArgs as List
  51. Map updateMap=[:]
  52. //log.info(companyInfoArgsList)
  53. companyInfoArgsList.each{
  54. item ->
  55. /* //工商返回格式
  56. {
  57. "Value":"北京纷扬科技有限责任公司",
  58. "Key":"Name",
  59. "Caption":"企业名称"
  60. },*/
  61. log.info("工商库字段名 :"+item.Caption)
  62. log.info("工商库字段API :"+item.Key)
  63. log.info("工商库字段值 :"+item.Value)
  64. //判断映射字段是否存在
  65. if(fieldMapping.containsKey(item.Key)){
  66. //判断字段类型如果为日期,特殊处理
  67. if(dateFieldList.contains(item.Key)){
  68. if((item.Value as String)!="--"){
  69. Date date = Date.of(item.Value as String )
  70. updateMap.put(fieldMapping[item.Key], date)
  71. }
  72. }//判断字段类型如果为地区,特殊处理
  73. else if(areaFieldList.contains(item.Key)){
  74. String Code = Fx.location.findCountryAreaCode(item.Value as String,fieldMapping[item.Key] as String)
  75. updateMap.put(fieldMapping[item.Key], Code)
  76. }else{
  77. updateMap.put(fieldMapping[item.Key], item.Value as String)
  78. }
  79. }
  80. log.info("--------------------------------------")
  81. }
  82. log.info("更新集合:"+updateMap)
  83. def updateResult= Fx.object.update("AccountObj",id,updateMap,false)
  84. log.info("更新客户信息--执行结果:"+updateResult)
  85. }

原文:https://blog.csdn.net/wzf16008/article/details/121708237

联系站长

QQ:769220720