Commit 38c1231ef7fb37805693c300d20db4ffc4ef7e4b

Authored by guzijian
1 parent 488d5554

fix: 更新排班数据

Bsth-admin/src/main/java/com/ruoyi/driver/service/impl/DriverServiceImpl.java
@@ -4,6 +4,7 @@ import java.io.File; @@ -4,6 +4,7 @@ import java.io.File;
4 import java.io.IOException; 4 import java.io.IOException;
5 import java.io.InputStream; 5 import java.io.InputStream;
6 import java.nio.file.Paths; 6 import java.nio.file.Paths;
  7 +import java.time.LocalDate;
7 import java.time.LocalDateTime; 8 import java.time.LocalDateTime;
8 import java.time.temporal.ChronoUnit; 9 import java.time.temporal.ChronoUnit;
9 import java.util.*; 10 import java.util.*;
@@ -11,6 +12,8 @@ import java.util.stream.Collectors; @@ -11,6 +12,8 @@ import java.util.stream.Collectors;
11 12
12 import cn.hutool.core.collection.CollectionUtil; 13 import cn.hutool.core.collection.CollectionUtil;
13 import cn.hutool.http.HttpUtil; 14 import cn.hutool.http.HttpUtil;
  15 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  16 +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
14 import com.github.pagehelper.util.StringUtil; 17 import com.github.pagehelper.util.StringUtil;
15 import com.ruoyi.common.cache.NowSchedulingCache; 18 import com.ruoyi.common.cache.NowSchedulingCache;
16 import com.ruoyi.common.cache.SchedulingCache; 19 import com.ruoyi.common.cache.SchedulingCache;
@@ -24,6 +27,7 @@ import com.ruoyi.common.utils.DateUtils; @@ -24,6 +27,7 @@ import com.ruoyi.common.utils.DateUtils;
24 import com.ruoyi.common.utils.file.FileUploadUtils; 27 import com.ruoyi.common.utils.file.FileUploadUtils;
25 import com.ruoyi.common.utils.file.FileUtils; 28 import com.ruoyi.common.utils.file.FileUtils;
26 import com.ruoyi.common.utils.file.MimeTypeUtils; 29 import com.ruoyi.common.utils.file.MimeTypeUtils;
  30 +import com.ruoyi.domain.RuleAttendanceMain;
27 import com.ruoyi.equipment.mapper.EquipmentMapper; 31 import com.ruoyi.equipment.mapper.EquipmentMapper;
28 import com.ruoyi.framework.config.ServerConfig; 32 import com.ruoyi.framework.config.ServerConfig;
29 import com.ruoyi.job.DriverJob; 33 import com.ruoyi.job.DriverJob;
@@ -37,6 +41,8 @@ import com.ruoyi.pojo.response.DriverResponseVo; @@ -37,6 +41,8 @@ import com.ruoyi.pojo.response.DriverResponseVo;
37 import com.ruoyi.pojo.response.ResponseSchedulingDto; 41 import com.ruoyi.pojo.response.ResponseSchedulingDto;
38 import com.ruoyi.pojo.response.personnel.PersonnelResultResponseVo; 42 import com.ruoyi.pojo.response.personnel.PersonnelResultResponseVo;
39 import com.ruoyi.pojo.response.personnel.TokenResponseVo; 43 import com.ruoyi.pojo.response.personnel.TokenResponseVo;
  44 +import com.ruoyi.service.AttendanceService;
  45 +import com.ruoyi.service.RuleAttendanceMainService;
40 import com.ruoyi.service.SchedulingService; 46 import com.ruoyi.service.SchedulingService;
41 import com.ruoyi.service.ThreadJobService; 47 import com.ruoyi.service.ThreadJobService;
42 import com.ruoyi.system.domain.SysNotice; 48 import com.ruoyi.system.domain.SysNotice;
@@ -63,6 +69,7 @@ import javax.servlet.http.HttpServletResponse; @@ -63,6 +69,7 @@ import javax.servlet.http.HttpServletResponse;
63 import static com.ruoyi.common.ApiProperties.PERSONNEL_API_KEY; 69 import static com.ruoyi.common.ApiProperties.PERSONNEL_API_KEY;
64 import static com.ruoyi.common.ConstDriverProperties.*; 70 import static com.ruoyi.common.ConstDriverProperties.*;
65 import static com.ruoyi.common.ConstSignInConstSignInProperties.*; 71 import static com.ruoyi.common.ConstSignInConstSignInProperties.*;
  72 +import static com.ruoyi.common.RuleSchedulingProperties.WORK_FLAG;
66 import static com.ruoyi.common.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE; 73 import static com.ruoyi.common.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE;
67 import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW; 74 import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW;
68 75
@@ -102,8 +109,6 @@ public class DriverServiceImpl implements IDriverService { @@ -102,8 +109,6 @@ public class DriverServiceImpl implements IDriverService {
102 private NowSchedulingCache nowSchedulingCache; 109 private NowSchedulingCache nowSchedulingCache;
103 @Autowired 110 @Autowired
104 private EquipmentMapper equipmentMapper; 111 private EquipmentMapper equipmentMapper;
105 - @Autowired  
106 - private DriverJob driverJob;  
107 112
108 @Autowired 113 @Autowired
109 private ServerConfig serverConfig; 114 private ServerConfig serverConfig;
@@ -119,6 +124,9 @@ public class DriverServiceImpl implements IDriverService { @@ -119,6 +124,9 @@ public class DriverServiceImpl implements IDriverService {
119 @Value("${api.headImage}") 124 @Value("${api.headImage}")
120 private String headImagePre; 125 private String headImagePre;
121 126
  127 + @Autowired
  128 + private RuleAttendanceMainService attendanceMainService;
  129 +
122 /** 130 /**
123 * 查询驾驶员信息 131 * 查询驾驶员信息
124 * 132 *
@@ -468,6 +476,7 @@ public class DriverServiceImpl implements IDriverService { @@ -468,6 +476,7 @@ public class DriverServiceImpl implements IDriverService {
468 // 数据更新 更新人脸注册标识 更新基本数据 476 // 数据更新 更新人脸注册标识 更新基本数据
469 for (List<Driver> list : lists) { 477 for (List<Driver> list : lists) {
470 driverMapper.updateDriverBaseInfoByJobCodes(list, 0); 478 driverMapper.updateDriverBaseInfoByJobCodes(list, 0);
  479 + attendanceMainService.updateAttendanceMainByJobCode(list);
471 } 480 }
472 if (insertDrivers.size() > 0) driverMapper.saveDrivers(insertDrivers); 481 if (insertDrivers.size() > 0) driverMapper.saveDrivers(insertDrivers);
473 482
@@ -611,6 +620,7 @@ public class DriverServiceImpl implements IDriverService { @@ -611,6 +620,7 @@ public class DriverServiceImpl implements IDriverService {
611 } 620 }
612 if (CollectionUtil.isNotEmpty(drivers)) { 621 if (CollectionUtil.isNotEmpty(drivers)) {
613 driverMapper.updateDriverBaseInfoByJobCodes(drivers, 1); 622 driverMapper.updateDriverBaseInfoByJobCodes(drivers, 1);
  623 + attendanceMainService.updateAttendanceMainByJobCode(drivers);
614 } 624 }
615 return AjaxResult.success(); 625 return AjaxResult.success();
616 } 626 }
Bsth-admin/src/main/java/com/ruoyi/mapper/RuleAttendanceMainMapper.java
@@ -2,6 +2,7 @@ package com.ruoyi.mapper; @@ -2,6 +2,7 @@ package com.ruoyi.mapper;
2 2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import com.ruoyi.domain.RuleAttendanceMain; 4 import com.ruoyi.domain.RuleAttendanceMain;
  5 +import com.ruoyi.driver.domain.Driver;
5 import com.ruoyi.pojo.vo.DeleteAttendanceVo; 6 import com.ruoyi.pojo.vo.DeleteAttendanceVo;
6 import com.ruoyi.pojo.vo.PeopleRequestVo; 7 import com.ruoyi.pojo.vo.PeopleRequestVo;
7 import com.ruoyi.pojo.vo.UpdateAttendanceVo; 8 import com.ruoyi.pojo.vo.UpdateAttendanceVo;
@@ -39,6 +40,8 @@ public interface RuleAttendanceMainMapper extends BaseMapper&lt;RuleAttendanceMain&gt; @@ -39,6 +40,8 @@ public interface RuleAttendanceMainMapper extends BaseMapper&lt;RuleAttendanceMain&gt;
39 * @return 40 * @return
40 */ 41 */
41 List<RuleAttendanceMain> queryNowMonthDate(@Param("vo") PeopleRequestVo vo, @Param("jobCodes") List<String> jobCodes); 42 List<RuleAttendanceMain> queryNowMonthDate(@Param("vo") PeopleRequestVo vo, @Param("jobCodes") List<String> jobCodes);
  43 +
  44 + void updateAttendanceMainByJobCode(@Param("list") List<Driver> drivers);
42 } 45 }
43 46
44 47
Bsth-admin/src/main/java/com/ruoyi/service/RuleAttendanceMainService.java
@@ -3,6 +3,7 @@ package com.ruoyi.service; @@ -3,6 +3,7 @@ package com.ruoyi.service;
3 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
4 import com.ruoyi.domain.RuleAttendanceMain; 4 import com.ruoyi.domain.RuleAttendanceMain;
5 import com.ruoyi.domain.RuleAttendanceMainHelp; 5 import com.ruoyi.domain.RuleAttendanceMainHelp;
  6 +import com.ruoyi.driver.domain.Driver;
6 import com.ruoyi.pojo.vo.DeleteAttendanceVo; 7 import com.ruoyi.pojo.vo.DeleteAttendanceVo;
7 import com.ruoyi.pojo.vo.PeopleRequestVo; 8 import com.ruoyi.pojo.vo.PeopleRequestVo;
8 import com.ruoyi.pojo.vo.UpdateAttendanceVo; 9 import com.ruoyi.pojo.vo.UpdateAttendanceVo;
@@ -46,4 +47,5 @@ public interface RuleAttendanceMainService extends IService&lt;RuleAttendanceMain&gt; @@ -46,4 +47,5 @@ public interface RuleAttendanceMainService extends IService&lt;RuleAttendanceMain&gt;
46 List<RuleAttendanceMain> queryNowMonthDate(PeopleRequestVo vo, List<String> jobCodes); 47 List<RuleAttendanceMain> queryNowMonthDate(PeopleRequestVo vo, List<String> jobCodes);
47 48
48 49
  50 + void updateAttendanceMainByJobCode(List<Driver> drivers);
49 } 51 }
Bsth-admin/src/main/java/com/ruoyi/service/impl/RuleAttendanceMainServiceImpl.java
@@ -3,6 +3,7 @@ package com.ruoyi.service.impl; @@ -3,6 +3,7 @@ package com.ruoyi.service.impl;
3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 import com.ruoyi.domain.RuleAttendanceMain; 4 import com.ruoyi.domain.RuleAttendanceMain;
5 import com.ruoyi.domain.RuleAttendanceMainHelp; 5 import com.ruoyi.domain.RuleAttendanceMainHelp;
  6 +import com.ruoyi.driver.domain.Driver;
6 import com.ruoyi.mapper.RuleAttendanceMainMapper; 7 import com.ruoyi.mapper.RuleAttendanceMainMapper;
7 import com.ruoyi.pojo.vo.DeleteAttendanceVo; 8 import com.ruoyi.pojo.vo.DeleteAttendanceVo;
8 import com.ruoyi.pojo.vo.PeopleRequestVo; 9 import com.ruoyi.pojo.vo.PeopleRequestVo;
@@ -45,6 +46,11 @@ public class RuleAttendanceMainServiceImpl extends ServiceImpl&lt;RuleAttendanceMai @@ -45,6 +46,11 @@ public class RuleAttendanceMainServiceImpl extends ServiceImpl&lt;RuleAttendanceMai
45 public List<RuleAttendanceMain> queryNowMonthDate(PeopleRequestVo vo, List<String> jobCodes) { 46 public List<RuleAttendanceMain> queryNowMonthDate(PeopleRequestVo vo, List<String> jobCodes) {
46 return baseMapper.queryNowMonthDate(vo, jobCodes); 47 return baseMapper.queryNowMonthDate(vo, jobCodes);
47 } 48 }
  49 +
  50 + @Override
  51 + public void updateAttendanceMainByJobCode(List<Driver> drivers) {
  52 + baseMapper.updateAttendanceMainByJobCode(drivers);
  53 + }
48 } 54 }
49 55
50 56
Bsth-admin/src/main/resources/mapper/RuleAttendanceMainMapper.xml
@@ -55,6 +55,23 @@ @@ -55,6 +55,23 @@
55 and scheduling_date = #{main.schedulingDate} 55 and scheduling_date = #{main.schedulingDate}
56 </foreach> 56 </foreach>
57 </update> 57 </update>
  58 + <update id="updateAttendanceMainByJobCode">
  59 + <foreach collection="list" item="item" separator=";">
  60 + update rule_attendance_main
  61 + <trim prefix="set" suffixOverrides=",">
  62 + <if test="item.fleetName != null and item.fleetName != ''">
  63 + fleet_name =#{item.fleetName},
  64 + </if>
  65 + <if test="item.posts != null and item.posts != ''">
  66 + `posts` =#{item.posts},
  67 + </if>
  68 + <if test="item.personnelName != null and item.personnelName != ''">
  69 + `name` =#{item.personnelName},
  70 + </if>
  71 + </trim>
  72 + where job_code = #{item.jobCode} and scheduling_date > NOW()
  73 + </foreach>
  74 + </update>
58 <delete id="deleteByJobCodeTotalRecord"> 75 <delete id="deleteByJobCodeTotalRecord">
59 delete from rule_attendance_main 76 delete from rule_attendance_main
60 where job_code IN 77 where job_code IN