Browse Source

Merge remote-tracking branch 'origin/master'

zhonghui 3 years ago
parent
commit
f33c00eb5c

+ 7 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/VaccineInfoMapper.java

@@ -21,6 +21,13 @@ public interface VaccineInfoMapper
      */
     public VaccineInfoOperation selectVaccineInfoById(Long id);
 
+    /**
+     * 根据身份证号查询该信息是否存在
+     * @param idCard
+     * @return
+     */
+    public VaccineInfoOperation selectVaccineInfoByIdCard(String idCard);
+
     public List<VaccineInfoOperation> selectVaccineInfoByIds(Long[] ids);
 
     /**

+ 67 - 44
boman-web-core/src/main/java/com/boman/web/core/service/vaccineInfo/impl/VaccineInfoServiceImpl.java

@@ -195,59 +195,82 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
     @Override
     @Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
     public int insertVaccineInfo(VaccineInfoOperation vaccineInfoOperation) {
-        // 疫苗信息
+        //获取身份证
+        String idCard = vaccineInfoOperation.getIdCard();
+        //先去查询该身份证信息 是否存在
+        VaccineInfoOperation vaccineInfoOperationOld = vaccineInfoMapper.selectVaccineInfoByIdCard(idCard);
+        if (vaccineInfoOperationOld == null || vaccineInfoOperationOld.getId() == null) {
+            // 疫苗信息
 //        genNowIn(vaccineInfoOperation);
-        vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
-        //提取出用户接种疫苗信息列表
-        List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
-        //最后一次接种时间
-        Date vaccinationTime = null;
-        String vaccineName = "";
-        String jiCi = "";
-        if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
-            for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
-                if (StringUtils.isNotBlank(vaccineInfoUser.getVaccineName()) || vaccineInfoUser.getVaccinationTime() != null || StringUtils.isNotBlank(vaccineInfoUser.getVaccinationPlace()) || StringUtils.isNotBlank(vaccineInfoUser.getJici()) || StringUtils.isNotBlank(vaccineInfoUser.getProgress())) {
-                    if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
-                        vaccinationTime = vaccineInfoUser.getVaccinationTime();
-                    }
-                    //剂次可能是 "加强针"
-                    String jici = vaccineInfoUser.getJici();
-                    if (isNumeric(jici) && isNumeric(jiCi)) {
-                        if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
+            vaccineInfoOperation.setCreateTime(DateUtils.getNowDate());
+            //提取出用户接种疫苗信息列表
+            List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
+            //最后一次接种时间
+            Date vaccinationTime = null;
+            String vaccineName = "";
+            String jiCi = "";
+            if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
+                for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
+                    if (StringUtils.isNotBlank(vaccineInfoUser.getVaccineName()) || vaccineInfoUser.getVaccinationTime() != null || StringUtils.isNotBlank(vaccineInfoUser.getVaccinationPlace()) || StringUtils.isNotBlank(vaccineInfoUser.getJici()) || StringUtils.isNotBlank(vaccineInfoUser.getProgress())) {
+                        if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
+                            vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                        }
+                        //剂次可能是 "加强针"
+                        String jici = vaccineInfoUser.getJici();
+                        if (isNumeric(jici) && isNumeric(jiCi)) {
+                            if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
+                                jiCi = vaccineInfoUser.getJici();
+                            }
+                        } else if (!isNumeric(jici)) {
                             jiCi = vaccineInfoUser.getJici();
                         }
-                    } else if (!isNumeric(jici)) {
-                        jiCi = vaccineInfoUser.getJici();
+                        vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
+                        vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
+                        vaccineName = vaccineInfoUser.getVaccineName();
+                        vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
                     }
-                    vaccineInfoUser.setIdCard(vaccineInfoOperation.getIdCard());
-                    vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
-                    vaccineName = vaccineInfoUser.getVaccineName();
-                    vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
                 }
             }
-        }
-        //是否完成
-        String isSuccess = getIsSuccess(vaccineName, jiCi);
-        vaccineInfoOperation.setVaccinationTime(vaccinationTime);
-        vaccineInfoOperation.setVaccineName(vaccineName);
-        vaccineInfoOperation.setJici(jiCi);
-        vaccineInfoOperation.setProgress(isSuccess);
-        //只针对第一针
-        //应种未种:死亡(包含里面的选项)-禁忌症(包含里面的选项)-已经接种的-缓种-其他,只针对第一针
-        //应续未续:只打了一针(总共2针),智飞打了一次和二次都是应续未续,只要一样禁忌症和暂缓就都不算
-        VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
+            //是否完成
+            String isSuccess = getIsSuccess(vaccineName, jiCi);
+            vaccineInfoOperation.setVaccinationTime(vaccinationTime);
+            vaccineInfoOperation.setVaccineName(vaccineName);
+            vaccineInfoOperation.setJici(jiCi);
+            vaccineInfoOperation.setProgress(isSuccess);
+            //只针对第一针
+            //应种未种:死亡(包含里面的选项)-禁忌症(包含里面的选项)-已经接种的-缓种-其他,只针对第一针
+            //应续未续:只打了一针(总共2针),智飞打了一次和二次都是应续未续,只要一样禁忌症和暂缓就都不算
+            VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
 
 
-        int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
+            int info = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
 
-        // 疫苗信息新增操作记录
-        vaccineInfoOperationNew.setOperationType(INSERT);
-        vaccineInfoOperationNew.setVaccineInfoId(vaccineInfoOperation.getId());
-        vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
-        vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
-        vaccineInfoOperationNew.setVaccineName(vaccineName);
-        vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
-        return info;
+            // 疫苗信息新增操作记录
+            vaccineInfoOperationNew.setOperationType(INSERT);
+            vaccineInfoOperationNew.setVaccineInfoId(vaccineInfoOperation.getId());
+            vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
+            vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
+            vaccineInfoOperationNew.setVaccineName(vaccineName);
+            vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
+            return info;
+        }else {
+            //查询出来的用户疫苗信息
+            List<VaccineInfoUser> vaccineInfoUserListOld = vaccineInfoOperationOld.getVaccineInfoUserList();
+            //提取出用户接种疫苗信息列表
+            List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
+            for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
+                //新增的疫苗信息
+                String vaccineName = vaccineInfoUser.getVaccineName();
+                String jici = vaccineInfoUser.getJici();
+
+                for (VaccineInfoUser infoUser : vaccineInfoUserListOld) {
+                    String vaccineName1 = infoUser.getVaccineName();
+                    String jici1 = infoUser.getJici();
+                }
+            }
+
+        }
+        return 0;
     }
 
 

+ 10 - 3
boman-web-core/src/main/resources/mapper/VaccineInfoMapper.xml

@@ -128,8 +128,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectVaccineInfoById" parameterType="Long" resultMap="VaccineInfoResult">
         <include refid="selectVaccineInfoVo"/>
         where vi.id = #{id} and vi.is_del = 'N'
-        order by viu.vaccination_time
+        order by viu.vaccination_time limit 1
     </select>
+
+    <select id="selectVaccineInfoByIdCard" parameterType="String" resultMap="VaccineInfoResult">
+        <include refid="selectVaccineInfoVo"/>
+        where vi.idCard = #{idCard} and vi.is_del = 'N'
+        order by viu.vaccination_time limit 1
+    </select>
+
     <select id="selectVaccineInfoByIds" parameterType="Long" resultMap="VaccineInfoResult">
         <include refid="selectVaccineInfoVo"/>
         where vi.id in
@@ -287,9 +294,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="findHjInfo" parameterType="VaccineInfoOperation" resultMap="VaccineInfoResult">
-        select xm as user_name,xb as gender,csrq as birthday from hj
+        select user_name ,gender, birthday,age from vaccine_info
         <where>
-         <if test="idCard != null and idCard != '' ">zjhm = #{idCard}</if>
+         <if test="idCard != null and idCard != '' ">id_card = #{idCard}</if>
         </where>
         limit 1
     </select>