owl-cli 6.214.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/examples/models/owlsys/backendSession.json +52 -0
  2. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
  3. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
  4. package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
  5. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
  6. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
  7. package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
  8. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  9. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
  10. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
  11. package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
  12. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  13. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
  14. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
  15. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
  16. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
  17. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
  18. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
  19. package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
  20. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  21. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
  22. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
  23. package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
  24. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  25. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
  26. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
  27. package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
  28. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  29. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
  30. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
  31. package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
  32. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
  33. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
  34. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
  35. package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
  36. package/examples/models/owlsys/organization/business_circle.json +144 -0
  37. package/examples/models/owlsys/organization/business_circle_application.json +50 -0
  38. package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
  39. package/examples/models/owlsys/organization/entity.json +64 -0
  40. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
  41. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
  42. package/examples/models/owlsys/organization/merchant_apply.json +561 -0
  43. package/examples/models/owlsys/organization/merchant_user.json +55 -0
  44. package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
  45. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
  46. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
  47. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
  48. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
  49. package/examples/models/owlsys/organization/org_certify_log.json +78 -0
  50. package/examples/models/owlsys/organization/org_entity.json +60 -0
  51. package/examples/models/owlsys/organization/org_modules.json +117 -0
  52. package/examples/models/owlsys/organization/org_source.json +30 -0
  53. package/examples/models/owlsys/organization/org_user.json +81 -0
  54. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
  55. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
  56. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
  57. package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
  58. package/examples/models/owlsys/organization/orgs.json +671 -0
  59. package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
  60. package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
  61. package/examples/models/owlsys/organization/website.json +104 -0
  62. package/examples/models/owlsys/permissions/permission.json +165 -0
  63. package/examples/models/owlsys/permissions/roles.json +48 -0
  64. package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
  65. package/examples/models/owlsys/server_token.json +38 -0
  66. package/examples/models/owlsys/session.json +57 -0
  67. package/examples/models/owlsys/tasks/process_job.json +94 -0
  68. package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
  69. package/examples/models/owlsys/tasks/process_job_log.json +34 -0
  70. package/examples/models/owlsys/user/address.json +52 -0
  71. package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
  72. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
  73. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
  74. package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
  75. package/examples/models/owlsys/user/org_user_address.json +46 -0
  76. package/examples/models/owlsys/user/org_user_address_default.json +48 -0
  77. package/examples/models/owlsys/user/org_user_invoice.json +56 -0
  78. package/examples/models/owlsys/user/user.json +458 -0
  79. package/examples/models/owlsys/user/user_address.json +46 -0
  80. package/examples/models/owlsys/user/user_address_default.json +48 -0
  81. package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
  82. package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
  83. package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
  84. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
  85. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
  86. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
  87. package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
  88. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
  89. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
  90. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
  91. package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
  92. package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  93. package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
  94. package/examples/models/owlsys/user/user_batch_import.json +76 -0
  95. package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
  96. package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
  97. package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
  98. package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
  99. package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
  100. package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
  101. package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
  102. package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  103. package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
  104. package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
  105. package/examples/models/owlsys/user/user_category.json +96 -0
  106. package/examples/models/owlsys/user/user_education.json +56 -0
  107. package/examples/models/owlsys/user/user_income.json +56 -0
  108. package/examples/models/owlsys/user/user_industry.json +56 -0
  109. package/examples/models/owlsys/user/user_invoice.json +88 -0
  110. package/examples/models/owlsys/user/user_logout.json +65 -0
  111. package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
  112. package/examples/models/owlsys/user/user_source.json +57 -0
  113. package/examples/models/owlsys/user/user_third_openid.json +64 -0
  114. package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
  115. package/examples/models/owlsys/user/user_update_log.json +69 -0
  116. package/examples/models/owlsys/user_logs/app_logs.json +48 -0
  117. package/examples/models/owlsys/user_logs/history_p.json +77 -0
  118. package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
  119. package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
  120. package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
  121. package/examples/owlsysApps/commonService/build.xml +29 -0
  122. package/examples/owlsysApps/commonService/src/meta.json +10 -0
  123. package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
  124. package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
  125. package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
  126. package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
  127. package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
  128. package/examples/owlsysApps/owlPermission/build.xml +29 -0
  129. package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
  130. package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
  131. package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
  132. package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
  133. package/examples/owlsysApps/owlShell/build.xml +28 -0
  134. package/examples/owlsysApps/owlShell/package-lock.json +3 -0
  135. package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
  136. package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
  137. package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
  138. package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
  139. package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
  140. package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
  141. package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
  142. package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
  143. package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
  144. package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
  145. package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
  146. package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
  147. package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
  148. package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
  149. package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
  150. package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
  151. package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
  152. package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
  153. package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
  154. package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
  155. package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
  156. package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
  157. package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
  158. package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
  159. package/examples/owlsysApps/owlShell/src/icon.png +0 -0
  160. package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
  161. package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
  162. package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
  163. package/examples/owlsysApps/owlShell/src/meta.json +16 -0
  164. package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
  165. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
  166. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
  167. package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
  168. package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
  169. package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
  170. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
  171. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
  172. package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
  173. package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
  174. package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
  175. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
  176. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
  177. package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
  178. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
  179. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
  180. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
  181. package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
  182. package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
  183. package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
  184. package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
  185. package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
  186. package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
  187. package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
  188. package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
  189. package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
  190. package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
  191. package/package.json +1 -1
@@ -0,0 +1,52 @@
1
+ {
2
+ "id": "string(14),listSize:18,tab:01,disabled:true,formSize:2;内部ID",
3
+ "isid": "string(18),listSize:16,tab:02,searchable:true,required:true,formSize:2;isid",
4
+ "createTime": "date,listSize:16,tab:03,searchable:true,required:true;创建时间",
5
+ "lastModified": "date,listSize:16,tab:04,searchable:true,required:true;修改时间",
6
+ "isLogin": "choice,values:y_是/n_否,tab:05,searchable:true;已登录",
7
+ "userId": "string(16),tab:06,searchable:true;用户id",
8
+ "userName": "string(8),tab:06,searchable:true;用户名称",
9
+ "role": "string(18),tab:07,searchable:true;登录角色",
10
+ "orgId": "string(18),tab:071,searchable:true;登录单位(orgId)",
11
+ "orgIds": "string(18),tab:072,searchable:true;登录单位路径(orgIds)",
12
+ "sessionObjs":"string(18),showList:false,multiline:T,formSize:8,tab:08;sessionObjs",
13
+ "ip": "string(32),listSize:16,tab:09,searchable:true,required:false;ip",
14
+ "for_client_id": "string(32),listSize:16,tab:10,searchable:true,isId:true,required:false;代客下单用户Id",
15
+ "_t":"backend_session",
16
+ "#meta":{
17
+ "id": "<%=#isid%>",
18
+ "push": true,
19
+ "hide": "true",
20
+ "rem":"后台Session",
21
+ "projectName":"owlmall",
22
+ "parent":["platform"],
23
+ "visitType": [
24
+ "platform",
25
+ "shop"
26
+ ],
27
+ "pos": 1,
28
+ "group": {
29
+ "id": "owlsys",
30
+ "name": "owl内置对象",
31
+ "icon": "setting",
32
+ "pos": 30,
33
+ "level2": {
34
+ "id": "session",
35
+ "name": "session管理",
36
+ "icon": "setting",
37
+ "pos": 45
38
+ }
39
+ },
40
+ "export":[
41
+ {
42
+ "label":"导出完整",
43
+ "mainTitleFormat":{"background":"#474747","color":"#cccccc"},
44
+ "subTitleFormat":{"background":"#777777","color":"#ffffff"},
45
+ "subRecordFormat":{"background":"#ffffff","color":"#000000"},
46
+ "mainRecordFormat":{"background":"#555555","color":"#FFFFFF"},
47
+ "key":"completeDoc",
48
+ "fields":["*"]
49
+ }
50
+ ]
51
+ }
52
+ }
@@ -0,0 +1,10 @@
1
+ //#import Util.js
2
+ //#import jobs.js
3
+ ;
4
+ (function () {
5
+ var data = ctx.get("data");
6
+
7
+ var when = new Date().getTime();
8
+ var postData = {batchId: data.id};
9
+ JobsService.submitTask("owl_org_admin_batch_import", "tasks/batchImport.jsx", postData, when);
10
+ })();
@@ -0,0 +1,318 @@
1
+ //#import Util.js
2
+ //#import excel.js
3
+ //#import $owl_orgs:services/modelService.jsx
4
+ //#import $owl_mall_region:services/modelService.jsx
5
+ //#import $owl_org_modules:services/modelService.jsx
6
+ //#import $owl_delivery_price_template:services/modelService.jsx
7
+ //#import $owl_mall_category:services/modelService.jsx
8
+ //#import $owl_org_batch_import:services/modelService.jsx
9
+ //#import $owl_org_admin_groups:services/modelService.jsx
10
+ //#import $owl_org_admin_batch_import:services/modelService.jsx
11
+ //#import $owl_mall_u:services/modelService.jsx
12
+ //#import $owl_roles:services/modelService.jsx
13
+ //#import $owlService:services/org/OrgUtil.jsx
14
+
15
+ var orgAdminGroupCache = {};
16
+ ;(function main() {
17
+
18
+ var jBatchImport = owl_org_batch_importService.get(batchId);
19
+
20
+ var logMsg = "";
21
+ var total = 0;
22
+ var totalSuccess = 0;
23
+ var totalFailed = 0;
24
+ var beginTime = (new Date()).getTime();
25
+ try {
26
+ var orgId = jBatchImport._orgId;
27
+ logMsg = appendLog(logMsg, "商家ID=" + orgId);
28
+
29
+ var jFile = jBatchImport.file;
30
+ if (!jFile || jFile.length == 0 || !jFile[0].url) {
31
+ logMsg = appendLog(logMsg, "操作终止,原因是:缺少Excel文件");
32
+ return;
33
+ }
34
+ var filePath = jFile[0].url;
35
+
36
+ var jData = Excel.parse(filePath);
37
+ if (!jData) {
38
+ logMsg = appendLog(logMsg, "操作终止,原因是:读取Excel文件失败");
39
+ return;
40
+ }
41
+ if (!jData.sheets || jData.sheets.length == 0) {
42
+ logMsg = appendLog(logMsg, "操作终止,原因是:Excel中的sheet为空");
43
+ return;
44
+ }
45
+
46
+ var sheet = jData.sheets[0];
47
+ var rows = sheet.rows;
48
+
49
+ var firstRow = rows[0];
50
+ var firstRowCells = firstRow.cells;
51
+ var maxCell = firstRowCells.length;
52
+ if (maxCell > 100) {
53
+ maxCell = 100;
54
+ }
55
+
56
+ var jTitleIndex = {};
57
+ for (var i = 0; i < maxCell; i++) {
58
+ var jCell = firstRowCells[i];
59
+ if (jCell.value) {
60
+ jTitleIndex[jCell.value] = jCell.columnIndex;
61
+ }
62
+ }
63
+
64
+ logMsg = appendLog(logMsg, "数据批量导入开始。");
65
+
66
+ var totalCheckFail = 0;
67
+ for (var j = 1; j < rows.length; j++) {
68
+ try {
69
+ total++;
70
+
71
+ var row = rows[j];
72
+ var cells = row.cells;
73
+
74
+ var orgId = getCellValue(cells, jTitleIndex, "组织Id");
75
+ var orgName = getCellValue(cells, jTitleIndex, "组织名称");
76
+ var groupName = getCellValue(cells, jTitleIndex, "分组名称");
77
+ var mobile = getCellValue(cells, jTitleIndex, "用户手机");
78
+ var loginId = getCellValue(cells, jTitleIndex, "登录Id");
79
+ var roleId = getCellValue(cells, jTitleIndex, "角色Id");
80
+ var roleName = getCellValue(cells, jTitleIndex, "角色名称");
81
+
82
+ if (!orgId) {
83
+ totalFailed++;
84
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:关键的组织Id为空");
85
+ continue;
86
+ }
87
+ if (!orgName) {
88
+ totalFailed++;
89
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:关键的组织名称为空");
90
+ continue;
91
+ }
92
+ if (!groupName) {
93
+ totalFailed++;
94
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:关键的分组名称为空");
95
+ continue;
96
+ }
97
+ if (!loginId && !mobile) {
98
+ totalFailed++;
99
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:登录Id和手机号不能同时为空");
100
+ continue;
101
+ }
102
+
103
+ if (!roleId) {
104
+ totalFailed++;
105
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:角色Id不能为空,cells=" + JSON.stringify(cells) + ",jTitleIndex=" + JSON.stringify(jTitleIndex));
106
+ continue;
107
+ }
108
+
109
+ var role = owl_rolesService.get(roleId);
110
+ if(!role){
111
+ totalFailed++;
112
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:角色Id为" + roleId + "的角色不存在");
113
+ continue;
114
+ }
115
+ if(roleName !== role.name){
116
+ totalFailed++;
117
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:角色Id为" + roleId + "的角色名称为 " + role.name + ", 导入的名称为 " + roleName + " 不一致");
118
+ continue;
119
+ }
120
+
121
+ //检查权限
122
+ var targetOrg = owl_orgsService.get(orgId);
123
+ if (!targetOrg) {
124
+ totalFailed++;
125
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:ID为【" + orgId + "】的商家或组织机构不存在");
126
+ continue;
127
+ }
128
+
129
+ if (!OrgUtil.checkPrivilege(targetOrg, jBatchImport._orgId)) {
130
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "校验未通过,原因是:当前组织无权在【" + jParentOrg.name + "】下操作绑定员工权限");
131
+ totalFailed++;
132
+ continue;
133
+ }
134
+
135
+
136
+ var admin = null;
137
+ try{
138
+ admin = getUser(loginId,mobile);
139
+ }
140
+ catch(e){
141
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + e);
142
+ totalFailed++;
143
+ continue;
144
+ }
145
+
146
+
147
+ //根据名称获得管理员组
148
+
149
+ var orgAdminGroup = null;
150
+
151
+ try{
152
+ orgAdminGroup = getOrgAdminGroups(orgId, groupName);
153
+ }
154
+ catch(e){
155
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + e);
156
+ totalFailed++;
157
+ continue;
158
+ }
159
+ if(!orgAdminGroup){
160
+ orgAdminGroup = {
161
+ _orgId:orgId,
162
+ _orgIds:targetOrg._orgIds,
163
+ name:groupName,
164
+ staff:[{id:admin.id,realName:admin.realName,mobile:admin.mobile,loginId:admin.loginId}],
165
+ roles:[{id:roleId,name:roleName}]
166
+ }
167
+ orgAdminGroup = owl_org_admin_groupsService.add(orgAdminGroup);
168
+ var key = orgId+"_" + groupName;
169
+ orgAdminGroupCache[key] = orgAdminGroup;
170
+ }
171
+ else if(orgAdminGroup){
172
+ //检查roleId是否和orgAdminGroup的roles中是否存在
173
+ if(orgAdminGroup.roles){
174
+ var roles = orgAdminGroup.roles;
175
+ if(roles.length!==1 || roles[0].id!==roleId){
176
+ totalFailed++;
177
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:管理员组的roleId和导入的roleId不一致。");
178
+ continue;
179
+ }
180
+ roles[0].name = roleName;
181
+
182
+ }
183
+ //检查staff种是否已经存在了对应的用户
184
+ var staff = orgAdminGroup.staff || [];
185
+ var found = false;
186
+ for(var i=0; i<staff.length; i++){
187
+ if(staff[i].id === admin.id){
188
+ found = true;
189
+
190
+ }
191
+ }
192
+ if(found){
193
+ totalFailed++;
194
+ logMsg = appendLog(logMsg, "第[" + j + "]行 校验未通过,原因是:管理员在管理员组[" + orgAdminGroup.name + "]已经存在,管理员信信息如下,loginId:" + loginId + ", mobile:" + mobile);
195
+ continue;
196
+ }
197
+ else{
198
+ staff.push({id:admin.id,realName:admin.realName,mobile:admin.mobile,loginId:admin.loginId});
199
+ }
200
+ orgAdminGroup.staff = staff;
201
+ owl_org_admin_groupsService.update(orgAdminGroup);
202
+ orgAdminGroupCache[key] = orgAdminGroup;
203
+ }
204
+
205
+ totalSuccess++;
206
+ } catch (e) {
207
+ totalFailed++;
208
+ totalCheckFail++;
209
+ logMsg = appendLog(logMsg, "第[" + j + "]行 操作失败,失败原因:" + e);
210
+ }
211
+ }
212
+
213
+ logMsg = appendLog(logMsg, "数据批量导入结束。");
214
+
215
+ } catch (e) {
216
+ $.log("\norg_admin_batch_import....batchImport.jsx....error=" + e);
217
+ logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
218
+ } finally {
219
+ var endTime = (new Date()).getTime();
220
+ var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
221
+ logInfo += "。总行数=" + total;
222
+ logInfo += ",共成功导入数量=" + totalSuccess;
223
+ logInfo += ",未导入总数量=" + totalFailed;
224
+
225
+ logMsg = appendLog(logMsg, "");
226
+ logMsg = appendLog(logMsg, logInfo);
227
+
228
+ jBatchImport.msg = logMsg;
229
+ owl_org_admin_batch_importService.update(jBatchImport);
230
+ }
231
+ })();
232
+
233
+
234
+ function getOrgAdminGroups(orgId,name){
235
+
236
+ var key = orgId+"_"+name;
237
+ var jOrgAdminGroup = orgAdminGroupCache[key];
238
+ if(jOrgAdminGroup){
239
+ return owl_org_admin_groupsService.get(jOrgAdminGroup.id);
240
+ }
241
+
242
+ var searchArgs = {
243
+ _orgId:orgId,
244
+ name:name
245
+ }
246
+ var dataSource = null;
247
+ var mfilters = null;
248
+ var keyword = null;
249
+ var pageSize = 1000;
250
+ var from = 0;
251
+
252
+ var sort = {
253
+ owl_modifyTime:{order:"desc"}
254
+ }
255
+
256
+
257
+
258
+ var sr = owl_org_admin_groupsService.search(mfilters, searchArgs, keyword,from, pageSize, sort, dataSource );
259
+ if(sr.state === 'ok'){
260
+ if(sr.list.length>1){
261
+ throw "管理员组名称重复,有"+sr.list.length+"个管理员组有相同的名字,请检查。组织Id:"+orgId+",名称:"+name;
262
+ }
263
+ if(sr.list.length==1){
264
+ orgAdminGroupCache[key] = sr.list[0];
265
+ return owl_org_admin_groupsService.get(sr.list[0].id);
266
+ }
267
+ return null;
268
+ }
269
+ throw "错误:查询管理员组失败。组织Id:"+orgId+",名称:"+name;
270
+ }
271
+
272
+ function getUser(loginId,mobile){
273
+ var admin = owl_mall_uService.getUniqueObj('loginId',loginId);
274
+ if(admin && mobile && admin.mobile!==mobile){
275
+ throw "错误:手机号不一致。登录Id:"+loginId+",手机号:"+mobile;
276
+ }
277
+ if(admin){
278
+ return admin;
279
+ }
280
+
281
+ admin = owl_mall_uService.getUniqueObj('mobile',mobile);
282
+ if(admin && loginId && admin.loginId!==loginId){
283
+ throw "错误:手机号不一致。登录Id:"+loginId+",手机号:"+mobile;
284
+ }
285
+ return admin;
286
+
287
+
288
+
289
+
290
+ }
291
+
292
+ function appendLog(logInfo, s) {
293
+ if (logInfo) {
294
+ return logInfo + "\n" + s;
295
+ }
296
+ return s;
297
+ }
298
+
299
+ function getCellValue(cells, jTitleIndex, name, extName) {
300
+ var index = jTitleIndex[name];
301
+ if (!index && index != 0) {
302
+ return "";
303
+ }
304
+ for (var i = 0; i < cells.length; i++) {
305
+ var jCell = cells[i];
306
+ if (jCell.columnIndex == index) {
307
+ if (jCell.value) {
308
+ return jCell.value;
309
+ }
310
+ }
311
+ }
312
+ return "";
313
+ }
314
+
315
+
316
+
317
+
318
+
@@ -0,0 +1,75 @@
1
+ {
2
+ "base_info": {
3
+ "#meta": {
4
+ "fieldLabel": "基本信息",
5
+ "showTitle": "no",
6
+ "includeKey": "no",
7
+ "position": "card",
8
+ "span": 3
9
+ },
10
+ "id": "string(128),formSize:2,listSize:12,searchable:true,disabled:true,hidden:true;内部ID",
11
+ "file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8;Excel文件",
12
+ "downloadTemplate": "download,url:///fshtimg.infoscape.com.cn/batchImportTemplates/%E6%89%B9%E9%87%8F%E7%BB%91%E5%AE%9A%E5%91%98%E5%B7%A5%E6%9D%83%E9%99%90%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx,formSize:2;下载模板",
13
+ "desc": "string(12),formSize:8,multiline:T,showList:false,disabled:true,defaultValue:1、请注意Excel模板的第一行表头的名称很重要,是固定的,因为系统会根据表头名称读取相关字段信息进行导入。\n2、Excel中的所有字段都用文本格式填写,请不要使用百分比、公式等。;说明",
14
+ "msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
15
+ },
16
+ "other_info": {
17
+ "#meta": {
18
+ "fieldLabel": "其他信息",
19
+ "showTitle": "no",
20
+ "includeKey": "no",
21
+ "position": "card",
22
+ "span": 1
23
+ },
24
+ "owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
25
+ "owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
26
+ },
27
+
28
+ "_t": "org_admin_batch_import",
29
+ "#meta": {
30
+ "rem": "批量绑定员工权限",
31
+ "projectName": "批量导入商家",
32
+ "parent": [
33
+ "platform"
34
+ ],
35
+ "visitType": [
36
+ "platform"
37
+ ],
38
+ "exLists": [
39
+ {
40
+ "name": "默认列表",
41
+ "code": "defaultList",
42
+ "buttons":{
43
+ "showAdd": true,
44
+ "showDel": false,
45
+ "showRecycle": false
46
+ },
47
+ "expandIconColumnIndex":1,
48
+ "list": ["id","owl_createTime","owl_createUserId"]
49
+ }
50
+ ],
51
+ "pos": 2,
52
+ "group": {
53
+ "id": "basicInfo",
54
+ "name": "基本信息",
55
+ "icon": "layout",
56
+ "pos": 1,
57
+ "level2": {
58
+ "id": "org_batch_update",
59
+ "name": "组织批量管理",
60
+ "icon": "outline",
61
+ "pos": 2
62
+ }
63
+ },
64
+ "eventHandlers": [
65
+ {
66
+ "handlerId":"org_admin_batch_import_eventHandlers_batchImport",
67
+ "pageId":"eventhandlers/afterAdd.jsx",
68
+ "throwException":true,
69
+ "eventName": "org_admin_batch_import_add_after",
70
+ "description":"新增后,自动执行"
71
+ }
72
+ ]
73
+
74
+ }
75
+ }
@@ -0,0 +1,24 @@
1
+ //#import Util.js
2
+ //#import jobs.js
3
+ ;
4
+ (function () {
5
+ var data = ctx.get("data");
6
+
7
+ var when = new Date().getTime();
8
+ var postData = {batchId: data.id};
9
+ JobsService.submitTask("owl_org_batch_export", "tasks/batchExport.jsx", postData, when);
10
+ })();
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+