|
@@ -829,6 +829,101 @@ public class MedicalViewApiController {
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 门诊挂号记录查询
|
|
|
+ *
|
|
|
+ * @param mzyReqrec
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/getRegistrationForPaid", method = {RequestMethod.POST})
|
|
|
+ public Map<String, Object> getRegistrationForPaid(@RequestBody MzyReqrec mzyReqrec) {
|
|
|
+ Map<String, Object> results = new HashMap<>();
|
|
|
+ if (mzyReqrec == null) {
|
|
|
+ results.put("resultCode", -1);
|
|
|
+ results.put("resultMessage", "门诊挂号记录查询参数为空");
|
|
|
+ return results;
|
|
|
+ }
|
|
|
+ if (mzyReqrec.getPatientId() == null) {
|
|
|
+ results.put("resultCode", -1);
|
|
|
+ results.put("resultMessage", "患者ID不能为空");
|
|
|
+ return results;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ mzyReqrec.setOpId(Constants.BRZZJF_CODE);
|
|
|
+ MzyReqrecPageDto mzyReqrecPageDto = new MzyReqrecPageDto();
|
|
|
+ mzyReqrecPageDto.setPageSize(1000);
|
|
|
+ mzyReqrecPageDto.setMzyReqrec(mzyReqrec);
|
|
|
+ mzyReqrecPageDto.setPatientIds(Arrays.asList(mzyReqrec.getPatientId()));
|
|
|
+ mzyReqrecPageDto.setTableName("mzy_reqrec");
|
|
|
+ List<MzyReqrec> mzyReqrecList = mzyReqrecService.queryMzyReqrecWithPage(mzyReqrecPageDto);
|
|
|
+ List<Map<String,Object>> list = new ArrayList<>();
|
|
|
+ Map<String, String> employeeMap = null;
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
+ employeeMap = getStringStringMap(mzyReqrecList, list, employeeMap, set);
|
|
|
+ mzyReqrecPageDto.setTableName("mzy_reqrec_b");
|
|
|
+ mzyReqrecList = mzyReqrecService.queryMzyReqrecWithPage(mzyReqrecPageDto);
|
|
|
+ getStringStringMap(mzyReqrecList, list, employeeMap, set);
|
|
|
+ if (list == null || list.size() == 0) {
|
|
|
+ results.put("resultCode", -1);
|
|
|
+ results.put("resultMessage", "未查询到挂号记录");
|
|
|
+ return results;
|
|
|
+ }
|
|
|
+ results.put("resultCode", 0);
|
|
|
+ results.put("resultMessage", "挂号记录查询成功");
|
|
|
+ results.put("data", list);
|
|
|
+ return results;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ results.put("resultCode", -1);
|
|
|
+ results.put("resultMessage", "门诊挂号记录查询失败,请联系管理员,错误信息{"+e.getMessage()+"}");
|
|
|
+ log.error("系统异常,错误信息{}", e.getMessage());
|
|
|
+ return results;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Map<String, String> getStringStringMap(List<MzyReqrec> mzyReqrecList, List<Map<String, Object>> list, Map<String, String> employeeMap, Set<String> set) {
|
|
|
+ if(mzyReqrecList!=null && mzyReqrecList.size()>0){
|
|
|
+ if (employeeMap == null) {
|
|
|
+ List<Employee> employees = employeeService.queryAll();
|
|
|
+ if (employees != null) {
|
|
|
+ employeeMap = employees.stream().collect(Collectors.toMap(Employee::getEmployeeCode, Employee::getEmployeeName));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (MzyReqrec mr:mzyReqrecList){
|
|
|
+ if(set.contains(mr.getPsordnum())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("patientId",mr.getPatientId());
|
|
|
+ map.put("doctorName",employeeMap.get(mr.getDoctorCode()));
|
|
|
+ map.put("unitName",zdUnitCodeService.queryDeptNameByIdInCache(mr.getUnitCode()));
|
|
|
+ map.put("requestDay",DateUtil.fomart(mr.getRequestDay(),"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ if (StringUtils.isNotBlank(mr.getChargeType())) {
|
|
|
+ MzyZdChargeType mzyZdChargeType = mzyZdChargeTypeService.queryByCode(mr.getChargeType());
|
|
|
+ if (mzyZdChargeType != null) {
|
|
|
+ map.put("chargeType", mzyZdChargeType.getName());
|
|
|
+ }else {
|
|
|
+ map.put("chargeType","");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ BigDecimal fee=BigDecimal.ZERO;
|
|
|
+ if (mr.getReqFee() == null) {
|
|
|
+ mr.setReqFee(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ if (mr.getClinicFee() == null) {
|
|
|
+ mr.setClinicFee(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ if (mr.getOthFee() == null) {
|
|
|
+ mr.setOthFee(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ fee = fee.add(mr.getReqFee()).add(mr.getClinicFee()).add(mr.getOthFee());
|
|
|
+ map.put("fee",fee);
|
|
|
+ list.add(map);
|
|
|
+ set.add(mr.getPatientId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return employeeMap;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|