예제 #1
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public DataResult <int> Insert(ProduceBOM model)
        {
            DataResult <int> result = new DataResult <int>();

            try
            {
                //基本信息
                model.PID        = Guid.NewGuid().ToString();
                model.CREATEUSER = this.LoginUser.UserID;
                model.CREATETIME = DateTime.Now;
                model.UPDATEUSER = model.CREATEUSER;
                model.UPDATETIME = model.CREATETIME;
                if (ExistsBOM(model))
                {
                    result.Msg    = "产品已存在";
                    result.Result = -1;
                    return(result);
                }
                result.Result    = new ProduceDOMDAL().Insert(model);
                result.IsSuccess = true;
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        /// <summary>
        /// 获取查询语句
        /// </summary>
        /// <param name="user">查询条件</param>
        /// <param name="parameters">参数</param>
        /// <returns>查询语句</returns>
        private string GetQuerySql(ProduceBOM condition, ref List <DataParameter> parameters)
        {
            StringBuilder sqlBuilder   = new StringBuilder();
            StringBuilder whereBuilder = new StringBuilder();

            try
            {
                //构成查询语句
                sqlBuilder.Append(@"SELECT pi.PNAME AS PRODUCENAME,pb.Amount,mu.Description AS MainUnit,pb.PID,pb.UPDATETIME FROM T_FP_PRODUCEBOM pb 
LEFT OUTER JOIN T_FP_PRODUCTINFO pi ON pb.PRODUCEID = pi.PID 
LEFT OUTER JOIN T_WH_MatUnit mu ON pb.MainUnit = mu.ID");

                if (string.IsNullOrEmpty(condition.PRODUCENAME) == false)
                {
                    whereBuilder.Append(" AND pi.PNAME like @PNAME");
                    parameters.Add(new DataParameter("PNAME", "%" + condition.PRODUCENAME + "%"));
                }

                //查询条件
                if (whereBuilder.Length > 0)
                {
                    sqlBuilder.Append(" WHERE " + whereBuilder.ToString().Substring(4));
                }
                return(sqlBuilder.ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            ProduceBOM    info = new ProduceBOM();
            ProduceDOMBLL bll  = null;

            try
            {
                UIBindHelper.BindModelByControls(this.Page, info);

                bll = BLLFactory.CreateBLL <ProduceDOMBLL>();

                info.Details = JsonConvertHelper.DeserializeObject <List <BOMDetail> >(this.hiBomDetailList.Value);

                if (this.hiID.Value == "")
                {
                    bll.Insert(info);
                }
                else
                {
                    info.CREATEUSER = this.HiCREATEUSER.Value;
                    info.CREATETIME = DateTime.Parse(this.HiCREATETIME.Value);
                    info.PID        = this.hiID.Value;
                    bll.Update(info);
                }
                ClientScript.RegisterStartupScript(this.GetType(), "myjs", "parent.refreshData();parent.closeAppWindow1();", true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="condition">条件</param>
        /// <param name="page">数据页</param>
        /// <returns>数据页</returns>
        public DataPage GetList(ProduceBOM condition, DataPage page)
        {
            string sql = null;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                sql = this.GetQuerySql(condition, ref parameters);
                //分页关键字段及排序
                page.KeyName = "PID";
                if (string.IsNullOrEmpty(page.SortExpression))
                {
                    page.SortExpression = "UPDATETIME DESC";
                }
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    page = session.GetDataPage <ProduceBOM>(sql, parameters.ToArray(), page);
                }
                return(page);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
        private void BindData()
        {
            ProduceDOMBLL bll       = null;
            DataPage      dp        = new DataPage();
            ProduceBOM    condition = new ProduceBOM();

            try
            {
                bll = BLLFactory.CreateBLL <ProduceDOMBLL>();
                condition.PRODUCENAME = this.PRODUCENAME.Text;


                PagerHelper.InitPageControl(this.AspNetPager1, dp, true);
                dp = bll.GetList(condition, dp);

                List <ProduceBOM> list = dp.Result as List <ProduceBOM>;
                this.GvList.DataSource = list;
                this.GvList.DataBind();

                for (int i = 0; i < this.GvList.Rows.Count; i++)
                {
                    string click = string.Format("return edit('{0}');", this.GvList.DataKeys[i]["PID"].ToString());

                    (this.GvList.Rows[i].Cells[4].Controls[0] as WebControl).Attributes.Add("onclick", click);
                }
                PagerHelper.SetPageControl(AspNetPager1, dp, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #6
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>更新行数</returns>
        public int Update(ProduceBOM model)
        {
            int    count = 0;
            string sql   = "delete from T_FP_BOMDETAIL where BOMID = @BOMID";

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //更新BOM信息
                    count = session.Update <ProduceBOM>(model);
                    //删除BOM明细信息
                    session.ExecuteSql(sql, new DataParameter("BOMID", model.PID));
                    foreach (BOMDetail detail in model.Details)
                    {
                        detail.PID   = Guid.NewGuid().ToString();
                        detail.BOMID = model.PID;
                        session.Insert <BOMDetail>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #7
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(ProduceBOM model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //插入基本信息
                    count = session.Insert <ProduceBOM>(model);
                    foreach (BOMDetail detail in model.Details)
                    {
                        detail.PID   = Guid.NewGuid().ToString();
                        detail.BOMID = model.PID;
                        session.Insert <BOMDetail>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #8
0
 /// <summary>
 /// 判断名称是否存在
 /// </summary>
 /// <param name="">信息</param>
 /// <returns>true:已存在;fasel:不存在。</returns>
 public bool ExistsBOM(ProduceBOM model)
 {
     try
     {
         return(new ProduceDOMDAL().ExistsBOM(model));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #9
0
 /// <summary>
 /// 获取列表
 /// </summary>
 /// <param name="condition">条件</param>
 /// <param name="page">数据页</param>
 /// <returns>数据页</returns>
 public DataPage GetList(ProduceBOM condition, DataPage page)
 {
     try
     {
         return(new ProduceDOMDAL().GetList(condition, page));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #10
0
 /// <summary>
 /// 获取信息
 /// </summary>
 /// <param name="">条件</param>
 /// <returns>信息</returns>
 public ProduceBOM Get(ProduceBOM model)
 {
     try
     {
         return(new ProduceDOMDAL().Get(model));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #11
0
 /// <summary>
 /// 删除信息
 /// </summary>
 /// <param name="">主键串</param>
 /// <returns>删除个数</returns>
 public int Delete(ProduceBOM model)
 {
     try
     {
         return(new ProduceDOMDAL().Delete(model));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #12
0
 /// <summary>
 /// 获取信息
 /// </summary>
 /// <param name="">条件</param>
 /// <returns>*信息</returns>
 public ProduceBOM Get(ProduceBOM model)
 {
     try
     {
         using (IDataSession session = AppDataFactory.CreateMainSession())
         {
             //获取信息
             model = session.Get <ProduceBOM>(model);
         }
         return(model);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #13
0
        /// <summary>
        /// 获取信息
        /// </summary>
        /// <param name="produceID">产品主键</param>
        /// <returns>*信息</returns>
        public ProduceBOM GetByProduceID(string produceID)
        {
            ProduceBOM info = null;

            try
            {
                string sql = "select * from T_FP_PRODUCEBOM where PRODUCEID = @PRODUCEID";
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //获取信息
                    info = session.Get <ProduceBOM>(sql, new DataParameter("PRODUCEID", produceID));
                }
                return(info);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #14
0
        private void BindData()
        {
            string        id   = Request.QueryString["id"];
            ProduceDOMBLL bll  = null;
            ProduceBOM    info = new ProduceBOM();

            try
            {
                bll = BLLFactory.CreateBLL <ProduceDOMBLL>();
                if (!string.IsNullOrEmpty(id))
                {
                    info.PID     = id;
                    info         = bll.Get(info);
                    info.Details = bll.GetList(info.PID);
                    UIBindHelper.BindForm(this.Page, info);
                    this.hiID.Value         = info.PID;
                    this.HiCREATEUSER.Value = info.CREATEUSER;
                    this.HiCREATETIME.Value = info.CREATETIME.ToString();
                }
                else
                {
                    info         = new ProduceBOM();
                    info.Details = new List <BOMDetail>();
                }

                //绑定明细
                DataGridResult <BOMDetail> bomDetail = new DataGridResult <BOMDetail>();
                bomDetail.Total = info.Details.Count;
                bomDetail.Rows  = info.Details;

                foreach (BOMDetail detail in info.Details)
                {
                    detail.DeleteAction = "deleteItem(\'" + detail.MATRIALID + "\')";
                }

                this.hiBomDetailList.Value = bomDetail.GetJsonSource();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #15
0
        /// <summary>
        /// 删除信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>删除个数</returns>
        public int Delete(ProduceBOM model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //删除BOM信息
                    count = session.Delete <ProduceBOM>(model);
                    //删除BOM明细信息
                    string sql = "delete from T_FP_BOMDETAIL where BOMID = @BOMID";
                    session.ExecuteSql(sql, new DataParameter("BOMID", model.PID));
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #16
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>更新行数</returns>
        public DataResult <int> Update(ProduceBOM model)
        {
            DataResult <int> result = new DataResult <int>();

            try
            {
                if (ExistsBOM(model))
                {
                    result.Msg    = "产品已存在";
                    result.Result = -1;
                    return(result);
                }
                model.UPDATEUSER = this.LoginUser.UserID;
                result.Result    = new ProduceDOMDAL().Update(model);
                result.IsSuccess = true;
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #17
0
        /// <summary>
        /// 判断名称是否存在
        /// </summary>
        /// <param name="info"></param>
        /// <returns>true:已存在;fasel:不存在。</returns>
        public bool ExistsBOM(ProduceBOM model)
        {
            StringBuilder        sqlBuilder   = new StringBuilder();
            StringBuilder        whereBuilder = new StringBuilder();
            List <DataParameter> parameters   = new List <DataParameter>();
            int count = 0;

            try
            {
                sqlBuilder.Append("SELECT COUNT(0) FROM T_FP_PRODUCEBOM");
                whereBuilder.Append(" AND PID <> @PID ");
                parameters.Add(new DataParameter {
                    ParameterName = "PID", DataType = DbType.String, Value = model.PID
                });
                if (!string.IsNullOrEmpty(model.PRODUCEID))
                {
                    whereBuilder.Append(" AND PRODUCEID = @PRODUCEID ");
                    parameters.Add(new DataParameter {
                        ParameterName = "PRODUCEID", DataType = DbType.String, Value = model.PRODUCEID
                    });
                }
                if (whereBuilder.Length > 0)
                {
                    sqlBuilder.Append(" WHERE " + whereBuilder.ToString().Substring(4));
                }
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    count = Convert.ToInt32(session.ExecuteSqlScalar(sqlBuilder.ToString(), parameters.ToArray()));
                }
                return(count > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }