|  | @@ -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;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 校验挂号时段的选择是否合理
 | 
	
		
			
				|  |  |       *
 |