Beispiel #1
0
        public void GetJson(RetValue RetValues)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string s = "";

            s = serializer.Serialize(RetValues);
            base.Context.Response.ContentType = "text/json";
            base.Context.Response.Write(s);
            base.Context.Response.End();
        }
Beispiel #2
0
        public static void UpStaAndTime()
        {
            WebService service   = new WebService();//新建webservice对象
            EquStatus  Equstatus = service.GetPage();

            service.ClientTime = Convert.ToDecimal(Equstatus.sTM); //客户端上传的时长
            //decimal ClientTime = Convert.ToDecimal(Equstatus.sTM);
            service.EquNum = Equstatus.sNU;                        //光源编号
            //string EquNum = Equstatus.sNU;
            //string sMS = Equstatus.sMS;//机器状态
            service.sMS = Equstatus.sMS;
            //string sERR = Equstatus.sERR;//光源错误代码
            service.sERR = Equstatus.sERR;
            RetValue retValues = new RetValue();//LeftTime Operating ServerTime Status

            if (!string.IsNullOrWhiteSpace(service.EquNum) && (service.EquNum != "0"))
            {
                if (DBHelper.IsLocked(service.EquNum))
                {
                    DBHelper.Add(Equstatus);
                    retValues.Operating  = "Lock";
                    retValues.LeftTime   = Convert.ToDecimal(service.ClientTime);
                    retValues.Status     = "Success";
                    retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                    service.GetJson(retValues);
                    return;
                }
                if (DBHelper.IsEuqNum(service.EquNum))
                {
                    DataSet ds = DBHelper.GetEquInfo(service.EquNum);                                        //获取该光源相应信息
                    service.IsDelay      = ds.Tables[0].Rows[0]["IsDelay"].ToString();                       //充值后的延时操作
                    service.IsSend       = ds.Tables[0].Rows[0]["IsSend"].ToString();                        //是否已发送短信
                    service.EquID        = ds.Tables[0].Rows[0]["EquID"].ToString();                         //光源ID
                    service.Number       = ds.Tables[0].Rows[0]["Number"].ToString();                        //厅号
                    service.ClientID     = ds.Tables[0].Rows[0]["ClientID"].ToString();                      //客户ID
                    service.ClientName   = ds.Tables[0].Rows[0]["ClientName"].ToString();                    //客户名
                    service.ClientPhone  = ds.Tables[0].Rows[0]["Phone"].ToString();                         //客户手机号码
                    service.Agent        = ds.Tables[0].Rows[0]["agent"].ToString();                         //代理商手机号码
                    service.Engineer     = ds.Tables[0].Rows[0]["engineer"].ToString();                      //工程师手机号码
                    service.Seller       = ds.Tables[0].Rows[0]["seller"].ToString();                        //销售人员手机号码
                    service.ReMaTime     = Convert.ToDecimal(ds.Tables[0].Rows[0]["RemainTime"].ToString()); //数据库内该光源总剩余时长
                    service.ReChargeTime = Convert.ToDecimal(ds.Tables[0].Rows[0]["Precharge"].ToString());  //要充值的时长
                    service.IsReCharge   = ds.Tables[0].Rows[0]["IsPre"].ToString();                         //是否需要充值
                    if (service.sERR != "00" && service.sERR != "0" && !string.IsNullOrEmpty(service.sERR))
                    {
                        service.ProDesc = "";
                        switch (service.sERR)
                        {
                        case "01":
                            service.ProDesc = "温度传感器未连接";
                            break;

                        case "02":
                            service.ProDesc = "设备温度异常";
                            break;

                        case "03":
                            service.ProDesc = "设备温度严重异常";
                            break;

                        case "04":
                            service.ProDesc = "水冷机未连接";
                            break;

                        case "05":
                            service.ProDesc = "光传感器未连接";
                            break;

                        case "06":
                            service.ProDesc = "箱门未关闭";
                            break;

                        case "07":
                            service.ProDesc = "驱动配置异常";
                            break;

                        case "08":
                            service.ProDesc = "驱动通信异常";
                            break;

                        case "09":
                            service.ProDesc = "红光电流异常";
                            break;

                        case "10":
                            service.ProDesc = "绿光电流异常";
                            break;

                        case "11":
                            service.ProDesc = "蓝光电流异常";
                            break;

                        default:
                            break;
                        }
                        service.AddAbnotma(service.ClientID, service.EquID, service.ProDesc);
                    }
                    service.Send(service.ClientTime, service.ClientName, service.EquNum, service.Number, service.IsSend, service.ClientPhone, service.Agent, service.Seller, service.Engineer);
                    switch (service.IsReCharge)
                    {
                    case "Y":
                        retValues.Operating = IsActive("Recharge");
                        if (service.ClientTime <= service.ReMaTime)                           //如果客户端时长小于等于服务器剩余总时长(此为正常情况)
                        {
                            retValues.LeftTime   = service.ReChargeTime + service.ClientTime; //返回时长为客户端时长+充值时长
                            retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            retValues.Status     = IsActive("Success");
                            DBHelper.UpdateEquTime(service.EquNum, retValues.LeftTime);
                            Equstatus.sTM = Convert.ToInt32(retValues.LeftTime).ToString();
                            DBHelper.Add(Equstatus);
                            DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                            if (retValues.LeftTime > 500M)
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "1,1,1,1");
                            }
                            else if (retValues.LeftTime <= 500M && retValues.LeftTime > 200M)
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "0,1,1,1");
                            }
                            else if (retValues.LeftTime <= 200M && retValues.LeftTime > 100M)
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "1,0,1,1");
                            }
                            else
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "1,1,0,0");
                            }

                            service.GetJson(retValues);
                            return;
                        }
                        else                                                                //客户端时长大于服务器端时长
                        {
                            retValues.LeftTime   = service.ReMaTime + service.ReChargeTime; //返回时长为 服务器端剩余总时长+充值时长
                            retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            retValues.Status     = IsActive("Success");
                            DBHelper.UpdateEquTime(service.EquNum, retValues.LeftTime);
                            Equstatus.sTM = Convert.ToInt32(retValues.LeftTime).ToString();
                            DBHelper.Add(Equstatus);
                            DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                            if (retValues.LeftTime <= 500M && retValues.LeftTime > 200M)
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "0,0,0,0");
                            }
                            else if (retValues.LeftTime <= 200M && retValues.LeftTime > 100M)
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "1,0,0,0");
                            }
                            else
                            {
                                DBHelper.UpEquIsSend(service.EquNum, "1,1,0,0");
                            }
                            service.GetJson(retValues);
                            return;
                        }

                    case "N":
                        if (service.IsDelay == "2")
                        {
                            retValues.LeftTime   = service.ReMaTime;
                            retValues.Operating  = "Normal";
                            retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            retValues.Status     = "Success";
                            Equstatus.sTM        = Convert.ToInt32(service.ReMaTime).ToString();
                            //DBHelper.Add(Equstatus);
                            DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery("update Equipment set  IsDelay='0" + "'  where EquNum='" + service.EquNum + "'");
                            service.GetJson(retValues);
                            return;
                        }
                        if (service.ReMaTime >= service.ClientTime)    //正常情况
                        {
                            retValues.Operating  = "Normal";
                            retValues.Status     = IsActive("Success");
                            retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            retValues.LeftTime   = service.ClientTime;
                            Equstatus.sTM        = Convert.ToInt32(retValues.LeftTime).ToString();
                            DBHelper.Add(Equstatus);
                            DBHelper.UpdateEquTime(service.EquNum, retValues.LeftTime);
                            DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                            service.GetJson(retValues);
                            return;
                        }
                        else    //如果客户端时长>服务端时长
                        {
                            retValues.Operating  = "Normal";
                            retValues.Status     = IsActive("Success");
                            retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                            retValues.LeftTime   = service.ClientTime;  //返回客户端的时长
                            DBHelper.Add(Equstatus);
                            //DBHelper.UpdateEquTime(service.EquNum, service.ReMaTime);
                            DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                            DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                            service.GetJson(retValues);
                            return;
                        }


                    default:
                        retValues.Operating = "UnKnow";
                        DBHelper.Add(Equstatus);
                        DBHelper.ExecuteNonQuery(string.Concat(new string[] { "update Equipment set EquStatus='", service.sMS, "' WHERE EquNum='", service.EquNum, "'" }));
                        DBHelper.ExecuteNonQuery(string.Concat(new object[] { "update Equipment set ReviewTime='", DBHelper.GetDate(), "' WHERE EquNum='", service.EquNum, "'" }));
                        break;
                    }
                }
                else
                {
                    retValues.Operating  = "Please Leave This Page!";
                    retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                    retValues.LeftTime   = Decimal.Zero;
                    retValues.Status     = "Failure";
                    service.GetJson(retValues);
                    return;
                }
            }
            else
            {
                //this.GetJson();
                //return;
                retValues.Status     = "Failure";
                retValues.Operating  = "Please Leave This Page!";
                retValues.ServerTime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
                retValues.LeftTime   = Decimal.Zero;
                service.GetJson(retValues);
                return;
            }
        }