Эх сурвалжийг харах

fix 修改疫苗新增接口/修改接口,增加逻辑判断

Administrator 3 жил өмнө
parent
commit
553e0235d2

+ 1 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/AdministrativeInfoController.java

@@ -1,5 +1,6 @@
 package com.boman.web.core.controller;
 
+import com.boman.common.core.utils.SecurityUtils;
 import com.boman.domain.SysDept;
 import com.boman.domain.dto.AjaxResult;
 import com.boman.web.core.domain.AdministrativeInfo;

+ 6 - 0
boman-web-core/src/main/java/com/boman/web/core/service/vaccineInfo/impl/AdministrativeInfoServiceImpl.java

@@ -1,7 +1,11 @@
 package com.boman.web.core.service.vaccineInfo.impl;
 
+import com.boman.common.core.utils.ServletUtils;
 import com.boman.common.core.utils.StringUtils;
+import com.boman.common.security.service.TokenService;
 import com.boman.domain.SysDept;
+import com.boman.domain.SysUser;
+import com.boman.system.api.model.LoginUser;
 import com.boman.web.core.domain.AdministrativeInfo;
 import com.boman.web.core.domain.TreeSelect;
 import com.boman.web.core.mapper.AdministrativeInfoMapper;
@@ -9,6 +13,8 @@ import com.boman.web.core.service.vaccineInfo.AdministrativeInfoService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;

+ 76 - 34
boman-web-core/src/main/java/com/boman/web/core/service/vaccineInfo/impl/VaccineInfoServiceImpl.java

@@ -210,11 +210,19 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
             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) {
+                        if (vaccinationTime == null) {
+                            vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                        } else if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
                             vaccinationTime = vaccineInfoUser.getVaccinationTime();
                         }
                         //剂次可能是 "加强针"
                         String jici = vaccineInfoUser.getJici();
+                        if (StringUtils.isBlank(jiCi)) {
+                            jiCi = vaccineInfoUser.getJici();
+                        }
+                        if (StringUtils.isBlank(vaccineName)) {
+                            vaccineName = vaccineInfoUser.getVaccineName();
+                        }
                         if (isNumeric(jici) && isNumeric(jiCi)) {
                             if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
                                 jiCi = vaccineInfoUser.getJici();
@@ -242,7 +250,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
             VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation);
 
 
-            int  rows = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
+            int rows = vaccineInfoMapper.insertVaccineInfo(vaccineInfoOperationNew);
 
             // 疫苗信息新增操作记录
             vaccineInfoOperationNew.setOperationType(INSERT);
@@ -250,35 +258,43 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
             vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
             vaccineInfoOperationNew.setVaccinationTime(vaccinationTime);
             vaccineInfoOperationNew.setVaccineName(vaccineName);
-             vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
-            return rows > 0  ? AjaxResult.success() : AjaxResult.error();
-        }else {
+            vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
+            return rows > 0 ? AjaxResult.success() : AjaxResult.error();
+        } else {
             //查询出来的用户疫苗信息
             List<VaccineInfoUser> vaccineInfoUserListOld = vaccineInfoOperationOld.getVaccineInfoUserList();
             String jiCiOld = vaccineInfoOperationOld.getJici();
             String vaccineNameOld = vaccineInfoOperationOld.getVaccineName();
             Date vaccinationTime = vaccineInfoOperationOld.getVaccinationTime();
             //组装一个map
-            Map<String,Object> map = new HashMap<>();
-            if (vaccineInfoUserListOld != null && vaccineInfoUserListOld.size() > 0){
+            Map<String, Object> map = new HashMap<>();
+            if (vaccineInfoUserListOld != null && vaccineInfoUserListOld.size() > 0) {
                 for (VaccineInfoUser infoUser : vaccineInfoUserListOld) {
                     //原始的疫苗信息
-                    map.put(infoUser.getVaccineName()+infoUser.getJici(),infoUser);
+                    map.put(infoUser.getVaccineName() + infoUser.getJici(), infoUser);
                 }
             }
             //提取出用户接种疫苗信息列表
             List<VaccineInfoUser> vaccineInfoUserList = vaccineInfoOperation.getVaccineInfoUserList();
-            if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0){
+            if (vaccineInfoUserList != null && vaccineInfoUserList.size() > 0) {
                 for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
                     //新增的疫苗信息
                     String vaccineName = vaccineInfoUser.getVaccineName();
                     String jici = vaccineInfoUser.getJici();
                     Object vaccineInfoUserMap = map.get(vaccineName + jici);
-                    if (ObjectUtils.isEmpty(vaccineInfoUserMap)){
+                    if (ObjectUtils.isEmpty(vaccineInfoUserMap)) {
                         //说明没有,则新增
                         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) {
+                            if (vaccinationTime == null) {
                                 vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                            } else if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
+                                vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                            }
+                            if (StringUtils.isBlank(jiCiOld)) {
+                                jiCiOld = vaccineInfoUser.getJici();
+                            }
+                            if (StringUtils.isBlank(vaccineNameOld)) {
+                                vaccineNameOld = vaccineInfoUser.getVaccineName();
                             }
                             //剂次可能是 "加强针"
                             if (isNumeric(jici) && isNumeric(jiCiOld)) {
@@ -308,7 +324,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
             //判断应续未续
             VaccineInfoOperation vaccineInfoOperationNew = shouldSlow(vaccineInfoOperation1);
             int rows = vaccineInfoMapper.updateVaccineInfo(vaccineInfoOperationNew);
-            return rows > 0  ? AjaxResult.success() : AjaxResult.error();
+            return rows > 0 ? AjaxResult.success() : AjaxResult.error();
         }
     }
 
@@ -446,12 +462,12 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
         // 根据身份证查询数据
         VaccineInfoOperation oldInfo = this.findHjInfo(vaccineInfo);
         boolean neetUpdate = false;
-        if(oldInfo != null) {
+        if (oldInfo != null) {
             // 如果数据不等,即添加了一个别人的已存在身份证
-            if(oldInfo.getId() != vaccineInfo.getId()) {
-                AjaxResult.error("此身份证号非本人,请确认后再次输入!");
+            if (!oldInfo.getId().equals(vaccineInfo.getId())) {
+                return AjaxResult.error("此身份证号非本人,请确认后再次输入!");
             }
-        }else {
+        } else {
             neetUpdate = true;
         }
 
@@ -468,35 +484,61 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
             for (VaccineInfoUser vaccineInfoUser : vaccineInfoUserList) {
                 if (vaccineInfoUser.getId() != null) {
                     vaccineInfoUser.setUpdateBy(SecurityUtils.getUsername());
-                    if (vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
-                        vaccinationTime = vaccineInfoUser.getVaccinationTime();
-                    }
-                    //剂次可能是 "加强针"
-                    String jici = vaccineInfoUser.getJici();
-                    if (isNumeric(jici) && isNumeric(jiCi) && Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
-                        jiCi = vaccineInfoUser.getJici();
-                    } else if (!isNumeric(jici)) {
-                        jiCi = vaccineInfoUser.getJici();
-                    }
-                    vaccineName = vaccineInfoUser.getVaccineName();
-                    if(neetUpdate) {
-                        vaccineInfoUser.setIdCard(vaccineInfo.getIdCard());
+
+                    if (StringUtils.isNotBlank(vaccineInfoUser.getVaccineName()) || vaccineInfoUser.getVaccinationTime() != null || StringUtils.isNotBlank(vaccineInfoUser.getVaccinationPlace()) || StringUtils.isNotBlank(vaccineInfoUser.getJici()) || StringUtils.isNotBlank(vaccineInfoUser.getProgress())) {
+                        if (vaccinationTime == null) {
+                            vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                        } else if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
+                            vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                        }
+                        //剂次可能是 "加强针"
+                        String jici = vaccineInfoUser.getJici();
+                        if (StringUtils.isBlank(jiCi)) {
+                            jiCi = vaccineInfoUser.getJici();
+                        }
+                        if (StringUtils.isBlank(vaccineName)) {
+                            vaccineName = vaccineInfoUser.getVaccineName();
+                        }
+                        if (isNumeric(jici) && isNumeric(jiCi)) {
+                            if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
+                                jiCi = vaccineInfoUser.getJici();
+                                vaccineName = vaccineInfoUser.getVaccineName();
+                            }
+                        } else if (!isNumeric(jici)) {
+                            jiCi = vaccineInfoUser.getJici();
+                            vaccineName = vaccineInfoUser.getVaccineName();
+                        }
+                        if (neetUpdate) {
+                            vaccineInfoUser.setIdCard(vaccineInfo.getIdCard());
+                        }
+                        vaccineInfoUserMapper.updateVaccineInfoUser(vaccineInfoUser);
                     }
-                    vaccineInfoUserMapper.updateVaccineInfoUser(vaccineInfoUser);
+
                 } else {
                     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) {
+                        if (vaccinationTime == null) {
+                            vaccinationTime = vaccineInfoUser.getVaccinationTime();
+                        } else if (vaccineInfoUser.getVaccinationTime() != null && vaccineInfoUser.getVaccinationTime().compareTo(vaccinationTime) > 0) {
                             vaccinationTime = vaccineInfoUser.getVaccinationTime();
                         }
                         //剂次可能是 "加强针"
                         String jici = vaccineInfoUser.getJici();
-                        if (isNumeric(jici) && isNumeric(jiCi) && Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
+                        if (StringUtils.isBlank(jiCi)) {
                             jiCi = vaccineInfoUser.getJici();
+                        }
+                        if (StringUtils.isBlank(vaccineName)) {
+                            vaccineName = vaccineInfoUser.getVaccineName();
+                        }
+                        if (isNumeric(jici) && isNumeric(jiCi)) {
+                            if (Integer.parseInt(jici) > Integer.parseInt(jiCi)) {
+                                jiCi = vaccineInfoUser.getJici();
+                                vaccineName = vaccineInfoUser.getVaccineName();
+                            }
                         } else if (!isNumeric(jici)) {
                             jiCi = vaccineInfoUser.getJici();
+                            vaccineName = vaccineInfoUser.getVaccineName();
                         }
-                        vaccineName = vaccineInfoUser.getVaccineName();
                         vaccineInfoUser.setIdCard(vaccineInfo.getIdCard());
                         vaccineInfoUser.setCreateBy(SecurityUtils.getUsername());
                         vaccineInfoUserMapper.insertVaccineInfoUser(vaccineInfoUser);
@@ -520,7 +562,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
         vaccineInfoOperationNew.setCreateBy(SecurityUtils.getUsername());
         vaccineInfoOperationNew.setVaccineInfoId(vaccineInfo.getId());
         vaccineInfoOperationMapper.insertVaccineInfoOperation(vaccineInfoOperationNew);
-        return AjaxResult.success();
+        return info > 0? AjaxResult.success():AjaxResult.error();
     }
 
     /**

+ 0 - 2
boman-web-core/src/main/resources/mapper/AdministrativeInfoMapper.xml

@@ -36,8 +36,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND status = #{status}
         </if>
         </where>
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
         order by parent_id, order_num
     </select>
 </mapper>

+ 7 - 4
boman-web-core/src/main/resources/mapper/VaccineInfoMapper.xml

@@ -128,13 +128,13 @@ 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 limit 1
+        order by viu.vaccination_time
     </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
+        where vi.id_card = #{idCard} and vi.is_del = 'N'
+        order by viu.vaccination_time
     </select>
 
     <select id="selectVaccineInfoByIds" parameterType="Long" resultMap="VaccineInfoResult">
@@ -188,6 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="shouldSlow != null and shouldSlow != ''">should_slow,</if>
             <if test="suspendUrl != null and suspendUrl != ''">suspend_url,</if>
             <if test="otherUrl != null and otherUrl != ''">other_url,</if>
+            <if test="age != null and age != ''">age,</if>
             create_time
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -230,6 +231,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="shouldSlow != null and shouldSlow != ''">#{shouldSlow},</if>
             <if test="suspendUrl != null and suspendUrl != ''">#{suspendUrl},</if>
             <if test="otherUrl != null and otherUrl != ''">#{otherUrl},</if>
+            <if test="age != null and age != ''">#{age},</if>
             sysdate()
          </trim>
     </insert>
@@ -277,6 +279,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="shouldSlow != null and shouldSlow != ''">should_slow = #{shouldSlow},</if>
             <if test="suspendUrl != null and suspendUrl != ''">suspend_url = #{suspendUrl},</if>
             <if test="otherUrl != null and otherUrl != ''">other_url = #{otherUrl},</if>
+            <if test="age != null and age != ''">age = #{age},</if>
         </trim>
         where id = #{id}
     </update>
@@ -294,7 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="findHjInfo" parameterType="VaccineInfoOperation" resultMap="VaccineInfoResult">
-        select user_name ,gender, birthday,age from vaccine_info
+        select id, user_name ,gender, birthday,age from vaccine_info
         <where>
          <if test="idCard != null and idCard != '' ">id_card = #{idCard}</if>
         </where>