示例#1
0
        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));
        }
示例#2
0
        /// <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;
            }
        }
示例#3
0
        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));
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
            }
        }
示例#6
0
        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));
        }
示例#7
0
        /// <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
                {
                    //当月数据不存在,则从上月数据查找
                }
            }
        }