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