示例#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
        public static string GetHisMainTableName(string axisNumStr)
        {
            var axisNum = new HisMain(axisNumStr);

            return("HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim());
        }
示例#3
0
        public VM_JSMind genMindStruct(string axisNumStr, string id, ref VM_JSMind mind, string parentId = "", bool isRoot = false)
        {
            if (string.IsNullOrEmpty(axisNumStr) || !HisMain.IsAxisNum(axisNumStr))
            {
                return(null);
            }
            var     bllMachine     = new MesWeb.BLL.T_Machine();
            var     bllMachineType = new MesWeb.BLL.T_MachineType();
            var     bllEmployee    = new MesWeb.BLL.T_Employee();
            var     bllMaterial    = new MesWeb.BLL.T_MaterialOutput();
            HisMain axisNum        = new HisMain();

            if (axisNumStr.StartsWith("ZD"))
            {
                axisNum.Year          = axisNumStr.Substring(2, 4);
                axisNum.Month         = axisNumStr.Substring(6, 2);
                axisNum.MachineTypeID = "5";
            }
            else if (axisNumStr.StartsWith("CP"))
            {
                axisNum = new HisMain(axisNumStr);
            }
            var hisTabName = "HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim();
            var bllHisMain = new MesWeb.BLL.T_HisMain(hisTabName);
            var hisMain    = bllHisMain.GetModelList("Axis_No like '%" + axisNumStr + "%'").FirstOrDefault();

            if (hisMain == null)
            {
                return(null);
            }
            var machineType = bllMachineType.GetModel(int.Parse(axisNum.MachineTypeID));

            MesWeb.Model.T_MaterialOutput material = null;
            if (hisMain != null)
            {
                material = bllMaterial.GetModelList("MaterialRFID = '" + hisMain.MaterialRFID + "'").FirstOrDefault();
            }
            if (material != null)
            {
                hisMain.SpecColor = material.Color;
                hisMain.SpecName  = material.MaterialType;
                hisMain.Supplier  = material.SupplyCompany;
                hisMain.BatchNo   = material.BatchNo;
            }


            var employeeCode = hisMain.EmployeeID_Main;
            var employee     = bllEmployee.GetModelList("EmployeeCode = '" + employeeCode + "'").FirstOrDefault();

            if (employee != null)
            {
                hisMain.EmployeeID_Main = employee.EmployeeName;
            }
            var machine = bllMachine.GetModel(hisMain.MachineID.Value);

            var node = new JSMind_Data();


            node.topic    = machineType.MachineType + machine.MachineName;
            node.id       = id;
            node.parentid = parentId;
            node.isroot   = isRoot;
            node.data     = hisMain;
            mind.data.Add(node);
            if (hisMain != null)
            {
                var startAxisNums = ("" + hisMain.Start_Axis_No).Split(',');
                foreach (var stNum in startAxisNums)
                {
                    genMindStruct(stNum, stNum, ref mind, id);
                }
            }

            return(mind);
        }
示例#4
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));
        }
示例#5
0
        public JsonResult SearchTraceBrefAction(VM_Trace_Search_Cond cond)
        {
            var retData = new VM_Result_Data();

            retData.Content = "查询失败";
            if (string.IsNullOrEmpty(cond.MachineType))
            {
                cond.MachineType = "5";
            }
            var brefList = new List <VM_Trace_Bref>();

            try
            {
                var isFirstSearch = true;

                List <MesWeb.Model.T_HisMain> hisMainListArray = new List <MesWeb.Model.T_HisMain>();
                if (cond.StartTime.HasValue && cond.EndTime.HasValue && cond.StartTime < cond.EndTime)
                {
                    isFirstSearch = false;
                    List <List <MesWeb.Model.T_HisMain> > listArray = null;
                    //同一年
                    if (cond.StartTime.Value.Year == cond.EndTime.Value.Year)
                    {
                        listArray = getSameYearData(cond.StartTime, cond.EndTime, cond.MachineType);
                        filterListMainArrary(hisMainListArray, listArray, cond.AxisNum);
                    }

                    //不是同一年
                    else
                    {
                        for (var y = cond.StartTime.Value.Year; y <= cond.EndTime.Value.Year; ++y)
                        {
                            if (y == cond.StartTime.Value.Year)
                            {
                                listArray = getSameYearData(cond.StartTime, new DateTime(y, 12, 31), cond.MachineType);
                            }
                            else if (y == cond.EndTime.Value.Year)
                            {
                                listArray = getSameYearData(new DateTime(y, 1, 1), cond.EndTime, cond.MachineType);
                            }
                            else
                            {
                                listArray = getSameYearData(new DateTime(y, 1, 1), new DateTime(y, 12, 31), cond.MachineType);
                            }
                            filterListMainArrary(hisMainListArray, listArray, cond.AxisNum);
                        }
                    }
                }
                if (!string.IsNullOrEmpty(cond.AxisNum) && isFirstSearch)
                {
                    var axisNum     = new HisMain(cond.AxisNum);
                    var hisTabName  = "HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim();
                    var bllHisMain  = new MesWeb.BLL.T_HisMain(hisTabName);
                    var hisMainList = bllHisMain.GetModelList("Axis_No like '%" + cond.AxisNum + "%'");
                    hisMainListArray.AddRange(hisMainList);
                }

                hisMainListArray.ForEach(h =>
                {
                    //生成结果
                    try
                    {
                        var bref       = new VM_Trace_Bref();
                        bref.SpecNum   = "未录入";
                        bref.Axis_No   = h.Axis_No.Replace(",", "");
                        var axisNum    = new HisMain(h.Axis_No);
                        bref.Date      = axisNum.Year + "-" + axisNum.Month + "-" + axisNum.Day;
                        bref.PrintCode = string.IsNullOrEmpty(h.Printcode) ? "未录入" : h.Printcode;
                        bref.Detail    = "<a  tabId=" + h.CurrentDataID + "  tabName = '" + axisNum.GetHisDataTableName() + "' axisNum='" + axisNum.AxisNumStr + "' onclick='showTraceDetail(this)'>详情</a>";
                        brefList.Add(bref);
                    }
                    catch
                    {
                    }
                });



                if (brefList.Count > 0)
                {
                    retData.Code     = RESULT_CODE.OK;
                    retData.Appendix = brefList;
                    retData.Content  = "查询成功";
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            return(Json(retData));
        }
示例#6
0
        public JsonResult GetAxisDetailAction(string axisNumStr)
        {
            log = LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name);

            var retData        = new VM_Result_Data();
            var procDetailList = new List <VM_ProcDetail>();
            var hisData        = new VM_ProcDetail();

            axisNumStr = axisNumStr.Trim();
            HisMain axisNum = new HisMain(axisNumStr);
            var     tabName = axisNum.GetHisDataTableName();

            if (string.IsNullOrEmpty(tabName))
            {
                retData.Content = "轴号有误";
                return(Json(retData));
            }
            try {
                var bllHisData = new MesWeb.BLL.T_HisMain(tabName);
                var findData   = bllHisData.GetModelList("Axis_No = '" + axisNumStr + "'").FirstOrDefault();
                hisData = new VM_ProcDetail {
                    Axis_No              = findData.Axis_No,
                    CurrentDataID        = findData.CurrentDataID,
                    SpecificationID      = findData.SpecificationID,
                    MachineID            = findData.MachineID,
                    MachineTypeID        = findData.MachineTypeID,
                    EmployeeID_Main      = findData.EmployeeID_Main,
                    EmployeeID_Assistant = findData.EmployeeID_Assistant,
                    Start_Axis_No        = findData.Start_Axis_No,
                    Printcode            = findData.Printcode
                };

                var specID      = hisData.SpecificationID;
                var bllMachine  = new MesWeb.BLL.T_Machine();
                var bllEmp      = new MesWeb.BLL.T_Employee();
                var bllSpec     = new MesWeb.BLL.T_Specification();
                var bllCodeUsed = new MesWeb.BLL.T_CodeUsed();
                var bllLayout   = new MesWeb.BLL.T_LayoutPicture();
                var spec        = bllSpec.GetModel((int)specID);
                hisData.SpecName    = spec.SpecificationName;
                hisData.ODMax       = spec.ODMax.ToString();
                hisData.ODMin       = spec.ODMin.ToString();
                hisData.SpecColor   = spec.SpecificationColor;
                hisData.RolledYield = "100%";

                hisData.GeneratorTime = bllCodeUsed.GetModelList("Axis_No = '" + hisData.Axis_No + "'").FirstOrDefault().GeneratorTime.Value.ToShortDateString();
                var machine       = bllMachine.GetModel((int)hisData.MachineID);
                var machineLayout = bllLayout.GetModelList("LayoutTypeID = " + 1).Find(s => { return(s.TableRowID == machine.MachineID); });
                //   hisData.EmployeeName = bllEmp.GetModel((int)hisData.EmployeeID_Main).EmployeeName;
                hisData.EmployeeName = hisData.EmployeeID_Main;
                var tableName = axisNum.Year + axisNum.Month + ((int)(machine.MachineTypeID)).ToString("00");
                hisData.MachineName = "<a href='/HistoryQuery/HistoryMachine/" + tableName + "," + axisNumStr + "'>" + machine.MachineName + "</a>";
                retData.Code        = RESULT_CODE.OK;
            } catch (Exception e) {
                log.Error("查询轴号信息失败", e);
                retData.Content = "查询失败,请联系管理员";
            }
            procDetailList.Add(hisData);
            retData.Appendix = procDetailList;
            return(Json(retData));
        }