diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java index 2764f27..2238b64 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java @@ -46,6 +46,19 @@ public class HealthChargeModel extends BaseModel { //结算状态 1未结算 2结算 private Integer status; + /** + * 报告解读人 + */ + private String doctorId; + + public String getDoctorId() { + return doctorId; + } + + public void setDoctorId(String doctorId) { + this.doctorId = doctorId; + } + public Integer getStatus() { return status; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java index e8c0a26..aa049a7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWeightController.java @@ -32,15 +32,9 @@ public class PatientWeightController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.POST) - - - - - - @TokenRequired - public BaseResponse addOrUpdate(PatientWeight patientWeight, HttpServletRequest request) { - return patientWeightService.addOrUpdate(getUserId(request), patientWeight); + public BaseResponse addOrUpdate(@RequestParam(value = "doctorId", required = false) String doctorId, PatientWeight patientWeight, HttpServletRequest request) { + return patientWeightService.addOrUpdate(getUserId(request), patientWeight, doctorId); } /** @@ -137,14 +131,14 @@ public class PatientWeightController extends BaseController { @ResponseBody @RequestMapping(value = "/update", method = RequestMethod.POST) @TokenRequired - public BaseResponse update(String id, String beforeWeight, String beforeHeight, String date, String nowWeight, HttpServletRequest request, String bregmatic, String bregmaticOther) { - return patientWeightService.update(getUserId(request), id, beforeWeight, beforeHeight, date, nowWeight, bregmatic, bregmaticOther, true); + public BaseResponse update(String id, String beforeWeight, String beforeHeight, String date, String nowWeight, HttpServletRequest request, String bregmatic, String bregmaticOther, String doctorId) { + return patientWeightService.update(getUserId(request), id, beforeWeight, beforeHeight, date, nowWeight, bregmatic, bregmaticOther, true, doctorId); } @ResponseBody @RequestMapping(value = "/sync/update", method = RequestMethod.POST) public BaseResponse syncUpdate(String id, String beforeWeight, String beforeHeight, String date, String nowWeight, Integer userId, String bregmatic, String bregmaticOther) { - return patientWeightService.update(userId, id, beforeWeight, beforeHeight, date, nowWeight, bregmatic, bregmaticOther, false); + return patientWeightService.update(userId, id, beforeWeight, beforeHeight, date, nowWeight, bregmatic, bregmaticOther, false, null); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index 39a2ddd..e6904ad 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -52,6 +52,17 @@ public class HealthChargeFacade { @Autowired private UsersService usersService; + public BaseResponse addHealthCharge(String hospitalId,Integer healthType,String foreignId,Integer type,Integer source, Integer userId, String doctorId){ + HealthChargeRequest request = new HealthChargeRequest(); + request.setHospitalId(hospitalId); + request.setHealthType(healthType); + request.setForeignId(foreignId); + request.setType(type); + request.setSource(source); + request.setDoctorId(doctorId); + return addHealthCharge(request, userId); + } + /** * 打印体重、血糖、血压调用接口 * @param hospitalId 医院id @@ -95,6 +106,10 @@ public class HealthChargeFacade { if (DateUtil.getyyyy_MM_dd(new Date()).equals(DateUtil.getyyyy_MM_dd(model.getCreated()))) { + String doctorId = request.getDoctorId(); + if (StringUtils.isNotEmpty(doctorId)){ + model.setDoctorId(doctorId); + } model.setType(request.getType()); model.setModified(new Date()); healthChargeService.updateHealthCharge(model); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 0029816..10c5b0d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -12,6 +12,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.worker.QuanChanPatientWorker; import com.lyms.platform.operate.web.worker.QuanPatientWorker; @@ -110,6 +111,9 @@ public class PatientFacade { private MatDeliverFollowService matDeliverFollowService; @Autowired private CouponMapper couponMapper; + + @Autowired + private PatientWeightService patientWeightService; /** * 修改产妇的社区 * @@ -1623,6 +1627,9 @@ public class PatientFacade { patientBaseResult.setHeight(StringUtils.isNotEmpty(patientWeight.getBeforeHeight()) ? patientWeight.getBeforeHeight() : ""); patientBaseResult.setWeight(StringUtils.isNotEmpty(patientWeight.getNowWeight()) ? patientWeight.getNowWeight() : ""); patientBaseResult.setBeforWeight(StringUtils.isNotEmpty(patientWeight.getBeforeWeight()) ? patientWeight.getBeforeWeight() : ""); + List> dayWeights2 = patientWeight.getDayWeights2(); + String doctorId = patientWeightService.getDoctorId(dayWeights2); + patientBaseResult.setDoctorId(doctorId); } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java index 1993fdb..14a86c1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java @@ -30,6 +30,11 @@ public class HealthChargeRequest implements IBasicRequestConvert> series, String bmiStr, String bregmatic); + String getDoctorId(List> dayWeights2); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index ddbd422..d834bb0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -110,7 +110,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } @Override - public BaseResponse addOrUpdate(Integer userId, PatientWeight patientWeight) { + public BaseResponse addOrUpdate(Integer userId, PatientWeight patientWeight, String doctorId) { String hospitalId = autoMatchFacade.getHospitalId(userId); String nowWeight = patientWeight.getNowWeight(); Patients patients = mongoTemplate.findById(patientWeight.getPatientId(), Patients.class); @@ -175,6 +175,8 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient map.put("hospitalName", couponMapper.getHospitalName(hospitalId)); map.put("date", ymdDate); map.put("nowWeight", nowWeight); + map.put("doctorId", doctorId); + } } if (flag) { @@ -183,6 +185,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); m.put("date", ymdDate); m.put("nowWeight", nowWeight); + m.put("doctorId", doctorId); dayWeights2.add(m); } pw.setDayWeights2(dayWeights2); @@ -212,6 +215,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient m.put("hospitalName", couponMapper.getHospitalName(hospitalId)); m.put("date", DateUtil.getyyyy_MM_dd(new Date())); m.put("nowWeight", nowWeight); + m.put("doctorId", doctorId); dayWeights2.add(m); patientWeight.setDayWeights2(dayWeights2); @@ -663,8 +667,10 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient setReport(map, weights, patientWeight.getBeforeWeight(), patientWeight.getBmi(), patientWeight.getDayWeights(), patientWeight.getBregmatic()); CollectionUtils.removeNullValue(map); + List> dayWeights2 = patientWeight.getDayWeights2(); + String doctorId = getDoctorId(dayWeights2); - healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId); + healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId, doctorId); return RespBuilder.buildSuccess(map); } return RespBuilder.buildSuccess(); @@ -672,6 +678,28 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient @Override + public String getDoctorId(List> dayWeights2) { + if (CollectionUtils.isNotEmpty(dayWeights2)){ + if (dayWeights2 != null){ + for (Map m : dayWeights2){ + String currentDate = DateUtil.getyyyy_MM_dd(new Date()); + Object object = m.get("date"); + if (object != null){ + if (currentDate.equals(object.toString())){ + Object obj = m.get("doctorId"); + if (obj != null){ + return obj.toString(); + } + } + } + } + } + } + return ""; + } + + + @Override public BaseResponse wxReport(String pid) { PatientWeight patientWeight = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("yn").ne("0")), PatientWeight.class); if (patientWeight != null) { @@ -825,7 +853,9 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } @Override - public BaseResponse update(final Integer userId, final String id, final String beforeWeight, final String beforeHeight, final String date, final String nowWeight, final String bregmatic, final String bregmaticOther, boolean sync) { + public BaseResponse update(final Integer userId, final String id, final String beforeWeight, + final String beforeHeight, final String date, final String nowWeight, + final String bregmatic, final String bregmaticOther, boolean sync, final String doctorId) { PatientWeight patientWeight = mongoTemplate.findById(id, PatientWeight.class); if (patientWeight == null) { @@ -872,6 +902,10 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient map.put("hospitalId", hospitalId); map.put("hospitalName", couponMapper.getHospitalName(hospitalId)); map.put("nowWeight", nowWeight); + // 同步时暂时不用 + if (sync){ + map.put("doctorId", doctorId); + } } } Map dayWeights = patientWeight.getDayWeights();