Browse Source

Merge remote-tracking branch 'origin/dev_5big_coverage' into dev_5big_coverage

feature/evaluate
jianjun 3 years ago
parent
commit
12502245d1
  1. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java
  2. 3
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  3. 42
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  4. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java
  5. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java
  6. 29
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java
  7. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java
  8. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/CoverageController.java

@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -34,13 +35,12 @@ public class CoverageController {
List<String> coverageTypes = input.getCoverageTypes(); List<String> coverageTypes = input.getCoverageTypes();
List<String> categoryKeys = input.getCategoryKeys(); List<String> categoryKeys = input.getCategoryKeys();
if (CollectionUtils.isEmpty(coverageTypes)) { if (CollectionUtils.isEmpty(coverageTypes)) {
return new Result(); return new Result().ok(new PageData<>(new ArrayList<>(), 0));
} }
List<CoverageAnalisisDataListResultDTO> l = coverageService.analysisDataList(coverageTypes, categoryKeys, PageData<CoverageAnalisisDataListResultDTO> page = coverageService.analysisDataList(coverageTypes, categoryKeys,
input.getSearch(), input.getPageNo(), input.getPageSize(), input.getIsPage()); input.getSearch(), input.getPageNo(), input.getPageSize(), input.getIsPage());
PageInfo<CoverageAnalisisDataListResultDTO> pageInfo = new PageInfo<>(l); return new Result<PageData<CoverageAnalisisDataListResultDTO>>().ok(page);
return new Result<PageData<CoverageAnalisisDataListResultDTO>>().ok(new PageData<>(l, pageInfo.getTotal()));
} }
} }

3
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.service; package com.epmet.dataaggre.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO; import com.epmet.dataaggre.dto.govorg.result.CoverageAnalisisDataListResultDTO;
import java.util.List; import java.util.List;
@ -17,6 +18,6 @@ public interface CoverageService {
* @param pageSize 页面大小 * @param pageSize 页面大小
* @return * @return
*/ */
List<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys, PageData<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys,
String search, Integer pageNo, Integer pageSize, Boolean isPage); String search, Integer pageNo, Integer pageSize, Boolean isPage);
} }

42
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.impl;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache;
import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.EpmetRequestHolder;
@ -75,7 +76,7 @@ public class CoverageServiceImpl implements CoverageService {
* @return * @return
*/ */
@Override @Override
public List<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys, public PageData<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys,
String search, Integer pageNo, Integer pageSize, Boolean isPage) { String search, Integer pageNo, Integer pageSize, Boolean isPage) {
String customerId = EpmetRequestHolder.getLoginUserCustomerId(); String customerId = EpmetRequestHolder.getLoginUserCustomerId();
@ -109,8 +110,16 @@ public class CoverageServiceImpl implements CoverageService {
// 总共查询了多少个了 // 总共查询了多少个了
int lastTotalCount = 0; int lastTotalCount = 0;
int totalCount = 0; int totalCount = 0;
// 是否出现要展示的数据
boolean dataAppear = false; boolean dataAppear = false;
// 是否是第一次出现需要展示的数据
boolean firstTimeDataAppear = false;
// 数据是否够了,够了就不再查询数据
boolean isDataEnough = false;
// 结果集 // 结果集
List<CoverageAnalisisDataListResultDTO> rls = new ArrayList<>(); List<CoverageAnalisisDataListResultDTO> rls = new ArrayList<>();
for (String coverageType : coverageTypes) { for (String coverageType : coverageTypes) {
@ -119,7 +128,11 @@ public class CoverageServiceImpl implements CoverageService {
continue; continue;
} }
for (GovOrgCoverageService.CategoryCoverageMapping e : ccm) { for (GovOrgCoverageService.CategoryCoverageMapping e : ccm) {
boolean firstTimeDataAppear = false;
Integer tempCount = doDataListCount(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(),
e.getCategoryKey(), search);
lastTotalCount = totalCount;
totalCount += tempCount;
if (!isPage) { if (!isPage) {
// 不分页,查询所有 // 不分页,查询所有
@ -131,19 +144,18 @@ public class CoverageServiceImpl implements CoverageService {
continue; continue;
} }
// 查询当前category有多少个
if (!dataAppear) {
Integer tempCount = doDataListCount(EpmetRequestHolder.getLoginUserCustomerId(), agencyId, staffPids, e.getPlaceType(),
e.getCategoryKey(), search);
lastTotalCount = totalCount;
totalCount += tempCount;
if (totalCount > start) { if (totalCount > start) {
if (!dataAppear) {
dataAppear = true; dataAppear = true;
firstTimeDataAppear = true; firstTimeDataAppear = true;
}
} else { } else {
continue; continue;
} }
if (isDataEnough) {
// 数据够了,则不再查询数据列表,只检索数量,用于分页条显示
continue;
} }
// 检索数据 // 检索数据
@ -153,19 +165,23 @@ public class CoverageServiceImpl implements CoverageService {
if (firstTimeDataAppear) { if (firstTimeDataAppear) {
rls.addAll(dataSegment.subList(start - lastTotalCount, dataSegment.size())); rls.addAll(dataSegment.subList(start - lastTotalCount, dataSegment.size()));
firstTimeDataAppear = false;
} else { } else {
rls.addAll(dataSegment); rls.addAll(dataSegment);
} }
firstTimeDataAppear = false;
// 最后,将多余的数据裁剪掉 // 最后,将多余的数据裁剪掉
if (rls.size() >= pageSize) { if (rls.size() >= pageSize) {
return rls.subList(0, pageSize); isDataEnough = true;
} }
} }
} }
return rls;
if (isPage && rls.size() >= pageSize) {
return new PageData<>(rls.subList(0, pageSize), totalCount);
} else {
return new PageData<>(rls, totalCount);
}
} }
/** /**

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcEnterpriseController.java

@ -159,8 +159,8 @@ public class IcEnterpriseController implements ResultDataResolver {
* @return * @return
*/ */
@PostMapping("delete/{enterpriseId}") @PostMapping("delete/{enterpriseId}")
public Result delete(@PathVariable("enterpriseId") String enterpriseId) { public Result delete(@LoginUser TokenDto tokenDto,@PathVariable("enterpriseId") String enterpriseId) {
icEnterpriseService.delete(enterpriseId); icEnterpriseService.delete(enterpriseId,tokenDto.getCustomerId(),tokenDto.getUserId());
return new Result(); return new Result();
} }

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcEnterpriseService.java

@ -58,7 +58,7 @@ public interface IcEnterpriseService extends BaseService<IcEnterpriseEntity> {
* @param enterpriseId * @param enterpriseId
* @return * @return
*/ */
void delete(String enterpriseId); void delete(String enterpriseId,String customerId,String userId);
/** /**
* 企事业单位列表 * 企事业单位列表

29
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcEnterpriseServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
@ -116,7 +117,7 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
if (!staffInfo.getAgencyId().equals(origin.getAgencyId())) { if (!staffInfo.getAgencyId().equals(origin.getAgencyId())) {
AgencyInfoCache orginAgencyInfo = CustomerOrgRedis.getAgencyInfo(origin.getAgencyId()); AgencyInfoCache orginAgencyInfo = CustomerOrgRedis.getAgencyInfo(origin.getAgencyId());
String agencyName = null != orginAgencyInfo ? orginAgencyInfo.getOrganizationName() : StrConstant.EPMETY_STR; String agencyName = null != orginAgencyInfo ? orginAgencyInfo.getOrganizationName() : StrConstant.EPMETY_STR;
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("当前场所属于%s,您无权编辑", agencyName)); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("修改失败,当前场所属于%s", agencyName));
} }
enterpriseEntity.setId(formDTO.getEnterpriseId()); enterpriseEntity.setId(formDTO.getEnterpriseId());
baseDao.updateById(enterpriseEntity); baseDao.updateById(enterpriseEntity);
@ -134,8 +135,6 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
@Override @Override
public String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO) { public String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO) {
IcEnterprisePatrolRecordEntity patrolRecordEntity=ConvertUtils.sourceToTarget(formDTO,IcEnterprisePatrolRecordEntity.class); IcEnterprisePatrolRecordEntity patrolRecordEntity=ConvertUtils.sourceToTarget(formDTO,IcEnterprisePatrolRecordEntity.class);
//校验名称唯一
// todo
if(StringUtils.isBlank(formDTO.getPatrolId())){ if(StringUtils.isBlank(formDTO.getPatrolId())){
enterprisePatrolRecordDao.insert(patrolRecordEntity); enterprisePatrolRecordDao.insert(patrolRecordEntity);
}else{ }else{
@ -157,7 +156,7 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
sort++; sort++;
} }
// 更新主表的最新结果和最新检查时间 // 更新主表的最新结果和最新检查时间
baseDao.updateLatestPatrol(formDTO.getEnterpriseId(),patrolRecordEntity.getUpdatedTime(),patrolRecordEntity.getResult(),formDTO.getUserId()); baseDao.updateLatestPatrol(formDTO.getEnterpriseId(),patrolRecordEntity.getPatrolTime(),patrolRecordEntity.getResult(),formDTO.getUserId());
return patrolRecordEntity.getId(); return patrolRecordEntity.getId();
} }
@ -169,10 +168,20 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void delPatrol(String patrolId,String currentUserId) { public void delPatrol(String patrolId,String currentUserId) {
IcEnterprisePatrolRecordEntity origin=enterprisePatrolRecordDao.selectById(patrolId);
if(null==origin){
return;
}
//1、删除巡查记录 //1、删除巡查记录
enterprisePatrolRecordDao.deleteById(patrolId); enterprisePatrolRecordDao.deleteById(patrolId);
//2、删除之前的图片 //2、删除之前的图片
enterprisePatrolAttachmentDao.deleteByPatrolId(patrolId,currentUserId); enterprisePatrolAttachmentDao.deleteByPatrolId(patrolId,currentUserId);
//3、如果是记录清空,那主表的最近一次巡查时间和最新结果也置空
LambdaQueryWrapper<IcEnterprisePatrolRecordEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(IcEnterprisePatrolRecordEntity::getEnterpriseId,origin.getEnterpriseId());
if (NumConstant.ZERO == enterprisePatrolRecordDao.selectCount(queryWrapper)) {
baseDao.updateLatestPatrol(origin.getEnterpriseId(),null,StrConstant.EPMETY_STR,currentUserId);
}
} }
/** /**
@ -234,9 +243,15 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void delete(String enterpriseId) { public void delete(String enterpriseId, String customerId, String userId) {
//要删除的记录的agencyId要与当前登录用户的agencyId一致 //如果是编辑判断下权限要删除的记录的agencyId要与当前登录用户的agencyId一致
//ToDo IcEnterpriseEntity origin = baseDao.selectById(enterpriseId);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId);
if (!staffInfo.getAgencyId().equals(origin.getAgencyId())) {
AgencyInfoCache orginAgencyInfo = CustomerOrgRedis.getAgencyInfo(origin.getAgencyId());
String agencyName = null != orginAgencyInfo ? orginAgencyInfo.getOrganizationName() : StrConstant.EPMETY_STR;
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("删除失败,当前场所属于%s", agencyName));
}
baseDao.deleteById(enterpriseId); baseDao.deleteById(enterpriseId);
} }

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcPlaceOrgServiceImpl.java

@ -93,7 +93,7 @@ public class IcPlaceOrgServiceImpl extends BaseServiceImpl<IcPlaceOrgDao, IcPlac
if (!staffInfo.getAgencyId().equals(entity.getAgencyId())) { if (!staffInfo.getAgencyId().equals(entity.getAgencyId())) {
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(entity.getAgencyId()); AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(entity.getAgencyId());
String agencyName = null != agencyInfoCache ? agencyInfoCache.getOrganizationName() : StrConstant.EPMETY_STR; String agencyName = null != agencyInfoCache ? agencyInfoCache.getOrganizationName() : StrConstant.EPMETY_STR;
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("当前九小场所属于%s,您无权编辑", agencyName)); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("编辑失败,当前九小场所属于%s", agencyName));
} }
entity = ConvertUtils.sourceToTarget(formDTO, IcPlaceOrgEntity.class); entity = ConvertUtils.sourceToTarget(formDTO, IcPlaceOrgEntity.class);
entity.setId(formDTO.getPlaceOrgId()); entity.setId(formDTO.getPlaceOrgId());

2
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcEnterpriseDao.xml

@ -31,7 +31,7 @@
update ic_enterprise update ic_enterprise
set LATEST_RESULT = #{result}, set LATEST_RESULT = #{result},
UPDATED_BY = #{userId}, UPDATED_BY = #{userId},
UPDATED_TIME=NOW(), UPDATED_TIME = NOW(),
LATEST_PATROL_TIME = #{updatedTime} LATEST_PATROL_TIME = #{updatedTime}
WHERE ID = #{enterpriseId} WHERE ID = #{enterpriseId}
</update> </update>

Loading…
Cancel
Save