Browse Source

增加接种间隔查询条件

feature/yujt_vim
zhangyuan 4 years ago
parent
commit
1cf92d90bc
  1. 2
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java
  2. 13
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java
  3. 15
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationInfoServiceImpl.java
  4. 11
      epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml
  5. 42
      epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml

2
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java

@ -449,7 +449,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImpl<EpidemicUserInf
VaccinationInfoResultDTO dto = baseDao.selectInfo(id); VaccinationInfoResultDTO dto = baseDao.selectInfo(id);
VaccinationInfoResultDTO distinctDto = baseDao.selectDistinctInfo(id); VaccinationInfoResultDTO distinctDto = baseDao.selectDistinctInfo(id);
// 记录接种记录,上次接种公司,有无异种记录用于判断本次是否接种完成 // 记录接种记录,上次接种公司,有无异种记录用于判断本次是否接种完成
if (distinctDto == null) { if (distinctDto == null || distinctDto.getDistinctNum() == 0) {
dto.setDistinctNum(0); dto.setDistinctNum(0);
dto.setVaccinationNum(0); dto.setVaccinationNum(0);
} else { } else {

13
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java

@ -1,7 +1,6 @@
package com.elink.esua.epdc.vaccine.vim.dao; package com.elink.esua.epdc.vaccine.vim.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO; import com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO;
import com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO; import com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO;
import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity; import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity;
@ -9,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 接种信息 * 接种信息
@ -18,6 +18,17 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface VaccinationInfoDao extends BaseDao<VaccinationInfoEntity> { public interface VaccinationInfoDao extends BaseDao<VaccinationInfoEntity> {
/**
* 默认查询
*
* @param params
* @return java.util.List<com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO>
* @author zhy
* @date 2021/5/18 10:29
*/
List<VaccinationInfoDTO> getVaccinationInfoList(Map<String, Object> params);
/** /**
* 检验接种情况 * 检验接种情况
* *

15
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationInfoServiceImpl.java

@ -4,7 +4,10 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.FileUtils; import com.elink.esua.epdc.commons.tools.utils.FileUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -81,14 +84,12 @@ public class VaccinationInfoServiceImpl extends BaseVimCurdServiceImpl<Vaccinati
return wrapper; return wrapper;
} }
/*@Override @Override
public PageData<VaccinationInfoDTO> page(Map<String, Object> params) { public PageData<VaccinationInfoDTO> page(Map<String, Object> params) {
IPage<VaccinationInfoEntity> page = baseDao.selectPage( IPage<VaccinationInfoEntity> page = getPage(params, FieldConstant.CREATED_TIME, false);
getPage(params, FieldConstant.CREATED_TIME, false), List<VaccinationInfoDTO> list = baseDao.getVaccinationInfoList(params);
getWrapper(params) return new PageData<>(list, page.getTotal());
); }
return getPageData(page, VaccinationInfoDTO.class);
}*/
@Override @Override
public List<VaccinationInfoEntity> checkVaccination(VaccinationInfoDTO dto) { public List<VaccinationInfoEntity> checkVaccination(VaccinationInfoDTO dto) {

11
epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInfoDao.xml

@ -234,8 +234,8 @@
select i.id as infoId, select i.id as infoId,
r.id as inoutId, r.id as inoutId,
'平阴县' as city, '平阴县' as city,
'榆山街道' as street, r.LIVE_ADDRESS_NAME as street,
'370124001'as streetId, r.LIVE_ADDRESS_CODE as streetId,
r.COMMUNITY, r.COMMUNITY,
r.GRID_NAME, r.GRID_NAME,
r.PLOT, r.PLOT,
@ -251,11 +251,7 @@
IFNULL(i.VACCINATION_STATE, 0) AS VACCINATION_STATE, IFNULL(i.VACCINATION_STATE, 0) AS VACCINATION_STATE,
r.CREATED_TIME r.CREATED_TIME
from epidemic_user_info i from epidemic_user_info i
left join (select * LEFT JOIN epidemic_user_inout_record r ON i.ID_CARD = r.ID_CARD
from epidemic_user_inout_record as b
where DEL_FLAG='0'
and not exists(select 1 from epidemic_user_inout_record where ID_CARD= b.ID_CARD
and b.CREATED_TIME&lt;CREATED_TIME ))r on r.ID_CARD=i.ID_CARD
where i.DEL_FLAG='0' where i.DEL_FLAG='0'
and r.DEL_FLAG='0' and r.DEL_FLAG='0'
<if test="idCard!=null and idCard!=''"> <if test="idCard!=null and idCard!=''">
@ -267,6 +263,7 @@
<if test="userName!=null and userName!=''"> <if test="userName!=null and userName!=''">
and i.USER_NAME like '%${userName}%' and i.USER_NAME like '%${userName}%'
</if> </if>
GROUP BY i.ID
ORDER BY i.CREATED_TIME DESC ORDER BY i.CREATED_TIME DESC
</select> </select>
<select id="selectInfo" resultType="com.elink.esua.epdc.vaccine.epidemic.dto.result.VaccinationInfoResultDTO"> <select id="selectInfo" resultType="com.elink.esua.epdc.vaccine.epidemic.dto.result.VaccinationInfoResultDTO">

42
epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml

@ -3,6 +3,48 @@
<mapper namespace="com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao"> <mapper namespace="com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao">
<select id="getVaccinationInfoList" resultType="com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO">
SELECT
v.*
FROM
vaccination_info v
<if test="vaccTime != null and vaccTime != '' and vaccTime != 0">
INNER JOIN (
SELECT
IDENTITY_NO,
max(DOSE) AS maxDose
FROM
vaccination_info
WHERE
DEL_FLAG = '0'
GROUP BY
IDENTITY_NO
) vi ON vi.IDENTITY_NO = v.IDENTITY_NO
AND vi.maxDose = v.DOSE
</if>
WHERE
v.DEL_FLAG = '0'
<if test="realName != null and realName != ''">
AND v.REAL_NAME LIKE concat('%', #{realName}, '%')
</if>
<if test="identityNo != null and identityNo != ''">
AND v.IDENTITY_NO LIKE concat('%', #{identityNo}, '%')
</if>
<if test="mobile != null and mobile != ''">
AND v.MOBILE LIKE concat('%', #{mobile}, '%')
</if>
<if test="companyId != null and companyId != ''">
AND v.COMPANY_ID = #{companyId}
</if>
<if test="vaccTime != null and vaccTime != '' and vaccTime != 0">
AND datediff(NOW(), v.CREATED_TIME) >= #{vaccTime}
</if>
<if test="vaccNo != null and vaccNo != '' and vaccNo != 0">
AND v.DOSE = #{vaccNo}
</if>
</select>
<select id="checkVaccination" resultType="com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity"> <select id="checkVaccination" resultType="com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity">
SELECT SELECT
id,dose id,dose

Loading…
Cancel
Save