Пример #1
0
        public string GetList()
        {
            Mes_Tec_Process root = new Mes_Tec_Process();

            root.ProcessCode = "01";
            root.Name        = "工艺库";

            string sql = @"SELECT * FROM dbo.Mes_Tec_Process T1 WITH(NOLOCK) WHERE RecordStatus = 1";
            List <Mes_Tec_Process> list    = this.CurDbSession.FromSql(sql).ToList <Mes_Tec_Process>();
            List <Mes_Tec_Process> oneList = list.Where(p => p.ParentCode == root.ProcessCode).ToList();

            StringBuilder jsonStr = new StringBuilder();

            jsonStr.Append("[{");
            jsonStr.AppendFormat("\"id\":\"{0}\",\"text\":\"{1}\"", root.ProcessCode, root.Name);
            jsonStr.Append(",\"children\":[");
            foreach (var item in oneList)
            {
                jsonStr.Append("{");
                jsonStr.AppendFormat("\"id\":\"{0}\",\"text\":\"{1}\"", item.ProcessCode, item.Name);
                GetChildNodesByList(list, item, jsonStr);
                jsonStr.Append("},");
            }
            if (oneList.Count > 0)
            {
                jsonStr = jsonStr.Remove(jsonStr.Length - 1, 1);
            }
            jsonStr.Append("]}]");
            return(jsonStr.ToString());
        }
Пример #2
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public List <Mes_Tec_Process> FindByPage(Mes_Tec_Process obj, ref PagerBase pager)
        {
            string sql = @"SELECT T1.*,T2.Name AS ParentName FROM Mes_Tec_Process T1 WITH(NOLOCK) 
                        LEFT JOIN Mes_Tec_Process T2 WITH(NOLOCK)  ON T1.ParentCode=T2.ProcessCode
                        WHERE T1.RecordStatus = 1 ";

            if (!string.IsNullOrEmpty(obj.Name))
            {
                sql += string.Format(" AND T1.Name Like '%{0}%'", obj.Name);
            }
            if (!string.IsNullOrEmpty(obj.ProcessCode))
            {
                if (obj.ProcessCode != "01")
                {
                    sql += string.Format(" AND (T1.ProcessCode = '{0}' OR T1.ParentCode = '{0}')", obj.ProcessCode);
                }
            }
            string orderBy = pager.OrderBy;

            if (string.IsNullOrEmpty(orderBy))
            {
                orderBy = "State,ProcessCode";
            }
            string cmdPageSql  = string.Format(BaseDao.PageSql, orderBy, sql, pager.StartNo, pager.EndNo);
            string cmdCountSql = string.Format(BaseDao.CountSql, sql.Substring(sql.ToLower().IndexOf("from", StringComparison.Ordinal)));

            //查询总记录数
            pager.TotalItemCount = this.CurDbSession.FromSql(cmdCountSql).ToScalar <int>();
            //返回当前页的记录数
            return(this.CurDbSession.FromSql(cmdPageSql).ToList <Mes_Tec_Process>());
        }
Пример #3
0
        public string GetTree(Mes_Tec_Process obj)
        {
            string sql = @"SELECT * FROM dbo.Mes_Tec_Process T1 WITH(NOLOCK) WHERE RecordStatus = 1";
            // { id: 1, pId: 0, name: "技术部", open: true},
            List <Mes_Tec_Process> list    = this.CurDbSession.FromSql(sql).ToList <Mes_Tec_Process>();
            StringBuilder          jsonStr = new StringBuilder();

            jsonStr.Append("[");
            bool noCheck  = (obj.IsCheck == 1) ? false : true;
            int  isParent = 0; //是否包含子节点

            foreach (var item in list)
            {
                isParent = 0;
                if (list.Exists(p => p.ParentCode == item.ProcessCode))
                {
                    isParent = 1;
                }

                jsonStr.Append(_treeItemContent.Replace("[0]", item.ProcessCode.ToString())
                               .Replace("[1]", item.ParentCode.ToString())
                               .Replace("[2]", item.Name)
                               .Replace("[3]", noCheck.ToString())
                               .Replace("[4]", isParent.ToString())
                               .Replace("[5]", item.ID.ToString())
                               );
            }

            string result = jsonStr.ToString();

            return(result.Remove(result.Length - 1) + "]");
        }
Пример #4
0
        /// <summary>
        /// 保存记录
        /// </summary>
        /// <returns></returns>
        public ActionResult ProcessMgt_Save(Mes_Tec_Process obj)
        {
            string sMessage = string.Empty;

            //判断数据有效性
            if (string.IsNullOrEmpty(obj.ProcessCode))
            {
                sMessage = "工序编码不可为空";
                return(Json(new { IsSuccess = false, Message = sMessage }, JsonRequestBehavior.AllowGet));
            }
            if (string.IsNullOrEmpty(obj.Name))
            {
                sMessage = "工序名称不可为空";
                return(Json(new { IsSuccess = false, Message = sMessage }, JsonRequestBehavior.AllowGet));
            }
            if (obj.ID > 0)
            {
                obj.Modifier     = base.CurUser.UserId;
                obj.ModifiedTime = DateTime.Now;
            }
            else
            {
                obj.Creater     = base.CurUser.UserId;
                obj.CreatedTime = DateTime.Now;
            }
            bool result = MesTecProcessDao.Instance.Save(obj);

            if (!result)
            {
                sMessage = "保存失败";
                return(Json(new { IsSuccess = false, Message = sMessage }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { IsSuccess = true, Message = sMessage }, JsonRequestBehavior.AllowGet));
        }
Пример #5
0
        public ActionResult ProcessMgt_FindByPage(Mes_Tec_Process obj, int page, int rows)
        {
            var pager = new PagerBase()
            {
                CurrentPageIndex = page, PageSize = rows
            };
            var list = MesTecProcessDao.Instance.FindByPage(obj, ref pager);

            return(Json(new { total = pager.TotalItemCount, rows = list }));
        }
Пример #6
0
        /// <summary>
        /// 保存用户
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public bool Save(Mes_Tec_Process obj)
        {
            int result = -1;

            if (obj.ID > 0)
            {
                //修改
                result = this.CurDbSession.Update <Mes_Tec_Process>(obj);
            }
            else
            {
                result = this.CurDbSession.Insert <Mes_Tec_Process>(obj);
            }
            if (result < 0)
            {
                return(false);
            }
            return(true);
        }
Пример #7
0
        public void GetChildNodesByList(List <Mes_Tec_Process> list, Mes_Tec_Process node, StringBuilder jsonStr)
        {
            List <Mes_Tec_Process> childList = list.Where(p => p.ParentCode == node.ProcessCode).ToList();

            if (childList == null || childList.Count == 0)
            {
                return;
            }

            jsonStr.Append(",\"children\":[");
            foreach (var item in childList)
            {
                jsonStr.Append("{");
                jsonStr.AppendFormat("\"id\":\"{0}\",\"text\":\"{1}\"", item.ProcessCode, item.Name);
                GetChildNodesByList(list, item, jsonStr);
                jsonStr.Append("},");
            }
            jsonStr = jsonStr.Remove(jsonStr.Length - 1, 1);
            jsonStr.Append("]");
        }
Пример #8
0
        private IList <ImportMessageModel> Import_TecProcessBom(DataTable dtData)
        {
            IList <ImportMessageModel> resultList = new List <ImportMessageModel>();
            //提示用户导入消息有错,但不影响数据导入
            IList <ImportMessageModel>    msgList     = new List <ImportMessageModel>();
            List <Mes_Tec_ProcessBom>     bomList     = new List <Mes_Tec_ProcessBom>();
            List <Mes_Tec_ProcessBomItem> dataList    = new List <Mes_Tec_ProcessBomItem>();
            List <Mes_Tec_Process>        processList = null;
            List <Mes_Tec_ProductInfo>    productList = null;
            int                rowIndex = 0; //第1行是行头
            DateTime           time     = DateTime.Now;
            ImportMessageModel errorObj = null;

            if (dtData != null && dtData.Rows.Count > 0)
            {
                Mes_Tec_ProcessBom     bomObj     = null;
                Mes_Tec_ProcessBomItem bomItemObj = null;
                Mes_Tec_Process        processObj = null;
                Mes_Tec_ProductInfo    productObj = null;

                processList = MesTecProcessDao.Instance.FindAll <Mes_Tec_Process>();
                productList = MesTecProductInfoDao.Instance.FindAll <Mes_Tec_ProductInfo>();
                foreach (DataRow row in dtData.Rows)
                {
                    rowIndex++;
                    bomItemObj             = new Mes_Tec_ProcessBomItem();
                    bomItemObj.CreatedTime = time;
                    bomItemObj.Creater     = curUserId;
                    //存样品信息
                    errorObj = TecProcessBom_FormatRow(row, bomItemObj, rowIndex);
                    if (errorObj != null) //记录行错误信息
                    {
                        resultList.Add(errorObj);
                        continue;
                    }

                    processObj = processList.Where(p => p.Name == bomItemObj.ProcessName && p.RecordStatus == 1).FirstOrDefault();
                    if (processObj == null)
                    {
                        msgList.Add(new ImportMessageModel()
                        {
                            RowData = string.Format(ReadErrorMessage, rowIndex), RowMessage = string.Format("工艺【{0}】不存在", bomItemObj.ProcessName)
                        });
                    }
                    else
                    {
                        bomItemObj.ProcessID = processObj.ID;
                    }

                    productObj = productList.Where(p => p.MaterialProNo == bomItemObj.MaterialProNo).FirstOrDefault();
                    if (productObj == null)
                    {
                        msgList.Add(new ImportMessageModel()
                        {
                            RowData = string.Format(ReadErrorMessage, rowIndex), RowMessage = string.Format("产品编码【{0}】不存在", bomItemObj.MaterialProNo)
                        });
                    }
                    else
                    {
                        bomItemObj.MaterialCode = productObj.MaterialCode;
                        if (!bomList.Exists(p => p.MaterialProNo == bomItemObj.MaterialProNo && p.Version == bomItemObj.Version))
                        {
                            bomObj = new Mes_Tec_ProcessBom();
                            bomObj.MaterialProNo = bomItemObj.MaterialProNo;
                            bomObj.MaterialCode  = bomItemObj.MaterialCode;
                            bomObj.Version       = bomItemObj.Version;
                            bomObj.CreatedTime   = time;
                            bomObj.Creater       = curUserId;
                            bomList.Add(bomObj);
                        }
                    }

                    productObj = productList.Where(p => p.MaterialProNo == bomItemObj.SubMaterialProNo).First();
                    if (productObj == null)
                    {
                        msgList.Add(new ImportMessageModel()
                        {
                            RowData = string.Format(ReadErrorMessage, rowIndex), RowMessage = string.Format("物料编码【{0}】不存在", bomItemObj.MaterialProNo)
                        });
                    }
                    else
                    {
                        bomItemObj.SubMaterialCode = productObj.MaterialCode;
                    }

                    dataList.Add(bomItemObj);
                }
            }


            //如果校验有错误,直接返回错误信息
            if (resultList.Count > 0)
            {
                return(resultList);
            }
            //2.校验成功执行导入
            MesTecProcessBomDao.Instance.Import(bomList, dataList, resultList);
            if (resultList.Count == 0)
            {
                resultList.Add(new ImportMessageModel {
                    RowData = "导入成功", RowMessage = "数据已成功导入"
                });
            }

            return(resultList);
        }
Пример #9
0
        public ActionResult ProcessMgt_FindTree(Mes_Tec_Process obj)
        {
            string stationTree = MesTecProcessDao.Instance.GetTree(obj);

            return(Json(new { IsSuccess = true, Message = stationTree }));
        }
Пример #10
0
        public string ProcessMgt_GetList(Mes_Tec_Process obj)
        {
            string result = MesTecProcessDao.Instance.GetList();

            return(result);
        }