diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index e6ea51a2..978d858b 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -580,27 +580,30 @@ public class JobServiceImpl extends Service implements JobService { @Override public void refresh() { - //1.人员表查询 - List resourcePOS = getHrmResourceMapper().selectFilterDatas(); - //2.数据过滤 - //3.数据插入 - resourcePOS.forEach(resourcePO -> { - if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && resourcePO.getJobtitle() > 0) { - int count = getJobMapper().selectByConditions(resourcePO); - if (count == 0) { - JobPO jobPO = JobPO.builder() - .ecCompany(resourcePO.getSubcompanyid1()) - .ecDepartment(resourcePO.getDepartmentid()) - .ecJobTitle(resourcePO.getJobtitle()) - .isKey(0) - .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) - .createTime(new Date()) - .updateTime(new Date()) - .build(); - getJobMapper().insertIgnoreNull(jobPO); + // 解决并发情况下,岗位数据重复问题 + synchronized(JobServiceImpl.class) { + //1.人员表查询 + List resourcePOS = getHrmResourceMapper().selectFilterDatas(); + //2.数据过滤 + //3.数据插入 + resourcePOS.forEach(resourcePO -> { + if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && resourcePO.getJobtitle() > 0) { + int count = getJobMapper().selectByConditions(resourcePO); + if (count == 0) { + JobPO jobPO = JobPO.builder() + .ecCompany(resourcePO.getSubcompanyid1()) + .ecDepartment(resourcePO.getDepartmentid()) + .ecJobTitle(resourcePO.getJobtitle()) + .isKey(0) + .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) + .createTime(new Date()) + .updateTime(new Date()) + .build(); + getJobMapper().insertIgnoreNull(jobPO); + } } - } - }); + }); + } }