固定排班计划

目录

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("数据不匹配,不能入库");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/714161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO语言学习笔记(与Java的比较学习)(一)

GO的优缺点&#xff1a; 此处引用华为云开发者联盟的一篇文章&#xff1a; GO语言的亮点很明显&#xff1a; GoDoc。 GoDoc的静态语言分析能力很强大&#xff0c;可以直接从代码和注释生成漂亮的文档。这一点区别于其他的类似工具如JavaDoc, PHPDoc或者JSDoc。这些工具需要添加…

如何在群晖Docker运行本地聊天机器人并结合内网穿透发布到公网访问

文章目录 1. 拉取相关的Docker镜像2. 运行Ollama 镜像3. 运行Chatbot Ollama镜像4. 本地访问5. 群晖安装Cpolar6. 配置公网地址7. 公网访问8. 固定公网地址 随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛&#xff0c;包括聊天机…

C# Socket通信从入门到精通(21)——TCP发送文件与接收文件 C#代码实现

1、前言 我们在开发上位机软件的过程中经常需要发送文件,本文就是介绍如何利用tcp客户端发送文件、tcp服务器端接收文件,而且本文介绍的方法可以自动发送一个文件夹下的所有子目录以及所有文件,经验来自于实际项目,具备非常有价值的参考意义! 2、发送文件以及C#代码 被发…

LeetCode第48天 买卖股票的最佳时机 买卖股票的最佳时机II 动态规划

121. 买卖股票的最佳时机 class Solution { public:int maxProfit(vector<int>& prices) {// int res 0 ;// int low INT_MAX;// for (int i 0; i < prices.size(); i) {// low min(low, prices[i]);// res max(res, prices[i]-low);// }// return r…

低密度奇偶校验码LDPC(八)——QC-LDPC译码器FPGA设计概要

往期博文 低密度奇偶校验码LDPC&#xff08;一&#xff09;——概述_什么是gallager构造-CSDN博客 低密度奇偶校验码LDPC&#xff08;二&#xff09;——LDPC编码方法-CSDN博客 低密度奇偶校验码LDPC&#xff08;三&#xff09;——QC-LDPC码概述-CSDN博客 低密度奇偶校验码…

Linux系统--------内核参数调优、一键安装nginx、tomcat调优

一、内核参数调优 默认的Linux内核参数考虑的是最通用场景&#xff0c;不符合用于支持高并发访问的Web服务器的定义&#xff0c;根据业务特点来进行调整&#xff0c;当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时&#xff0c;内核参数的调整都是不同的…

Spring面试系列-02

1. Spring 中自动装配有那些局限性? 自动装配的局限性 重写:仍需用<constructor-arg>和<property>配置来定义依赖,意味着总要重写自动装配。 基本数据类型:不能自动装配简单的属性,例如基本数据类型、String字符串、和类。 模糊特性:自动装配不如显式装配…

Vue点击复制到剪切板

一、Vue2写法 安装 &#xff08;官网地址&#xff09; npm install --save vue-clipboard2 使用 //main.js import VueClipboard from vue-clipboard2 Vue.use(VueClipboard)//页面使用 <button type"button"v-clipboard:copy"message"v-clipboard:su…

Mac电脑软件开发的优缺点

Mac电脑软件开发的优缺点 在软件开发领域&#xff0c;Mac电脑一直以其独特的优势占有一席之地。然而&#xff0c;就像任何工具或平台一样&#xff0c;Mac电脑在软件开发方面也存在其优点和缺点。本文将探讨在Mac上进行软件开发的利弊&#xff0c;帮助您了解是否应将Mac作为您的…

node.js 用 xml2js.Parser 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能&#xff0c;在 Freemind 上增加了一些额外的功能&#xff0c;比如数学公式、节点属性面板等。 编写 mm_xml2js_csv.js 如下 // 用 xml2js.Parser 读 F…

Android 通过Intent打开第三方App

Android 使用 Intent 打开第三方应用或调用制定 Activity Intent intent new Intent(); intent.setClassName("package name", "activity name"); // 内部调用 intent.setComponent(new ComponentName("package name", "activity name&qu…

javaWebssh票据管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh票据管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

C++ 快速排序快速选择

目录 1、75. 颜色分类 2、912. 排序数组 3、 215. 数组中的第K个最大元素 4、LCR 159. 库存管理 III 1、75. 颜色分类 思路&#xff1a;利用快速排序思路&#xff0c;使用三指针分块进行优化。 [0,left]——小于key[left1,right-1]——等于key[right,nums.size()]——大于k…

博途PLC 面向对象系列之“输送带控制功能块“(SCL代码)

这篇是面向对象系列之"输送带功能块"的封装,面向对象是系列文章,相关链接如下: 1、面向对象系列之找"对象" https://rxxw-control.blog.csdn.net/article/details/136150027https://rxxw-control.blog.csdn.net/article/details/1361500272、面向对象…

LeetCode 刷题 [C++] 第215题.数组中的第K个最大元素

题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 题目分析 根据题意分析&…

MYSQL 删除命令 delete、truncate 、drop

目录 一、delete 二、truncate 三、drop 四、delete&#xff0c;drop&#xff0c;truncate的区别 一、delete 作用&#xff1a;仅仅删除表数据&#xff0c;表结构保留&#xff0c;数据能回滚 命令格式 #删除全部数据 delete from 表名;#删除表中id为1的数据&#xff0c;…

CleanMyMac X2024一款专为Mac用户设计的优化工具

亲爱的用户们&#xff0c;我们都知道电脑在长时间使用后会变得越来越慢&#xff0c;垃圾文件和无用的应用程序会占用我们的硬盘空间&#xff0c;让我们的电脑变得像蜗牛一样慢。但是&#xff0c;现在有一个解决方案可以让你的电脑重获新生&#xff0c;那就是CleanMyMac X&#…

oracle锁表

select alter system kill session ||sess.sid||,||sess.serial#||; bb,sess.sid,sess.serial#, lo.oracle_username,--登录账号lo.os_user_name,--登录电脑ao.object_name,--被锁表名lo.locked_mode --锁住级别from v$locked_object lo,dba_objects ao,v$session sess where a…

第七十一天 漏洞发现-Web框架中间件联动GobyAfrogXrayAwvsVulmap

第71天 漏洞发现-Web框架中间件&联动&Goby&Afrog&Xray&Awvs&Vulmap 知识点&#xff1a; 1、Bup简单介绍&使用说明 2、Xray简单介绍&使用说明 3、AWWS简单介绍&使用说明 4、Goby简单介绍&使用说明 5、Afrog简单介绍&使用说明 6、…

泰迪智能科技企业数据挖掘平台使用场景

企业数据挖掘平台助力企业数据挖掘&#xff0c;数据挖掘平台也在多个领域发挥着重要的作用。 企业数据挖掘平台具有数据抓取、数据清洗、数据分析、机器学习等多项功能&#xff0c;广泛应用于企业的各个领域&#xff0c;包括&#xff1a;金融行业、医疗行业、交通领域、教育、制…