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. 20
      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 remark;
private String userId; private String userId;
private String customerId; 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; 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 String idCard;
/** /**
* 疫苗接种次数 * 疫苗接种次数疫苗接种关注名单此字段可填可不填
*/ */
private Integer vaccinationCount; private Integer vaccinationCount;
/**
* 原因核酸检测关注名单此字段可填可不填
*/
private String reason;
/**
* 备注核酸检测关注名单此字段可填可不填
*/
private String remark;
private String userId; private String userId;
private String customerId; 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 @Autowired
private IcEpidemicSpecialAttentionService icEpidemicSpecialAttentionService; 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 * @param formDTO
* @author zxc * @author zxc
* @date 2022/3/28 10:29 * @date 2022/3/28 10:29
*/ */
@PostMapping("vaccination-list") @PostMapping("list")
public Result<PageData> vaccinationList(@RequestBody VaccinationListFormDTO formDTO, @LoginUser TokenDto tokenDto){ 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.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId()); formDTO.setUserId(tokenDto.getUserId());
return new Result<PageData>().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO)); 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:疫苗接种关注名单核酸检测关注名单新增 * Desc:疫苗接种关注名单核酸检测关注名单新增
* @param list * @param list

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

@ -1,9 +1,13 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; 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 com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 疫情特别关注 * 疫情特别关注
* *
@ -13,4 +17,20 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface IcEpidemicSpecialAttentionDao extends BaseDao<IcEpidemicSpecialAttentionEntity> { 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.commons.tools.page.PageData;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.form.CancelAttentionFormDTO; import com.epmet.dto.form.CancelAttentionFormDTO;
import com.epmet.dto.form.NatListFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
@ -81,20 +80,13 @@ public interface IcEpidemicSpecialAttentionService extends BaseService<IcEpidemi
void delete(String[] ids); void delete(String[] ids);
/** /**
* Desc: 疫苗接种关注名单列表 * Desc: 疫苗接种关注名单疫苗接种关注名单列表
* @param formDTO * @param formDTO
* @author zxc * @author zxc
* @date 2022/3/28 10:29 * @date 2022/3/28 10:29
*/ */
PageData vaccinationList(VaccinationListFormDTO formDTO); PageData vaccinationList(VaccinationListFormDTO formDTO);
/**
* Desc: 疫苗接种关注名单列表
* @param formDTO
* @author zxc
* @date 2022/3/28 10:42
*/
PageData natList(NatListFormDTO formDTO);
/** /**
* Desc:疫苗接种关注名单核酸检测关注名单新增 * 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.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; 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.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcEpidemicSpecialAttentionDao; 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.NatListFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import com.epmet.service.IcEpidemicSpecialAttentionService; import com.epmet.service.IcEpidemicSpecialAttentionService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -87,7 +93,7 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
} }
/** /**
* Desc: 疫苗接种关注名单列表 * Desc: 疫苗接种关注名单疫苗接种关注名单列表
* @param formDTO * @param formDTO
* @author zxc * @author zxc
* @date 2022/3/28 10:29 * @date 2022/3/28 10:29
@ -95,19 +101,34 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
@Override @Override
public PageData vaccinationList(VaccinationListFormDTO formDTO) { public PageData vaccinationList(VaccinationListFormDTO formDTO) {
PageData result = new PageData(new ArrayList(), NumConstant.ZERO_L); PageData result = new PageData(new ArrayList(), NumConstant.ZERO_L);
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
return result; if (null == staffInfo){
throw new EpmetException("为查询到工作人员信息"+formDTO.getUserId());
} }
formDTO.setOrgId(staffInfo.getAgencyId());
/** // 关注类型,核酸检测:2,疫苗接种:1
* Desc: 疫苗接种关注名单列表 if (formDTO.getAttentionType().equals(NumConstant.ONE)){
* @param formDTO if (formDTO.isPage()){
* @author zxc PageInfo<VaccinationListResultDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.vaccinationList(formDTO));
* @date 2022/3/28 10:42 result.setList(pageInfo.getList());
*/ result.setTotal(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
@Override }else {
public PageData natList(NatListFormDTO formDTO) { List<VaccinationListResultDTO> list = baseDao.vaccinationList(formDTO);
return null; 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;
} }
/** /**

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

@ -3,26 +3,65 @@
<mapper namespace="com.epmet.dao.IcEpidemicSpecialAttentionDao"> <mapper namespace="com.epmet.dao.IcEpidemicSpecialAttentionDao">
<resultMap type="com.epmet.entity.IcEpidemicSpecialAttentionEntity" id="icEpidemicSpecialAttentionMap"> <!-- 疫苗接种关注名单 -->
<result property="id" column="ID"/> <select id="vaccinationList" resultType="com.epmet.dto.result.VaccinationListResultDTO">
<result property="customerId" column="CUSTOMER_ID"/> SELECT
<result property="orgId" column="ORG_ID"/> a.`NAME`,
<result property="pid" column="PID"/> a.MOBILE,
<result property="pids" column="PIDS"/> a.ID_CARD,
<result property="isAttention" column="IS_ATTENTION"/> a.REMARK,
<result property="attentionType" column="ATTENTION_TYPE"/> 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,
<result property="name" column="NAME"/> COUNT(v.ID) AS vaccinationCount
<result property="mobile" column="MOBILE"/> FROM ic_epidemic_special_attention a
<result property="idCard" column="ID_CARD"/> LEFT JOIN ic_resi_vaccine v ON (v.ID_CARD = a.ID_CARD AND v.DEL_FLAG = '0')
<result property="reason" column="REASON"/> WHERE a.DEL_FLAG = 0
<result property="remark" column="REMARK"/> AND a.ORG_ID = #{orgId}
<result property="delFlag" column="DEL_FLAG"/> AND ATTENTION_TYPE = #{attentionType}
<result property="revision" column="REVISION"/> <if test='null != name and "" != name'>
<result property="createdBy" column="CREATED_BY"/> AND a.`NAME` = #{name}
<result property="createdTime" column="CREATED_TIME"/> </if>
<result property="updatedBy" column="UPDATED_BY"/> <if test='null != mobile and "" != mobile'>
<result property="updatedTime" column="UPDATED_TIME"/> AND a.MOBILE = #{mobile}
</resultMap> </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> </mapper>
Loading…
Cancel
Save