Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // æ¥è¯¢ |
| | | export function findLogList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBookLog/findList', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/create', data) |
| | | } |
| | | export function transfercarUseBook (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/transfercarUseBook', data) |
| | | } |
| | | export function dealcarUseBook (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/dealcarUseBook', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/updateById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/carUseBook/delete/${id}`) |
| | | } |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function detail(id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/carUseBook/${id}`) |
| | | } |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/visitsAdmin/cloudService/business/carUseBook/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | export function allList (data) { |
| | | // return request.post('/business/member/page', data, { |
| | | // trim: true |
| | | // }) |
| | | return request.post('/visitsAdmin/cloudService/business/member/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | export function driveList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/member/driveList', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // é¨é¨ä¿¡æ¯åæ¥ |
| | | export function memberSync (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/member/syncAll', data) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="modal_wrap"> |
| | | <div class="modal_content"> |
| | | <div class="header"> |
| | | <div class="left"> |
| | | <div class="h1">å
¬å¡è½¦ç³è¯·</div> |
| | | <div class="time">æäº¤æ¶é´ï¼{{model.createDate}}</div> |
| | | </div> |
| | | <span class="right" v-if="model.status === 0">ç³è¯·ä¸</span> |
| | | <span class="right" v-if="model.status === 1">å¾
审æ¹</span> |
| | | <span class="right" style="background:#53b76f " v-if="model.status === 2">审æ¹éè¿</span> |
| | | <span class="right" style="background:#dc362e " v-if="model.status === 3">审æ¹ä¸éè¿</span> |
| | | <span class="right" style="background:#dc362e " v-if="model.status === 4">已忶</span> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">å
¬å¡è½¦ç³è¯·ä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">ç³è¯·äºº</div> |
| | | <div class="value">{{model.memberName || ''}} {{model.memberPhone || ''}} ({{model.companyName || ''}})</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">ç³è¯·è½¦è¾</div> |
| | | <div class="value">{{model.carCode || ''}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">叿ºä¿¡æ¯</div> |
| | | <div class="value" v-if="model.driverId !=null">{{model.driverName || ''}} {{model.driverPhone || ''}}</div> |
| | | <div class="value" v-if="model.driverId ==null">æªææ´¾</div> |
| | | </div> |
| | | <div class="item" > |
| | | <div class="label">ç¨è½¦äºç±</div> |
| | | <div class="value">{{model.content}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">ä¹è½¦äººå</div> |
| | | <div class="value">{{model.memberNames || ''}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">ç®çå°ç±»å«</div> |
| | | <div class="value status-green" v-if="model.type === 0">ãå¸å
ç¨è½¦ã</div> |
| | | <spdivan class="value status-red" v-if="model.type === 1">ãå¸å
ç¨è½¦ã</spdivan> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">ç®çå°</div> |
| | | <div class="value">{{model.addr || ''}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é¢è®¡åºåæ¶é´</div> |
| | | <div class="value">{{model.planUseDate || ''}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">ç¨è½¦æ¶æ®µ</div> |
| | | <div class="value">å§:{{model.startTime || ''}}<br>æ¢:{{model.endTime || ''}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="side"> |
| | | <div class="side_title">å®¡æ¹æµç¨</div> |
| | | <div class="list" v-if="model.approveDateVO !=null && model.approveDateVO.approveList !=null"> |
| | | <div class="item" v-for="(item,index) in model.approveDateVO.approveList" :key="item.id"> |
| | | <div class="separate" v-if=" (index < model.approveDateVO.approveList.length-1)"></div> |
| | | <div class="info"> |
| | | <img src="@/assets/icons/ic_tongguo.png" class="iconnew" v-if="(item.status ==2)"/> |
| | | <img src="@/assets/icons/ic_dangqian.png" class="iconnew" v-if="(item.status==1)"/> |
| | | <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="(item.status==3)"></i> |
| | | <img src="@/assets/icons/ic_grep.png" class="iconnew" v-if="(item.status==null || item.status==0 )"></i> |
| | | <div style="display: inline" v-if="item.approveType ===0"> |
| | | <img v-if="item.faceImg!=null && item.faceImg !=''" :src="item.faceImg" class="avatar" alt="" /> |
| | | <img v-if="item.faceImg ==null ||item.faceImg ==''" src="@/assets/avatar/man.png" class="avatar" alt="" /> |
| | | </div> |
| | | <div style="display: inline" v-if="item.approveType ===1"> |
| | | <img v-if="item.status === 1" src="@/assets/icons/ic_chaosong.png" class="avatar" alt="" /> |
| | | <img v-if="item.status != 1" src="@/assets/icons/ic_duoren.png" class="avatar" alt="" /> |
| | | </div> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">{{ item.title}}</div> |
| | | <div class="time">{{ item.createDate }}</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company"> |
| | | {{ item.createUserName }} {{ item.companyName }} |
| | | <div style="display: inline" v-if="item.statusInfo!=null && item.statusInfo!=''"> |
| | | <span class="status-green">{{item.statusInfo||''}}</span>ï¼ |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="item.approveType != 1 " class="remark"> |
| | | {{ item.checkInfo ||'æ°´çµè´¹ååå¤å¤ååå¤å¤æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³æ¹æ³ååå' }} |
| | | </div> |
| | | <div v-if="item.approveType == 1 " class="childList"> |
| | | <div style="display: inline" v-for="item1 in item.approveList" :key="item1.id"> |
| | | <img v-if="item1.faceImg!=null && item1.faceImg !=''" :src="item1.faceImg" class="avatar" alt="" /> |
| | | <img v-if="item1.faceImg ==null ||item1.faceImg ==''" src="@/assets/avatar/man.png" class="avatar" alt="" /> |
| | | <span style="display: inline-block"> {{item1.memberName}}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <template v-slot:footer> |
| | | <el-button @click="isShowProblem = true" type="primary" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " class="status-red">åæ</el-button> |
| | | <el-button @click="isBackProblem=true" type="danger" v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 " >æç»</el-button> |
| | | <el-button @click="visible=false">è¿å</el-button> |
| | | </template> |
| | | <el-dialog |
| | | append-to-body |
| | | title="åæç³è¯·" |
| | | class="dialogCl" |
| | | :visible.sync="isShowProblem" |
| | | width="480px" |
| | | > |
| | | <el-form :model="dealForm" ref="dealForm" > |
| | | <el-form-item label="æ´¾è½¦å¸æº" prop="driverId" required v-if="model.approveDateVO!=null && model.approveDateVO.drvierParam ===1"> |
| | | <el-select v-model="transForm.driverId" style="width: 300px" filterable clearable placeholder="è¯·éæ©æ´¾é£å¸æº"> |
| | | <el-option |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | | :label="item.name+'-'+item.phone" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åæè¯´æ"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请填å说æ" |
| | | :rows="4" |
| | | v-model="backForm.checkInfo" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowProblem = false">åæ¶</el-button> |
| | | <el-button type="primary" :loading="dealing" @click="dealDo">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | append-to-body |
| | | title="æç»ç³è¯·" |
| | | class="dialogCl" |
| | | :visible.sync="isBackProblem" |
| | | width="600px" |
| | | > |
| | | <el-form :model="backForm" ref="backForm" label-width="100px"> |
| | | <el-form-item label="æç»è¯´æ"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请填å说æ" |
| | | :rows="4" |
| | | v-model="backForm.checkInfo" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isBackProblem= false">åæ¶</el-button> |
| | | <el-button type="primary" :loading="dealing" @click="backDo">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { driveList } from '@/api/business/member' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'OperaCarUseBookWindow', |
| | | components: { GlobalWindow }, |
| | | extends: BaseOpera, |
| | | data () { |
| | | return { |
| | | title: 'å
¬å¡è½¦ç³è¯·', |
| | | visible: false, |
| | | dataId: null, |
| | | model: { }, |
| | | dealing: false, |
| | | isShowProblem: false, |
| | | isBackProblem: false, |
| | | memberList: [], |
| | | dealForm: { |
| | | driveId: null, |
| | | checkInfo: null |
| | | }, |
| | | backForm: { |
| | | checkInfo: null |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/carUseBook', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | dealDo () { |
| | | this.$refs.dealForm.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤æäº¤è¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 1, |
| | | driverId: this.dealForm.driveId, |
| | | checkInfo: this.dealForm.checkInfo |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('å¤çæå') |
| | | this.getDetail() |
| | | this.isShowProblem = false |
| | | }) |
| | | .finally(() => { |
| | | this.dealing = false |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | backDo () { |
| | | this.$refs.backForm.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤éåè¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 2, |
| | | checkInfo: this.backForm.checkInfo |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('éåæå') |
| | | this.getDetail() |
| | | this.isBackProblem = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.dealing = false |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.model = {} |
| | | this.dataId = target.id |
| | | this.$nextTick(() => { |
| | | this.memberList = [] |
| | | this.dealForm = { |
| | | driveId: null, |
| | | checkInfo: null |
| | | } |
| | | this.backForm = { |
| | | checkInfo: null |
| | | } |
| | | this.getDetail() |
| | | }) |
| | | }, |
| | | getDetail () { |
| | | this.api.detail(this.dataId) |
| | | .then(res => { |
| | | this.model = res |
| | | this.dealForm.driveId = res.driveId |
| | | }) |
| | | }, |
| | | handleTransfer () { |
| | | this.isShowTransfer = true |
| | | this.loadMemberList() |
| | | }, |
| | | loadMemberList () { |
| | | driveList({}).then(res => { |
| | | this.memberList = res |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .side_title{ |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #111111; |
| | | margin-bottom: 20px; |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | } |
| | | .upload_box { |
| | | width: 84px; |
| | | height: 84px; |
| | | border-radius: 4px; |
| | | background-color: #f7f7f7; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | color: #999999; |
| | | border: 1px solid #e4e4e4; |
| | | .icon { |
| | | font-size: 24px; |
| | | } |
| | | .text { |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .modal_wrap { |
| | | display: flex; |
| | | height: 100%; |
| | | .modal_content { |
| | | flex: 1; |
| | | padding: 0px 30px; |
| | | border-radius: 8px; |
| | | overflow: hidden; |
| | | height: 100%; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #333333; |
| | | margin-bottom: 20px; |
| | | margin-top: 30px; |
| | | } |
| | | .info { |
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | margin-bottom: 20px; |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | } |
| | | |
| | | .label { |
| | | color: #888888; |
| | | width: 100px; |
| | | } |
| | | |
| | | .value { |
| | | color: #111111; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 20px 30px; |
| | | margin: 0 -30px; |
| | | border-radius: 8px 8px 0 0; |
| | | background: linear-gradient(to right, #f2f6fe, #cadffa); |
| | | |
| | | .h1 { |
| | | font-weight: 600; |
| | | font-size: 22px; |
| | | color: #111111; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .time { |
| | | font-size: 14px; |
| | | color: #999999; |
| | | } |
| | | |
| | | .right { |
| | | height: 40px; |
| | | font-size: 16px; |
| | | color: #ffffff; |
| | | line-height: 40px; |
| | | padding: 0 20px; |
| | | background: #207ff7; |
| | | box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16); |
| | | border-radius: 16px 0px 16px 0px; |
| | | } |
| | | } |
| | | .table_info { |
| | | .name_wrap { |
| | | display: flex; |
| | | align-items: center; |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin-right: 12px; |
| | | } |
| | | .content { |
| | | .line { |
| | | display: flex; |
| | | } |
| | | .tag { |
| | | color: #b2cbf9; |
| | | border: 1px solid #b2cbf9; |
| | | padding: 0px 4px; |
| | | border-radius: 4px; |
| | | margin-left: 6px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .side { |
| | | height: 100%; |
| | | width: 420px; |
| | | background: #ffffff; |
| | | border-left: 20px solid #f7f7f7; |
| | | .list { |
| | | .item { |
| | | padding: 8px 0; |
| | | position: relative; |
| | | .separate { |
| | | position: absolute; |
| | | border-left: 2px dashed #cccccc; |
| | | left: 31px; |
| | | height: calc(100% - 24px); |
| | | top: 34px; |
| | | } |
| | | .info { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 20px; |
| | | .icon { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #53b76f; |
| | | font-size: 24px; |
| | | } |
| | | .icon1 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: deepskyblue; |
| | | font-size: 24px; |
| | | } |
| | | .icon2 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #dc362e; |
| | | font-size: 24px; |
| | | } |
| | | .iconnew{ |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | .icon3 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color:gray; |
| | | font-size: 24px; |
| | | } |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin: 0 12px 0 16px; |
| | | border: 1px solid; |
| | | } |
| | | .content { |
| | | flex: 1; |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-content: center; |
| | | margin-bottom: 6px; |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | color: #111111; |
| | | } |
| | | .time { |
| | | color: #888888; |
| | | } |
| | | .company { |
| | | font-size: 13px; |
| | | color: #888888; |
| | | .status { |
| | | color: #00ba67; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .remark { |
| | | background: #f7f7f7; |
| | | border-radius: 4px; |
| | | padding: 13px 15px; |
| | | color: #666666; |
| | | margin-left: 120px; |
| | | } |
| | | .childList { |
| | | margin-left: 120px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div class="time">ææ¥æ¶é´ï¼{{model.createDate}}</div> |
| | | </div> |
| | | <div class="right" v-if="model.status==0">å¾
å¤ç</div> |
| | | <div class="right" v-if="model.status==1">å·²å¤ç</div> |
| | | <div class="right" v-if="model.status==2">å·²æ¤é</div> |
| | | <div class="right" style="background:#53b76f " v-if="model.status==1">å·²å¤ç</div> |
| | | <div class="right" style="background:#dc362e " v-if="model.status==2">å·²éå</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">éæ£ææ¥è¯¦æ
</div> |
| | |
| | | <template v-slot:footer> |
| | | <el-button @click="isShowProblem = true" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">å¤ç</el-button> |
| | | <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">转交</el-button> |
| | | <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >éå</el-button> |
| | | <el-button @click="isBackProblem=true" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >éå</el-button> |
| | | <el-button @click="visible=false">è¿å</el-button> |
| | | </template> |
| | | |
| | |
| | | <el-form-item label="æ´æ¹æ¶é´" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ´æ¹æ¶é´" |
| | | v-model="dealForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | |
| | | <el-dialog |
| | | append-to-body |
| | | title="鿣éå" |
| | | |
| | | class="dialogCl" |
| | | :visible.sync="isBackProblem" |
| | | width="480px" |
| | | width="600px" |
| | | > |
| | | <el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px"> |
| | | <el-form-item label="éåæ¶é´" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="éæ©éåæ¶é´" |
| | | v-model="backForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | |
| | | import upload from '@/components/common/upload' |
| | | import { memberList } from '@/api/business/hiddenDangerParam' |
| | | import { mapState } from 'vuex' |
| | | import { dealHiddenDanger } from '@/api/business/hiddenDanger' |
| | | export default { |
| | | components: { GlobalWindow, upload }, |
| | | extends: BaseOpera, |
| | |
| | | rulesBack: { |
| | | checkDate: [ |
| | | { required: true, message: 'è¯·éæ©éåæ¶é´' } |
| | | ], |
| | | ] |
| | | /*, |
| | | dealBeforeFileList: [ |
| | | { required: true, message: '请ä¸ä¼ æ´æ¹åæ
åµ' } |
| | | ] |
| | | ]*/ |
| | | }, |
| | | memberList: [], |
| | | transForm: { |
| | |
| | | this.dealForm.dealAfterFileList.splice(index, 1) |
| | | } |
| | | } else if (type == 2) { |
| | | if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) { |
| | | this.backForm.dealAfterFileList.splice(index, 1) |
| | | if (this.backForm.dealBeforeFileList != null && this.backForm.dealBeforeFileList.length > index) { |
| | | this.backForm.dealBeforeFileList.splice(index, 1) |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.dealForm.dealBeforeFileList = [] |
| | | } |
| | | this.dealForm.dealBeforeFileList.push({ |
| | | id: this.model.id, |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileUrl: e.imgaddr, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 1) { |
| | |
| | | this.dealForm.dealAfterFileList = [] |
| | | } |
| | | this.dealForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 2) { |
| | | if (this.backForm.dealAfterFileList == null) { |
| | | this.backForm.dealAfterFileList = [] |
| | | if (this.backForm.dealBeforeFileList == null) { |
| | | this.backForm.dealBeforeFileList = [] |
| | | } |
| | | this.backForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | this.backForm.dealBeforeFileList.push({ |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } |
| | |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤æäº¤è¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 1, |
| | | checkDate: this.dealForm.checkDate, |
| | | dealTime: this.dealForm.checkDate, |
| | | checkInfo: this.dealForm.checkInfo, |
| | | dealBeforeFileList: this.dealForm.dealBeforeFileList, |
| | | dealAfterFileList: this.dealForm.dealBeforeFileList |
| | | dealAfterFileList: this.dealForm.dealAfterFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交æå') |
| | | this.$tip.apiSuccess('å¤çæå') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | this.isShowProblem = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤éåè¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 0, |
| | | checkDate: this.backForm.checkDate, |
| | | status: 2, |
| | | dealTime: this.backForm.checkDate, |
| | | checkInfo: this.backForm.checkInfo, |
| | | dealBeforeFileList: this.backForm.dealBeforeFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交æå') |
| | | this.$tip.apiSuccess('éåæå') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | this.isBackProblem = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | |
| | | this.memberList = [] |
| | | this.transForm = { |
| | | memberId: null |
| | | }, |
| | | } |
| | | this.dealForm = { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | | dealBeforeFileList: [], |
| | | dealAfterFileList: [] |
| | | }, |
| | | } |
| | | this.backForm = { |
| | | checkDate: null, |
| | | checkInfo: null, |
| | |
| | | .icon2 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: red; |
| | | color: #dc362e; |
| | | font-size: 24px; |
| | | } |
| | | .avatar { |
| | |
| | | if (response.data.code === 503) { |
| | | return Promise.reject(new Error('æå¡å¨ç¹å¿ï¼è¯·ç¨ååè¯')) |
| | | } |
| | | if (response.data.code === 401) { |
| | | if (response.data.code === 401 || response.data.code === 5112) { |
| | | if (response.config.autoLogin !== false) { |
| | | Cookies.set('dm_user_token','') |
| | | window.location.href = process.env.VUE_APP_ROUTER_MODE === 'hash' ? (process.env.VUE_APP_CONTEXT_PATH +'/#/login') : (process.env.VUE_APP_CONTEXT_PATH+'/login') |
| | |
| | | <el-input v-model="searchForm.memberName" placeholder="请è¾å
¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¥äººç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="鿣åºå" prop="areaId"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" @keypress.enter.native="search"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" clearable @change="search"> |
| | | <el-option |
| | | v-for="item in areaList" |
| | | :key="item.id" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éæ£ç±»å" prop="cateId"> |
| | | <el-select v-model="searchForm.cateId" placeholder="è¯·éæ©éæ£ç±»å" @keypress.enter.native="search"> |
| | | <el-select v-model="searchForm.cateId" placeholder="è¯·éæ©éæ£ç±»å" clearable @change="search"> |
| | | <el-option |
| | | v-for="item in cateList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" @change="search" clearable 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="startTime"> |
| | |
| | | <template slot-scope="{row}"> |
| | | <span class="status-blue" v-if="row.status === 0">å¾
å¤ç</span> |
| | | <span class="status-green" v-if="row.status === 1">å·²å¤ç</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²æ¤é</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²éå</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null |
| | | cateId: null, |
| | | status:null |
| | | }, |
| | | cateList: [], |
| | | areaList: [], |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm |
| | | v-model="filters" |
| | | :query-form-config="queryFormConfig" |
| | | @handleQuery="getList(1)" |
| | | @clear="clear" |
| | | /> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç³è¯·äºº" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç»ç»" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="车çç
§" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç¨è½¦æ¶é´" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="åºåæ¶é´" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç®çå°ç±»å«" |
| | | min-width="110" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç®çå°" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç³è¯·ç¶æ" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æä½" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | <TableLayout :permissions="['business:empower:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ç³è¯·äºº" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="请è¾å
¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç³è¯·äººç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥ç³è¯·äººç»ç»" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车çå·" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="请è¾å
¥è½¦çå·" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" @change="search" clearable placeholder="ç¶æ"> |
| | | <el-option label="ç³è¯·ä¸" value="0"></el-option> |
| | | <el-option label="å®¡æ ¸ä¸" value="1"></el-option> |
| | | <el-option label="审æ¹éè¿" value="2"></el-option> |
| | | <el-option label="审æ¹ä¸éè¿" value="3"></el-option> |
| | | <el-option label="已忶" value="4"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç®çå°ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable 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="startTime"> |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | @keypress.enter.native="search" |
| | | 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> |
| | | </el-form-item> |
| | | <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> |
| | | <el-radio-button label="0">å½å¤©</el-radio-button> |
| | | <el-radio-button label="1">è¿7天</el-radio-button> |
| | | <el-radio-button label="2">è¿30天</el-radio-button> |
| | | </el-radio-group> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:empower:create', 'business:empower:delete']"> |
| | | <!--<li><el-button type="primary" v-permissions="['business:empower:exportExcel']" @click="exportExcel">导åº</el-button></li> --> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <template> |
| | | <el-button type="text">æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | </div> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="ææ¥äºº" min-width="80px"></el-table-column> |
| | | <el-table-column prop="companyName" label="æå±ç»ç»" min-width="150px"></el-table-column> |
| | | <el-table-column prop="carCode" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column label="ç¨è½¦æ¶é´" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <span>èµ·:{{row.startTime || ''}}</span><br> |
| | | <span>æ¢:{{row.endTime || ''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="planUseDate" label="åºåæ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column label="ç®çå°" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-green" v-if="row.type === 0">ãå¸å
ã</span> |
| | | <span class="status-red" v-if="row.type === 1">ãå¸å¤ã</span> |
| | | <span >{{ row.addr }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-blue" v-if="row.status === 0">ç³è¯·ä¸</span> |
| | | <span class="status-blue" v-if="row.status === 1">å¾
审æ¹</span> |
| | | <span class="status-green" v-if="row.status === 2">审æ¹éè¿</span> |
| | | <span class="status-red" v-if="row.status === 3">审æ¹ä¸éè¿</span> |
| | | <span class="status-red" v-if="row.status === 4">已忶</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="createDate" label="ç³è¯·æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | label="æä½" |
| | | min-width="100" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaDetailsWindow.open('å
¬å¡è½¦ç³è¯·è¯¦æ
',row)" >æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import OperaCarUseBookWindow from '@/components/business/OperaCarUseBookWindow' |
| | | import { timeForMat } from '@/utils/util' |
| | | import { allList } from '@/api/business/hiddenDangerParam' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm |
| | | }, |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination ,OperaCarUseBookWindow}, |
| | | data () { |
| | | return { |
| | | filters: {}, |
| | | loading: false, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'ç³è¯·äººå§å' |
| | | }, |
| | | { |
| | | filed: 'idCard', |
| | | type: 'input', |
| | | label: '车çç
§' |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'select', |
| | | label: 'ç®çå°ç±»å«', |
| | | options: [] |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'datetimerange', |
| | | label: 'åºåæ¶é´', |
| | | options: [] |
| | | } |
| | | ], |
| | | online: true |
| | | // æç´¢ |
| | | searchForm: { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | type: null, |
| | | status:null |
| | | }, |
| | | pagination: { |
| | | capacity: 10, |
| | | page: 1 |
| | | }, |
| | | list: [], |
| | | total: 0 |
| | | cateList: [], |
| | | areaList: [], |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ç¨è½¦ç³è¯·ç®¡ç', |
| | | api: '/business/carUseBook', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | // this.search() |
| | | this.changeRadio('0') |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | getList (page) { }, |
| | | clear () { }, |
| | | handleSizeChange (capacity) { |
| | | this.pagination.capacity = capacity |
| | | changeRadio (e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | | this.searchForm.queryEndTime = timeForMat(0)[1] |
| | | this.time = timeForMat(0) |
| | | } else if (e === '1') { |
| | | this.searchForm.queryStartTime = timeForMat(6)[0] |
| | | this.searchForm.queryEndTime = timeForMat(6)[1] |
| | | this.time = timeForMat(6) |
| | | } else if (e === '2') { |
| | | this.searchForm.queryStartTime = timeForMat(29)[0] |
| | | this.searchForm.queryEndTime = timeForMat(29)[1] |
| | | this.time = timeForMat(29) |
| | | } |
| | | this.search() |
| | | }, |
| | | loadParams () { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | | if (res != null && res.length) { |
| | | res.forEach(item => { |
| | | if (item && item.type != null && item.type === 0) { |
| | | this.areaList.push(item) |
| | | } |
| | | if (item && item.type != null && item.type === 1) { |
| | | this.cateList.push(item) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime (e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | | // this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | } |
| | | |
| | | |
| | | @PreventRepeat(limit = 10, lockTime = 10000) |
| | | @ApiOperation("H5ä¸å¡ç»å½") |
| | | @PostMapping("/loginH5") |
| | | @LoginNoRequired |
| | | public ApiResponse<String> loginH5 (@Validated @RequestBody LoginDTO dto, ServerWebExchange serverWebExchange) { |
| | | try { |
| | | ServerHttpRequest request = serverWebExchange.getRequest(); |
| | | dto.setCheckCode(false); |
| | | LoginUserInfo user = systemLoginService.loginByPasswordNew(dto,request); |
| | | String token = jwtTokenUtil.generateToken(user); |
| | | return ApiResponse.success(token); |
| | | }catch (BusinessException e){ |
| | | return ApiResponse.failed(e.getCode(),e.getMessage()); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ApiResponse.failed(ResponseStatus.SERVER_ERROR); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å·æ°JWT令ç,ç¨æ§çä»¤çæ¢æ°ç令ç |
| | | */ |
| | |
| | | @ApiOperation("ç»å½") |
| | | @PostMapping("/login") |
| | | public ApiResponse<String> login (@Validated @RequestBody LoginDTO dto, HttpServletRequest request) { |
| | | dto.setCheckCode(true); |
| | | return ApiResponse.success(systemLoginService.loginByPassword(dto, request)); |
| | | } |
| | | |
| | |
| | | package com.doumee.core.model; |
| | | |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.dao.system.model.SystemPermission; |
| | | import com.doumee.dao.system.model.SystemRole; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | |
| | | |
| | | private List<String> permissions; |
| | | private List<Integer> companyIdList; |
| | | private Company company; |
| | | |
| | | //jwtç»å½è®¾ç½® |
| | | public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions,String sessionId) { |
| | | public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions,Company company,String sessionId) { |
| | | if (user == null) { |
| | | return null; |
| | | } |
| | | // æ·è´ç¨æ·ä¿¡æ¯ |
| | | LoginUserInfo loginUserInfo = new LoginUserInfo(); |
| | | BeanUtils.copyProperties(user, loginUserInfo); |
| | | loginUserInfo.setCompany(company); |
| | | // 设置è§è²ä¿¡æ¯ |
| | | List<String> rs = new ArrayList<>(); |
| | | for (SystemRole role : roles) { |
| | |
| | | int invalid =9; |
| | | } |
| | | |
| | | public interface multifileObjType{ |
| | | //0鿣ç°åºæ
åµ 1鿣å¤çåæ
åµ 2鿣å¤çåæ
åµ 3鿣éå说æ |
| | | int zero = 0; |
| | | int one = 1; |
| | | int two = 2; |
| | | int three = 3; |
| | | } |
| | | |
| | | |
| | | public interface EmpowerStatus{ |
| | | //ä¸å¡éææä¸åç¶æ 0å¾
ä¸å 1å·²ä¸å 2ä¸åæå 3已忶 4ä¸å失败 5ä»»å¡ä¸è½½å·²ç»æ |
| | |
| | | int cityUseCar = 3;//å¸å
ç¨è½¦ |
| | | int unCityUseCar = 4;//å¸å¤ç¨è½¦ |
| | | int logisticsCarUse = 5;//ç©æµè½¦é¢çº¦ |
| | | |
| | | } |
| | | |
| | | |
| | | public interface noticesObjectType{ |
| | | int visit = 0;//访客ç³è¯· |
| | | int visitReporting = 2;//访客æ¥å¤ |
| | | int cityUseCar = 3;//å¸å
ç¨è½¦ |
| | | int unCityUseCar = 4;//å¸å¤ç¨è½¦ |
| | | int logisticsCarUse = 5;//ç©æµè½¦é¢çº¦ |
| | | } |
| | | |
| | | |
| | | public interface approveStatus{ |
| | |
| | | int auditIng = 1;//审æ¹ä¸ |
| | | int pass = 2;//审æ¹éè¿ |
| | | int unPass = 3;//å®¡æ¹æªéè¿ |
| | | int otherDeal = 4;//ä»äººå·²å¤ç |
| | | int cancel = 5;//已忶 |
| | | int cancel = 4;//已忶 |
| | | int otherDeal = 5;//ä»äººå·²å¤ç |
| | | int otherUnPass = 6;//ä»äººæç» |
| | | } |
| | | |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.system.model.Multifile; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/05/04 18:18 |
| | | */ |
| | | public interface MultifileMapper extends BaseMapper<Multifile> { |
| | | |
| | | void insertBatchSomeColumn(List<Multifile> fileList); |
| | | } |
| | |
| | | @NotBlank(message = "éªè¯ç UUIDä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "éªè¯ç UUID") |
| | | private String uuid; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦éªè¯éªè¯ç " , hidden = true) |
| | | private Boolean checkCode; |
| | | } |
| | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.dao.CompanyMapper; |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.dao.system.dto.LoginDTO; |
| | | import com.doumee.dao.system.model.*; |
| | | import com.doumee.service.common.CaptchaService; |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | @Autowired |
| | | private SystemLoginLogService systemLoginLogService; |
| | | |
| | | @Autowired |
| | | private CompanyMapper companyMapper; |
| | | |
| | | @Override |
| | | public String loginByPassword(LoginDTO dto, HttpServletRequest request) { |
| | | SystemLoginLog loginLog = new SystemLoginLog(); |
| | |
| | | loginLog.setClientInfo(Utils.User_Client.getBrowser(request)); |
| | | loginLog.setOsInfo(Utils.User_Client.getOS(request)); |
| | | loginLog.setServerIp(Utils.Server.getIP()); |
| | | if(isDebug == null || !isDebug){ |
| | | if((isDebug == null || !isDebug) && (Objects.isNull(dto.getCheckCode()) || dto.getCheckCode()) ){ |
| | | // æ ¡éªéªè¯ç |
| | | try { |
| | | captchaService.check(dto.getUuid(), dto.getCode()); |
| | |
| | | if( !StringUtils.equals(pwd, user.getPassword())){ |
| | | throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); |
| | | } |
| | | Company company = new Company(); |
| | | if(Objects.nonNull(user.getCompanyId())){ |
| | | company = companyMapper.selectById(user.getCompanyId()); |
| | | } |
| | | // è·åç»å½ç¨æ·ä¿¡æ¯ |
| | | List<SystemRole> roles = systemRoleService.findByUserId(user.getId()); |
| | | List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId()); |
| | |
| | | //æ°æ®é¨é¨æééå |
| | | user.setCompanyIdList(systemDataPermissionService.selectHighRole(new SystemDataPermission(),rt,user)); |
| | | |
| | | LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,null); |
| | | LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,company,null); |
| | | return userInfo; |
| | | } |
| | | |
| | |
| | | @ApiOperation("æ¥è¯¢å
¨é¨") |
| | | @PostMapping("/list") |
| | | @CloudRequiredPermission("business:member:query") |
| | | public ApiResponse<List<Member>> findPage (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | public ApiResponse<List<Member>> list (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(memberService.findList(model)); |
| | | } |
| | | @ApiOperation("æ¥è¯¢å
¨é¨å¸æº") |
| | | @PostMapping("/driveList") |
| | | @CloudRequiredPermission("business:member:query") |
| | | public ApiResponse<List<Member>> findDriveList (@RequestBody Member model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(memberService.findDriveList(model)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("导åºExcel") |
| | |
| | | @PostMapping("/createVisit") |
| | | public ApiResponse createVisit(@RequestBody Visits visits,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | visits.setMemberId(getLoginUser(token).getMemberId()); |
| | | visits.setReceptMemberId(visits.getMemberId()); |
| | | return ApiResponse.success("æ¥è¯¢æå", visitsService.visitReporting(visits)); |
| | | } |
| | | |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @ApiOperation("éç½®å¯ç ") |
| | |
| | | package com.doumee.cloud.web; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.cloud.web.ApiController; |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.annotation.trace.Trace; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Visits; |
| | | import com.doumee.dao.system.dto.LoginDTO; |
| | | import com.doumee.dao.web.reqeust.AccountLoginDTO; |
| | | import com.doumee.dao.web.reqeust.AuditApproveDTO; |
| | | import com.doumee.dao.web.reqeust.VisitMemberDTO; |
| | |
| | | import com.doumee.service.business.ApproveService; |
| | | import com.doumee.service.business.MemberService; |
| | | import com.doumee.service.business.VisitsService; |
| | | import com.doumee.service.system.SystemLoginService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.server.reactive.ServerHttpRequest; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.server.ServerWebExchange; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/member") |
| | | @Slf4j |
| | | @LoginNoRequired |
| | | public class InternalWebController extends ApiController { |
| | | public class InternalWebController extends BaseController { |
| | | |
| | | @Autowired |
| | | private MemberService memberService; |
| | |
| | | @Autowired |
| | | private ApproveService approveService; |
| | | |
| | | @ApiOperation(value = "人åç»å½", notes = "H5") |
| | | @PostMapping("/accountLogin") |
| | | public ApiResponse<WxAuthorizeVO> accountLogin(@RequestBody AccountLoginDTO accountLoginDTO) { |
| | | WxAuthorizeVO wxAuthorizeVO = memberService.accountLogin(accountLoginDTO); |
| | | return ApiResponse.success("ç»å½æå",wxAuthorizeVO); |
| | | } |
| | | |
| | | @ApiOperation(value = "å
é¨äººåé¦é¡µ", notes = "H5") |
| | | @GetMapping("/internalHome") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse<InternalHomeVO> internalHome() { |
| | | return ApiResponse.success("æ¥è¯¢æå",approveService.getHomeData(getMemberId())); |
| | | public ApiResponse<InternalHomeVO> internalHome(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success("æ¥è¯¢æå",approveService.getHomeData(getLoginUser(token).getMemberId())); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("ä»»å¡ä¸å¿") |
| | | @PostMapping("/taskCenter") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse<PageData<VisitRecordVO>> taskCenter (@RequestBody PageWrap<VisitRecordDTO> pageWrap) { |
| | | pageWrap.getModel().setMemberId(getMemberId()); |
| | | public ApiResponse<PageData<VisitRecordVO>> taskCenter (@RequestBody PageWrap<VisitRecordDTO> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | pageWrap.getModel().setMemberId(getLoginUser(token).getMemberId()); |
| | | return ApiResponse.success(visitsService.taskCenter(pageWrap)); |
| | | } |
| | | |
| | |
| | | |
| | | @ApiOperation(value = "人åå页",notes = "å¯æè®¿å
é¨äººå") |
| | | @PostMapping("/memberList") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse<PageData<MemberVO>> memberList (@RequestBody PageWrap<VisitMemberDTO> pageWrap) { |
| | | public ApiResponse<PageData<MemberVO>> memberList (@RequestBody PageWrap<VisitMemberDTO> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(memberService.getVisitedMemberList(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation(value = "è®¿å®¢è®°å½æäº¤", notes = "å
é¨äººåæäº¤") |
| | | @PostMapping("/createVisit") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse createVisit(@RequestBody Visits visits) { |
| | | visits.setCreateMemberId(getMemberId()); |
| | | public ApiResponse createVisit(@RequestBody Visits visits,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | visits.setCreateMemberId(getLoginUser(token).getMemberId()); |
| | | return ApiResponse.success("æ¥è¯¢æå", visitsService.createFk(visits,false)); |
| | | } |
| | | |
| | | @ApiOperation(value = "å®¡æ¹æµè®°å½å®¡æ¹", notes = "å
é¨äººå") |
| | | @PostMapping("/auditApprove") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true), |
| | | }) |
| | | public ApiResponse auditApprove(@RequestBody AuditApproveDTO auditApproveDTO) { |
| | | public ApiResponse auditApprove(@RequestBody AuditApproveDTO auditApproveDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | visitsService.auditApprove(auditApproveDTO); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | |
| | | @ExcelColumn(name="审æ¹äºº") |
| | | private String cheorId; |
| | | |
| | | @ApiModelProperty(value = "å®¡æ¹æ¶é´") |
| | | private Date checkDate; |
| | | |
| | | @ApiModelProperty(value = "审æ¹äººå§å") |
| | | @ExcelColumn(name="审æ¹äººå§å") |
| | | private String checkorName; |
| | |
| | | @ExcelColumn(name="审æ¹ç级") |
| | | private Integer level; |
| | | |
| | | @ApiModelProperty(value = "å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾", example = "1") |
| | | @ExcelColumn(name="å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾") |
| | | @ApiModelProperty(value = "å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾ 2å人审æ¹", example = "1") |
| | | @ExcelColumn(name="å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾ 2å人审æ¹") |
| | | private Integer approveType; |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "人è¸å¾ç", example = "1") |
| | | @TableField(exist = false) |
| | | private String faceImg; |
| | | |
| | | @ApiModelProperty(value = "å§å", example = "1") |
| | | @ExcelColumn(name="å§å") |
| | |
| | | private String companyName; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "å¾
审æ¹è®°å½", example = "1") |
| | | @TableField(exist = false) |
| | | private List<Approve> approveList; |
| | |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | | @ApiModelProperty(value = "èç¹åç§°") |
| | | @ExcelColumn(name="èç¹åç§°") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0å®¡æ¹ 1æé", example = "1") |
| | |
| | | @ExcelColumn(name="审æ¹ä¸»ç®¡ç级 0ç´æ¥ä¸»ç®¡ 1äºçº§ä¸»ç®¡ 2ä¸çº§ä¸»ç®¡ 4å级主管") |
| | | private Integer objLevel; |
| | | |
| | | @ApiModelProperty(value = "å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾", example = "1") |
| | | @ExcelColumn(name="å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾") |
| | | @ApiModelProperty(value = "å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾ 2å人审æ¹", example = "1") |
| | | @ExcelColumn(name="å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾ 2å人审æ¹") |
| | | private Integer approveType; |
| | | |
| | | @ApiModelProperty(value = "æ 主管é项 0æµç¨ç»æ 1ç±ä¸çº§ä¸»ç®¡ä»£æ¿å®¡æ ¸", example = "1") |
| | |
| | | @ApiModel("车è¾_ç¨è½¦ç³è¯·ä¿¡æ¯è¡¨") |
| | | @TableName("`car_use_book`") |
| | | public class CarUseBook extends LoginUserModel { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelColumn(name="主é®") |
| | |
| | | |
| | | @ApiModelProperty(value = "å¤ç说æ") |
| | | @ExcelColumn(name="å¤ç说æ") |
| | | private String checklInfo; |
| | | private String checkInfo; |
| | | |
| | | @ApiModelProperty(value = "å¤ç人ç¼ç ï¼å
³èmember)", example = "1") |
| | | @ExcelColumn(name="å¤ç人ç¼ç ï¼å
³èmember)") |
| | |
| | | @ApiModelProperty(value = "æ¯å¦å¯ä»¥å®¡æ¹ 0=ä¸å¯ä»¥ï¼1=å¯ä»¥") |
| | | private Integer canBeApproved; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦æå®å¸æºé¡¹ 0ä¸æå® 1æå®") |
| | | private Integer driverParam; |
| | | |
| | | @ApiModelProperty(value = "æéè®°å½") |
| | | private List<Approve> copyList; |
| | | |
| | |
| | | @ApiModelProperty(value = "æå±ç»ç»ç¼ç (å
³ècompany表)", example = "1") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "访客åç§°") |
| | | @ApiModelProperty(value = "被访é®äººåç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "被访é®äººé¨é¨") |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "ææºå·") |
| | | private String phone; |
| | | |
| | |
| | | String importBatch(MultipartFile file, Integer companyType,LoginUserInfo loginUser); |
| | | |
| | | |
| | | |
| | | List<Member> findDriveList(Member model); |
| | | } |
| | |
| | | import com.doumee.dao.business.join.ApproveJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.ApproveDataVO; |
| | | import com.doumee.dao.system.join.NoticesJoinMapper; |
| | | import com.doumee.dao.system.model.Notices; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.dao.web.response.InternalHomeVO; |
| | | import com.doumee.service.business.ApproveService; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.service.system.NoticesService; |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.xpath.operations.Bool; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | @Autowired |
| | | private VisitsMapper visitsMapper; |
| | | |
| | | @Autowired |
| | | private NoticesJoinMapper noticesJoinMapper; |
| | | |
| | | @Override |
| | | public Integer create(Approve approve) { |
| | |
| | | for (int i = 0; i < approveParamList.size(); i++) { |
| | | ApproveParam approveParam = approveParamList.get(i); |
| | | List<Integer> ids = this.getApproveUserIds(approveParam,createMember); |
| | | //çæå¾
å notices è¡¨æ°æ® |
| | | if(i==0){ |
| | | |
| | | } |
| | | for (Integer memberId:ids) { |
| | | Approve approve = new Approve(); |
| | | approve.setRemark(approveParam.getRemark()); |
| | | approve.setCreateDate(new Date()); |
| | | approve.setIsdeleted(Constants.ZERO); |
| | | approve.setTemplatId(approveTempl.getId()); |
| | |
| | | approveList.add(approve); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void createNoticesData(List<Approve> approveList){ |
| | | for (Approve approve:approveList) { |
| | | Notices notices = new Notices(); |
| | | notices.setCreateDate(new Date()); |
| | | notices.setIsdeleted(Constants.ZERO); |
| | | notices.setObjId(approve.getObjId()); |
| | | notices.setObjId(approve.getApproveType()); |
| | | if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.unConstructionVisit) |
| | | || Constants.equalsInteger(approve.getType(),Constants.approveObjectType.constructionVisit)){ |
| | | notices.setType(Constants.ZERO); |
| | | }else if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.visitReporting)){ |
| | | notices.setType(Constants.ONE); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | return auditCompany; |
| | | } |
| | | |
| | | @Override |
| | | public ApproveDataVO arrangeApprovedData(Integer businessId, Integer businessType, Integer memberId){ |
| | | ApproveDataVO approveDateVO = new ApproveDataVO(); |
| | | approveDateVO.setApproveList(new ArrayList<>()); |
| | | approveDateVO.setCanBeApproved(Constants.ZERO); |
| | | List<Approve> approveGroupList = approveJoinMapper.selectJoinList(Approve.class, |
| | | new MPJLambdaWrapper<Approve>(). |
| | | selectAll(Approve.class) |
| | | .selectAs(Member::getName,Approve::getMemberName) |
| | | .selectAs(Member::getPhone,Approve::getMemberPhone) |
| | | .selectAs(Member::getFaceImg,Approve::getFaceImg) |
| | | .selectAs(Company::getCompanyNamePath,Approve::getCompanyName) |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .eq(Approve::getObjId,businessId) |
| | | .eq(Approve::getObjType,businessType) |
| | | .orderByAsc(Approve::getLevel) |
| | | ); |
| | | |
| | | //æ¥æ¾å
¨é¨levelList |
| | | List<Approve> levelList = getLevelListFromResult(approveGroupList,approveDateVO,memberId); |
| | | List<Approve> copyList = getAllCopyList(approveGroupList); |
| | | //éålevelæ¥è¯¢æ¯ä¸çº§å«ä¸å¡æ°æ® |
| | | for(Approve level:levelList){ |
| | | List<Approve> tlist = getLevelInfoFromList(level,approveGroupList); |
| | | approveDateVO.getApproveList().addAll(tlist); |
| | | if(tlist.size() ==0 |
| | | ||Constants.equalsInteger(Constants.approveStatus.unPass, tlist.get(0).getStatus()) |
| | | ||Constants.equalsInteger(Constants.approveStatus.cancel, tlist.get(0).getStatus())){ |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //å¤çæéè®°å½ |
| | | if (CollectionUtils.isNotEmpty(copyList)) { |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setStatusInfo("æé"); |
| | | waitModel.setStatus(Constants.ONE); |
| | | waitModel.setType(Constants.ONE); |
| | | waitModel.setApproveList(copyList); |
| | | approveDateVO.getApproveList().add(waitModel); |
| | | } |
| | | |
| | | return approveDateVO; |
| | | } |
| | | |
| | | private List<Approve> getAllCopyList(List<Approve> approveGroupList) { |
| | | List<Approve> copyList = new ArrayList<>(); |
| | | if (CollectionUtils.isNotEmpty(approveGroupList)) { |
| | | copyList.addAll(approveGroupList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList())); |
| | | } |
| | | return copyList; |
| | | } |
| | | |
| | | private List<Approve> getLevelInfoFromList(Approve level,List<Approve> approveGroupList) { |
| | | List<Approve> list = new ArrayList<>(); |
| | | if(Constants.equalsInteger(level.getApproveType(),Constants.TWO)){ |
| | | //妿æ¯åäººå®¡æ¹ |
| | | list.add(level); |
| | | return list; |
| | | } |
| | | //æ¥æ¾å
¨é¨å·²å¤ççéå |
| | | List<Approve> passList = new ArrayList<>();//å·²åæçè®°å½é |
| | | Approve refuseModel = new Approve();//å·²æç»çè®°å½ |
| | | List<Approve> waitList = new ArrayList<>(); //æ¥è¯¢å
¨é¨æªå¤ççéå |
| | | List<Approve> otherPassList = new ArrayList<>();//ä»äººå·²å¤ççè®°å½é |
| | | List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList()); |
| | | dealGroupListBiz(level,levelApprove,approveGroupList,passList,refuseModel,waitList,otherPassList); |
| | | if(Objects.nonNull(refuseModel) && Objects.nonNull(refuseModel.getId())){ |
| | | //å卿ç»çï¼åªéè¦è¿å䏿¡å¤çæ°æ®ï¼åç»ä¸éè¦åæ¾ |
| | | list.add(refuseModel); |
| | | return list; |
| | | } |
| | | list.addAll(sortByCreateTime(passList)); |
| | | if(Constants.equalsInteger(level.getApproveType(),Constants.ONE)){ |
| | | //妿æ¯ä¼ç¾ |
| | | if(waitList.size()>0){ |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"审æ¹äºº")+"å¤çä¸"); |
| | | waitModel.setStatus(Constants.equalsInteger(waitList.get(Constants.ZERO).getStatus(),Constants.ONE)?Constants.ONE:Constants.ZERO); |
| | | waitModel.setApproveList(waitList); |
| | | list.add(waitModel); |
| | | } |
| | | }else { |
| | | if((waitList.size()> 0 || otherPassList.size()>0)){ |
| | | Approve waitModel = new Approve(); |
| | | waitModel.setApproveType(Constants.ONE); |
| | | waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"审æ¹äºº"):"æéæç¾å®¡æ¹äºº"); |
| | | waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO); |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | approveList.addAll(waitList); |
| | | //å¦ææ¯æç¾ |
| | | if(passList.size()>0){ |
| | | approveList.addAll(otherPassList); |
| | | } |
| | | waitModel.setApproveList(approveList); |
| | | list.add(waitModel); |
| | | } |
| | | //å¦ææ¯æç¾ |
| | | // if(otherPassList.size()>0){ |
| | | // Approve waitModel = new Approve(); |
| | | // waitModel.setApproveType(Constants.ONE); |
| | | // waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"审æ¹äºº")+"ï¼æéæç¾å®¡æ¹äººï¼"); |
| | | // waitModel.setStatus(Constants.ONE); |
| | | // waitModel.setApproveList(otherPassList); |
| | | // list.add(waitModel); |
| | | // } |
| | | } |
| | | |
| | | |
| | | return list; |
| | | |
| | | } |
| | | |
| | | private void dealGroupListBiz(Approve level, List<Approve> levelApprove,List<Approve> approveGroupList, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) { |
| | | //æ¥è¯¢æ¯å¦åå¨æç»æ°æ® |
| | | for (Approve approve:levelApprove) { |
| | | if(Constants.equalsInteger(Constants.approveStatus.pass,approve.getStatus())){ |
| | | passList.add(approve); |
| | | }else if(Constants.equalsInteger(Constants.approveStatus.otherDeal,approve.getStatus())){ |
| | | otherPassList.add(approve); |
| | | }else if(Constants.equalsInteger(Constants.approveStatus.auditIng,approve.getStatus())||Constants.equalsInteger(Constants.approveStatus.wait,approve.getStatus())){ |
| | | waitList.add(approve); |
| | | }else if(Constants.equalsInteger(Constants.approveStatus.unPass,approve.getStatus())){ |
| | | refuseModel = approve; |
| | | } |
| | | } |
| | | } |
| | | |
| | | private List<Approve> sortByCreateTime(List<Approve> passList) { |
| | | Collections.sort(passList, (a, b) -> a.getCheckDate().compareTo(b.getCheckDate())); |
| | | return passList; |
| | | } |
| | | |
| | | |
| | | private List<Approve> getLevelListFromResult(List<Approve> approveGroupList,ApproveDataVO approveDataVO,Integer memberId) { |
| | | approveDataVO.setCanBeApproved(Constants.ZERO); |
| | | approveDataVO.setDriverParam(Constants.ZERO); |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | for (Approve approve:approveGroupList) { |
| | | if(StringUtils.isNotBlank(approve.getFaceImg())){ |
| | | approve.setFaceImg(path + approve.getFaceImg()); |
| | | } |
| | | if(Constants.equalsInteger(approve.getType(),Constants.ONE)){ |
| | | continue; |
| | | } |
| | | if(Constants.equalsInteger(approve.getChekorId(),memberId)){ |
| | | approveDataVO.setCanBeApproved(Constants.ONE); |
| | | approveDataVO.setDriverParam(approve.getDriverParam()); |
| | | } |
| | | if(notExsits(approveList,approve.getLevel())){ |
| | | approveList.add(approve); |
| | | } |
| | | } |
| | | |
| | | if(CollectionUtils.isEmpty(approveList)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"审æ¹ä¿¡æ¯ï¼çº§å«æ°æ®å¼å¸¸"); |
| | | } |
| | | |
| | | return approveList; |
| | | } |
| | | |
| | | private boolean notExsits(List<Approve> approveList, Integer level) { |
| | | for (Approve approve:approveList) { |
| | | if(Constants.equalsInteger(approve.getLevel(),level)){ |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ´ç å®¡æ¹æ°æ® |
| | |
| | | * @param businessType |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ApproveDataVO arrangeApprovedData(Integer businessId, Integer businessType, Integer memberId){ |
| | | // @Override |
| | | public ApproveDataVO arrangeApprovedDataOld(Integer businessId, Integer businessType, Integer memberId){ |
| | | ApproveDataVO approveDateVO = new ApproveDataVO(); |
| | | approveDateVO.setCanBeApproved(Constants.ZERO); |
| | | List<Approve> approveGroupList = approveJoinMapper.selectJoinList(Approve.class, |
| | | new MPJLambdaWrapper<Approve>(). |
| | | select(Approve::getLevel,Approve::getType) |
| | | select(Approve::getLevel,Approve::getType,Approve::getTitle,Approve::getApproveType) |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .eq(Approve::getObjId,businessId) |
| | | .isNotNull(Approve::getLevel) |
| | | .eq(Approve::getObjType,businessType) |
| | | .groupBy(Approve::getLevel,Approve::getType) |
| | | .groupBy(Approve::getLevel,Approve::getType,Approve::getTitle,Approve::getApproveType) |
| | | ); |
| | | if(CollectionUtils.isEmpty(approveGroupList)){ |
| | | return approveDateVO; |
| | |
| | | .selectAll(Approve.class) |
| | | .selectAs(Member::getName,Approve::getMemberName) |
| | | .selectAs(Member::getPhone,Approve::getMemberPhone) |
| | | .selectAs(Member::getFaceImg,Approve::getFaceImg) |
| | | .selectAs(Company::getName,Approve::getCompanyName) |
| | | .leftJoin(Member.class,Member::getId,Approve::getChekorId) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | |
| | | .orderByAsc(Approve::getLevel) |
| | | .orderByAsc(Approve::getId) |
| | | ); |
| | | |
| | | |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | for (Approve approve:approveAllList ) { |
| | | if(StringUtils.isNotBlank(approve.getFaceImg())){ |
| | | approve.setFaceImg(path + approve.getFaceImg()); |
| | | } |
| | | } |
| | | |
| | | if(CollectionUtils.isEmpty(approveAllList)){ |
| | | return approveDateVO; |
| | | } |
| | | List<Approve> approveList = approveAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList()); |
| | | List<Approve> approveList = approveAllList.stream().filter(i->Constants.equalsInteger(i.getType(),(Constants.ZERO))) |
| | | .collect(Collectors.toList()); |
| | | if(CollectionUtils.isEmpty(approveList)){ |
| | | return approveDateVO; |
| | | } |
| | | approveDateVO.setCanBeApproved(this.canBeApproved(approveList,memberId)); |
| | | approveDateVO.setDriverParam(this.canDriverParam(approveList,memberId)); |
| | | //æ ¹æ®å®¡æ¹çº§å« å¤çæ°æ® |
| | | for (Approve approve:approveGroupList) { |
| | | approve.setApproveList( |
| | |
| | | //ä¸ä¸ªå®¡æ¹æµç¨å
妿åå¨å½å ç¨æ·çæç´§ åå¯ä»¥è¿è¡å®¡æ¹ |
| | | if(nextApprovedList.stream().filter(i->i.getChekorId().equals(memberId)).collect(Collectors.toList()).size()>0){ |
| | | return Constants.ONE; |
| | | } |
| | | } |
| | | return Constants.ZERO; |
| | | } |
| | | |
| | | public Integer canDriverParam(List<Approve> approveList,Integer memberId){ |
| | | //è·åææå¾
审æ¹çæ°æ® |
| | | List<Approve> waitApprovedList = approveList.stream().filter(i->i.getType().equals(Constants.ZERO)&&i.getStatus().equals(Constants.ZERO)).collect(Collectors.toList()); |
| | | if(CollectionUtils.isNotEmpty(waitApprovedList)){ |
| | | //ä¸ä¸ªå®¡æ¹æµç¨ç级 |
| | | Integer nextApprovedLevel = waitApprovedList.get(Constants.ZERO).getLevel(); |
| | | //ä¸ä¸ªå®¡æ¹æµç¨ç æææ°æ® |
| | | List<Approve> nextApprovedList = waitApprovedList.stream().filter(i->i.getStatus().equals(Constants.ZERO)&&i.getLevel().equals(nextApprovedLevel)).collect(Collectors.toList()); |
| | | //ä¸ä¸ªå®¡æ¹æµç¨å
妿åå¨å½å ç¨æ·çæç´§ åå¯ä»¥è¿è¡å®¡æ¹ |
| | | List<Approve> auditApproveList = nextApprovedList.stream().filter(i->i.getChekorId().equals(memberId)).collect(Collectors.toList()); |
| | | if(auditApproveList.size() >0){ |
| | | Approve auditApprove = auditApproveList.get(Constants.ZERO); |
| | | return auditApprove.getDriverParam(); |
| | | } |
| | | } |
| | | return Constants.ZERO; |
| | |
| | | approve.setCheckInfo(approveDTO.getCheckInfo()); |
| | | approve.setCheorId(approveDTO.getLoginUserInfo().getMemberId().toString()); |
| | | approve.setCheckorName(approve.getLoginUserInfo().getRealname()); |
| | | approve.setCheckDate(new Date()); |
| | | approve.setStatusInfo(approveDTO.getStatus()==Constants.TWO?"审æ¹éè¿":approveDTO.getCheckInfo()); |
| | | Visits visits = new Visits(); |
| | | CarUseBook carUseBook = new CarUseBook(); |
| | |
| | | //TODO å®¡æ¹æªéè¿éç¥ |
| | | |
| | | } |
| | | |
| | | |
| | | }else if(approveDTO.getObjType().equals(Constants.approveObjectType.logisticsCarUse)){ |
| | | //TODO ç©æµè½¦é¢çº¦ |
| | | |
| | |
| | | queryWrapper.select("t1.name",CarUseBook::getMemberName); |
| | | queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); |
| | | queryWrapper.select("t2.name",CarUseBook::getDriverName); |
| | | queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); |
| | | queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); |
| | | // queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) |
| | | // .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .eq(CarUseBook::getId,id) |
| | | .last("limit 1" ); |
| | | CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); |
| | |
| | | queryWrapper.select("t1.name",CarUseBook::getMemberName); |
| | | queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); |
| | | queryWrapper.select("t2.name",CarUseBook::getDriverName); |
| | | queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId); |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id"); |
| | | queryWrapper |
| | | .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator()) |
| | |
| | | .eq(pageWrap.getModel().getAddr() != null, CarUseBook::getAddr, pageWrap.getModel().getAddr()) |
| | | .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId()) |
| | | .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId()) |
| | | .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'") |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), |
| | | i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59")) |
| | | .or() |
| | |
| | | ) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) |
| | | .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime()) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime()) |
| | | .orderByDesc(Visits::getCreateDate) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | |
| | | if(Objects.isNull(hiddenDanger)){ |
| | | return null; |
| | | } |
| | | HiddenDangerLog newBean = new HiddenDangerLog(); |
| | | newBean.setCreateUserName("-"); |
| | | newBean.setCompanyName("-"); |
| | | newBean.setTitle("鿣å¤ç"); |
| | | newBean.setAvatar("-"); |
| | | |
| | | if(hiddenDanger.getStatus().equals(Constants.ZERO)){ |
| | | //ä¸ä¸æ¥å¤ç人 |
| | | HiddenDangerLog newBean = new HiddenDangerLog(); |
| | | newBean.setCreateUserName("-"); |
| | | newBean.setCompanyName("-"); |
| | | newBean.setTitle("鿣å¤ç"); |
| | | newBean.setAvatar("-"); |
| | | |
| | | SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())); |
| | | if(Objects.nonNull(systemUser)){ |
| | | newBean.setCreateUserName(systemUser.getRealname()); |
| | |
| | | newBean.setCompanyName(company.getCompanyNamePath()); |
| | | } |
| | | } |
| | | hiddenDangerLogList.add(newBean); |
| | | } |
| | | hiddenDangerLogList.add(newBean); |
| | | |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | |
| | | multifile.setCreator(hiddenDanger.getCreator()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.zero); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | |
| | | .eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId()) |
| | | .ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())) |
| | | .le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())) |
| | | .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo()) |
| | | .eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo()) |
| | | .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId()) |
| | | .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName()) |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void dealHiddenDanger(HiddenDanger hiddenDanger){ |
| | | isParamValid(hiddenDanger); |
| | | dealFileBiz(hiddenDanger); |
| | | hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); |
| | | hiddenDanger.setEditDate(new Date()); |
| | | hiddenDanger.setCheckDate(hiddenDanger.getEditDate()); |
| | | hiddenDangerMapper.updateById(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getEditor()); |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setContent(hiddenDanger.getCheckInfo()); |
| | | hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"鿣å¤ç":"鿣éå"); |
| | | hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | } |
| | | |
| | | private void isParamValid(HiddenDanger hiddenDanger) { |
| | | if(Objects.isNull(hiddenDanger) |
| | | || Objects.isNull(hiddenDanger.getId()) |
| | | || Objects.isNull(hiddenDanger.getDealTime()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getStatus()) |
| | | ){ |
| | | || Objects.isNull(hiddenDanger.getId()) |
| | | || Objects.isNull(hiddenDanger.getDealTime()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getStatus()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£æ°æ®"); |
| | | } |
| | | if (!model.getStatus().equals(Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬!"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬,è¯·å·æ°æ¥ç!"); |
| | | } |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å¤ç人éå½å人åï¼"); |
| | | } |
| | | if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æé误ï¼"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æé误,è¯·å·æ°æ¥çï¼"); |
| | | } |
| | | //æ´æ¹åæä»¶ |
| | | } |
| | | |
| | | private void dealFileBiz(HiddenDanger hiddenDanger) {//æ´æ¹åæä»¶ |
| | | List<Multifile> beforList = hiddenDanger.getDealBeforeFileList(); |
| | | List<Multifile> fileList = new ArrayList<>(); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){ |
| | | boolean isTrue = false; |
| | | for (int i = 0; i < beforList.size(); i++) { |
| | | Multifile multifile = beforList.get(i); |
| | | if(StringUtils.isBlank(multifile.getFileurl())){ |
| | | continue; |
| | | } |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.one); |
| | | multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | fileList.add(multifile); |
| | | isTrue=true; |
| | | } |
| | | if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·æè¦æ±å¡«åå¤çæ°æ®"); |
| | | } |
| | | } |
| | | if(hiddenDanger.getStatus().equals(Constants.ONE)){ |
| | | boolean isTrue = false; |
| | | List<Multifile> afterList = hiddenDanger.getDealAfterFileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){ |
| | | for (int i = 0; i < afterList.size(); i++) { |
| | | Multifile multifile = afterList.get(i); |
| | | if(StringUtils.isBlank(multifile.getFileurl())){ |
| | | continue; |
| | | } |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.two); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | fileList.add(multifile); |
| | | isTrue = true; |
| | | } |
| | | } |
| | | if(isTrue){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·æè¦æ±å¡«åå¤çæ°æ®"); |
| | | } |
| | | } |
| | | hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); |
| | | hiddenDanger.setEditDate(new Date()); |
| | | hiddenDangerMapper.updateById(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getCreator()); |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"鿣å¤ç":"鿣éå"); |
| | | hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | if(fileList.size()>0){ |
| | | multifileMapper.insertBatchSomeColumn(fileList); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£æ°æ®"); |
| | | } |
| | | if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬!"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬,è¯·å·æ°æ¥ç!"); |
| | | } |
| | | if (!Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getLoginUserInfo().getMemberId())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å¤ç人éå½å人åï¼"); |
| | |
| | | import com.doumee.service.business.SmsEmailService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; |
| | | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; |
| | | import com.doumee.service.system.SystemLoginService; |
| | | import com.doumee.service.system.SystemUserService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.apache.commons.lang3.RandomStringUtils; |
| | |
| | | } |
| | | return list; |
| | | } |
| | | @Override |
| | | public List<Member> findDriveList(Member member) { |
| | | MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | queryWrapper.selectAll(Member.class) |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .eq(Member::getType,Constants.TWO) |
| | | .exists("select d.id from car_driver b where b.isdeleted=0 and b.member_id=t.id"); |
| | | |
| | | if(null != member.getType()) { |
| | | queryWrapper.eq(Member::getType,member.getType()); |
| | | } |
| | | if(null != member.getCompanyId()) { |
| | | queryWrapper.eq(Member::getCompanyId,member.getCompanyId()); |
| | | } |
| | | queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); |
| | | List<Member> list = memberJoinMapper.selectJoinList(Member.class,queryWrapper); |
| | | if(list!=null){ |
| | | for(Member m : list){ |
| | | m.setName(StringUtils.defaultString(m.getName(),"")+"-"+StringUtils.defaultString(m.getCompanyName(),"")); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Member> findPage(PageWrap<Member> pageWrap) { |
| | |
| | | |
| | | @Override |
| | | public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){ |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() |
| | | List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() |
| | | .selectAll(Member.class) |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(StringUtils.isNotBlank(checkVisitedDTO.getMobile()),Member::getPhone,checkVisitedDTO.getMobile()) |
| | | .eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName()) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | |
| | | |
| | | @Override |
| | | public WxAuthorizeVO accountLogin(AccountLoginDTO accountLoginDTO){ |
| | | System.out.println(DESUtil.decrypt(Constants.EDS_PWD,"eIaPD5AR5DBuTBE9MW14QRG07IDKXCdh")); |
| | | if(accountLoginDTO.getAccount().length()!=18 |
| | | //&&!IdcardUtil.isValidCard(accountLoginDTO.getAccount()) |
| | | ){ |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public Integer visitReporting(Visits visits) { |
| | | visits.setSourceType(Constants.ZERO); |
| | | isValidBaseParam(visits); |
| | | //æ£éªè¢«æè®¿äººæ¯å¦åæ³ |
| | | Member visitMember = isValideVisitedUser(visits.getMemberId()); |
| | |
| | | visits.setVisitType(Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MDJ_VISIT_REQUIRED).getCode())); |
| | | visits.setIdcardNo(DESUtil.decrypt(Constants.EDS_PWD, visitMember.getIdcardNo())); |
| | | //åå§åè®¿å®¢ä¿¡æ¯ |
| | | initVisitInfo(visits,date); |
| | | // initVisitInfo(visits,date); |
| | | visitsMapper.insert(visits); |
| | | return visits.getId(); |
| | | } |
| | |
| | | || StringUtils.isBlank( visits.getName()) |
| | | || StringUtils.isBlank( visits.getPhone()) |
| | | || StringUtils.isBlank( visits.getCompanyName()) |
| | | || visits.getIdcardType() == null |
| | | || Objects.isNull(visits.getType()) |
| | | // || StringUtils.isBlank( visits.getFaceImg() ) |
| | | || StringUtils.isBlank( visits.getIdcardNo() ) |
| | | || visits.getReceptMemberId() == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ä¿¡æ¯å¡«å䏿£ç¡®ï¼"); |
| | | } |
| | | if(Constants.equalsInteger(visits.getType(),Constants.ZERO) |
| | | || Constants.equalsInteger(visits.getType(),Constants.ONE)){ |
| | | if( visits.getIdcardType() == null |
| | | || StringUtils.isBlank( visits.getIdcardNo() ) ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ä¿¡æ¯å¡«å䏿£ç¡®ï¼"); |
| | | } |
| | | } |
| | | //访客æ¥å¤ |
| | | if(visits.getType().equals(Constants.TWO) |
| | |
| | | || StringUtils.isBlank( visits.getPhone()) |
| | | || StringUtils.isBlank( visits.getCompanyName())) |
| | | || StringUtils.isBlank( visits.getCarNos()) |
| | | || Objects.isNull(visits.getReceptMemberId()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ä¿¡æ¯å¡«å䏿£ç¡®ï¼"); |
| | | }else if(visits.getType().equals(Constants.ONE) && StringUtils.isBlank(visits.getConstructionReason())){ |
| | | |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼æªå¡«åæ½å·¥äºç±ï¼"); |
| | | } |
| | | if(visits.getEndtime().getTime() < System.currentTimeMillis()){ |