目錄
1.按發車時間排序。
2.排班日期默認當天時間。
3.編輯不可修改線路和排班日期。
4.線路、車號、司機是否匹配,不匹配不可入庫(和其他表比),線路、發車時間、司機、車號、日期、上下行相同不可入庫(和自己表比),只要數據入庫就需驗證,無論增加修改
1.按發車時間排序。
default PageResult<HandSchedDO> selectPage(HandSchedPageReqVO reqVO) {return selectPage(reqVO, new LambdaQueryWrapperX<HandSchedDO>().eqIfPresent(HandSchedDO::getBanCi, reqVO.getBanCi()).eqIfPresent(HandSchedDO::getBanXing, reqVO.getBanXing()).eqIfPresent(HandSchedDO::getLineId, reqVO.getLineId()).likeIfPresent(HandSchedDO::getLineName, reqVO.getLineName()).eqIfPresent(HandSchedDO::getFixedType, reqVO.getFixedType()).eqIfPresent(HandSchedDO::getUpDown, reqVO.getUpDown()).eqIfPresent(HandSchedDO::getPlanMouth, reqVO.getPlanMouth()).betweenIfPresent(HandSchedDO::getStartTime, reqVO.getStartTime()).eqIfPresent(HandSchedDO::getDriverNum, reqVO.getDriverNum()).likeIfPresent(HandSchedDO::getDriverName, reqVO.getDriverName()).eqIfPresent(HandSchedDO::getBusId, reqVO.getBusId()).eqIfPresent(HandSchedDO::getOnePoint, reqVO.getOnePoint()).betweenIfPresent(HandSchedDO::getCreateTime, reqVO.getCreateTime()).orderByAsc(HandSchedDO::getStartTime)); //按發車時間排序}
HandSchedMapper中.orderByAsc(HandSchedDO::getStartTime));將結果根據StartTime升序排序?
2.排班日期默認當天時間。
default PageResult<HandSchedDO> selectPage(HandSchedPageReqVO reqVO) {return selectPage(reqVO, new LambdaQueryWrapperX<HandSchedDO>().eqIfPresent(HandSchedDO::getBanCi, reqVO.getBanCi()).eqIfPresent(HandSchedDO::getBanXing, reqVO.getBanXing()).eqIfPresent(HandSchedDO::getLineId, reqVO.getLineId()).likeIfPresent(HandSchedDO::getLineName, reqVO.getLineName()).eqIfPresent(HandSchedDO::getFixedType, reqVO.getFixedType()).eqIfPresent(HandSchedDO::getUpDown, reqVO.getUpDown()).eqIfPresent(HandSchedDO::getPlanMouth, DateUtil.format(new Date(), "yyyy-MM-dd")) //排班日期默認當天時間.betweenIfPresent(HandSchedDO::getStartTime, reqVO.getStartTime()).eqIfPresent(HandSchedDO::getDriverNum, reqVO.getDriverNum()).likeIfPresent(HandSchedDO::getDriverName, reqVO.getDriverName()).eqIfPresent(HandSchedDO::getBusId, reqVO.getBusId()).eqIfPresent(HandSchedDO::getOnePoint, reqVO.getOnePoint()).betweenIfPresent(HandSchedDO::getCreateTime, reqVO.getCreateTime()).orderByAsc(HandSchedDO::getStartTime)); //按發車時間排序}
?DateUtil.format(new Date(), "yyyy-MM-dd")將展示的排版日期設置為當天日期
3.編輯不可修改線路和排班日期。
HandSchedMapper.xml
<!-- 編輯不可修改線路和排班日期 --><select id="updateList" resultType="com.sunwiseinfo.bus.module.manage.dal.dataobject.handsched.HandSchedDO" parameterType="com.sunwiseinfo.bus.module.manage.controller.admin.handsched.vo.HandSchedBaseVO">SELECT * FROM manage_hand_sched sWHERE line_id=#{lineId} and plan_mouth=#{planMouth} and id=#{id}</select>
HandSchedMapper.java?
List<HandSchedDO> updateList(HandSchedUpdateReqVO updateReqVO);
?HandSchedService.java
List<HandSchedDO> updateList(HandSchedUpdateReqVO updateReqVO);
HandSchedServiceImpl.java?
@Overridepublic List<HandSchedDO> updateList(HandSchedUpdateReqVO updateReqVO) {return handSchedMapper.updateList(updateReqVO);}
?HandSchedController.java
//編輯不可修改線路和排班日期LambdaQueryWrapper<HandSchedDO> updateQueryWrapper = new LambdaQueryWrapper();updateQueryWrapper.eq(HandSchedDO::getLineId,updateReqVO.getLineId());updateQueryWrapper.eq(HandSchedDO::getPlanMouth,updateReqVO.getPlanMouth());List<HandSchedDO> handSchedDOS = handSchedService.updateList(updateReqVO);if(handSchedDOS != null && handSchedDOS.size() > 0){...當LineId線路id、PlanMouth計劃日期不變時,進入判斷中}return success("不可修改");
4.線路、車號、司機是否匹配,不匹配不可入庫(和其他表比),線路、發車時間、司機、車號、日期、上下行相同不可入庫(和自己表比),只要數據入庫就需驗證,無論增加修改
<!-- 查詢線路、車號、司機是否匹配 --><select id="handSchedList" resultType="com.sunwiseinfo.bus.module.manage.dal.dataobject.handsched.HandSchedDO" parameterType="com.sunwiseinfo.bus.module.manage.controller.admin.handsched.vo.HandSchedBaseVO">SELECTml.*FROMmanage_line mlLEFT JOIN manage_bus mb ON mb.line_id = ml.idLEFT JOIN manage_passenger mp ON mp.line_id = ml.idWHEREml.id = #{lineId}AND mb.id=#{busId}AND mp.job_num=#{driverNum}</select>
List<HandSchedDO> handSchedList(HandSchedCreateReqVO createReqVO);List<HandSchedDO> handSchedList(HandSchedUpdateReqVO updateReqVO);
List<HandSchedDO> getManageHandSched(HandSchedCreateReqVO createReqVO);List<HandSchedDO> getManageHandSched(HandSchedUpdateReqVO updateReqVO);
@Overridepublic List<HandSchedDO> getManageHandSched(HandSchedCreateReqVO createReqVO) {return handSchedMapper.handSchedList(createReqVO);}@Overridepublic List<HandSchedDO> getManageHandSched(HandSchedUpdateReqVO updateReqVO) {return handSchedMapper.handSchedList(updateReqVO);}
//線路、發車時間、司機、車號、日期、上下行相同不可入庫LambdaQueryWrapper<HandSchedDO> queryWrapper = new LambdaQueryWrapper();queryWrapper.eq(HandSchedDO::getLineId,createReqVO.getLineId());queryWrapper.eq(HandSchedDO::getStartTime,createReqVO.getStartTime());queryWrapper.eq(HandSchedDO::getDriverNum,createReqVO.getDriverNum());queryWrapper.eq(HandSchedDO::getBusId,createReqVO.getBusId());queryWrapper.eq(HandSchedDO::getPlanMouth,createReqVO.getPlanMouth());queryWrapper.eq(HandSchedDO::getUpDown,createReqVO.getUpDown());List<HandSchedDO> handSchedDOList = handSchedService.getSelectList(queryWrapper);if (handSchedDOList != null && handSchedDOList.size() > 0){return success("表中已存在此數據!");}//線路、車號、司機是否匹配,不匹配不可入庫List<HandSchedDO> List=handSchedService.getManageHandSched(createReqVO);if (List != null && List.size() > 0){createReqVO.setFixedId(IdWorker.getIdStr());handSchedService.createHandSched(createReqVO);return success("true");}return success("數據不匹配,不能入庫");
//線路、發車時間、司機、車號、日期、上下行相同不可入庫LambdaQueryWrapper<HandSchedDO> queryWrapper = new LambdaQueryWrapper();queryWrapper.eq(HandSchedDO::getLineId,updateReqVO.getLineId());queryWrapper.eq(HandSchedDO::getStartTime,updateReqVO.getStartTime());queryWrapper.eq(HandSchedDO::getDriverNum,updateReqVO.getDriverNum());queryWrapper.eq(HandSchedDO::getBusId,updateReqVO.getBusId());queryWrapper.eq(HandSchedDO::getPlanMouth,updateReqVO.getPlanMouth());queryWrapper.eq(HandSchedDO::getUpDown,updateReqVO.getUpDown());List<HandSchedDO> handSchedDOList = handSchedService.getSelectList(queryWrapper);if (handSchedDOList != null && handSchedDOList.size() > 0) {return success("表中已存在此數據!");}//線路、車號、司機是否匹配,不匹配不可入庫List<HandSchedDO> List=handSchedService.getManageHandSched(updateReqVO);if (List != null && List.size() > 0){updateReqVO.setFixedId(IdWorker.getIdStr());handSchedService.updateHandSched(updateReqVO);return success("true");}return success("數據不匹配,不能入庫");