Browse Source

查询疫苗接种信息

feature/yujt_vim
yujt 4 years ago
parent
commit
3483d6e13f
  1. 2
      epdc-cloud-commons-yushan
  2. 16
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java
  3. 13
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java
  4. 25
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dto/result/EpdcAppDoseInfoDTO.java
  5. 30
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dto/result/EpdcAppVimInfoResultDTO.java
  6. 12
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java
  7. 5
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationInfoServiceImpl.java
  8. 35
      epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml

2
epdc-cloud-commons-yushan

@ -1 +1 @@
Subproject commit 60b469fb3d9fccb7220f65c3ddbaa412033ecc01
Subproject commit 9596cd2ada0a9e7de4bfdc86d85791d71040965b

16
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java

@ -1,6 +1,7 @@
package com.elink.esua.epdc.vaccine.vim.controller;
import com.elink.esua.epdc.commons.tools.annotation.LogOperation;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -11,6 +12,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInfoService;
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.excel.VaccinationInfoExcel;
import com.elink.esua.epdc.vaccine.vim.service.VaccinationInfoService;
import org.springframework.beans.factory.annotation.Autowired;
@ -97,4 +99,18 @@ public class VaccinationInfoController {
return vaccinationInfoService.importManualScoreExcel(file);
}
/**
* 查询用户疫苗接种信息
*
* @param userName 人员姓名
* @param idCard 身份证号
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.lang.Object>
* @author work@yujt.net.cn
* @date 2021/5/8 15:29
*/
@GetMapping(Constant.EPDC_APP + "query")
public Result<EpdcAppVimInfoResultDTO> getUserVimInfo(String userName, String idCard) {
return new Result().ok(vaccinationInfoService.getUserVimInfo(userName, idCard));
}
}

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

@ -1,7 +1,9 @@
package com.elink.esua.epdc.vaccine.vim.dao;
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.result.EpdcAppVimInfoResultDTO;
import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -35,4 +37,15 @@ public interface VaccinationInfoDao extends BaseDao<VaccinationInfoEntity> {
* @date 2021/5/7 15:16
*/
void deleteDistinctDose(@Param("deleteVaccArr") List<Long> deleteVaccArr);
/**
* 查询用户疫苗接种信息
*
* @param userName 人员姓名
* @param idCard 身份证号
* @return com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO
* @author work@yujt.net.cn
* @date 2021/5/8 15:48
*/
EpdcAppVimInfoResultDTO getUserVimInfo(@Param("userName") String userName, @Param("idCard") String idCard);
}

25
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dto/result/EpdcAppDoseInfoDTO.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.vaccine.vim.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 疫苗剂次信息
*
* @author work@yujt.net.cn
*/
@Data
public class EpdcAppDoseInfoDTO implements Serializable {
private static final long serialVersionUID = 8069426262502587441L;
private Integer vaccinationNum;
private String vaccinationTime;
private String vaccinationSite;
private String vaccinationCompany;
}

30
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dto/result/EpdcAppVimInfoResultDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.vaccine.vim.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 疫苗接种信息
*
* @author work@yujt.net.cn
*/
@Data
public class EpdcAppVimInfoResultDTO implements Serializable {
private static final long serialVersionUID = -1040033718387829191L;
private String idCard;
private String userName;
/**
* 接种状态
*/
private String vaccinationState;
private String nextDoseDate;
private List<EpdcAppDoseInfoDTO> vaccinationList;
}

12
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java

@ -4,6 +4,7 @@ package com.elink.esua.epdc.vaccine.vim.service;
import com.elink.esua.epdc.commons.mybatis.service.CrudService;
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.result.EpdcAppVimInfoResultDTO;
import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity;
import org.springframework.web.multipart.MultipartFile;
@ -76,4 +77,15 @@ public interface VaccinationInfoService extends CrudService<VaccinationInfoEntit
* @date 2021-01-21
*/
Result importManualScoreExcel(MultipartFile file);
/**
* 查询用户疫苗接种信息
*
* @param userName 人员姓名
* @param idCard 身份证号
* @return com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO
* @author work@yujt.net.cn
* @date 2021/5/8 15:48
*/
EpdcAppVimInfoResultDTO getUserVimInfo(String userName, String idCard);
}

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

@ -14,6 +14,7 @@ import com.elink.esua.epdc.vaccine.epidemic.utils.StreamUtils;
import com.elink.esua.epdc.vaccine.vim.dao.VaccinationErrorDao;
import com.elink.esua.epdc.vaccine.vim.dao.VaccinationInfoDao;
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.VaccineDto;
import com.elink.esua.epdc.vaccine.vim.entity.VaccinationErrorEntity;
import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity;
@ -320,4 +321,8 @@ public class VaccinationInfoServiceImpl extends BaseVimCurdServiceImpl<Vaccinati
return StringUtils.isBlank(infoAllExcel.getRealName()) || StringUtils.isBlank(infoAllExcel.getIdentityNo()) || infoAllExcel.getDose() == null;
}
@Override
public EpdcAppVimInfoResultDTO getUserVimInfo(String userName, String idCard) {
return baseDao.getUserVimInfo(userName, idCard);
}
}

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

@ -16,7 +16,6 @@
</if>
</select>
<update id="deleteDistinctDose">
UPDATE vaccination_info
SET DEL_FLAG = '1'
@ -26,4 +25,38 @@
</foreach>
</update>
<resultMap id="userVimInfoResultMap" type="com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO">
<result column="USER_NAME" property="userName" />
<result column="ID_CARD" property="idCard" />
<result column="VACCINATION_STATE" property="vaccinationState" />
<collection property="vaccinationList" ofType="com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppDoseInfoDTO">
<result column="DOSE" property="vaccinationNum" />
<result column="VACCINATION_TIME" property="vaccinationTime" />
<result column="COMPANY_NAME" property="vaccinationCompany" />
<result column="SITE_NAME" property="vaccinationSite" />
</collection>
</resultMap>
<select id="getUserVimInfo" resultMap="userVimInfoResultMap">
SELECT
u.USER_NAME,
u.ID_CARD,
u.VACCINATION_STATE,
vi.DOSE,
DATE_FORMAT( vi.VACCINATION_TIME, '%Y-%M-%d' ) AS VACCINATION_TIME,
vc.COMPANY_NAME,
vs.SITE_NAME
FROM
epidemic_user_info u
LEFT JOIN vaccination_info vi ON (u.USER_NAME = vi.REAL_NAME AND u.ID_CARD = vi.IDENTITY_NO)
LEFT JOIN vaccine_company vc ON vi.COMPANY_ID = vc.ID
LEFT JOIN vaccination_site vs ON vi.SITE_ID = vs.ID
WHERE
u.DEL_FLAG = '0'
AND vi.DEL_FLAG = '0'
AND u.USER_NAME = #{userName}
AND u.ID_CARD = #{idCard}
ORDER BY vi.DOSE
</select>
</mapper>
Loading…
Cancel
Save