Commit 7f025aaac348645000d247fbdd9d4eb1bf3e5a51
1 parent
aad7ee259e
Exists in
master
New changelist
Showing 7 changed files with 269 additions and 173 deletions
- mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedInoculateOrderQuery.java
- mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedInoculateRecordQuery.java
- mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedKidsQuery.java
- mainData/src/main/resources/mainOrm/MedInoculaterecord.xml
- mainData/src/main/resources/mainOrm/MedKids.xml
- mainData/src/main/resources/mainOrm/MedOrganization.xml
- webApi/src/main/java/com/lyms/yimiao/web/controller/v1/KidsController.java
mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedInoculateOrderQuery.java
View file @
7f025aa
| ... | ... | @@ -2,6 +2,8 @@ |
| 2 | 2 | |
| 3 | 3 | import com.lymsh.mommybaby.basecommon.base.BaseQuery; |
| 4 | 4 | |
| 5 | +import java.util.List; | |
| 6 | + | |
| 5 | 7 | public class MedInoculateOrderQuery extends BaseQuery{ |
| 6 | 8 | private String ioId; |
| 7 | 9 | private String ioKidId; |
| ... | ... | @@ -11,6 +13,16 @@ |
| 11 | 13 | private String ioInoculateTime; |
| 12 | 14 | private String ioOrderOPer; |
| 13 | 15 | private String ioOrderTime; |
| 16 | + | |
| 17 | + private List<String> ids;//多个id情况 | |
| 18 | + | |
| 19 | + public List<String> getIds() { | |
| 20 | + return ids; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setIds(List<String> ids) { | |
| 24 | + this.ids = ids; | |
| 25 | + } | |
| 14 | 26 | |
| 15 | 27 | public String getIoId() { |
| 16 | 28 | return ioId; |
mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedInoculateRecordQuery.java
View file @
7f025aa
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | import java.util.Date; |
| 5 | +import java.util.List; | |
| 5 | 6 | |
| 6 | 7 | import com.lymsh.mommybaby.basecommon.base.BaseQuery; |
| 7 | 8 | |
| ... | ... | @@ -18,6 +19,16 @@ |
| 18 | 19 | private String icIsInoculate; |
| 19 | 20 | private String icJiCi; |
| 20 | 21 | private String isDelete; |
| 22 | + | |
| 23 | + private List<String> ids;//多个id情况 | |
| 24 | + | |
| 25 | + public List<String> getIds() { | |
| 26 | + return ids; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public void setIds(List<String> ids) { | |
| 30 | + this.ids = ids; | |
| 31 | + } | |
| 21 | 32 | |
| 22 | 33 | public String getIsDelete() { |
| 23 | 34 | return isDelete; |
mainData/src/main/java/com/lymsh/yimiao/main/data/model/MedKidsQuery.java
View file @
7f025aa
| ... | ... | @@ -3,7 +3,9 @@ |
| 3 | 3 | |
| 4 | 4 | import com.lymsh.mommybaby.basecommon.base.BaseQuery; |
| 5 | 5 | |
| 6 | +import java.util.List; | |
| 6 | 7 | |
| 8 | + | |
| 7 | 9 | public class MedKidsQuery extends BaseQuery { |
| 8 | 10 | private String id; |
| 9 | 11 | private String name; |
| ... | ... | @@ -16,6 +18,16 @@ |
| 16 | 18 | private String buildOPer;//建档人 |
| 17 | 19 | private String buildTime;//建档时间 |
| 18 | 20 | private String isDelete;//宝宝是否有效 |
| 21 | + | |
| 22 | + private List<String> ids;//多个id情况 | |
| 23 | + | |
| 24 | + public List<String> getIds() { | |
| 25 | + return ids; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public void setIds(List<String> ids) { | |
| 29 | + this.ids = ids; | |
| 30 | + } | |
| 19 | 31 | |
| 20 | 32 | public String getIsDelete() { |
| 21 | 33 | return isDelete; |
mainData/src/main/resources/mainOrm/MedInoculaterecord.xml
View file @
7f025aa
| ... | ... | @@ -70,6 +70,12 @@ |
| 70 | 70 | <if test="isDelete != null and isDelete != ''"> |
| 71 | 71 | and ic_delete = #{isDelete,jdbcType=VARCHAR} |
| 72 | 72 | </if> |
| 73 | + <if test="ids != null "> | |
| 74 | + and ic_kidId in | |
| 75 | + <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> | |
| 76 | + #{item,jdbcType=VARCHAR} | |
| 77 | + </foreach> | |
| 78 | + </if> | |
| 73 | 79 | </where> |
| 74 | 80 | </sql> |
| 75 | 81 |
mainData/src/main/resources/mainOrm/MedKids.xml
View file @
7f025aa
| ... | ... | @@ -70,6 +70,12 @@ |
| 70 | 70 | <if test="isDelete != null and isDelete != ''"> |
| 71 | 71 | and isdelete = #{isDelete,jdbcType=VARCHAR} |
| 72 | 72 | </if> |
| 73 | + <if test="ids != null "> | |
| 74 | + and ki_id in | |
| 75 | + <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> | |
| 76 | + #{item,jdbcType=VARCHAR} | |
| 77 | + </foreach> | |
| 78 | + </if> | |
| 73 | 79 | </where> |
| 74 | 80 | </sql> |
| 75 | 81 | |
| ... | ... | @@ -88,6 +94,48 @@ |
| 88 | 94 | select count(1) from med_kids |
| 89 | 95 | <include refid="MedKidsCondition" /> |
| 90 | 96 | </select> |
| 97 | + | |
| 98 | + | |
| 99 | + <resultMap id="KidInoculationRecordMap" type="com.lymsh.yimiao.main.data.model.KidInoculationRecords"> | |
| 100 | + <result column="KI_BIRTHDAY" property="birthday" jdbcType="VARCHAR" /> | |
| 101 | + <result column="IC_KIDID" property="recordKidId" jdbcType="VARCHAR" /> | |
| 102 | + <result column="IC_ID" property="recordId" jdbcType="VARCHAR" /> | |
| 103 | + <result column="IC_VACCINEID" property="vaccineInfoId" jdbcType="VARCHAR" /> | |
| 104 | + <result column="IC_INOCULATETIME" property="inoculateTime" jdbcType="VARCHAR" /> | |
| 105 | + <result column="MONTH_AGE" property="monthAge" jdbcType="VARCHAR" /> | |
| 106 | + <result column="IC_JICI" property="jiCi" jdbcType="VARCHAR" /> | |
| 107 | + <result column="VI_NAME" property="vaccineInfoName" jdbcType="VARCHAR" /> | |
| 108 | + <result column="VN_NAME" property="vaccineNameTitle" jdbcType="VARCHAR" /> | |
| 109 | + <result column="VN_VACCINETYPE" property="vaccineType" jdbcType="VARCHAR" /> | |
| 110 | + <result column="CNT" property="cnt" jdbcType="INTEGER" /> | |
| 111 | + </resultMap> | |
| 112 | + | |
| 113 | + <select id="queryInoculationRecord" resultMap="KidInoculationRecordMap" parameterType="java.lang.String"> | |
| 114 | + SELECT D.KI_NAME, | |
| 115 | + TO_DATE(D.KI_BIRTHDAY,'YYYY/MM/DD') AS KI_BIRTHDAY, | |
| 116 | + B.IC_KIDID, | |
| 117 | + B.IC_ID, | |
| 118 | + B.IC_VACCINEID, | |
| 119 | + TO_DATE(B.IC_INOCULATETIME,'YYYY/MM/DD') AS IC_INOCULATETIME, | |
| 120 | + TRUNC(MONTHS_BETWEEN(TO_DATE(B.IC_INOCULATETIME,'YYYY/MM/DD'),TO_DATE(D.KI_BIRTHDAY,'YYYY/MM/DD'))) AS MONTH_AGE, | |
| 121 | + B.IC_JICI, | |
| 122 | + C.VI_NAME, | |
| 123 | + A.VN_NAME, | |
| 124 | + A.VN_VACCINETYPE, | |
| 125 | + CCC.CNT | |
| 126 | + FROM med_InoculateRecord B | |
| 127 | + INNER JOIN med_Vaccineinfo C ON B.IC_VACCINEID=C.VI_ID AND C.ISDELETE=1 | |
| 128 | + INNER JOIN med_VaccineName A ON C.VI_VACCINENAMEID=A.VN_ID AND A.ISDELETE=1 | |
| 129 | + INNER JOIN MED_KIDS D ON B.IC_KIDID=D.KI_ID | |
| 130 | + INNER JOIN (SELECT AA.VN_NAME,COUNT(DISTINCT b.column_value) AS CNT | |
| 131 | + FROM med_VaccineName AA, table(splitstr(AA.VN_MONTHAGE, ',')) b | |
| 132 | + WHERE AA.VN_MONTHAGE IS NOT NULL | |
| 133 | + AND AA.ISDELETE = 1 | |
| 134 | + GROUP BY AA.VN_NAME) CCC ON A.VN_NAME=CCC.VN_NAME | |
| 135 | + WHERE B.IC_DELETE = 1 | |
| 136 | + AND B.IC_KIDID= #{recordKidId,jdbcType=VARCHAR} | |
| 137 | + </select> | |
| 138 | + | |
| 91 | 139 | |
| 92 | 140 | |
| 93 | 141 |
mainData/src/main/resources/mainOrm/MedOrganization.xml
View file @
7f025aa
| ... | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | <result column="o_villageNo" property="oVillageNo" jdbcType="VARCHAR" /> |
| 15 | 15 | <result column="o_address" property="oAddress" jdbcType="VARCHAR" /> |
| 16 | 16 | <result column="o_isValid" property="oIsValid" jdbcType="VARCHAR" /> |
| 17 | -<result column="isDelete" property="isDelete;" jdbcType="VARCHAR" /> | |
| 17 | +<result column="isDelete" property="isDelete" jdbcType="VARCHAR" /> | |
| 18 | 18 | </resultMap> |
| 19 | 19 | |
| 20 | 20 | <select id="getMedOrganization" resultMap="MedOrganizationResultMap" parameterType="java.lang.String"> |
webApi/src/main/java/com/lyms/yimiao/web/controller/v1/KidsController.java
View file @
7f025aa
| ... | ... | @@ -12,6 +12,7 @@ |
| 12 | 12 | import com.lymsh.yimiao.main.data.service.*; |
| 13 | 13 | import com.lymsh.yimiao.main.data.util.JsonUtil; |
| 14 | 14 | import com.lymsh.yimiao.main.data.util.LoginContext; |
| 15 | +import com.lymsh.yimiao.main.data.util.VaccineNameSington; | |
| 15 | 16 | import org.apache.commons.collections.CollectionUtils; |
| 16 | 17 | import org.apache.commons.lang.StringUtils; |
| 17 | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -21,7 +22,6 @@ |
| 21 | 22 | import org.springframework.web.bind.annotation.RequestMapping; |
| 22 | 23 | import org.springframework.web.bind.annotation.RequestMethod; |
| 23 | 24 | import org.springframework.web.bind.annotation.RequestParam; |
| 24 | -import sun.security.util.Length; | |
| 25 | 25 | |
| 26 | 26 | |
| 27 | 27 | import javax.servlet.http.HttpServletRequest; |
| 28 | 28 | |
| ... | ... | @@ -29,13 +29,13 @@ |
| 29 | 29 | import java.util.*; |
| 30 | 30 | |
| 31 | 31 | /** |
| 32 | - * 宝宝接口 | |
| 33 | - * | |
| 32 | + * 宝宝接口 | |
| 33 | + * <p/> | |
| 34 | 34 | * Created by Administrator on 2016/4/28 0028. |
| 35 | 35 | */ |
| 36 | 36 | @Controller |
| 37 | 37 | @RequestMapping("/v1") |
| 38 | -public class KidsController extends BaseController{ | |
| 38 | +public class KidsController extends BaseController { | |
| 39 | 39 | |
| 40 | 40 | @Value("#{configProperties['yimiao.token']}") |
| 41 | 41 | private String token; |
| ... | ... | @@ -63,6 +63,9 @@ |
| 63 | 63 | |
| 64 | 64 | private final static String isDelete = "1"; |
| 65 | 65 | |
| 66 | + @Autowired | |
| 67 | + private VaccineNameSington vaccineNameSington; | |
| 68 | + | |
| 66 | 69 | // /** |
| 67 | 70 | // * 发送验证码 |
| 68 | 71 | // * @param response |
| 69 | 72 | |
| 70 | 73 | |
| 71 | 74 | |
| ... | ... | @@ -93,21 +96,22 @@ |
| 93 | 96 | |
| 94 | 97 | /** |
| 95 | 98 | * 校验验证码 |
| 99 | + * | |
| 96 | 100 | * @param response |
| 97 | - * @param code 发送给用户的验证码 | |
| 101 | + * @param code 发送给用户的验证码 | |
| 98 | 102 | */ |
| 99 | 103 | @RequestMapping(value = "/checkCode", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8") |
| 100 | 104 | @TokenRequired |
| 101 | 105 | public void checkCode(HttpServletResponse response, |
| 102 | 106 | @RequestParam("phone") String phone, |
| 103 | - @RequestParam("code") String code){ | |
| 107 | + @RequestParam("code") String code) { | |
| 104 | 108 | |
| 105 | 109 | Map<String, Object> resultMsgMap = new HashMap<>(); |
| 106 | 110 | |
| 107 | 111 | //通过手机拿到redis中的验证码,然后和用户输入的验证码做校验 |
| 108 | 112 | //从redis里面获取验证码 |
| 109 | 113 | Object verCodeObj = (Object) RedisUtils.getObj("c_" + phone); |
| 110 | - if (verCodeObj==null){ | |
| 114 | + if (verCodeObj == null) { | |
| 111 | 115 | //参数错误 |
| 112 | 116 | resultMsgMap.put(ResultUtils.ERROR_CODE, ConstantInterface.VER_CODE_EXPIRE); |
| 113 | 117 | resultMsgMap.put(ResultUtils.ERROR_MSG, "验证码已过期,请重新获取."); |
| 114 | 118 | |
| ... | ... | @@ -116,12 +120,12 @@ |
| 116 | 120 | } |
| 117 | 121 | |
| 118 | 122 | if (code.equals(verCodeObj)) { |
| 119 | - resultMsgMap.put("idRight",true); | |
| 123 | + resultMsgMap.put("idRight", true); | |
| 120 | 124 | resultMsgMap.put(ResultUtils.ERROR_CODE, 0); |
| 121 | 125 | resultMsgMap.put(ResultUtils.ERROR_MSG, "成功"); |
| 122 | 126 | writeJson(response, JsonUtil.obj2JsonString(resultMsgMap)); |
| 123 | 127 | } else { |
| 124 | - resultMsgMap.put("idRight",false); | |
| 128 | + resultMsgMap.put("idRight", false); | |
| 125 | 129 | resultMsgMap.put(ResultUtils.ERROR_CODE, ConstantInterface.USER_PASSWORD_ERROR); |
| 126 | 130 | resultMsgMap.put(ResultUtils.ERROR_MSG, "验证码错误,请重新输入"); |
| 127 | 131 | writeJson(response, JsonUtil.obj2JsonString(resultMsgMap)); |
| ... | ... | @@ -130,6 +134,7 @@ |
| 130 | 134 | |
| 131 | 135 | /** |
| 132 | 136 | * 查询当前登陆账号所关联的宝宝,返回ID |
| 137 | + * | |
| 133 | 138 | * @param response |
| 134 | 139 | * @param birthday |
| 135 | 140 | * @param barCode |
| ... | ... | @@ -138,9 +143,9 @@ |
| 138 | 143 | @RequestMapping(value = "/queryKidsId", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8") |
| 139 | 144 | @TokenRequired |
| 140 | 145 | public void getKidsId(HttpServletResponse response, |
| 141 | - @RequestParam("birthday") String birthday, | |
| 142 | - @RequestParam(value = "barCode",required = false) String barCode, | |
| 143 | - @RequestParam(value = "phone",required = false) String phone) { | |
| 146 | + @RequestParam("birthday") String birthday, | |
| 147 | + @RequestParam(value = "barCode", required = false) String barCode, | |
| 148 | + @RequestParam(value = "phone", required = false) String phone) { | |
| 144 | 149 | |
| 145 | 150 | MedKidsQuery medKidsQuery = new MedKidsQuery(); |
| 146 | 151 | medKidsQuery.setBirthday(birthday); |
| 147 | 152 | |
| 148 | 153 | |
| 149 | 154 | |
| 150 | 155 | |
| 151 | 156 | |
| 152 | 157 | |
| 153 | 158 | |
| 154 | 159 | |
| 155 | 160 | |
| 156 | 161 | |
| 157 | 162 | |
| 158 | 163 | |
| 159 | 164 | |
| 160 | 165 | |
| ... | ... | @@ -152,104 +157,116 @@ |
| 152 | 157 | |
| 153 | 158 | List<Map> list = new ArrayList<>(); |
| 154 | 159 | |
| 155 | - if (CollectionUtils.isNotEmpty(medKidsList)){ | |
| 160 | + if (CollectionUtils.isNotEmpty(medKidsList)) { | |
| 156 | 161 | |
| 157 | - List<String> ids = null; | |
| 158 | - | |
| 159 | - List<String> names = new ArrayList<>(); | |
| 160 | - for (int i=0;i<medKidsList.size();i++){ | |
| 161 | - Map<String,String> map = new HashMap<>(); | |
| 162 | - | |
| 163 | - ids = new ArrayList<>(); | |
| 164 | - if(names.contains(medKidsList.get(i).getName())) continue; | |
| 165 | - | |
| 166 | - names.add(medKidsList.get(i).getName()); | |
| 167 | - | |
| 168 | - for (int j=0;j<medKidsList.size();j++){ | |
| 169 | - String id = medKidsList.get(j).getId(); | |
| 170 | - if(!ids.contains(medKidsList.get(j).getId()) && i == j) { | |
| 171 | - ids.add(id); | |
| 172 | - } | |
| 173 | - | |
| 174 | - if(medKidsList.get(i).getName().equals(medKidsList.get(j).getName()) && i != j && !ids.contains(j)){ | |
| 175 | - ids.add(id); | |
| 176 | - } | |
| 162 | + for (MedKids medKids : medKidsList) { | |
| 163 | + Map<String, String> map = new HashMap<>(); | |
| 164 | + if (StringUtils.isNotEmpty(medKids.getName())){ | |
| 165 | + map.put("id",medKids.getId()); | |
| 166 | + map.put("name",medKids.getName()); | |
| 177 | 167 | } |
| 178 | - String tmp = ""; | |
| 179 | - for(String k : ids) { | |
| 180 | - tmp += k + ","; | |
| 181 | - } | |
| 182 | - map.put("name",medKidsList.get(i).getName()); | |
| 183 | - map.put("idStr",tmp.substring(0,tmp.length()-1)); | |
| 184 | - | |
| 185 | 168 | list.add(map); |
| 186 | 169 | } |
| 187 | 170 | } |
| 188 | 171 | ResultUtils.buildSuccessResultAndWrite(response, list); |
| 172 | + | |
| 173 | +// List<String> ids = null; | |
| 174 | +// | |
| 175 | +// List<String> names = new ArrayList<>(); | |
| 176 | +// for (int i = 0; i < medKidsList.size(); i++) { | |
| 177 | +// Map<String, String> map = new HashMap<>(); | |
| 178 | +// | |
| 179 | +// ids = new ArrayList<>(); | |
| 180 | +// if (names.contains(medKidsList.get(i).getName())) continue; | |
| 181 | +// | |
| 182 | +// names.add(medKidsList.get(i).getName()); | |
| 183 | +// | |
| 184 | +// for (int j = 0; j < medKidsList.size(); j++) { | |
| 185 | +// String id = medKidsList.get(j).getId(); | |
| 186 | +// if (!ids.contains(medKidsList.get(j).getId()) && i == j) { | |
| 187 | +// ids.add(id); | |
| 188 | +// } | |
| 189 | +// | |
| 190 | +// if (medKidsList.get(i).getName().equals(medKidsList.get(j).getName()) && i != j && !ids.contains(j)) { | |
| 191 | +// ids.add(id); | |
| 192 | +// } | |
| 193 | +// } | |
| 194 | +// String tmp = ""; | |
| 195 | +// for (String k : ids) { | |
| 196 | +// tmp += k + ","; | |
| 197 | +// } | |
| 198 | +// map.put("name", medKidsList.get(i).getName()); | |
| 199 | +// map.put("id", tmp.substring(0, tmp.length() - 1)); | |
| 200 | +// | |
| 201 | +// list.add(map); | |
| 202 | +// } | |
| 203 | +// } | |
| 204 | +// ResultUtils.buildSuccessResultAndWrite(response, list); | |
| 189 | 205 | } |
| 190 | 206 | |
| 191 | 207 | /** |
| 192 | - * 添加宝宝接口(当前登陆用户与小孩子进行关联 | |
| 208 | + * 添加宝宝接口(当前登陆用户与小孩子进行关联) | |
| 209 | + * | |
| 193 | 210 | * @param response |
| 194 | - * @param idStr 宝宝id | |
| 211 | + * @param id 宝宝id | |
| 195 | 212 | */ |
| 196 | 213 | @RequestMapping(value = "/babys", method = RequestMethod.POST) |
| 197 | 214 | @TokenRequired |
| 198 | 215 | public void UserRelateKids(HttpServletResponse response, |
| 199 | 216 | HttpServletRequest request, |
| 200 | - @RequestParam("idStr")String idStr){ | |
| 201 | - String[] ids = idStr.split("id"); | |
| 202 | - for (String id : ids){ | |
| 203 | - MedKids kids = medKidsService.getMedKids(id); | |
| 204 | - if (kids == null) { | |
| 205 | - ResultUtils.buildParameterErrorResultAndWrite(response, "宝宝id不存在"); | |
| 206 | - return; | |
| 207 | - } | |
| 208 | - //取到当前登陆用户的id | |
| 209 | - LoginContext loginContext = (LoginContext) request.getAttribute("loginContext"); | |
| 210 | - YmUsers users = usersService.getYmUsers(loginContext.getId()); | |
| 211 | - //把查询到的宝宝id与登陆用户关联 | |
| 212 | - YmUserKidMapsQuery query = new YmUserKidMapsQuery(); | |
| 213 | - query.setUserId(users.getId()); | |
| 214 | - query.setKidId(id); | |
| 215 | - query.setYn(YnEnum.yes.getId()); | |
| 216 | - int count = ymUserKidMapsService.queryYmUserKidMapsCount(query); | |
| 217 | - if (count!=0){ | |
| 218 | - continue; | |
| 219 | - } | |
| 220 | - YmUserKidMaps userKidMaps = new YmUserKidMaps(); | |
| 221 | - userKidMaps.setUserId(users.getId()); | |
| 222 | - userKidMaps.setKidId(id); | |
| 223 | - userKidMaps.setCreated(new Date()); | |
| 224 | - userKidMaps.setYn(YnEnum.yes.getId()); | |
| 225 | - ymUserKidMapsService.addYmUserKidMaps(userKidMaps); | |
| 217 | + @RequestParam("id") String id) { | |
| 218 | + MedKids kids = medKidsService.getMedKids(id); | |
| 219 | + if (kids == null) { | |
| 220 | + ResultUtils.buildParameterErrorResultAndWrite(response, "宝宝id不存在"); | |
| 221 | + return; | |
| 226 | 222 | } |
| 223 | + //取到当前登陆用户的id | |
| 224 | + LoginContext loginContext = (LoginContext) request.getAttribute("loginContext"); | |
| 225 | + YmUsers users = usersService.getYmUsers(loginContext.getId()); | |
| 226 | + //把查询到的宝宝id与登陆用户关联 | |
| 227 | + YmUserKidMapsQuery query = new YmUserKidMapsQuery(); | |
| 228 | + query.setUserId(users.getId()); | |
| 229 | + query.setKidId(id); | |
| 230 | + query.setYn(YnEnum.yes.getId()); | |
| 231 | + int count = ymUserKidMapsService.queryYmUserKidMapsCount(query); | |
| 232 | + if (count != 0) { | |
| 233 | + //已经关联了的版本就不需要在关联,直接返回成功 | |
| 234 | + ResultUtils.buildSuccessResultAndWrite(response); | |
| 235 | + } | |
| 236 | + YmUserKidMaps userKidMaps = new YmUserKidMaps(); | |
| 237 | + userKidMaps.setUserId(users.getId()); | |
| 238 | + userKidMaps.setKidId(id); | |
| 239 | + userKidMaps.setCreated(new Date()); | |
| 240 | + userKidMaps.setYn(YnEnum.yes.getId()); | |
| 241 | + ymUserKidMapsService.addYmUserKidMaps(userKidMaps); | |
| 227 | 242 | ResultUtils.buildSuccessResultAndWrite(response); |
| 228 | 243 | } |
| 229 | 244 | |
| 230 | 245 | /** |
| 231 | - * 获取宝宝信息 | |
| 246 | + * 获取宝宝信息 | |
| 232 | 247 | * |
| 233 | 248 | * @param response |
| 234 | - * @param id 宝宝id | |
| 249 | + * @param id 宝宝id | |
| 235 | 250 | */ |
| 236 | - @RequestMapping(value = "/babys", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE + ";charset=utf-8") | |
| 251 | + @RequestMapping(value = "/babys", method = RequestMethod.GET) | |
| 237 | 252 | @TokenRequired |
| 238 | 253 | public void getKids(HttpServletResponse response, |
| 239 | - @RequestParam("id")String id) { | |
| 254 | + @RequestParam("id") String id) { | |
| 240 | 255 | if (StringUtils.isBlank(id)) { |
| 241 | 256 | ResultUtils.buildIdIsNull(response); |
| 242 | 257 | return; |
| 243 | 258 | } |
| 244 | - | |
| 259 | + //取出建档最早的那个 | |
| 245 | 260 | MedKidsQuery query = new MedKidsQuery(); |
| 246 | 261 | query.setIsDelete(isDelete); |
| 247 | 262 | query.setId(id); |
| 263 | + query.setSort("KI_BUILDTIME DESC"); | |
| 248 | 264 | List<MedKids> medKidList = medKidsService.queryMedKids(query); |
| 249 | 265 | |
| 250 | 266 | Map<String, Object> map = new HashMap<>(); |
| 251 | 267 | |
| 252 | - if (CollectionUtils.isNotEmpty(medKidList)){ | |
| 268 | + if (CollectionUtils.isNotEmpty(medKidList)) { | |
| 269 | + //取出第一个宝宝 | |
| 253 | 270 | MedKids kids = medKidList.get(0); |
| 254 | 271 | |
| 255 | 272 | map.put("id", kids.getId()); |
| ... | ... | @@ -257,7 +274,7 @@ |
| 257 | 274 | map.put("birthday", DateUtil.getSecond(DateUtil.parseYMD(kids.getBirthday()))); |
| 258 | 275 | |
| 259 | 276 | MedInoculateOrderQuery inoculateorderQuery = new MedInoculateOrderQuery(); |
| 260 | - inoculateorderQuery.setIoKidId(id); | |
| 277 | + inoculateorderQuery.setIoKidId(kids.getId()); | |
| 261 | 278 | //时间倒序 |
| 262 | 279 | inoculateorderQuery.setSort("io_inoculateDate desc"); |
| 263 | 280 | List<MedInoculateOrder> inoculateorderList = medInoculateorderService.queryMedInoculateOrder(inoculateorderQuery); |
| 264 | 281 | |
| 265 | 282 | |
| 266 | 283 | |
| 267 | 284 | |
| 268 | 285 | |
| 269 | 286 | |
| 270 | 287 | |
| 271 | 288 | |
| 272 | 289 | |
| 273 | 290 | |
| 274 | 291 | |
| 275 | 292 | |
| 276 | 293 | |
| 277 | 294 | |
| 278 | 295 | |
| 279 | 296 | |
| 280 | 297 | |
| 281 | 298 | |
| ... | ... | @@ -274,143 +291,133 @@ |
| 274 | 291 | map.put("organizationId", medInoculateorder.getIoOrganizationId()); |
| 275 | 292 | MedOrganization medOrganization = medOrganizationService.getMedOrganization(medInoculateorder.getIoOrganizationId()); |
| 276 | 293 | map.put("organizationName", medOrganization == null ? "" : medOrganization.getoName()); |
| 277 | - }else { | |
| 294 | + } else { | |
| 278 | 295 | map.put("ioInoculateTime", null); |
| 279 | 296 | map.put("vaccineId", null); |
| 280 | 297 | map.put("vaccineName", null); |
| 281 | 298 | map.put("organizationId", null); |
| 282 | 299 | map.put("organizationName", null); |
| 283 | 300 | } |
| 284 | - }else { | |
| 285 | - ResultUtils.buildParameterErrorResultAndWrite(response,"宝宝信息不存在"); | |
| 301 | + } else { | |
| 302 | + ResultUtils.buildParameterErrorResultAndWrite(response, "宝宝信息不存在"); | |
| 286 | 303 | } |
| 287 | 304 | writeJson(response, JsonUtil.obj2JsonString(map)); |
| 288 | 305 | } |
| 289 | 306 | |
| 290 | 307 | /** |
| 291 | - * 根据月龄获取宝宝该月龄预约接种的疫苗(分为免费疫苗和收费疫苗两个模块) | |
| 308 | + * 根据月龄获取宝宝该月龄预约接种的疫苗(分为免费疫苗和收费疫苗两个模块) | |
| 292 | 309 | * |
| 293 | 310 | * @param response |
| 294 | - * @param kidId 宝宝ID | |
| 311 | + * @param kidId 宝宝ID | |
| 295 | 312 | */ |
| 296 | 313 | @RequestMapping(value = "/inoculatePlan", method = RequestMethod.GET) |
| 297 | - @TokenRequired | |
| 314 | + //@TokenRequired | |
| 298 | 315 | public void getKidVaccines(HttpServletResponse response, |
| 299 | - @RequestParam("birthday")String birthday,//2016-01-02 | |
| 300 | - @RequestParam("id")String kidId) { | |
| 301 | - //使用生日来和当前时间做比较,算出月龄 | |
| 316 | + @RequestParam("id") String kidId) { | |
| 317 | + List<MedVaccineName> nameList = vaccineNameSington.getListVaccineName(); | |
| 302 | 318 | |
| 303 | - //0,1.2.3.4.5.6.7.8.10.11.1岁,1岁半,2岁,3岁,4岁,6岁 | |
| 319 | + List<KidInoculationRecords> recordsList = medKidsService.queryInoculationRecord(kidId); | |
| 320 | + | |
| 304 | 321 | List<Map> list = new ArrayList<>();//最外层的list |
| 305 | 322 | |
| 306 | - for (MouthAgeEnum mouth : MouthAgeEnum.values()){ | |
| 307 | - List<Map> mouthAgeList = new ArrayList<>(); | |
| 308 | - Map<String,Object> mouthMap = new HashMap<>(); | |
| 323 | + int monthYear = 0; | |
| 309 | 324 | |
| 310 | - Map<String,Object> inoculationMap = new HashMap<>(); | |
| 325 | + for (MouthAgeEnum ageEnum : MouthAgeEnum.values()){ | |
| 311 | 326 | |
| 327 | + Map<String, Object> map = new HashMap<>(); | |
| 328 | + | |
| 329 | + Map<String, Object> mouthMap = new HashMap<>();//装免费和收费的map | |
| 330 | + List<Map> mouthList = new ArrayList<>();//月龄的list | |
| 312 | 331 | List<Map> freeList = new ArrayList<>(); |
| 313 | 332 | List<Map> chargeList = new ArrayList<>(); |
| 314 | 333 | |
| 315 | - String mouthAge = String.valueOf(mouth.getId()); | |
| 316 | - | |
| 317 | - //先根据月龄去找这个月龄下要接种的所有疫苗 | |
| 318 | - MedVaccineNameQuery vaccineNameQuery = new MedVaccineNameQuery(); | |
| 319 | - vaccineNameQuery.setVnMonthAge(mouthAge); | |
| 320 | - vaccineNameQuery.setIsDelete(isDelete); | |
| 321 | - List<MedVaccineName> vaccineNameList = medVaccineNameService.queryMedVaccineName(vaccineNameQuery); | |
| 322 | - if (CollectionUtils.isNotEmpty(vaccineNameList)){ | |
| 323 | - for (MedVaccineName data : vaccineNameList){ | |
| 334 | + for (MedVaccineName data : nameList){ | |
| 335 | + if (ageEnum.getId()==data.getMouthAge()){ | |
| 324 | 336 | if (data.getVnVaccineType()==1){ |
| 325 | - //免费 | |
| 326 | - freeList.add(getInoculate(data,mouthAge,kidId)); | |
| 327 | - }else if (data.getVnVaccineType()==2){ | |
| 328 | - //收费 | |
| 329 | - chargeList.add(getInoculate(data,mouthAge,kidId)); | |
| 337 | + Map<String,Object> freeMap = new HashMap<>(); | |
| 338 | + freeMap.put("id",data.getVnId()); | |
| 339 | + freeMap.put("name",data.getVnName()); | |
| 340 | + String[]a = data.getVnMonthAge().split(","); | |
| 341 | + int sum = a.length; | |
| 342 | + int current = 0 ; | |
| 343 | + for (int i = 0;i<a.length;i++){ | |
| 344 | + if (data.getMouthAge()==Integer.valueOf(a[i])){ | |
| 345 | + current = i + 1; | |
| 346 | + } | |
| 330 | 347 | } |
| 348 | + freeMap.put("current",current); | |
| 349 | + freeMap.put("sum",sum); | |
| 350 | + //接种ID | |
| 351 | + if (CollectionUtils.isNotEmpty(recordsList)){ | |
| 352 | + for (KidInoculationRecords temp : recordsList){ | |
| 353 | + if (temp.getJiCi()==current && temp.getVaccineNameTitle() == data.getVnName() | |
| 354 | + && temp.getCnt() == sum && temp.getVaccineType().equals("1")){ | |
| 355 | + freeMap.put("inoculateId", temp.getRecordId()); | |
| 356 | + break; | |
| 357 | + }else { | |
| 358 | + freeMap.put("inoculateId",null); | |
| 359 | + } | |
| 360 | + } | |
| 361 | + }else { | |
| 362 | + freeMap.put("inoculateId",null); | |
| 363 | + } | |
| 364 | + freeList.add(freeMap); | |
| 365 | + }else if (data.getVnVaccineType()==2) { | |
| 366 | + Map<String, Object> chargeMap = new HashMap<>(); | |
| 367 | + chargeMap.put("id", data.getVnId()); | |
| 368 | + chargeMap.put("name", data.getVnName()); | |
| 369 | + String[] a = data.getVnMonthAge().split(","); | |
| 370 | + int sum = a.length; | |
| 371 | + int current = 0; | |
| 372 | + for (int i = 0; i < a.length; i++) { | |
| 373 | + if (data.getMouthAge() == Integer.valueOf(a[i])) { | |
| 374 | + current = i + 1; | |
| 375 | + } | |
| 376 | + } | |
| 377 | + chargeMap.put("current", current); | |
| 378 | + chargeMap.put("sum", sum); | |
| 379 | + //接种ID | |
| 380 | + if (CollectionUtils.isNotEmpty(recordsList)){ | |
| 381 | + for (KidInoculationRecords temp : recordsList){ | |
| 382 | + if (temp.getJiCi()==current && temp.getVaccineNameTitle()==data.getVnName() | |
| 383 | + && temp.getCnt() == sum&& temp.getVaccineType().equals("2")){ | |
| 384 | + chargeMap.put("inoculateId", temp.getRecordId()); | |
| 385 | + break; | |
| 386 | + }else { | |
| 387 | + chargeMap.put("inoculateId",null); | |
| 388 | + } | |
| 389 | + } | |
| 390 | + }else { | |
| 391 | + chargeMap.put("inoculateId",null); | |
| 392 | + } | |
| 393 | + chargeList.add(chargeMap); | |
| 394 | + } | |
| 331 | 395 | } |
| 332 | - inoculationMap.put("freeList",freeList); | |
| 333 | - inoculationMap.put("chargeList",chargeList); | |
| 334 | 396 | } |
| 335 | - mouthAgeList.add(inoculationMap); | |
| 336 | - | |
| 337 | - mouthMap.put("mouthAgeList",mouthAgeList); | |
| 338 | - | |
| 339 | - list.add(mouthMap); | |
| 397 | + monthYear = monthYear + 1 ; | |
| 398 | + mouthMap.put("freeList",freeList); | |
| 399 | + mouthMap.put("chargeList",chargeList); | |
| 400 | + mouthList.add(mouthMap); | |
| 401 | + map.put(monthYear + "monthsOfAge", mouthList); | |
| 402 | + list.add(map); | |
| 340 | 403 | } |
| 341 | 404 | |
| 342 | 405 | ResultUtils.buildSuccessResultAndWrite(response,list); |
| 343 | 406 | } |
| 344 | 407 | |
| 345 | - public Map<String,Object> getInoculate(MedVaccineName data,String mouthAge,String kidId){ | |
| 346 | - Map<String,Object> map = new HashMap<>(); | |
| 347 | - | |
| 348 | - map.put("id",data.getVnId());//疫苗名称ID | |
| 349 | - map.put("name",data.getVnName());//疫苗名称title | |
| 350 | - String mouth = null; | |
| 351 | - | |
| 352 | - int length = 0; | |
| 353 | - | |
| 354 | - if (data.getVnMonthAge()!=null){ | |
| 355 | - | |
| 356 | - String[] ages = data.getVnMonthAge().split(","); | |
| 357 | - for (int a = 0 ; a < ages.length ; a++){ | |
| 358 | - if (mouthAge.equals(ages[a])){ | |
| 359 | - length = a + 1; | |
| 360 | - } | |
| 361 | - } | |
| 362 | - mouth = "(第" + length + "/" + ages.length + "剂)"; | |
| 363 | - } | |
| 364 | - map.put("mouthAge",mouth); | |
| 365 | - | |
| 366 | - //去接种预约表里面查某个疫苗是否接种,如果在指定时间内没有接种 | |
| 367 | - | |
| 368 | - boolean isInoculate = false; | |
| 369 | - String vaccineInfoId = null; | |
| 370 | - | |
| 371 | - //查出这个宝宝的所有接种信息 | |
| 372 | - MedInoculateRecordQuery inoculateRecordQuery = new MedInoculateRecordQuery(); | |
| 373 | - inoculateRecordQuery.setIcKidId(kidId); | |
| 374 | - inoculateRecordQuery.setIsDelete(isDelete); | |
| 375 | - List<MedInoculateRecord> inoculateRecordList = medInoculateRecordService.queryMedInoculateRecord(inoculateRecordQuery); | |
| 376 | - if (CollectionUtils.isNotEmpty(inoculateRecordList)){ | |
| 377 | - for (MedInoculateRecord temp : inoculateRecordList){ | |
| 378 | - | |
| 379 | - MedVaccineInfoQuery infoQuery = new MedVaccineInfoQuery(); | |
| 380 | - infoQuery.setIsDelete(isDelete); | |
| 381 | - infoQuery.setViId(temp.getIcVaccineId()); | |
| 382 | - List<MedVaccineInfo> infoList = medVaccineinfoService.queryMedVaccineInfo(infoQuery); | |
| 383 | - | |
| 384 | - String VaccineNameId = ""; | |
| 385 | - | |
| 386 | - if (CollectionUtils.isNotEmpty(infoList)){ | |
| 387 | - VaccineNameId = infoList.get(0).getViVaccineNameId(); | |
| 388 | - } | |
| 389 | - | |
| 390 | - //最后使用剂次和疫苗名称ID来判断接种表里面宝宝的接种是否成立 | |
| 391 | - if (length==Integer.valueOf(temp.getIcJiCi()) && data.getVnId().equals(VaccineNameId)){ | |
| 392 | - isInoculate = true; | |
| 393 | - vaccineInfoId = temp.getIcVaccineId(); | |
| 394 | - } | |
| 395 | - } | |
| 396 | - } | |
| 397 | - map.put("isInoculate",isInoculate); | |
| 398 | - map.put("vaccineInfoId",vaccineInfoId); | |
| 399 | - return map; | |
| 400 | - } | |
| 401 | - | |
| 402 | 408 | /** |
| 403 | 409 | * 获取接种记录 |
| 410 | + * | |
| 404 | 411 | * @param response |
| 405 | 412 | * @param kidId 宝宝ID |
| 406 | - * @param vaccineInfoId 疫苗基本信息ID | |
| 413 | + * @param vaccineInfoId 疫苗基本信息ID | |
| 407 | 414 | */ |
| 408 | 415 | @RequestMapping(value = "/inoculateRecord", method = RequestMethod.GET) |
| 409 | 416 | @TokenRequired |
| 410 | 417 | public void getKidVaccines(HttpServletResponse response, |
| 411 | - @RequestParam("kidId")String kidId, | |
| 412 | - @RequestParam("jiCi")String jiCi, | |
| 413 | - @RequestParam("vaccineInfoId")String vaccineInfoId){ | |
| 418 | + @RequestParam("kidId") String kidId, | |
| 419 | + @RequestParam("jiCi") String jiCi, | |
| 420 | + @RequestParam("vaccineInfoId") String vaccineInfoId) { | |
| 414 | 421 | |
| 415 | 422 | List<Map> list = new ArrayList<>(); |
| 416 | 423 | |
| ... | ... | @@ -455,7 +462,7 @@ |
| 455 | 462 | map.put("batchNumber", data.getIcBatchNumber()); |
| 456 | 463 | list.add(map); |
| 457 | 464 | } |
| 458 | - ResultUtils.buildSuccessResultAndWrite(response,list); | |
| 465 | + ResultUtils.buildSuccessResultAndWrite(response, list); | |
| 459 | 466 | } |
| 460 | 467 | |
| 461 | 468 |