Commit 03e5fac47db29129441e988118070a46a6b6d01f

Authored by guzijian
1 parent 2b433ba0

feat: 修复过滤为空集合时的bug

ruoyi-admin/src/main/java/com/ruoyi/scheduling/controller/RuleSchedulingController.java
... ... @@ -3,6 +3,7 @@ package com.ruoyi.scheduling.controller;
3 3 import java.util.List;
4 4 import javax.servlet.http.HttpServletResponse;
5 5  
  6 +import com.github.pagehelper.PageInfo;
6 7 import com.ruoyi.pojo.vo.RuleSchedulingResponseVo;
7 8 import org.springframework.security.access.prepost.PreAuthorize;
8 9 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -25,14 +26,13 @@ import com.ruoyi.common.core.page.TableDataInfo;
25 26  
26 27 /**
27 28 * 排版规则Controller
28   - *
  29 + *
29 30 * @author guzijian
30 31 * @date 2023-08-04
31 32 */
32 33 @RestController
33 34 @RequestMapping("/scheduling/scheduling")
34   -public class RuleSchedulingController extends BaseController
35   -{
  35 +public class RuleSchedulingController extends BaseController {
36 36 @Autowired
37 37 private IRuleSchedulingService ruleSchedulingService;
38 38  
... ... @@ -41,12 +41,11 @@ public class RuleSchedulingController extends BaseController
41 41 */
42 42 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:list')")
43 43 @GetMapping("/list")
44   - public TableDataInfo list(RuleScheduling ruleScheduling)
45   - {
  44 + public TableDataInfo list(RuleScheduling ruleScheduling) {
46 45 startPage();
47 46 List<RuleScheduling> list = ruleSchedulingService.selectRuleSchedulingList(ruleScheduling);
48 47 List<RuleSchedulingResponseVo> vos = ruleSchedulingService.handleResponseRuleSchedulingList(list);
49   - return getDataTable(vos);
  48 + return getDataTable(vos, new PageInfo(list).getTotal());
50 49 }
51 50  
52 51 /**
... ... @@ -54,8 +53,7 @@ public class RuleSchedulingController extends BaseController
54 53 */
55 54 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:list')")
56 55 @GetMapping("/list/all")
57   - public AjaxResult listAll(RuleScheduling ruleScheduling)
58   - {
  56 + public AjaxResult listAll(RuleScheduling ruleScheduling) {
59 57 return AjaxResult.success(ruleSchedulingService.selectRuleSchedulingListVo(ruleScheduling));
60 58 }
61 59  
... ... @@ -64,8 +62,7 @@ public class RuleSchedulingController extends BaseController
64 62 */
65 63 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:list')")
66 64 @GetMapping("/list/scheduling/{settingId}")
67   - public AjaxResult getRuleSchedulingListVoBySettingId(@PathVariable("settingId") Integer settingId)
68   - {
  65 + public AjaxResult getRuleSchedulingListVoBySettingId(@PathVariable("settingId") Integer settingId) {
69 66 return AjaxResult.success(ruleSchedulingService.selectRuleSchedulingListVoBySettingId(settingId));
70 67 }
71 68  
... ... @@ -76,8 +73,7 @@ public class RuleSchedulingController extends BaseController
76 73 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:export')")
77 74 @Log(title = "排版规则", businessType = BusinessType.EXPORT)
78 75 @PostMapping("/export")
79   - public void export(HttpServletResponse response, RuleScheduling ruleScheduling)
80   - {
  76 + public void export(HttpServletResponse response, RuleScheduling ruleScheduling) {
81 77 List<RuleScheduling> list = ruleSchedulingService.selectRuleSchedulingList(ruleScheduling);
82 78 ExcelUtil<RuleScheduling> util = new ExcelUtil<RuleScheduling>(RuleScheduling.class);
83 79 util.exportExcel(response, list, "排版规则数据");
... ... @@ -88,8 +84,7 @@ public class RuleSchedulingController extends BaseController
88 84 */
89 85 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:query')")
90 86 @GetMapping(value = "/{id}")
91   - public AjaxResult getInfo(@PathVariable("id") Long id)
92   - {
  87 + public AjaxResult getInfo(@PathVariable("id") Long id) {
93 88 return success(ruleSchedulingService.selectRuleSchedulingById(id));
94 89 }
95 90  
... ... @@ -99,8 +94,7 @@ public class RuleSchedulingController extends BaseController
99 94 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:add')")
100 95 @Log(title = "排版规则", businessType = BusinessType.INSERT)
101 96 @PostMapping
102   - public AjaxResult add(@RequestBody RuleScheduling ruleScheduling)
103   - {
  97 + public AjaxResult add(@RequestBody RuleScheduling ruleScheduling) {
104 98 return toAjax(ruleSchedulingService.insertRuleScheduling(ruleScheduling));
105 99 }
106 100  
... ... @@ -110,8 +104,7 @@ public class RuleSchedulingController extends BaseController
110 104 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:edit')")
111 105 @Log(title = "排版规则", businessType = BusinessType.UPDATE)
112 106 @PutMapping
113   - public AjaxResult edit(@RequestBody RuleScheduling ruleScheduling)
114   - {
  107 + public AjaxResult edit(@RequestBody RuleScheduling ruleScheduling) {
115 108 return toAjax(ruleSchedulingService.updateRuleScheduling(ruleScheduling));
116 109 }
117 110  
... ... @@ -120,9 +113,8 @@ public class RuleSchedulingController extends BaseController
120 113 */
121 114 @PreAuthorize("@ss.hasPermi('scheduling:scheduling:remove')")
122 115 @Log(title = "排版规则", businessType = BusinessType.DELETE)
123   - @DeleteMapping("/{ids}")
124   - public AjaxResult remove(@PathVariable Long[] ids)
125   - {
  116 + @DeleteMapping("/{ids}")
  117 + public AjaxResult remove(@PathVariable Long[] ids) {
126 118 return toAjax(ruleSchedulingService.deleteRuleSchedulingByIds(ids));
127 119 }
128 120 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/service/ThreadJobService.java
... ... @@ -474,6 +474,7 @@ public class ThreadJobService {
474 474 private List<DriverScheduling> getBcList(Map<String, List<ResponseSchedulingDto>> originSchedulingMap) {
475 475 List<DriverScheduling> bcList = new ArrayList<>(1000);
476 476 for (String key : originSchedulingMap.keySet()) {
  477 +
477 478 List<ResponseSchedulingDto> schedulingList = originSchedulingMap.get(key);
478 479 List<DriverScheduling> nowScheduling = schedulingList.stream()
479 480 .filter(item -> BC_TYPE_IN.equals(item.getBcType()) || BC_TYPE_OUT.equals(item.getBcType()))
... ... @@ -484,16 +485,22 @@ public class ThreadJobService {
484 485 })
485 486 .sorted(Comparator.comparing(DriverScheduling::getFcsjT))
486 487 .collect(Collectors.toList());
487   - if (nowScheduling.size() % 2 == 1 && nowScheduling.size() > 2) {
488   - // 处理错误班次
489   - nowScheduling = handleErrorBc(schedulingList);
490   - }
491   - // 处理松青线
492   - // 松1路牌 签到时间 07:20 |松2路牌 签到时间 07:40 |松3路牌 签到时间 08:35 |松4路牌 签到时间 10:30
493   - if (nowScheduling.get(0).getLineName().equals("松青线") && checkLpName(nowScheduling.get(0))) {
494   - updateScheduling(nowScheduling);
  488 +
  489 + if (CollectionUtil.isNotEmpty(nowScheduling)) {
  490 + if (nowScheduling.size() % 2 == 1 && nowScheduling.size() > 2) {
  491 + // 处理错误班次
  492 + nowScheduling = handleErrorBc(schedulingList);
  493 + }
  494 + // 处理松青线
  495 + // 松1路牌 签到时间 07:20 |松2路牌 签到时间 07:40 |松3路牌 签到时间 08:35 |松4路牌 签到时间 10:30
  496 + if (nowScheduling.get(0).getLineName().equals("松青线") && checkLpName(nowScheduling.get(0))) {
  497 + updateScheduling(nowScheduling);
  498 + }
  499 + bcList.addAll(nowScheduling);
  500 + } else {
  501 + // 处理无进出场
  502 + log.info("无进出场驾驶员工号:{}", schedulingList.get(0).getJobCode());
495 503 }
496   - bcList.addAll(nowScheduling);
497 504 }
498 505 return bcList;
499 506 }
... ...