Example #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _taskid = Convert.ToInt32(Request.QueryString["TaskID"]);
                using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
                {
                    StorageOutTask sot = db.StorageOutTask.SingleOrDefault(u => u.TaskID == this._taskid);

                    //分支流程--任务已经完成的情况
                    if (sot.TaskState.Equals("已完成"))
                    {
                        Response.Redirect(string.Format("NormalOutProduceAuditMessage.aspx?TaskID={0}", _taskid), false);
                        return;
                    }
                    sopa      = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID.Equals(_taskid));
                    _noticeid = sot.NoticeID;
                }
                InitializeCustomControls();
                BindDataToCustomControls();
                ShowCustomControls();
            }
            catch (Exception ex)
            {
                MethodBase    mb      = MethodBase.GetCurrentMethod();
                LogToDBHelper lhelper = LogToDBHelper.Instance;
                lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name));
                ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_LOADERROR));
            }
        }
        private void BindDataToCustomControls()
        {
            using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
            {
                //初始化表头信息
                StorageOutProduceAudit sopa = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID.Equals(GetPreviousTaskID(0, _taskid)));

                (GetControltByMaster("lblConstructor") as Label).Text = sopa.StorageOutNotice.BusinessUnitInfo1.BusinessUnitName;
                (GetControltByMaster("lblProprietor") as Label).Text  = sopa.StorageOutNotice.BusinessUnitInfo.BusinessUnitName;
                (GetControltByMaster("lblProject") as Label).Text     = string.Format("{0}({1}阶段)", sopa.StorageOutNotice.ProjectInfo.ProjectName, sopa.StorageOutNotice.ProjectStage);
                (GetControltByMaster("lblNoticeCode") as Label).Text  = sopa.StorageOutNotice.StorageOutNoticeCode;
                (GetControltByMaster("lblProperty") as Label).Text    = sopa.StorageOutNotice.ProjectInfo.ProjectProperty;
                (GetControltByMaster("lblDate") as Label).Text        = sopa.StorageOutNotice.CreateTime.ToLongDateString();

                //初始化物资调拨明细列表
                this.spgvMaterial.DataSource = from a in db.StorageStocks
                                               where (from b in db.StorageOutDetails
                                                      where b.StorageOutNoticeID.Equals(_noticeid)
                                                      select b.MaterialID).Contains(a.MaterialID)
                                               join b in db.StorageOutDetails on new { a.MaterialID, StorageOutNoticeID = _noticeid } equals new { b.MaterialID, b.StorageOutNoticeID }
                orderby a.MaterialID, a.StorageTime ascending
                          select new
                {
                    MaterialName = string.Format("{0}--规格型号:{1}", a.MaterialName, a.SpecificationModel),
                    a.MaterialCode,
                    a.ManufacturerName,
                    a.StorageName,
                    a.PileName,
                    a.BatchIndex,
                    a.Status,
                    a.StorageTime,
                    a.StocksGenTaojian,
                    a.StocksMetre,
                    a.StocksTon,
                    a.UnitPrice,
                    a.CurUnit,
                    b.StorageOutDetailsID,
                    a.StocksID,
                    Description = string.Format("财务编码:{0}--根台套件/米/吨(总库存):{1}/{2}/{3}--根台套件/米/吨(调拨):{4}/{5}/{6}", a.FinanceCode,
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == a.MaterialID
                                                 select c).Sum(u => u.StocksGenTaojian),
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == a.MaterialID
                                                 select c).Sum(u => u.StocksMetre),
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == a.MaterialID
                                                 select c).Sum(u => u.StocksTon),
                                                b.Gentaojian, b.Metre, b.Ton)
                };
                this.spgvMaterial.DataBind();

                //初始化生产技术部审核信息
                ((Label)GetControltByMaster("lblOpinion")).Text      = sopa.AuditOpinion;
                ((Label)GetControltByMaster("lblResult")).Text       = sopa.AuditStatus;
                ((Label)GetControltByMaster("lblProduceChief")).Text = sopa.EmpInfo.EmpName;
            }
        }
        private void BindDataToCustomControls()
        {
            using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
            {
                //初始化表头信息
                StorageOutProduceAudit sopa = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID.Equals(GetPreviousTaskID(0, _taskid)));

                (GetControltByMaster("lblConstructor") as Label).Text = sopa.StorageOutNotice.BusinessUnitInfo1.BusinessUnitName;
                (GetControltByMaster("lblProprietor") as Label).Text  = sopa.StorageOutNotice.BusinessUnitInfo.BusinessUnitName;
                (GetControltByMaster("lblProject") as Label).Text     = string.Format("{0}({1}阶段)", sopa.StorageOutNotice.ProjectInfo.ProjectName, sopa.StorageOutNotice.ProjectStage);
                (GetControltByMaster("lblNoticeCode") as Label).Text  = sopa.StorageOutNotice.StorageOutNoticeCode;
                (GetControltByMaster("lblProperty") as Label).Text    = sopa.StorageOutNotice.ProjectInfo.ProjectProperty;
                (GetControltByMaster("lblDate") as Label).Text        = sopa.StorageOutNotice.CreateTime.ToLongDateString();

                //初始化审核列表
                this.spgvMaterial.DataSource = from a in db.StorageOutDetails
                                               where a.StorageOutNoticeID == _noticeid
                                               select new
                {
                    a.MaterialInfo.FinanceCode,
                    a.MaterialInfo.MaterialName,
                    a.MaterialInfo.SpecificationModel,
                    StocksGenTaojian = (from c in db.StorageStocks
                                        where c.MaterialID == a.MaterialID
                                        select c).Sum(u => u.StocksGenTaojian),
                    StocksMetre = (from c in db.StorageStocks
                                   where c.MaterialID == a.MaterialID
                                   select c).Sum(u => u.StocksMetre),
                    StocksTon = (from c in db.StorageStocks
                                 where c.MaterialID == a.MaterialID
                                 select c).Sum(u => u.StocksTon),
                    a.Gentaojian,
                    a.Metre,
                    a.Ton,
                    a.Remark,
                    a.StorageOutDetailsID
                };
                this.spgvMaterial.DataBind();

                //初始化生产组长审核信息
                (GetControltByMaster("txtProduceOpinion") as TextBox).Text = sopa.AuditOpinion;
                (GetControltByMaster("lblProduceResult") as Label).Text    = sopa.AuditStatus;
                (GetControltByMaster("lblProduceChief") as Label).Text     = sopa.EmpInfo.EmpName;
            }
        }
Example #4
0
        void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                //将审核结果保存到数据库
                using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
                {
                    if (this.sopa == null)//主流程--未审核的情况
                    {
                        sopa = new StorageOutProduceAudit();
                        sopa.StorageOutNoticeID = _noticeid;
                        sopa.AuditStatus        = chbAgree.Checked == true ? "通过" : "未通过";
                        sopa.AuditTime          = db.ExecuteQuery <DateTime>("select  getdate()", new object[] { }).First();
                        sopa.AuditOpinion       = txtOpinion.Text.Trim();
                        sopa.ProduceChief       = (db.EmpInfo.SingleOrDefault(u => u.EmpName == SPContext.Current.Web.CurrentUser.Name)).EmpID;
                        sopa.TaskID             = _taskid;
                        db.StorageOutProduceAudit.InsertOnSubmit(sopa);
                        db.SubmitChanges();
                    }
                    else//分支流程--已经审核的情况
                    {
                        sopa = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID.Equals(_taskid));
                        sopa.AuditOpinion = txtOpinion.Text.Trim();
                        sopa.AuditStatus  = chbAgree.Checked == true ? "通过" : "未通过";
                        sopa.AuditTime    = db.ExecuteQuery <DateTime>("select  getdate()", new object[] { }).First();
                    }

                    db.SubmitChanges();
                }

                //转到审核表单页
                Response.Redirect(string.Format("NormalOutProduceAuditMessage.aspx?TaskID={0}", _taskid), false);
            }
            catch (Exception ex)
            {
                MethodBase    mb      = MethodBase.GetCurrentMethod();
                LogToDBHelper lhelper = LogToDBHelper.Instance;
                lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name));
                ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_INSERTERROR));
            }
        }
        private void BindDataToCustomControls()
        {
            using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
            {
                //初始化表头信息
                StorageOutNotice son = db.StorageOutNotice.SingleOrDefault(u => u.StorageOutNoticeID == this._noticeid);

                (GetControltByMaster("lblConstructor") as Label).Text = son.BusinessUnitInfo1.BusinessUnitName;
                (GetControltByMaster("lblProprietor") as Label).Text  = son.BusinessUnitInfo.BusinessUnitName;
                (GetControltByMaster("lblProject") as Label).Text     = string.Format("{0}({1}阶段)", son.ProjectInfo.ProjectName, son.ProjectStage);
                (GetControltByMaster("lblNoticeCode") as Label).Text  = son.StorageOutNoticeCode;
                (GetControltByMaster("lblProperty") as Label).Text    = son.ProjectInfo.ProjectProperty;
                (GetControltByMaster("lblDate") as Label).Text        = son.CreateTime.ToLongDateString();

                //初始化物资出库明细列表
                this.spgvMaterial.DataSource = from a in db.StorageOutRealDetails
                                               join b in db.StorageStocks on new { a.StocksID, Status = a.MaterialStatus } equals new { b.StocksID, b.Status }
                where a.StorageOutNoticeID == _noticeid
                orderby b.MaterialID, b.StorageTime ascending
                let v1 = (from e in db.StorageOutRealDetails.AsEnumerable()
                          where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                          select new { e.RealGentaojian }).Sum(u => u.RealGentaojian)
                         let v2 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                   where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                   select new { e.RealMetre }).Sum(u => u.RealMetre)
                                  let v3 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                            where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                            select new { e.RealTon }).Sum(u => u.RealTon)
                                           select new
                {
                    MaterialName = string.Format("{0}--规格型号:{1}", b.MaterialName, b.SpecificationModel),
                    b.MaterialCode,
                    b.ManufacturerName,
                    b.StorageName,
                    b.PileName,
                    b.BatchIndex,
                    a.MaterialStatus,
                    b.StorageTime,
                    StocksGenTaojian = b.StocksGenTaojian + a.RealGentaojian,
                    StocksMetre      = b.StocksMetre + a.RealMetre,
                    StocksTon        = b.StocksTon + a.RealTon,
                    a.RealGentaojian,
                    a.RealMetre,
                    a.RealTon,
                    b.UnitPrice,
                    a.RealAmount,
                    a.Remark,
                    Description = string.Format("财务编码:{0}--根台套件/米/吨(总库存):{1}/{2}/{3}--根台套件/米/吨(调拨):{4}/{5}/{6}", b.FinanceCode,
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == b.MaterialID
                                                 select c).Sum(u => u.StocksGenTaojian) + v1,
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == b.MaterialID
                                                 select c).Sum(u => u.StocksMetre) + v2,
                                                (from c in db.StorageStocks
                                                 where c.MaterialID == b.MaterialID
                                                 select c).Sum(u => u.StocksTon) + v3,
                                                a.StorageOutDetails.Gentaojian,
                                                a.StorageOutDetails.Metre,
                                                a.StorageOutDetails.Ton)
                };
                this.spgvMaterial.DataBind();

                //分支流程--已经审核的情况
                scoaa = db.StorageOutAssetAudit.SingleOrDefault(u => u.TaskID.Equals(_taskid));
                if (scoaa != null)
                {
                    btnOK.Text = "修改审核表单";
                    if (!Page.IsPostBack)
                    {
                        if (scoaa.AuditStatus.Equals("未通过"))
                        {
                            txtOpinion.Text       = scoaa.AuditOpinion;
                            txtOpinion.Enabled    = true;
                            chbAgree.AutoPostBack = false;
                            chbAgree.Checked      = false;
                            chbAgree.AutoPostBack = true;
                        }
                    }
                }

                //初始化生产组审核信息
                StorageOutProduceAudit sopa = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID == GetPreviousTaskID("物资调拨审核", _taskid));
                ((Label)GetControltByMaster("lblOpinion")).Text      = sopa.AuditOpinion;
                ((Label)GetControltByMaster("lblResult")).Text       = sopa.AuditStatus;
                ((Label)GetControltByMaster("lblProduceChief")).Text = sopa.EmpInfo.EmpName;
                _pauditid = sopa.StorageOutProduceAuditID;
            }
        }
        private void BindDataToCustomControls()
        {
            using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
            {
                //初始化表头信息
                StorageOutProduceAudit sopa = db.StorageOutProduceAudit.SingleOrDefault(u => u.TaskID.Equals(GetPreviousTaskID(0, _taskid)));

                (GetControltByMaster("lblConstructor") as Label).Text = sopa.StorageOutNotice.BusinessUnitInfo1.BusinessUnitName;
                (GetControltByMaster("lblProprietor") as Label).Text  = sopa.StorageOutNotice.BusinessUnitInfo.BusinessUnitName;
                (GetControltByMaster("lblProject") as Label).Text     = string.Format("{0}({1}阶段)", sopa.StorageOutNotice.ProjectInfo.ProjectName, sopa.StorageOutNotice.ProjectStage);
                (GetControltByMaster("lblNoticeCode") as Label).Text  = sopa.StorageOutNotice.StorageOutNoticeCode;
                (GetControltByMaster("lblProperty") as Label).Text    = sopa.StorageOutNotice.ProjectInfo.ProjectProperty;
                (GetControltByMaster("lblDate") as Label).Text        = sopa.StorageOutNotice.CreateTime.ToLongDateString();

                //初始化物资出库明细列表
                var Details = (from a in db.StorageOutRealDetails.AsEnumerable()//已加入到出库表中的物资
                               join b in db.StorageStocks.AsEnumerable() on new { a.StocksID, Status = a.MaterialStatus } equals new { b.StocksID, b.Status }
                               join d in db.StorageOutDetails.AsEnumerable() on new { a.StorageOutNoticeID, b.MaterialID } equals new { d.StorageOutNoticeID, d.MaterialID }
                               where a.StorageOutNoticeID == _noticeid
                               orderby b.MaterialID, b.StorageTime ascending
                               let v1 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                         where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                         select new { e.RealGentaojian }).Sum(u => u.RealGentaojian)
                                        let v2 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                                  where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                                  select new { e.RealMetre }).Sum(u => u.RealMetre)
                                                 let v3 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                                           where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                                           select new { e.RealTon }).Sum(u => u.RealTon)
                                                          let v = string.Format("财务编码:{0}--根台套件/米/吨(总库存):{1}/{2}/{3}--根台套件/米/吨(调拨):{4}/{5}/{6}", b.FinanceCode,
                                                                                (from c in db.StorageStocks
                                                                                 where c.MaterialID == b.MaterialID
                                                                                 select c).Sum(u => u.StocksGenTaojian) + v1,
                                                                                (from c in db.StorageStocks
                                                                                 where c.MaterialID == b.MaterialID
                                                                                 select c).Sum(u => u.StocksMetre) + v2,
                                                                                (from c in db.StorageStocks
                                                                                 where c.MaterialID == b.MaterialID
                                                                                 select c).Sum(u => u.StocksTon) + v3,
                                                                                d.Gentaojian, d.Metre, d.Ton)
                                                                  select new
                {
                    MaterialName = string.Format("{0}--规格型号:{1}", b.MaterialName, b.SpecificationModel),
                    b.MaterialCode,
                    b.ManufacturerName,
                    b.StorageName,
                    b.PileName,
                    b.BatchIndex,
                    Status = a.MaterialStatus,
                    b.StorageTime,
                    StocksGenTaojian = b.StocksGenTaojian + a.RealGentaojian,
                    StocksMetre = b.StocksMetre + a.RealMetre,
                    StocksTon = b.StocksTon + a.RealTon,
                    a.RealGentaojian,
                    a.RealMetre,
                    a.RealTon,
                    b.UnitPrice,
                    b.CurUnit,
                    ID = a.StorageOutRealDetailsID,
                    Description = v,
                    a.Remark,
                    IsSelect = true,
                    a.StorageOutDetailsID
                }).AsEnumerable().Union(
                    from a in db.StorageStocks.AsEnumerable()
                    where (from b in db.StorageOutDetails.AsEnumerable()
                           where b.StorageOutNoticeID.Equals(_noticeid)
                           select b.MaterialID).AsEnumerable().Contains(a.MaterialID) &&
                    !(from c in db.StorageOutRealDetails.AsEnumerable()
                      where c.StorageOutNoticeID.Equals(_noticeid)
                      select new { c.StocksID, Status = c.MaterialStatus }).AsEnumerable().Contains(new { a.StocksID, a.Status })
                    join b in db.StorageOutDetails.AsEnumerable() on new { a.MaterialID, StorageOutNoticeID = _noticeid } equals new { b.MaterialID, b.StorageOutNoticeID }
                    orderby a.MaterialID, a.StorageTime ascending
                    let v1 = (from e in db.StorageOutRealDetails.AsEnumerable()
                              where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                              select new { e.RealGentaojian }).Sum(u => u.RealGentaojian)
                             let v2 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                       where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                       select new { e.RealMetre }).Sum(u => u.RealMetre)
                                      let v3 = (from e in db.StorageOutRealDetails.AsEnumerable()
                                                where e.StorageOutNoticeID == _noticeid && e.StorageOutDetails.MaterialID == b.MaterialID
                                                select new { e.RealTon }).Sum(u => u.RealTon)
                                               let v5 = string.Format("财务编码:{0}--根台套件/米/吨(总库存):{1}/{2}/{3}--根台套件/米/吨(调拨):{4}/{5}/{6}", a.FinanceCode,
                                                                      (from c in db.StorageStocks
                                                                       where c.MaterialID == a.MaterialID
                                                                       select c).Sum(u => u.StocksGenTaojian) + v1,
                                                                      (from c in db.StorageStocks
                                                                       where c.MaterialID == a.MaterialID
                                                                       select c).Sum(u => u.StocksMetre) + v2,
                                                                      (from c in db.StorageStocks
                                                                       where c.MaterialID == a.MaterialID
                                                                       select c).Sum(u => u.StocksTon) + v3,
                                                                      b.Gentaojian, b.Metre, b.Ton)
                                                        select new
                {
                    MaterialName = string.Format("{0}--规格型号:{1}", a.MaterialName, a.SpecificationModel),
                    a.MaterialCode,
                    a.ManufacturerName,
                    a.StorageName,
                    a.PileName,
                    a.BatchIndex,
                    a.Status,
                    a.StorageTime,
                    a.StocksGenTaojian,
                    a.StocksMetre,
                    a.StocksTon,
                    RealGentaojian = Decimal.Zero,
                    RealMetre      = Decimal.Zero,
                    RealTon        = Decimal.Zero,
                    a.UnitPrice,
                    a.CurUnit,
                    ID          = a.StocksID,
                    Description = v5,
                    Remark      = String.Empty,
                    IsSelect    = false,
                    b.StorageOutDetailsID
                }
                    ).AsEnumerable();
                this.spgvMaterial.DataSource = from a in Details
                                               orderby a.MaterialName, a.StorageTime ascending
                select a;
                this.spgvMaterial.DataBind();

                //初始化生产技术部审核信息
                ((Label)GetControltByMaster("lblOpinion")).Text      = sopa.AuditOpinion;
                ((Label)GetControltByMaster("lblResult")).Text       = sopa.AuditStatus;
                ((Label)GetControltByMaster("lblProduceChief")).Text = sopa.EmpInfo.EmpName;
            }
        }