|
|
@@ -22,7 +22,9 @@ import com.xunmei.common.core.util.BeanHelper;
|
|
|
import com.xunmei.common.core.utils.DateUtils;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
import com.xunmei.common.redis.utils.RedisUtils;
|
|
|
+import com.xunmei.common.security.utils.DictUtils;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
+import com.xunmei.system.api.domain.SysDictData;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.vo.FindOrgTypes;
|
|
|
import com.xunmei.system.api.vo.SysOrgVO;
|
|
|
@@ -33,6 +35,7 @@ import com.xunmei.system.util.ConstructionDetailExport;
|
|
|
import com.xunmei.system.util.OrgPhysicalDefenseConstructionExport;
|
|
|
import com.xunmei.system.util.SecurityWorkExport;
|
|
|
import io.netty.util.internal.StringUtil;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
@@ -40,6 +43,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -118,95 +122,153 @@ 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();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询机构锁定,如果前端未传递查询机构id,则设置机构id为当前登录人机构id
|
|
|
+ */
|
|
|
+ Long orgId = dept.getId();
|
|
|
+ if (null == orgId) {
|
|
|
+ orgId = SecurityUtils.getLoginUser().getOrgId();
|
|
|
}
|
|
|
- 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());
|
|
|
+ SysOrg sysOrg = baseMapper.selectSysOrgById(orgId);
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据查询机构确定要查的范围:
|
|
|
+ * 1、如果是省联社,办事处,地区行社,需要导出的是行社数据。
|
|
|
+ * 2、如果是行社,需要导出的是营业网点数据。
|
|
|
+ */
|
|
|
+ List<SysOrg> sysOrgs = new ArrayList<>();
|
|
|
+ if (sysOrg.getType() < OrgTypeEnum.HANG_SHE.getCode()
|
|
|
+ || sysOrg.getShortName().endsWith("地区行社")
|
|
|
+ || sysOrg.getType() == OrgTypeEnum.DIQU_HANG_SHE.getCode()) {
|
|
|
+ //判断机构为 省联社,地区行社,办事处时,查询区域内的 行社数据
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(sysOrg.getPath(), OrgTypeEnum.HANG_SHE.getCode());
|
|
|
+ } else if (sysOrg.getType() == OrgTypeEnum.HANG_SHE.getCode()) {
|
|
|
+ //判断查询机构为行社时 查询行社内的营业网点
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(sysOrg.getPath(), OrgTypeEnum.YINGYE_WANGDIAN.getCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *根据查询机构机构,统计查询数据
|
|
|
+ */
|
|
|
+ List<OrgPhysicalDefenseConstructionExport> excelData = getExcelData(sysOrgs);
|
|
|
+ return excelData;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 组装数据
|
|
|
+ * @param orgs
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<OrgPhysicalDefenseConstructionExport> getExcelData(List<SysOrg> orgs){
|
|
|
+ List<OrgPhysicalDefenseConstructionExport> data = new ArrayList<>();
|
|
|
+ OrgPhysicalDefenseConstructionExport export = null;
|
|
|
+ for (SysOrg s : orgs) {
|
|
|
+ export = baseMapper.complianceStatus(s.getPath());
|
|
|
+ export.setCity(s.getAffiliatedArea());
|
|
|
+ export.setOrgName(s.getAffiliatedBank());
|
|
|
+ Integer orgSize = baseMapper.selectNetworkNumberByPath(s.getPath());
|
|
|
Double avg = 0d;
|
|
|
- if (integer != 0 || orgPhysicalDefenseConstructionExport1.getReachNumber() != 0) {
|
|
|
- avg = (double) orgPhysicalDefenseConstructionExport1.getReachNumber() / integer * 100;
|
|
|
+ if (orgSize != 0 || export.getReachNumber() != 0) {
|
|
|
+ avg = (double) export.getReachNumber() / orgSize * 100;
|
|
|
}
|
|
|
- orgPhysicalDefenseConstructionExport.setReachRate(String.valueOf(Double.valueOf(String.format("%.2f", avg))) + "%");
|
|
|
- orgPhysicalDefenseConstructionExport.setNetworkNumber(integer);
|
|
|
- orgPhysicalDefenseConstructionExport.setOrgName(s.getShortName());
|
|
|
+ export.setReachRate(Double.valueOf(String.format("%.2f", avg)) + "%");
|
|
|
+ export.setNetworkNumber(orgSize);
|
|
|
|
|
|
//年度完成
|
|
|
- Integer s1 = baseMapper.rectificationStatus(s.getPath(), "2023");
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
+ String year = String.valueOf(currentDate.getYear());
|
|
|
+ Integer s1 = baseMapper.rectificationStatus(s.getPath(), year);
|
|
|
//2015改造
|
|
|
- Integer s2 = baseMapper.oldRectificationStatus(s.getPath(), "2023");
|
|
|
+ Integer s2 = baseMapper.oldRectificationStatus(s.getPath(), year);
|
|
|
//未完成改造
|
|
|
- Integer s3 = baseMapper.noRectificationStatus(s.getPath(), "2023");
|
|
|
- orgPhysicalDefenseConstructionExport.setNewYearReachNumber(s1);
|
|
|
- orgPhysicalDefenseConstructionExport.setNewYeaTransformOldReachNumber(s2);
|
|
|
- orgPhysicalDefenseConstructionExport.setNewYeaTransformInconformityNumber(s3);
|
|
|
- orgPhysicalDefenseConstructionExports.add(orgPhysicalDefenseConstructionExport);
|
|
|
- });
|
|
|
- return orgPhysicalDefenseConstructionExports;
|
|
|
+ Integer s3 = baseMapper.noRectificationStatus(s.getPath(), year);
|
|
|
+ export.setNewYearReachNumber(s1);
|
|
|
+ export.setNewYeaTransformOldReachNumber(s2);
|
|
|
+ export.setNewYeaTransformInconformityNumber(s3);
|
|
|
+
|
|
|
+ data.add(export);
|
|
|
+ }
|
|
|
+
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<SysOrg> getOrgs(SysOrg org){
|
|
|
+ List<SysOrg> sysOrgs = new ArrayList<>();
|
|
|
+ if (org.getType() < OrgTypeEnum.HANG_SHE.getCode()
|
|
|
+ || org.getShortName().endsWith("地区行社")
|
|
|
+ || org.getType() == OrgTypeEnum.DIQU_HANG_SHE.getCode()) {
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(org.getPath(), OrgTypeEnum.HANG_SHE.getCode());
|
|
|
+ } else if (org.getType() == OrgTypeEnum.HANG_SHE.getCode()) {
|
|
|
+ sysOrgs = this.selectSysOrgByPathAndType(org.getPath(), OrgTypeEnum.YINGYE_WANGDIAN.getCode());
|
|
|
+ }
|
|
|
+ return sysOrgs;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<SecurityWorkExport> getExportData(List<SysOrg> sysOrgs){
|
|
|
+ List<SecurityWorkExport> exports = new ArrayList<>();
|
|
|
+ SecurityWorkExport export = null;
|
|
|
+ for (SysOrg sysOrg : sysOrgs) {
|
|
|
+ export = new SecurityWorkExport();
|
|
|
+ export.setXh(sysOrg.getAffiliatedArea());
|
|
|
+ export.setCity(sysOrg.getAffiliatedBank());
|
|
|
+ export.setOrgName(sysOrg.getShortName());
|
|
|
+
|
|
|
+ //营业网点数量
|
|
|
+ Integer orgSize = baseMapper.selectNetworkNumberByPath(sysOrg.getPath());
|
|
|
+ export.setNetworkNumber(orgSize);
|
|
|
+
|
|
|
+ //营业网点达标
|
|
|
+ Integer reachNumber = baseMapper.getReachNumber(sysOrg.getPath());
|
|
|
+ export.setReachNumber(reachNumber);
|
|
|
+
|
|
|
+ //自有产权
|
|
|
+ Integer ownership = baseMapper.getOwnership(sysOrg.getPath());
|
|
|
+ export.setOwnPropertyNumber(ownership);
|
|
|
+ }
|
|
|
+ return exports;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<SecurityWorkExport> securityWorkExport(SysOrg sysOrg) {
|
|
|
+
|
|
|
+ Long orgId = sysOrg.getId();
|
|
|
if (null == sysOrg.getId()) {
|
|
|
- sysOrg.setId(SecurityUtils.getLoginUser().getOrgId());
|
|
|
- }
|
|
|
- SysOrg sysOrg2 = baseMapper.selectSysOrgById(sysOrg.getId());
|
|
|
- List<SysOrg> sysOrgs;
|
|
|
- if (sysOrg2.getType() < 3 || sysOrg2.getShortName().endsWith("地区行社") || sysOrg2.getType() == 9) {
|
|
|
- sysOrgs = this.selectSysOrgByPathAndType(sysOrg2.getPath(), 3);
|
|
|
- } else if (sysOrg2.getType() == 3) {
|
|
|
- sysOrgs = this.selectSysOrgByPathAndType(sysOrg2.getPath(), 4);
|
|
|
- } else {
|
|
|
- return Collections.emptyList();
|
|
|
+ orgId = SecurityUtils.getLoginUser().getOrgId();
|
|
|
}
|
|
|
+ SysOrg org = baseMapper.selectSysOrgById(orgId);
|
|
|
+ List<SysOrg> sysOrgs = getOrgs(org);
|
|
|
List<SecurityWorkExport> securityWorkExportList = new ArrayList<>();
|
|
|
+ List<SysDictData> brands = DictUtils.getDictCache("org_platform_brand");
|
|
|
+ Map<String,String> brandMap = new HashMap<>();
|
|
|
+ for (SysDictData brand : brands) {
|
|
|
+ brandMap.put(brand.getDictValue(),brand.getDictLabel());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
sysOrgs.forEach(s -> {
|
|
|
SecurityWorkExport securityWorkExport = new SecurityWorkExport();
|
|
|
- SysOrg sysOrg1;
|
|
|
- if (sysOrg2.getType() < 3 || sysOrg2.getShortName().endsWith("地区行社") || sysOrg2.getType() == 9) {
|
|
|
- sysOrg1 = baseMapper.selectSysOrgById(s.getParentId());
|
|
|
- } else {
|
|
|
- sysOrg1 = baseMapper.selectSysOrgById(baseMapper.selectSysOrgById(s.getParentId()).getParentId());
|
|
|
- if (-1 == sysOrg1.getShortName().indexOf("地区行社")) {
|
|
|
- sysOrg1 = baseMapper.selectSysOrgById(baseMapper.selectSysOrgById(baseMapper.selectSysOrgById(s.getParentId()).getParentId()).getParentId());
|
|
|
- }
|
|
|
- }
|
|
|
- securityWorkExport.setCity(sysOrg1.getShortName().indexOf("地区行社") == -1 ? sysOrg1.getShortName().substring(0, 2) : sysOrg1.getShortName().split("地区行社")[0]);
|
|
|
+ securityWorkExport.setCity(s.getAffiliatedArea());
|
|
|
securityWorkExport.setOrgName(s.getShortName());
|
|
|
Integer integer = baseMapper.selectNetworkNumberByPath(s.getPath());
|
|
|
securityWorkExport.setNetworkNumber(integer);
|
|
|
//营业网点达标
|
|
|
Integer reachNumber = baseMapper.getReachNumber(s.getPath());
|
|
|
+ if(reachNumber == null){
|
|
|
+ reachNumber = 0;
|
|
|
+ }
|
|
|
securityWorkExport.setReachNumber(reachNumber);
|
|
|
//自有产权
|
|
|
Integer ownership = baseMapper.getOwnership(s.getPath());
|
|
|
securityWorkExport.setOwnPropertyNumber(ownership);
|
|
|
//区域外网点
|
|
|
+ /**
|
|
|
+ * 区域内和区域外是反着的,0是区域内,1是区域外
|
|
|
+ */
|
|
|
Integer outside = baseMapper.getOutside(s.getPath());
|
|
|
securityWorkExport.setAreaOutsideNumber(outside);
|
|
|
+
|
|
|
//业务库
|
|
|
Map library = baseMapper.getLibrary(s.getPath());
|
|
|
securityWorkExport.setBusinessLibraryTotal(Integer.valueOf(library.get("total").toString()));
|
|
|
@@ -214,17 +276,32 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
securityWorkExport.setTwoLibrary(Integer.valueOf(library.get("two").toString()));
|
|
|
securityWorkExport.setThreeLibrary(Integer.valueOf(library.get("three").toString()));
|
|
|
securityWorkExport.setFourLibrary(Integer.valueOf(library.get("four").toString()));
|
|
|
+
|
|
|
//保管箱库
|
|
|
Integer collectLibrary = baseMapper.getCollectLibrary(s.getPath());
|
|
|
+ collectLibrary = collectLibrary == null ? 0 : collectLibrary;
|
|
|
securityWorkExport.setCollectLibrary(collectLibrary);
|
|
|
+
|
|
|
//在行式
|
|
|
Map onLine = baseMapper.getOnLine(s.getPath());
|
|
|
securityWorkExport.setOnLineTotal(Integer.valueOf(onLine.get("onLineTotal").toString()));
|
|
|
- securityWorkExport.setOnLineReachNumber(Integer.valueOf(onLine.get("onLineReachNumber").toString()));
|
|
|
+ if(onLine.get("onLineReachNumber") != null){
|
|
|
+ securityWorkExport.setOnLineReachNumber(Integer.valueOf(onLine.get("onLineReachNumber").toString()));
|
|
|
+ }else{
|
|
|
+ securityWorkExport.setOnLineReachNumber(0);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//离行式
|
|
|
Map departure = baseMapper.getDeparture(s.getPath());
|
|
|
securityWorkExport.setDepartureTotal(Integer.valueOf(departure.get("departureTotal").toString()));
|
|
|
- securityWorkExport.setDepartureReachNumber(Integer.valueOf(departure.get("departureReachNumber").toString()));
|
|
|
+ if(departure.get("departureReachNumber") != null){
|
|
|
+ securityWorkExport.setDepartureReachNumber(Integer.valueOf(departure.get("departureReachNumber").toString()));
|
|
|
+ }else{
|
|
|
+ securityWorkExport.setDepartureReachNumber(0);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//自助设备
|
|
|
Map selfEquipment = baseMapper.getSelfEquipment(s.getPath());
|
|
|
securityWorkExport.setSelfServiceDevicesTotal(Integer.valueOf(selfEquipment.get("selfServiceDevicesTotal").toString()));
|
|
|
@@ -232,53 +309,86 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
securityWorkExport.setOnLineThroughWalls(Integer.valueOf(selfEquipment.get("onLineThroughWalls").toString()));
|
|
|
securityWorkExport.setDepartureLobbyImplement(Integer.valueOf(selfEquipment.get("departureLobbyImplement").toString()));
|
|
|
securityWorkExport.setDepartureThroughWalls(Integer.valueOf(selfEquipment.get("departureThroughWalls").toString()));
|
|
|
+
|
|
|
+
|
|
|
//中心建设时间
|
|
|
- Map centerConstruction = baseMapper.getCenterConstruction(s.getId());
|
|
|
+ //获取当前机构辖区内的监控中心数据
|
|
|
+
|
|
|
+ Map centerConstruction = baseMapper.getCenterConstruction(s.getPath());
|
|
|
if (null != centerConstruction) {
|
|
|
- securityWorkExport.setCenterConstructionTime(centerConstruction.get("centerConstructionTime").toString());
|
|
|
- securityWorkExport.setTransformTime(centerConstruction.get("transformTime").toString());
|
|
|
- securityWorkExport.setBrand(centerConstruction.get("brand").toString());
|
|
|
+ if(centerConstruction.get("centerConstructionTime") != null){
|
|
|
+ securityWorkExport.setCenterConstructionTime(centerConstruction.get("centerConstructionTime").toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if(centerConstruction.get("transformTime") != null){
|
|
|
+ securityWorkExport.setTransformTime(centerConstruction.get("transformTime").toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if(centerConstruction.get("brand") != null){
|
|
|
+ securityWorkExport.setBrand(brandMap.get(centerConstruction.get("brand").toString()));
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//高清摄像头
|
|
|
Map camera = baseMapper.getCamera(s.getPath());
|
|
|
securityWorkExport.setCameraTotal(Integer.valueOf(camera.get("cameraTotal").toString()));
|
|
|
securityWorkExport.setDefinitionNumber(Integer.valueOf(camera.get("definitionNumber").toString()));
|
|
|
+
|
|
|
+
|
|
|
//是否实现远程控制
|
|
|
Map remote = baseMapper.getRemote(s.getPath());
|
|
|
securityWorkExport.setCashAddingRoom(Integer.valueOf(remote.get("cashAddingRoom").toString()));
|
|
|
securityWorkExport.setRemoteCount(Integer.valueOf(remote.get("remoteCount").toString()));
|
|
|
+
|
|
|
+
|
|
|
//夜间值守
|
|
|
Map duty = baseMapper.getDuty(s.getPath());
|
|
|
securityWorkExport.setLocalDutyNetworkNumber(Integer.valueOf(duty.get("localDutyNetworkNumber").toString()));
|
|
|
securityWorkExport.setRemoteDutyNetworkNumber(Integer.valueOf(duty.get("remoteDutyNetworkNumber").toString()));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//独立机构
|
|
|
Integer alone = baseMapper.getAlone(s.getPath());
|
|
|
- securityWorkExport.setIsAlone(alone);
|
|
|
+ if(alone > 0){
|
|
|
+ securityWorkExport.setIsAlone("是");
|
|
|
+ }else{
|
|
|
+ securityWorkExport.setIsAlone("否");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//部门负责人
|
|
|
Integer y = baseMapper.getManager(s.getPath(), "Y");
|
|
|
Integer n = baseMapper.getManager(s.getPath(), "N");
|
|
|
securityWorkExport.setManagerFullTime(y);
|
|
|
securityWorkExport.setManagerPartTime(n);
|
|
|
+
|
|
|
+
|
|
|
//部门负责人持证
|
|
|
Integer managerCertificate = baseMapper.getManagerCertificate(s.getPath());
|
|
|
securityWorkExport.setManagerCertificate(managerCertificate);
|
|
|
+
|
|
|
//是否设主任
|
|
|
String isMonitor = baseMapper.getIsMonitor(s.getPath(), "2");
|
|
|
String isMonitor1 = baseMapper.getIsMonitor(s.getPath(), "5");
|
|
|
securityWorkExport.setIsLeader(isMonitor);
|
|
|
securityWorkExport.setIsTechnology(isMonitor1);
|
|
|
+
|
|
|
//监控中心人员
|
|
|
Map monitorPeople = baseMapper.getMonitorPeople(s.getPath());
|
|
|
securityWorkExport.setMonitorTotal(Integer.valueOf(monitorPeople.get("monitorTotal").toString()));
|
|
|
securityWorkExport.setInnerPeople(Integer.valueOf(monitorPeople.get("innerPeople").toString()));
|
|
|
securityWorkExport.setOutPeople(Integer.valueOf(monitorPeople.get("outPeople").toString()));
|
|
|
+
|
|
|
//安保人数
|
|
|
Map certificate = baseMapper.getCertificate(s.getPath());
|
|
|
securityWorkExport.setCertificatePeopleNumber(Integer.valueOf(certificate.get("certificatePeopleNumber").toString()));
|
|
|
securityWorkExport.setCertificateTotal(Integer.valueOf(certificate.get("certificateTotal").toString()));
|
|
|
securityWorkExport.setInternalCertificateNumber(Integer.valueOf(certificate.get("internalCertificateNumber").toString()));
|
|
|
securityWorkExport.setOutsourceCertificateNumber(Integer.valueOf(certificate.get("outsourceCertificateNumber").toString()));
|
|
|
+
|
|
|
+
|
|
|
//配有保安网点数
|
|
|
Integer haveSecurityNetworkNumber = baseMapper.getHaveSecurityNetworkNumber(s.getPath());
|
|
|
securityWorkExport.setHaveSecurityNetworkNumber(haveSecurityNetworkNumber);
|
|
|
@@ -339,10 +449,13 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
|
|
|
@Override
|
|
|
public List<ConstructionDetailExport> selectConstructionDetail(SysOrg dept) {
|
|
|
- if (null == dept.getPath()) {
|
|
|
+ String path = dept.getPath();
|
|
|
+ if (StringUtils.isEmpty(path)) {
|
|
|
dept.setPath(baseMapper.selectSysOrgById(SecurityUtils.getLoginUser().getOrgId()).getPath());
|
|
|
}
|
|
|
+
|
|
|
List<ConstructionDetailExport> constructionDetailExports = baseMapper.selectConstructionDetail(dept.getPath());
|
|
|
+
|
|
|
//hang
|
|
|
constructionDetailExports.forEach(c -> {
|
|
|
SysOrg sysOrg = baseMapper.selectSysOrgById(c.getOrgId());
|
|
|
@@ -351,18 +464,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
SysOrg sysOrg1 = baseMapper.selectSysOrgById(sysOrg.getParentId());
|
|
|
c.setOrgName(sysOrg1.getShortName());
|
|
|
SysOrg sysOrg2;
|
|
|
-// if (null!=sysOrg1.getType()){
|
|
|
-// if (sysOrg1.getType() < 3 || sysOrg1.getShortName().endsWith("地区行社") || sysOrg1.getType() == 9) {
|
|
|
-// sysOrg2 = sysOrgMapper.selectSysOrgById(sysOrg1.getParentId());
|
|
|
-// } else {
|
|
|
-// sysOrg2 = sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(sysOrg1.getParentId()).getParentId());
|
|
|
-// if (-1 == sysOrg1.getShortName().indexOf("地区行社")) {
|
|
|
-// sysOrg2 = sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(sysOrgMapper.selectSysOrgById(sysOrg1.getParentId()).getParentId()).getParentId());
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }else {
|
|
|
sysOrg2 = baseMapper.selectSysOrgById(sysOrg1.getParentId());
|
|
|
- // }
|
|
|
c.setCity(sysOrg2.getShortName().indexOf("地区行社") == -1 ? sysOrg2.getShortName().substring(0, 2) : sysOrg2.getShortName().split("地区行社")[0]);
|
|
|
});
|
|
|
return constructionDetailExports;
|
|
|
@@ -412,6 +514,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
}
|
|
|
queryWrapper.likeRight("path", path);
|
|
|
queryWrapper.eq("deleted", 0);
|
|
|
+ queryWrapper.eq("is_lock", 0);
|
|
|
List list = baseMapper.selectList(queryWrapper);
|
|
|
return list;
|
|
|
}
|
|
|
@@ -519,6 +622,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
wrapper.likeRight(SysOrg::getPath, orgPath);
|
|
|
wrapper.eq(SysOrg::getType, orgType);
|
|
|
wrapper.eq(SysOrg::getDeleted, 0);
|
|
|
+ wrapper.eq(SysOrg::getIsLock, 0);
|
|
|
return sysOrgMapper.selectList(wrapper);
|
|
|
}
|
|
|
|
|
|
@@ -860,8 +964,8 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
|
|
|
.collect(Collectors.toList());
|
|
|
} else {
|
|
|
result = sysOrgList.stream()
|
|
|
- .filter(sysOrg -> ObjectUtil.equal(sysOrg.getParentId(), org.getId()))
|
|
|
- //.filter(sysOrg -> sysOrg.getPath().startsWith(org.getPath()))
|
|
|
+ //.filter(sysOrg -> ObjectUtil.equal(sysOrg.getParentId(), org.getId()))
|
|
|
+ .filter(sysOrg -> sysOrg.getPath().startsWith(org.getPath()))
|
|
|
.sorted(Comparator.comparing(SysOrg::getSort))
|
|
|
.filter(sysOrg -> ObjectUtil.equal(sysOrg.getIsLock(), 0) && ObjectUtil.equal(sysOrg.getDeleted(), 0))
|
|
|
.collect(Collectors.toList());
|