protected void Page_Load(object sender, EventArgs e) { try { this._taskid = Convert.ToInt32(Request.QueryString["TaskID"]); using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString)) { SrinQualifiedReceipt sqr = db.SrinQualifiedReceipt.SingleOrDefault(u => u.TaskID.Equals(_taskid)); _receiptid = sqr.SrinQualifiedReceiptID; bWriteOff = sqr.NeedWriteOff; if (db.TaskStorageIn.SingleOrDefault(u => u.TaskStorageID.Equals(_taskid)).TaskState.Equals("已完成")) { bFinished = true; } } 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)) { //初始化表头信息 SrinQualifiedReceipt sqrp = db.SrinQualifiedReceipt.SingleOrDefault(u => u.SrinQualifiedReceiptID == _receiptid); ((Label)GetControltByMaster("lblProject")).Text = sqrp.SrinInspectorVerifyTransfer.SrinProduceVerifyTransfer.SrinVerifyTransfer.SrinReceipt.SrinStocktakingConfirm.SrinStocktaking.SrinSubDoc.ProjectInfo.ProjectName; ((Label)GetControltByMaster("lblDate")).Text = string.Concat(sqrp.CreateTime.ToLongDateString(), sqrp.CreateTime.ToLongTimeString()); ((Label)GetControltByMaster("lblCode")).Text = sqrp.SrinQualifiedReceiptCode; //初始化调拨明细 this.spgvMaterial.DataSource = from a in db.SrinAssetQualifiedDetails where a.SrinQualifiedReceiptID == _receiptid let mname = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.MaterialName let fcode = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.FinanceCode let smodel = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.SpecificationModel select new { MaterialName = string.Format("{0}--规格型号:{1}", mname, smodel), a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.Manufacturer.ManufacturerName, a.Gentaojian, a.Metre, a.Ton, a.OutUnitPrice, a.InUnitPrice, a.Amount, a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.RetrieveCode, a.SrinInspectorVerifyDetails.VerifyCode, a.Remark, Description = string.Format("财务编码:{0}--回收合格数量(根/台/套/件):{1}", fcode, a.SrinInspectorVerifyDetails.QualifiedGentaojian) }; this.spgvMaterial.DataBind(); //初始化表尾信息 ((Label)GetControltByMaster("lblAsset")).Text = sqrp.EmpInfo.EmpName; ((Label)GetControltByMaster("lblWriteOff")).Text = sqrp.NeedWriteOff?"执行冲销":"不执行冲销"; if (!Page.IsPostBack) { SrinAChiefQReceiptConfirm smrc = db.SrinAChiefQReceiptConfirm.SingleOrDefault(u => u.TaskID.Equals(_taskid)); if (smrc != null)//分支流程--已经确认的情况 { txtRemark.Text = smrc.Remark; } else { txtRemark.Text = sqrp.Remark; } } } }
void btnOK_Click(object sender, EventArgs e) { try { if (Page.IsValid) { //将确认结果保存到数据库 using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString)) { //生成回收物资设备入库单(合格) SrinQualifiedReceipt sqrp = db.SrinQualifiedReceipt.SingleOrDefault(u => u.SrinQualifiedReceiptID.Equals(_receiptid)); sqrp.SrinQualifiedReceiptCode = txtCode.Text.Trim(); sqrp.NeedWriteOff = chbWriteOff.Checked; sqrp.Remark = ((TextBox)GetControltByMaster("txtRemark")).Text.Trim(); sqrp.CreateTime = ((DateTimeControl)GetControltByMaster("dtcCreateTime")).SelectedDate; //修改合格物资明细 bool bselected; //标识物资是否已经被选择过 int iDetailsID, iPricingIndex; //物资ID,计量单位对应的索引:根台套件、米或吨 SrinAssetQualifiedDetails saqd; decimal dQuantity = 0; foreach (GridViewRow gvr in spgvMaterial.Rows) { iPricingIndex = GetPricingIndex(gvr.Cells[9].Text); bselected = Convert.ToBoolean(gvr.Cells[11].Text); iDetailsID = Convert.ToInt32(gvr.Cells[13].Text); if (bselected)//修改原有物资的情况 { saqd = db.SrinAssetQualifiedDetails.SingleOrDefault(u => u.SrinAssetQualifiedDetailsID.Equals(iDetailsID)); dQuantity = Convert.ToDecimal((gvr.Cells[iPricingIndex].Controls[0] as TextBox).Text.Trim()); saqd.Gentaojian = Convert.ToDecimal((gvr.Cells[2].Controls[0] as TextBox).Text.Trim()); if (saqd.Gentaojian == 0)//回收(跟台套件)数量为0的情况--则删除此项 { db.SrinAssetQualifiedDetails.DeleteOnSubmit(saqd); } else//不为0则修改此物资 { saqd.Metre = Convert.ToDecimal((gvr.Cells[3].Controls[0] as TextBox).Text.Trim()); saqd.Ton = Convert.ToDecimal((gvr.Cells[4].Controls[0] as TextBox).Text.Trim()); saqd.InUnitPrice = Convert.ToDecimal((gvr.Cells[6].Controls[0] as TextBox).Text.Trim()); saqd.Remark = ((TextBox)gvr.Cells[10].Controls[0]).Text.Trim(); saqd.Amount = dQuantity * saqd.OutUnitPrice; saqd.CreateTime = db.ExecuteQuery <DateTime>("select getdate()", new object[] { }).First(); } } else//加入新物资的情况 { saqd = new SrinAssetQualifiedDetails(); saqd.Gentaojian = Convert.ToDecimal((gvr.Cells[2].Controls[0] as TextBox).Text.Trim()); if (saqd.Gentaojian == 0) { continue; } saqd.SrinQualifiedReceiptID = sqrp.SrinQualifiedReceiptID; saqd.SrinInspectorVerifyDetailsID = iDetailsID; saqd.Metre = Convert.ToDecimal((gvr.Cells[3].Controls[0] as TextBox).Text.Trim()); saqd.Ton = Convert.ToDecimal((gvr.Cells[4].Controls[0] as TextBox).Text.Trim()); saqd.OutUnitPrice = Convert.ToDecimal(gvr.Cells[5].Text); saqd.InUnitPrice = Convert.ToDecimal((gvr.Cells[6].Controls[0] as TextBox).Text.Trim()); saqd.CurUnit = gvr.Cells[9].Text; saqd.ManufactureID = Convert.ToInt32(gvr.Cells[12].Text); saqd.Remark = (gvr.Cells[10].Controls[0] as TextBox).Text.Trim(); saqd.Amount = Convert.ToDecimal((gvr.Cells[iPricingIndex].Controls[0] as TextBox).Text.Trim()) * Convert.ToDecimal(gvr.Cells[5].Text); saqd.CreateTime = db.ExecuteQuery <DateTime>("select getdate()", new object[] { }).First(); saqd.Creator = db.EmpInfo.SingleOrDefault(u => u.Account == SPContext.Current.Web.CurrentUser.LoginName).EmpID; db.SrinAssetQualifiedDetails.InsertOnSubmit(saqd); } } db.SubmitChanges(); Response.Redirect(string.Format("RiAssetQualifiedReceiptMessage.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)) { //初始化表头信息 SrinQualifiedReceipt sqrp = db.SrinQualifiedReceipt.SingleOrDefault(u => u.SrinQualifiedReceiptID == _receiptid); ((Label)GetControltByMaster("lblProject")).Text = sqrp.SrinInspectorVerifyTransfer.SrinProduceVerifyTransfer.SrinVerifyTransfer.SrinReceipt.SrinStocktakingConfirm.SrinStocktaking.SrinSubDoc.ProjectInfo.ProjectName; ((Label)GetControltByMaster("lblDate")).Text = string.Concat(sqrp.SrinInspectorVerifyTransfer.CreateTime.ToLongDateString(), sqrp.SrinInspectorVerifyTransfer.CreateTime.ToLongTimeString()); ((Label)GetControltByMaster("lblInspector")).Text = sqrp.SrinInspectorVerifyTransfer.EmpInfo.EmpName; //初始化质检合格物资 //初始化物资出库明细列表 var Details = (from a in db.SrinAssetQualifiedDetails.AsEnumerable()//已加入到出库表中的物资 where a.SrinQualifiedReceiptID == _receiptid orderby a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialID let mname = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.MaterialName let fcode = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.FinanceCode let smodel = a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialInfo.SpecificationModel select new { MaterialName = string.Format("{0}--规格型号:{1}", mname, smodel), a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.Manufacturer.ManufacturerName, a.Gentaojian, a.Metre, a.Ton, a.OutUnitPrice, a.InUnitPrice, a.CurUnit, a.Amount, a.SrinInspectorVerifyDetails.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.RetrieveCode, a.SrinInspectorVerifyDetails.VerifyCode, a.Remark, MID = a.ManufactureID, Selected = true, DetailsID = a.SrinAssetQualifiedDetailsID, Description = string.Format("财务编码:{0}--回收合格数量(根/台/套/件):{1}", fcode, a.SrinInspectorVerifyDetails.QualifiedGentaojian) }).AsEnumerable().Union( (from a in db.StorageOutRealDetails.AsEnumerable() join d in db.StorageStocks.AsEnumerable() on new { a.StorageOutDetails.MaterialID, Status = a.MaterialStatus, a.StocksID } equals new { d.MaterialID, d.Status, d.StocksID } where a.StorageOutNotice.ProjectID == sqrp.SrinInspectorVerifyTransfer.SrinProduceVerifyTransfer.SrinVerifyTransfer.SrinReceipt.SrinStocktakingConfirm.SrinStocktaking.SrinSubDoc.ProjectInfo.ProjectID && !(from e in db.SrinAssetQualifiedDetails.AsEnumerable() where e.SrinQualifiedReceiptID == _receiptid select e.OutUnitPrice).Contains(d.UnitPrice) && //不包含当前选中物资的单价 (from b in db.SrinInspectorVerifyDetails.AsEnumerable() where b.SrinInspectorVerifyTransferID.Equals(sqrp.SrinInspectorVerifyTransferID) && b.QualifiedGentaojian != 0 select b.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialID).Contains(a.StorageOutDetails.MaterialID) //回收物资中的物资 join c in db.SrinInspectorVerifyDetails.AsEnumerable() on new { a.StorageOutDetails.MaterialID, TransferID = sqrp.SrinInspectorVerifyTransferID } equals new { c.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.MaterialID, TransferID = c.SrinInspectorVerifyTransferID } orderby a.StorageOutDetails.MaterialID select new { MaterialName = string.Format("{0}--规格型号:{1}", d.MaterialName, d.SpecificationModel), d.ManufacturerName, Gentaojian = Decimal.Zero, Metre = Decimal.Zero, Ton = Decimal.Zero, OutUnitPrice = d.UnitPrice, InUnitPrice = Decimal.Zero, d.CurUnit, Amount = Decimal.Zero, c.SrinMaterialVerifyDetails.SrinDetails.SrinStocktakingDetails.SrinSubDetails.RetrieveCode, c.VerifyCode, c.Remark, MID = d.ManufacturerID, Selected = false, DetailsID = c.SrinInspectorVerifyDetailsID, Description = string.Format("财务编码:{0}--回收合格数量(根/台/套/件):{1}", d.FinanceCode, c.QualifiedGentaojian) }).Distinct() ).AsEnumerable(); this.spgvMaterial.DataSource = from a in Details orderby a.MaterialName select a; this.spgvMaterial.DataBind(); //初始化回收入库单(合格)信息 if (!Page.IsPostBack) { txtCode.Text = sqrp.SrinQualifiedReceiptCode; txtRemark.Text = sqrp.Remark; dtcCreateTime.SelectedDate = sqrp.CreateTime; chbWriteOff.Checked = sqrp.NeedWriteOff; } } }