zxc 3 years ago
parent
commit
53d395c46e
  1. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java
  2. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java
  3. 67
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java
  4. 59
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java
  5. 22
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java
  6. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java
  7. 47
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java
  8. 79
      epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml

6
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/NatListFormDTO.java

@ -42,5 +42,11 @@ public class NatListFormDTO extends PageFormDTO implements Serializable {
private String remark;
private String userId;
private String customerId;
/**
* user所属组织ID
*/
private String orgId;
}

26
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccinationListFormDTO.java

@ -17,6 +17,14 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable
private static final long serialVersionUID = -498378993902522370L;
public interface VaccinationListForm{}
/**
* 关注类型核酸检测2疫苗接种1
*/
@NotNull(message = "attentionType不能为空",groups = VaccinationListForm.class)
private Integer attentionType;
/**
* 手机号
*/
@ -33,10 +41,26 @@ public class VaccinationListFormDTO extends PageFormDTO implements Serializable
private String idCard;
/**
* 疫苗接种次数
* 疫苗接种次数疫苗接种关注名单此字段可填可不填
*/
private Integer vaccinationCount;
/**
* 原因核酸检测关注名单此字段可填可不填
*/
private String reason;
/**
* 备注核酸检测关注名单此字段可填可不填
*/
private String remark;
private String userId;
private String customerId;
/**
* user所属组织ID
*/
private String orgId;
}

67
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java

@ -0,0 +1,67 @@
package com.epmet.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/3/28 14:14
* @DESC
*/
@Data
public class VaccinationListResultDTO implements Serializable {
private static final long serialVersionUID = -4368151917259903449L;
/**
* 排序
*/
private Integer sort;
/**
* 接种针次
*/
private Integer vaccinationCount;
/**
* 姓名
*/
private String name;
/**
* 电话
*/
private String mobile;
/**
* 身份证
*/
private String idCard;
/**
* 备注
*/
private String remark;
/**
* 原因
*/
private String reason;
/**
* 最后一次通知时间
*/
private String lastInformTime;
public VaccinationListResultDTO() {
this.vaccinationCount = NumConstant.ZERO;
this.name = "";
this.mobile = "";
this.idCard = "";
this.remark = "";
this.lastInformTime = "";
this.reason = "";
}
}

59
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java

@ -39,73 +39,20 @@ public class IcEpidemicSpecialAttentionController {
@Autowired
private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService;
@RequestMapping("page")
public Result<PageData<IcEpidemicSpecialAttentionDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcEpidemicSpecialAttentionDTO> page = icEpidemicSpecialAttentionService.page(params);
return new Result<PageData<IcEpidemicSpecialAttentionDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcEpidemicSpecialAttentionDTO> get(@PathVariable("id") String id){
IcEpidemicSpecialAttentionDTO data = icEpidemicSpecialAttentionService.get(id);
return new Result<IcEpidemicSpecialAttentionDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcEpidemicSpecialAttentionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icEpidemicSpecialAttentionService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcEpidemicSpecialAttentionDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icEpidemicSpecialAttentionService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icEpidemicSpecialAttentionService.delete(ids);
return new Result();
}
/**
* Desc: 疫苗接种关注名单列表
* Desc: 疫苗接种关注名单疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:29
*/
@PostMapping("vaccination-list")
@PostMapping("list")
public Result<PageData> vaccinationList(@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class, VaccinationListFormDTO.VaccinationListForm.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<PageData>().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO));
}
/**
* Desc: 疫苗接种关注名单列表
* @param formDTO
* @param tokenDto
* @author zxc
* @date 2022/3/28 10:42
*/
@PostMapping("nat-list")
public Result<PageData> natList(@RequestBody NatListFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<PageData>().ok(icEpidemicSpecialAttentionService.natList(formDTO));
}
/**
* Desc:疫苗接种关注名单核酸检测关注名单新增
* @param list

22
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java

@ -1,9 +1,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 疫情特别关注
*
@ -12,5 +16,21 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcEpidemicSpecialAttentionDao extends BaseDao<IcEpidemicSpecialAttentionEntity> {
/**
* Desc: 疫苗接种关注名单
* @param formDTO
* @author zxc
* @date 2022/3/28 14:19
*/
List<VaccinationListResultDTO> vaccinationList(VaccinationListFormDTO formDTO);
/**
* Desc: 核酸检测关注名单
* @param formDTO
* @author zxc
* @date 2022/3/28 15:23
*/
List<VaccinationListResultDTO> natList(VaccinationListFormDTO formDTO);
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java

@ -4,7 +4,6 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.form.CancelAttentionFormDTO;
import com.epmet.dto.form.NatListFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
@ -81,20 +80,13 @@ public interface IcEpidemicSpecialAttentionService extends BaseService<IcEpidemi
void delete(String[] ids);
/**
* Desc: 疫苗接种关注名单列表
* Desc: 疫苗接种关注名单疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:29
*/
PageData vaccinationList(VaccinationListFormDTO formDTO);
/**
* Desc: 疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:42
*/
PageData natList(NatListFormDTO formDTO);
/**
* Desc:疫苗接种关注名单核酸检测关注名单新增

47
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java

@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcEpidemicSpecialAttentionDao;
@ -13,8 +16,11 @@ import com.epmet.dto.form.CancelAttentionFormDTO;
import com.epmet.dto.form.NatListFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import com.epmet.service.IcEpidemicSpecialAttentionService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -87,7 +93,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
}
/**
* Desc: 疫苗接种关注名单列表
* Desc: 疫苗接种关注名单疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:29
@ -95,21 +101,36 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
@Override
public PageData vaccinationList(VaccinationListFormDTO formDTO) {
PageData result = new PageData(new ArrayList(), NumConstant.ZERO_L);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
if (null == staffInfo){
throw new EpmetException("为查询到工作人员信息"+formDTO.getUserId());
}
formDTO.setOrgId(staffInfo.getAgencyId());
// 关注类型,核酸检测:2,疫苗接种:1
if (formDTO.getAttentionType().equals(NumConstant.ONE)){
if (formDTO.isPage()){
PageInfo<VaccinationListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.vaccinationList(formDTO));
result.setList(pageInfo.getList());
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
}else {
List<VaccinationListResultDTO> list = baseDao.vaccinationList(formDTO);
result.setList(list);
result.setTotal(list.size());
}
}else if (formDTO.getAttentionType().equals(NumConstant.TWO)){
if (formDTO.isPage()){
PageInfo<VaccinationListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.natList(formDTO));
result.setList(pageInfo.getList());
result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
}else {
List<VaccinationListResultDTO> list = baseDao.natList(formDTO);
result.setList(list);
result.setTotal(list.size());
}
}
return result;
}
/**
* Desc: 疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:42
*/
@Override
public PageData natList(NatListFormDTO formDTO) {
return null;
}
/**
* Desc:疫苗接种关注名单核酸检测关注名单新增
* @param formDTO

79
epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml

@ -3,26 +3,65 @@
<mapper namespace="com.epmet.dao.IcEpidemicSpecialAttentionDao">
<resultMap type="com.epmet.entity.IcEpidemicSpecialAttentionEntity" id="icEpidemicSpecialAttentionMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="orgId" column="ORG_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="isAttention" column="IS_ATTENTION"/>
<result property="attentionType" column="ATTENTION_TYPE"/>
<result property="name" column="NAME"/>
<result property="mobile" column="MOBILE"/>
<result property="idCard" column="ID_CARD"/>
<result property="reason" column="REASON"/>
<result property="remark" column="REMARK"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 疫苗接种关注名单 -->
<select id="vaccinationList" resultType="com.epmet.dto.result.VaccinationListResultDTO">
SELECT
a.`NAME`,
a.MOBILE,
a.ID_CARD,
a.REMARK,
IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = '1' AND ID_CARD = #{idCard} ORDER BY CREATED_TIME LIMIT 1),'') AS lastInformTime,
COUNT(v.ID) AS vaccinationCount
FROM ic_epidemic_special_attention a
LEFT JOIN ic_resi_vaccine v ON (v.ID_CARD = a.ID_CARD AND v.DEL_FLAG = '0')
WHERE a.DEL_FLAG = 0
AND a.ORG_ID = #{orgId}
AND ATTENTION_TYPE = #{attentionType}
<if test='null != name and "" != name'>
AND a.`NAME` = #{name}
</if>
<if test='null != mobile and "" != mobile'>
AND a.MOBILE = #{mobile}
</if>
<if test='null != mobile and "" != mobile'>
AND a.ID_CARD = #{idCard}
</if>
<if test=' null != vaccinationCount'>
HAVING vaccinationCount = #{vaccinationCount}
</if>
ORDER BY a.CREATED_TIME DESC
</select>
<!-- 核酸检测关注名单 -->
<select id="natList" resultType="com.epmet.dto.result.VaccinationListResultDTO">
SELECT
a.`NAME`,
a.MOBILE,
a.ID_CARD,
a.REMARK,
a.REASON,
IFNULL((SELECT DATE_FORMAT(CREATED_TIME,'%Y-%m-%d %H:%i:%s') FROM ic_notice WHERE DEL_FLAG = '0' AND ORIGIN = '1' AND ID_CARD = #{idCard} ORDER BY CREATED_TIME LIMIT 1),'') AS lastInformTime
FROM ic_epidemic_special_attention a
WHERE a.DEL_FLAG = 0
AND a.ORG_ID = #{orgId}
AND ATTENTION_TYPE = #{attentionType}
<if test='null != name and "" != name'>
AND a.`NAME` = #{name}
</if>
<if test='null != mobile and "" != mobile'>
AND a.MOBILE = #{mobile}
</if>
<if test='null != mobile and "" != mobile'>
AND a.ID_CARD = #{idCard}
</if>
<if test='null != reason and "" != reason'>
AND a.REASON LIKE CONCAT('%',#{reason},'%')
</if>
<if test='null != remark and "" != remark'>
AND a.REMARK LIKE CONCAT('%',#{remark},'%')
</if>
ORDER BY a.CREATED_TIME DESC
</select>
</mapper>
Loading…
Cancel
Save