|
|
@@ -1,5 +1,6 @@
|
|
|
package com.xunmei.core.reportForms.safetyInspect.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
@@ -39,15 +40,20 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
private MonitorAccessReportMapper monitorAccessReportMapper;
|
|
|
@Autowired
|
|
|
private RemoteOrgService orgService;
|
|
|
+
|
|
|
@Override
|
|
|
public List<SafetyInspectVO> report(SafetyInspectDTO safetyInspectDTO) {
|
|
|
if (null == safetyInspectDTO.getOrgId()) {
|
|
|
safetyInspectDTO.setOrgId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
}
|
|
|
+ if (ObjectUtil.equal(1, safetyInspectDTO.getAppSelect())) {
|
|
|
+ safetyInspectDTO.setStartTime(DateUtil.beginOfMonth(safetyInspectDTO.getStartTime()));
|
|
|
+ safetyInspectDTO.setEndTime(DateUtil.endOfMonth(safetyInspectDTO.getEndTime()));
|
|
|
+ }
|
|
|
//判断机构类型,如果机构类型大于行社,都展示行社数据
|
|
|
SysOrg sysOrg = orgService.selectSysOrgById(safetyInspectDTO.getOrgId(), SecurityConstants.INNER);
|
|
|
List<SysOrg> sysOrgs;
|
|
|
- if(null==sysOrg.getType()){
|
|
|
+ if (null == sysOrg.getType()) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
@@ -57,33 +63,38 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
} else {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
- List<SafetyInspectVO>safetyInspectVOList=new ArrayList<>();
|
|
|
- sysOrgs.forEach(s->{
|
|
|
- SafetyInspectVO safetyInspectVO=new SafetyInspectVO();
|
|
|
+ List<SafetyInspectVO> safetyInspectVOList = new ArrayList<>();
|
|
|
+ sysOrgs.forEach(s -> {
|
|
|
+ SafetyInspectVO safetyInspectVO = new SafetyInspectVO();
|
|
|
SysOrg sysOrg1;
|
|
|
if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
sysOrg1 = orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER);
|
|
|
} else {
|
|
|
sysOrg1 = orgService.selectOrgById(orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER);
|
|
|
- if (-1 == sysOrg1.getShortName().indexOf("地区行社")) {
|
|
|
+ if (!sysOrg1.getShortName().contains("地区行社")) {
|
|
|
sysOrg1 = orgService.selectOrgById(orgService.selectOrgById(orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER);
|
|
|
}
|
|
|
}
|
|
|
- safetyInspectVO.setCity(sysOrg1.getShortName().indexOf("地区行社")==-1?sysOrg1.getShortName().substring(0,2):sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
+ safetyInspectVO.setCity(!sysOrg1.getShortName().contains("地区行社") ? sysOrg1.getShortName().substring(0, 2) : sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
safetyInspectVO.setOrgName(s.getShortName());
|
|
|
- //次数
|
|
|
- SafetyInspectVO safetyInspectVOS = safetyInspectMapper.selectAllByPath(null,s.getPath(),safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType());
|
|
|
- //机构维度
|
|
|
- Integer planInspectOrg = safetyInspectMapper.orgDimensionPlanInspectOrg(null,s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
- Integer realityInspectOrg = safetyInspectMapper.orgDimensionRealityInspectOrg(null,s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
- Map map1 = safetyInspectMapper.pitfallDimension(null,s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(),4);
|
|
|
- if (s.getType() == 4) {
|
|
|
- safetyInspectVOS=safetyInspectMapper.selectAllByPath(s.getId(),null,safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType());
|
|
|
- planInspectOrg=safetyInspectMapper.orgDimensionPlanInspectOrg(s.getId(),s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
- realityInspectOrg = safetyInspectMapper.orgDimensionRealityInspectOrg(s.getId(),s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
- map1 = safetyInspectMapper.pitfallDimension(s.getId(),null, safetyInspectDTO, safetyInspectDTO.getOrgType(),4);
|
|
|
+ SafetyInspectVO safetyInspectVOS;
|
|
|
+ Integer planInspectOrg;
|
|
|
+ Integer realityInspectOrg;
|
|
|
+ Map map1;
|
|
|
+ if (!Objects.equals(s.getType(), OrgTypeEnum.YINGYE_WANGDIAN.getCode())) {
|
|
|
+ //次数
|
|
|
+ safetyInspectVOS = safetyInspectMapper.selectAllByPath(null, s.getPath(), safetyInspectDTO);
|
|
|
+ //机构维度
|
|
|
+ planInspectOrg = safetyInspectMapper.orgDimensionPlanInspectOrg(null, s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
+ realityInspectOrg = safetyInspectMapper.orgDimensionRealityInspectOrg(null, s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
+ map1 = safetyInspectMapper.pitfallDimension(null, s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(), 4);
|
|
|
+ } else {
|
|
|
+ safetyInspectVOS = safetyInspectMapper.selectAllByPath(s.getId(), null, safetyInspectDTO);
|
|
|
+ planInspectOrg = safetyInspectMapper.orgDimensionPlanInspectOrg(s.getId(), s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
+ realityInspectOrg = safetyInspectMapper.orgDimensionRealityInspectOrg(s.getId(), s.getPath(), safetyInspectDTO.getYear(), safetyInspectDTO.getOrgType(), 4);
|
|
|
+ map1 = safetyInspectMapper.pitfallDimension(s.getId(), null, safetyInspectDTO, safetyInspectDTO.getOrgType(), 4);
|
|
|
}
|
|
|
- Double i = 0d;
|
|
|
+ double i = 0d;
|
|
|
if (planInspectOrg != 0 && realityInspectOrg != 0) {
|
|
|
i = (double) realityInspectOrg / planInspectOrg * 100;
|
|
|
}
|
|
|
@@ -107,11 +118,16 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
if (null == safetyInspectDTO.getOrgId()) {
|
|
|
safetyInspectDTO.setOrgId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
}
|
|
|
+
|
|
|
+ if (ObjectUtil.equal(1, safetyInspectDTO.getAppSelect())) {
|
|
|
+ safetyInspectDTO.setStartTime(DateUtil.beginOfMonth(safetyInspectDTO.getStartTime()));
|
|
|
+ safetyInspectDTO.setEndTime(DateUtil.endOfMonth(safetyInspectDTO.getEndTime()));
|
|
|
+ }
|
|
|
//判断机构类型,如果机构类型大于行社,都展示行社数据
|
|
|
SysOrg sysOrg = orgService.selectSysOrgById(safetyInspectDTO.getOrgId(), SecurityConstants.INNER);
|
|
|
List<SysOrg> sysOrgs;
|
|
|
- if (null==sysOrg.getType()){
|
|
|
- return Collections.EMPTY_LIST;
|
|
|
+ if (null == sysOrg.getType()) {
|
|
|
+ return Collections.EMPTY_LIST;
|
|
|
}
|
|
|
if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
sysOrgs = orgService.selectSysOrgByPathAndType(sysOrg.getPath(), 3, SecurityConstants.INNER);
|
|
|
@@ -120,32 +136,36 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
} else {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
- List<SelfInspectVO>safetyInspectVOList=new ArrayList<>();
|
|
|
- sysOrgs.forEach(s->{
|
|
|
- SelfInspectVO safetyInspectVO=new SelfInspectVO();
|
|
|
+ List<SelfInspectVO> safetyInspectVOList = new ArrayList<>();
|
|
|
+ sysOrgs.forEach(s -> {
|
|
|
+ SelfInspectVO safetyInspectVO = new SelfInspectVO();
|
|
|
SysOrg sysOrg1;
|
|
|
if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
sysOrg1 = orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER);
|
|
|
} else {
|
|
|
sysOrg1 = orgService.selectOrgById(orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER);
|
|
|
- if (-1 == sysOrg1.getShortName().indexOf("地区行社")) {
|
|
|
+ if (!sysOrg1.getShortName().contains("地区行社")) {
|
|
|
sysOrg1 = orgService.selectOrgById(orgService.selectOrgById(orgService.selectOrgById(s.getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER).getParentId(), SecurityConstants.INNER);
|
|
|
}
|
|
|
}
|
|
|
+ SafetyInspectVO safetyInspectVOS;
|
|
|
+ Map map1;
|
|
|
+ Map map;
|
|
|
Integer integer = monitorAccessReportMapper.selectOrgNumByPathAndType(s.getPath(), OrgTypeEnum.YINGYE_WANGDIAN.getCode());
|
|
|
- //次数
|
|
|
- SafetyInspectVO safetyInspectVOS = safetyInspectMapper.selectSelfByPath(null,safetyInspectDTO.getCycle(),s.getPath(),safetyInspectDTO,safetyInspectDTO.getOrgType());
|
|
|
- Map map1 = safetyInspectMapper.pitfallDimension(null,s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(),3);
|
|
|
- //机构维度
|
|
|
- Map map = safetyInspectMapper.orgDimension(null,s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(),3);
|
|
|
- if (s.getType()==4){
|
|
|
- integer=1;
|
|
|
- safetyInspectVOS=safetyInspectMapper.selectSelfByPath(s.getId(),safetyInspectDTO.getCycle(),null,safetyInspectDTO,safetyInspectDTO.getOrgType());
|
|
|
- map1= safetyInspectMapper.pitfallDimension(s.getId(),null, safetyInspectDTO, safetyInspectDTO.getOrgType(),3);
|
|
|
- map=safetyInspectMapper.orgDimension(s.getId(),null, safetyInspectDTO, safetyInspectDTO.getOrgType(),3);
|
|
|
+ if (s.getType() != 4) {
|
|
|
+ //次数
|
|
|
+ safetyInspectVOS = safetyInspectMapper.selectSelfByPath(null, s.getPath(), safetyInspectDTO);
|
|
|
+ map1 = safetyInspectMapper.pitfallDimension(null, s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(), 3);
|
|
|
+ //机构维度
|
|
|
+ map = safetyInspectMapper.orgDimension(null, s.getPath(), safetyInspectDTO, safetyInspectDTO.getOrgType(), 3);
|
|
|
+ } else {
|
|
|
+ integer = 1;
|
|
|
+ safetyInspectVOS = safetyInspectMapper.selectSelfByPath(s.getId(), null, safetyInspectDTO);
|
|
|
+ map1 = safetyInspectMapper.pitfallDimension(s.getId(), null, safetyInspectDTO, safetyInspectDTO.getOrgType(), 3);
|
|
|
+ map = safetyInspectMapper.orgDimension(s.getId(), null, safetyInspectDTO, safetyInspectDTO.getOrgType(), 3);
|
|
|
}
|
|
|
safetyInspectVO.setPlanInspectOrg(integer);
|
|
|
- safetyInspectVO.setCity(sysOrg1.getShortName().indexOf("地区行社")==-1?sysOrg1.getShortName().substring(0,2):sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
+ safetyInspectVO.setCity(!sysOrg1.getShortName().contains("地区行社") ? sysOrg1.getShortName().substring(0, 2) : sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
safetyInspectVO.setOrgName(s.getShortName());
|
|
|
safetyInspectVO.setRealityInspectOrg(Integer.valueOf(map.get("realityInspectOrg").toString()));
|
|
|
safetyInspectVO.setInspectCoverRate(map.get("inspectCoverRate").toString());
|
|
|
@@ -172,7 +192,7 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
sysOrg = remoteOrgService.selectSysOrgById(safetyInspectDTO.getOrgId(), SecurityConstants.INNER);
|
|
|
}
|
|
|
orgName = sysOrg.getName();
|
|
|
- List<SafetyInspectVO> safetyInspectVOS = this.report(safetyInspectDTO);
|
|
|
+ List<SafetyInspectVO> safetyInspectVOS = this.report(safetyInspectDTO);
|
|
|
if (ObjectUtil.isEmpty(safetyInspectVOS)) {
|
|
|
throw new RuntimeException("导出数据为空!");
|
|
|
}
|
|
|
@@ -184,11 +204,11 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出");
|
|
|
}
|
|
|
|
|
|
- String baseHeaderName="行社全面检查情况表";
|
|
|
- String header=baseHeaderName+"(" + safetyInspectDTO.getYear() + ")";
|
|
|
+ String baseHeaderName = "行社全面检查情况表";
|
|
|
+ String header = baseHeaderName + "(" + safetyInspectDTO.getYear() + ")";
|
|
|
response.setContentType("application/vnd.ms-excel");
|
|
|
response.setCharacterEncoding("utf-8");
|
|
|
- String fileName = URLEncoder.encode("【" + orgName + "】-"+baseHeaderName + DateHelper.getDateString(new Date()), "UTF-8");
|
|
|
+ String fileName = URLEncoder.encode("【" + orgName + "】-" + baseHeaderName + DateHelper.getDateString(new Date()), "UTF-8");
|
|
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
|
|
// 调用EasyExcel的导出方法
|
|
|
EasyExcel.write(response.getOutputStream(), SafetyInspectVO.class)
|
|
|
@@ -208,7 +228,7 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
sysOrg = remoteOrgService.selectSysOrgById(safetyInspectDTO.getOrgId(), SecurityConstants.INNER);
|
|
|
}
|
|
|
orgName = sysOrg.getName();
|
|
|
- List<SelfInspectVO> safetyInspectVOS = this.selfInspectReport(safetyInspectDTO);
|
|
|
+ List<SelfInspectVO> safetyInspectVOS = this.selfInspectReport(safetyInspectDTO);
|
|
|
if (ObjectUtil.isEmpty(safetyInspectVOS)) {
|
|
|
throw new RuntimeException("导出数据为空!");
|
|
|
}
|
|
|
@@ -219,19 +239,19 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
|
|
|
if (safetyInspectVOS.size() > 10000) {
|
|
|
throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出");
|
|
|
}
|
|
|
- String baseHeaderName="网点负责人自查情况表";
|
|
|
+ String baseHeaderName = "网点负责人自查情况表";
|
|
|
String header;
|
|
|
- if (safetyInspectDTO.getCycle() == 1){
|
|
|
- String startStr = DateUtils.parseDateToStr("yyyy-MM",safetyInspectDTO.getStartTime());
|
|
|
- String endStr = DateUtils.parseDateToStr("yyyy-MM",safetyInspectDTO.getEndTime());
|
|
|
- header=baseHeaderName+"(" + startStr + "至"+endStr+")";
|
|
|
- }else {
|
|
|
- header=baseHeaderName+"(" + safetyInspectDTO.getYear() + ")";
|
|
|
+ if (safetyInspectDTO.getCycle() == 1) {
|
|
|
+ String startStr = DateUtils.parseDateToStr("yyyy-MM", safetyInspectDTO.getStartTime());
|
|
|
+ String endStr = DateUtils.parseDateToStr("yyyy-MM", safetyInspectDTO.getEndTime());
|
|
|
+ header = baseHeaderName + "(" + startStr + "至" + endStr + ")";
|
|
|
+ } else {
|
|
|
+ header = baseHeaderName + "(" + safetyInspectDTO.getYear() + ")";
|
|
|
}
|
|
|
|
|
|
response.setContentType("application/vnd.ms-excel");
|
|
|
response.setCharacterEncoding("utf-8");
|
|
|
- String fileName = URLEncoder.encode("【" + orgName + "】-"+baseHeaderName + DateHelper.getDateString(new Date()), "UTF-8");
|
|
|
+ String fileName = URLEncoder.encode("【" + orgName + "】-" + baseHeaderName + DateHelper.getDateString(new Date()), "UTF-8");
|
|
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
|
|
// 调用EasyExcel的导出方法
|
|
|
EasyExcel.write(response.getOutputStream(), SelfInspectVO.class)
|