|
|
@ -22,11 +22,14 @@ import com.epmet.service.CommunityBuildingManagerService; |
|
|
|
import com.epmet.service.CustomerGridService; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.scheduling.annotation.Async; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
import java.nio.file.Path; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
@ -35,6 +38,7 @@ import java.util.List; |
|
|
|
* @author generator generator@elink-cn.com |
|
|
|
* @since v1.0.0 2023-05-06 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<CommunityBuildingManagerDao, CommunityBuildingManagerEntity> implements CommunityBuildingManagerService { |
|
|
|
|
|
|
@ -67,7 +71,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi |
|
|
|
formDTO.getBuildingId(), |
|
|
|
formDTO.getUnitId(), null); |
|
|
|
PageInfo<CommunityBuildingManagerResultDTO> pageInfo = new PageInfo<>(resList); |
|
|
|
return new PageData<>(resList, pageInfo.getTotal(),formDTO.getPageSize()); |
|
|
|
return new PageData<>(resList, pageInfo.getTotal(), formDTO.getPageSize()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -108,7 +112,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(CommunityBuildingManagerDTO addFormDto) { |
|
|
|
// 唯一性判断,类型+楼栋id或者类型+单元id唯一
|
|
|
|
checkUnqiue(addFormDto.getType(),addFormDto.getBuildingId(),addFormDto.getUnitId(),null); |
|
|
|
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())); |
|
|
@ -118,13 +122,13 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi |
|
|
|
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 EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"所选楼栋(单元)已存在楼长(单元长)","所选楼栋(单元)已存在楼长(单元长)"); |
|
|
|
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 EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所选楼栋(单元)已存在楼长(单元长)", "所选楼栋(单元)已存在楼长(单元长)"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -138,7 +142,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()); |
|
|
|
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())); |
|
|
@ -158,4 +162,19 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi |
|
|
|
baseDao.deleteBatchIds(ids); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 执行Excel导入 |
|
|
|
* |
|
|
|
* @param filePath |
|
|
|
* @param importTaskId |
|
|
|
*/ |
|
|
|
@Async |
|
|
|
@Override |
|
|
|
public void execAsyncExcelImport(Path filePath, String importTaskId) { |
|
|
|
// todo
|
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |