| 
					
				 | 
			
			
				@ -25,6 +25,7 @@ import net.sf.json.xml.XMLSerializer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.collections.map.HashedMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.math.NumberUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.checkerframework.checker.units.qual.A; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -336,6 +337,7 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        xml=xml.substring(xml.indexOf("<root>"),xml.lastIndexOf("]]")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        XMLSerializer xmlSerializer = new XMLSerializer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String json = xmlSerializer.read(xml).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saveHttpLog("ChargenucleicBill",jsonObject.toString(),json,"ChargenucleicBill"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("ChargenucleicBill json:"+json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -540,7 +542,7 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key2.put("color",wxTemplateConfigDO1.getKeyword6()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key3.put("value",wxTemplateConfigDO1.getKeyword3()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key3.put("color",wxTemplateConfigDO1.getKeyword6()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key4.put("value",baseNatAppointmentD0.getDoctorName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key4.put("value",baseNatAppointmentD0.getChargeAmount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key4.put("color",wxTemplateConfigDO1.getKeyword6()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key5.put("value",baseNatAppointmentD0.getVoucherNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            key5.put("color",wxTemplateConfigDO1.getKeyword6()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -798,6 +800,7 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("QueryApplyInfo json:"+json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void savePayStatusByHis(String patientId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<BaseNatAppointmentDO> baseNatAppointmentDOList = baseNatAppointmentDao.findPayStatusByPatientId(patientId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (BaseNatAppointmentDO baseNatAppointmentDO:baseNatAppointmentDOList){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -809,6 +812,11 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDO.setVoucherNo(voucherNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if ("已扣费".equalsIgnoreCase(jsonObject.getString("Status"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            baseNatAppointmentDO.setPayStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(baseNatAppointmentDO.getId().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (businessOrderDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                businessOrderDO.setStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                businessOrderDao.save(businessOrderDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        baseNatAppointmentDao.save(baseNatAppointmentDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -830,7 +838,12 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (wechatList!=null&&wechatList.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                openId=wechatList.get(0).getOpenid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            businessOrderDO.setOrderNo("HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isNoneBlank(businessOrderDO.getOrderNo())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String orderNo= businessOrderDO.getOrderNo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String newOrder="HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                businessOrderDO.setOrderNo(newOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                businessOrderDO.setHistoryOrder(orderNo+","+newOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            com.alibaba.fastjson.JSONObject orderObj= new com.alibaba.fastjson.JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orderObj.put("payType",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orderObj.put("tradeNo",businessOrderDO.getOrderNo()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -919,4 +932,106 @@ public class TasyNatService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("hdrQueryDataWS json:"+json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public  Map checkBalance(String relationCode) throws  Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(Integer.parseInt(relationCode)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("MzBalance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String tmpBalance=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyHospitalSysDictDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            tmpBalance=wlyyHospitalSysDictDO.getDictValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String res = findHisPatientCard(baseNatAppointmentDO.getCardNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String mediacard=baseNatAppointmentDO.getMedicare(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map result=new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(res)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = JSON.parseObject(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if ("1".equalsIgnoreCase(jsonObject.getString("ReturnCode"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String patients=jsonObject.getString("patients"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (patients.contains("[")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONArray jsonArray = JSON.parseArray(patients); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (jsonArray != null && jsonArray.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        for (int i = 0; i < jsonArray.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            JSONObject child = jsonArray.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (mediacard.equalsIgnoreCase(child.getString("CardNo"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                String MzBalance = child.getString("MzBalance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if (StringUtils.isNoneBlank(tmpBalance)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    MzBalance=tmpBalance; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                BigDecimal b = new BigDecimal(MzBalance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                b=b.setScale(2, BigDecimal.ROUND_DOWN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                System.out.println("MzBalance====="+MzBalance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if (StringUtils.isNoneBlank(MzBalance) && b.compareTo(new BigDecimal("0")) < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    result.put("msgCode", "-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    result.put("msg", "余额不足"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject jsonObject1= JSONObject.parseObject(patients); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (mediacard.equalsIgnoreCase(jsonObject1.getString("CardNo"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String MzBalance = jsonObject1.getString("MzBalance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (StringUtils.isNoneBlank(tmpBalance)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                MzBalance=tmpBalance; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            System.out.println("MzBalance====="+MzBalance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            BigDecimal b = new BigDecimal(MzBalance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            b=b.setScale(2, BigDecimal.ROUND_DOWN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            System.out.println("MzBalance====="+b); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (StringUtils.isNoneBlank(MzBalance) && b.compareTo(new BigDecimal("0")) < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                result.put("msgCode", "-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                result.put("msg", "余额不足"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("msgCode","-1000"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        result.put("msg","json格式验证失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("msgCode","200"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("msg","验证通过"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return  result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getPatientHisId(String idcard,String mediacard) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String res = findHisPatientCard(idcard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = JSON.parseObject(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("1".equalsIgnoreCase(jsonObject.getString("ReturnCode"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String patients=jsonObject.getString("patients"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (patients.contains("[")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONArray jsonArray = JSON.parseArray(patients); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (jsonArray != null && jsonArray.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int i = 0; i < jsonArray.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject child = jsonArray.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (mediacard.equalsIgnoreCase(child.getString("CardNo"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String Patientid = child.getString("Patientid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return Patientid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject jsonObject1 = JSONObject.parseObject(patients); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (mediacard.equalsIgnoreCase(jsonObject1.getString("CardNo"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        String Patientid = jsonObject1.getString("Patientid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return Patientid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |