¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline> |
| | | <el-form-item label="车çå·" prop="code"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车主å§å/ææºå·" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车主é¨é¨" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主é¨é¨åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææç¶æ" prop="authStatus"> |
| | | <el-select v-model="searchForm.authStatus" @keypress.enter.native="search" clearable 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="type"> |
| | | <el-select v-model="searchForm.type" @keypress.enter.native="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-select> |
| | | </el-form-item> |
| | | <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:cars:create', 'business:parkBook:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaCarsWindow.open('æ°å»ºè½¦è¾')" icon="el-icon-plus" v-permissions="['business:cars:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" v-permissions="['business:parkbook:create']">ä¸åææ</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="code" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column label="车è¾ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type == 0" >å工车è¾</span> |
| | | <span v-if="row.type == 1">宿³°å
¬å¡è½¦</span> |
| | | <span v-if="row.type == 2" >宿³°ç©æµè½¦</span> |
| | | <span v-if="row.type == 3" >å¸å
¬å¸å
¬è½¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="车主å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="è½¦ä¸»ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="车主ç»ç»" min-width="200px"></el-table-column> |
| | | <el-table-column label="æ¯å¦ææ" align="center" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.authStatus == 1" style="color: green">æ¯</span> |
| | | <span v-else style="color: red">å¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="parksName" label="å·²ææå车åº" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.parkBookList && row.parkBookList.length" > |
| | | <span v-for="item in row.parkBookList" :key="item.id" style="display: block"> |
| | | <span :style="(item.hkStatus== 0?'color:#2080f7':(item.hkStatus== 1?'color:green':(item.hkStatus== 2?'color:red':'')))">ã{{item.hkStatus== 0?'çå¾
ä¸å':(item.hkStatus== 1?'ä¸åæå':(item.hkStatus== 2?'ä¸å失败':''))}}ã </span>{{item.parksName}} |
| | | </span> |
| | | </div> |
| | | <span v-if="row.parkBookList ==null ||row.parkBookList.length ==0">-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸åæææ" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.authStatus !=null && row.authStatus == 1 && row.parkBookList!=null && row.parkBookList.length>0"> |
| | | <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="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])" |
| | | label="æä½" |
| | | min-width="250" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarsWindow.open('ç¼è¾è½¦è¾ä¿¡æ¯',row)" v-permissions="['business:cars:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarAuthWindow.open('ä¸åææ',[row.id],[row.code])" v-permissions="['business:parkbook:create']">ä¸åææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange"/> |
| | | <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCarsWindow from '@/components/business/OperaCarsWindow' |
| | | import OperaCarAuthWindow from '@/components/business/OperaCarAuthWindow' |
| | | import { sync } from '@/api/business/cars' |
| | | export default { |
| | | name: 'Cars', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarsWindow,OperaCarAuthWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | code: '', |
| | | memberName: '', |
| | | companyName: '', |
| | | type:null, |
| | | authStatus:null |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '车è¾ä¿¡æ¯è¡¨', |
| | | api: '/business/cars', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | // åæ¥ä¿¡æ¯ |
| | | startEmpowerBatch () { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | var ids = [] |
| | | var codes = [] |
| | | this.tableData.selectedRows.forEach(item => { |
| | | ids.push(item.id) |
| | | codes.push(item.code) |
| | | }) |
| | | this.$refs.operaCarAuthWindow.open('车è¾ä¸åææ', ids, codes) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Cars; |
| | | import com.doumee.dao.business.model.ParkBook; |
| | | import com.doumee.service.business.ParkBookService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:parkbook:create") |
| | | public ApiResponse create(@RequestBody ParkBook parkBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | parkBook.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(parkBookService.create(parkBook)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¸åææ") |
| | | @PostMapping("/batchAuth") |
| | | @CloudRequiredPermission("business:parkbook:create") |
| | | public ApiResponse batchAuth(@RequestBody Cars cars, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | cars.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(parkBookService.batchAuth(cars)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:parkbook:update") |
| | | public ApiResponse updateById(@RequestBody ParkBook parkBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | parkBook.setLoginUserInfo(this.getLoginUser(token)); |
| | | parkBookService.updateById(parkBook); |
| | | return ApiResponse.success(null); |
| | | } |
| | |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 车è¾ä¿¡æ¯è¡¨ |
| | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | private Date editDate; |
| | | @ApiModelProperty(value = "ææå¼å§æ¶é´") |
| | | @ExcelColumn(name="ææå¼å§æ¶é´") |
| | | private Date startTime; |
| | | @ApiModelProperty(value = "ææç»ææ¶é´") |
| | | @ExcelColumn(name="ææç»ææ¶é´") |
| | | private Date endTime; |
| | | @ApiModelProperty(value = "æå䏿¬¡è¿åæ¶é´") |
| | | @ExcelColumn(name="æå䏿¬¡è¿åæ¶é´") |
| | | private Date lastInDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | @ApiModelProperty(value = "æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ", example = "1") |
| | | @ExcelColumn(name="æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ") |
| | | private Integer authTimeType; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | |
| | | @ExcelColumn(name="车çå·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "车åºç¼ç ï¼å
³èparks)", example = "1") |
| | | @ExcelColumn(name="车åºç¼ç ï¼å
³èparks)") |
| | | private Integer parkId; |
| | | @ApiModelProperty(value = "ææå车ç¼ç éåï¼å
³èparks)", example = "1") |
| | | @ExcelColumn(name="ææå车ç¼ç éåï¼å
³èparks)") |
| | | private String parkId; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") |
| | |
| | | @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "ææç¶æ 0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="ææç¶æ 0å¦ 1æ¯") |
| | | private Integer authStatus; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æå±åç»ç¼ç ï¼å
³ècar_group)", example = "1") |
| | | @ExcelColumn(name="æå±åç»ç¼ç ï¼å
³ècar_group)") |
| | | private Integer groupId; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ", example = "1") |
| | | @ExcelColumn(name="æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ") |
| | | private Integer authTimeType; |
| | | |
| | | |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0åå·¥è½¦è¾ 1宿³°å
¬å¡è½¦ 2èªæç©æµè½¦3å¤åç©æµè½¦ 4å¸å
¬å¸ç©æµè½¦ 5å¸å
¬å¸æ³¨å车è¾", example = "1") |
| | | @ExcelColumn(name="ç±»å 0åå·¥è½¦è¾ 1宿³°å
¬å¡è½¦ 2èªæç©æµè½¦3å¤åç©æµè½¦ 4å¸å
¬å¸ç©æµè½¦ 5å¸å
¬å¸æ³¨å车è¾") |
| | |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "å车åºåç§°", example = "1") |
| | | @ExcelColumn(name="å车åºåç§°") |
| | | @ApiModelProperty(value = "å车åºåç§°éå", example = "1") |
| | | @ExcelColumn(name="å车åºåç§°éå") |
| | | @TableField(exist = false) |
| | | private String parksName; |
| | | @ApiModelProperty(value = "ç¼è¾äººå§å", example = "1") |
| | | @ExcelColumn(name="ç¼è¾äººå§å") |
| | | @TableField(exist = false) |
| | | private String editorName; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨äººå", example = "1") |
| | | @ExcelColumn(name="ç¨æ·ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨äººå") |
| | |
| | | @ExcelColumn(name="é¨é¨") |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "车主æ¯å¦å é¤", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer memberDeleted; |
| | | @ApiModelProperty(value = "è½¦ä¸»æææææå¼å§", example = "1") |
| | | @TableField(exist = false) |
| | | private Date memberStartTime; |
| | | @ApiModelProperty(value = "è½¦ä¸»æææææç»æ", example = "1") |
| | | @TableField(exist = false) |
| | | private Date memberEndTime; |
| | | @ApiModelProperty(value = "车主ææç¶æ", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer memberAuthStatus; |
| | | |
| | | @ApiModelProperty(value = "ææå车åºç¼ç éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<Integer> parkIdList; |
| | | @ApiModelProperty(value = "车è¾ç¼ç éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<Integer> idList; |
| | | @ApiModelProperty(value = "车è¾å
æè®°å½éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<ParkBook> parkBookList; |
| | | |
| | | |
| | | } |
| | |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 车è¾é¢çº¦è®°å½ä¿¡æ¯è¡¨ |
| | |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private String creator; |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "åè½¦åºæµ·åº·ç¼ç ", example = "1") |
| | | @ExcelColumn(name="åè½¦åºæµ·åº·ç¼ç ") |
| | | @TableField(exist = false) |
| | | private String parkHkId; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Cars; |
| | | import com.doumee.dao.business.model.ParkBook; |
| | | import java.util.List; |
| | | |
| | |
| | | long count(ParkBook parkBook); |
| | | |
| | | void reUpdate(ParkBook parkBook); |
| | | |
| | | String batchAuth(Cars parkBook); |
| | | } |
| | |
| | | import com.doumee.dao.business.join.CarJoinMapper; |
| | | import com.doumee.dao.business.join.ParkBookJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.CarsService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.UUID; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 车è¾ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | if(loginUserInfo == null){ |
| | | loginUserInfo = model.getLoginUserInfo(); |
| | | } |
| | | if(StringUtils.isNotBlank(model.getCode()) |
| | | if(StringUtils.isBlank(model.getCode()) |
| | | ||model.getType()==null |
| | | ||model.getType()<0 |
| | | ||model.getType()>3 |
| | |
| | | model.setStatus(Constants.ZERO); |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setHkStatus(Constants.ZERO); |
| | | model.setAuthStatus(Constants.ZERO); |
| | | model.setRemark(""); |
| | | // model.setHkDate(model.getCreateDate()); |
| | | // model.setHkId(UUID.randomUUID().toString().replace("-","")); |
| | |
| | | model.setEdirot(user.getId()); |
| | | model.setId(id); |
| | | model.setIsdeleted(Constants.ONE); |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getStartTime,null) |
| | | .set(Cars::getEndTime,null) |
| | | .set(Cars::getAuthStatus,Constants.ZERO) |
| | | .set(Cars::getIsdeleted,Constants.ONE) |
| | | .set(Cars::getEditDate,model.getEditDate()) |
| | | .set(Cars::getEdirot,model.getEdirot()) |
| | | ); |
| | | carsMapper.updateById(model); |
| | | } |
| | | public boolean dealCancelBookBiz(String code,Date date){ |
| | | |
| | | List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() |
| | | .selectAll(ParkBook.class ) |
| | | .selectAs(Parks::getHkId,ParkBook::getParkHkId ) |
| | | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkHkId) |
| | | .selectAll(ParkBook.class ) |
| | | .selectAs(Parks::getHkId,ParkBook::getParkHkId ) |
| | | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId) |
| | | .eq(ParkBook::getCarCode,code) |
| | | .eq(ParkBook::getIsdeleted,Constants.ZERO )); |
| | | if(parkBooks !=null){ |
| | |
| | | if(loginUserInfo == null){ |
| | | loginUserInfo = model.getLoginUserInfo(); |
| | | } |
| | | if(StringUtils.isNotBlank(model.getCode()) |
| | | if(StringUtils.isBlank(model.getCode()) |
| | | ||model.getId()==null |
| | | ||model.getType()==null |
| | | ||model.getType()<0 |
| | |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setHkStatus(Constants.ZERO); |
| | | model.setRemark(""); |
| | | model.setAuthStatus(Constants.ZERO); |
| | | dealCancelBookBiz(model.getCode(),model.getEditDate()); |
| | | carsMapper.updateById(model); |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getAuthStatus,Constants.ZERO) |
| | | .set(Cars::getType,model.getType()) |
| | | .set(Cars::getCode,model.getCode()) |
| | | .set(Cars::getEditDate,model.getEditDate()) |
| | | .set(Cars::getEdirot,model.getEdirot()) |
| | | .set(Cars::getMemberId,model.getMemberId()) |
| | | .set(Cars::getStartTime,null) |
| | | .set(Cars::getEndTime,null) |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public PageData<Cars> findPage(PageWrap<Cars> pageWrap) { |
| | | IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>(); |
| | | |
| | | queryWrapper.selectAll(Cars.class); |
| | | queryWrapper.selectAs(Parks::getName,Cars::getParksName); |
| | | queryWrapper.selectAs(Member::getType,Cars::getMemberType); |
| | | queryWrapper.selectAs(Member::getName,Cars::getMemberName); |
| | | queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName); |
| | | queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone); |
| | | queryWrapper.selectAs(Company::getName,Cars::getCompanyName); |
| | | |
| | | queryWrapper.leftJoin(Parks.class,Parks::getId,Cars::getParkId); |
| | | queryWrapper.selectAs(Company::getCompanyNamePath,Cars::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Cars::getEdirot); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | |
| | | |
| | | queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) |
| | | .or().like(Member::getPhone,pageWrap.getModel().getMemberName())); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName()); |
| | | queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode()); |
| | | queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO); |
| | | |
| | | queryWrapper.eq(pageWrap.getModel().getType()!=null,Cars::getType,pageWrap.getModel().getType()); |
| | | queryWrapper.eq(pageWrap.getModel().getAuthStatus()!=null,Cars::getAuthStatus,pageWrap.getModel().getAuthStatus()); |
| | | queryWrapper.orderByDesc(Cars::getCreateDate); |
| | | IPage<Cars> result = carJoinMapper.selectJoinPage(page, Cars.class,queryWrapper); |
| | | if(result!=null && result.getRecords()!=null && result.getRecords().size()>0){ |
| | | List<String> codes = new ArrayList<>(); |
| | | for(Cars cars :result.getRecords()){ |
| | | codes.add(cars.getCode()); |
| | | } |
| | | List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() |
| | | .selectAll(ParkBook.class) |
| | | .selectAs(Parks::getName,ParkBook::getParksName) |
| | | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId) |
| | | .in(ParkBook::getCarCode,codes) |
| | | .eq(ParkBook::getIsdeleted,Constants.ZERO) ); |
| | | for(Cars cars :result.getRecords()){ |
| | | cars.setParkBookList(getParkbookListByCode(cars.getCode(),parkBooks)); |
| | | } |
| | | } |
| | | return PageData.from(result); |
| | | } |
| | | |
| | | private List<ParkBook> getParkbookListByCode(String code, List<ParkBook> parkBooks) { |
| | | List<ParkBook> list =null; |
| | | for(ParkBook p : parkBooks){ |
| | | if(StringUtils.equals(p.getCarCode(),code)){ |
| | | if(list == null){ |
| | | list = new ArrayList<>(); |
| | | } |
| | | list.add(p); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public long count(Cars cars) { |
| | | QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars); |
| | |
| | | insert.setCanVisit(Constants.ZERO);//é»è®¤ä¸å¯è®¿é® |
| | | insert.setAuthStatus(Constants.ZERO); |
| | | insert.setName(member.getName()); |
| | | insert.setHkId(UUID.randomUUID().toString().replace("-","")); |
| | | insert.setHkStatus(Constants.ONE); |
| | | insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//æ ¹æ®èº«ä»½è¯å·è·åæ§å« |
| | | insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo()))); |
| | |
| | | } |
| | | member.setHkId(model.getHkId()); |
| | | member.setFaceId(model.getFaceId());//人è¸ç¼ç |
| | | if(StringUtils.equals(model.getFaceImg(),member.getFaceImg())){ |
| | | //å¦æäººè¸æ²¡åå |
| | | member.setFaceImg(null); |
| | | } |
| | | return model; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | |
| | | public void deleteById(Integer id,LoginUserInfo loginUserInfo) { |
| | | Member member=new Member(); |
| | | member.setId(id); |
| | | member.setIsdeleted(Constants.ZERO); |
| | |
| | | //妿å工信æ¯ä¸åæ³ç´æ¥è·³è¿ |
| | | continue; |
| | | } |
| | | if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼ç¨æ·ã"+member.getName()+"ãç人è¸ä¿¡æ¯ä¸æ»¡è¶³æææ¡ä»¶ï¼è¯·è¿åå®åååè¿è¡è¯¥æä½ï¼"); |
| | | } |
| | | 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(),"对ä¸èµ·ï¼æªæ¥è¯¢å°ææé¨ç¦ç»æ°æ®"); |
| | | } |
| | |
| | | private void dealHkUserBizBatch(List<Member> newList) { |
| | | List<String> hkIds = new ArrayList<>(); |
| | | try { |
| | | memberMapper.insertBatchSomeColumn(newList); |
| | | List<SystemUser> userList = new ArrayList<>(); |
| | | for(Member insert: newList){ |
| | | if(dealHkUserBiz(insert)){ |
| | | //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ |
| | | if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){ |
| | | //妿æ¯å
é¨ç»ç»äººåï¼æ°å¢ç³»ç»ç»éè´¦å· |
| | | userList.add(createSystemUser(insert)); |
| | | } |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯ã"+insert.getName()+"ã忥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | } |
| | | memberMapper.insertBatchSomeColumn(newList); |
| | | List<SystemUser> userList = new ArrayList<>(); |
| | | for(Member insert: newList){ |
| | | //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ |
| | | if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){ |
| | | //妿æ¯å
é¨ç»ç»äººåï¼æ°å¢ç³»ç»ç»éè´¦å· |
| | | userList.add(createSystemUser(insert)); |
| | | } |
| | | } |
| | | if(userList.size()>0){ |
| | |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯å¯¼å
¥å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | } |
| | | |
| | | private Member checkModelParam(MemberImport model, List<Member> newList |
| | | ,int index |
| | | ,LoginUserInfo loginUserInfo |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.CarsMapper; |
| | | import com.doumee.dao.business.ParkBookMapper; |
| | | import com.doumee.dao.business.ParksMapper; |
| | | import com.doumee.dao.business.join.ParkBookJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.ParkBookService; |
| | |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 车è¾é¢çº¦è®°å½ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | @Autowired |
| | | private ParkBookMapper parkBookMapper; |
| | | @Autowired |
| | | private CarsMapper carsMapper; |
| | | @Autowired |
| | | private HkSyncParkServiceImpl hkSyncParkService; |
| | | @Autowired |
| | | private ParksMapper parksMapper; |
| | | |
| | | @Autowired |
| | | private ParkBookJoinMapper parkBookJoinMapper; |
| | |
| | | } |
| | | hkSyncParkService.syncParkBookBySingleModel(model); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public String batchAuth(Cars cars) { |
| | | if(cars.getIdList() == null || cars.getIdList() == null |
| | | ||cars.getAuthTimeType() == null |
| | | ||cars.getAuthTimeType()>2 |
| | | ||cars.getAuthTimeType()<0 ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Cars.class); |
| | | queryWrapper.selectAs(Member::getStartTime,Cars::getMemberStartTime); |
| | | queryWrapper.selectAs(Member::getEndTime,Cars::getMemberEndTime); |
| | | queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted); |
| | | queryWrapper.selectAs(Member::getAuthStatus,Cars::getMemberAuthStatus); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId); |
| | | queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO) |
| | | .in(Cars::getId,cars.getIdList()); |
| | | List<Cars> carsList = carsMapper.selectList( queryWrapper); |
| | | if(carsList== null || carsList.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"车è¾ä¿¡æ¯æè¯¯ï¼è¯·è¿åå·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | List<Parks> parksList = null; |
| | | if(cars.getParkIdList()!=null && cars.getParkIdList().size() > 0){ |
| | | MPJLambdaWrapper<Parks> queryWrapper1 = new MPJLambdaWrapper<>(); |
| | | queryWrapper1.selectAll(Parks.class); |
| | | queryWrapper1.eq(Parks::getIsdeleted,Constants.ZERO) |
| | | .in(Parks::getId,cars.getParkIdList()); |
| | | parksList = parksMapper.selectList( queryWrapper1); |
| | | if(parksList== null || parksList.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å车åºä¿¡æ¯æè¯¯ï¼è¯·è¿åå·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | } |
| | | |
| | | if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.ONE)){ |
| | | if( cars.getStartTime() ==null || cars.getEndTime() == null ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·å¡«åæ£ç¡®çæææèå´"); |
| | | } |
| | | if( cars.getEndTime().getTime() < System.currentTimeMillis()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå½åæ¶é´ï¼"); |
| | | } |
| | | if(cars.getEndTime().getTime() <= cars.getStartTime().getTime()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå¼å§æ¶é´ï¼"); |
| | | } |
| | | } |
| | | Date date = new Date(); |
| | | for(Cars model : carsList){ |
| | | Date startTime = cars.getStartTime(); |
| | | Date endTime = cars.getEndTime(); |
| | | if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.TWO)){ |
| | | if(!Constants.equalsInteger(model.getMemberAuthStatus(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦è¾ã"+model.getCode()+"ãè½¦ä¸»å°æªææé¨ç¦ä¿¡æ¯ï¼æææ æ³ãè·éè½¦ä¸»ãæææï¼"); |
| | | } |
| | | startTime = model.getMemberStartTime(); |
| | | endTime=model.getMemberEndTime(); |
| | | } |
| | | model.setAuthTimeType(cars.getAuthTimeType()); |
| | | model.setStartTime(startTime); |
| | | model.setEndTime(endTime); |
| | | dealCarAuthByModel(model,cars.getLoginUserInfo(),parksList,date); |
| | | model.setAuthStatus(Constants.ONE);//å·²ææ |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getEditDate,date) |
| | | .set(Cars::getEdirot,cars.getLoginUserInfo().getId()) |
| | | .set(Cars::getAuthStatus,Constants.ONE) |
| | | .set(Cars::getStartTime,startTime) |
| | | .set(Cars::getEndTime,endTime) |
| | | ); |
| | | } |
| | | return "æææå"; |
| | | |
| | | } |
| | | |
| | | private int dealCarAuthByModel(Cars model, LoginUserInfo loginUserInfo, List<Parks> parksList,Date date) { |
| | | //å é¤è½¦éåºè®°å½æ°æ® |
| | | parkBookMapper.update(null,new UpdateWrapper<ParkBook>().lambda() |
| | | .eq(ParkBook::getCarCode,model.getCode()) |
| | | .set(ParkBook::getIsdeleted,Constants.ONE) |
| | | .set(ParkBook::getHkStatus,Constants.ZERO) |
| | | ); |
| | | if(org.apache.commons.collections.CollectionUtils.isNotEmpty(parksList)){ |
| | | List<ParkBook> parkBookList = new ArrayList<>(); |
| | | for (Parks parks:parksList) { |
| | | ParkBook parkBook = new ParkBook(); |
| | | parkBook.setIsdeleted(Constants.ZERO); |
| | | parkBook.setCreateDate(date); |
| | | parkBook.setCreator(loginUserInfo.getId()); |
| | | parkBook.setEditor(loginUserInfo.getId()); |
| | | parkBook.setEditDate(date); |
| | | parkBook.setCarCode(model.getCode()); |
| | | parkBook.setParkId(parks.getId()); |
| | | parkBook.setOrigin(Constants.ZERO); |
| | | parkBook.setStartTime(model.getStartTime()); |
| | | parkBook.setEndTime(model.getEndTime()); |
| | | parkBook.setTimeType(model.getAuthTimeType()); |
| | | parkBook.setMemberId(model.getMemberId()); |
| | | parkBook.setHkStatus(Constants.ZERO); |
| | | parkBook.setRemark("å¾
忥å®é²å¹³å°"); |
| | | parkBookList.add(parkBook); |
| | | } |
| | | parkBookMapper.insertBatchSomeColumn(parkBookList); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public ParkBook findOne(ParkBook parkBook) { |
| | |
| | | model.setOrgIndexCode(c.getHkOrgId()); |
| | | model.setJobNo(c.getCode()); |
| | | model.setPhoneNo(c.getPhone()); |
| | | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | | if(StringUtils.isNotBlank(c.getIdcardNo())){ |
| | | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | | } |
| | | model.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); |
| | | model.setPersonId(type == 0 ?UUID.randomUUID().toString().replace("-", ""):c.getHkId()); |
| | | model.setGender(Constants.formatIntegerNum(c.getSex())+""); |
| | | model.setPersonName(c.getName()); |
| | | if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){ |
| | | if(StringUtils.isNotBlank(c.getFaceImg())){ |
| | | model.setFaces(new ArrayList<>()); |
| | | UserAddFaceRequest face = new UserAddFaceRequest(); |
| | | String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg()); |