From 91a4daf31409dff714c07d6b9d84d4e3f6c9cc7e Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 2 Nov 2022 10:51:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A5=BC=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EmphasisTripPieDetailFormDTO.java | 6 ++++ .../EmphasisTripPieDetailResultDTO.java | 3 +- .../IcTripReportRecordController.java | 4 ++- .../com/epmet/dao/IcTripReportRecordDao.java | 10 ++++++ .../impl/IcTripReportRecordServiceImpl.java | 31 ++++++++++++++++++- .../mapper/IcTripReportRecordDao.xml | 16 ++++++++++ 6 files changed, 67 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java index ee0e6b5681..53afd8c1e9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java @@ -17,4 +17,10 @@ public class EmphasisTripPieDetailFormDTO implements Serializable { @NotBlank(message = "code不能为空",groups = {EmphasisTripPieDetailForm.class}) private String code; + + private String customerId; + + private String staffId; + + private String agencyId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EmphasisTripPieDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EmphasisTripPieDetailResultDTO.java index 4ebb22d6f0..cab03e4b11 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EmphasisTripPieDetailResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EmphasisTripPieDetailResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result; +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.io.Serializable; @@ -14,5 +15,5 @@ public class EmphasisTripPieDetailResultDTO implements Serializable { private String dangerLevelName; private String dangerLevel; - private Integer total; + private Integer total = NumConstant.ZERO; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index daa1b388b2..5814ae7a18 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -439,8 +439,10 @@ public class IcTripReportRecordController implements ResultDataResolver { * @Date 2022/11/1 16:09 */ @PostMapping("emphasisTripPieDetail") - public Result> emphasisTripPieDetail(@RequestBody EmphasisTripPieDetailFormDTO formDTO){ + public Result> emphasisTripPieDetail(@RequestBody EmphasisTripPieDetailFormDTO formDTO, @LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO,EmphasisTripPieDetailFormDTO.EmphasisTripPieDetailForm.class); + formDTO.setStaffId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result>().ok(icTripReportRecordService.emphasisTripPieDetail(formDTO)); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java index dc49d7d584..fc7a3ce96e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java @@ -3,8 +3,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.form.EmphasisTripListFormDTO; +import com.epmet.dto.form.EmphasisTripPieDetailFormDTO; import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.dto.result.EmphasisTripListResultDTO; +import com.epmet.dto.result.EmphasisTripPieDetailResultDTO; import com.epmet.entity.IcTripReportRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -53,4 +55,12 @@ public interface IcTripReportRecordDao extends BaseDao */ List emphasisTripList(EmphasisTripListFormDTO formDTO); + /** + * @Description 【重点行程名单】饼图详情 + * @param formDTO + * @Author zxc + * @Date 2022/11/2 10:07 + */ + List emphasisTripPieDetail(EmphasisTripPieDetailFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java index 9cee1de2aa..d114a75190 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java @@ -744,7 +744,36 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl emphasisTripPieDetail(EmphasisTripPieDetailFormDTO formDTO) { - return null; + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + if (null == staffInfo){ + throw new EpmetException("未查询到工作人员信息:"+formDTO.getStaffId()); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + List pieDetailResult = baseDao.emphasisTripPieDetail(formDTO); + // 7天旅居史字典 + Result> sojournMapRes = adminOpenFeignClient.dictDataList(DictTypeEnum.SOJOURN_HISTORY.getCode()); + Map sojournMap = sojournMapRes.success() && CollectionUtils.isNotEmpty(sojournMapRes.getData()) ? sojournMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictValue, SysDictDataDTO::getDictLabel)) : new HashMap<>(); + List result = constituteResult(sojournMap); + if (CollectionUtils.isNotEmpty(pieDetailResult)){ + result.forEach(r -> pieDetailResult.stream().filter(p -> p.getDangerLevel().equals(r.getDangerLevel())).forEach(p -> r.setTotal(p.getTotal()))); + } + return result.stream().sorted(Comparator.comparing(EmphasisTripPieDetailResultDTO::getTotal).reversed()).collect(Collectors.toList()); + } + + private List constituteResult(Map sojournMap){ + if (sojournMap.isEmpty()){ + return new ArrayList<>(); + } + List result = new ArrayList<>(); + sojournMap.forEach((k,v) -> { + EmphasisTripPieDetailResultDTO dto = new EmphasisTripPieDetailResultDTO(); + dto.setDangerLevel(k); + dto.setDangerLevelName(v); + if (!k.equals(NumConstant.THREE_STR)){ + result.add(dto); + } + }); + return result; } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml index 547a444904..554a1055e6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml @@ -101,6 +101,22 @@ ORDER BY ARRIVE_DATE DESC,CREATED_TIME DESC + + + update ic_trip_report_record set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=NOW() WHERE AGENCY_ID=#{agencyId}