Browse Source

Merge remote-tracking branch 'origin/yantai_zhengwu_master' into dev

master
yinzuomei 2 years ago
parent
commit
bc4c996af5
  1. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CommunityBuildingManagerController.java
  2. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CommunityBuildingManagerController.java

@ -25,7 +25,6 @@ import com.epmet.dto.result.yt.CommunityBuildingManagerResultDTO;
import com.epmet.service.CommunityBuildingManagerService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
@ -92,10 +91,10 @@ public class CommunityBuildingManagerController {
public Result save(@LoginUser TokenDto tokenDto,@RequestBody CommunityBuildingManagerDTO dto){
dto.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(dto, CommunityBuildingManagerDTO.AddShowGroup.class);
//类型:0楼长;1单元长
/* //类型:0楼长;1单元长
if("1".equals(dto.getType())&& StringUtils.isBlank(dto.getUnitId())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"单元长必须选择所属单元","单元长必须选择所属单元");
}
}*/
communityBuildingManagerService.save(dto);
return new Result();
}
@ -110,10 +109,10 @@ public class CommunityBuildingManagerController {
@PostMapping("update")
public Result update(@RequestBody CommunityBuildingManagerDTO dto){
ValidatorUtils.validateEntity(dto, CommunityBuildingManagerDTO.UpdateShowGroup.class);
//类型:0楼长;1单元长
/* //类型:0楼长;1单元长
if("1".equals(dto.getType())&& StringUtils.isBlank(dto.getUnitId())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"单元长必须选择所属单元","单元长必须选择所属单元");
}
}*/
communityBuildingManagerService.update(dto);
return new Result();
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java

@ -1,10 +1,12 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
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.exception.ValidateException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -21,6 +23,7 @@ import com.epmet.service.CommunityBuildingManagerService;
import com.epmet.service.CustomerGridService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@ -105,13 +108,27 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CommunityBuildingManagerDTO addFormDto) {
// 唯一性判断,同一个楼可以有多个楼长吗?待定。。。
// 唯一性判断,类型+楼栋id或者类型+单元id唯一
checkUnqiue(addFormDto.getType(),addFormDto.getBuildingId(),addFormDto.getUnitId(),null);
CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(addFormDto, CommunityBuildingManagerEntity.class);
CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(addFormDto.getGridId());
entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids()));
insert(entity);
}
private void checkUnqiue(String type, String buildingId, String unitId, String id) {
// 1号楼只允许有一个楼长
// 1号楼只允许有一个单元长
LambdaQueryWrapper<CommunityBuildingManagerEntity> countQuery=new LambdaQueryWrapper<>();
countQuery.eq(CommunityBuildingManagerEntity::getType,type)
.eq(CommunityBuildingManagerEntity::getBuildingId,buildingId)
.eq(StringUtils.isNotBlank(unitId),CommunityBuildingManagerEntity::getUnitId,unitId)
.ne(StringUtils.isNotBlank(id),CommunityBuildingManagerEntity::getId,id);
if(baseDao.selectCount(countQuery)>NumConstant.ZERO){
throw new ValidateException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"所选楼栋(单元)已存在楼长(单元长)");
}
}
/**
* 编辑楼长/单元长
* todo: 同步到具体的楼栋
@ -122,6 +139,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CommunityBuildingManagerDTO updateFormDto) {
checkUnqiue(updateFormDto.getType(),updateFormDto.getBuildingId(),updateFormDto.getUnitId(),updateFormDto.getId());
CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(updateFormDto, CommunityBuildingManagerEntity.class);
CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(updateFormDto.getGridId());
entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids()));

Loading…
Cancel
Save