Commit 16f71e97bcf3d4793b986bb480c88eb1b8a54b91

Authored by guzijian
1 parent 2fcb0c4d

fix: 全量更新人员信息

Bsth-admin/src/main/java/com/ruoyi/driver/mapper/DriverMapper.java
@@ -134,4 +134,6 @@ public interface DriverMapper @@ -134,4 +134,6 @@ public interface DriverMapper
134 * @return 134 * @return
135 */ 135 */
136 List<String> queryEmptyJob(List<String> list); 136 List<String> queryEmptyJob(List<String> list);
  137 +
  138 + void updateDriverBaseInfoByJobCodes(@Param("list") List<Driver> list,@Param("filterImage") Integer filterImage);
137 } 139 }
Bsth-admin/src/main/java/com/ruoyi/driver/service/IDriverService.java
@@ -119,4 +119,6 @@ public interface IDriverService @@ -119,4 +119,6 @@ public interface IDriverService
119 * @return 119 * @return
120 */ 120 */
121 List<String> queryEmptyJob(List<String> jobList); 121 List<String> queryEmptyJob(List<String> jobList);
  122 +
  123 + void updateDriverBaseInfoByJobCodes(List<Driver> drivers, int filterImage);
122 } 124 }
Bsth-admin/src/main/java/com/ruoyi/driver/service/impl/DriverServiceImpl.java
@@ -218,7 +218,7 @@ public class DriverServiceImpl implements IDriverService { @@ -218,7 +218,7 @@ public class DriverServiceImpl implements IDriverService {
218 List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode()); 218 List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode());
219 // 只改变车队信息 其他信息由调度接口 和 人事系统决定 本来是不修改的但是人事数据有问题 219 // 只改变车队信息 其他信息由调度接口 和 人事系统决定 本来是不修改的但是人事数据有问题
220 for (DriverScheduling scheduling : driverSchedulings) { 220 for (DriverScheduling scheduling : driverSchedulings) {
221 - if (StringUtil.isNotEmpty(driver.getFleetName())){ 221 + if (StringUtil.isNotEmpty(driver.getFleetName())) {
222 scheduling.setFleetName(driver.getFleetName()); 222 scheduling.setFleetName(driver.getFleetName());
223 } 223 }
224 } 224 }
@@ -373,7 +373,7 @@ public class DriverServiceImpl implements IDriverService { @@ -373,7 +373,7 @@ public class DriverServiceImpl implements IDriverService {
373 } else { 373 } else {
374 // 无排班 工种是驾驶员需要酒测 374 // 无排班 工种是驾驶员需要酒测
375 if (Objects.isNull(vo)) { 375 if (Objects.isNull(vo)) {
376 - vos.add(DriverResponseVo.createDriverResponseVo(null, item, null, "驾驶员".equals(item.getPosts()),false, "", "", "")); 376 + vos.add(DriverResponseVo.createDriverResponseVo(null, item, null, "驾驶员".equals(item.getPosts()), false, "", "", ""));
377 } else { 377 } else {
378 // 特定设备是无需酒精测试的 378 // 特定设备是无需酒精测试的
379 vo.setCheckAlcohol(needCheckAlcoholDevice ? vo.getCheckAlcohol() : false); 379 vo.setCheckAlcohol(needCheckAlcoholDevice ? vo.getCheckAlcohol() : false);
@@ -462,7 +462,7 @@ public class DriverServiceImpl implements IDriverService { @@ -462,7 +462,7 @@ public class DriverServiceImpl implements IDriverService {
462 log.info("开始人员数据更新"); 462 log.info("开始人员数据更新");
463 // 数据更新 更新人脸注册标识 更新基本数据 463 // 数据更新 更新人脸注册标识 更新基本数据
464 for (List<Driver> list : lists) { 464 for (List<Driver> list : lists) {
465 - driverMapper.updateSignStatusDriversByJobCodes(list); 465 + driverMapper.updateDriverBaseInfoByJobCodes(list, 0);
466 } 466 }
467 if (insertDrivers.size() > 0) driverMapper.saveDrivers(insertDrivers); 467 if (insertDrivers.size() > 0) driverMapper.saveDrivers(insertDrivers);
468 468
@@ -470,11 +470,11 @@ public class DriverServiceImpl implements IDriverService { @@ -470,11 +470,11 @@ public class DriverServiceImpl implements IDriverService {
470 log.info("开始删除注册表中对应工号的数据"); 470 log.info("开始删除注册表中对应工号的数据");
471 List<String> updateImageJobCodes = new ArrayList<>(); 471 List<String> updateImageJobCodes = new ArrayList<>();
472 for (Driver driver : updateDrivers) { 472 for (Driver driver : updateDrivers) {
473 - if (StringUtil.isNotEmpty(driver.getImage())){ 473 + if (StringUtil.isNotEmpty(driver.getImage())) {
474 updateImageJobCodes.add(driver.getJobCode()); 474 updateImageJobCodes.add(driver.getJobCode());
475 } 475 }
476 } 476 }
477 - if (updateImageJobCodes.size() > 0){ 477 + if (updateImageJobCodes.size() > 0) {
478 driverMapper.deleteDeviceIdAssociatedJobCode(updateImageJobCodes); 478 driverMapper.deleteDeviceIdAssociatedJobCode(updateImageJobCodes);
479 } 479 }
480 log.info("删除注册表中对应工号的数据结束"); 480 log.info("删除注册表中对应工号的数据结束");
@@ -490,7 +490,7 @@ public class DriverServiceImpl implements IDriverService { @@ -490,7 +490,7 @@ public class DriverServiceImpl implements IDriverService {
490 driver.setFleetName(item.getFleetName()); 490 driver.setFleetName(item.getFleetName());
491 driver.setLineName(item.getLineName()); 491 driver.setLineName(item.getLineName());
492 try { 492 try {
493 - if (StringUtil.isNotEmpty(item.getImageUrl())){ 493 + if (StringUtil.isNotEmpty(item.getImageUrl())) {
494 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl())); 494 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl()));
495 } 495 }
496 } catch (IOException e) { 496 } catch (IOException e) {
@@ -510,7 +510,7 @@ public class DriverServiceImpl implements IDriverService { @@ -510,7 +510,7 @@ public class DriverServiceImpl implements IDriverService {
510 driver.setLineName(item.getLineName()); 510 driver.setLineName(item.getLineName());
511 driver.setFaceSignIn(SIGN_FACE_ACTIVE); 511 driver.setFaceSignIn(SIGN_FACE_ACTIVE);
512 try { 512 try {
513 - if (StringUtil.isNotEmpty(item.getImageUrl())){ 513 + if (StringUtil.isNotEmpty(item.getImageUrl())) {
514 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl())); 514 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl()));
515 } 515 }
516 } catch (IOException e) { 516 } catch (IOException e) {
@@ -583,6 +583,11 @@ public class DriverServiceImpl implements IDriverService { @@ -583,6 +583,11 @@ public class DriverServiceImpl implements IDriverService {
583 return driverMapper.queryEmptyJob(jobList); 583 return driverMapper.queryEmptyJob(jobList);
584 } 584 }
585 585
  586 + @Override
  587 + public void updateDriverBaseInfoByJobCodes(List<Driver> drivers, int filterImage) {
  588 + driverMapper.updateDriverBaseInfoByJobCodes(drivers, filterImage);
  589 + }
  590 +
586 private void sendNotice(List<DriverSignInRecommendation> nowTimerList) { 591 private void sendNotice(List<DriverSignInRecommendation> nowTimerList) {
587 List<SysNotice> noticeList = new ArrayList<>(nowTimerList.size()); 592 List<SysNotice> noticeList = new ArrayList<>(nowTimerList.size());
588 for (DriverSignInRecommendation item : nowTimerList) { 593 for (DriverSignInRecommendation item : nowTimerList) {
Bsth-admin/src/main/java/com/ruoyi/job/DriverJob.java
@@ -410,6 +410,7 @@ public class DriverJob implements InitializingBean { @@ -410,6 +410,7 @@ public class DriverJob implements InitializingBean {
410 drivers.addAll(getDrivers(date, getPersonInfo(accessToken, 100, i))); 410 drivers.addAll(getDrivers(date, getPersonInfo(accessToken, 100, i)));
411 } 411 }
412 List<String> jobList = drivers.stream().map(Driver::getJobCode).collect(Collectors.toList()); 412 List<String> jobList = drivers.stream().map(Driver::getJobCode).collect(Collectors.toList());
  413 + DRIVER_SERVICE.updateDriverBaseInfoByJobCodes(drivers, 1);
413 // 删除离职员工 414 // 删除离职员工
414 handleNotEmptyJob(jobList); 415 handleNotEmptyJob(jobList);
415 // 过滤已经存在的员工工号 416 // 过滤已经存在的员工工号
Bsth-admin/src/main/resources/mapper/driver/DriverMapper.xml
@@ -334,6 +334,27 @@ @@ -334,6 +334,27 @@
334 where job_code = #{item.jobCode,jdbcType=VARCHAR} 334 where job_code = #{item.jobCode,jdbcType=VARCHAR}
335 </foreach> 335 </foreach>
336 </update> 336 </update>
  337 + <update id="updateDriverBaseInfoByJobCodes">
  338 + <foreach collection="list" item="item" separator=";">
  339 + update driver set update_time = #{item.updateTime}
  340 + <if test="item.lineName != null and item.lineName != ''">
  341 + ,line_name =#{item.lineName}
  342 + </if>
  343 + <if test="item.fleetName != null and item.fleetName != ''">
  344 + ,fleet_name =#{item.fleetName}
  345 + </if>
  346 + <if test="item.posts != null and item.posts != ''">
  347 + ,`posts` =#{item.posts}
  348 + </if>
  349 + <if test="item.personnelName != null and item.personnelName != ''">
  350 + ,`personnel_name` =#{item.personnelName}
  351 + </if>
  352 + <if test="item.image != null and item.image != '' and filterImage == 0">
  353 + ,image = #{item.image},face_sign_in = 1
  354 + </if>
  355 + where job_code = #{item.jobCode,jdbcType=VARCHAR}
  356 + </foreach>
  357 + </update>
337 358
338 <delete id="deleteDriverById" parameterType="Long"> 359 <delete id="deleteDriverById" parameterType="Long">
339 delete 360 delete