Browse Source

行程上报详情

release
yinzuomei 3 years ago
parent
commit
4d525ae2b2
  1. 8
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java
  2. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java
  3. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java
  4. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java
  5. 36
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  6. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

8
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java

@ -5,9 +5,11 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
@ -24,11 +26,15 @@ public class IcTripReportRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
public interface DetailViewGroup {
}
/**
* 主键ID
*/
@NotBlank(message = "id不能为空", groups = DetailViewGroup.class)
@ExcelIgnore
private String id;
private String id;
/**
* 居民端用户所在网格id,数字社区居民所属网格id

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageTripReportFormDTO.java

@ -52,4 +52,9 @@ public class PageTripReportFormDTO extends PageFormDTO implements Serializable {
* 工作人员所属组织id
*/
private String agencyId;
/**
* 查看详情时此列有值
*/
private String id;
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java

@ -82,6 +82,20 @@ public class IcTripReportRecordController implements ResultDataResolver {
return new Result<PageData<IcTripReportRecordDTO>>().ok(page);
}
/**
* 查看详情
* @param formDTO
* @return
*/
@PostMapping("detail")
public Result<IcTripReportRecordDTO> detail(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportRecordDTO formDTO){
ValidatorUtils.validateEntity(formDTO,IcTripReportRecordDTO.DetailViewGroup.class);
PageTripReportFormDTO pageTripReportFormDTO=new PageTripReportFormDTO();
pageTripReportFormDTO.setCustomerId(tokenDto.getCustomerId());
pageTripReportFormDTO.setUserId(tokenDto.getUserId());
return new Result<IcTripReportRecordDTO>().ok(icTripReportRecordService.detail(pageTripReportFormDTO));
}
/**
* pc: 行程上报-新增
* @param formDTO

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java

@ -31,6 +31,8 @@ public interface IcTripReportRecordService extends BaseService<IcTripReportRecor
*/
PageData<IcTripReportRecordDTO> page(PageTripReportFormDTO formDTO);
IcTripReportRecordDTO detail(PageTripReportFormDTO formDTO);
/**
* 默认查询
*

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

@ -426,4 +426,40 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
baseDao.insert(e);
});
}
public IcTripReportRecordDTO detail(PageTripReportFormDTO formDTO) {
//1.获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = queryCurrentStaff(formDTO.getCustomerId(), formDTO.getUserId());
formDTO.setAgencyId(staffInfo.getAgencyId());
//2.按条件查询业务数据
List<IcTripReportRecordDTO> list = baseDao.pageList(formDTO);
if (CollectionUtils.isEmpty(list)) {
return null;
}
//3.查询最近一次通知时间、核算检测关注名单
Map<String, Date> latestNotice = new HashMap<>();
List<String> gzIdCardList = new ArrayList<>();
List<String> idCardList = list.stream().map(m -> m.getIdCard()).distinct().collect(Collectors.toList());
//如果不分页可能会有很多个身份证号
List<List<String>> partionList = ListUtils.partition(idCardList, NumConstant.ONE_HUNDRED);
partionList.forEach(l -> {
Map<String, Date> map = icNoticeService.getUserLatestNoticeTime(formDTO.getCustomerId(), l);
List<String> gzIdCards = epidemicSpecialAttentionService.getHeSuanIdCardList(formDTO.getCustomerId(), l);
latestNotice.putAll(map);
gzIdCardList.addAll(gzIdCards);
});
for (IcTripReportRecordDTO dto : list) {
//默认未加入
dto.setHeSuanCheck(false);
dto.setHeSuanCheckDesc("未加入");
if (CollectionUtils.isNotEmpty(gzIdCardList) && gzIdCardList.contains(dto.getIdCard())) {
dto.setHeSuanCheck(true);
dto.setHeSuanCheckDesc("已加入");
}
if (MapUtils.isNotEmpty(latestNotice) && latestNotice.containsKey(dto.getIdCard())) {
dto.setLatestNoticeTime(latestNotice.get(dto.getIdCard()));
}
}
return list.get(NumConstant.ZERO);
}
}

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

@ -56,6 +56,9 @@
<if test='null != endDate and "" != endDate'>
AND ARRIVE_DATE <![CDATA[ <= ]]> #{endDate}
</if>
<if test='null != id and "" != id'>
AND r.id=#{id}
</if>
ORDER BY
r.ARRIVE_DATE DESC
</select>

Loading…
Cancel
Save