| | |
| | | export function getList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/device/getList', data) |
| | | } |
| | | export function getDeviceRoleList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/deviceRole/list', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | |
| | | export function updateCanVisit (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/member/updateCanVisitById', data) |
| | | } |
| | | export function batchRoleAuth (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/member/batchRoleAuth', data) |
| | | } |
| | | |
| | | // æ¹éæé» |
| | | export function batchBlock (ids) { |
| | |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥ç»ç»åç§°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»ç±»å" prop="type"> |
| | | <el-radio-group v-model="form.type" > |
| | | <el-radio-group v-model="form.type" :disabled="form.parentType ==0"> |
| | | <el-radio :label="0">ç¸å
³æ¹ç»ç»</el-radio> |
| | | <el-radio :label="1">å
é¨ç»ç»</el-radio> |
| | | </el-radio-group> |
| | |
| | | name: '', |
| | | parentId: null, |
| | | disable: false, |
| | | parentName: '' |
| | | parentName: '', |
| | | parentType:0 |
| | | } |
| | | if (target != null) { |
| | | this.form.parentId = target.id |
| | | this.form.parentName = target.companyPath |
| | | this.form.parentType = target.type |
| | | this.form.parentName = target.companyNamePath |
| | | |
| | | } |
| | | // æ°å»ºç»ç» |
| | | if (row == null) { |
| | |
| | | for (const key in this.form) { |
| | | this.form[key] = row[key] |
| | | } |
| | | if(target.type == 0){ |
| | | this.form.type = 0 |
| | | } |
| | | }) |
| | | }, |
| | | // 确认æ°å»º/ä¿®æ¹ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | width="900px" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <p class="tip-warn"><i class="el-icon-warning"></i>æéï¼<br> |
| | | 1.é¨ç¦æéé
ç½®æååï¼ææä»»å¡å³è¿å
¥æéä¸åéåï¼å¯åå¾ãäººåææè®°å½ãæ¥çä¸åè¿åº¦;<br> |
| | | 2.妿éè¦æ¸
空å½åéä¸äººåä¸åæéï¼ä»¥ä¸ãå·²éé¨ç¦ç¹åç»ã为空æäº¤å³å¯ã |
| | | </p> |
| | | <p class="tip" v-if="form.names != null">æ£å¨ä¸º<em>ã{{ form.names.map(item => `${item}`).join('ï¼') }}ã</em> é
ç½®é¨ç¦æé</p> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="é¨ç¦æææï¼" prop="timeType"> |
| | | <el-radio-group v-model="form.timeType"> |
| | | <el-radio :label="0">é¿æææ</el-radio> |
| | | <el-radio :label="1">èªå®ä¹æ¶é´</el-radio> |
| | | <el-radio :label="2" v-if="companyType=== 0">å¹è®æææ</el-radio> |
| | | </el-radio-group> |
| | | <div v-if="form.timeType ==1" style="margin-top: 10px" > |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="é¨ç¦ç¹åç»ï¼" prop="roleIds"> |
| | | <el-transfer |
| | | style="margin-top: 15px;font-size: 12px" |
| | | :titles="['æªéé¨ç¦ç¹åç»', 'å·²éé¨ç¦ç¹åç»']" |
| | | filterable |
| | | :filter-method="filterMethod" |
| | | filter-placeholder="请è¾å
¥é¨ç¦ç¹åç»åç§°" |
| | | v-model="form.roleIds" |
| | | :data="roles"> |
| | | </el-transfer> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import {getDeviceRoleList} from '@/api/business/device' |
| | | export default { |
| | | name: 'OperaDeviceRoleWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | var validateTime = (rule, value, callback) => { |
| | | if(this.form.timeType == null ){ |
| | | callback(new Error('è¯·å¡«åæ£ç¡®çé¨ç¦ææææ¶é´')) |
| | | return |
| | | } |
| | | if(this.form.timeType === 1 && (this.form.startTime ==null || this.form.endTime == null)){ |
| | | callback(new Error('è¯·å¡«åæ£ç¡®çé¨ç¦ææææ¶é´')) |
| | | return |
| | | } |
| | | callback() |
| | | }; |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | time:null, |
| | | companyType:1, |
| | | form: { |
| | | ids: [], |
| | | names: [], |
| | | timeType: 0, |
| | | roleIds: [], |
| | | status: 1, |
| | | startTime:null, |
| | | endTime:null, |
| | | radio: 0 |
| | | }, |
| | | roles:[], |
| | | rules: { |
| | | // éªè¯è§å |
| | | timeType: [ |
| | | { required: true, validator: validateTime,message: '请éä¸é¨ç¦æææ' } |
| | | ], |
| | | startTime: [ |
| | | { validator: validateTime, trigger: 'blur' } |
| | | ], |
| | | endTime: [ |
| | | { validator: validateTime, trigger: 'blur' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/member', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | filterMethod(query, item) { |
| | | if (!query) return item; |
| | | return item.label.indexOf(query) > -1 ; |
| | | }, |
| | | seleTime (e) { |
| | | if(e && e.length >= 2){ |
| | | this.form.startTime = e[0] |
| | | this.form.endTime = e[1] |
| | | }else{ |
| | | this.form.startTime = null |
| | | this.form.endTime = null |
| | | } |
| | | }, |
| | | confirm () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | if (this.form.roleIds == null || this.form.roleIds.length == 0) { |
| | | this.$dialog.actionConfirm('æéä¸ºç©ºï¼æäº¤å峿¸
餿é人åå·²åé
æéï¼è¯·è°¨æ
æä½', 'æ¨ç¡®è®¤è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.confirmDo(); |
| | | }) |
| | | .catch(() => {}) |
| | | |
| | | } else { |
| | | this.confirmDo(); |
| | | } |
| | | }) |
| | | }, |
| | | confirmDo(){ |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | this.api.batchRoleAuth({ |
| | | ids: this.form.ids, |
| | | timeType: this.form.timeType, |
| | | startTime: this.form.startTime, |
| | | endTime: this.form.endTime, |
| | | roleIds: this.form.roleIds |
| | | }) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | // è·åè®¾å¤ |
| | | getLists (){ |
| | | getDeviceRoleList({type:2}) |
| | | .then(res => { |
| | | this.roles = res.map(item => { |
| | | return { |
| | | label: item.name, |
| | | area: item.name, |
| | | key: item.id |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | open (title, ids,names,companyType) { |
| | | this.roles = [] |
| | | this.getLists() |
| | | this.title = title |
| | | this.visible = true |
| | | this.companyType = companyType |
| | | // æ°å»º |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.ids = ids; |
| | | this.form.names =names; |
| | | |
| | | console.log(names) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | @import "@/assets/style/variables.scss"; |
| | | // è§è²é
ç½® |
| | | .global-window { |
| | | .tip { |
| | | em { |
| | | font-style: normal; |
| | | color: $primary-color; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | .tip-warn { |
| | | margin: 4px 0 12px 0; |
| | | font-size: 12px; |
| | | color: #999; |
| | | i { |
| | | color: orange; |
| | | margin-right: 4px; |
| | | font-size: 14px; |
| | | position: relative; |
| | | top: 1px; |
| | | } |
| | | } |
| | | } |
| | | .el-transfer-panel { |
| | | width: 350px !important; |
| | | } |
| | | </style> |
| | |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="ç»ç»åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="ç»ç»ç±»å" min-width="100px"> |
| | | <el-table-column prop="name" label="ç»ç»ç±»å" min-width="80px"> |
| | | <template scope="{row}"> |
| | | <span v-if="row.type == 0">ç¸å
³æ¹ç»ç»</span> |
| | | <span v-if="row.type == 1">å
é¨ç»ç»</span> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('ç¼è¾ä¼ä¸ä¿¡æ¯',{ id: row.parentId,name:row.parentName,companyPath:row.parentCompanyPath}, row)" icon="el-icon-edit" v-permissions="['business:company:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('ç¼è¾ä¼ä¸ä¿¡æ¯',{ id: row.parentId,name:row.parentName,type:row.parentType, companyPath:row.parentCompanyPath}, row)" icon="el-icon-edit" v-permissions="['business:company:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('æ°å»ºå级', row,null)" icon="el-icon-plus">æ°å»ºå级</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:company:delete']">å é¤</el-button> |
| | | </template> |
| | |
| | | </template> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:member:delete','business:member:create']"> |
| | | <!-- <li><el-button type="primary">é¨ç¦ææ</el-button></li>--> |
| | | <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create']"> |
| | | <!-- |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">忥</el-button></li> |
| | | --> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('æ°å»ºåå·¥',null,department)" icon="el-icon-plus" v-permissions="['business:member:create']">æ°å»ºåå·¥</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('æ°å»ºåå·¥',null,department,1)" icon="el-icon-plus" v-permissions="['business:member:create']">æ°å»ºåå·¥</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">æ¹éå é¤</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()" icon="el-icon-plus">ä¸åææ</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å¯æè®¿" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.canVisit != 1">å¦</span> |
| | | <span v-if="row.canVisit == 1">æ¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æµ·åº·åæ¥ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.hkStatus == 0" style="color: #435EBE">å¾
忥</span> |
| | |
| | | <span>{{(row.roleNames && row.roleNames.length) ?row.roleNames.join(','): '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="é¨ç¦æææ" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.roleId !=null && row.roleId != ''"> |
| | | <div v-if="!row.startTime || !row.endTime">é¿æææ</div> |
| | | <div v-else> |
| | | <span>èµ·ï¼{{row.startTime}}</span><br /> |
| | | <span>æ¢ï¼{{row.endTime}}</span> |
| | | </div> |
| | | </div> |
| | | <div v-else >-</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="code" label="å·¥å·" min-width="100px"></el-table-column> |
| | | <el-table-column label="å¡ç" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | |
| | | <!-- æ¥ç人åå¼å¡è®°å½ --> |
| | | <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" /> |
| | | <OperaMemberWindow ref="OperaMemberWindow" @success="handlePageChange" /> |
| | | <OperaMemberRoleWindow ref="OperaMemberRoleWindow" @success="handlePageChange" /> |
| | | </template> |
| | | </TableLayout1> |
| | | </template> |
| | |
| | | import cardOpeningRecord from '@/components/business/cardOpeningRecord' |
| | | import Tree from '@/components/common/Tree' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow' |
| | | import { fetchList } from '@/api/business/company' |
| | | import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member' |
| | | export default { |
| | | name: 'internalMember', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow }, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow }, |
| | | data () { |
| | | return { |
| | | TreeList: [], |
| | |
| | | canVisit: '', |
| | | keyword: '', |
| | | type: 2, |
| | | companyType:1, |
| | | erpOrgId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | |
| | | this.getfindCompanyTreePage() |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch () { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | var ids = [] |
| | | var names = [] |
| | | this.tableData.selectedRows.forEach(item => { |
| | | ids.push(item.id) |
| | | names.push(item.name) |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('å
é¨åå·¥ä¸åæé', ids, names,this.searchForm.companyType) |
| | | }, |
| | | empower (id) { |
| | | var that = this |
| | | this.$confirm('ç¡®å®éæ°ææå?', 'æç¤º', { |
| | |
| | | that.search() |
| | | }) |
| | | }).catch(() => { |
| | | this.$tip.apiSuccess( 'æä½å¤±è´¥') |
| | | this.$tip.apiSuccess('æä½å¤±è´¥') |
| | | }) |
| | | }, |
| | | // è·åç»ç»æ |
| | | getfindCompanyTreePage () { |
| | | fetchList(1) |
| | | fetchList() |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | |
| | | this.$delete(newItem, 'children') |
| | | } else { |
| | | newItem.children = this.getDepartmentTree(newItem.children) |
| | | } |
| | | |
| | | if(newItem.type === this.searchForm.companyType){ |
| | | //newItem.disabled =false |
| | | }else{ |
| | | newItem.disabled = true |
| | | } |
| | | return newItem |
| | | }) |
| | |
| | | }, |
| | | async updateHead (row, type) { |
| | | this.$dialog.actionConfirm('æ¨ç¡®è®¤è¿è¡å½åæä½åï¼', 'é¨é¨ä¸»ç®¡è®¾ç½®æä½æç¤º') |
| | | .then(() => { |
| | | this.heading = true |
| | | updateHead({ id: row.id, headStatus: type }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.heading = false |
| | | }) |
| | | .catch(() => {}) |
| | | }) |
| | | .then(() => { |
| | | this.heading = true |
| | | updateHead({ id: row.id, headStatus: type }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.heading = false |
| | | }) |
| | | .catch(() => {}) |
| | | }) |
| | | }, |
| | | changeWorkStatus (e, row) { |
| | | this.working = true |
| | |
| | | }) |
| | | .catch(() => {}) |
| | | }, |
| | | changeCanvisit (e, row) { |
| | | changeCanvisit (e, row) { |
| | | this.canvisiting = true |
| | | updateCanVisit({ id: row.id, canVisit: e }) |
| | | .then(res => { |
| | |
| | | .catch(() => {}) |
| | | }, |
| | | callback (row) { |
| | | alert(row.name) |
| | | console.log(row) |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | | this.search() |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout1 :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请è¾å
¥å§å/ææºå·/å·¥å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="æ¯å¦æäººè¸"> |
| | | <el-option label="æ " value="0"></el-option> |
| | | <el-option label="æ" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="å¯æè®¿"> |
| | | <el-option label="æ¯" value="1"></el-option> |
| | | <el-option label="å¦" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="status"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="search" placeholder="ç¶æ"> |
| | | <el-option label="æ£å¸¸" value="0"></el-option> |
| | | <el-option label="ç¦ç¨" value="1"></el-option> |
| | | <el-option label="æé»/å»ç»" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" placeholder="æµ·åº·åæ¥ç¶æ"> |
| | | <el-option label="å¾
忥" value="0"></el-option> |
| | | <el-option label="忥æå" value="1"></el-option> |
| | | <el-option label="åæ¥å¤±è´¥" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" > |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1" >æ¯å¦å
å«ä¸çº§ç»ç»</el-checkbox> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <template v-slot:menu> |
| | | <div style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">ä¼ä¸ç»ç»æ¶æ</div> |
| | | <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;"> |
| | | <Tree :list="companyTree" :defaultProps="{name: 'name', status: 'fsStatus', children: 'childList', id: 'id'}" @callback="callback" /> |
| | | </div> |
| | | </template> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:member:delete','business:member:create,business:empower:create']"> |
| | | <!-- |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">忥</el-button></li> |
| | | --> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberWindow.open('æ°å»ºåå·¥',null,department,0)" icon="el-icon-plus" v-permissions="['business:member:create']">æ°å»ºåå·¥</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">æ¹éå é¤</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:empower:create']" @click="startEmpowerBatch()" icon="el-icon-plus">ä¸åææ</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" min-width="100px"></el-table-column> |
| | | <el-table-column label="æ§å«" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.sex == 1">ç·</span> |
| | | <span v-if="row.sex == 2">女</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status == 0" style="color: green">æ£å¸¸</span> |
| | | <span v-if="row.status == 1" style="color: red">ç¦ç¨</span> |
| | | <span v-if="row.status == 2" style="color: red">æé»/å»ç»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="é¨é¨ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | | <span v-if="row.companyType == 1">å
é¨ç»ç»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å¨èç¶æ"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | @change="changeWorkStatus($event, row)" |
| | | v-model="row.workStatus" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="0" |
| | | :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ¯å¦å¯æè®¿"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | @change="changeCanvisit($event, row)" |
| | | v-model="row.canVisit" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | :active-value="1" |
| | | :inactive-value="0"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æµ·åº·åæ¥ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.hkStatus == 0" style="color: #435EBE">å¾
忥</span> |
| | | <span v-if="row.hkStatus == 1" style="color: green">忥æå</span> |
| | | <span v-if="row.hkStatus == 2" style="color: red">åæ¥å¤±è´¥</span> |
| | | <span v-if="row.hkStatus == 3" style="color: red">ä¸ç¬¦åä¸åæ¡ä»¶</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ¯å¦ææ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.authStatus == 1" style="color: green">æ¯</span> |
| | | <span v-if="row.authStatus == 0" style="color: red">å¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="é¨ç¦è§è²" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{(row.roleNames && row.roleNames.length) ?row.roleNames.join(','): '-'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="é¨ç¦æææ" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.roleId !=null && row.roleId != ''"> |
| | | <div v-if="!row.startTime || !row.endTime">é¿æææ</div> |
| | | <div v-else> |
| | | <span>èµ·ï¼{{row.startTime}}</span><br /> |
| | | <span>æ¢ï¼{{row.endTime}}</span> |
| | | </div> |
| | | </div> |
| | | <div v-else >-</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="code" label="å·¥å·" min-width="100px"></el-table-column> |
| | | <el-table-column label="å¡ç" min-width="80px"> |
| | | <template slot-scope="{row}"> |
| | | <el-button @click="$refs.cardOpeningRecord.open('å¼å¡è®°å½', row.id)" type="text">{{row.memberCardCount || '0'}}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æåæä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column fixed="right" label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image |
| | | v-if="row.faceImgFull" |
| | | style="width: 60px; height: 60px" |
| | | :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])" |
| | | label="æä½" |
| | | min-width="280" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('ç¼è¾å工信æ¯',row,department)" v-permissions="['business:empower:update']">ç¼è¾</el-button> |
| | | <el-button type="text" :loading="heading" icon="el-icon-delete" @click="updateHead(row,0)" v-if="row.headStatus ==1 " v-permissions="['business:member:head']">åæ¶ä¸»ç®¡</el-button> |
| | | <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row,1)" v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">éæ°ææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="empower(row.id)" v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | <!-- æ¥ç人åå¼å¡è®°å½ --> |
| | | <cardOpeningRecord ref="cardOpeningRecord" @success="handlePageChange" /> |
| | | <OperaMemberWindow ref="OperaMemberWindow" @success="handlePageChange" /> |
| | | <OperaMemberRoleWindow ref="OperaMemberRoleWindow" @success="handlePageChange" /> |
| | | </template> |
| | | </TableLayout1> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout1 from '@/layouts/TableLayout1' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import cardOpeningRecord from '@/components/business/cardOpeningRecord' |
| | | import Tree from '@/components/common/Tree' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow' |
| | | import { fetchList } from '@/api/business/company' |
| | | import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member' |
| | | export default { |
| | | name: 'internalMember', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow }, |
| | | data () { |
| | | return { |
| | | TreeList: [], |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '', |
| | | status: '', |
| | | hkStatus: '', |
| | | includeChild: false, |
| | | canVisit: '', |
| | | keyword: '', |
| | | type: 2, |
| | | companyType:0, |
| | | erpOrgId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | | }, |
| | | loading: false, |
| | | heading: false, |
| | | working: false, |
| | | canvisiting: false, |
| | | companyTree: [], |
| | | department: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '人åä¿¡æ¯è¡¨', |
| | | api: '/business/member', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | // this.search() |
| | | this.getfindCompanyTreePage() |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch () { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | var ids = [] |
| | | var names = [] |
| | | this.tableData.selectedRows.forEach(item => { |
| | | ids.push(item.id) |
| | | names.push(item.name) |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('å
é¨åå·¥ä¸åæé', ids, names,this.searchForm.companyType) |
| | | }, |
| | | empower (id) { |
| | | var that = this |
| | | this.$confirm('ç¡®å®éæ°ææå?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | roleAuth(id) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | that.search() |
| | | }) |
| | | }).catch(() => { |
| | | this.$tip.apiSuccess('æä½å¤±è´¥') |
| | | }) |
| | | }, |
| | | // è·åç»ç»æ |
| | | getfindCompanyTreePage () { |
| | | fetchList() |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | | this.companyTree = res |
| | | // this.searchForm.erpOrgId = res[0].erpId |
| | | this.search() |
| | | this.department = this.getDepartmentTree(res) |
| | | } |
| | | }) |
| | | }, |
| | | getDepartmentTree (tree) { |
| | | if (tree == null) { |
| | | return [] |
| | | } |
| | | return tree.map(item => { |
| | | const newItem = { ...item } |
| | | if (newItem) { |
| | | newItem.children = newItem.childList |
| | | } |
| | | if (item.children && item.children.length == 0) { |
| | | this.$delete(newItem, 'children') |
| | | } else { |
| | | newItem.children = this.getDepartmentTree(newItem.children) |
| | | } |
| | | if(newItem.type === this.searchForm.companyType){ |
| | | //newItem.disabled =false |
| | | }else{ |
| | | newItem.disabled = true |
| | | } |
| | | return newItem |
| | | }) |
| | | }, |
| | | // åæ¥ä¿¡æ¯ |
| | | async synchronous () { |
| | | this.$dialog.actionConfirm('该æä½é触åå
¨åä¿¡æ¯æ´æ°åéæ°ä¸åï¼è¯·è°¨æ
æä½', 'æ¨ç¡®è®¤å
¨é忥å
é¨äººåä¿¡æ¯åï¼') |
| | | .then(() => { |
| | | this.loading = true |
| | | memberSync({}) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || '忥æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | }, |
| | | async updateHead (row, type) { |
| | | this.$dialog.actionConfirm('æ¨ç¡®è®¤è¿è¡å½åæä½åï¼', 'é¨é¨ä¸»ç®¡è®¾ç½®æä½æç¤º') |
| | | .then(() => { |
| | | this.heading = true |
| | | updateHead({ id: row.id, headStatus: type }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.heading = false |
| | | }) |
| | | .catch(() => {}) |
| | | }) |
| | | }, |
| | | changeWorkStatus (e, row) { |
| | | this.working = true |
| | | updateWorkStatus({ id: row.id, workStatus: e }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.working = false |
| | | }) |
| | | .catch(() => {}) |
| | | }, |
| | | changeCanvisit (e, row) { |
| | | this.canvisiting = true |
| | | updateCanVisit({ id: row.id, canVisit: e }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.canvisiting = false |
| | | }) |
| | | .catch(() => {}) |
| | | }, |
| | | callback (row) { |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | | this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | .box_menu { |
| | | width: 100px; |
| | | height: 100%; |
| | | flex-shrink: 0; |
| | | } |
| | | .box_tab { |
| | | flex: 1; |
| | | height: 100%; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | * å工信æ¯ç»´æ¤æä½åå²ç±»å 0è§£å» 1å»ç» 2æé» 3æ¢å¤ 4设为æè®¿äºº 5åæ¶æè®¿äºº 6设为é«çº§å®¡æ¹äºº 7åæ¶é«çº§å®¡æ¹äºº 8æå¨ç¦»åº 9å é¤ 10æ´æ° 11ææé¨ç¦æé 12离è 13æ¢å¤å¨è |
| | | */ |
| | | public enum UserActionType { |
| | | CANCEL_FREEZE(0, "è§£å»","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãè§£å»ã" ), |
| | | FREEZE(1, "å»ç»","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãå»ç»ã" ), |
| | | BLACKLIST(2, "æé»","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãæé»ã"), |
| | | CANCEL_BLACKLIST(3, "æ¢å¤","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãç§»åºé»ååã" ), |
| | | CANVISIT(4, "设为æè®¿äºº","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ã设为æè®¿äººã" ), |
| | | CANCEL_VISIT(5, "åæ¶æè®¿äºº","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãåæ¶æè®¿äººã" ), |
| | | CANCEL_FREEZE(0, "è§£å»","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãè§£å»ã" ), |
| | | FREEZE(1, "å»ç»","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå»ç»ã" ), |
| | | BLACKLIST(2, "æé»","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãæé»ã"), |
| | | CANCEL_BLACKLIST(3, "æ¢å¤","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãç§»åºé»ååã" ), |
| | | CANVISIT(4, "设为æè®¿äºº","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã设为æè®¿äººã" ), |
| | | CANCEL_VISIT(5, "åæ¶æè®¿äºº","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãåæ¶æè®¿äººã" ), |
| | | //ç»ä¿éç¥ |
| | | HIGHCHECKOR(6, "设为é«çº§å®¡æ¹äºº","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ã设为é«çº§å®¡æ¹äººã" ), |
| | | CANCEL_HIGHCHECKOR(7, "åæ¶é«çº§å®¡æ¹äºº","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãåæ¶é«çº§å®¡æ¹äººã" ), |
| | | LEVEL(8, "æå¨ç¦»åº","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãæå¨ç¦»åºã" ), |
| | | DELETE(9, "å é¤","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãå é¤ã" ), |
| | | EDIT(10, "æ´æ°","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãæ´æ°ã" ), |
| | | AUTH_ROLE(11, "ææé¨ç¦æé","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãææé¨ç¦æéã" ), |
| | | WORK_OFF(12, "离è","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ã离èãæä½" ), |
| | | WORK_ON(13, "å¨è","ç±ã${param1}ãäºãæä½æ¶é´ï¼${param2}ãï¼è¿è¡ãå¨èãæä½" ), |
| | | HIGHCHECKOR(6, "设为é«çº§å®¡æ¹äºº","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã设为é«çº§å®¡æ¹äººã" ), |
| | | CANCEL_HIGHCHECKOR(7, "åæ¶é«çº§å®¡æ¹äºº","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãåæ¶é«çº§å®¡æ¹äººã" ), |
| | | LEVEL(8, "æå¨ç¦»åº","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãæå¨ç¦»åºã" ), |
| | | DELETE(9, "å é¤","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤ã" ), |
| | | EDIT(10, "æ´æ°","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãæ´æ°ã" ), |
| | | AUTH_ROLE(11, "ææé¨ç¦æé","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãææé¨ç¦æéã" ), |
| | | WORK_OFF(12, "离è","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã离èãæä½" ), |
| | | WORK_ON(13, "å¨è","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå¨èãæä½" ), |
| | | IMPORT_TRAIMETIME(14, "导å
¥å¹è®ææ","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã导å
¥å¹è®ææãæä½" ), |
| | | BE_HEAD(15, "设为主管","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã设为主管ãæä½" ), |
| | | NOT_HEAD(16, "åæ¶ä¸»ç®¡","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãåæ¶ä¸»ç®¡ãæä½" ), |
| | | ; |
| | | |
| | | // æååé |
| | |
| | | this.info = info; |
| | | this.name = name; |
| | | } |
| | | public static String getName(int index) { |
| | | for (UserActionType c : UserActionType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public int getKey() { |
| | | return key; |
| | |
| | | @ApiModelProperty(value = "ç¶çº§é¨é¨çº§å«è·¯å¾", example = "1") |
| | | @TableField(exist = false) |
| | | private String parentCompanyPath; |
| | | @ApiModelProperty(value = "ç¶çº§é¨é¨çº§å«ç±»å 0ç¸å
³æ¹ 1å
é¨ç»ç»", example = "1") |
| | | @TableField(exist = false) |
| | | private String parentType; |
| | | @ApiModelProperty(value = "erpé¨é¨çº§å«è·¯å¾", example = "1") |
| | | @ExcelColumn(name="erpé¨é¨çº§å«è·¯å¾") |
| | | private String erpCompanyPath; |
| | |
| | | @GetMapping("/roleAuth/{id}") |
| | | @RequiresPermissions("business:empower:create") |
| | | public ApiResponse roleAuthById(@PathVariable Integer id) { |
| | | memberService.roleAuthById(id); |
| | | memberService.roleAuthById(id,this.getLoginUser(null)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | public ApiResponse<PageData<DeviceRole>> findPage (@RequestBody PageWrap<DeviceRole> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(deviceRoleService.findPage(pageWrap)); |
| | | } |
| | | @ApiOperation("æ¥è¯¢å
¨é¨") |
| | | @PostMapping("/list") |
| | | @CloudRequiredPermission("business:devicerole:query") |
| | | public ApiResponse<List<DeviceRole>> findList (@RequestBody DeviceRole pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(deviceRoleService.findList(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | |
| | | import com.doumee.dao.admin.request.LaborMemberDTO; |
| | | import com.doumee.dao.admin.request.MemberQuery; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.MemberRole; |
| | | import com.doumee.service.business.MemberService; |
| | | import com.doumee.service.business.ext.ERPSyncService; |
| | | import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl; |
| | |
| | | @ApiOperation("åå·¥æéä¸å") |
| | | @GetMapping("/roleAuth/{id}") |
| | | @CloudRequiredPermission("business:empower:create") |
| | | public ApiResponse roleAuthById(@PathVariable Integer id) { |
| | | memberService.roleAuthById(id); |
| | | public ApiResponse roleAuthById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | memberService.roleAuthById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | @ApiOperation("åæ¥äººè¸ä¿¡æ¯") |
| | | @PostMapping("/updateFace") |
| | | public ApiResponse updateFace(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | member.setLoginUserInfo(this.getLoginUser(token)); |
| | | memberService.updateFace(member); |
| | | return ApiResponse.success(null); |
| | | } |
| | | @ApiOperation("åæ¥äººè¸ä¿¡æ¯") |
| | | @PostMapping("/batchRoleAuth") |
| | | public ApiResponse batchRoleAuth(@RequestBody Member memberRole, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | memberRole.setLoginUserInfo(this.getLoginUser(token)); |
| | | memberService.batchRoleAuth(memberRole); |
| | | return ApiResponse.success(null); |
| | | } |
| | | @ApiOperation("强å¶å é¤å®é²å¹³å°äººåä¿¡æ¯") |
| | | @PostMapping("/delHkForce") |
| | | public ApiResponse delHkForce(@RequestBody Member member,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | |
| | | String visitOut= "/api/visitor/v1/visitor/out";//ç¾ç¦»è®¿å®¢é¢çº¦ |
| | | String facePicture= "/api/resource/v1/person/picture";//æåç¨æ·äººè¸ç
§ç |
| | | String privilegeGroup= "/api/visitor/v1/privilege/group";//æ¥è¯¢è®¿å®¢æéç» |
| | | String privilegIccmeGroup= "/api/iccm/v1/privilege/groups";//æ¥è¯¢è®¿å®¢æéç» |
| | | String eventSub= "/api/eventService/v1/eventSubscriptionByEventTypes";//äºä»¶è®¢é
|
| | | String doorSearch= "/api/resource/v2/door/search";//æ¥è¯¢é¨ç¦ç¹å表v2 |
| | | String cancelEventSub= "/api/eventService/v1/eventUnSubscriptionByEventTypes";//åæ¶äºä»¶è®¢é
|
| | |
| | | public static String privilegeGroup(String body) { |
| | | return startDoPostStringArtemis(HKConstants.InterfacePath.privilegeGroup,body); |
| | | } |
| | | public static String privilegIccmeGroup(String body) { |
| | | return startDoPostStringArtemis(HKConstants.InterfacePath.privilegIccmeGroup,body); |
| | | } |
| | | /** |
| | | * äºä»¶è®¢é
|
| | | * @param body |
| | |
| | | return null; |
| | | } |
| | | /** |
| | | *访客æéç»å表æ¥è¯¢ï¼åé¡µï¼ |
| | | * @return |
| | | */ |
| | | public static BaseResponse<PrivilegeGroupListResponse> privilegIccmeGroup(PrivilegeGroupRequest param){ |
| | | log.info("ãæµ·åº·è®¿å®¢æéç»å表æ¥è¯¢ã================å¼å§===="+JSONObject.toJSONString(param)); |
| | | try { |
| | | String res = HKTools.privilegIccmeGroup(JSONObject.toJSONString(param)); |
| | | TypeReference typeReference = |
| | | new TypeReference< BaseResponse<PrivilegeGroupListResponse> >(){}; |
| | | BaseResponse<PrivilegeGroupListResponse> result = JSONObject.parseObject(res, typeReference.getType()); |
| | | logResult(result,"海康访客æéç»å表æ¥è¯¢"); |
| | | return result; |
| | | }catch (Exception e){ |
| | | log.error("ãæµ·åº·è®¿å®¢æéç»å表æ¥è¯¢ã================失败====ï¼\n"+ e.getMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | /** |
| | | *海康é¨ç¦ç¹æ¥è¯¢ï¼åé¡µï¼ |
| | | * @return |
| | | */ |
| | |
| | | private String erpOrgId; |
| | | @ApiModelProperty(value = "æºæä¸»é® ") |
| | | private Integer companyId; |
| | | @ApiModelProperty(value = "ç»ç»ç±»å 0ç¸å
³æ¹ 1å
é¨ç»ç» ") |
| | | private Integer companyType; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å
å«ä¸çº§ç»ç»ç¨æ·") |
| | | private Boolean includeChild; |
| | |
| | | @ApiModelProperty(value = "ææé¨ç¦ç»ç¼ç éå,ã访客端ãå¯ä¸æ è¯",hidden = true ) |
| | | @TableField(exist = false) |
| | | private Integer[] roleIds; |
| | | @ApiModelProperty(value = "人åç¼ç éå,ã访客端ãå¯ä¸æ è¯",hidden = true ) |
| | | @TableField(exist = false) |
| | | private List<Integer> ids; |
| | | @ApiModelProperty(value = "æææç±»å 0é¿æææ 1èªå®ä¹",hidden = true ) |
| | | @TableField(exist = false) |
| | | private Integer timeType; |
| | | |
| | | //ææ ä½¿ç¨ |
| | | @ApiModelProperty(value = "å§å/ææºå·/å·¥å·") |
| | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.core.model.LoginUserModel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | |
| | | @Data |
| | | @ApiModel("人åè§è²å
³èä¿¡æ¯") |
| | | @TableName("`member_role`") |
| | | public class MemberRole { |
| | | public class MemberRole extends LoginUserModel { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | |
| | | @ApiModelProperty(value = "è§è²ç¼ç ï¼å
³èdoor_role),å¤ä¸ªè±æéå·éå¼") |
| | | @ExcelColumn(name="è§è²ç¼ç ï¼å
³èdoor_role)") |
| | | private Integer roleId; |
| | | |
| | | @ApiModelProperty(value = "å¯ä½¿ç¨é¨ç¦ç¼ç éåï¼å¤ä¸ªè±æéå·éå¼") |
| | | @TableField(exist = false) |
| | | private String doorIds; |
| | |
| | | @ApiModelProperty(value = "访客å
¬å¸åç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String visitCompanyName; |
| | | @ApiModelProperty(value = "ç±»ååç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "ææºå·", example = "1") |
| | | @TableField(exist = false) |
| | |
| | | import com.doumee.dao.admin.request.MemberQuery; |
| | | import com.doumee.dao.admin.response.StagingDataVO; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.MemberRole; |
| | | import com.doumee.dao.web.reqeust.AccountLoginDTO; |
| | | import com.doumee.dao.web.reqeust.CheckVisitedDTO; |
| | | import com.doumee.dao.web.reqeust.VisitMemberDTO; |
| | |
| | | */ |
| | | void deleteById(Integer id,LoginUserInfo user); |
| | | |
| | | void roleAuthById(Integer id); |
| | | void roleAuthById(Integer id,LoginUserInfo user); |
| | | |
| | | /** |
| | | * å é¤ |
| | |
| | | void updateHead(Member member); |
| | | |
| | | void updateWorkStatus(Member member); |
| | | |
| | | void batchRoleAuth(Member memberRole); |
| | | } |
| | |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | company.setCompanyPath(company.getId()+"/");//åç§°è·¯å¾ |
| | | company.setCompanyNamePath(company.getName());//åç§°è·¯å¾ |
| | | company.setHkParentId(rootOrgId); |
| | | String idPath = ""; |
| | | if(company.getParentId() !=null){ |
| | | Company parent = findById(company.getParentId()); |
| | | if(parent == null || Constants.equalsInteger(parent.getIsdeleted(),Constants.ONE)){ |
| | |
| | | if(StringUtils.isBlank(parent.getHkId())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç¶çº§ç»ç»ä¿¡æ¯å°æªåæ¥ä¸åæå~"); |
| | | } |
| | | company.setHkParentId(parent.getHkId()); |
| | | if(Constants.equalsInteger(parent.getType(),Constants.ZERO)){ |
| | | //妿ç¶çº§æ¯ç¸å
³æ¹ç»ç»ï¼ä¸çº§ä¸è½å»ºç«å
é¨ç»ç» |
| | | if(Constants.equalsInteger(company.getType(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç¸å
³æ¹ç»ç»ï¼ä¸çº§ä¸è½å»ºç«å
é¨ç»ç»~"); |
| | | } |
| | | } |
| | | idPath = parent.getCompanyPath(); |
| | | company.setCompanyPath(parent.getCompanyPath()+company.getId()+"/"); |
| | | company.setCompanyNamePath(parent.getCompanyNamePath()+"/"+company.getName()); |
| | | } |
| | | company.setHkCompanyPath(company.getCompanyPath()); |
| | | company.setHkCompanyPath(company.getCompanyNamePath()); |
| | | company.setCreateDate(new Date()); |
| | | company.setCreator(user.getId()); |
| | | company.setIsdeleted(Constants.ZERO); |
| | |
| | | if(!addHkOrg(company)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼ç»ç»åæ¥ä¸å失败ï¼è¯·ç¨åéè¯"); |
| | | } |
| | | Company com = new Company(); |
| | | com.setId(company.getId()); |
| | | com.setCompanyPath(idPath+company.getId()+"/"); |
| | | companyMapper.updateById(com); |
| | | return company.getId(); |
| | | } |
| | | |
| | |
| | | if(model == null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对ä¸èµ·ï¼ç»ç»ä¿¡æ¯ä¸åå¨~"); |
| | | } |
| | | if(StringUtils.isBlank(model.getHkId())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对ä¸èµ·ï¼ç»ç»ä¿¡æ¯å°æªåæ¥ä¸åæå,æä¸æ¯æä¿®æ¹ï¼è¯·å°è¯å é¤åéæ°æ·»å ~"); |
| | | if( Constants.equalsObject(Constants.ONE,model.getType())&& Constants.equalsObject(Constants.ZERO,company.getType())){ |
| | | //妿ç±å
é¨ç»ç»åæ¢æå
é¨ç»ç»ï¼ææ¥ä¸çº§ç»ç»æ¯å¦æå
é¨ç»ç» |
| | | if(companyJoinMapper.selectCount(new QueryWrapper<Company>().lambda() |
| | | .eq(Company::getIsdeleted,Constants.ZERO ) |
| | | .eq(Company::getType,Constants.ONE ) |
| | | .likeRight(Company::getCompanyPath,company.getCompanyPath())) >0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对ä¸èµ·ï¼ä¸çº§é¨é¨åå¨å
é¨ç»ç»ï¼è¯¥é¨é¨ä¸æ¯æåæ¢ä¸ºç¸å
³æ¹ç»ç»ï¼~"); |
| | | } |
| | | } |
| | | company.setEditDate(new Date()); |
| | | company.setEditor(user.getId()); |
| | |
| | | company.setHkId(StringUtils.defaultString(model.getHkId(),UUID.randomUUID().toString().replace("-",""))); |
| | | company.setParentId(null);//䏿¯æä¿®æ¹ç¶çº§ |
| | | companyMapper.updateById(company); |
| | | //æ´æ°çcompanyPath |
| | | String newName = model.getCompanyNamePath().replace(model.getName(),company.getName()); |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .setSql("company_name_path=REPLACE(company_name_path,'"+ model.getCompanyNamePath()+"','"+newName+"')") |
| | | .setSql("hk_company_path=REPLACE(hk_company_path,'"+ model.getCompanyNamePath()+"','"+newName+"')") |
| | | .likeRight(Company::getCompanyPath,model.getCompanyPath())); |
| | | //ä¸å海康å®é²å¹³å° |
| | | if(StringUtils.isNotBlank(model.getHkId()) |
| | | && Constants.equalsObject(Constants.ONE,model.getHkStatus())){ |
| | | if(editHkOrg(company)){ |
| | | if(StringUtils.isNotBlank(model.getHkId())){ |
| | | if(!editHkOrg(company)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼ç»ç»åæ¥ä¸å失败ï¼è¯·ç¨åéè¯"); |
| | | } |
| | | }else{//å¦ææ²¡æä¸åè¿ï¼ç´æ¥æ°å»ºå®é²å¹³å°ç»ç» |
| | | if(addHkOrg(company)){ |
| | | if(!addHkOrg(company)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼ç»ç»åæ¥ä¸å失败ï¼è¯·ç¨åéè¯"); |
| | | } |
| | | } |
| | |
| | | queryWrapper.selectAs(Member::getPhone,Company::getHeadPhone); |
| | | queryWrapper.select("t1.name",Company::getParentName); |
| | | queryWrapper.select("t1.company_path",Company::getParentCompanyPath); |
| | | queryWrapper.select("t1.type",Company::getParentType); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Company::getHeadId); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Company::getEditor); |
| | |
| | | |
| | | @Override |
| | | public List<DeviceRole> findList(DeviceRole deviceRole) { |
| | | deviceRole.setIsdeleted(Constants.ZERO); |
| | | QueryWrapper<DeviceRole> wrapper = new QueryWrapper<>(deviceRole); |
| | | return deviceRoleMapper.selectList(wrapper); |
| | | } |
| | |
| | | //è±ææä½ |
| | | Member insert = initAddMemberModel(member,loginUserInfo); |
| | | //æµ·åº·äººåæ°å¢ä¸å¡ |
| | | if(dealHkUserBiz(insert)){ |
| | | try { |
| | | try { |
| | | if(dealHkUserBiz(insert)){ |
| | | memberMapper.insert(insert); |
| | | //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ |
| | | createSystemUser(insert); |
| | | }catch (Exception e){ |
| | | //妿åçå¼å¸¸ï¼å é¤å·²ç»å建ç人åä¿¡æ¯ |
| | | deleteHkUserBiz(insert.getHkId()); |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼åå·¥ä¿¡æ¯æ°å»ºå¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | //妿æ¯å
é¨ç»ç»äººåï¼æ°å¢ç³»ç»ç»éè´¦å· |
| | | createSystemUser(insert); |
| | | } |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯åæ¥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | }catch (Exception e){ |
| | | //妿åçå¼å¸¸ï¼å é¤å·²ç»å建ç人åä¿¡æ¯ |
| | | deleteHkUserBiz(insert.getHkId()); |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼åå·¥ä¿¡æ¯æ°å»ºå¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | return insert; |
| | | } |
| | |
| | | // çæå¯ç |
| | | user.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt)); |
| | | user.setSalt(salt); |
| | | |
| | | // åå»ºç¨æ·è®°å½ |
| | | user.setType(insert.getType()); |
| | | user.setUsername(insert.getPhone()); |
| | |
| | | insert.setCreateDate(new Date()); |
| | | insert.setEditor(loginUserInfo.getId()); |
| | | insert.setEditDate(new Date()); |
| | | insert.setHkOrgId(member.getHkOrgId()); |
| | | insert.setIsdeleted(Constants.ZERO); |
| | | insert.setCompanyId(member.getCompanyId()); |
| | | insert.setFaceImg(member.getFaceImg()); |
| | |
| | | * @param hkId |
| | | */ |
| | | private void deleteHkUserBiz(String hkId) { |
| | | if(StringUtils.isBlank(hkId)){ |
| | | return; |
| | | } |
| | | UserDelRequest request = new UserDelRequest(); |
| | | request.setPersonIds(new String[]{hkId}); |
| | | BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request); |
| | |
| | | private boolean dealHkUserBiz(Member insert) { |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | Company company = companyMapper.selectById(insert.getCompanyId()); |
| | | if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯å·²è¢«å é¤ï¼è¯·å·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | if(StringUtils.isBlank(company.getHkId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯æªåæ¥å®é²å¹³å°ï¼è¯·å
åå¾ãç»ç»ç®¡çãèåè¿è¡ç»´æ¤ï¼"); |
| | | } |
| | | insert.setHkOrgId(company.getHkId()); |
| | | UserAddRequest hkAddRequest = HkSyncOrgUserToHKServiceImpl.getUserAddModel(insert,path,Constants.ZERO); |
| | | if(hkAddRequest == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼äººè¸ç
§çæè¯¯ï¼è¯·å°è¯éæ°ä¸ä¼ ï¼"); |
| | |
| | | } |
| | | |
| | | private void isMemberParamValid(Member member) { |
| | | if(member.getCompanyId() == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"çµè¯å·ç æ ¼å¼æè¯¯"); |
| | | } |
| | |
| | | } |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份è¯å·æ ¼å¼æè¯¯"); |
| | | } |
| | | |
| | | SystemUser queryUserDto = new SystemUser(); |
| | | queryUserDto.setUsername(member.getPhone()); |
| | | queryUserDto.setDeleted(Boolean.FALSE); |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1")); |
| | | if (user != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "ææºå·ã"+queryUserDto.getUsername()+"ã已被使ç¨ï¼ä¸è½éå¤"); |
| | | Company company = companyMapper.selectById(member.getCompanyId()); |
| | | if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯å·²è¢«å é¤ï¼è¯·å·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | // éªè¯å·¥å· |
| | | if (StringUtils.isNotBlank(member.getCode())) { |
| | | queryUserDto = new SystemUser(); |
| | | if(StringUtils.isBlank(company.getHkId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯¥ç»ç»ä¿¡æ¯æªåæ¥å®é²å¹³å°ï¼è¯·å
åå¾ãç»ç»ç®¡çãèåè¿è¡ç»´æ¤ï¼"); |
| | | } |
| | | member.setHkOrgId(company.getHkId()); |
| | | member.setCompanyType(company.getType()); |
| | | if(Constants.equalsInteger(company.getType(),Constants.ONE)){ |
| | | SystemUser queryUserDto = new SystemUser(); |
| | | queryUserDto.setUsername(member.getPhone()); |
| | | queryUserDto.setDeleted(Boolean.FALSE); |
| | | queryUserDto.setEmpNo(member.getCode()); |
| | | user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1")); |
| | | SystemUser user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1")); |
| | | if (user != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "å·¥å·ã"+member.getCode()+"ãå·²åå¨"); |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "ææºå·ã"+queryUserDto.getUsername()+"ã已被使ç¨ï¼ä¸è½éå¤"); |
| | | } |
| | | // éªè¯å·¥å· |
| | | if (StringUtils.isNotBlank(member.getCode())) { |
| | | queryUserDto = new SystemUser(); |
| | | queryUserDto.setDeleted(Boolean.FALSE); |
| | | queryUserDto.setEmpNo(member.getCode()); |
| | | user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1")); |
| | | if (user != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "å·¥å·ã"+member.getCode()+"ãå·²åå¨"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | @Override |
| | | public void roleAuthById(Integer id) { |
| | | public void roleAuthById(Integer id,LoginUserInfo user) { |
| | | Member member = memberMapper.selectById(id); |
| | | if(member==null || member.getIsdeleted().equals(Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å工信æ¯å·²å é¤"); |
| | |
| | | // List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper); |
| | | HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void batchRoleAuth(Member memberRole) { |
| | | if(memberRole.getIds() ==null |
| | | || memberRole.getIds().size() ==0 ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(memberRole.getRoleIds() ==null || memberRole.getRoleIds().length ==0){ |
| | | //å¦ææ¯æ¸
空æé |
| | | }else{ |
| | | if( ! (Constants.equalsObject(memberRole.getTimeType(),Constants.ZERO) |
| | | || (Constants.equalsObject(memberRole.getTimeType(),Constants.ONE) |
| | | && memberRole.getStartTime() !=null && memberRole.getEndTime() != null ))){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(Constants.equalsObject(memberRole.getTimeType(),Constants.ONE) && memberRole.getEndTime().getTime() < System.currentTimeMillis()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå½åæ¶é´ï¼"); |
| | | } |
| | | if(Constants.equalsObject(memberRole.getTimeType(),Constants.ONE) && memberRole.getEndTime().getTime() <= memberRole.getStartTime().getTime()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå¼å§æ¶é´ï¼"); |
| | | } |
| | | } |
| | | if(Constants.equalsObject(memberRole.getTimeType(),Constants.ZERO) ){ |
| | | memberRole.setStartTime(null); |
| | | memberRole.setEndTime(null); |
| | | } |
| | | for (Integer id : memberRole.getIds()){ |
| | | Member member = memberMapper.selectById(id); |
| | | if(member==null || member.getIsdeleted().equals(Constants.ONE)){ |
| | | //妿å工信æ¯ä¸åæ³ç´æ¥è·³è¿ |
| | | continue; |
| | | } |
| | | member.setStartTime(memberRole.getStartTime()); |
| | | member.setEndTime(memberRole.getEndTime()); |
| | | Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper); |
| | | if(ischange == 0){ |
| | | return;//æªåç°æéååï¼ç´æ¥è¿å |
| | | } |
| | | if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼æªæ¥è¯¢å°ææé¨ç¦ç»æ°æ®"); |
| | | } |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getId,member.getId()) |
| | | .set(Member::getRoleId,member.getRoleId()) |
| | | .set(Member::getAuthStatus,Constants.ONE) |
| | | .set(Member::getStartTime,memberRole.getStartTime()) |
| | | .set(Member::getEndTime,memberRole.getEndTime()) |
| | | .set(Member::getEditor,memberRole.getLoginUserInfo().getId()) |
| | | .set(Member::getEditDate,new Date()) ); |
| | | saveUserActionBiz(member,memberRole.getLoginUserInfo(), Constants.UserActionType.AUTH_ROLE,userActionJoinMapper); |
| | | //éæ°ææ |
| | | HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper); |
| | | } |
| | | } |
| | | |
| | | public static Integer getRoleIdByParam(Integer[] param, Member member,MemberRoleMapper memberRoleMapper,DeviceRoleMapper deviceRoleMapper) { |
| | | //æ·»å 人åè§è²å
³èæ°æ® |
| | | member.setRoleId(null); |
| | | List<MemberRole> roleList = memberRoleMapper.selectList( new QueryWrapper<MemberRole>().lambda() |
| | | .eq(MemberRole::getIsdeleted,Constants.ZERO) |
| | | .eq(MemberRole::getMemberId,member.getId())); |
| | | |
| | | member.setRoleId(""); |
| | | if((param == null || param.length==0 ) &&( roleList==null || roleList.size()==0)){ |
| | | //æ£æ¥ç¨æ·æ
嵿é忬就æ¯ç©ºçï¼ åæ éå¤ç |
| | | return 0; |
| | | } |
| | | if((param == null || param.length==0 ) &&( roleList!=null && roleList.size()>0) ){ |
| | | //妿æ¸
ç©ºåæ¥ææéï¼æ¥å£è¿è¡æéå é¤åææéå³å¯ |
| | | memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); |
| | | return 1; |
| | | } |
| | | if(!Objects.isNull(param)&¶m.length>Constants.ZERO){ |
| | | /* if(roleList!=null && roleList.size()>0) { |
| | | //ååææéè¿è¡å¯¹æ¯ï¼çæ¯å¦æéåçåå |
| | | boolean ischange1=false; |
| | | for (MemberRole role : roleList) { |
| | | ischange1=false; |
| | | for (int j = 0; j < param.length; j++) { |
| | | if(Constants.equalsInteger(role.getRoleId(),param[j])){ |
| | | ischange1=true; |
| | | break; |
| | | } |
| | | } |
| | | if(!ischange1){ |
| | | break; |
| | | } |
| | | } |
| | | |
| | | boolean ischange2 =false; |
| | | for (int j = 0; j < param.length; j++) { |
| | | ischange2=false; |
| | | for (MemberRole role : roleList) { |
| | | if(Constants.equalsInteger(role.getRoleId(),param[j])){ |
| | | ischange2=true; |
| | | break; |
| | | } |
| | | } |
| | | if(!ischange2){ |
| | | break; |
| | | } |
| | | } |
| | | if(ischange2 && ischange1){ |
| | | return 0;//æéæªåçæ¹å |
| | | } |
| | | }*/ |
| | | //妿忥ææéï¼æ¥å£è¿è¡æéå é¤ |
| | | memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); |
| | | //æ¥è¯¢æ°æ®åºåå¨çæé |
| | | List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() |
| | | .eq(DeviceRole::getType,Constants.TWO) |
| | | .in(DeviceRole::getId,param)); |
| | | |
| | | String ids = ""; |
| | | if(CollectionUtils.isNotEmpty(deviceRoleList)){ |
| | | List<MemberRole> memberRoleList = new ArrayList<>(); |
| | | List<Integer> r = new ArrayList<>(); |
| | | for (int i = 0; i < deviceRoleList.size(); i++) { |
| | | DeviceRole deviceRole =deviceRoleList.get(i); |
| | | if(i>0){ |
| | | ids += ","; |
| | | } |
| | | Integer id =deviceRole.getId(); |
| | | ids += "["+id+"]"; |
| | | String doorids =deviceRole.getDoorIds(); |
| | | if(StringUtils.isNotBlank(doorids)){ |
| | | String[] ss = doorids.split(","); |
| | | try { |
| | | for(String s :ss){ |
| | | r.add(Integer.parseInt(s)); |
| | | } |
| | | }catch (Exception e){ |
| | | //èæ°æ®ä¸å¤ç |
| | | } |
| | | } |
| | | MemberRole memberRole = new MemberRole(); |
| | | memberRole.setCreateDate(new Date()); |
| | | memberRole.setMemberId(member.getId()); |
| | | memberRole.setIsdeleted(Constants.ZERO); |
| | | memberRole.setRoleId(deviceRole.getId()); |
| | | memberRoleList.add(memberRole); |
| | | } |
| | | memberRoleMapper.insertBatchSomeColumn(memberRoleList); |
| | | } |
| | | member.setRoleId(ids); |
| | | return 1; |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public void empowerByList(Member member) { |
| | | if(member.getIdList()!=null && member.getIdList().size() >0){ |
| | |
| | | userAction.setIsdeleted(Constants.ZERO); |
| | | userAction.setCreateDate(updateMember.getEditDate()); |
| | | userAction.setCreator(updateMember.getEditor()); |
| | | userAction.setBeforeStatus(updateMember.getStatus()); |
| | | userAction.setType(type.getKey()); |
| | | String info = type.getInfo(); |
| | | userAction.setRemark(info.replace("${param1}",user!=null?user.getRealname():"").replace("${param2}", com.doumee.core.utils.DateUtil.getPlusTime2(updateMember.getEditDate()))); |
| | |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .eq(Company::getId,model.getCompanyId()) |
| | | .set(Company::getHeadId,member.getId())); |
| | | //è®°å½æä½æ¥å¿ |
| | | saveUserActionBiz(member,member.getLoginUserInfo(), Constants.UserActionType.BE_HEAD,userActionJoinMapper); |
| | | }else{ |
| | | //妿æ¯è®¾ä¸ºä¸»ç®¡ |
| | | companyMapper.update(null,new UpdateWrapper<Company>().lambda() |
| | | .eq(Company::getId,model.getCompanyId()) |
| | | .set(Company::getHeadId,null) |
| | | ); |
| | | saveUserActionBiz(member,member.getLoginUserInfo(),Constants.UserActionType.NOT_HEAD,userActionJoinMapper); |
| | | } |
| | | } |
| | | } |
| | |
| | | .eq(Objects.nonNull(pageWrap.getModel().getHkStatus()),Member::getHkStatus,pageWrap.getModel().getHkStatus()) |
| | | .eq(Objects.isNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,pageWrap.getModel().getIsdeleted()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCompanyType()),Company::getType,pageWrap.getModel().getCompanyType()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) |
| | | // .eq(Member::getStatus,Constants.Status.ENABLE.getValue()) |
| | | // .eq(Member::getType,Constants.memberType.internal) |
| | |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.UserActionMapper; |
| | | import com.doumee.dao.business.join.UserActionJoinMapper; |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.catalina.User; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | .orderByDesc(UserAction::getCreateDate) |
| | | ; |
| | | IPage<UserAction> result = userActionJoinMapper.selectJoinPage(page,UserAction.class,queryWrapper); |
| | | if(result!=null &&result.getRecords()!=null){ |
| | | for(UserAction model :result.getRecords()){ |
| | | model.setTypeName(Constants.UserActionType.getName(model.getType())); |
| | | } |
| | | } |
| | | return PageData.from(result); |
| | | } |
| | | |
| | |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.ext.ERPSyncService; |
| | | import com.doumee.service.business.InterfaceLogService; |
| | | import com.doumee.service.business.impl.MemberServiceImpl; |
| | | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.Synchronized; |
| | |
| | | } |
| | | } |
| | | } |
| | | private Integer getRoleIdByParam(Integer[] param, Member member) { |
| | | //æ·»å 人åè§è²å
³èæ°æ® |
| | | member.setRoleId(null); |
| | | List<MemberRole> roleList = memberRoleMapper.selectList( new QueryWrapper<MemberRole>().lambda() |
| | | .eq(MemberRole::getIsdeleted,Constants.ZERO) |
| | | .eq(MemberRole::getMemberId,member.getId())); |
| | | if((param == null || param.length==0 ) &&( roleList==null || roleList.size()==0)){ |
| | | //æ£æ¥ç¨æ·æéæ¯å¦åç°åå |
| | | return 0; |
| | | } |
| | | if((param == null || param.length==0 ) &&( roleList!=null && roleList.size()>0) ){ |
| | | //妿忥ææéï¼æ¥å£è¿è¡æéå é¤ |
| | | memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); |
| | | return 1; |
| | | } |
| | | if(!Objects.isNull(param)&¶m.length>Constants.ZERO){ |
| | | if(roleList!=null && roleList.size()>0) { |
| | | //ååææéè¿è¡å¯¹æ¯ï¼çæ¯å¦æéåçåå |
| | | boolean ischange1=false; |
| | | for (MemberRole role : roleList) { |
| | | ischange1=false; |
| | | for (int j = 0; j < param.length; j++) { |
| | | if(Constants.equalsInteger(role.getRoleId(),param[j])){ |
| | | ischange1=true; |
| | | break; |
| | | } |
| | | } |
| | | if(!ischange1){ |
| | | break; |
| | | } |
| | | } |
| | | |
| | | boolean ischange2 =false; |
| | | for (int j = 0; j < param.length; j++) { |
| | | ischange2=false; |
| | | for (MemberRole role : roleList) { |
| | | if(Constants.equalsInteger(role.getRoleId(),param[j])){ |
| | | ischange2=true; |
| | | break; |
| | | } |
| | | } |
| | | if(!ischange2){ |
| | | break; |
| | | } |
| | | } |
| | | if(ischange2 && ischange1){ |
| | | return 0;//æéæªåçæ¹å |
| | | } |
| | | } |
| | | //妿忥ææéï¼æ¥å£è¿è¡æéå é¤ |
| | | memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); |
| | | //æ¥è¯¢æ°æ®åºåå¨çæé |
| | | List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() |
| | | .eq(DeviceRole::getType,Constants.TWO) |
| | | .in(DeviceRole::getId,param)); |
| | | if(CollectionUtils.isNotEmpty(deviceRoleList)){ |
| | | List<MemberRole> memberRoleList = new ArrayList<>(); |
| | | String ids = ""; |
| | | List<Integer> r = new ArrayList<>(); |
| | | for (int i = 0; i < deviceRoleList.size(); i++) { |
| | | DeviceRole deviceRole =deviceRoleList.get(i); |
| | | if(i>0){ |
| | | ids += ","; |
| | | } |
| | | Integer id =deviceRole.getId(); |
| | | ids += "["+id+"]"; |
| | | String doorids =deviceRole.getDoorIds(); |
| | | if(StringUtils.isNotBlank(doorids)){ |
| | | String[] ss = doorids.split(","); |
| | | try { |
| | | for(String s :ss){ |
| | | r.add(Integer.parseInt(s)); |
| | | } |
| | | }catch (Exception e){ |
| | | //èæ°æ®ä¸å¤ç |
| | | } |
| | | } |
| | | MemberRole memberRole = new MemberRole(); |
| | | memberRole.setCreateDate(new Date()); |
| | | memberRole.setMemberId(member.getId()); |
| | | memberRole.setIsdeleted(Constants.ZERO); |
| | | memberRole.setRoleId(deviceRole.getId()); |
| | | memberRoleList.add(memberRole); |
| | | } |
| | | member.setRoleId(ids); |
| | | memberRoleMapper.insertBatchSomeColumn(memberRoleList); |
| | | member.setRoleId(ids); |
| | | } |
| | | return 1; |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | @Override |
| | |
| | | if(Objects.isNull(member)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对ä¸èµ·ï¼ç¨æ·ä¿¡æ¯ä¸åå¨ï¼"); |
| | | } |
| | | Integer ischange = getRoleIdByParam(param.getRoleIds(),member); |
| | | Integer ischange = MemberServiceImpl.getRoleIdByParam(param.getRoleIds(),member,memberRoleMapper,deviceRoleMapper); |
| | | if(ischange == 0){ |
| | | return;//æªåç°æéååï¼ç´æ¥è¿å |
| | | } |
| | |
| | | param.setPageSize(100); |
| | | BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param); |
| | | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | response = HKService.privilegIccmeGroup(param);//æ¥å£V1çæ¬ä¸åå¨ï¼è°ç¨iccmçæ¬æ¥å£ |
| | | } |
| | | if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | response = HKService.privilegIccmeGroup(param); |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对ä¸èµ·ï¼æµ·åº·åæ¥æ°æ®å¤±è´¥~"); |
| | | } |
| | | PrivilegeGroupListResponse r = response.getData(); |