Browse Source

饼图

master
zxc 3 years ago
parent
commit
91a4daf314
  1. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java
  2. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EmphasisTripPieDetailResultDTO.java
  3. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java
  4. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java
  5. 31
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  6. 16
      epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

6
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;
}

3
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;
}

4
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<List<EmphasisTripPieDetailResultDTO>> emphasisTripPieDetail(@RequestBody EmphasisTripPieDetailFormDTO formDTO){
public Result<List<EmphasisTripPieDetailResultDTO>> emphasisTripPieDetail(@RequestBody EmphasisTripPieDetailFormDTO formDTO, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO,EmphasisTripPieDetailFormDTO.EmphasisTripPieDetailForm.class);
formDTO.setStaffId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<List<EmphasisTripPieDetailResultDTO>>().ok(icTripReportRecordService.emphasisTripPieDetail(formDTO));
}

10
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<IcTripReportRecordEntity>
*/
List<EmphasisTripListResultDTO> emphasisTripList(EmphasisTripListFormDTO formDTO);
/**
* @Description 重点行程名单饼图详情
* @param formDTO
* @Author zxc
* @Date 2022/11/2 10:07
*/
List<EmphasisTripPieDetailResultDTO> emphasisTripPieDetail(EmphasisTripPieDetailFormDTO formDTO);
}

31
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java

@ -744,7 +744,36 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
*/
@Override
public List<EmphasisTripPieDetailResultDTO> 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<EmphasisTripPieDetailResultDTO> pieDetailResult = baseDao.emphasisTripPieDetail(formDTO);
// 7天旅居史字典
Result<List<SysDictDataDTO>> sojournMapRes = adminOpenFeignClient.dictDataList(DictTypeEnum.SOJOURN_HISTORY.getCode());
Map<String, String> sojournMap = sojournMapRes.success() && CollectionUtils.isNotEmpty(sojournMapRes.getData()) ? sojournMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictValue, SysDictDataDTO::getDictLabel)) : new HashMap<>();
List<EmphasisTripPieDetailResultDTO> 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<EmphasisTripPieDetailResultDTO> constituteResult(Map<String, String> sojournMap){
if (sojournMap.isEmpty()){
return new ArrayList<>();
}
List<EmphasisTripPieDetailResultDTO> 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;
}
/**

16
epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

@ -101,6 +101,22 @@
ORDER BY ARRIVE_DATE DESC,CREATED_TIME DESC
</select>
<!-- 【重点行程名单】饼图详情 -->
<select id="emphasisTripPieDetail" resultType="com.epmet.dto.result.EmphasisTripPieDetailResultDTO">
SELECT
sojourn_history as dangerLevel,
count(id) as total
FROM ic_trip_report_record
WHERE DEL_FLAG = '0'
AND CONCAT(PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{agencyId},'%')
<if test='null != code and code != "" '>
AND SOURCE_ADDRESS_PATH_CODE LIKE CONCAT('%',#{code},'%')
</if>
AND sojourn_history != '3'
group by dangerLevel
order by total desc
</select>
<update id="batchDel" parameterType="map">
update ic_trip_report_record set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=NOW()
WHERE AGENCY_ID=#{agencyId}

Loading…
Cancel
Save