Пример #1
0
        /// <summary>
        /// 修改数据提取
        /// </summary>
        /// <param name="itemCode">项目代码</param>
        /// <param name="fieldCode">字段代码</param>
        /// <returns></returns>
        public async Task <ActionResult> Modify(string itemCode, string fieldCode)
        {
            MethodReturnResult <DataAcquisitionField> result = new MethodReturnResult <DataAcquisitionField>();

            try
            {
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    result = await client.GetAsync(new DataAcquisitionFieldKey()
                    {
                        ItemCode  = itemCode,
                        FieldCode = fieldCode
                    });

                    if (result.Code == 0)
                    {
                        DataAcquisitionFieldViewModel viewModel = new DataAcquisitionFieldViewModel()
                        {
                            ItemCode     = result.Data.Key.ItemCode,    //项目代码
                            FieldCode    = result.Data.Key.FieldCode,   //字段代码
                            FieldName    = result.Data.FieldName,       //字段说明
                            SerialNumber = result.Data.SerialNumber,    //序号
                            DataType     = result.Data.DataType,        //数据类型
                            IsKEY        = result.Data.IsKEY,           //主键
                            IsControl    = result.Data.IsControl,       //控制
                            MaxLine      = result.Data.MaxLine,         //控制上限
                            MinLine      = result.Data.MinLine,         //控制下限
                            Creator      = result.Data.Creator,         //创建人
                            CreateTime   = result.Data.CreateTime,      //创建时间
                            Editor       = result.Data.Editor,          //编辑人
                            EditTime     = result.Data.EditTime         //编辑时间
                        };

                        return(PartialView("_ModifyPartial", viewModel));
                    }
                    else
                    {
                        ModelState.AddModelError("", result.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }

            return(PartialView("_ModifyPartial"));
        }
Пример #2
0
        /// <summary>
        /// 根据采集项目初始化采集字段窗体
        /// </summary>
        /// <param name="itemCode">采集项目代码</param>
        /// <returns></returns>
        public async Task <ActionResult> Index(string itemCode)
        {
            //取得采集项目对象
            using (DataAcquisitionItemServiceClient client = new DataAcquisitionItemServiceClient())
            {
                MethodReturnResult <DataAcquisitionItem> result = await client.GetAsync(itemCode ?? string.Empty);

                if (result.Code > 0 || result.Data == null)
                {
                    return(RedirectToAction("Index", "DataAcquisitionItem"));
                }

                ViewBag.DataAcquisitionItem = result.Data;
            }

            //提取采集字段数据
            using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
            {
                await Task.Run(() =>
                {
                    //string where = string.Format("Key.ItemCode = '{0}'", itemCode);

                    PagingConfig cfg = new PagingConfig()
                    {
                        Where   = string.Format("Key.ItemCode = '{0}'", itemCode),
                        OrderBy = "Key.ItemCode,SerialNumber"
                    };

                    //提取数据
                    MethodReturnResult <IList <DataAcquisitionField> > result = client.Get(ref cfg);

                    if (result.Code > 0 || result.Data == null)
                    {
                        //错误信息处理
                    }
                    else
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }

            return(View(new DataAcquisitionFieldQueryViewModel()
            {
                ItemCode = itemCode
            }));
        }
Пример #3
0
        public async Task <ActionResult> Save(DataAcquisitionFieldViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    DataAcquisitionField obj = new DataAcquisitionField()
                    {
                        Key = new DataAcquisitionFieldKey()
                        {
                            ItemCode  = model.ItemCode,         //采集项目
                            FieldCode = model.FieldCode         //采集字段
                        },
                        FieldName    = model.FieldName,         //字段说明
                        SerialNumber = model.SerialNumber,      //序号
                        DataType     = model.DataType,          //数据类型
                        IsKEY        = model.IsKEY,             //主键
                        IsControl    = model.IsControl,         //控制
                        MaxLine      = model.MaxLine,           //控制上限
                        MinLine      = model.MinLine,           //控制下限
                        Creator      = User.Identity.Name,      //创建人
                        CreateTime   = DateTime.Now,            //创建时间
                        Editor       = User.Identity.Name,      //编辑人
                        EditTime     = DateTime.Now             //编辑时间
                    };

                    //增加对象
                    result = await client.AddAsync(obj);

                    if (result.Code == 0)
                    {
                        result.Message = string.Format(StringResource.DataAcquisitionField_Save_Success
                                                       , obj.Key);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }

            return(Json(result));
        }
Пример #4
0
        public async Task <ActionResult> Query(DataAcquisitionFieldQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    await Task.Run(() =>
                    {
                        StringBuilder where = new StringBuilder();

                        if (model != null)
                        {
                            if (!string.IsNullOrEmpty(model.ItemCode))
                            {
                                where.AppendFormat(" Key.ItemCode = '{0}'", model.ItemCode);
                            }

                            if (!string.IsNullOrEmpty(model.FieldCode))
                            {
                                where.AppendFormat("{0} Key.FieldCode LIKE '{1}%'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.FieldCode);
                            }
                        }

                        PagingConfig cfg = new PagingConfig()
                        {
                            Where   = where.ToString(),
                            OrderBy = "Key.ItemCode,SerialNumber"
                        };

                        MethodReturnResult <IList <DataAcquisitionField> > result = client.Get(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
Пример #5
0
        public async Task <ActionResult> Delete(string itemCode, string fieldCode)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
            {
                var key = new DataAcquisitionFieldKey()
                {
                    ItemCode  = itemCode,
                    FieldCode = fieldCode
                };

                result = await client.DeleteAsync(key);

                if (result.Code == 0)
                {
                    result.Message = string.Format(StringResource.DataAcquisitionField_Delete_Success
                                                   , key);
                }
                return(Json(result));
            }
        }
Пример #6
0
        public async Task <ActionResult> SaveModify(DataAcquisitionFieldViewModel model)
        {
            using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
            {
                MethodReturnResult <DataAcquisitionField> result = await client.GetAsync(new DataAcquisitionFieldKey()
                {
                    ItemCode  = model.ItemCode,
                    FieldCode = model.FieldCode
                });

                if (result.Code == 0)
                {
                    result.Data.FieldName    = model.FieldName;         //字段说明
                    result.Data.SerialNumber = model.SerialNumber;      //序号
                    result.Data.DataType     = model.DataType;          //数据类型
                    result.Data.IsKEY        = model.IsKEY;             //主键
                    result.Data.IsControl    = model.IsControl;         //控制
                    result.Data.MaxLine      = model.MaxLine;           //控制上限
                    result.Data.MinLine      = model.MinLine;           //控制下限
                    result.Data.Creator      = model.Creator;           //创建人
                    result.Data.CreateTime   = model.CreateTime;        //创建时间
                    result.Data.Editor       = User.Identity.Name;;     //编辑人
                    result.Data.EditTime     = DateTime.Now;            //编辑时间

                    MethodReturnResult rst = await client.ModifyAsync(result.Data);

                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format(StringResource.DataAcquisitionField_SaveModify_Success
                                                    , result.Data.Key);
                    }

                    return(Json(rst));
                }
                return(Json(result));
            }
        }
Пример #7
0
        public async Task <ActionResult> PagingQuery(string where, string orderBy, int?currentPageNo, int?currentPageSize)
        {
            if (ModelState.IsValid)
            {
                int pageNo   = currentPageNo ?? 0;
                int pageSize = currentPageSize ?? 20;
                if (Request["PageNo"] != null)
                {
                    pageNo = Convert.ToInt32(Request["PageNo"]);
                }
                if (Request["PageSize"] != null)
                {
                    pageSize = Convert.ToInt32(Request["PageSize"]);
                }

                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <DataAcquisitionField> > result = client.Get(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
Пример #8
0
        /// <summary>
        /// 取得采集数据信息
        /// </summary>
        /// <param name="eDCTime">采集时间</param>
        /// <param name="itemCode">项目代码</param>
        /// <param name="lineCode">线别</param>
        /// <param name="equipmentCode">设备代码</param>
        /// <param name="locationName">车间</param>
        /// <param name="DataAcquisitionTransQueryViewModel">返回模型数据</param>
        /// <returns></returns>
        private MethodReturnResult GetDataAcquisitionTrans(DateTime eDCTime, string itemCode, string lineCode, string equipmentCode, string locationName, ref DataAcquisitionTransQueryViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                string where = "";

                //取得项目信息
                using (DataAcquisitionItemServiceClient client = new DataAcquisitionItemServiceClient())
                {
                    MethodReturnResult <DataAcquisitionItem> resultItem = client.Get(itemCode);

                    if (result.Code == 0)
                    {
                        //采集项目
                        ViewBag.DataAcquisitionItem = resultItem.Data;

                        //返回采集项目工序
                        model.RouteOperationName = resultItem.Data.RouteStepName;
                    }
                }

                //取得字段列表
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    where = string.Format("Key.ItemCode = '{0}'", itemCode);

                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        OrderBy  = "Key.ItemCode,SerialNumber",
                        Where    = where
                    };

                    MethodReturnResult <IList <DataAcquisitionField> > resultField = client.Get(ref cfg);

                    if (resultField.Code == 0)
                    {
                        //采集字段数据
                        ViewBag.DataAcquisitionFieldList = resultField.Data;
                    }
                }

                using (DataAcquisitionTransServiceClient client = new DataAcquisitionTransServiceClient())
                {
                    //取得采集数据
                    where = string.Format("Key.EDCTime = '{0}' AND Key.ItemCode = '{1}' AND Key.LineCode = '{2}' AND Key.EquipmentCode = '{3}' AND Key.LocationName = '{4}'"
                                          , eDCTime
                                          , itemCode
                                          , lineCode
                                          , equipmentCode
                                          , locationName);

                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        Where    = where
                    };

                    MethodReturnResult <IList <DataAcquisitionTrans> > resultdata = client.Get(ref cfg);

                    if (resultdata.Code > 0)
                    {
                        result.Code    = resultdata.Code;
                        result.Message = resultdata.Message;
                        result.Detail  = resultdata.Detail;

                        return(result);
                    }

                    //model.Creator = resultdata.Data[0].Creator;             //创建人
                    //model.CreateTime = resultdata.Data[0].CreateTime;       //创建日期
                    //model.Auditor = resultdata.Data[0].Auditor;             //审核人
                    //model.AuditTime = resultdata.Data[0].AuditTime;         //审核日期

                    ViewBag.DataAcquisitionTransList = resultdata.Data;
                }
            }
            catch (Exception e)
            {
                result.Code    = 1002;
                result.Message = e.Message;
                result.Detail  = e.ToString();
            }

            return(result);
        }
Пример #9
0
        public async Task <ActionResult> SaveModify(DataAcquisitionDataViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                string itemCode = model.ItemCode;

                IList <DataAcquisitionData> lstVal = new List <DataAcquisitionData>();

                //取得字段列表
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    await Task.Run(() =>
                    {
                        string where = string.Format("Key.ItemCode = '{0}'", itemCode);

                        //取得字段列表
                        PagingConfig cfg = new PagingConfig()
                        {
                            IsPaging = false,
                            OrderBy  = "Key.ItemCode,SerialNumber",
                            Where    = where
                        };

                        MethodReturnResult <IList <DataAcquisitionField> > resultField = client.Get(ref cfg);

                        if (resultField.Code > 0)
                        {
                            result.Code    = resultField.Code;
                            result.Message = resultField.Message;
                            result.Detail  = resultField.Detail;
                        }
                        else
                        {
                            DateTime now = DateTime.Now;

                            foreach (DataAcquisitionField field in resultField.Data)
                            {
                                string fieldValue = Request[field.Key.FieldCode] ?? string.Empty;

                                DataAcquisitionData val = new DataAcquisitionData()
                                {
                                    Key = new DataAcquisitionDataKey()
                                    {
                                        EDCTime       = model.EDCTime,
                                        ItemCode      = model.ItemCode,
                                        FieldCode     = field.Key.FieldCode,
                                        LineCode      = model.ViewLineCode,
                                        EquipmentCode = model.ViewEquipmentCode,
                                        LocationName  = ""
                                    },
                                    DataValue  = fieldValue.Split(',')[0],
                                    CreateTime = model.CreateTime,
                                    Creator    = model.Creator,
                                    AuditTime  = model.AuditTime,
                                    Auditor    = model.Auditor ?? string.Empty,
                                    EditTime   = now,
                                    Editor     = User.Identity.Name
                                };

                                lstVal.Add(val);
                            }
                        }
                    });

                    if (result.Code == 0)
                    {
                        using (DataAcquisitionDataServiceClient dataclient = new DataAcquisitionDataServiceClient())
                        {
                            result = await dataclient.ModifyAsync(lstVal);

                            if (result.Code == 0)
                            {
                                result.Message = string.Format(StringResource.DataAcquisitionData_Save_Success);
                            }
                        }
                    }

                    return(Json(result));
                }
            }
            catch (Exception e)
            {
                result.Code    = 1002;
                result.Message = e.Message;
                result.Detail  = e.ToString();
            }

            return(Json(result));
        }
Пример #10
0
        /// <summary>
        /// 初始化采集信息主界面
        /// </summary>
        /// <param name="itemCode">项目代码</param>
        /// <returns></returns>
        public async Task <ActionResult> Index(string itemCode)
        {
            MethodReturnResult result = new MethodReturnResult();

            DataAcquisitionDataQueryViewModel model = new DataAcquisitionDataQueryViewModel()
            {
                StartDate = System.DateTime.Now.ToString("yyyy-MM-dd 00:00:00"),
                EndDate   = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                EDCTime   = System.DateTime.Now,
                PageSize  = 20,
                PageNo    = 1
            };

            try
            {
                //取得项目信息
                using (DataAcquisitionItemServiceClient client = new DataAcquisitionItemServiceClient())
                {
                    await Task.Run(() =>
                    {
                        MethodReturnResult <DataAcquisitionItem> resultItem = client.Get(itemCode);

                        if (result.Code == 0)
                        {
                            ViewBag.DataAcquisitionItem = resultItem.Data;

                            model.RouteOperationName = resultItem.Data.RouteStepName;
                            model.ItemCode           = itemCode;
                        }
                    });
                }

                //取得字段列表
                using (DataAcquisitionFieldServiceClient client = new DataAcquisitionFieldServiceClient())
                {
                    await Task.Run(() =>
                    {
                        string where = string.Format("Key.ItemCode = '{0}'", itemCode);

                        PagingConfig cfg = new PagingConfig()
                        {
                            IsPaging = false,
                            OrderBy  = "Key.ItemCode,SerialNumber",
                            Where    = where
                        };

                        MethodReturnResult <IList <DataAcquisitionField> > resultField = client.Get(ref cfg);

                        if (resultField.Code == 0)
                        {
                            ViewBag.DataAcquisitionFieldList = resultField.Data;
                        }
                    });
                }

                if (Request.IsAjaxRequest())
                {
                    return(PartialView("_ListPartial", model));
                }

                return(View(model));
            }
            catch (Exception e)
            {
                result.Code    = 1002;
                result.Message = e.Message;
                result.Detail  = e.ToString();

                return(Json(result));
            }
        }