| 
					
				 | 
			
			
				@@ -208,6 +208,126 @@ public class MzyReqrecController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 保存挂号信息  宿迁健康通专用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @UserLoginToken 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @RequestMapping(value = "/saveMzyReqrecSQJKT", method = {RequestMethod.POST}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<String, Object> saveMzyReqrecSQJKT(@RequestBody MzyReqrecPageDto mzyReqrecPageDto, HttpServletRequest httpServletRequest) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzyReqrecPageDto == null || mzyReqrecPageDto.getMzyReqrec() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "挂号参数不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MzyReqrec mzyReqrec = mzyReqrecPageDto.getMzyReqrec(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isBlank(mzyReqrec.getPatientId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "病人id不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isBlank(mzyReqrec.getAmpm())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "挂号时间段不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isBlank(mzyReqrec.getUnitCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "科室编码不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isBlank(mzyReqrec.getChargeType())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "号别不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzyReqrecPageDto.getMzyRequestId() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "门诊号表主键不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (PayMarkEnum.CHARGED.code.equals(mzyReqrecPageDto.getPayMark())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isBlank(mzyReqrec.getPaymode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("message", "付款方式不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (mzyReqrecPageDto.getTotalFee() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("resultCode", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("message", "实缴费用不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isBlank(mzyReqrecPageDto.getResponceType())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("message", "病人性质不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (Constants.JHZF.equals(mzyReqrec.getPaymode()) || Constants.YLK.equals(mzyReqrec.getPaymode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (StringUtils.isBlank(mzyReqrec.getPsordnum())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "银联刷卡或者聚合支付流水号为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (StringUtils.isBlank(mzyReqrec.getParChannel())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "银联刷卡或者聚合支付回传支付渠道为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (Constants.JHZF.equals(mzyReqrec.getPaymode()) && StringUtils.isBlank(mzyReqrec.getAgtordnum())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "银联刷卡或者聚合支付条形码流水号为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (StringUtils.isBlank(mzyReqrec.getTransDate())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "银联刷卡或者聚合支付交易日期为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MzZdWorkTime mzZdWorkTime = mzZdWorkTimeService.queryMzZdWorkTimeByCode(mzyReqrec.getAmpm()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzZdWorkTime == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "号段不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String toDayStr = DateUtil.paseToString(new Date(), "yyyy-MM-dd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (toDayStr.equals(mzyReqrec.getRequestDayStr()) && checkWorkTime(resultMap, mzZdWorkTime)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User tokenUser = TokenUtil.getUser(httpServletRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //这里491 ,用淮海员工号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mzyReqrec.setOpId("491"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mzyReqrec.setWebId("491"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String ipAddress = HttpUtil.getIPAddress(httpServletRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int num = mzyReqrecService.saveMzyReqrec(mzyReqrecPageDto, ipAddress); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //这段代码是为了在挂号成功且已缴费的情况下,自动为患者开具电子发票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            if(dictDataService.queryFpVersion() == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                if(PayMarkEnum.CHARGED.code.equals(mzyReqrecPageDto.getPayMark())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    ZdChequeType zdChequeType = zdChequeTypeService.queryChequeTypeByCode(mzyReqrec.getPaymode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    if (zdChequeType != null && zdChequeType.getPrintFlag() != null && zdChequeType.getPrintFlag() == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        MzReceiptSerial mzReceiptSerial = new MzReceiptSerial(mzyReqrecPageDto.getMzyReqrec().getPatientId(),num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        mzReceiptSerial.setOperatorId(tokenUser.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        dictDataService.getBswServer().asnyMzInvoice(mzReceiptSerial,true,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("times", num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", "保存挂号信息成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", StringUtils.isBlank(e.getMessage()) ? "挂号失败,系统出错,请联系管理员" : e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error(StrUtil.format("挂号失败,系统异常,错误信息{}", e.getMessage()),e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 校验挂号时段的选择是否合理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 |