Commit 21cfd07da3ebaa13a653c1586065b1ed9ff02e7a
1 parent
49ea659aac
Exists in
master
and in
1 other branch
结算管理
Showing 1 changed file with 95 additions and 10 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java
View file @
21cfd07
| ... | ... | @@ -11,15 +11,18 @@ |
| 11 | 11 | import com.lyms.platform.common.utils.ExcelUtil; |
| 12 | 12 | import com.lyms.platform.common.utils.StringUtils; |
| 13 | 13 | import com.lyms.platform.operate.web.request.HealthChargeRequest; |
| 14 | +import com.lyms.platform.operate.web.service.ITemporaryBloodService; | |
| 15 | +import com.lyms.platform.operate.web.service.ITemporaryBloodSugarService; | |
| 16 | +import com.lyms.platform.operate.web.service.TemporaryWeightService; | |
| 14 | 17 | import com.lyms.platform.permission.service.UsersService; |
| 15 | -import com.lyms.platform.pojo.ChargeRecordModel; | |
| 16 | -import com.lyms.platform.pojo.HealthChargeModel; | |
| 17 | -import com.lyms.platform.pojo.Patients; | |
| 18 | +import com.lyms.platform.pojo.*; | |
| 18 | 19 | import com.lyms.platform.query.ChargeRecordQuery; |
| 19 | 20 | import com.lyms.platform.query.HealthChargeQuery; |
| 20 | 21 | import org.apache.commons.collections.CollectionUtils; |
| 21 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | 23 | import org.springframework.data.mongodb.core.MongoTemplate; |
| 24 | +import org.springframework.data.mongodb.core.query.Criteria; | |
| 25 | +import org.springframework.data.mongodb.core.query.Query; | |
| 23 | 26 | import org.springframework.stereotype.Component; |
| 24 | 27 | |
| 25 | 28 | import javax.servlet.http.HttpServletResponse; |
| ... | ... | @@ -27,6 +30,7 @@ |
| 27 | 30 | import java.util.*; |
| 28 | 31 | |
| 29 | 32 | /** |
| 33 | + * 健康管理结算 | |
| 30 | 34 | * Created by Administrator on 2019-03-28. |
| 31 | 35 | */ |
| 32 | 36 | @Component |
| ... | ... | @@ -43,6 +47,9 @@ |
| 43 | 47 | private PatientsService patientsService; |
| 44 | 48 | |
| 45 | 49 | @Autowired |
| 50 | + private MongoTemplate mongoTemplate; | |
| 51 | + | |
| 52 | + @Autowired | |
| 46 | 53 | private UsersService usersService; |
| 47 | 54 | |
| 48 | 55 | /** |
| ... | ... | @@ -154,6 +161,11 @@ |
| 154 | 161 | return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(listData).setPageInfo(healthChargeQuery.getPageInfo()); |
| 155 | 162 | } |
| 156 | 163 | |
| 164 | + /** | |
| 165 | + * 返回列表字段 | |
| 166 | + * @param model | |
| 167 | + * @return | |
| 168 | + */ | |
| 157 | 169 | private Map getData(HealthChargeModel model) |
| 158 | 170 | { |
| 159 | 171 | Map map = new HashMap(); |
| 160 | 172 | |
| 161 | 173 | |
| ... | ... | @@ -171,16 +183,92 @@ |
| 171 | 183 | } |
| 172 | 184 | else |
| 173 | 185 | { |
| 186 | + Integer healthType = model.getHealthType(); | |
| 187 | + switch (healthType) | |
| 188 | + { | |
| 189 | + case 1 : | |
| 190 | + getTemporaryWeightInfo(map,model.getForeignId(),model.getCreated()); | |
| 191 | + case 2 : | |
| 192 | + getTemporaryBloodSugarInfo(map, model.getForeignId(), model.getCreated()); | |
| 193 | + case 3 : | |
| 194 | + getTemporaryBloodPressInfo(map, model.getForeignId(), model.getCreated()); | |
| 195 | + } | |
| 174 | 196 | |
| 175 | 197 | } |
| 176 | - | |
| 177 | - | |
| 178 | - map.put("type",model.getType() == 1 ? "标准报告" : "高危报告"); | |
| 198 | + map.put("status", model.getStatus() == 1 ? "未结算" : "已结算"); | |
| 199 | + map.put("type", model.getType() == 1 ? "标准报告" : "高危报告"); | |
| 179 | 200 | map.put("source",model.getSource() == 1 ? "院内" : "临时"); |
| 180 | 201 | map.put("time", DateUtil.getyyyy_MM_dd(model.getCreated())); |
| 181 | 202 | return map; |
| 182 | 203 | } |
| 183 | 204 | |
| 205 | + | |
| 206 | + /** | |
| 207 | + * 临时体重信息 | |
| 208 | + * @param map | |
| 209 | + * @param id | |
| 210 | + * @param created | |
| 211 | + */ | |
| 212 | + private void getTemporaryWeightInfo(Map map,String id,Date created) | |
| 213 | + { | |
| 214 | + TemporaryWeightModel temporaryWeightModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), | |
| 215 | + TemporaryWeightModel.class); | |
| 216 | + if (temporaryWeightModel != null) | |
| 217 | + { | |
| 218 | + setMap(map, temporaryWeightModel.getUserName(), temporaryWeightModel.getAge(), temporaryWeightModel.getLastMenses(), created); | |
| 219 | + } | |
| 220 | + } | |
| 221 | + | |
| 222 | + /** | |
| 223 | + * 临时血糖信息 | |
| 224 | + * @param map | |
| 225 | + * @param id | |
| 226 | + * @param created | |
| 227 | + */ | |
| 228 | + private void getTemporaryBloodSugarInfo(Map map,String id,Date created) | |
| 229 | + { | |
| 230 | + TemporaryBloodSugar temporaryBloodSugar = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), | |
| 231 | + TemporaryBloodSugar.class); | |
| 232 | + if (temporaryBloodSugar != null) | |
| 233 | + { | |
| 234 | + setMap(map, temporaryBloodSugar.getUserName(), temporaryBloodSugar.getAge(), temporaryBloodSugar.getLastMenses(), created); | |
| 235 | + } | |
| 236 | + } | |
| 237 | + | |
| 238 | + /** | |
| 239 | + * 临时血压信息 | |
| 240 | + * @param map | |
| 241 | + * @param id | |
| 242 | + * @param created | |
| 243 | + */ | |
| 244 | + private void getTemporaryBloodPressInfo(Map map,String id,Date created) | |
| 245 | + { | |
| 246 | + TemporaryBloodModel temporaryBloodModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id).and("yn").is(YnEnums.YES.getId())), | |
| 247 | + TemporaryBloodModel.class); | |
| 248 | + if (temporaryBloodModel != null) | |
| 249 | + { | |
| 250 | + setMap(map,temporaryBloodModel.getUserName(),temporaryBloodModel.getAge(),temporaryBloodModel.getLastMenses(), created); | |
| 251 | + } | |
| 252 | + } | |
| 253 | + | |
| 254 | + private void setMap(Map map,String userName,Integer age,Date lastMenses,Date created) | |
| 255 | + { | |
| 256 | + map.put("userName", userName); | |
| 257 | + map.put("age",age); | |
| 258 | + map.put("week",DateUtil.getWeekDesc(lastMenses,created)); | |
| 259 | + } | |
| 260 | + | |
| 261 | + /** | |
| 262 | + * 更新条件查询到的结算状态 | |
| 263 | + * @param healthType | |
| 264 | + * @param hospitalId | |
| 265 | + * @param time | |
| 266 | + * @param source | |
| 267 | + * @param status | |
| 268 | + * @param type | |
| 269 | + * @param userId | |
| 270 | + * @return | |
| 271 | + */ | |
| 184 | 272 | public BaseResponse setHealthCharged(Integer healthType, String hospitalId, String time, Integer source, Integer status, Integer type, Integer userId) |
| 185 | 273 | { |
| 186 | 274 | |
| ... | ... | @@ -201,7 +289,6 @@ |
| 201 | 289 | { |
| 202 | 290 | healthChargeQuery.setCreatedEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59")); |
| 203 | 291 | } |
| 204 | - | |
| 205 | 292 | recordModel.setStartDate(DateUtil.parseYMD(dates[0])); |
| 206 | 293 | recordModel.setEndDate(DateUtil.parseYMD(dates[1])); |
| 207 | 294 | } |
| ... | ... | @@ -217,8 +304,6 @@ |
| 217 | 304 | |
| 218 | 305 | chargeRecordService.addChargeRecord(recordModel); |
| 219 | 306 | |
| 220 | - | |
| 221 | - | |
| 222 | 307 | HealthChargeModel model = new HealthChargeModel(); |
| 223 | 308 | model.setChargeRecordId(recordModel.getId()); |
| 224 | 309 | model.setStatus(2); |
| ... | ... | @@ -279,7 +364,6 @@ |
| 279 | 364 | List<HealthChargeModel> list = healthChargeService.queryHealthChargeList(healthChargeQuery); |
| 280 | 365 | if (CollectionUtils.isNotEmpty(list)) |
| 281 | 366 | { |
| 282 | - | |
| 283 | 367 | for (HealthChargeModel model : list) |
| 284 | 368 | { |
| 285 | 369 | Map map = getData(model); |
| ... | ... | @@ -293,6 +377,7 @@ |
| 293 | 377 | cnames.put("age", "年龄"); |
| 294 | 378 | cnames.put("week", "孕周"); |
| 295 | 379 | cnames.put("type", "报告类型"); |
| 380 | + cnames.put("status", "结算状态"); | |
| 296 | 381 | cnames.put("source", "数据来源"); |
| 297 | 382 | cnames.put("time", "结款时间"); |
| 298 | 383 | response.setContentType("application/octet-stream"); |