Browse Source

楼长单元长这,同一个楼,只允许有一个楼长,同一个单元,只允许有一个单元长。

dev
yinzuomei 2 years ago
parent
commit
a8025880e7
  1. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java

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; 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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
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.exception.ValidateException;
import com.epmet.commons.tools.page.PageData; 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.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
@ -21,6 +23,7 @@ import com.epmet.service.CommunityBuildingManagerService;
import com.epmet.service.CustomerGridService; import com.epmet.service.CustomerGridService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -105,13 +108,27 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(CommunityBuildingManagerDTO addFormDto) { public void save(CommunityBuildingManagerDTO addFormDto) {
// 唯一性判断,同一个楼可以有多个楼长吗?待定。。。 // 唯一性判断,类型+楼栋id或者类型+单元id唯一
checkUnqiue(addFormDto.getType(),addFormDto.getBuildingId(),addFormDto.getUnitId(),null);
CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(addFormDto, CommunityBuildingManagerEntity.class); CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(addFormDto, CommunityBuildingManagerEntity.class);
CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(addFormDto.getGridId()); CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(addFormDto.getGridId());
entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids())); entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids()));
insert(entity); 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: 同步到具体的楼栋 * todo: 同步到具体的楼栋
@ -122,6 +139,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(CommunityBuildingManagerDTO updateFormDto) { public void update(CommunityBuildingManagerDTO updateFormDto) {
checkUnqiue(updateFormDto.getType(),updateFormDto.getBuildingId(),updateFormDto.getUnitId(),updateFormDto.getId());
CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(updateFormDto, CommunityBuildingManagerEntity.class); CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(updateFormDto, CommunityBuildingManagerEntity.class);
CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(updateFormDto.getGridId()); CustomerGridDTO gridDTO = SpringContextUtils.getBean(CustomerGridService.class).get(updateFormDto.getGridId());
entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids())); entity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(gridDTO.getId(), gridDTO.getPids()));

Loading…
Cancel
Save