| 
					
				 | 
			
			
				@@ -709,6 +709,112 @@ public class MzyReqrecController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 更新挂号信息 宿迁健康通专用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @UserLoginToken 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @RequestMapping(value = "/updateReqrecSQJKT", method = {RequestMethod.POST}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Map<String, Object> updateReqrecSQJKT(@RequestBody MzyReqrec mzyReqrec, HttpServletRequest httpServletRequest) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzyReqrec == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "更新挂号信息参数不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isBlank(mzyReqrec.getPatientId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "病人id不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzyReqrec.getTimes() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "病人挂号次数不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (mzyReqrec.getRefundType() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "退费类型不能为空"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            User tokenUser = TokenUtil.getUser(httpServletRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tokenUser == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "查询窗口号失败,用户Token不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            mzyReqrec.setOpId(tokenUser.getUserIdCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //这里491 ,用淮海员工号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mzyReqrec.setOpId("491"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MzyReqrec dbMzyReqrec = mzyReqrecService.queryMzyReqrecByPatientIdAndTimes(mzyReqrec.getPatientId(), mzyReqrec.getTimes(), "mzy_reqrec"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (dbMzyReqrec == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "需要退号的挂号记录不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Windows windowsDb = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            boolean isPos = YesNoEnum.YES.code.equals(mzyReqrec.getRefundType()) && Arrays.asList(Constants.BYJZ, Constants.YLK, Constants.JHZF).contains(dbMzyReqrec.getPaymode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (isPos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String ipAddress = HttpUtil.getIPAddress(httpServletRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                windowsDb = windowsService.queryLastWindowsIpAddress(ipAddress); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (windowsDb == null || StringUtils.isBlank(windowsDb.getMisPosRouterCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    resultMap.put("message", "您暂未配置只能POS机的【路由识别码】,请配置完后重试!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal amt = dbMzyReqrec.getTotalAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //String lsOrderNo = dbMzyReqrec.getPatientId() + "_" + dbMzyReqrec.getTimes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String lsOrderNo = dbMzyReqrec.getPsordnum() + "_" + dbMzyReqrec.getTotalAmountStr(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //这里491 ,用淮海员工号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int num = mzyReqrecService.modifyMzyReqrec(mzyReqrec, "491"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (YesNoEnum.YES.code.equals(mzyReqrec.getCancelMark())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (isPos && StringUtils.isNotBlank(windowsDb.getMisPosRouterCode())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    JSONObject jsonObject = transactionService.refund(windowsDb.getMisPosRouterCode(), amt, lsOrderNo, null, dbMzyReqrec.getPaymode(), dbMzyReqrec.getParChannel(), dbMzyReqrec.getPsordnum(), dbMzyReqrec.getTransDate(), dbMzyReqrec.getAgtordnum()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (jsonObject == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "挂号记录已退,但是患者智能POS退款失败,请去财务工具查询并退款!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String resCode = (String) jsonObject.get("resCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!"00".equals(resCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("code", -2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resultMap.put("message", "挂号记录已退,但是患者智能POS退款失败,错误信息为:" + jsonObject.get("resMsg") + "请去财务工具查询并退款!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!(YesNoEnum.YES.code.equals(mzyReqrec.getRefundType()) &&Arrays.asList(Constants.BYJZ, Constants.YLK, Constants.JHZF,Constants.DJZ,Constants.YH_HD,Constants.GCP,Constants.DY_TG).contains(dbMzyReqrec.getPaymode()))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dbMzyReqrec.setPaymode(Constants.CASH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ZdChequeType zdChequeType = zdChequeTypeService.queryChequeTypeByCode(dbMzyReqrec.getPaymode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dbMzyReqrec.setPaymode(zdChequeType == null ? dbMzyReqrec.getPaymode() : zdChequeType.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("data", dbMzyReqrec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (num == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("code", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultMap.put("message", "更新挂号信息成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", "更新挂号信息失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (MzException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("code", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("message", "更新挂号信息失败,系统出错,请联系管理员"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error("更新挂号信息失败,系统异常,错误信息{}", e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return resultMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 打印当前挂号的发票信息 
			 |