Commit 21cfd07da3ebaa13a653c1586065b1ed9ff02e7a

Authored by liquanyu
1 parent 49ea659aac

结算管理

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");