diff --git a/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java b/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java index 4e601b451..379998ba1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java @@ -7,7 +7,6 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg; -import lombok.Data; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -90,4 +89,7 @@ public interface ProjectEnterpriseMapper extends BaseMapper { * @return */ List getChildren(Long id); + + @DataScope(enable = false) + int existProjectBySocialCodeAndProjectSn(@Param("socialCode") String socialCode, @Param("projectSn") String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml b/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml index ade8c5165..78ab0d7e0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml @@ -231,4 +231,11 @@ select * from project_enterprise where find_in_set(#{id}, ancestors) + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java index 423f6082f..6f30a9795 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java @@ -23,6 +23,7 @@ import com.zhgd.xmgl.async.AsyncWorker; import com.zhgd.xmgl.base.CompanyVo; import com.zhgd.xmgl.call.api.WorkerManufacturer; import com.zhgd.xmgl.call.factory.WorkerManufacturerFactory; +import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.basicdata.service.impl.CompanyServiceImpl; import com.zhgd.xmgl.modules.exam.entity.ExamTrain; @@ -75,7 +76,6 @@ import org.springframework.transaction.annotation.Transactional; import jakarta.annotation.Resource; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; @@ -246,7 +246,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(EnterpriseInfo::getSocialCode, enterpriseInfo.getSocialCode()); + queryWrapper.lambda().eq(EnterpriseInfo::getSocialCode, enterpriseInfo.getSocialCode()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); EnterpriseInfo tempEnterpriseInfo = enterpriseInfoMapper.selectOne(queryWrapper); if (enterpriseInfo.getParentEnterpriseId() == null) { enterpriseInfo.setParentEnterpriseId(0L); @@ -255,7 +255,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl queryWrapper1 = new QueryWrapper<>(); queryWrapper1.lambda().eq(ProjectEnterprise::getEnterpriseId, tempEnterpriseInfo.getId()) - .eq(ProjectEnterprise::getProjectSn, enterpriseInfo.getProjectSn()); + .eq(ProjectEnterprise::getProjectSn, enterpriseInfo.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count = Math.toIntExact(projectEnterpriseMapper.selectCount(queryWrapper1)); if (count > 0) { throw new OpenAlertException(MessageUtil.get("existsEnterpriseErr")); @@ -284,7 +284,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl() .eq(ProjectEnterprise::getEnterpriseId, projectEnterprise.getParentEnterpriseId()) - .eq(ProjectEnterprise::getProjectSn, projectEnterprise.getProjectSn()) + .eq(ProjectEnterprise::getProjectSn, projectEnterprise.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION) ); if (pOrg == null) { throw new OpenAlertException("上级不存在"); @@ -320,21 +320,21 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl 0) { throw new OpenAlertException(MessageUtil.get("notDeleteEnterpriseErr")); } Integer dCount = Math.toIntExact(departmentInfoMapper.selectCount(new LambdaQueryWrapper() .eq(DepartmentInfo::getEnterpriseId, enterpriseId) - .eq(DepartmentInfo::getProjectSn, projectSn) + .eq(DepartmentInfo::getProjectSn, projectSn).last(Cts.IGNORE_DATA_SCOPE_CONDITION) )); if (dCount > 0) { throw new OpenAlertException("企业下存在部门,不允许删除"); } Integer parentEnterpriseNum = Math.toIntExact(projectEnterpriseMapper.selectCount(new QueryWrapper().lambda() .eq(ProjectEnterprise::getParentEnterpriseId, enterpriseId) - .eq(ProjectEnterprise::getProjectSn, projectSn))); + .eq(ProjectEnterprise::getProjectSn, projectSn).last(Cts.IGNORE_DATA_SCOPE_CONDITION))); if (parentEnterpriseNum != 0) { throw new OpenAlertException("企业下存在子企业,不允许删除"); } @@ -375,9 +375,11 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(EnterpriseInfo::getSocialCode, enterpriseInfo.getSocialCode()) - .ne(EnterpriseInfo::getId, enterpriseInfo.getId()); + .ne(EnterpriseInfo::getId, enterpriseInfo.getId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count = Math.toIntExact(enterpriseInfoMapper.selectCount(queryWrapper)); if (count > 0) { +// count = projectEnterpriseMapper.existProjectBySocialCodeAndProjectSn(enterpriseInfo.getSocialCode(), enterpriseInfo.getProjectSn()); +// throw new OpenAlertException("企业信用代码已存在,请使用新增企业方式"); throw new OpenAlertException(MessageUtil.get("existsEnterpriseSocialCodeErr")); } //企业如果选择有父级时候,需要排除企业和父级企业存在相互绑定的情况 @@ -385,7 +387,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl qu = new QueryWrapper<>(); qu.lambda().eq(ProjectEnterprise::getEnterpriseId, enterpriseInfo.getParentEnterpriseId()) .eq(ProjectEnterprise::getParentEnterpriseId, enterpriseInfo.getId()) - .eq(ProjectEnterprise::getProjectSn, enterpriseInfo.getProjectSn()); + .eq(ProjectEnterprise::getProjectSn, enterpriseInfo.getProjectSn()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count1 = Math.toIntExact(projectEnterpriseMapper.selectCount(qu)); if (count1 > 0) { throw new OpenAlertException(MessageUtil.get("enterpriseBoundErr")); @@ -567,7 +569,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); Long enterpriseId = enterpriseInfo.getId(); - wrapper.lambda().eq(TeamInfo::getEnterpriseId, enterpriseId); + wrapper.lambda().eq(TeamInfo::getEnterpriseId, enterpriseId).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count = Math.toIntExact(teamInfoMapper.selectCount(wrapper)); if (count > 0) { throw new OpenAlertException(MessageUtil.get("notDeleteEnterpriseErr")); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index dcc5108c9..1e4d78db3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -106,7 +106,6 @@ import java.math.RoundingMode; import java.nio.charset.Charset; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicLong; @@ -550,14 +549,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(WorkerInfo::getProjectSn, workerInfo.getProjectSn()) - .eq(WorkerInfo::getIdCard, workerInfo.getIdCard()); + .eq(WorkerInfo::getIdCard, workerInfo.getIdCard()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count = Math.toIntExact(workerInfoMapper.selectCount(queryWrapper)); if (count > 0) { throw new OpenAlertException(MessageUtil.get("existsIDCardErr")); } String locationCardno = workerInfo.getLocationCardno(); if (StringUtils.isNotBlank(locationCardno)) { - Integer cardCount = Math.toIntExact(workerInfoMapper.selectCount(new LambdaQueryWrapper().eq(WorkerInfo::getLocationCardno, locationCardno))); + Integer cardCount = Math.toIntExact(workerInfoMapper.selectCount(new LambdaQueryWrapper().eq(WorkerInfo::getLocationCardno, locationCardno).last(Cts.IGNORE_DATA_SCOPE_CONDITION))); if (cardCount > 0) { throw new OpenAlertException("定位标签号已存在"); } @@ -567,7 +566,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(WorkerInfo::getProjectSn, workerInfo.getProjectSn()) - .eq(WorkerInfo::getAttendanceNumber, workerInfo.getAttendanceNumber()); + .eq(WorkerInfo::getAttendanceNumber, workerInfo.getAttendanceNumber()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count2 = Math.toIntExact(workerInfoMapper.selectCount(qw)); if (count2 > 0) { throw new OpenAlertException(MessageUtil.get("AttendanceCardExistErr")); @@ -641,7 +640,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(WorkerInfo::getProjectSn, workerInfo.getProjectSn()) .eq(WorkerInfo::getIdCard, workerInfo.getIdCard()) - .ne(WorkerInfo::getId, workerInfo.getId()); + .ne(WorkerInfo::getId, workerInfo.getId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); ThreadLocalUtil.addInKey("now", new Date()); int count = Math.toIntExact(workerInfoMapper.selectCount(queryWrapper)); if (count > 0) { @@ -649,7 +648,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl().eq(WorkerInfo::getLocationCardno, locationCardno).ne(WorkerInfo::getId, workerInfo.getId()))); + Integer cardCount = Math.toIntExact(workerInfoMapper.selectCount(new LambdaQueryWrapper().eq(WorkerInfo::getLocationCardno, locationCardno).ne(WorkerInfo::getId, workerInfo.getId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION))); if (cardCount > 0) { throw new OpenAlertException("定位标签号已存在"); } @@ -660,7 +659,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(WorkerInfo::getProjectSn, workerInfo.getProjectSn()) .eq(WorkerInfo::getAttendanceNumber, workerInfo.getAttendanceNumber()) - .ne(WorkerInfo::getId, workerInfo.getId()); + .ne(WorkerInfo::getId, workerInfo.getId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION); int count2 = Math.toIntExact(workerInfoMapper.selectCount(qw)); if (count2 > 0) { throw new OpenAlertException(MessageUtil.get("AttendanceCardExistErr")); @@ -1926,7 +1925,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl workerSafeEducations = workerSafeEducationMapper.selectList(Wrappers.lambdaQuery() .eq(WorkerSafeEducation::getProjectSn, projectSn) - .eq(WorkerSafeEducation::getEduType, 1) + .eq(WorkerSafeEducation::getEduType, 1).last(Cts.IGNORE_DATA_SCOPE_CONDITION) .orderByDesc(WorkerSafeEducation::getAddTime)); if (workerSafeEducations == null || workerSafeEducations.size() == 0) { throw new OpenAlertException("该人员未参加过入场安全教育培训!"); @@ -2487,7 +2486,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl() - .eq(UfaceDev::getDevSn, deviceId)); + .eq(UfaceDev::getDevSn, deviceId).last(Cts.IGNORE_DATA_SCOPE_CONDITION)); if (dev == null) { throw new OpenAlertException("设备编号不存在"); } diff --git a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java index 2c3e5b092..1fe27ac47 100644 --- a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java +++ b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java @@ -93,6 +93,7 @@ public class WebSecurityConfig { } authorizeRequests .requestMatchers( + "/xmgl/cache/clearAll", "/xmgl/videoScreenshot/captureScreenshotSync", "/xmgl/policeCameraItemFile/*", "/xmgl/workTicketOrderApp/*", diff --git a/src/main/java/com/zhgd/xmgl/task/HighFormworkTask.java b/src/main/java/com/zhgd/xmgl/task/HighFormworkTask.java index 1ae1442b6..8495f2fa7 100644 --- a/src/main/java/com/zhgd/xmgl/task/HighFormworkTask.java +++ b/src/main/java/com/zhgd/xmgl/task/HighFormworkTask.java @@ -116,7 +116,7 @@ public class HighFormworkTask { * 济南拓兴获取高支模数据 */ @Scheduled(cron = "* */5 * * * ?") - @SchedulerLock(name = "getHighFormworkDatas", lockAtMostFor = 1000 * 60, lockAtLeastFor = 1000 * 60) + @SchedulerLock(name = "getHighFormworkDatas", lockAtMostFor = "PT1M", lockAtLeastFor = "PT1M") public void getHighFormworkDatas() { List projectList = projectService.list(new LambdaQueryWrapper().isNotNull(Project::getJntxAppKey).isNotNull(Project::getJntxAppSecret).ne(Project::getJntxAppKey, "").ne(Project::getJntxAppSecret, "")); for (Project project : projectList) {