|
|
@ -1,14 +1,27 @@ |
|
|
|
package com.epmet.service.impl; |
|
|
|
|
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.dao.IcIndividualCategoryManageDao; |
|
|
|
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|
|
|
import com.epmet.dto.form.EditIndividualCategoryFormDTO; |
|
|
|
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; |
|
|
|
import com.epmet.dto.form.StatsResiListFormDTO; |
|
|
|
import com.epmet.dto.result.IcStatsResiResultDTO; |
|
|
|
import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; |
|
|
|
import com.epmet.dto.result.IndividualCategoryAllListResultDTO; |
|
|
|
import com.epmet.dto.result.IndividualCategoryListResultDTO; |
|
|
|
import com.epmet.entity.IcIndividualCategoryManageEntity; |
|
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
|
import com.epmet.feign.OperCustomizeOpenFeignClient; |
|
|
|
import com.epmet.service.IcIndividualCategoryManageService; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
@ -24,6 +37,11 @@ import java.util.List; |
|
|
|
@Service |
|
|
|
public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl<IcIndividualCategoryManageDao, IcIndividualCategoryManageEntity> implements IcIndividualCategoryManageService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; |
|
|
|
@Autowired |
|
|
|
private EpmetUserOpenFeignClient userOpenFeignClient; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 【人员分类管理】查询个人分类列表 |
|
|
|
* @param tokenDto |
|
|
@ -32,10 +50,30 @@ public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl<IcInd |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<IndividualCategoryListResultDTO> individualCategoryList(TokenDto tokenDto) { |
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); |
|
|
|
if (null == staffInfo){ |
|
|
|
throw new EpmetException(String.format("查询工作人员%s信息失败...",tokenDto.getUserId())); |
|
|
|
} |
|
|
|
StatsResiListFormDTO formDTO = new StatsResiListFormDTO(); |
|
|
|
formDTO.setId(staffInfo.getAgencyId()); |
|
|
|
formDTO.setLevel("agency"); |
|
|
|
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
Result<List<IcStatsResiResultDTO>> list = userOpenFeignClient.getPersonCategoryList(formDTO); |
|
|
|
if (!list.success()){ |
|
|
|
throw new EpmetException("查询人员分类下人数失败..."); |
|
|
|
} |
|
|
|
List<IcStatsResiResultDTO> datas = list.getData(); |
|
|
|
List<IndividualCategoryListResultDTO> result = baseDao.individualCategoryList(tokenDto.getUserId()); |
|
|
|
if (CollectionUtils.isNotEmpty(result)){ |
|
|
|
if (CollectionUtils.isNotEmpty(datas) && CollectionUtils.isNotEmpty(result)){ |
|
|
|
result.forEach( r -> datas.stream().filter( d -> d.getId().equals(r.getId())).forEach(d -> r.setCount(d.getCount()))); |
|
|
|
return result; |
|
|
|
} |
|
|
|
if (CollectionUtils.isEmpty(datas) && CollectionUtils.isNotEmpty(result)){ |
|
|
|
return result; |
|
|
|
} |
|
|
|
if (CollectionUtils.isEmpty(result)){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
|
|
|
@ -59,4 +97,28 @@ public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl<IcInd |
|
|
|
insertBatch(entities); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 查询客户下人员分类,并且赋值本人选中的 |
|
|
|
* @param tokenDto |
|
|
|
* @author zxc |
|
|
|
* @date 2022/1/20 10:44 上午 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<IndividualCategoryAllListResultDTO> individualCategoryAllList(TokenDto tokenDto) { |
|
|
|
IcResiCategoryStatsConfigFormDTO formDTO = new IcResiCategoryStatsConfigFormDTO(); |
|
|
|
Result<List<IcResiCategoryStatsConfigDTO>> listResult = operCustomizeOpenFeignClient.resiCategoryStatsListShowd(formDTO); |
|
|
|
if (!listResult.success()){ |
|
|
|
throw new EpmetException("查询客户下的人员类别失败..."); |
|
|
|
} |
|
|
|
if (CollectionUtils.isEmpty(listResult.getData())){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
List<IndividualCategoryAllListResultDTO> result = ConvertUtils.sourceToTarget(listResult.getData(), IndividualCategoryAllListResultDTO.class); |
|
|
|
List<IndividualCategoryListResultDTO> configs = baseDao.individualCategoryList(tokenDto.getUserId()); |
|
|
|
if (CollectionUtils.isNotEmpty(configs)){ |
|
|
|
result.forEach(r -> configs.stream().filter(c -> c.getColumnName().equals(r.getColumnName())).forEach(c -> r.setSelected(true))); |
|
|
|
} |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |