internal static Dictionary<string, object> getConfiguation(string[] mcArr, DateTime start, DateTime end)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
foreach (var item in mcArr)
{
var filter = QueryPageFilter.Create("ZT_YWYYB").Equal("YYMC", item);
var yyb = ServiceAppContext.Instance.DataBaseClassHelper.GetQueryDic(filter);
var bm = yyb["SSBM"].ToString();
var filter1 = QueryPageFilter.Create(bm).LessEqualThan("GXSJ", end).MoreEqualThan("GXSJ", start);
var dab = ServiceAppContext.Instance.DataBaseClassHelper.GetQueryResultN(filter1);
if (!dic.Keys.Contains(bm))
dic.Add(bm, dab);
}
return dic;
}
这是我自己写的返回表数据的接口;
如果在后台直接访问接口,就无法区分数据库连接的问题,因此只能通过http 带参数,将服务器上的数据同步
internal static void setConfiguation(DateTime start, DateTime end)
{
ArrayList mc = new ArrayList();
var filter = QueryPageFilter.Create("ZT_YWYYB").Equal("SFSC", false).Equal("SFSYY", "1").Equal("SSBM", "SZSS_WSCLZB");
var dab = ServiceAppContext.Instance.DataBaseClassHelper.GetQueryResultN(filter);
foreach (var item in dab)
{
mc.Add(item["YYMC"]);
}
var dic = JsonConvert.SerializeObject(mc);
string url = "http://zhglcs.xmjmcf.com:8081/fw2/BussinessService/GetConfiguration?yymc=" + dic + "&start=" + start + "&end=" + end;
string strBuff = "";
Uri httpURL = new Uri(url);
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL);
HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
Stream respStream = httpResp.GetResponseStream();
StreamReader respStreamReader = new StreamReader(respStream);
strBuff = respStreamReader.ReadToEnd();
var tab = JsonConvert.DeserializeObject<JsonResult>(strBuff);
if (tab.Status != MessageTypeCode.Success) CommonHelper.WriteLog("错误代码:" + tab.Status + "。信息:" + tab.Error + "。");
var dic2 = JsonConvert.DeserializeObject<Dictionary<string, object>>(tab.Result.ToString());
foreach (var item in dic2)
{
var arr = JsonConvert.DeserializeObject<Dictionary<string, object>[]>(item.Value.ToString());
//var arr = (Dictionary<string, object>[])item.Value;
if (!ServiceAppContext.Instance.DataBaseClassHelper.DataBaseKyFieldTableDic.ContainsKey(item.Key))
throw new Exception("违法输入方式!请联系开发人员!");
ServiceAppContext.Instance.DataBaseClassHelper.UpdateObjects(item.Key, arr);
}
}