|
|
@@ -5,6 +5,7 @@ import java.util.*;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
@@ -15,8 +16,10 @@ import com.xunmei.common.core.domain.panel.dto.PanelListDto;
|
|
|
import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
|
|
|
import com.xunmei.common.core.domain.panel.vo.PanelListVo;
|
|
|
import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
|
|
|
+import com.xunmei.common.core.enums.OrgTypeEnum;
|
|
|
import com.xunmei.common.core.enums.drill.DrillDoStatus;
|
|
|
import com.xunmei.common.core.utils.DateUtils;
|
|
|
+import com.xunmei.common.core.utils.StringUtils;
|
|
|
import com.xunmei.common.core.vo.IdNameVo;
|
|
|
import com.xunmei.common.security.utils.DictUtils;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
@@ -30,11 +33,15 @@ import com.xunmei.core.safetyCheck.vo.CheckNfcRecord;
|
|
|
import com.xunmei.core.safetyCheck.vo.CoreSafetyTaskExport;
|
|
|
import com.xunmei.core.safetyCheck.vo.plan.SafetyPlanRoleVo;
|
|
|
import com.xunmei.system.api.Eto.RoleConditionEto;
|
|
|
+import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.RemoteRoleService;
|
|
|
+import com.xunmei.system.api.domain.SysOrg;
|
|
|
+import com.xunmei.system.api.vo.FindOrgTypes;
|
|
|
import org.ehcache.config.ResourceType;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
@@ -59,6 +66,9 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
|
|
|
@Autowired
|
|
|
private RemoteRoleService remoteRoleService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RemoteOrgService remoteOrgService;
|
|
|
+
|
|
|
@Override
|
|
|
public TableDataInfo<CoreSafetyTask> selectPage(CoreSafetyTask coreSafetyTask) {
|
|
|
//未删除
|
|
|
@@ -93,6 +103,8 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
|
|
|
page = coreSafetyTaskMapper.selectCoreSafetyTaskPage(page, coreSafetyTask);
|
|
|
if (CollectionUtil.isNotEmpty(page.getRecords())) {
|
|
|
List<Long> planIds = page.getRecords().stream().map(r -> r.getPlanId()).distinct().collect(Collectors.toList());
|
|
|
+ Map<Long, SysOrg> dqAndHs = remoteOrgService.selectDqAndHs(SecurityConstants.INNER)
|
|
|
+ .stream().collect(Collectors.toMap(SysOrg::getId, o -> o));
|
|
|
|
|
|
List<Long> tempTaskRoldIds = page.getRecords().stream().filter(r -> ObjectUtil.equal(r.getSourceType(), SafetyTaskSourceType.TempTask.getCode().longValue())).map(r -> r.getRoleId()).distinct().collect(Collectors.toList());
|
|
|
final List<IdNameVo> tempTaskRoles = new ArrayList();
|
|
|
@@ -122,6 +134,26 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
|
|
|
r.getRoles().add(roleVo);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(r.getOrgPath())) {
|
|
|
+ List<Long> ids = Arrays.stream(r.getOrgPath().split("-"))
|
|
|
+ .filter(id -> NumberUtil.isLong(id))
|
|
|
+ .map(id -> NumberUtil.parseLong(id))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ for (Long id : ids) {
|
|
|
+ if (!dqAndHs.containsKey(id)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ SysOrg org = dqAndHs.get(id);
|
|
|
+ if (ObjectUtil.equal(org.getType(), OrgTypeEnum.HANG_SHE.getCode())) {
|
|
|
+ r.setHsOrgName(org.getShortName());
|
|
|
+ } else if (StringUtils.endsWith(org.getShortName(), "地区行社")) {
|
|
|
+ r.setDqOrgName(org.getShortName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -266,6 +298,40 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
|
|
|
coreSafetyTask.getRange().set(1, DateUtil.endOfDay(coreSafetyTask.getRange().get(1)));
|
|
|
}
|
|
|
coreSafetyTask.setGrantUserId(SecurityUtils.getUserId());
|
|
|
- return coreSafetyTaskMapper.down(coreSafetyTask);
|
|
|
+ List<CoreSafetyTaskExport> list = coreSafetyTaskMapper.down(coreSafetyTask);
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(list)) {
|
|
|
+ AtomicInteger xh = new AtomicInteger();
|
|
|
+ xh.getAndIncrement();
|
|
|
+ if (list.size() > 10000) {
|
|
|
+ throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出");
|
|
|
+ }
|
|
|
+ Map<Long, SysOrg> dqAndHs = remoteOrgService.selectDqAndHs(SecurityConstants.INNER)
|
|
|
+ .stream().collect(Collectors.toMap(SysOrg::getId, o -> o));
|
|
|
+ list.forEach(e -> {
|
|
|
+ e.setIndex(xh.getAndIncrement());
|
|
|
+ if (ObjectUtil.isNotEmpty(e.getOrgPath())) {
|
|
|
+ List<Long> ids = Arrays.stream(e.getOrgPath().split("-"))
|
|
|
+ .filter(id -> NumberUtil.isLong(id))
|
|
|
+ .map(id -> NumberUtil.parseLong(id))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ for (Long id : ids) {
|
|
|
+ if (!dqAndHs.containsKey(id)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ SysOrg org = dqAndHs.get(id);
|
|
|
+ if (ObjectUtil.equal(org.getType(), OrgTypeEnum.HANG_SHE.getCode())) {
|
|
|
+ e.setHsOrgName(org.getShortName());
|
|
|
+ } else if (StringUtils.endsWith(org.getShortName(), "地区行社")) {
|
|
|
+ e.setDqOrgName(org.getShortName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return list;
|
|
|
}
|
|
|
}
|