Commit 16f71e97bcf3d4793b986bb480c88eb1b8a54b91
1 parent
2fcb0c4d
fix: 全量更新人员信息
Showing
5 changed files
with
38 additions
and
7 deletions
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 |