doomiwork 3.2.0 → 3.3.2

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.
@@ -132,60 +132,112 @@ class mysqlDao extends dao{
132
132
  if (!this.hasPermissionControl){
133
133
  return null;
134
134
  }
135
+ // const sqlCommand = `select
136
+ // data_type as datatype,
137
+ // data_id as id,
138
+ // permission_type as permissiontype,
139
+ // data_department as department,
140
+ // data_department_text as departmenttext,
141
+ // data_role as role,
142
+ // data_role_text as roletext,
143
+ // data_level as level,
144
+ // data_level_text as leveltext,
145
+ // data_user as user,
146
+ // data_user_text as usertext
147
+ // from vmv3_data_permission
148
+ // where data_type=?
149
+ // and data_id=?
150
+ // `
151
+ // return this.executeSql(sqlCommand, [this.tableoption.permissiondatatype,id])
152
+ // .then(result=>{
153
+ // let retValue = {
154
+ // successed:true,
155
+ // managepermission: {
156
+ // datatype:this.tableoption.permissiondatatype,
157
+ // id,
158
+ // permissiontype:1,
159
+ // department:'',
160
+ // departmenttext:'',
161
+ // role:'',
162
+ // roletext:'',
163
+ // level:'',
164
+ // leveltext:'',
165
+ // user:'',
166
+ // usertext:''
167
+ // },
168
+ // consumepermission: {
169
+ // datatype: this.tableoption.permissiondatatype,
170
+ // id,
171
+ // permissiontype: 2,
172
+ // department: '',
173
+ // departmenttext: '',
174
+ // role: '',
175
+ // roletext: '',
176
+ // level: '',
177
+ // leveltext: '',
178
+ // user: '',
179
+ // usertext: ''
180
+ // }
181
+ // };
182
+ // result.rows.forEach(element => {
183
+ // if (element.permissiontype === 1) {////管理权限
184
+ // retValue.managepermission = element;
185
+ // } else if (element.permissiontype === 2) {////消费权限
186
+ // retValue.consumepermission = element;
187
+ // }
188
+ // });
189
+ // return retValue;
190
+ // })
135
191
  const sqlCommand = `select
136
- data_type as datatype,
137
192
  data_id as id,
138
- permission_type as permissiontype,
139
- data_department as department,
140
- data_department_text as departmenttext,
141
- data_role as role,
142
- data_role_text as roletext,
143
- data_level as level,
144
- data_level_text as leveltext,
145
- data_user as user,
146
- data_user_text as usertext
147
- from vmv3_data_permission
148
- where data_type=?
149
- and data_id=?
193
+ data_type as datatype,
194
+ allow_type as allowtype,
195
+ allow_id as allowid,
196
+ allow_name as allowname
197
+ from framework_permission
198
+ where
199
+ data_id=?
200
+ and data_type=?
201
+ order by allow_type,allow_id
150
202
  `
151
- return this.executeSql(sqlCommand, [this.tableoption.permissiondatatype,id])
203
+ return this.executeSql(sqlCommand, [id,this.tableoption.permissiondatatype])
152
204
  .then(result=>{
153
205
  let retValue = {
154
206
  successed:true,
155
- managepermission: {
156
- datatype:this.tableoption.permissiondatatype,
157
- id,
158
- permissiontype:1,
159
- department:'',
160
- departmenttext:'',
161
- role:'',
162
- roletext:'',
163
- level:'',
164
- leveltext:'',
165
- user:'',
166
- usertext:''
167
- },
207
+ managepermission: {},
168
208
  consumepermission: {
169
209
  datatype: this.tableoption.permissiondatatype,
170
210
  id,
171
211
  permissiontype: 2,
172
- department: '',
173
- departmenttext: '',
174
- role: '',
175
- roletext: '',
176
- level: '',
177
- leveltext: '',
178
- user: '',
179
- usertext: ''
180
212
  }
181
213
  };
182
- result.rows.forEach(element => {
183
- if (element.permissiontype === 1) {////管理权限
184
- retValue.managepermission = element;
185
- } else if (element.permissiontype === 2) {////消费权限
186
- retValue.consumepermission = element;
214
+ let pObject = {deptid:[],depttext:[],roleid:[],roletext:[],userid:[],usernames:[]}
215
+ for (const element of result.rows){
216
+ switch (element.allowtype){
217
+ case 1: ///部门
218
+ pObject.deptid.push(element.allowid)
219
+ pObject.depttext.push(element.allowname)
220
+ break;
221
+ case 2: ///角色
222
+ pObject.roleid.push(element.allowid)
223
+ pObject.roletext.push(element.allowname)
224
+ break;
225
+ case 4: ///用户
226
+ pObject.userid.push(element.allowid)
227
+ pObject.usernames.push(element.allowname)
228
+ break;
187
229
  }
188
- });
230
+ }
231
+ retValue.consumepermission.department = pObject.deptid.join(',')
232
+ retValue.consumepermission.departmenttext = pObject.depttext.join(',') ;//+ ((pObject.deptid.length > pObject.depttext.length) ? `等${pObject.deptid.length}个部门`:'');
233
+
234
+ retValue.consumepermission.role = pObject.roleid.join(',')
235
+ retValue.consumepermission.roletext = pObject.roletext.join(',');// + ((pObject.roleid.length > pObject.roletext.length) ? `等${pObject.roleid.length}个角色` : '');
236
+
237
+ retValue.consumepermission.user = pObject.userid.join(',')
238
+ retValue.consumepermission.usertext = pObject.usernames.join(',');// + ((pObject.userid.length > pObject.usernames.length) ? `等${pObject.userid.length}个用户` : '');
239
+
240
+ // console.log('retValue==>', retValue)
189
241
  return retValue;
190
242
  })
191
243
  }
@@ -194,57 +246,112 @@ class mysqlDao extends dao{
194
246
  if (!this.hasPermissionControl || !permissionParam) {
195
247
  return Promise.resolve({successed:true})
196
248
  };
249
+ // const sqlCommand = `
250
+ // replace into vmv3_data_permission(
251
+ // data_type,
252
+ // data_id,
253
+ // permission_type,
254
+ // data_department,
255
+ // data_department_text,
256
+ // data_role,
257
+ // data_role_text,
258
+ // data_level,
259
+ // data_level_text,
260
+ // data_user,
261
+ // data_user_text
262
+ // ) values
263
+ // `
264
+ // let subItem = [];
265
+ // if (permissionParam.managepermission){
266
+ // const mItem = permissionParam.managepermission;
267
+ // subItem.push(`(
268
+ // ${this.tableoption.permissiondatatype},
269
+ // '${id}',
270
+ // 1,
271
+ // '${mItem.department || ''}',
272
+ // '${mItem.departmenttext || ''}',
273
+ // '${mItem.role || ''}',
274
+ // '${mItem.roletext || ''}',
275
+ // '${mItem.level || ''}',
276
+ // '${mItem.leveltext || ''}',
277
+ // '${mItem.user || ''}',
278
+ // '${mItem.usertext || ''}'
279
+ // )`)
280
+
281
+ // }
282
+
283
+ // if (permissionParam.consumepermission) {
284
+ // const mItem = permissionParam.consumepermission;
285
+ // subItem.push(`(
286
+ // ${this.tableoption.permissiondatatype},
287
+ // '${id}',
288
+ // 2,
289
+ // '${mItem.department || ''}',
290
+ // '${mItem.departmenttext || ''}',
291
+ // '${mItem.role || ''}',
292
+ // '${mItem.roletext || ''}',
293
+ // '${mItem.level || ''}',
294
+ // '${mItem.leveltext || ''}',
295
+ // '${mItem.user || ''}',
296
+ // '${mItem.usertext || ''}'
297
+ // )`)
298
+ // }
299
+ //return this.executeSql(sqlCommand+subItem.join(','));
300
+
197
301
  const sqlCommand = `
198
- replace into vmv3_data_permission(
199
- data_type,
302
+ delete from framework_permission where data_id=? and data_type=?;
303
+ insert into framework_permission(
200
304
  data_id,
201
- permission_type,
202
- data_department,
203
- data_department_text,
204
- data_role,
205
- data_role_text,
206
- data_level,
207
- data_level_text,
208
- data_user,
209
- data_user_text
210
- ) values
305
+ data_type,
306
+ allow_type,
307
+ allow_id
308
+ ) values ?;
309
+
310
+ update framework_permission op
311
+ inner join vm_org_department od on op.allow_id=od.department_id
312
+ set op.allow_name = od.department_name,
313
+ op.allow_path = od.parent_path
314
+ where data_id=? and data_type=? and allow_type=1;
315
+
316
+ update framework_permission op
317
+ inner join vm_org_role od on op.allow_id=od.role_id
318
+ set op.allow_name = od.role_name
319
+ where data_id=? and data_type=? and allow_type=2;
320
+
321
+ update framework_permission op
322
+ inner join vm_org_user od on op.allow_id=od.user_id
323
+ set op.allow_name = od.user_name
324
+ where data_id=? and data_type=? and allow_type=4;
325
+
211
326
  `
212
327
  let subItem = [];
213
- if (permissionParam.managepermission){
214
- const mItem = permissionParam.managepermission;
215
- subItem.push(`(
216
- ${this.tableoption.permissiondatatype},
217
- '${id}',
218
- 1,
219
- '${mItem.department || ''}',
220
- '${mItem.departmenttext || ''}',
221
- '${mItem.role || ''}',
222
- '${mItem.roletext || ''}',
223
- '${mItem.level || ''}',
224
- '${mItem.leveltext || ''}',
225
- '${mItem.user || ''}',
226
- '${mItem.usertext || ''}'
227
- )`)
228
-
229
- }
328
+
230
329
 
231
330
  if (permissionParam.consumepermission) {
232
331
  const mItem = permissionParam.consumepermission;
233
- subItem.push(`(
234
- ${this.tableoption.permissiondatatype},
235
- '${id}',
236
- 2,
237
- '${mItem.department || ''}',
238
- '${mItem.departmenttext || ''}',
239
- '${mItem.role || ''}',
240
- '${mItem.roletext || ''}',
241
- '${mItem.level || ''}',
242
- '${mItem.leveltext || ''}',
243
- '${mItem.user || ''}',
244
- '${mItem.usertext || ''}'
245
- )`)
332
+ const deptids = mItem.department?mItem.department.split(','):[]
333
+ for (const deptid of deptids){
334
+ subItem.push([id, this.tableoption.permissiondatatype, 1, deptid])
335
+ }
336
+ const roleids = mItem.role ? mItem.role.split(',') : []
337
+ for (const rid of roleids) {
338
+ subItem.push([id, this.tableoption.permissiondatatype, 2, rid])
339
+ }
340
+ const userids = mItem.user ? mItem.user.split(',') : []
341
+ for (const uid of userids) {
342
+ subItem.push([id, this.tableoption.permissiondatatype, 4, uid])
343
+ }
246
344
  }
247
- return this.executeSql(sqlCommand+subItem.join(','));
345
+ return this.executeSql(sqlCommand, [
346
+ id,
347
+ this.tableoption.permissiondatatype,
348
+ subItem,
349
+ id,
350
+ this.tableoption.permissiondatatype,
351
+ id,
352
+ this.tableoption.permissiondatatype,
353
+ id,
354
+ this.tableoption.permissiondatatype]);
248
355
  }
249
356
  /**
250
357
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doomiwork",
3
- "version": "3.2.0",
3
+ "version": "3.3.2",
4
4
  "description": "doomisoft nodejs web framework",
5
5
  "main": "index.js",
6
6
  "scripts": {