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. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/CoverageService.java
  3. 50
      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. 31
      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.RestController;
import java.util.ArrayList;
import java.util.List;
/**
@ -34,13 +35,12 @@ public class CoverageController {
List<String> coverageTypes = input.getCoverageTypes();
List<String> categoryKeys = input.getCategoryKeys();
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());
PageInfo<CoverageAnalisisDataListResultDTO> pageInfo = new PageInfo<>(l);
return new Result<PageData<CoverageAnalisisDataListResultDTO>>().ok(new PageData<>(l, pageInfo.getTotal()));
return new Result<PageData<CoverageAnalisisDataListResultDTO>>().ok(page);
}
}

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

50
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.exception.EpmetErrorCode;
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.bean.BuildingInfoCache;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
@ -75,8 +76,8 @@ public class CoverageServiceImpl implements CoverageService {
* @return
*/
@Override
public List<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys,
String search, Integer pageNo, Integer pageSize, Boolean isPage) {
public PageData<CoverageAnalisisDataListResultDTO> analysisDataList(List<String> coverageTypes, List<String> categoryKeys,
String search, Integer pageNo, Integer pageSize, Boolean isPage) {
String customerId = EpmetRequestHolder.getLoginUserCustomerId();
String staffId = EpmetRequestHolder.getLoginUserId();
@ -109,8 +110,16 @@ public class CoverageServiceImpl implements CoverageService {
// 总共查询了多少个了
int lastTotalCount = 0;
int totalCount = 0;
// 是否出现要展示的数据
boolean dataAppear = false;
// 是否是第一次出现需要展示的数据
boolean firstTimeDataAppear = false;
// 数据是否够了,够了就不再查询数据
boolean isDataEnough = false;
// 结果集
List<CoverageAnalisisDataListResultDTO> rls = new ArrayList<>();
for (String coverageType : coverageTypes) {
@ -119,7 +128,11 @@ public class CoverageServiceImpl implements CoverageService {
continue;
}
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) {
// 不分页,查询所有
@ -131,19 +144,18 @@ public class CoverageServiceImpl implements CoverageService {
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;
firstTimeDataAppear = true;
} else {
continue;
}
} else {
continue;
}
if (isDataEnough) {
// 数据够了,则不再查询数据列表,只检索数量,用于分页条显示
continue;
}
// 检索数据
@ -153,19 +165,23 @@ public class CoverageServiceImpl implements CoverageService {
if (firstTimeDataAppear) {
rls.addAll(dataSegment.subList(start - lastTotalCount, dataSegment.size()));
firstTimeDataAppear = false;
} else {
rls.addAll(dataSegment);
}
firstTimeDataAppear = false;
// 最后,将多余的数据裁剪掉
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
*/
@PostMapping("delete/{enterpriseId}")
public Result delete(@PathVariable("enterpriseId") String enterpriseId) {
icEnterpriseService.delete(enterpriseId);
public Result delete(@LoginUser TokenDto tokenDto,@PathVariable("enterpriseId") String enterpriseId) {
icEnterpriseService.delete(enterpriseId,tokenDto.getCustomerId(),tokenDto.getUserId());
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
* @return
*/
void delete(String enterpriseId);
void delete(String enterpriseId,String customerId,String userId);
/**
* 企事业单位列表

31
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;
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.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
@ -116,7 +117,7 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
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));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "", String.format("修改失败,当前场所属于%s", agencyName));
}
enterpriseEntity.setId(formDTO.getEnterpriseId());
baseDao.updateById(enterpriseEntity);
@ -134,8 +135,6 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
@Override
public String addOrUpdatePatrol(EnterprisePatrolFormDTO formDTO) {
IcEnterprisePatrolRecordEntity patrolRecordEntity=ConvertUtils.sourceToTarget(formDTO,IcEnterprisePatrolRecordEntity.class);
//校验名称唯一
// todo
if(StringUtils.isBlank(formDTO.getPatrolId())){
enterprisePatrolRecordDao.insert(patrolRecordEntity);
}else{
@ -157,7 +156,7 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
sort++;
}
// 更新主表的最新结果和最新检查时间
baseDao.updateLatestPatrol(formDTO.getEnterpriseId(),patrolRecordEntity.getUpdatedTime(),patrolRecordEntity.getResult(),formDTO.getUserId());
baseDao.updateLatestPatrol(formDTO.getEnterpriseId(),patrolRecordEntity.getPatrolTime(),patrolRecordEntity.getResult(),formDTO.getUserId());
return patrolRecordEntity.getId();
}
@ -169,10 +168,20 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
@Transactional(rollbackFor = Exception.class)
@Override
public void delPatrol(String patrolId,String currentUserId) {
IcEnterprisePatrolRecordEntity origin=enterprisePatrolRecordDao.selectById(patrolId);
if(null==origin){
return;
}
//1、删除巡查记录
enterprisePatrolRecordDao.deleteById(patrolId);
//2、删除之前的图片
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,10 +243,16 @@ public class IcEnterpriseServiceImpl extends BaseServiceImpl<IcEnterpriseDao, Ic
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void delete(String enterpriseId) {
//要删除的记录的agencyId要与当前登录用户的agencyId一致
//ToDo
baseDao.deleteById(enterpriseId);
public void delete(String enterpriseId, String customerId, String userId) {
//如果是编辑判断下权限要删除的记录的agencyId要与当前登录用户的agencyId一致
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);
}
/**

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())) {
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(entity.getAgencyId());
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.setId(formDTO.getPlaceOrgId());

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

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

Loading…
Cancel
Save