日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目管理平台(总结篇二)

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目管理平台(总结篇二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

前言:

controller層:

service層:

mapper層:

總結:


前言:

經過上個沖刺的沉淀,這個項目的業務我已將基本了解,當然期間還是會遇到很多問題,不過有問題提出來團隊都會一起去商量解決,這種氛圍還是不錯的。在本個沖刺中,我主要完成的任務是統計任務,各種各樣的統計。寫這個沖刺感覺沒遇到什么比較困難的點,可能是我的任務并不難。老規矩直接上代碼:

controller層:

/*** //查看用戶故事,任務數量* @param projectId* @param spurtId* @return*/@RequestMapping(value = "/userStoryAndTask")@ResponseBodypublic ResultInfo userStoryAndTask(@RequestParam(value = "projectId") int projectId,@RequestParam(value = "spurtId")int spurtId){ResultInfo info = projectService.userStoryAndTask(projectId,spurtId);return info;}

service層:

/*** //查看用戶故事,任務數量* @return*/@Overridepublic ResultInfo userStoryAndTask(int projectId,int spurtId){ResultInfo info = new ResultInfo();try {/* 根據項目ID,沖刺ID統計所有用戶故事數量(區分已完成,未完成,進行中,已關閉)* 根據項目ID,沖刺ID統計所有工作項數量(區分已完成,未完成,進行中,已關閉)* */// Project project = projectMapper.selectProjectById(projectId);//1.======================================================================/* 查找所有已完成和已關閉的用戶故事總數(用戶故事完成和關閉就是工作項已完成的和已關閉的,但是這里工作項數量還沒有統計完如果用戶故事正在進行中,也有可能還有 已完成和已關閉的工作項)*///根據沖刺ID,項目ID,查找已完成和已關閉的用戶故事和工作項UserStory userStory = new UserStory();userStory.setProjectId(projectId);userStory.setSpurtId(spurtId);List<UserStory> userStoryList = userStoryMapper.selectUerStoryPro(userStory);//已完成和已關閉的用戶故事總數int userStoryComAndClo = userStoryList.size();//用于存放已完成和已關閉的工作項數量(未統計完)int taskComAndClo = 0;for (int i = 0; i < userStoryList.size(); i++) {//用戶故事IDint id = userStoryList.get(i).getId();//根據用戶故事ID,查詢工作項個數(已完成的和已關閉的工作項)List<Task> taskList = taskMapper.selectTaskListByUserStoryId(id);taskComAndClo += taskList.size();}//======================================================================//找進行中的用戶故事和工作項UserStory userStoryGoing = new UserStory();userStoryGoing.setSpurtId(spurtId);userStoryGoing.setProjectId(projectId);//進行中的用戶故事List<UserStory> userStoryListGoing = userStoryMapper.selectUerStoryGoing(userStoryGoing);//進行中的用戶故事的個數int userStoryGoingSize = userStoryListGoing.size();//用于存放進行中工作項個數int taskComAndCloGoing = 0;//進行中的工作項個數//如果用戶故事沒有進行,工作項也沒有進行//未開始的工作項數量int TaskNoStart = 0;if (userStoryListGoing.size() != 0) {for (int i = 0; i < userStoryListGoing.size(); i++) {//用戶故事IDint id = userStoryListGoing.get(i).getId();//查詢正在進行中的工作項taskComAndCloGoing += taskMapper.selectCountByUserStoryIdAndGoing(id);//有可能還有已關閉或者已完成的工作項taskComAndClo += taskMapper.selectCountByUserStoryIdComAndClo(id);//用戶故事進行中,工作項可能有未開始TaskNoStart += taskMapper.selectCountByUserStoryIdNoStart(id);}} else {//沒有正在進行中的工作項taskComAndCloGoing = 0;}//==================================================================================//未開始的用戶故事以及未開始的工作項//未開始的用戶故事UserStory userStoryNoStart = new UserStory();userStoryNoStart.setSpurtId(spurtId);userStoryNoStart.setProjectId(projectId);List<UserStory> userStoryListNoStart = userStoryMapper.selectUerStoryNoStart(userStoryNoStart);//未開始的用戶故事數量int userStoryNoStartNumber = userStoryListNoStart.size();if (userStoryListNoStart.size() != 0) {for (int i = 0; i < userStoryListNoStart.size(); i++) {int id = userStoryListNoStart.get(i).getId();//查詢未開始的工作項數量TaskNoStart += taskMapper.selectCountByUserStoryIdNoStart(id);}} else {TaskNoStart = 0;}HashMap<String, Integer> map = new LinkedHashMap<>();map.put("已完成的用戶故事數量", userStoryComAndClo);map.put("進行中的用戶故事數量", userStoryGoingSize);map.put("未開始的用戶故事數量", userStoryNoStartNumber);map.put("已完成的工作項數量", taskComAndClo);map.put("進行中的工作項數量", taskComAndCloGoing);map.put("未開始的工作項數量", TaskNoStart);info.setData(map);info.setFlag(true);} catch (Exception e) {e.printStackTrace();info.setFlag(false);}return info;}

mapper層:

/*** 查詢正在進行的工作項**/@Select("select * from task where userStoryId=#{userStoryId} and `status` in(3,4)")List<Task> selectCountByUserStoryIdAndGoingPro(Task task);

總結:

業務代碼難度并不是很大,但是最重要的不是代碼怎么寫。經歷兩個沖刺,提升的不僅僅是編碼的能力,感覺對敏捷開發流程更加的熟悉,確實對項目開發有著很大的幫助。當然對git的使用也更加的熟悉。

總結

以上是生活随笔為你收集整理的项目管理平台(总结篇二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费一级特黄毛大片 | 中国精品毛片 | 日本精品一区二区 | 日日夜夜操av | 日韩夜夜操 | 亚洲五月婷 | 国产综合免费视频 | 四虎影视av| 狠狠干夜夜操 | 日本aa大片| 久久久久国产一区 | 成人黄色三级视频 | 亚洲成人7777| 草逼导航| 青青伊人av | 亚洲一区在线不卡 | 人妻无码一区二区三区 | 麻豆影视av | 红桃视频在线播放 | 91美女啪啪 | 国产国语性生话播放 | av最新天堂 | 精品少妇av| av高清在线| 久久久久久69 | 免费看女生裸体视频 | 国产91丝袜在线播放 | 污片视频在线观看 | 波多野结衣潜藏淫欲 | 清冷男神被c的合不拢腿男男 | 封神榜二在线高清免费观看 | 五月色婷婷综合 | 美女被草 | 黄瓜视频在线播放 | 国产视频一区二区三区四区 | 色网站免费看 | 成人免费无遮挡无码黄漫视频 | 美女被男人插 | 91高清在线视频 | 野花社区视频在线观看 | 丝袜综合网 | 六月天综合网 | 免费观看黄一级视频 | 暖暖免费观看日本版 | 久久久18禁一区二区三区精品 | 日日夜夜操视频 | 亚洲自拍偷拍网 | 久久这里只有精品99 | 天天干夜夜做 | 天堂无乱码 | 97国产精东麻豆人妻电影 | 一区二区三区小说 | 国产精品99久久久久久一二区 | 精品少妇一区二区三区 | 黄色精品视频 | 精品人妻一区二区三区换脸明星 | 久久性生活视频 | 美国一区二区三区 | 欧美人体视频一区二区三区 | 天堂在线视频免费 | 男女搞鸡网站 | 亚洲性生活大片 | 久操精品 | 精品中文一区二区三区 | 欧美91成人网 | 97精品人妻一区二区三区在线 | 少妇诱惑av | 黄瓜视频91 | 在线免费观看污视频 | 国内自拍视频网站 | 91九色国产ts另类人妖 | 一道本av | 日p免费视频 | 日韩a级片在线观看 | 午夜精品久久久久久久爽 | 欧美一级大黄 | 亚洲涩涩网站 | jul023被夫上司连续侵犯 | 色视频在线免费观看 | 91av欧美| 韩国av免费在线 | 伊人一区二区三区 | 97人人超 | 国产在线精品一区二区 | 手机在线一区二区三区 | 亚洲爽爆 | 熟女人妻一区二区三区免费看 | 亚洲欧美日韩国产 | 日韩在线视频免费 | 日本精品国产 | 神马午夜影院 | 国产超碰97| 成人一区二区电影 | 久久久久久a | 日韩在线视频免费观看 | 一级作爱片 | 亚洲欧美一区二区三区四区五区 | 国产爆乳无码一区二区麻豆 | 日本精品一区二区三区在线观看 |