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(); }
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; } }