固定排班計劃

目錄

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.pswp.cn/news/714161.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714161.shtml
英文地址,請注明出處:http://en.pswp.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;金融行業、醫療行業、交通領域、教育、制…