owl-cli 6.213.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 (192) hide show
  1. package/bin/deploy.js +2 -2
  2. package/examples/models/owlsys/backendSession.json +52 -0
  3. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
  4. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
  5. package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
  6. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
  7. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
  8. package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
  9. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  10. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
  11. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
  12. package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
  13. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  14. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
  15. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
  16. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
  17. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
  18. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
  19. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
  20. package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
  21. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  22. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
  23. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
  24. package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
  25. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  26. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
  27. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
  28. package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
  29. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  30. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
  31. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
  32. package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
  33. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
  34. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
  35. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
  36. package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
  37. package/examples/models/owlsys/organization/business_circle.json +144 -0
  38. package/examples/models/owlsys/organization/business_circle_application.json +50 -0
  39. package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
  40. package/examples/models/owlsys/organization/entity.json +64 -0
  41. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
  42. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
  43. package/examples/models/owlsys/organization/merchant_apply.json +561 -0
  44. package/examples/models/owlsys/organization/merchant_user.json +55 -0
  45. package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
  46. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
  47. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
  48. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
  49. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
  50. package/examples/models/owlsys/organization/org_certify_log.json +78 -0
  51. package/examples/models/owlsys/organization/org_entity.json +60 -0
  52. package/examples/models/owlsys/organization/org_modules.json +117 -0
  53. package/examples/models/owlsys/organization/org_source.json +30 -0
  54. package/examples/models/owlsys/organization/org_user.json +81 -0
  55. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
  56. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
  57. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
  58. package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
  59. package/examples/models/owlsys/organization/orgs.json +671 -0
  60. package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
  61. package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
  62. package/examples/models/owlsys/organization/website.json +104 -0
  63. package/examples/models/owlsys/permissions/permission.json +165 -0
  64. package/examples/models/owlsys/permissions/roles.json +48 -0
  65. package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
  66. package/examples/models/owlsys/server_token.json +38 -0
  67. package/examples/models/owlsys/session.json +57 -0
  68. package/examples/models/owlsys/tasks/process_job.json +94 -0
  69. package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
  70. package/examples/models/owlsys/tasks/process_job_log.json +34 -0
  71. package/examples/models/owlsys/user/address.json +52 -0
  72. package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
  73. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
  74. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
  75. package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
  76. package/examples/models/owlsys/user/org_user_address.json +46 -0
  77. package/examples/models/owlsys/user/org_user_address_default.json +48 -0
  78. package/examples/models/owlsys/user/org_user_invoice.json +56 -0
  79. package/examples/models/owlsys/user/user.json +458 -0
  80. package/examples/models/owlsys/user/user_address.json +46 -0
  81. package/examples/models/owlsys/user/user_address_default.json +48 -0
  82. package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
  83. package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
  84. package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
  85. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
  86. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
  87. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
  88. package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
  89. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
  90. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
  91. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
  92. package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
  93. package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  94. package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
  95. package/examples/models/owlsys/user/user_batch_import.json +76 -0
  96. package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
  97. package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
  98. package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
  99. package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
  100. package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
  101. package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
  102. package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
  103. package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  104. package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
  105. package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
  106. package/examples/models/owlsys/user/user_category.json +96 -0
  107. package/examples/models/owlsys/user/user_education.json +56 -0
  108. package/examples/models/owlsys/user/user_income.json +56 -0
  109. package/examples/models/owlsys/user/user_industry.json +56 -0
  110. package/examples/models/owlsys/user/user_invoice.json +88 -0
  111. package/examples/models/owlsys/user/user_logout.json +65 -0
  112. package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
  113. package/examples/models/owlsys/user/user_source.json +57 -0
  114. package/examples/models/owlsys/user/user_third_openid.json +64 -0
  115. package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
  116. package/examples/models/owlsys/user/user_update_log.json +69 -0
  117. package/examples/models/owlsys/user_logs/app_logs.json +48 -0
  118. package/examples/models/owlsys/user_logs/history_p.json +77 -0
  119. package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
  120. package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
  121. package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
  122. package/examples/owlsysApps/commonService/build.xml +29 -0
  123. package/examples/owlsysApps/commonService/src/meta.json +10 -0
  124. package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
  125. package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
  126. package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
  127. package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
  128. package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
  129. package/examples/owlsysApps/owlPermission/build.xml +29 -0
  130. package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
  131. package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
  132. package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
  133. package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
  134. package/examples/owlsysApps/owlShell/build.xml +28 -0
  135. package/examples/owlsysApps/owlShell/package-lock.json +3 -0
  136. package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
  137. package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
  138. package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
  139. package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
  140. package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
  141. package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
  142. package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
  143. package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
  144. package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
  145. package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
  146. package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
  147. package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
  148. package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
  149. package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
  150. package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
  151. package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
  152. package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
  153. package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
  154. package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
  155. package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
  156. package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
  157. package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
  158. package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
  159. package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
  160. package/examples/owlsysApps/owlShell/src/icon.png +0 -0
  161. package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
  162. package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
  163. package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
  164. package/examples/owlsysApps/owlShell/src/meta.json +16 -0
  165. package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
  166. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
  167. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
  168. package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
  169. package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
  170. package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
  171. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
  172. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
  173. package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
  174. package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
  175. package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
  176. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
  177. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
  178. package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
  179. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
  180. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
  181. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
  182. package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
  183. package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
  184. package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
  185. package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
  186. package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
  187. package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
  188. package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
  189. package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
  190. package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
  191. package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
  192. package/package.json +1 -1
@@ -0,0 +1,345 @@
1
+ //#import Util.js
2
+ //#import excel.js
3
+ //#import $owl_mall_u:services/modelService.jsx
4
+ //#import $owl_org_entity:services/modelService.jsx
5
+ //#import $owl_org_user:services/modelService.jsx
6
+ //#import $owl_orguser_batch_update:services/modelService.jsx
7
+ //#import $owlService:services/org/OrgUtil.jsx
8
+
9
+ ;(function () {
10
+
11
+ var jBatchImport = owl_orguser_batch_updateService.get(batchId);
12
+
13
+ var logMsg = "";
14
+ var total = 0;
15
+ var totalSuccess = 0;
16
+ var totalFailed = 0;
17
+ var beginTime = (new Date()).getTime();
18
+ try {
19
+ var orgId = jBatchImport._orgId;
20
+ logMsg = appendLog(logMsg, "商家ID=" + orgId);
21
+ if (orgId != "0") {
22
+ logMsg = appendLog(logMsg, "操作终止,原因是:该功能只支持在平台后台操作");
23
+ return;
24
+ }
25
+
26
+ var jFile = jBatchImport.file;
27
+ if (!jFile || jFile.length == 0 || !jFile[0].url) {
28
+ logMsg = appendLog(logMsg, "操作终止,原因是:缺少Excel文件");
29
+ return;
30
+ }
31
+ var filePath = jFile[0].url;
32
+
33
+ var jData = Excel.parse(filePath);
34
+ if (!jData) {
35
+ logMsg = appendLog(logMsg, "操作终止,原因是:读取Excel文件失败");
36
+ return;
37
+ }
38
+ if (!jData.sheets || jData.sheets.length == 0) {
39
+ logMsg = appendLog(logMsg, "操作终止,原因是:Excel中的sheet为空");
40
+ return;
41
+ }
42
+
43
+ var sheet = jData.sheets[0];
44
+ var rows = sheet.rows;
45
+ if (rows.length > 50000) {
46
+ logMsg = appendLog(logMsg, "操作终止,原因是:Excel的行数超过最大50000的限制了,请删除无用的空行");
47
+ return;
48
+ }
49
+
50
+ var firstRow = rows[0];
51
+ var firstRowCells = firstRow.cells;
52
+ var maxCell = firstRowCells.length;
53
+ if (maxCell > 100) {
54
+ maxCell = 100;
55
+ }
56
+
57
+ var jTitleIndex = {};
58
+ for (var i = 0; i < maxCell; i++) {
59
+ var jCell = firstRowCells[i];
60
+ if (jCell.value) {
61
+ jTitleIndex[jCell.value] = jCell.columnIndex;
62
+ }
63
+ }
64
+
65
+ logMsg = appendLog(logMsg, "数据正确性校验开始。");
66
+ var checkResult = checkExcelData(rows, jTitleIndex);
67
+ if (checkResult) {
68
+ logMsg = appendLog(logMsg, checkResult);
69
+ return;
70
+ }
71
+ logMsg = appendLog(logMsg, "数据正确性校验结束。");
72
+
73
+ logMsg = appendLog(logMsg, "数据批量导入开始。");
74
+ var orgEntityList = getAllOrgEntityList();
75
+
76
+ var totalCheckFail = 0;
77
+ for (var j = 1; j < rows.length; j++) {
78
+ try {
79
+ total++;
80
+
81
+ var row = rows[j];
82
+ var cells = row.cells;
83
+
84
+ var orgUserId = getCellValue(cells, jTitleIndex, "ID");
85
+ var stateName = getCellValue(cells, jTitleIndex, "状态");
86
+ var orgCode = getCellValue(cells, jTitleIndex, "机构编码", "所属机构编码");
87
+ var orgName = getCellValue(cells, jTitleIndex, "机构名称", "所属机构名称");
88
+ var department = getCellValue(cells, jTitleIndex, "部门名称", "所属部门");
89
+ var userName = getCellValue(cells, jTitleIndex, "姓名");
90
+ var userNo = getCellValue(cells, jTitleIndex, "员工号", "员工编号");
91
+ var mobile = getCellValue(cells, jTitleIndex, "手机号", "移动电话");
92
+
93
+ if (!orgUserId) {
94
+ totalFailed++;
95
+ logMsg = appendLog(logMsg, "行[" + j + "] 关键的ID为空");
96
+ continue;
97
+ }
98
+ if (orgUserId.indexOf("owl_org_user_") < 0) {
99
+ totalFailed++;
100
+ logMsg = appendLog(logMsg, "行[" + j + "] ID不合法");
101
+ continue;
102
+ }
103
+ if (!userName && !userNo && !userNo && !mobile && !orgName && !stateName) {
104
+ totalFailed++;
105
+ logMsg = appendLog(logMsg, "行[" + j + "] 没有要修改的信息");
106
+ continue;
107
+ }
108
+ // if (!userName) {
109
+ // totalFailed++;
110
+ // logMsg = appendLog(logMsg, "行[" + j + "] 关键的姓名为空");
111
+ // continue;
112
+ // }
113
+ // if (!userNo) {
114
+ // totalFailed++;
115
+ // logMsg = appendLog(logMsg, "行[" + j + "] 关键的员工号为空");
116
+ // continue;
117
+ // }
118
+ // if (!mobile) {
119
+ // totalFailed++;
120
+ // logMsg = appendLog(logMsg, "行[" + j + "] 关键的手机号为空");
121
+ // continue;
122
+ // }
123
+
124
+ // var jOrgUser = getOrgUserByMobile(mobile);
125
+ // if (jOrgUser) {
126
+ // totalFailed++;
127
+ // logMsg = appendLog(logMsg, "行[" + j + "] 手机号码【" + mobile + "】对应的员工已经存在");
128
+ // continue;
129
+ // }
130
+
131
+ var state = "";
132
+ if(stateName) {
133
+ if(stateName == "正常") {
134
+ state = "0"
135
+ } else if(stateName == "冻结") {
136
+ state = "1"
137
+ } else {
138
+ totalFailed++;
139
+ logMsg = appendLog(logMsg, "行[" + j + "] 状态只能是【正常或冻结】");
140
+ continue;
141
+ }
142
+ }
143
+
144
+ var jOrgUser = owl_org_userService.get(orgUserId);
145
+ if (!jOrgUser) {
146
+ totalFailed++;
147
+ logMsg = appendLog(logMsg, "行[" + j + "] 员工【" + orgUserId + "】不存在");
148
+ continue;
149
+ }
150
+
151
+ var jTempOrgUser = getOrgUserByUserNo(userNo);
152
+ if (jTempOrgUser && jTempOrgUser.id != orgUserId) {
153
+ totalFailed++;
154
+ logMsg = appendLog(logMsg, "行[" + j + "] 员工编码【" + userNo + "】对应的员工已经存在");
155
+ continue;
156
+ }
157
+
158
+ var isUpdated = false;
159
+ if (orgName) {
160
+ var jOrgEntity = getOrgEntityByName(orgEntityList, orgName);
161
+ if (!jOrgEntity) {
162
+ totalFailed++;
163
+ logMsg = appendLog(logMsg, "行[" + j + "] 单位名称【" + orgName + "】对应的中台实体不存在");
164
+ continue;
165
+ }
166
+ if (jOrgUser.org_entity_id != jOrgEntity.id || jOrgUser.branchcode != jOrgEntity.branchcode || jOrgUser.org_entity_name != jOrgEntity.name) {
167
+ jOrgUser.org_entity_id = jOrgEntity.id;
168
+ jOrgUser.branchcode = jOrgEntity.branchcode;
169
+ jOrgUser.org_entity_name = jOrgEntity.name;
170
+ isUpdated = true;
171
+ }
172
+ }
173
+
174
+ if (department) {
175
+ if (jOrgUser.department != department) {
176
+ jOrgUser.department = department;
177
+ isUpdated = true;
178
+ }
179
+ }
180
+ if (userName) {
181
+ if (jOrgUser.user_name != userName) {
182
+ jOrgUser.user_name = userName;
183
+ isUpdated = true;
184
+ }
185
+ }
186
+ if (userNo) {
187
+ if (jOrgUser.user_no != userNo) {
188
+ jOrgUser.user_no = userNo;
189
+ isUpdated = true;
190
+ }
191
+ }
192
+ if (mobile) {
193
+ if (jOrgUser.mobile != mobile) {
194
+ jOrgUser.mobile = mobile;
195
+ isUpdated = true;
196
+ }
197
+ }
198
+ if(state) {
199
+ if (jOrgUser.state != state) {
200
+ jOrgUser.state = state;
201
+ isUpdated = true;
202
+ }
203
+ }
204
+
205
+ if (isUpdated) {
206
+ owl_org_userService.update(jOrgUser);
207
+ logMsg = appendLog(logMsg, "行[" + j + "] " + "修改成功");
208
+ totalSuccess++;
209
+ } else {
210
+ logMsg = appendLog(logMsg, "行[" + j + "] " + "没有做任何修改");
211
+ totalFailed++;
212
+ }
213
+
214
+ } catch (e) {
215
+ totalFailed++;
216
+ totalCheckFail++;
217
+ logMsg = appendLog(logMsg, "行[" + j + "] 操作失败,失败原因:" + e);
218
+ }
219
+ }
220
+
221
+ logMsg = appendLog(logMsg, "数据批量导入结束。");
222
+
223
+ } catch (e) {
224
+ $.log("orguser_batch_update....batchImport.jsx....error=" + e);
225
+ logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
226
+ } finally {
227
+ var endTime = (new Date()).getTime();
228
+ var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
229
+ logInfo += "。总行数=" + total;
230
+ logInfo += ",共成功修改数量=" + totalSuccess;
231
+ logInfo += ",未修改总数量=" + totalFailed;
232
+
233
+ logMsg = appendLog(logMsg, "");
234
+ logMsg = appendLog(logMsg, logInfo);
235
+
236
+ jBatchImport.msg = logMsg;
237
+ owl_orguser_batch_updateService.update(jBatchImport);
238
+ }
239
+
240
+ })();
241
+
242
+ function appendLog(logInfo, s) {
243
+ if (logInfo) {
244
+ return logInfo + "\n" + s;
245
+ }
246
+ return s;
247
+ }
248
+
249
+ function getCellValue(cells, jTitleIndex, name, extName) {
250
+ var index = jTitleIndex[name];
251
+ if (!index && index != 0) {
252
+ index = jTitleIndex[extName];
253
+ if (!index && index != 0) {
254
+ return "";
255
+ }
256
+ }
257
+ for (var i = 0; i < cells.length; i++) {
258
+ var jCell = cells[i];
259
+ if (jCell.columnIndex == index) {
260
+ if (jCell.value) {
261
+ return jCell.value;
262
+ }
263
+ }
264
+ }
265
+ return "";
266
+ }
267
+
268
+ function checkExcelData(rows, jTitleIndex) {
269
+ var mobileMap = {};
270
+ var userNoMap = {};
271
+ for (var j = 1; j < rows.length; j++) {
272
+ var row = rows[j];
273
+ var cells = row.cells;
274
+
275
+ var userNo = getCellValue(cells, jTitleIndex, "员工编号", "系统编号");
276
+ var mobile = getCellValue(cells, jTitleIndex, "移动电话", "手机号");
277
+ if (!userNo || !mobile) {
278
+ continue;
279
+ }
280
+
281
+ userNo = userNo + "";
282
+ mobile = mobile + "";
283
+ var mobileFlag = mobileMap[mobile];
284
+ if (mobileFlag) {
285
+ return "行[" + j + "] 校验不通过,原因是:手机号码【" + mobile + "】和第[" + mobileFlag + "]行存在重复";
286
+ }
287
+ var userNoFlag = userNoMap[userNo];
288
+ if (userNoFlag) {
289
+ return "行[" + j + "] 校验不通过,原因是:员工编码【" + userNo + "】和第[" + userNoFlag + "]行存在重复";
290
+ }
291
+ mobileMap[mobile] = j;
292
+ userNoMap[userNo] = j;
293
+ }
294
+ return "";
295
+ }
296
+
297
+ function getOrgUserByMobile(mobile) {
298
+ var searchArgs = {
299
+ "mobile": mobile
300
+ }
301
+ var searchResult = owl_org_userService.search(null, searchArgs, "", 0, 1, null);
302
+ if (searchResult.state == 'ok') {
303
+ var listData = searchResult.list;
304
+ var total = searchResult.total.value;
305
+ if (listData && listData.length > 0) {
306
+ return listData[0];
307
+ }
308
+ }
309
+ return null;
310
+ }
311
+
312
+ function getOrgUserByUserNo(userNo) {
313
+ var searchArgs = {
314
+ "user_no": userNo
315
+ }
316
+ var searchResult = owl_org_userService.search(null, searchArgs, "", 0, 1, null);
317
+ if (searchResult.state == 'ok') {
318
+ var listData = searchResult.list;
319
+ var total = searchResult.total.value;
320
+ if (listData && listData.length > 0) {
321
+ return listData[0];
322
+ }
323
+ }
324
+ return null;
325
+ }
326
+
327
+ function getAllOrgEntityList() {
328
+ var searchArgs = {}
329
+ var searchResult = owl_org_entityService.search(null, searchArgs, "", 0, 1000, null);
330
+ if (searchResult.state == 'ok') {
331
+ var listData = searchResult.list;
332
+ return listData;
333
+ }
334
+ return [];
335
+ }
336
+
337
+ function getOrgEntityByName(orgEntityList, name) {
338
+ for (var i = 0; i < orgEntityList.length; i++) {
339
+ var jEntity = orgEntityList[i];
340
+ if (jEntity.name == name) {
341
+ return jEntity;
342
+ }
343
+ }
344
+ return null;
345
+ }
@@ -0,0 +1,82 @@
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;内部ID",
11
+ "file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8;Excel文件",
12
+ "desc": "string(12),formSize:8,multiline:T,showList:false,disabled:true,defaultValue:1、请注意Excel模板的第一行表头的名称很重要,是固定的,因为系统会根据表头名称读取相关字段信息进行导入。\n2、Excel中的所有字段都用文本格式填写,请不要使用百分比、公式等。;说明",
13
+ "msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
14
+ },
15
+ "other_info": {
16
+ "#meta": {
17
+ "fieldLabel": "其他信息",
18
+ "showTitle": "no",
19
+ "includeKey": "no",
20
+ "position": "card",
21
+ "span": 1
22
+ },
23
+ "owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
24
+ "owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
25
+ },
26
+
27
+ "_t": "orguser_batch_update",
28
+ "#meta": {
29
+ "rem": "批量修改集团员工",
30
+ "projectName": "批量修改集团员工",
31
+ "parent": [
32
+ "platform"
33
+ ],
34
+ "visitType": [
35
+ "platform"
36
+ ],
37
+ "exLists": [
38
+ {
39
+ "name": "默认列表",
40
+ "code": "defaultList",
41
+ "buttons":{
42
+ "showAdd": true,
43
+ "showDel": false,
44
+ "showRecycle": false
45
+ },
46
+ "expandIconColumnIndex":1,
47
+ "list": ["id","owl_createTime","owl_createUserId"]
48
+ }
49
+ ],
50
+ "pos": 2,
51
+ "group": {
52
+ "id": "basicInfo",
53
+ "name": "基本信息",
54
+ "icon": "layout",
55
+ "pos": 1,
56
+ "level2": {
57
+ "id": "org_batch_update",
58
+ "name": "组织批量管理",
59
+ "icon": "outline",
60
+ "pos": 2
61
+ }
62
+ },
63
+ "eventHandlers": [
64
+ {
65
+ "handlerId":"orguser_batch_update_eventHandlers_batchImport",
66
+ "pageId":"eventhandlers/batchImport.jsx",
67
+ "throwException":true,
68
+ "eventName": "orguser_batch_update_add_after",
69
+ "description":"新增后,自动执行"
70
+ }
71
+ ],
72
+ "formPlugins": [
73
+ {
74
+ "label": "下载模板",
75
+ "id": "orguser_batch_update_downTemplate",
76
+ "action": "/owl_orguser_batch_update/plugins/downTemplate.jsx",
77
+ "responseAction": "showMessage",
78
+ "help": "下载模板"
79
+ }
80
+ ]
81
+ }
82
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "id": "string(18),tab:01,disabled:true,showList:true;id",
3
+ "name": "string(24),tab:02,searchable:true;名称",
4
+ "logo": "image,spec:300x300,size:5M,exts:png#jpg#gif#jpeg,tab:11,maxFileCount:1;logo",
5
+ "maxNum": "number(8),tab:03,searchable:true;商户限制",
6
+ "usedNum": "number(8),tab:04,searchable:true;已有商户",
7
+ "needCertify":"choice,values:yes_是/no_否,searchable:true,tab:05,help:入圈是否需要审核;需要审核",
8
+ "supportResell":"choice,values:yes_是/no_否,searchable:true,tab:051,help:是否支持分销;支持分销",
9
+ "supportToShop":"choice,values:yes_是/no_否,searchable:true,tab:052,help:商圈是否要做到店自提;支持到店自提",
10
+ "price":"number(8),isMoney:true,tab:059,searchable:true;价格",
11
+ "ownerOrgId": "string(128),isId:true,tab:06;所属组织Id",
12
+ "_orgId": "string(128),isId:true,tab:06;管理方组织Id",
13
+ "description": "string(1024),multiLine:T,formSize:8,searchable:false,tab:07;商圈说明",
14
+ "orgs": [{
15
+ "#meta": {
16
+ "type": "external",
17
+
18
+ "fieldLabel": "商圈中的商家",
19
+ "dataSourceModel": "owl_orgs",
20
+ "link": "id->business_circles.id",
21
+ "relation": "child",
22
+ "tab": "7",
23
+ "editHandler": "linkTo",
24
+ "position": "tab",
25
+ "addSingle": false
26
+ }
27
+ }],
28
+
29
+ "websites": [{
30
+ "#meta": {
31
+ "type": "external",
32
+ "fieldLabel": "商圈中网站",
33
+ "dataSourceModel": "owl_website",
34
+ "link": "id->business_circles.business_circle_id",
35
+ "relation": "child",
36
+ "tab": "7",
37
+ "editHandler": "linkTo",
38
+ "position": "tab",
39
+ "addSingle": false
40
+ }
41
+ }],
42
+ "applications": [{
43
+ "#meta": {
44
+ "type": "external",
45
+ "fieldLabel": "入圈申请",
46
+ "dataSourceModel": "owl_business_circle_application",
47
+ "link": "id->business_circle_id",
48
+ "relation": "child",
49
+ "tab": "7",
50
+ "editHandler": "linkTo",
51
+ "position": "tab",
52
+ "addSingle": false
53
+ }
54
+ }],
55
+
56
+ "bc_products":[{
57
+ "#meta": {
58
+ "type": "external",
59
+ "fieldLabel": "商圈中的商品",
60
+ "dataSourceModel": "owl_mall_p",
61
+ "link": "id->bcids",
62
+ "relation": "child",
63
+ "tab": "7",
64
+ "editHandler": "linkTo",
65
+ "position": "tab",
66
+ "addSingle": false
67
+ }
68
+ }],
69
+
70
+ "icbc_submerchants": [{
71
+ "#meta": {
72
+ "type": "external",
73
+ "fieldLabel": "工行子商家",
74
+ "dataSourceModel": "owl_icbc_submerchant",
75
+ "link": "id->bcid",
76
+ "relation": "child",
77
+ "tab": "7",
78
+ "editHandler": "linkTo",
79
+ "position": "tab",
80
+ "addSingle": true
81
+ }
82
+ }],
83
+ "dyna_properties":[
84
+ {
85
+ "#meta": {
86
+ "fieldLabel": "商品属性",
87
+ "position": "tab",
88
+ "addSingle": true
89
+
90
+ },
91
+ "group": "string(16),listSize:14,tab:d0,searchable:true,defaultValue:基础属性;属性组",
92
+ "property":"string(16),listSize:12,tab:d1,searchable:true,required:true;属性",
93
+ "property_values":"string(16),listSize:16,tab:d2;属性值",
94
+ "required":"choice,listSize:8,values:y_是/n_否,defaultValue:n,tab:d3,searchable:true,required:true;是否必填",
95
+ "desc":"string(16),listSize:16,tab:d4;描述"
96
+ }
97
+ ],
98
+ "dyna_setting":[
99
+ {
100
+ "#meta": {
101
+ "fieldLabel": "动态属性",
102
+ "position": "tab",
103
+ "addSingle": true
104
+
105
+ },
106
+ "property":"string(16),listSize:12,tab:d1,searchable:true,required:true;属性",
107
+ "property_value":"string(16),listSize:16,tab:d2;属性值",
108
+ "desc":"string(16),listSize:16,tab:d3;描述"
109
+ }
110
+ ],
111
+ "_t": "business_circle",
112
+ "#meta": {
113
+ "rem": "商圈",
114
+ "hide": "false",
115
+ "projectName": "商圈",
116
+ "visitType": ["shop", "platform"],
117
+ "pos": 3,
118
+ "group": {
119
+ "id": "basicInfo",
120
+ "name": "基本信息",
121
+ "icon": "layout",
122
+ "pos": 1,
123
+ "level2": {
124
+ "id": "business_circle",
125
+ "name": "商圈管理",
126
+ "icon": "layout",
127
+ "pos": 4
128
+ }
129
+ },
130
+ "export": [
131
+ {
132
+ "label": "导出完整卡券",
133
+ "mainTitleFormat": {"background": "#474747", "color": "#cccccc"},
134
+ "subTitleFormat": {"background": "#777777", "color": "#ffffff"},
135
+ "subRecordFormat": {"background": "#ffffff", "color": "#000000"},
136
+ "mainRecordFormat": {"background": "#555555", "color": "#FFFFFF"},
137
+ "key": "completeDoc",
138
+ "fields": ["*"],
139
+ "items": {"name": "items", "itemFields": ["*"]}
140
+ }
141
+ ],
142
+ "exportDoc": true
143
+ }
144
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "id": "string(18),tab:01,disabled:true,showList:true;id",
3
+ "orgName": "string(16),tab:02,searchable:true;公司名称",
4
+ "state":"choice,values:waiting_待处理/passed_通过/rejected_已拒绝,tab:03;处理状态",
5
+ "applyTime":"date,searchable:true,tab:04;申请时间",
6
+ "lastProcessTime":"date,searchable,tab:05,showList:false;最后处理时间",
7
+ "processMemo":"string(128),formSize:8,listSize:12,searchable:true,tab:06;处理说明",
8
+ "business_circle_id":"string(128),isId:true,tab:07,listSize:12,searchable:true;商圈Id",
9
+ "business_circle_name":"string(128),listSize:10,tab:08,searchable:true,showList:false;商圈名称",
10
+ "applyingOrgId":"string(128),isId:true,tab:09,showList:false,isId:true,searchable:true;申请机构Id",
11
+ "webTitle": "string(128),tab:10,listSize:10,searchable:true;网站标题",
12
+ "ownerName": "string(128),tab:11,listSize:10,searchable:true;店主名称",
13
+ "logo": "image,spec:300x300,size:5M,exts:png#jpg#gif#jpeg,tab:12,showList:false,maxFileCount:1,tab:10;logo",
14
+ "shopAddress":"string(16),formSize:8,searchable:true,tab:13,showList:false;店铺地址",
15
+ "phone":"string(16),searchable:true,tab:14,showList:false;联系电话",
16
+ "description": "string(1024),multiLine:T,formSize:8,searchable:false,tab:12,showList:false;店铺说明",
17
+ "_t": "business_circle_application",
18
+ "#meta": {
19
+ "rem": "商圈申请",
20
+ "hide": "false",
21
+ "projectName": "商圈申请",
22
+ "visitType": ["shop", "platform"],
23
+ "pos": 4,
24
+ "group": {
25
+ "id": "basicInfo",
26
+ "name": "基本信息",
27
+ "icon": "layout",
28
+ "pos": 1,
29
+ "level2": {
30
+ "id": "business_circle",
31
+ "name": "商圈管理",
32
+ "icon": "layout",
33
+ "pos": 4
34
+ }
35
+ },
36
+ "export": [
37
+ {
38
+ "label": "导出完整卡券",
39
+ "mainTitleFormat": {"background": "#474747", "color": "#cccccc"},
40
+ "subTitleFormat": {"background": "#777777", "color": "#ffffff"},
41
+ "subRecordFormat": {"background": "#ffffff", "color": "#000000"},
42
+ "mainRecordFormat": {"background": "#555555", "color": "#FFFFFF"},
43
+ "key": "completeDoc",
44
+ "fields": ["*"],
45
+ "items": {"name": "items", "itemFields": ["*"]}
46
+ }
47
+ ],
48
+ "exportDoc": true
49
+ }
50
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "id": "string(12),tab:01,disabled:true,searchable:true;数据Id",
3
+ "uid": "string(128),tab:011,searchable:true;用户id",
4
+ "siteName": "string(64),tab:02,searchable:true;站点名称",
5
+ "siteTitle": "string(512),tab:03,listTab:02,formSize:8,searchable:true;网站标题",
6
+ "sitetype" : "choice,values:mobile_手机版/pc+mobile_电脑版和手机版,tab:04,searchable:true;网站类型",
7
+ "warehouse" : "choice,values:Yes_需要/No_不需要,tab:05,searchable:true;支持仓库",
8
+ "bclient" : "choice,values:Yes_需要/No_不需要,tab:06,searchable:true;商业客户",
9
+ "phone": "string(32),tab:07,searchable:true;电话",
10
+ "email": "string(128),tab:08,searchable:true;电子邮箱",
11
+ "description": "string(1024),tab:09,multiline:T,searchable:true,formSize:8;描述",
12
+ "createUserId": "string(128),tab:09,searchable:true;创建人",
13
+ "createTime": "date,tab:10,searchable:true;创建时间",
14
+ "totalprice": "number(64),tab:11,searchable:true;总价",
15
+ "paystate": "choice,values:unpaid_未支付/paid_已支付/canceled_已取消,tab:12,searchable:true;支付状态",
16
+ "processstate": "choice,values:unprocessed_未处理/processed_已处理/failed_处理失败,tab:13,searchable:true;处理状态",
17
+ "siteId": "string(128),tab:14,searchable:true;生成的网站Id",
18
+ "warehouseId": "string(128),tab:15,searchable:true;生成的仓库Id",
19
+ "ip": "string(64),tab:11,searchable:true;ip",
20
+ "_t":"create_site_order",
21
+ "#meta":{
22
+ "rem":"建站订单",
23
+ "hide":"true",
24
+ "push": true,
25
+ "projectName":"网站信息",
26
+ "parent":["platform"],
27
+ "visitType": [
28
+ "platform"
29
+ ],
30
+ "pos":4,
31
+
32
+ "group":{
33
+ "id":"site_order",
34
+ "name":"站点管理",
35
+ "icon": "form",
36
+ "pos":8
37
+ },
38
+ "export":[
39
+ {
40
+ "label":"导出完整",
41
+ "mainTitleFormat":{"background":"#ffffff","color":"#000000"},
42
+ "subTitleFormat":{"background":"#777777","color":"#ffffff"},
43
+ "subRecordFormat":{"background":"#ffffff","color":"#000000"},
44
+ "mainRecordFormat":{"background":"#ffffff","color":"#000000"},
45
+ "key":"completeDoc",
46
+ "fields":["*"]
47
+ }
48
+ ]
49
+ }
50
+ }