Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
| | |
| | | <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" /> |
| | | <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="item.status == 4 || item.status == 3" /> |
| | | <img src="@/assets/icons/ic_grey.png" class="iconnew" v-if="item.status == null || item.status == 0" /> |
| | | <div style="display: inline" v-if="item.approveType != 1"> |
| | | <img v-if="item.faceImg != null && item.faceImg != ''" :src="item.faceImg" class="avatar" alt="" /> |
| | |
| | | agreeOpen() { |
| | | this.isShowProblem = true |
| | | this.$set(this.dealForm, 'driverId', this.model.driverId) |
| | | |
| | | |
| | | this.$set(this.dealForm, 'checkInfo', '') |
| | | this.loadMemberList() |
| | | }, |
| | |
| | | <span v-if="row.status === 4">取消</span> |
| | | <span v-if="row.status === 5">预约成功</span> |
| | | <span v-if="row.status === 6">预约失败</span> |
| | | <span v-if="row.status === 7">拜访中</span> |
| | | <span v-if="row.status === 7">已登记</span> |
| | | <span v-if="row.status === 8">已签离</span> |
| | | <span v-if="row.status === 9">已失效</span> |
| | | </template> |
| | |
| | | <el-option label="同步失败" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="身份证号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">搜索</el-button> |
| | | <el-button @click="reset">重置</el-button> |
| | |
| | | positionId: '', |
| | | companyId: '', |
| | | hasFace: '', |
| | | authStatus: '' |
| | | authStatus: '', |
| | | idcardNo: '' |
| | | }, |
| | | loading: false, |
| | | heading: false, |
| | |
| | | <el-option label="同步成功" value="1"></el-option> |
| | | <el-option label="同步失败" value="2"></el-option> |
| | | </el-select> |
| | | <el-form-item label="" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="身份证号" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | <!-- <el-form-item label=""> |
| | | <el-checkbox style="font-size: 12px" label="1" v-model="searchForm.includeChild" key="1">是否包含下级组织</el-checkbox> |
| | |
| | | workStatus: '', |
| | | positionId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | | hasFace: '', |
| | | idcardNo:'' |
| | | }, |
| | | loading: false, |
| | | heading: false, |
| | |
| | | <span v-if="row.status === 4" style="color: gray">取消</span> |
| | | <span v-if="row.status === 5" style="color: green">下发成功</span> |
| | | <span v-if="row.status === 6" style="color: gray">下发失败</span> |
| | | <span v-if="row.status === 7" style="color: green">拜访中</span> |
| | | <span v-if="row.status === 7" style="color: green">已登记</span> |
| | | <span v-if="row.status === 8" style="color: red">已签离</span> |
| | | <span v-if="row.status === 9" style="color: gray">已失效</span> |
| | | </template> |
| | |
| | | <el-table-column prop="idcardDecode" label="身份证号" min-width="130px"></el-table-column> |
| | | <el-table-column prop="companyName" label="组织" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.type === 2 || row.type === 0">{{ |
| | | <span v-if="row.type === 2 || row.type === 4 || row.type === 0">{{ |
| | | row.companyName |
| | | }}</span> |
| | | <span v-else>{{ row.visitCompanyName }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="type" label="人员类型" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type ==1">访客</span> |
| | | <span v-else-if="row.type ==2">内部人员</span> |
| | | <span v-else-if="row.type ==4">相关方人员</span> |
| | | <span v-else-if="row.type ==5">货运司机</span> |
| | | <span v-else ></span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="type" label="人员类型" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.companyType == 0">相关方组织</span> |
| | | <span v-else-if="row.companyType == 1">内部员工</span> |
| | | <span v-else>访客</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="进场门禁" min-width="100px"> |
| | | </el-table-column>--> |
| | | <el-table-column label="进场门禁" min-width="150px"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- <span v-if="row.type === 1">-</span> --> |
| | | <span>{{ row.deviceName || '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="eventDate" label="最后进场时间" min-width="140px"></el-table-column> |
| | | <el-table-column label="备注" prop="remark" min-width="100px"></el-table-column> |
| | | <el-table-column label="人脸照片" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <el-image v-if="row.faceImgFull != null" style="width: 80px; height: 80px" :src="row.faceImgFull" |
| | |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" min-width="120" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" |
| | | v-permissions="['business:retention:delete']">标记离场</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | |
| | | <el-option label="取消" value="4"></el-option> |
| | | <el-option label="下发成功" value="5"></el-option> |
| | | <el-option label="下发失败" value="6"></el-option> |
| | | <el-option label="拜访中" value="7"></el-option> |
| | | <el-option label="已登记" value="7"></el-option> |
| | | <el-option label="已签离" value="8"></el-option> |
| | | <el-option label="已失效" value="9"></el-option> |
| | | </el-select> |
| | |
| | | <span v-if="row.status === 4" style="color: gray">取消</span> |
| | | <span v-if="row.status === 5" style="color: green">下发成功</span> |
| | | <span v-if="row.status === 6" style="color: gray">下发失败</span> |
| | | <span v-if="row.status === 7" style="color: green">拜访中</span> |
| | | <span v-if="row.status === 7" style="color: green">已登记</span> |
| | | <span v-if="row.status === 8" style="color: red">已签离</span> |
| | | <span v-if="row.status === 9" style="color: gray">已失效</span> |
| | | </template> |
| | |
| | | |
| | | <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="180" align="center" fixed="right"> |
| | | <el-table-column label="操作" min-width="240" align="center" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.OperaDetailsWindow.open('公务车申请详情', row)">查看详情</el-button> |
| | |
| | | public ApiResponse reservationCancel(@RequestBody BusinessOverDTO businessOverDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | LoginUserInfo user = getLoginUser(token); |
| | | businessOverDTO.setUserId(user.getId()); |
| | | businessOverDTO.setLoginUser(user); |
| | | bookingsService.reservationCancel(businessOverDTO); |
| | | return ApiResponse.success("操作成功"); |
| | | } |
| | |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.utils.DESUtil; |
| | | import com.doumee.dao.admin.response.DevWgResponseParam; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "开始类型 0 提前开始 1 正常开始",required = true) |
| | | private Integer startType ; |
| | | |
| | | private LoginUserInfo loginUser ; |
| | | |
| | | } |
| | |
| | | s.setSysList(userrelList); |
| | | //会议室管理员 |
| | | MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>(); |
| | | urquery.selectAll(UserRel.class); |
| | | urquery.eq(UserRel::getObjType, MeetConstants.ZERO); |
| | | urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO); |
| | | urquery.eq(UserRel::getObjId, s.getRoomId()); |
| | | List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, urquery); |
| | | param.selectAll(UserRel.class); |
| | | param.eq(UserRel::getObjType, MeetConstants.ZERO); |
| | | param.eq(UserRel::getIsdeleted, MeetConstants.ZERO); |
| | | param.eq(UserRel::getObjId, s.getRoomId()); |
| | | List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param); |
| | | s.setAdminList(adminList); |
| | | |
| | | //查询是否有权限 |
| | |
| | | if(Constants.equalsInteger(userInfo.getId(),s.getCreator()) ){ |
| | | return 1; |
| | | } |
| | | if(adminList!=null){ |
| | | if(adminList!=null && userInfo!=null){ |
| | | for(UserRel u : adminList){ |
| | | if(Constants.equalsInteger(userInfo.getId(),u.getUserId()) ){ |
| | | return 1; |
| | |
| | | if (Objects.isNull(bookings)) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "未查询到预约记录"); |
| | | } |
| | | if (!bookings.getCreator().equals(businessOverDTO.getUserId())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "非你的预约记录,无法进行取消"); |
| | | |
| | | // LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | //会议室管理员 |
| | | MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>(); |
| | | param.selectAll(UserRel.class); |
| | | param.eq(UserRel::getObjType, MeetConstants.ZERO); |
| | | param.eq(UserRel::getIsdeleted, MeetConstants.ZERO); |
| | | param.eq(UserRel::getObjId, bookings.getRoomId()); |
| | | List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, param); |
| | | Integer hasRole =getHasRoleByParam(bookings,businessOverDTO.getLoginUser(),adminList); |
| | | |
| | | // if (!bookings.getCreator().equals(businessOverDTO.getUserId())) { |
| | | if (!Constants.equalsInteger(hasRole,Constants.ONE)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,只有会议室管理员和申请人才能进行该操作哦!"); |
| | | } |
| | | if (Objects.nonNull(bookings.getStartTimeReal()) && System.currentTimeMillis() > bookings.getStartTimeReal().getTime()) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "会议已开始,无法进行取消"); |
| | |
| | | List<String> rowList = dataList.get(i); |
| | | for (int j = 0; j < rowList.size(); j++) { |
| | | Cell cell = row.createCell(j); |
| | | if(i==0&&j==0){ |
| | | cell.setCellValue("数据日期"); |
| | | }else{ |
| | | cell.setCellValue(rowList.get(j)); |
| | | } |
| | | |
| | | cell.setCellValue(rowList.get(j)); |
| | | // if(i==0&&j==0){ |
| | | // cell.setCellValue("数据日期"); |
| | | // }else{ |
| | | // cell.setCellValue(rowList.get(j)); |
| | | // } |
| | | if(i==0){ |
| | | sheet.setColumnWidth(i, rowList.get(i).length() * 2 * 256); |
| | | sheet.setColumnWidth(i, (rowList.get(j).length() + 2 ) * 2 * 256); |
| | | // cell.setCellStyle(hstyle); |
| | | } |
| | | if(i==0 || j==0){ |
| | | cell.setCellStyle(hstyle); |
| | | }else if(j==0){ |
| | | }else{ |
| | | cell.setCellStyle(rowStyle); |
| | | } |
| | | } |
| | |
| | | configDataCellStyle.setAlignment(HorizontalAlignment.CENTER); |
| | | configDataCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // 设置背景 |
| | | configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | configDataCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // configDataCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); |
| | | // configDataCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); |
| | | // 字体 |
| | | Font font = workbook.createFont(); |
| | | font.setFontHeightInPoints((short) 10); |
| | |
| | | // 边框 |
| | | configCellBorder(configDataCellStyle); |
| | | configDataCellStyle.setWrapText(true); |
| | | |
| | | return configDataCellStyle; |
| | | } |
| | | |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date endDate; |
| | | |
| | | @TableField(exist = false) |
| | | private String createDateStr; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | || Objects.isNull(approveDTO.getLoginUserInfo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(approveDTO.getStatus().equals(Constants.THREE)&&StringUtils.isBlank(approveDTO.getCheckInfo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请输入拒绝说明"); |
| | | if(!(Constants.equalsInteger(approveDTO.getObjType(),Constants.THREE)||Constants.equalsInteger(approveDTO.getObjType(),Constants.FOUR))){ |
| | | if(approveDTO.getStatus().equals(Constants.THREE)&&StringUtils.isBlank(approveDTO.getCheckInfo())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请输入拒绝说明"); |
| | | } |
| | | } |
| | | Approve approve = approveMapper.selectOne(new QueryWrapper<Approve>() |
| | | .lambda() |
| | |
| | | .set(Approve::getStatus,Constants.FOUR) |
| | | .set(Approve::getCheckInfo,"用车申请取消") |
| | | .in(Approve::getStatus,Constants.ZERO,Constants.ONE) |
| | | .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar) |
| | | .in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar) |
| | | .eq(Approve::getObjId,id) |
| | | ); |
| | | |
| | |
| | | //申请人可以撤销自己申请中的申请记录 |
| | | return Constants.ONE; |
| | | } |
| | | if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO) && carUseBook.getStartTime()!=null |
| | | if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO) |
| | | && carUseBook.getStartTime()!=null |
| | | && System.currentTimeMillis() >= carUseBook.getStartTime().getTime()){ |
| | | //审批通过,但是 已到发车时间,不可以撤销 |
| | | return Constants.ZERO; |
| | | } |
| | | if(!(Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)) |
| | | if((Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)) |
| | | ||Constants.equalsInteger(carUseBook.getStatus(),Constants.ONE) |
| | | ||Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){ |
| | | //审批人可以撤销 自己审批的申请记录 |
| | | Approve approve = approveJoinMapper.selectOne(new QueryWrapper<Approve>().lambda() |
| | | .eq(Approve::getIsdeleted,Constants.ZERO) |
| | | .ge(Approve::getLevel,Constants.ZERO) |
| | | .eq(Approve::getChekorId,loginUserInfo.getId()) |
| | | .eq(Approve::getChekorId,loginUserInfo.getMemberId()) |
| | | .eq(Approve::getObjId,carUseBook.getId()) |
| | | .eq(Approve::getObjType,carUseBook.getType()==0?3:4) |
| | | .last("limit 1")); |
| | |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | List<InoutRecord> allList = inoutRecordMapper.selectJoinList(InoutRecord.class,new MPJLambdaWrapper<InoutRecord>() |
| | | .selectAll(InoutRecord.class) |
| | | .eq(InoutRecord::getIsdeleted,Constants.ZERO) |
| | | List<InoutRecord> allList = new ArrayList<>(); |
| | | MPJLambdaWrapper mpjLambdaWrapper = new MPJLambdaWrapper<InoutRecord>().eq(InoutRecord::getIsdeleted,Constants.ZERO) |
| | | .eq(InoutRecord::getInOrOut,Constants.ZERO) |
| | | .isNotNull(Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO),InoutRecord::getCarCode) |
| | | .isNotNull(Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE),InoutRecord::getMemberPhone) |
| | | .apply(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)," ( DATE_FORMAT(CREATE_DATE, '%Y') = '"+inParkDataDTO.getDateStr()+"' ) ") |
| | | .apply(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)," ( DATE_FORMAT(CREATE_DATE, '%Y-%m') = '"+inParkDataDTO.getDateStr()+"' ) ") |
| | | ); |
| | | .apply(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)," ( DATE_FORMAT(CREATE_DATE, '%Y-%m') = '"+inParkDataDTO.getDateStr()+"' ) "); |
| | | if(Constants.equalsInteger(inParkDataDTO.getIsGroupBy(),Constants.ONE)){ |
| | | mpjLambdaWrapper.groupBy(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO), |
| | | "car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m')") |
| | | .groupBy(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO), |
| | | "car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d')") |
| | | .groupBy(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE), |
| | | "member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m')") |
| | | .groupBy(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE), |
| | | "member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d')"); |
| | | if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){ |
| | | mpjLambdaWrapper.select("car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr "); |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){ |
| | | mpjLambdaWrapper.select("car_code,category_name,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE)){ |
| | | |
| | | mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr"); |
| | | }else{ |
| | | mpjLambdaWrapper.select("member_phone,MEMBER_TYPE,DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | | } |
| | | |
| | | }else{ |
| | | mpjLambdaWrapper.selectAll(InoutRecord.class); |
| | | if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){ |
| | | mpjLambdaWrapper.select("DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr "); |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO)){ |
| | | mpjLambdaWrapper.select("DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | | }else if(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)&&Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE)){ |
| | | |
| | | mpjLambdaWrapper.select("DATE_FORMAT(CREATE_DATE, '%Y-%m') as createDateStr"); |
| | | }else{ |
| | | mpjLambdaWrapper.select("DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') as createDateStr "); |
| | | } |
| | | // allList = inoutRecordMapper.selectJoinList(InoutRecord.class,new MPJLambdaWrapper<InoutRecord>() |
| | | // .selectAll(InoutRecord.class) |
| | | // .eq(InoutRecord::getIsdeleted,Constants.ZERO) |
| | | // .eq(InoutRecord::getInOrOut,Constants.ZERO) |
| | | // .isNotNull(Constants.equalsInteger(inParkDataDTO.getType(),Constants.ZERO),InoutRecord::getCarCode) |
| | | // .isNotNull(Constants.equalsInteger(inParkDataDTO.getType(),Constants.ONE),InoutRecord::getMemberPhone) |
| | | // .apply(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),4)," ( DATE_FORMAT(CREATE_DATE, '%Y') = '"+inParkDataDTO.getDateStr()+"' ) ") |
| | | // .apply(Constants.equalsInteger(inParkDataDTO.getDateStr().length(),7)," ( DATE_FORMAT(CREATE_DATE, '%Y-%m') = '"+inParkDataDTO.getDateStr()+"' ) ") |
| | | // ); |
| | | } |
| | | allList = inoutRecordMapper.selectJoinList(InoutRecord.class,mpjLambdaWrapper); |
| | | |
| | | List<List<String>> resultList = new ArrayList<>(); |
| | | if(CollectionUtils.isEmpty(allList)){ |
| | | return resultList; |
| | | } |
| | | if(Constants.equalsInteger(inParkDataDTO.getIsGroupBy(),Constants.ONE)){ |
| | | allList = this.getListByType(allList,inParkDataDTO.getType()); |
| | | } |
| | | |
| | | List<String> dateList = new ArrayList<>(); |
| | |
| | | public List<List<String>> dealResultData(List<InoutRecord> allList,List<String> dataList ,Integer type,String dateStr){ |
| | | List<List<String>> resultList = new ArrayList<>(); |
| | | List<String> totalString = new ArrayList<>(); |
| | | totalString.add("日期"); |
| | | totalString.add("数据日期"); |
| | | if(Constants.equalsInteger(type,Constants.ZERO)){ |
| | | List<String> categoryNameList = allList.stream().filter(j-> StringUtils.isNotBlank(j.getCategoryName())).map(j->j.getCategoryName()).collect(Collectors.toList()); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(categoryNameList)){ |
| | |
| | | for (String categoryName:setList) { |
| | | if(Constants.equalsInteger(dateStr.length(),4)){ |
| | | Integer childNum = allList.stream().filter(i->categoryName.equals(i.getCategoryName()) |
| | | && DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(str)).collect(Collectors.toList()).size(); |
| | | && i.getCreateDateStr().equals(str)).collect(Collectors.toList()).size(); |
| | | dataChildList.add( |
| | | Integer.toString(childNum) |
| | | ); |
| | | total = total + childNum; |
| | | }else if(Constants.equalsInteger(dateStr.length(),7)){ |
| | | Integer childNum = allList.stream().filter(i->categoryName.equals(i.getCategoryName()) |
| | | &&DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size(); |
| | | &&i.getCreateDateStr().equals(str)).collect(Collectors.toList()).size(); |
| | | dataChildList.add( |
| | | Integer.toString(childNum) |
| | | ); |
| | |
| | | int finalI = i; |
| | | if(Constants.equalsInteger(dateStr.length(),4)){ |
| | | Integer childNum = allList.stream().filter(j->Constants.equalsInteger(j.getMemberType(), finalI) |
| | | && DateUtil.formatDate(j.getCreateDate(),"yyyy-MM").equals(str)).collect(Collectors.toList()).size(); |
| | | && j.getCreateDateStr().equals(str)).collect(Collectors.toList()).size(); |
| | | dataChildList.add( |
| | | Integer.toString(childNum) |
| | | ); |
| | | total = total + childNum; |
| | | }else if(Constants.equalsInteger(dateStr.length(),7)){ |
| | | Integer childNum = allList.stream().filter(j->Constants.equalsInteger(j.getMemberType(), finalI) |
| | | &&DateUtil.formatDate(j.getCreateDate(),"yyyy-MM-dd").equals(str)).collect(Collectors.toList()).size(); |
| | | &&j.getCreateDateStr().equals(str)).collect(Collectors.toList()).size(); |
| | | dataChildList.add( |
| | | Integer.toString(childNum) |
| | | ); |
| | |
| | | } |
| | | return resultList; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public List<InoutRecord> getListByType(List<InoutRecord> list,Integer type){ |
| | |
| | | .like(Member::getPhone,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getName,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getCode,pageWrap.getModel().getKeyword())) |
| | | .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo, |
| | | DESUtil.encrypt(Constants.EDS_PWD, pageWrap.getModel().getIdcardNo()) |
| | | ) |
| | | .isNull(pageWrap.getModel().getHasFace()!=null&& Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId) |
| | | .isNotNull(pageWrap.getModel().getHasFace()!=null&& Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getCanVisit()),Member::getCanVisit,pageWrap.getModel().getCanVisit()) |
| | |
| | | String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo()); |
| | | if(StringUtils.isNotBlank(model.getIdcardNo())){ |
| | | if(findMemberFromListByIdcard(candNo,memberList ) !=null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】已存在,请检查表格内容!"); |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+(index+3)+"行身份证号【"+model.getIdcardNo()+"】已存在,请确认【访客管理】【内部人员】以及【相关方人员】中无该身份证存在,请检查表格内容!"); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void cancelInPark(PlatformJob platformJob){ |
| | | if(Constants.equalsInteger(platformJob.getType(),Constants.TWO) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.THREE) |
| | | || StringUtils.isBlank(platformJob.getCarCodeFront()) |
| | | || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ |
| | | |
| | | List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda() |
| | | .eq(VisitPark::getCarCode,platformJob.getCarCodeFront()) |
| | | .eq(VisitPark::getObjType,Constants.ONE) |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 月台叫号 |
| | | */ |
| | |
| | | platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() |
| | | .set(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()) |
| | | .set(PlatformJob::getDoneDate,new Date()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),Constants.PlatformJobStatus.WAIT_CALL.getKey()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getId,platformJobList.stream().map(i->i.getId()).collect(Collectors.toList()))); |
| | | } |
| | |
| | | */ |
| | | @Service |
| | | public class HkSyncDeviceServiceImpl extends HkSyncBaseServiceImpl { |
| | | |
| | | @Autowired |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | /** |
| | | * 同步海康门禁设备数据 |
| | | * @param param |
| | |
| | | if(delRetentionLis.size()>0){ |
| | | //先删除原有的在场人员(内部人员) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.memberType.internal) |
| | | // .eq(Retention::getType,Constants.memberType.internal) |
| | | .in(Retention::getMemberId,delRetentionLis)); |
| | | } |
| | | if(retentionList.size()>0){ |
| | |
| | | delRetentionLis.add(member.getId()); |
| | | if( Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){ |
| | | //如果是进门,录入人员的在场数据记录 |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | record.setMemberType(Constants.RetentionMemberType.internalMember); |
| | | inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//内部人员入场人次 |
| | |
| | | record.setMemberType(Constants.RetentionMemberType.relMember); |
| | | inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//相关方入场人次 |
| | | } |
| | | retentionList.add(getRetentionModelByRequest(member,request,record.getMemberType())); |
| | | }else{ |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | record.setMemberType(Constants.RetentionMemberType.internalMember); |
| | |
| | | * @param request |
| | | * @return |
| | | */ |
| | | private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request) { |
| | | private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request,int memberType) { |
| | | Retention retention = new Retention(); |
| | | retention.setIsdeleted(Constants.ZERO); |
| | | retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); |
| | |
| | | retention.setIdcardDecode(member.getIdcardDecode()); |
| | | retention.setName(member.getName()); |
| | | retention.setBirthday(member.getBirthday()); |
| | | retention.setType(member.getType()); |
| | | retention.setType(memberType); |
| | | retention.setCompanyId(member.getCompanyId()); |
| | | retention.setCompanyName(member.getCompanyName()); |
| | | retention.setEventCode(request.getData().getExtEventCode()+""); |
| | |
| | | List<CarEvent> list = new ArrayList<>(); |
| | | List<Retention> retentionList = new ArrayList<>(); |
| | | List<String> delRetentionList = new ArrayList<>(); |
| | | List<Integer> delMemberRetentionList = new ArrayList<>(); |
| | | List<Retention> delMemberRetentionList = new ArrayList<>(); |
| | | InoutDayCount inoutDayCount = new InoutDayCount(); |
| | | List<InoutRecord> inoutRecordList = new ArrayList<>(); |
| | | for(EventParkInfoRequest request : events){ |
| | |
| | | carEventMapper.insert(list); |
| | | } |
| | | if(delRetentionList.size()>0){ |
| | | //先删除原有的在场人员(内部人员) |
| | | //先删除原有的在场车辆人员(内部人员) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.THREE) |
| | | .in(Retention::getCarNo,delRetentionList)); |
| | | } |
| | | if(delMemberRetentionList.size()>0){ |
| | | //先删除原有的在场人员(内部人员、相关方和访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .in(Retention::getType,Constants.RetentionMemberType.internalMember |
| | | ,Constants.RetentionMemberType.relMember |
| | | ,Constants.RetentionMemberType.fk) |
| | | .in(Retention::getMemberId,delMemberRetentionList)); |
| | | List<Integer> memberList = new ArrayList<>(); |
| | | for(Retention m :delMemberRetentionList){ |
| | | if(m.getMemberId()!=null){ |
| | | //跟随车辆入场的member存在的数据立场 |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .in(Retention::getType,Constants.RetentionMemberType.internalMember |
| | | ,Constants.RetentionMemberType.relMember |
| | | ,Constants.RetentionMemberType.fk |
| | | ,Constants.RetentionMemberType.driver) |
| | | .eq(Retention::getMemberId,m.getMemberId())); |
| | | }else if(m.getCarNo()!=null){ |
| | | //跟随车辆入场的用户信息 |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .in(Retention::getType,Constants.RetentionMemberType.internalMember |
| | | ,Constants.RetentionMemberType.relMember |
| | | ,Constants.RetentionMemberType.fk |
| | | ,Constants.RetentionMemberType.driver) |
| | | .eq(Retention::getCarNo,m.getCarNo())); |
| | | } |
| | | } |
| | | |
| | | } |
| | | if(retentionList.size()>0){ |
| | | //再插入最新的在厂人员 |
| | |
| | | private CarEvent getParkEventModelByRequest(EventParkInfoRequest request |
| | | , List<String> delRetentionList |
| | | , List<Retention> retentionList |
| | | , List<Integer> delMemberRetentionList |
| | | , List<Retention> delMemberRetentionList |
| | | , InoutDayCount inoutDayCount |
| | | , List<InoutRecord> inoutRecordList) { |
| | | CarEvent event =initCarEventModelByRequest(request); |
| | |
| | | if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){ |
| | | //如果是入厂放行 |
| | | delRetentionList.add(event.getPlateNos()); |
| | | delMemberRetentionList.add(event.getMemberId()); |
| | | Retention dm = new Retention(); |
| | | dm.setMemberId(event.getMemberId()); |
| | | dm.setPhone(carrecord.getMemberPhone()); |
| | | dm.setCarNo(event.getPlateNos()); |
| | | delMemberRetentionList.add(dm); |
| | | retentionList.add(getRetentionModelByParkRequest(request,event,carrecord));//在厂车辆信息 |
| | | inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1); |
| | | carrecord.setInOrOut(Constants.ZERO); |
| | | }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){ |
| | | //如果是出场放行 |
| | | delRetentionList.add(event.getPlateNos()); |
| | | delMemberRetentionList.add(event.getMemberId()); |
| | | Retention dm = new Retention(); |
| | | dm.setMemberId(event.getMemberId()); |
| | | dm.setPhone(carrecord.getMemberPhone()); |
| | | dm.setCarNo(event.getPlateNos()); |
| | | delMemberRetentionList.add(dm); |
| | | inoutDayCount.setOutCarNum(Constants.formatIntegerNum(inoutDayCount.getOutCarNum())+1); |
| | | carrecord.setInOrOut(Constants.ONE); |
| | | } |
| | |
| | | event.setCarType(Constants.RetentionCarType.fkCar); |
| | | int index =0; |
| | | carrecord.setCarBizType(Constants.RetentionCarType.fkCar); |
| | | if(1==2){ |
| | | Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList); |
| | | carrecord.setCategoryId(category.getId()); |
| | | carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"访客车辆")); |
| | | carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"访客车辆")); |
| | | carrecord.setCategoryParentId(category.getParentId()); |
| | | for(Visits v :visitsList){ |
| | | delMemberRetentionList.add(event.getMemberId()); |
| | | Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList); |
| | | carrecord.setCategoryId(category.getId()); |
| | | carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"访客车辆")); |
| | | carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"访客车辆")); |
| | | carrecord.setCategoryParentId(category.getParentId()); |
| | | for(Visits v :visitsList){ |
| | | if(v.getEndtime()!=null && v.getEndtime().getTime() < System.currentTimeMillis()){ |
| | | Retention dm = new Retention(); |
| | | dm.setMemberId(event.getMemberId()); |
| | | dm.setPhone(carrecord.getMemberPhone()); |
| | | dm.setCarNo(event.getPlateNos()); |
| | | delMemberRetentionList.add(dm); |
| | | // delMemberRetentionList.add(event.getMemberId()); |
| | | InoutRecord copyObj = new InoutRecord(); |
| | | BeanUtils.copyProperties(carrecord,copyObj); |
| | | copyObj.setMemberId(v.getMemberId()); |
| | |
| | | retention.setMemberId(inoutRecord.getMemberId()); |
| | | retention.setDeviceName(request.getSrcName()); |
| | | retention.setDeviceIndex(request.getSrcIndex()); |
| | | retention.setRemark("跟随车辆入园区"); |
| | | retention.setCarNo(inoutRecord.getCarCode()); |
| | | retention.setDeviceName(request.getData().getGateName()+request.getData().getRoadwayName()); |
| | | retention.setRemark("跟随车辆【"+inoutRecord.getCarCode()+"】入园区"); |
| | | return retention; |
| | | } |
| | | private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event ,InoutRecord carrecord ) { |
| | |
| | | retention.setCategoryName(carrecord.getCategoryName()); |
| | | retention.setCategoryParentId(carrecord.getCategoryParentId()); |
| | | retention.setCategoryParentName(carrecord.getCategoryParentName()); |
| | | retention.setDeviceName(request.getData().getGateName()+request.getData().getRoadwayName()); |
| | | // retention.setDeviceName(request.getSrcName()); |
| | | // retention.setDeviceIndex(request.getSrcIndex()); |
| | | |
| | |
| | | |
| | | //先删除原有的在场人员(普通访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.memberType.visitor) |
| | | .eq(Retention::getType,Constants.RetentionMemberType.fk) |
| | | .eq(Retention::getMemberId,c.getMemberId())); |
| | | } |
| | | } |
| | |
| | | visitsMapper.updateById(update); |
| | | //先删除原有的在场人员(普通访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.memberType.visitor) |
| | | .eq(Retention::getType,Constants.RetentionMemberType.fk) |
| | | .eq(Retention::getMemberId,c.getMemberId())); |
| | | //再插入最新的在厂人员 |
| | | retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); |
| | |
| | | |
| | | //先删除原有的在场人员(普通访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.memberType.visitor) |
| | | .eq(Retention::getType,Constants.RetentionMemberType.fk) |
| | | .eq(Retention::getMemberId,c.getMemberId())); |
| | | } |
| | | } |
| | |
| | | visitsMapper.updateById(update); |
| | | //先删除原有的在场人员(普通访客) |
| | | retentionMapper.delete(new UpdateWrapper<Retention>().lambda() |
| | | .eq(Retention::getType,Constants.memberType.visitor) |
| | | .eq(Retention::getType,Constants.RetentionMemberType.fk) |
| | | .eq(Retention::getMemberId,c.getMemberId())); |
| | | //再插入最新的在厂人员 |
| | | retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate())); |
| | |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | // .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(), |
| | | Constants.PlatformJobStatus.LEAVED.getKey(), |
| | | Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | |
| | | data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上月出库量 |
| | | data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//本年出库量 |
| | | data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//去年出库量 |
| | | data.setMonthOutTimes(monthNum!=null?monthNum.size():0); |
| | | data.setMonthOutTimes(monthNum!=null?monthNum.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)||Constants.equalsInteger(i.getType(),Constants.THREE)).collect(Collectors.toList()).size():0); |
| | | data.setYearOutTimes(yearNum!=null?yearNum.size():0); |
| | | |
| | | //==========今天之前未完成出入库任务 |
| | |
| | | data.setTodayOutRate(getDayTotalRata(data.getCurrentOutDoneNum(),DateUtil.getToday()));//当日出库效率 |
| | | data.setTodayInRate(getDayTotalRata(data.getCurrentInDoneNum(),DateUtil.getToday()));//当日入库效率 |
| | | data.setMonthOutRate(getMonthRata(monthNum,Constants.ZERO));//本月出库效率 |
| | | data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//本月出库效率 |
| | | data.setMonthInRate(getMonthRata(monthNum,Constants.ONE));//本月入库效率 |
| | | //------------今日出入库效率---------------- |
| | | // BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);// |
| | | // BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);// |