public JsonResult GetHistoryData(string axisNumStr) { log = LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name); var retData = new VM_Result_Data(); if (HisMain.IsAxisNum(axisNumStr)) { var axisNum = new HisData(axisNumStr); var bllHisData = new MesWeb.BLL.T_HisData(axisNum.TableName); try { var hisDataList = bllHisData.GetModelList("machineID = " + axisNum.MachineId); var sensorDataList = new List <VM_Sensor_Online>(); foreach (var item in ParamCodeDic) { //找出映射的数据 var data = (from s in hisDataList where s.ParameterCodeID == item.Key select s).ToList(); if (data.Count > 0) { //生成传感器的数据结构 var sensorData = new VM_Sensor_Online { ParamCodeId = item.Value }; sensorData.SeriesData = new List <VM_Sensor_Data>(); foreach (var d in data) { try { var seriesData = new VM_Sensor_Data { X = ((DateTime)(d.CollectedTime)).AddHours(8).ToUniversalTime().ToString(), Y = float.Parse(d.CollectedValue) }; sensorData.SeriesData.Add(seriesData); } catch (Exception e) { log.Error(e); continue; } } sensorDataList.Add(sensorData); } } retData.Appendix = sensorDataList; retData.Content = "加载机台历史数据成功"; retData.Code = RESULT_CODE.OK; } catch (Exception e) { log.Error(e); retData.Content = "加载机台历史数据失败"; } } return(Json(retData)); }
/// <summary> /// 下载医院信息 /// </summary> /// <returns></returns> public static HospitalInfo DownLoadHospitalInfo(HisData hisData) { string strParameter = Newtonsoft.Json.JavaScriptConvert.SerializeObject(hisData); Message recieveMsg = new Message(); recieveMsg.DES = false; recieveMsg.GZipCompress = false; recieveMsg.dataContent = strParameter; Message retMsg = new Message(); try { retMsg = ncmsInterface.downLoadHospitalInfo(recieveMsg); //先解密 if (retMsg.DES == true) { retMsg.dataContent = NccmFunction.decrypt(retMsg.dataContent, sKey); } //再解压 if (retMsg.GZipCompress == true) { retMsg.dataContent = NccmFunction.gZipDeCompress(retMsg.dataContent); } Type type = typeof(DownLoadHospitalInfoResult); //反序列化对象 DownLoadHospitalInfoResult info = (DownLoadHospitalInfoResult)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(retMsg.dataContent, type); if (info.resultId == false) { throw new Exception(info.resultString); } HospitalInfo hsInfo = info.hospitalInfo; return(hsInfo); } catch (Exception err) { throw err; } }
public ActionResult HistoryMachine(string Id) { var axisNumStr = Id.Split(',')[1]; var tabStr = Id.Split(',')[0]; string tabName = "HISDATA" + tabStr; HisData historyInfo = new HisData(Id); var bllHistoryInfo = new MesWeb.BLL.T_HisData(tabName); var histories = bllHistoryInfo.GetModelList("Axis_No = '" + axisNumStr + "'"); if (histories.FirstOrDefault().MachineID.HasValue) { var machineID = histories.FirstOrDefault().MachineID.Value; HisMachInfo.MachindID = machineID.ToString(); HisMachInfo.AxisNumStr = axisNumStr; HisMachInfo.HisDataTabName = tabName; var machineLayout = bllLayout.GetModelList("TableRowID = " + machineID + "AND LayoutTypeID=" + (int)LAYOUT_TPYE.MACHINE).FirstOrDefault(); var layoutInfo = new VM_LayoutPicture(machineLayout); if (!string.IsNullOrEmpty(machineLayout.PicUrl)) { layoutInfo = new VM_LayoutPicture(machineLayout); layoutInfo = GetLayoutInfo(machineLayout); } else { log.Error("机台信息为空"); var infoNotFound = new VM_Error_Info { Title = "施工错误", ErrorMessage = "机台信息为空,请联系管理人员", ReturnUrl = "/Admin/Home", ReturnName = "主页" }; return(RedirectToAction(ErrorManager.SystemError, ErrorManager.ErrorController, infoNotFound)); } return(View(layoutInfo)); } VM_Error_Info infoError = new VM_Error_Info { Title = "系统错误", ErrorMessage = "未找到该轴号的机台", ReturnUrl = "/Admin/Home", ReturnName = "主页" }; return(RedirectToAction(ErrorManager.SystemError, ErrorManager.ErrorController)); }
/// <summary> /// 住院农合接口 /// </summary> public zyNccmInterface() { HisData hisData = new HisData(); hisData.uploadorg = MED_ORG_CODE; hisData.uploadTime = DateTime.Now.ToString("yyyy-MM-dd"); DataClass dataClass = new DataClass(); DataType dataType = new DataType(); dataType.dataTypeName = ""; dataType.dataTypeValue = "1"; JoinArea joinArea = new JoinArea(); joinArea.code = JOIN_AREA_CODE; joinArea.name = JOIN_AREA_NAME; hisData.joinArea = joinArea; hisData.dataClass = dataClass; hisData.dataType = dataType; hospitalInfo = NccmInterfaces.DownLoadHospitalInfo(hisData); }
/// <summary> /// 获取农合医疗机构信息 /// </summary> /// <returns></returns> public static HospitalInfo Get_Ncms_HisInfo() { HisData hisData = new HisData(); hisData.uploadorg = "400866951"; hisData.uploadTime = DateTime.Now.ToString("yyyy-MM-dd"); DataClass dataClass = new DataClass(); DataType dataType = new DataType(); dataType.dataTypeName = ""; dataType.dataTypeValue = "1"; JoinArea joinArea = new JoinArea(); joinArea.code = "430121"; joinArea.name = "长沙县"; hisData.joinArea = joinArea; hisData.dataClass = dataClass; hisData.dataType = dataType; try { HospitalInfo hospitalInfo = NccmInterfaces.DownLoadHospitalInfo(hisData); if (hospitalInfo != null) { return(hospitalInfo); } else { throw new Exception("Invoke Successful but result is null"); } } catch (Exception err) { throw new Exception(err.Message); } }
public JsonResult GetProcDetail(VM_ProcDetail procDetail) { var retData = new VM_Result_Data(); if (procDetail == null) { procDetail = new VM_ProcDetail(); } //procDetail.CertProduct = "<a href='javascript:void(0)' onclick='showCertProduct()'>成品证书</a> <a href='javascript:void(0)' onclick='showCertPlastic()'>塑料证书</a>"; var procDetailList = new List <VM_ProcDetail>(); var bllMachine = new MesWeb.BLL.T_Machine(); var bllEmp = new MesWeb.BLL.T_Employee(); var bllSpec = new MesWeb.BLL.T_Specification(); var bllAxis = new MesWeb.BLL.T_Axis(); try { if (!string.IsNullOrEmpty(procDetail.BatchNo)) { var searchCond = new List <string>(); searchCond.Add(procDetail.BatchNo); try { var gumId = MaterialController.SearchReportId(searchCond, MaterialController.gumReportType); procDetail.CertPlastic = "<a href='javascript: void(0)' onclick='showReportPlastic(this)' id='" + gumId + "'>胶料表</a>"; } catch { } } try { //找到历史数据表 HisData hisData = new HisData(procDetail.Axis_No); //查询OD的最值 var hisDs = DbHelperSQL.Query("SELECT MAX(CollectedValue) AS Max,MIN(CollectedValue) AS Min" + " FROM " + hisData.TableName + " WHERE(ParameterCodeID = " + (int)SPEC_PARAM_CODE.OUTTER_OD + ") AND(Axis_No = '" + hisData.AxisNumStr + "')" + " GROUP BY Axis_No"); var hisRow = hisDs.Tables[0].Rows[0]; var odMax = hisRow["max"].ToString(); var odMin = hisRow["min"].ToString(); procDetail.ODMax = odMax; procDetail.ODMin = odMin; var axis = new HisMain(procDetail.Axis_No); procDetail.GeneratorTime = axis.Year + "-" + axis.Month + "-" + axis.Day; } catch { } //获取回溯信息 var axisInfo = bllAxis.GetModelList("Axis_No = '" + procDetail.Axis_No + "'").FirstOrDefault(); if (axisInfo != null) { procDetail.Comment = axisInfo.comment; } //机台 var machine = bllMachine.GetModel((int)procDetail.MachineID); if (machine != null) { //只有挤绝缘和挤护套有数据 if (machine.MachineTypeID == 2 || machine.MachineTypeID == 5) { var machineName = machine.MachineName ?? ""; var axisColor = procDetail.SpecColor ?? ""; var printCode = procDetail.Printcode ?? ""; procDetail.MachineName = "<a href='javascript: void(0)' machineType='" + machine.MachineTypeID + "' employee='" + procDetail.EmployeeName + "' printCode='" + printCode + "' axisColor='" + axisColor + "' machineName='" + machineName + "' axisNum='" + procDetail.Axis_No + "' onclick='viewHisMachine(this)' machineId='" + machine.MachineID + "'>" + machine.MachineName + "</a>"; } else { procDetail.MachineName = machine.MachineName; } } retData.Code = RESULT_CODE.OK; TempData[SERACH_ASIX] = procDetail.Axis_No; } catch (Exception e) { retData.Content = "查询失败,请联系管理员"; retData.Code = RESULT_CODE.OK; retData.Appendix = procDetail; } procDetailList.Add(procDetail); retData.Appendix = procDetailList; return(Json(retData)); }
/// <summary> /// 初始化字典缓存 /// </summary> /// <param name="machineId"></param> /// <param name="axisNum"></param> /// <param name="meters"></param> private void initDicCache(int machineId, out string axisNum, out string meters) { var bllMachine = new MesWeb.BLL.T_Machine(); var machine = bllMachine.GetModel(machineId); //历史采集数据表 var hisDatablaName = HisData.GetHisDataTableName(DateTime.Now, machine.MachineTypeID.Value); var bllHisData = new MesWeb.BLL.T_HisData(hisDatablaName); //历史轴号表 var hisMainTableName = HisMain.GetHisMainTableName(DateTime.Now, machine.MachineTypeID.Value); var bllHisMain = new MesWeb.BLL.T_HisMain(hisMainTableName); //缓存中没有该机台的轴号 if (!curAxisNumDic.TryGetValue(machineId, out axisNum)) { //从当月历史数据更新缓存 var hisMain = bllHisMain.GetModelList("MachineID = " + machineId).FirstOrDefault(); //当月数据存在,则更新缓存 if (hisMain != null) { axisNum = hisMain.Axis_No; curAxisNumDic.AddOrUpdate(machineId, hisMain.Axis_No, (key, oldValue) => { return(hisMain.Axis_No); }); } else { //当月数据不存在,则从上月数据查找 TODO } } //缓存中没有当前米数值 if (!curMetersDic.TryGetValue(machineId, out meters)) { //从当月历史数据更新缓存 //var data = bllHisData.GetModelList("ParameterCodeID = " + (int)SPEC_PARAM_CODE.METERS_COUNT + " group by CollectedTime desc").FirstOrDefault(); var ds1 = DbHelperSQL.Query("select top 1 * from " + bllHisData.TabName + " where ParameterCodeID = " + (int)SPEC_PARAM_CODE.METERS_COUNT + " AND machineID = " + machineId + " order by CollectedTime desc"); //找到数据库最后一条数据 var recentData = bllHisData.DataTableToList(ds1.Tables[0]).FirstOrDefault(); //当月数据存在,则更新缓存 if (recentData != null) { //获取数据的轴号 var axisNo = recentData.Axis_No; //找到该轴号的米数的最大值 var ds2 = DbHelperSQL. Query("SELECT MAX(CollectedValue) AS CollectedValue, CollectedTime, MachineID, ParameterCodeID, Axis_No" + " FROM " + bllHisData.TabName + " WHERE (ParameterCodeID = " + (int)SPEC_PARAM_CODE.METERS_COUNT + ") AND (Axis_No = '" + axisNo + "')" + " GROUP BY MachineID,Axis_No,CollectedTime,ParameterCodeID"); var row = ds2.Tables[0].Rows[0]; var maxMeter = row["CollectedValue"].ToString(); meters = maxMeter; //更新缓存 curMetersDic.AddOrUpdate(machineId, maxMeter, (key, oldValue) => { return(maxMeter); }); } else { //当月数据不存在,则从上月数据查找 } } }