关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

中科软His微信预约挂号中间件(接口)

发布时间:2019-11-16 16:05:21


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using NetWing.Common.Data.SQLServer;
using System.Text;
using System.Configuration;
using System.Web.Configuration;
namespace HisAPI
{
    /// <summary>
    /// hisapi 的摘要说明
    /// </summary>
    public class hisapi : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            //string serverIP= context.Request.ServerVariables.Get("Local_Addr").ToString();
            string clientIP = (context.Request.ServerVariables["HTTP_VIA"] != null) ? context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString() : context.Request.ServerVariables["REMOTE_ADDR"].ToString();
            //context.Response.Write(clientIP);
            string allowIP = ConfigurationManager.ConnectionStrings["allowIP"].ConnectionString; //如果是网站用这个//
            if (allowIP.IndexOf(clientIP)>-1)
            {
            }
            else
            {
                context.Response.Write("{\"status\": 0, \"msg\": \"对不起,您的IP"+ clientIP + "不在允许的范围内!\"}");
                context.Response.End();
            }
            string yuedate = context.Request["yuedate"];//预约日期
            string truename = context.Request["truename"];//真实姓名
            string depid = context.Request["depid"];//号别
            string sex = context.Request["sex"];//性别
            string address = context.Request["address"];//地址
            string age = context.Request["age"];//年龄
            string idcard = context.Request["idcard"];//身份证号
            if (string.IsNullOrEmpty(yuedate) || string.IsNullOrEmpty(truename) || string.IsNullOrEmpty(depid) || string.IsNullOrEmpty(sex) || string.IsNullOrEmpty(age) || string.IsNullOrEmpty(address) || string.IsNullOrEmpty(idcard))
            {
                context.Response.Write("{\"status\": 0, \"msg\": \"对不起,信息不完整,请重新提交!\"}");
                context.Response.End();
            }
            //context.Response.ContentType = "text/plain";
            //context.Response.Write("Hello World");
            try
            {
                string oid = getPRE_ID(DateTime.Parse(yuedate));//得到预约单号
                StringBuilder sb = new StringBuilder();
                sb.Append(" insert into CLINICPRECONTRACT ");
                //sb.Append(" (PRE_ID,CLINIC_DATE,CLINIC_ID,ST_ID,PA_ID,PA_NAME,SHEET_PSID,SHEET_PSDATE,SHEET_STATUS,IF_CHECK,REG_ID,jy_lsh,zf_flag,SEX_ID,ID_CARD,ADDRESS,PA_AGE)");
                sb.Append(" (PRE_ID,CLINIC_DATE,CLINIC_ID,ST_ID,PA_NAME,SHEET_PSID,SHEET_PSDATE,SHEET_STATUS,IF_CHECK,jy_lsh,zf_flag,SEX_ID,ID_CARD,ADDRESS,PA_AGE)");
                //REG_ID PA_ID 传null 值 所以省略
                sb.Append(" values (");
                sb.Append("'" + oid + "',");//PRE_ID预约单号
                sb.Append("'" + yuedate + "',");//预约日期
                sb.Append("'" + depid + "',");//clinic_id
                sb.Append("'system',");//st_id
                                       //sb.Append("'"+null+"',");//pa_id
                sb.Append("'" + truename + "',");//pa_name
                sb.Append("'system',");//sheet_psid 制单人
                sb.Append("'" + DateTime.Now.ToString() + "',");//sheet_psdate 制单日期
                sb.Append("'3',");//SHEET_STATUS
                sb.Append("'1',");//IF_CHECK
                                  //sb.Append("'',");//REG_ID
                sb.Append("'000123',");//jy_lsh  流水号
                sb.Append("'0',");//zf_flag
                sb.Append("'" + sex + "',");//性别1男2女
                sb.Append("'" + idcard + "',");//身份证号
                sb.Append("'" + address + "',");//地址
                sb.Append("" + age + "");//年龄
                sb.Append(")");
                SqlEasy.ExecuteNonQuery(sb.ToString());
                context.Response.Write("{\"status\": 1, \"msg\": \"恭喜!预约成功!\", \"oid\": \""+oid+"\"}");
                context.Response.End();
                //context.Response.Write(sb.ToString());
            }
            catch (Exception err)
            {
                //context.Response.Write("{\"status\": -1, \"msg\": \"系统错误!可能是数据库连接不上或其他原因。请联系管理员!\"}");
                //context.Response.End();
                throw err;
            }
        }
        /// <summary>
        /// 算法得到预约单号
        /// </summary>
        public string getPRE_ID(DateTime CLINIC_DATE)
        {
            string tempid = "";
            //先判断数据库里面有没有当天预约
            string sql = "select top 1 * from CLINICPRECONTRACT  where year(CLINIC_DATE)=" + CLINIC_DATE.ToString("yyyy") + " and month(CLINIC_DATE)=" + CLINIC_DATE.ToString("MM") + "  and day(CLINIC_DATE)=" + CLINIC_DATE.ToString("dd") + "  order by PRE_ID desc ";
            SqlDataReader sdr = SqlEasy.ExecuteDataReader(sql);
            if (sdr.Read())//如果有
            {
                tempid = sdr["PRE_ID"].ToString();
                string temp = tempid.Substring(0, 8);
                tempid = tempid.Substring(tempid.Length - 4, 4);
                //tempid=(int.Parse(tempid)+1).ToString();
                tempid = (int.Parse(tempid) + 1).ToString("0000");
                tempid = temp + tempid;
            }
            else//如果没有
            {
                tempid = "YY" + CLINIC_DATE.ToString("yyMMdd") + "0001";
            }
            return tempid;
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}



/template/Home/Zkeys/PC/Static