using System.Collections.Generic; using System.Data; using System.Reflection; using System.Web.Script.Services; using System.Web.Services; using Tools; using Webservice; using WebService.Model; namespace WebService { /// /// PaintWebservice 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class PaintWebservice : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } /// /// 根据油漆条码查询油漆信息 /// /// /// /// [WebMethodAttribute] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void GetInfoByPaintCode(string app_id, string PaintCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(PaintCode)) { model.ErrReason = "缺少必要传入参数 PaintCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), PaintCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion DataTable dtIsUsing = Function.GetPaintInfoIsUsing(PaintCode, out errorReason); if (dtIsUsing.Rows.Count < 1) { model.ErrReason = "油漆条码已停用或有误"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } DataTable dt = Function.GetPaintInfo(PaintCode, out errorReason); List listInfo = new List(); if (dt != null && dt.Rows.Count > 0) { model.Result = "1"; PaintInfoModel info = new PaintInfoModel(); info.PaintName = dt.Rows[0]["PaintName"].ToString(); info.PaintModel = dt.Rows[0]["PaintModel"].ToString(); info.UnitCode = dt.Rows[0]["UnitCode"].ToString(); info.CarModelCode = dt.Rows[0]["CarModelCode"].ToString(); listInfo.Add(info); } else { model.Result = "0"; } model.ErrReason = errorReason; model.ResultRowsCount = dt.Rows.Count.ToString(); model.DataList = listInfo; LogHelper.WriteSysLogBase("【加漆防错-根据油漆条码返回油漆信息】入参:PaintCode:" + PaintCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } /// /// 油漆和油漆桶匹配 /// /// /// /// /// [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void CheckPaint(string app_id, string PaintCode, string DrumCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(PaintCode)) { model.ErrReason = "缺少必要传入参数 PaintCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(DrumCode)) { model.ErrReason = "缺少必要传入参数 DrumCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), PaintCode.Trim(), DrumCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion DataTable dt = Function.IsMatch(PaintCode, DrumCode, out errorReason); if (dt != null && dt.Rows.Count > 0) { model.Result = "1"; } else { model.Result = "0"; } model.ErrReason = errorReason; model.ResultRowsCount = dt.Rows.Count.ToString(); model.DataList = null; LogHelper.WriteSysLogBase("【加漆防错-油漆和油漆桶匹配】入参:PaintCode:" + PaintCode + ",DrumCode:" + DrumCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } /// /// 暂时取消 /// /// /// /// [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void ScanDrumCode(string app_id, string DrumCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(DrumCode)) { model.ErrReason = "缺少必要传入参数 DrumCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), DrumCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion DataTable dt1 = Function.IsExitBucketCode(DrumCode, out errorReason); if (dt1 != null && dt1.Rows.Count > 0) { } else { model.ErrReason = "油漆桶" + DrumCode + "系统中不存在"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } DataTable dt2 = Function.IsEmpty(DrumCode, out errorReason); if (dt2 != null && dt2.Rows.Count > 0) { if (!string.IsNullOrWhiteSpace(dt2.Rows[0]["PaintCode"].ToString())) { model.ErrReason = "油漆桶" + DrumCode + "已加注油漆或清洗剂,请清空后再加注"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } } LogHelper.WriteSysLogBase("【加漆-扫描油漆桶】入参:PaintDrumCode:" + DrumCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } /// /// 油漆加注 /// /// /// /// /// [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void ScanPaint(string app_id, string PaintCode, string DrumCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(PaintCode)) { model.ErrReason = "缺少必要传入参数 PaintCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(DrumCode)) { model.ErrReason = "缺少必要传入参数 DrumCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), PaintCode.Trim(), DrumCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion DataTable dt1 = Function.IsExitBucketCode(DrumCode, out errorReason); if (dt1 != null && dt1.Rows.Count > 0) { } else { model.ErrReason = "油漆系统条码" + DrumCode + "在系统中不存在"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } DataTable dt2 = Function.IsEmpty(DrumCode, out errorReason); if (dt2 != null && dt2.Rows.Count > 0) { if (!string.IsNullOrWhiteSpace(dt2.Rows[0]["PaintCode"].ToString())) { model.ErrReason = "油系统条码" + DrumCode + "已加注油漆或清洗剂,请清空后再加注"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } } DataTable dtIsUsing = Function.GetPaintInfoIsUsing(PaintCode, out errorReason); if (dtIsUsing.Rows.Count < 1) { model.ErrReason = "油漆条码已停用或有误"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (Function.IsExitPaintCode(PaintCode)) { model.ErrReason = "该油漆已经加注在油漆系统中"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } int state = Function.IsPaint(PaintCode) == 1 ? 1 : 2; int res = Function.AddPaint(PaintCode, DrumCode, state,out errorReason); model.Result = res < 1 ? "0" : "1"; model.ErrReason = errorReason; model.ResultRowsCount = res.ToString(); model.DataList = null; LogHelper.WriteSysLogBase("【加漆-加注油漆】入参:PaintCode:" + PaintCode + ",DrumCode:" + DrumCode + ",State:" + state + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } /// /// 清空油漆桶 /// /// /// /// [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void ClearBucket(string app_id, string DrumCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(DrumCode)) { model.ErrReason = "缺少必要传入参数 DrumCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), DrumCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion int res = Function.ClearBucket(DrumCode, out errorReason); model.Result = res < 1 ? "0" : "1"; model.ErrReason = errorReason; model.ResultRowsCount = res.ToString(); model.DataList = null; LogHelper.WriteSysLogBase("【加漆-清空油漆桶】入参:DrumCode:" + DrumCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void GetPaintInfo(string app_id, string drumCode, string sign) { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; #region 参数判断 if (string.IsNullOrWhiteSpace(app_id)) { model.ErrReason = "缺少必要传入参数 app_id"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(drumCode)) { model.ErrReason = "缺少必要传入参数 drumCode"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } if (string.IsNullOrWhiteSpace(sign)) { model.ErrReason = "缺少必要传入参数 sign"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } bool access = Function.AppIDIsRight(app_id.Trim()); if (!access) { model.ErrReason = "APP接口调用标识不正确 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } string[] param = { Function.app_secret.Trim(), drumCode.Trim() }; bool paramIsRight = Function.signIsRight(param, sign); if (!paramIsRight) { model.ErrReason = "sign参数传输错误 远程服务器拒绝了此次连接请求"; Context.Response.Write(JSONTools.ScriptSerialize>(model)); return; } #endregion DataTable dt = Function.IsEmpty(drumCode, out errorReason); if (dt != null && dt.Rows.Count > 0) { DataTable dt1 = Function.GetPaintInfo(dt.Rows[0]["PaintCode"].ToString(), out errorReason); List listInfo=new List(); if (dt.Rows.Count < 1) { model.Result = "0"; } else { model.Result = "1"; PaintInfoModel info = new PaintInfoModel(); if (dt1 != null && dt1.Rows.Count > 0) { info.PaintName = dt1.Rows[0]["PaintName"].ToString(); } info.PaintCode = dt.Rows[0]["PaintCode"].ToString(); listInfo.Add(info); } model.ErrReason = errorReason; model.ResultRowsCount = dt.Rows.Count.ToString(); model.DataList = listInfo; LogHelper.WriteSysLogBase("APP根据油漆系统条码查询油漆信息,入参drumCode=" + drumCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } else { model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = "油漆系统为空,无需清空!"; model.DataList = null; LogHelper.WriteSysLogBase("APP根据油漆系统条码查询加料信息,入参drumCode=" + drumCode + ",出参:" + JSONTools.ScriptSerialize>(model), MethodBase.GetCurrentMethod().Name); Context.Response.Write(JSONTools.ScriptSerialize>(model)); } } [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void GetPaintRecord() { string errorReason = ""; JsonModel model = new JsonModel(); model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = errorReason; model.DataList = null; DataTable dt = Function.GetPaintRecord(out errorReason); if (dt != null && dt.Rows.Count > 0) { List listInfo = new List(); model.Result = "1"; for (int i = 0; i < dt.Rows.Count; i++) { PaintRecordModel info = new PaintRecordModel(); info.BucketCode = dt.Rows[i]["BucketCode"].ToString(); info.PaintCode= dt.Rows[i]["PaintCode"].ToString(); info.CreateTime= dt.Rows[i]["CreateTime"].ToString(); info.BucketState= dt.Rows[i]["BucketState"].ToString(); listInfo.Add(info); } model.ErrReason = errorReason; model.ResultRowsCount = dt.Rows.Count.ToString(); model.DataList = listInfo; } else { model.Result = "0"; model.ResultType = "Result"; model.ResultRowsCount = "0"; model.ErrReason = "无记录!"; model.DataList = null; } Context.Response.Write(JSONTools.ScriptSerialize>(model)); } } }