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 134 * @return
135 135 */
136 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 119 * @return
120 120 */
121 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 218 List<DriverScheduling> driverSchedulings = cache.getCacheScheduling(ConstDateUtil.getStringNowLocalDate("-")).get(driver.getJobCode());
219 219 // 只改变车队信息 其他信息由调度接口 和 人事系统决定 本来是不修改的但是人事数据有问题
220 220 for (DriverScheduling scheduling : driverSchedulings) {
221   - if (StringUtil.isNotEmpty(driver.getFleetName())){
  221 + if (StringUtil.isNotEmpty(driver.getFleetName())) {
222 222 scheduling.setFleetName(driver.getFleetName());
223 223 }
224 224 }
... ... @@ -373,7 +373,7 @@ public class DriverServiceImpl implements IDriverService {
373 373 } else {
374 374 // 无排班 工种是驾驶员需要酒测
375 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 377 } else {
378 378 // 特定设备是无需酒精测试的
379 379 vo.setCheckAlcohol(needCheckAlcoholDevice ? vo.getCheckAlcohol() : false);
... ... @@ -462,7 +462,7 @@ public class DriverServiceImpl implements IDriverService {
462 462 log.info("开始人员数据更新");
463 463 // 数据更新 更新人脸注册标识 更新基本数据
464 464 for (List<Driver> list : lists) {
465   - driverMapper.updateSignStatusDriversByJobCodes(list);
  465 + driverMapper.updateDriverBaseInfoByJobCodes(list, 0);
466 466 }
467 467 if (insertDrivers.size() > 0) driverMapper.saveDrivers(insertDrivers);
468 468  
... ... @@ -470,11 +470,11 @@ public class DriverServiceImpl implements IDriverService {
470 470 log.info("开始删除注册表中对应工号的数据");
471 471 List<String> updateImageJobCodes = new ArrayList<>();
472 472 for (Driver driver : updateDrivers) {
473   - if (StringUtil.isNotEmpty(driver.getImage())){
  473 + if (StringUtil.isNotEmpty(driver.getImage())) {
474 474 updateImageJobCodes.add(driver.getJobCode());
475 475 }
476 476 }
477   - if (updateImageJobCodes.size() > 0){
  477 + if (updateImageJobCodes.size() > 0) {
478 478 driverMapper.deleteDeviceIdAssociatedJobCode(updateImageJobCodes);
479 479 }
480 480 log.info("删除注册表中对应工号的数据结束");
... ... @@ -490,7 +490,7 @@ public class DriverServiceImpl implements IDriverService {
490 490 driver.setFleetName(item.getFleetName());
491 491 driver.setLineName(item.getLineName());
492 492 try {
493   - if (StringUtil.isNotEmpty(item.getImageUrl())){
  493 + if (StringUtil.isNotEmpty(item.getImageUrl())) {
494 494 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl()));
495 495 }
496 496 } catch (IOException e) {
... ... @@ -510,7 +510,7 @@ public class DriverServiceImpl implements IDriverService {
510 510 driver.setLineName(item.getLineName());
511 511 driver.setFaceSignIn(SIGN_FACE_ACTIVE);
512 512 try {
513   - if (StringUtil.isNotEmpty(item.getImageUrl())){
  513 + if (StringUtil.isNotEmpty(item.getImageUrl())) {
514 514 driver.setImage(getNewImageUrl(item.getJobCode(), item.getImageUrl()));
515 515 }
516 516 } catch (IOException e) {
... ... @@ -583,6 +583,11 @@ public class DriverServiceImpl implements IDriverService {
583 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 591 private void sendNotice(List<DriverSignInRecommendation> nowTimerList) {
587 592 List<SysNotice> noticeList = new ArrayList<>(nowTimerList.size());
588 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 410 drivers.addAll(getDrivers(date, getPersonInfo(accessToken, 100, i)));
411 411 }
412 412 List<String> jobList = drivers.stream().map(Driver::getJobCode).collect(Collectors.toList());
  413 + DRIVER_SERVICE.updateDriverBaseInfoByJobCodes(drivers, 1);
413 414 // 删除离职员工
414 415 handleNotEmptyJob(jobList);
415 416 // 过滤已经存在的员工工号
... ...
Bsth-admin/src/main/resources/mapper/driver/DriverMapper.xml
... ... @@ -334,6 +334,27 @@
334 334 where job_code = #{item.jobCode,jdbcType=VARCHAR}
335 335 </foreach>
336 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 359 <delete id="deleteDriverById" parameterType="Long">
339 360 delete
... ...