Commit 94eb5b599de5f7497cd8819aa1aa705e11027fd4
1 parent
2e8d663b45
Exists in
master
提交代码
Showing 4 changed files with 100 additions and 174 deletions
mainData/src/main/resources/mainOrm/MedInoculateorder.xml
View file @
94eb5b5
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | and io_id = #{ioId,jdbcType=VARCHAR} |
| 39 | 39 | </if> |
| 40 | 40 | <if test="ioKidId != null and ioKidId != ''"> |
| 41 | -and io_kidId = #{ioKidId,jdbcType=VARCHAR} | |
| 41 | +and io_kidId in (#{ioKidId,jdbcType=VARCHAR}) | |
| 42 | 42 | </if> |
| 43 | 43 | <if test="ioVaccineId != null and ioVaccineId != ''"> |
| 44 | 44 | and io_vaccineId = #{ioVaccineId,jdbcType=VARCHAR} |
mainData/src/main/resources/mainOrm/MedInoculaterecord.xml
View file @
94eb5b5
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | and ic_id = #{icId,jdbcType=VARCHAR} |
| 42 | 42 | </if> |
| 43 | 43 | <if test="icKidId != null and icKidId != ''"> |
| 44 | -and ic_kidId = #{icKidId,jdbcType=VARCHAR} | |
| 44 | +and ic_kidId in (#{icKidId,jdbcType=VARCHAR}) | |
| 45 | 45 | </if> |
| 46 | 46 | <if test="icVaccineId != null and icVaccineId != ''"> |
| 47 | 47 | and ic_vaccineId = #{icVaccineId,jdbcType=VARCHAR} |
mainData/src/main/resources/mainOrm/MedKids.xml
View file @
94eb5b5
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | <where> |
| 39 | 39 | 1 = 1 |
| 40 | 40 | <if test="id != null and id != ''"> |
| 41 | - and ki_id = #{id,jdbcType=VARCHAR} | |
| 41 | + and ki_id in (#{id,jdbcType=VARCHAR}) | |
| 42 | 42 | </if> |
| 43 | 43 | <if test="name != null and name != ''"> |
| 44 | 44 | and ki_name = #{name,jdbcType=VARCHAR} |
| ... | ... | @@ -76,7 +76,7 @@ |
| 76 | 76 | |
| 77 | 77 | |
| 78 | 78 | <select id="queryMedKids" resultMap="MedKidsResultMap" parameterType="com.lymsh.yimiao.main.data.model.MedKidsQuery"> |
| 79 | -select ki_id,ki_name,ki_sex,ki_birthday,ki_guardianid,ki_currentOrganizationid,ki_barCode,phone,ki_buildoper, ki_buildtime,isdelete,fathername,mothername | |
| 79 | +select ki_name,ki_id,ki_sex,ki_birthday,ki_guardianid,ki_currentOrganizationid,ki_barCode,phone,ki_buildoper, ki_buildtime,isdelete,fathername,mothername | |
| 80 | 80 | from med_kids |
| 81 | 81 | <include refid="MedKidsCondition" /> |
| 82 | 82 | <include refid="orderAndLimit" /> |
webApi/src/main/java/com/lyms/yimiao/web/controller/v1/KidsController.java
View file @
94eb5b5
| ... | ... | @@ -13,6 +13,7 @@ |
| 13 | 13 | import com.lymsh.yimiao.main.data.util.JsonUtil; |
| 14 | 14 | import com.lymsh.yimiao.main.data.util.LoginContext; |
| 15 | 15 | import org.apache.commons.collections.CollectionUtils; |
| 16 | +import org.apache.commons.lang.StringUtils; | |
| 16 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 17 | 18 | import org.springframework.beans.factory.annotation.Value; |
| 18 | 19 | import org.springframework.http.MediaType; |
| ... | ... | @@ -20,6 +21,7 @@ |
| 20 | 21 | import org.springframework.web.bind.annotation.RequestMapping; |
| 21 | 22 | import org.springframework.web.bind.annotation.RequestMethod; |
| 22 | 23 | import org.springframework.web.bind.annotation.RequestParam; |
| 24 | +import sun.security.util.Length; | |
| 23 | 25 | |
| 24 | 26 | |
| 25 | 27 | import javax.servlet.http.HttpServletRequest; |
| ... | ... | @@ -127,7 +129,7 @@ |
| 127 | 129 | } |
| 128 | 130 | |
| 129 | 131 | /** |
| 130 | - * 查询当前登陆账号所关联的宝宝 | |
| 132 | + * 查询当前登陆账号所关联的宝宝,返回ID | |
| 131 | 133 | * @param response |
| 132 | 134 | * @param birthday |
| 133 | 135 | * @param barCode |
| 134 | 136 | |
| 135 | 137 | |
| 136 | 138 | |
| 137 | 139 | |
| 138 | 140 | |
| 139 | 141 | |
| 140 | 142 | |
| 141 | 143 | |
| 142 | 144 | |
| 143 | 145 | |
| 144 | 146 | |
| 145 | 147 | |
| 146 | 148 | |
| 147 | 149 | |
| ... | ... | @@ -145,167 +147,83 @@ |
| 145 | 147 | medKidsQuery.setBarCode(barCode); |
| 146 | 148 | medKidsQuery.setPhone(phone); |
| 147 | 149 | medKidsQuery.setSort("ki_buildtime desc");//时间排序 |
| 148 | - medKidsQuery.setIsDelete("1"); | |
| 150 | + medKidsQuery.setIsDelete(isDelete); | |
| 149 | 151 | List<MedKids> medKidsList = medKidsService.queryMedKids(medKidsQuery); |
| 150 | 152 | |
| 151 | 153 | List<Map> list = new ArrayList<>(); |
| 152 | 154 | |
| 153 | 155 | if (CollectionUtils.isNotEmpty(medKidsList)){ |
| 154 | - //TODO 查出来的数据,可能会多条一样的和不一样的,有多条一样的情况下,取最新的一条,不一样的正常返回 | |
| 155 | 156 | |
| 156 | - Set<MedKids> set = new HashSet<>(); | |
| 157 | + List<String> ids = null; | |
| 157 | 158 | |
| 158 | - Map<MedKids,MedKids> map = new HashMap<>(); | |
| 159 | + List<String> names = new ArrayList<>(); | |
| 160 | + for (int i=0;i<medKidsList.size();i++){ | |
| 161 | + Map<String,String> map = new HashMap<>(); | |
| 159 | 162 | |
| 160 | - for (MedKids data :medKidsList){ | |
| 163 | + ids = new ArrayList<>(); | |
| 164 | + if(names.contains(medKidsList.get(i).getName())) continue; | |
| 161 | 165 | |
| 162 | - if (map.containsKey(data)){ | |
| 163 | - MedKids kids = map.get(data); | |
| 164 | - Date mapDate = DateUtil.parseYMD(kids.getBuildTime()); | |
| 165 | - Date dataDate = DateUtil.parseYMD(data.getBuildTime()); | |
| 166 | - if(mapDate.after(dataDate)) { | |
| 167 | - map.put(data, data); | |
| 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); | |
| 168 | 172 | } |
| 169 | - }else { | |
| 170 | - set.add(data); | |
| 171 | - map.put(data,data); | |
| 173 | + | |
| 174 | + if(medKidsList.get(i).getName().equals(medKidsList.get(j).getName()) && i != j && !ids.contains(j)){ | |
| 175 | + ids.add(id); | |
| 176 | + } | |
| 172 | 177 | } |
| 173 | - } | |
| 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)); | |
| 174 | 184 | |
| 175 | - | |
| 176 | - | |
| 177 | - | |
| 178 | - | |
| 179 | - } | |
| 180 | - | |
| 181 | - ResultUtils.buildSuccessResultAndWrite(response,list); | |
| 182 | - } | |
| 183 | - | |
| 184 | - | |
| 185 | - public static void main(String[] str) { | |
| 186 | - final Kids kids = new Kids(); | |
| 187 | - kids.setPhone("110"); | |
| 188 | - kids.setName("罗野"); | |
| 189 | - kids.setFatherName("罗芭"); | |
| 190 | - kids.setMotherName("罗马"); | |
| 191 | - kids.setCreated("2016-05-04"); | |
| 192 | - kids.setNumber(1); | |
| 193 | - | |
| 194 | - | |
| 195 | - Kids kids1 = new Kids(); | |
| 196 | - kids1.setPhone("110"); | |
| 197 | - kids1.setName("罗野"); | |
| 198 | - kids1.setFatherName("罗芭"); | |
| 199 | - kids1.setMotherName("罗马"); | |
| 200 | - kids1.setCreated("2016-05-11"); | |
| 201 | - kids1.setNumber(3); | |
| 202 | - | |
| 203 | - | |
| 204 | - Kids kids2 = new Kids(); | |
| 205 | - kids2.setPhone("110"); | |
| 206 | - kids2.setName("罗小野"); | |
| 207 | - kids2.setFatherName("罗芭"); | |
| 208 | - kids2.setMotherName("罗马"); | |
| 209 | - kids2.setCreated("2016-05-03"); | |
| 210 | - List<Kids> list = new ArrayList<>(); | |
| 211 | - list.add(kids); | |
| 212 | - list.add(kids1); | |
| 213 | - list.add(kids2); | |
| 214 | - Set<Kids> set = new HashSet<>(); | |
| 215 | - Map<Kids,Kids> map = new HashMap<>(); | |
| 216 | - | |
| 217 | - | |
| 218 | - List<Kids> list1 = new ArrayList<>(); | |
| 219 | - List<Kids> list2 = new ArrayList<>(); | |
| 220 | - | |
| 221 | - for (Kids data : list) { | |
| 222 | - | |
| 223 | - if (!list1.contains(data)){ | |
| 224 | - list1.add(data); | |
| 225 | - }else { | |
| 226 | - list2.add(data); | |
| 185 | + list.add(map); | |
| 227 | 186 | } |
| 228 | - | |
| 229 | - | |
| 230 | -// if (map.containsKey(data)) { | |
| 231 | -// Kids k = map.get(data); | |
| 232 | -// Date mapDate = DateUtil.parseYMD(k.getCreated()); | |
| 233 | -// Date dataDate = DateUtil.parseYMD(data.getCreated()); | |
| 234 | -// if(mapDate.getTime()> dataDate.getTime()) { | |
| 235 | -// map.put(data, data); | |
| 236 | -// } | |
| 237 | -// } else{ | |
| 238 | -// set.add(data); | |
| 239 | -// map.put(data,data); | |
| 240 | -// } | |
| 241 | 187 | } |
| 242 | - | |
| 243 | - List<Kids> a = new ArrayList<>(set); | |
| 244 | - | |
| 245 | -// Collections.sort(a, new Comparator<Kids>() { | |
| 246 | -// | |
| 247 | -// private String key ="created"; | |
| 248 | -// | |
| 249 | -// @Override | |
| 250 | -// public int compare(Kids o1, Kids o2) { | |
| 251 | -// if (o1.getCreated()!=null && o2.getCreated()!=null){ | |
| 252 | -// if (o1.getCreated().getTime() ==o2.getCreated().getTime()) { | |
| 253 | -// return 0; | |
| 254 | -// } | |
| 255 | -// if (o1.getCreated().getTime() >o2.getCreated().getTime()){ | |
| 256 | -// return -1; | |
| 257 | -// }else { | |
| 258 | -// return 1; | |
| 259 | -// } | |
| 260 | -// } | |
| 261 | -// return 0; | |
| 262 | -// } | |
| 263 | -// }); | |
| 264 | - | |
| 265 | - for (Kids data :a){ | |
| 266 | - System.out.println(data.getName()); | |
| 267 | - System.out.println(data.getCreated()); | |
| 268 | - System.out.println(data.getNumber()); | |
| 269 | - } | |
| 270 | - | |
| 188 | + ResultUtils.buildSuccessResultAndWrite(response, list); | |
| 271 | 189 | } |
| 272 | 190 | |
| 273 | - | |
| 274 | 191 | /** |
| 275 | 192 | * 添加宝宝接口(当前登陆用户与小孩子进行关联 |
| 276 | 193 | * @param response |
| 277 | - * @param id 宝宝id | |
| 194 | + * @param idStr 宝宝id | |
| 278 | 195 | */ |
| 279 | 196 | @RequestMapping(value = "/babys", method = RequestMethod.POST) |
| 280 | 197 | @TokenRequired |
| 281 | 198 | public void UserRelateKids(HttpServletResponse response, |
| 282 | 199 | HttpServletRequest request, |
| 283 | - @RequestParam("id")String id){ | |
| 284 | - | |
| 285 | - MedKids kids = medKidsService.getMedKids(id); | |
| 286 | - if (kids == null) { | |
| 287 | - ResultUtils.buildParameterErrorResultAndWrite(response, "宝宝id不存在"); | |
| 288 | - return; | |
| 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); | |
| 289 | 226 | } |
| 290 | - //取到当前登陆用户的id | |
| 291 | - LoginContext loginContext = (LoginContext) request.getAttribute("loginContext"); | |
| 292 | - YmUsers users = usersService.getYmUsers(loginContext.getId()); | |
| 293 | - //把查询到的宝宝id与登陆用户关联 | |
| 294 | - YmUserKidMapsQuery query = new YmUserKidMapsQuery(); | |
| 295 | - query.setUserId(users.getId()); | |
| 296 | - query.setKidId(id); | |
| 297 | - query.setYn(YnEnum.yes.getId()); | |
| 298 | - int count = ymUserKidMapsService.queryYmUserKidMapsCount(query); | |
| 299 | - if (count!=0){ | |
| 300 | - ResultUtils.buildParameterErrorResultAndWrite(response,"这个宝宝已经和用户关联"); | |
| 301 | - return; | |
| 302 | - } | |
| 303 | - YmUserKidMaps userKidMaps = new YmUserKidMaps(); | |
| 304 | - userKidMaps.setUserId(users.getId()); | |
| 305 | - userKidMaps.setKidId(id); | |
| 306 | - userKidMaps.setCreated(new Date()); | |
| 307 | - userKidMaps.setYn(YnEnum.yes.getId()); | |
| 308 | - ymUserKidMapsService.addYmUserKidMaps(userKidMaps); | |
| 309 | 227 | ResultUtils.buildSuccessResultAndWrite(response); |
| 310 | 228 | } |
| 311 | 229 | |
| 312 | 230 | |
| 313 | 231 | |
| 314 | 232 | |
| 315 | 233 | |
| ... | ... | @@ -319,44 +237,52 @@ |
| 319 | 237 | @TokenRequired |
| 320 | 238 | public void getKids(HttpServletResponse response, |
| 321 | 239 | @RequestParam("id")String id) { |
| 322 | - if (id == null) { | |
| 240 | + if (StringUtils.isBlank(id)) { | |
| 323 | 241 | ResultUtils.buildIdIsNull(response); |
| 324 | 242 | return; |
| 325 | 243 | } |
| 326 | - MedKids kids = medKidsService.getMedKids(id); | |
| 327 | - if (kids == null) { | |
| 328 | - ResultUtils.buildParameterErrorResultAndWrite(response, "宝宝信息不存在"); | |
| 329 | - return; | |
| 330 | - } | |
| 244 | + | |
| 245 | + MedKidsQuery query = new MedKidsQuery(); | |
| 246 | + query.setIsDelete(isDelete); | |
| 247 | + query.setId(id); | |
| 248 | + List<MedKids> medKidList = medKidsService.queryMedKids(query); | |
| 249 | + | |
| 331 | 250 | Map<String, Object> map = new HashMap<>(); |
| 332 | - map.put("id", kids.getId()); | |
| 333 | - map.put("name", kids.getName()); | |
| 334 | - map.put("birthday", DateUtil.getSecond(DateUtil.parseYMD(kids.getBirthday()))); | |
| 335 | 251 | |
| 336 | - MedInoculateOrderQuery inoculateorderQuery = new MedInoculateOrderQuery(); | |
| 337 | - inoculateorderQuery.setIoKidId(id); | |
| 338 | - //时间倒序 | |
| 339 | - inoculateorderQuery.setSort("io_inoculateDate desc"); | |
| 340 | - List<MedInoculateOrder> inoculateorderList = medInoculateorderService.queryMedInoculateOrder(inoculateorderQuery); | |
| 341 | - if (CollectionUtils.isNotEmpty(inoculateorderList)) { | |
| 342 | - //取出离现在日期最近的一个预约接种 | |
| 343 | - MedInoculateOrder medInoculateorder = inoculateorderList.get(0); | |
| 344 | - //下次接种时间 | |
| 345 | - map.put("ioInoculateDate", DateUtil.getSecond(DateUtil.parseYMD(medInoculateorder.getIoInoculateDate()))); | |
| 346 | - //下次接种疫苗 | |
| 347 | - map.put("vaccineId", medInoculateorder.getIoVaccineId()); | |
| 348 | - MedVaccineName medVaccineName = medVaccineNameService.getMedVaccineName(medInoculateorder.getIoVaccineId()); | |
| 349 | - map.put("vaccineName", medVaccineName == null ? "" : medVaccineName.getVnName()); | |
| 350 | - //接种地点 | |
| 351 | - map.put("organizationId", medInoculateorder.getIoOrganizationId()); | |
| 352 | - MedOrganization medOrganization = medOrganizationService.getMedOrganization(medInoculateorder.getIoOrganizationId()); | |
| 353 | - map.put("organizationName", medOrganization == null ? "" : medOrganization.getoName()); | |
| 252 | + if (CollectionUtils.isNotEmpty(medKidList)){ | |
| 253 | + MedKids kids = medKidList.get(0); | |
| 254 | + | |
| 255 | + map.put("id", kids.getId()); | |
| 256 | + map.put("name", kids.getName()); | |
| 257 | + map.put("birthday", DateUtil.getSecond(DateUtil.parseYMD(kids.getBirthday()))); | |
| 258 | + | |
| 259 | + MedInoculateOrderQuery inoculateorderQuery = new MedInoculateOrderQuery(); | |
| 260 | + inoculateorderQuery.setIoKidId(id); | |
| 261 | + //时间倒序 | |
| 262 | + inoculateorderQuery.setSort("io_inoculateDate desc"); | |
| 263 | + List<MedInoculateOrder> inoculateorderList = medInoculateorderService.queryMedInoculateOrder(inoculateorderQuery); | |
| 264 | + if (CollectionUtils.isNotEmpty(inoculateorderList)) { | |
| 265 | + //取出离现在日期最近的一个预约接种 | |
| 266 | + MedInoculateOrder medInoculateorder = inoculateorderList.get(0); | |
| 267 | + //下次接种时间 | |
| 268 | + map.put("ioInoculateDate", DateUtil.getSecond(DateUtil.parseYMD(medInoculateorder.getIoInoculateDate()))); | |
| 269 | + //下次接种疫苗 | |
| 270 | + map.put("vaccineId", medInoculateorder.getIoVaccineId()); | |
| 271 | + MedVaccineName medVaccineName = medVaccineNameService.getMedVaccineName(medInoculateorder.getIoVaccineId()); | |
| 272 | + map.put("vaccineName", medVaccineName == null ? "" : medVaccineName.getVnName()); | |
| 273 | + //接种地点 | |
| 274 | + map.put("organizationId", medInoculateorder.getIoOrganizationId()); | |
| 275 | + MedOrganization medOrganization = medOrganizationService.getMedOrganization(medInoculateorder.getIoOrganizationId()); | |
| 276 | + map.put("organizationName", medOrganization == null ? "" : medOrganization.getoName()); | |
| 277 | + }else { | |
| 278 | + map.put("ioInoculateTime", null); | |
| 279 | + map.put("vaccineId", null); | |
| 280 | + map.put("vaccineName", null); | |
| 281 | + map.put("organizationId", null); | |
| 282 | + map.put("organizationName", null); | |
| 283 | + } | |
| 354 | 284 | }else { |
| 355 | - map.put("ioInoculateTime", null); | |
| 356 | - map.put("vaccineId", null); | |
| 357 | - map.put("vaccineName", null); | |
| 358 | - map.put("organizationId", null); | |
| 359 | - map.put("organizationName", null); | |
| 285 | + ResultUtils.buildParameterErrorResultAndWrite(response,"宝宝信息不存在"); | |
| 360 | 286 | } |
| 361 | 287 | writeJson(response, JsonUtil.obj2JsonString(map)); |
| 362 | 288 | } |