|
|
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.constant.CacheConstants;
|
|
|
import com.xunmei.common.core.constant.Constants;
|
|
|
import com.xunmei.common.core.constant.ErrorMsgConstants;
|
|
|
+import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.domain.OrgTreeReq;
|
|
|
import com.xunmei.common.core.domain.OrgTreeResp;
|
|
|
import com.xunmei.common.core.enums.OrgTypeEnum;
|
|
|
@@ -26,7 +27,9 @@ import com.xunmei.system.api.vo.SysOrgVO;
|
|
|
import com.xunmei.system.mapper.SysOrgMapper;
|
|
|
import com.xunmei.system.mapper.SysUserMapper;
|
|
|
import com.xunmei.system.service.ISysOrgService;
|
|
|
+import com.xunmei.system.util.OrgPhysicalDefenseConstructionExport;
|
|
|
import io.netty.util.internal.StringUtil;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -93,6 +96,62 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<OrgPhysicalDefenseConstructionExport> excel(SysOrg dept) {
|
|
|
+ if (null==dept.getId()){
|
|
|
+ dept.setId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
+ }
|
|
|
+ SysOrg sysOrg = baseMapper.selectSysOrgById(dept.getId());
|
|
|
+ List<SysOrg> sysOrgs;
|
|
|
+ if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(sysOrg.getPath(), 3);
|
|
|
+ }else if (sysOrg.getType() == 3) {
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(sysOrg.getPath(), 4);
|
|
|
+ }else {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ List<OrgPhysicalDefenseConstructionExport>orgPhysicalDefenseConstructionExports=new ArrayList<>();
|
|
|
+ sysOrgs.forEach(s->{
|
|
|
+ OrgPhysicalDefenseConstructionExport orgPhysicalDefenseConstructionExport=new OrgPhysicalDefenseConstructionExport();
|
|
|
+ SysOrg sysOrg1;
|
|
|
+ if (sysOrg.getType() < 3 || sysOrg.getShortName().endsWith("地区行社") || sysOrg.getType() == 9) {
|
|
|
+ sysOrg1 = sysOrgMapper.selectSysOrgById(s.getParentId());
|
|
|
+ } else {
|
|
|
+ sysOrg1 = sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(s.getParentId()).getParentId());
|
|
|
+ if (-1 == sysOrg1.getShortName().indexOf("地区行社")) {
|
|
|
+ sysOrg1 = sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(s.getParentId()).getParentId()).getParentId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ OrgPhysicalDefenseConstructionExport orgPhysicalDefenseConstructionExport1 = baseMapper.complianceStatus(s.getPath());
|
|
|
+ BeanUtils.copyProperties(orgPhysicalDefenseConstructionExport1,orgPhysicalDefenseConstructionExport);
|
|
|
+ orgPhysicalDefenseConstructionExport.setCity(sysOrg1.getShortName().indexOf("地区行社")==-1?sysOrg1.getShortName().substring(0,2):sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
+ Integer integer = baseMapper.selectNetworkNumberByPath(s.getPath());
|
|
|
+ orgPhysicalDefenseConstructionExport.setNetworkNumber(integer);
|
|
|
+ orgPhysicalDefenseConstructionExport.setOrgName(s.getShortName());
|
|
|
+
|
|
|
+ //年度完成
|
|
|
+ Integer s1 = baseMapper.rectificationStatus(s.getPath(), "2023");
|
|
|
+ //2015改造
|
|
|
+ Integer s2 = baseMapper.oldRectificationStatus(s.getPath(), "2023");
|
|
|
+ //未完成改造
|
|
|
+ Integer s3 = baseMapper.noRectificationStatus(s.getPath(), "2023");
|
|
|
+ orgPhysicalDefenseConstructionExport.setNewYearReachNumber(s1);
|
|
|
+ orgPhysicalDefenseConstructionExport.setNewYeaTransformOldReachNumber(s2);
|
|
|
+ orgPhysicalDefenseConstructionExport.setNewYeaTransformInconformityNumber(s3);
|
|
|
+ orgPhysicalDefenseConstructionExports.add(orgPhysicalDefenseConstructionExport);
|
|
|
+ });
|
|
|
+ return orgPhysicalDefenseConstructionExports;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SysOrg> selectSysOrgByPathAndType(String path, Integer type) {
|
|
|
+ QueryWrapper queryWrapper = new QueryWrapper();
|
|
|
+ queryWrapper.likeRight("path", path);
|
|
|
+ queryWrapper.eq("type",type);
|
|
|
+ queryWrapper.eq("deleted",0);
|
|
|
+ return sysOrgMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public List<Long> selectCheckSubOrgIdList(Long orgId) {
|
|
|
return sysOrgMapper.selectCheckSubOrgIdList(orgId);
|
|
|
}
|