using System; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using SuperMap.RealEstate.CoreFrameWork; using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.Web.UI.WebControls; using Business = SuperMap.RealEstate.HighWay.Storage.Business; using SuperMap.RealEstate.Finance.Running.Business; namespace SuperMap.RealEstate.Finance.Compents.MaterialApply { public partial class MaterialApply : UserControl { public double TotalAmount = 0.0, colTotalAmount = 0.0; Running.Business.FINANCEPROINST _FINANCEPROINST = null; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; this.ButtonVisible = false; #region 绑定签字人员 //DataTable _APPROVEDDataTable = new APPROVED(_FINANCEPROINST).FillDataTable( // "WHERE FINANCEPROINST_ID = " + _FINANCEPROINST.FINANCEPROINST_ID + " ORDER BY APPROVED_ID"); //foreach (DataRow _DataRow in _APPROVEDDataTable.Rows) //{ // if (_DataRow["APPROVED_NAME"].ToString().Contains("经办人")) // { // HANDLER_NAME.Text = _DataRow["APPROVED_STAFF"].ToString(); // } // else if (_DataRow["APPROVED_NAME"].ToString().Contains("部门经理")) // { // DEPARTMENT_MANAGER.Text = _DataRow["APPROVED_STAFF"].ToString(); // DEPARTMENT_MANAGER_ServerPart.Text = _DataRow["APPROVED_STAFF"].ToString(); // } // else if (_DataRow["APPROVED_NAME"].ToString().Contains("初审")) // { // PRELIMINARY_OPINION.Text = _DataRow["APPROVED_STAFF"].ToString(); // } // else if (_DataRow["APPROVED_NAME"].ToString().Contains("分管领导")) // { // LEADER_NAME.Text = _DataRow["APPROVED_STAFF"].ToString(); // } //} #endregion if (CurrObject != null && CurrObject.WRITE_DATE != null) { WRITE_DATE.Text = CurrObject.WRITE_DATE.Value.ToShortDateString(); } //DEPARTMENT_NAME.SelectedValue = CurrObject.DEPARTMENT_NAME; //绑定对应的数据行 BindData(); if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly) { ButtonSave.Visible = false; GridView_ExpenseBill_1000.Columns[1].Visible = false; WRITE_DATE.ValidType = ValidTypeEnum.NoSet; } if (_FINANCEPROINST.__ProInst.ProDef_Name.Contains("服务区")) { DataTable _DataTable = new Running.Business.APPROVED(_FINANCEPROINST).FillDataTable( "WHERE FINANCEPROINST_ID = " + _FINANCEPROINST.FINANCEPROINST_ID + " ORDER BY APPROVED_ID"); for (int RowCount = 0; RowCount < _DataTable.Rows.Count; RowCount++) { switch (RowCount) { case 0: HANDLER_NAME.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 1: DEPARTMENT_MANAGER_ServerPart.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; } } } else { DataTable _DataTable = new Running.Business.APPROVED(_FINANCEPROINST).FillDataTable( "WHERE FINANCEPROINST_ID = " + _FINANCEPROINST.FINANCEPROINST_ID + " ORDER BY APPROVED_ID"); for (int RowCount = 0; RowCount < _DataTable.Rows.Count; RowCount++) { switch (RowCount) { case 0: HANDLER_NAME.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 1: DEPARTMENT_MANAGER.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 2: PRELIMINARY_OPINION.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 3: PERSONNEL_DEPARTMENT.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 4: FINANCE_DEPARTMENT.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 5: CHARGE_LEADER.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; case 6: GENERALMANAGER_APPROVAL.Text = _DataTable.Rows[RowCount]["APPROVED_STAFF"].ToString(); break; } } } } #region BindData protected void BindData() { DataTable _DataTable = null; DataTable _DataSource = null; Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); Running.Business.MATERIALAPPLYDETAIL _MATERIALAPPLYDETAIL = new Running.Business.MATERIALAPPLYDETAIL(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { _DataSource = _MATERIALAPPLYDETAIL.FillDataTable("WHERE MATERIALAPPLY_ID = " + _MATERIALAPPLY.MATERIALAPPLY_ID + " ORDER BY MATERIALAPPLYDETAIL_ID"); _DataTable = _MATERIALAPPLYDETAIL.ExecuteDataTable(@"SELECT SUM(MATERIAL_COUNT),SUM(MATERIAL_PRICE),SUM(ESTIMATED_COST) FROM FINANCE_STORAGE.T_MATERIALAPPLYDETAIL WHERE MATERIALAPPLY_ID = " + _MATERIALAPPLY.MATERIALAPPLY_ID); } else { _DataSource = _MATERIALAPPLYDETAIL.FillDataTable("WHERE MATERIALAPPLY_ID = 0"); } //补充到6行 int DataSourceCount = _DataSource.Rows.Count; for (int i = 0; i < (12 - DataSourceCount); i++) { DataRow _Dr = _DataSource.NewRow(); _Dr["MATERIALAPPLYDETAIL_ID"] = "0"; _DataSource.Rows.Add(_Dr); } GridView_ExpenseBill_1000.DataSource = _DataSource; GridView_ExpenseBill_1000.DataKeyNames = new string[] { "MATERIALAPPLYDETAIL_ID" };//主键 GridView_ExpenseBill_1000.DataBind(); #region 总计 if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly) { GridView_ExpenseBill_1000.FooterRow.Font.Bold = true; GridView_ExpenseBill_1000.FooterRow.Cells[0].HorizontalAlign = HorizontalAlign.Center; GridView_ExpenseBill_1000.FooterRow.Cells[0].ColumnSpan = 5; GridView_ExpenseBill_1000.FooterRow.Cells[0].Text = "合计"; GridView_ExpenseBill_1000.FooterRow.Cells[1].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[2].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[3].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[4].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[5].Visible = false; } else { GridView_ExpenseBill_1000.FooterRow.Font.Bold = true; GridView_ExpenseBill_1000.FooterRow.Cells[0].HorizontalAlign = HorizontalAlign.Center; GridView_ExpenseBill_1000.FooterRow.Cells[0].ColumnSpan = 6; GridView_ExpenseBill_1000.FooterRow.Cells[0].Text = "合计"; GridView_ExpenseBill_1000.FooterRow.Cells[1].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[2].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[3].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[4].Visible = false; GridView_ExpenseBill_1000.FooterRow.Cells[5].Visible = false; } #endregion } #endregion protected override void OnInit(EventArgs e) { Common.PageHelper.CreateHeaderStyle(Page); _FINANCEPROINST = Running.Business.FINANCEPROINST.CreateInstance(Page); base.ButtonVisible = true; base.OnInit(e); } //在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等 public override void InitializeWebControl() { #region 部门 DEPARTMENT_NAME.Items.Clear(); DEPARTMENT_NAME.Items.Add(new ListItemEx("", "")); DictionaryHelper.BindingDropDownList("DEPARTMENT", DEPARTMENT_NAME.Items, Transaction); DEPARTMENT_NAME.SelectedValue = ""; #endregion } #region LoadData //载入数据 public override bool LoadData() { WRITE_DATE.Text = DateTime.Now.ToShortDateString(); //如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码 if (_FINANCEPROINST.__ProInst != null && _FINANCEPROINST.__ProInst.Division_Code_BaseValue != null) { foreach (FieldEnum _FieldEnum in (new FieldEnum(this.Transaction)).FillCollection( "where FieldEnum_Value in('" + _FINANCEPROINST.__ProInst.Division_Code_BaseValue.ToString() + "')")) { Business.SERVERPART _SERVERPART = new Business.SERVERPART(this.Transaction); _SERVERPART.AddSearchParameter("FIELDENUM_ID", _FieldEnum.FieldEnum_ID); if (_SERVERPART.Search()) { SERVERPART_ID.Text = _SERVERPART.SERVERPART_ID.ToString(); SERVERPART_NAME.Text = _SERVERPART.SERVERPART_NAME + "物资申请表"; break; } } if (_FINANCEPROINST.__ProInst.ProDef_Name.Contains("服务区")) { fuwuqu.Visible = true; benbu1.Visible = false; benbu2.Visible = false; } } else { foreach (Business.SERVERPART _SERVERPART in (new Business.SERVERPART(Transaction)).GetPassportServerPart(Page.PassportInfo.CityAuthority)) { SERVERPART_ID.Text = _SERVERPART.SERVERPART_ID.ToString(); SERVERPART_NAME.Text = _SERVERPART.SERVERPART_NAME + "物资申请表"; break; } } //读取公司名称 if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["bCompanyName"].ToString())) CompanyName.Text = ConfigurationManager.AppSettings["bCompanyName"].ToString(); Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { CurrObject.MATERIALAPPLY_ID_Encrypt = _MATERIALAPPLY.MATERIALAPPLY_ID_Encrypt;//Request["ID"]; return this.Select(); } else { FINANCEPROINST_ID.Text = _FINANCEPROINST.FINANCEPROINST_ID.ToString(); } //默认返回值,工作流组件返回True,功能模块返回False。 return (WorkFlowPage != null); } #endregion //OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理 //e.CancelDataAction 来处理是否取消该动作; //失败的原因可以用Page.Alert()传递到页面 public override void OnDataAction_BeforeSave(DataActionEventArgs e) { bool Flag = false; double totalamount = 0.00; int totalCount = 0; foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; totalamount += double.Parse(LBl_ESTIMATED_COST.Text == "" ? "0" : LBl_ESTIMATED_COST.Text); totalCount += int.Parse(LBl_MATERIAL_COUNT.Text == "" ? "0" : LBl_MATERIAL_COUNT.Text); if (!string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text.Trim())) { Flag = true; } } CurrObject.TOTALCOUNT = totalCount; CurrObject.TOTALESTIMATED_COST = totalamount; if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("小额采购")) { if (Type.SelectedValue == "1000") { if (totalamount >= 30000) { throw new Exception("工程采购超过三万元不属于小额采购,请选择正确的流程!"); } } else if (Type.SelectedValue == "2000") { if (totalamount >= 20000) { throw new Exception("服务采购超过两万元不属于小额采购,请选择正确的流程!"); } } else if (Type.SelectedValue == "3000") { if (totalamount >= 10000) { throw new Exception("货物采购超过一万元不属于小额采购,请选择正确的流程!"); } } } if (!Flag) { throw new Exception("请填写采购明细后,再保存信息!"); } if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("大于等于3万元小于200万元")) { if (Type.SelectedValue == "1000") { if (totalamount < 30000 || totalamount >= 2000000) { throw new Exception("当前流程工程采购金额不得小于3万元或大于等于200万元,请确认金额后进行保存!"); } } else if (Type.SelectedValue == "2000") { if (totalamount < 20000 || totalamount >= 2000000) { throw new Exception("当前流程服务采购金额不得小于1万元或大于等于200万元,请确认金额后进行保存!"); } } else if (Type.SelectedValue == "3000") { if (totalamount < 10000 || totalamount >= 2000000) { throw new Exception("当前流程货物采购金额不得小于1万元或大于等于200万元,请确认金额后进行保存!"); } } } if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("大于等于200万元")) { if (totalamount < 2000000) { throw new Exception("当前流程采购金额不得小于200万元,请确认金额后进行保存!"); } } base.OnDataAction_BeforeSave(e); } public override void OnDataAction_AfterSave(DataActionEventArgs e) { foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { if (_Row.RowType == DataControlRowType.DataRow) { using (Running.Business.MATERIALAPPLYDETAIL _MATERIALAPPLYDETAIL = new Running.Business.MATERIALAPPLYDETAIL(_FINANCEPROINST)) { TextBoxEx LBl_MATERIAL_NAME = _Row.FindControl("LBl_MATERIAL_NAME") as TextBoxEx; TextBoxEx LBl_MATERIAL_MODEL = _Row.FindControl("LBl_MATERIAL_MODEL") as TextBoxEx; TextBoxEx LBl_MATERIAL_CATEGORY = _Row.FindControl("LBl_MATERIAL_CATEGORY") as TextBoxEx; TextBoxEx LBl_MATERIAL_UNIT = _Row.FindControl("LBl_MATERIAL_UNIT") as TextBoxEx; TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; TextBoxEx LBl_MATERIAL_PURPOSE = _Row.FindControl("LBl_MATERIAL_PURPOSE") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; TextBoxEx LBl_APPLYER = _Row.FindControl("LBl_APPLYER") as TextBoxEx; TextBoxEx LBl_MATERIAL_DESC = _Row.FindControl("LBl_MATERIAL_DESC") as TextBoxEx; if (CurrObject.MATERIALAPPLY_ID != null) { if (GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString() == "0") { try { bool flag = false; _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = CurrObject.MATERIALAPPLY_ID; if (!string.IsNullOrEmpty(LBl_MATERIAL_NAME.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_MODEL.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_CATEGORY.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_UNIT.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_PRICE.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_PURPOSE.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text)) { _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); flag = true; } if (!string.IsNullOrEmpty(LBl_APPLYER.Text)) { _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_DESC.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; flag = true; } if (flag) _MATERIALAPPLYDETAIL.Insert(); } catch { } } else { _MATERIALAPPLYDETAIL.MATERIALAPPLYDETAIL_ID_Encrypt = GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString().ToEncrypt(); if (_MATERIALAPPLYDETAIL.Select()) { try { if (CurrObject.MATERIALAPPLY_ID != null) _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = int.Parse(MATERIALAPPLY_ID.Text); if (!string.IsNullOrEmpty(LBl_MATERIAL_NAME.Text)) _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_MODEL.Text)) _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_CATEGORY.Text)) _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_UNIT.Text)) _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text)) _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); if (!string.IsNullOrEmpty(LBl_MATERIAL_PRICE.Text)) _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); if (!string.IsNullOrEmpty(LBl_MATERIAL_PURPOSE.Text)) _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; if (!string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text)) _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); if (!string.IsNullOrEmpty(LBl_APPLYER.Text)) _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_DESC.Text)) _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; _MATERIALAPPLYDETAIL.Update(); } catch { } } } } } } } BindData(); } #region ButtonSave_Click protected void ButtonSave_Click(object sender, EventArgs e) { int totalcount = 0; double totalamount = 0.00; foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { TextBoxEx _LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; totalamount += double.Parse(_LBl_ESTIMATED_COST.Text == "" ? "0" : _LBl_ESTIMATED_COST.Text); } //if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("小于1万元")) //{ // if (totalamount >= 10000) // { // Page.Alert("当前流程金额不得大于1万元,请确认金额后进行保存!"); // return; // } //} if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("小额采购")) { if (Type.SelectedValue == "1000") { if (totalamount >= 30000) { Page.Alert("工程采购超过三万元不属于小额采购,请选择正确的流程!"); return; } } else if (Type.SelectedValue == "2000") { if (totalamount >= 20000) { Page.Alert("服务采购超过两万元不属于小额采购,请选择正确的流程!"); return; } } else if (Type.SelectedValue == "3000") { if (totalamount >= 10000) { Page.Alert("货物采购超过一万元不属于小额采购,请选择正确的流程!"); return; } } } if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("大于等于3万元小于200万元")) { if (Type.SelectedValue == "1000") { if (totalamount < 30000 || totalamount >= 2000000) { Page.Alert("当前流程工程采购金额不得小于3万元或大于等于200万元,请确认金额后进行保存!"); return; } } else if (Type.SelectedValue == "2000") { if (totalamount < 20000 || totalamount >= 2000000) { Page.Alert("当前流程服务采购金额不得小于1万元或大于等于200万元,请确认金额后进行保存!"); return; } } else if (Type.SelectedValue == "3000") { if (totalamount < 10000 || totalamount >= 2000000) { Page.Alert("当前流程货物采购金额不得小于1万元或大于等于200万元,请确认金额后进行保存!"); return; } } } if (_FINANCEPROINST.ProInst.ProDef_Name.Contains("大于等于200万元")) { if (totalamount < 2000000) { Page.Alert("当前流程采购金额不得小于200万元,请确认金额后进行保存!"); return; } } totalamount = 0; CurrObject.DEPARTMENT_NAME = DEPARTMENT_NAME.SelectedValue; try { base.Save(); } catch (Exception ex) { Page.Alert(ex.Message); Transaction.Rollback(); return; } foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { if (_Row.RowType == DataControlRowType.DataRow) { using (Running.Business.MATERIALAPPLYDETAIL _MATERIALAPPLYDETAIL = new Running.Business.MATERIALAPPLYDETAIL(_FINANCEPROINST)) { TextBoxEx LBl_MATERIAL_NAME = _Row.FindControl("LBl_MATERIAL_NAME") as TextBoxEx; TextBoxEx LBl_MATERIAL_MODEL = _Row.FindControl("LBl_MATERIAL_MODEL") as TextBoxEx; TextBoxEx LBl_MATERIAL_CATEGORY = _Row.FindControl("LBl_MATERIAL_CATEGORY") as TextBoxEx; TextBoxEx LBl_MATERIAL_UNIT = _Row.FindControl("LBl_MATERIAL_UNIT") as TextBoxEx; TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; TextBoxEx LBl_MATERIAL_PURPOSE = _Row.FindControl("LBl_MATERIAL_PURPOSE") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; TextBoxEx LBl_APPLYER = _Row.FindControl("LBl_APPLYER") as TextBoxEx; TextBoxEx LBl_MATERIAL_DESC = _Row.FindControl("LBl_MATERIAL_DESC") as TextBoxEx; totalcount += int.Parse(LBl_MATERIAL_COUNT.Text == "" ? "0" : LBl_MATERIAL_COUNT.Text); totalamount += double.Parse(LBl_ESTIMATED_COST.Text == "" ? "0" : LBl_ESTIMATED_COST.Text); if (GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString() == "0") { try { bool flag = false; _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = int.Parse(MATERIALAPPLY_ID.Text); if (!string.IsNullOrEmpty(LBl_MATERIAL_NAME.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_MODEL.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_CATEGORY.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_UNIT.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_PRICE.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_PURPOSE.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text)) { _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); flag = true; } if (!string.IsNullOrEmpty(LBl_APPLYER.Text)) { _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; flag = true; } if (!string.IsNullOrEmpty(LBl_MATERIAL_DESC.Text)) { _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; flag = true; } if (flag) _MATERIALAPPLYDETAIL.Insert(); } catch { } } else { _MATERIALAPPLYDETAIL.MATERIALAPPLYDETAIL_ID_Encrypt = GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString().ToEncrypt(); if (_MATERIALAPPLYDETAIL.Select()) { try { if (!string.IsNullOrEmpty(MATERIALAPPLY_ID.Text)) _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = int.Parse(MATERIALAPPLY_ID.Text); if (!string.IsNullOrEmpty(LBl_MATERIAL_NAME.Text)) _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_MODEL.Text)) _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_CATEGORY.Text)) _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_UNIT.Text)) _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text)) _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); if (!string.IsNullOrEmpty(LBl_MATERIAL_PRICE.Text)) _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); if (!string.IsNullOrEmpty(LBl_MATERIAL_PURPOSE.Text)) _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; if (!string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text)) _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); if (!string.IsNullOrEmpty(LBl_APPLYER.Text)) _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; if (!string.IsNullOrEmpty(LBl_MATERIAL_DESC.Text)) _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; _MATERIALAPPLYDETAIL.Update(); } catch { } } } } } } Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { _MATERIALAPPLY.TOTALCOUNT = totalcount; _MATERIALAPPLY.TOTALESTIMATED_COST = totalamount; _MATERIALAPPLY.Update(); } Page.Alert("保存成功!"); BindData(); } #endregion //#region LinkButton_Save_Click //protected void LinkButton_Save_Click(object sender, EventArgs e) //{ // LinkButton _LinkButtonSave = (LinkButton)sender; // GridViewRow _Row = (GridViewRow)_LinkButtonSave.NamingContainer; // TextBoxEx LBl_MATERIAL_NAME = _Row.FindControl("LBl_MATERIAL_NAME") as TextBoxEx; // TextBoxEx LBl_MATERIAL_MODEL = _Row.FindControl("LBl_MATERIAL_MODEL") as TextBoxEx; // TextBoxEx LBl_MATERIAL_CATEGORY = _Row.FindControl("LBl_MATERIAL_CATEGORY") as TextBoxEx; // TextBoxEx LBl_MATERIAL_UNIT = _Row.FindControl("LBl_MATERIAL_UNIT") as TextBoxEx; // TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; // TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; // TextBoxEx LBl_MATERIAL_PURPOSE = _Row.FindControl("LBl_MATERIAL_PURPOSE") as TextBoxEx; // TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; // TextBoxEx LBl_APPLYER = _Row.FindControl("LBl_APPLYER") as TextBoxEx; // TextBoxEx LBl_MATERIAL_DESC = _Row.FindControl("LBl_MATERIAL_DESC") as TextBoxEx; // using (Running.Business.MATERIALAPPLYDETAIL _MATERIALAPPLYDETAIL = new Running.Business.MATERIALAPPLYDETAIL(_FINANCEPROINST)) // { // if (GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString() == "0") // { // try // { // _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = int.Parse(MATERIALAPPLY_ID.Text); // _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; // _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; // _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; // _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; // _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); // _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); // _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; // _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); // _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; // _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; // _MATERIALAPPLYDETAIL.Insert(); // Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); // _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); // if (_MATERIALAPPLY.Search()) // { // _MATERIALAPPLY.TOTALCOUNT += int.Parse(string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text) ? // "0" : LBl_MATERIAL_COUNT.Text); // _MATERIALAPPLY.TOTALESTIMATED_COST += double.Parse(string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text) ? // "0" : LBl_ESTIMATED_COST.Text).Round(2); // _MATERIALAPPLY.Update(); // } // } // catch { } // } // else // { // _MATERIALAPPLYDETAIL.MATERIALAPPLYDETAIL_ID_Encrypt = GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString().ToEncrypt(); // if (_MATERIALAPPLYDETAIL.Select()) // { // try // { // _MATERIALAPPLYDETAIL.MATERIALAPPLY_ID = int.Parse(MATERIALAPPLY_ID.Text); // _MATERIALAPPLYDETAIL.MATERIAL_NAME = LBl_MATERIAL_NAME.Text; // _MATERIALAPPLYDETAIL.MATERIAL_MODEL = LBl_MATERIAL_MODEL.Text; // _MATERIALAPPLYDETAIL.MATERIAL_CATEGORY = LBl_MATERIAL_CATEGORY.Text; // _MATERIALAPPLYDETAIL.MATERIAL_UNIT = LBl_MATERIAL_UNIT.Text; // _MATERIALAPPLYDETAIL.MATERIAL_COUNT = int.Parse(LBl_MATERIAL_COUNT.Text); // _MATERIALAPPLYDETAIL.MATERIAL_PRICE = double.Parse(LBl_MATERIAL_PRICE.Text).Round(2); // _MATERIALAPPLYDETAIL.MATERIAL_PURPOSE = LBl_MATERIAL_PURPOSE.Text; // _MATERIALAPPLYDETAIL.ESTIMATED_COST = double.Parse(LBl_ESTIMATED_COST.Text).Round(2); // _MATERIALAPPLYDETAIL.APPLYER = LBl_APPLYER.Text; // _MATERIALAPPLYDETAIL.MATERIAL_DESC = LBl_MATERIAL_DESC.Text; // _MATERIALAPPLYDETAIL.Update(); // Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); // _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); // if (_MATERIALAPPLY.Search()) // { // _MATERIALAPPLY.TOTALCOUNT += int.Parse(string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text) ? // "0" : LBl_MATERIAL_COUNT.Text); // _MATERIALAPPLY.TOTALESTIMATED_COST += double.Parse(string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text) ? // "0" : LBl_ESTIMATED_COST.Text).Round(2); // _MATERIALAPPLY.Update(); // } // } // catch { } // } // } // BindData(); // } //} //#endregion #region LinkButton_Del_Click protected void LinkButton_Del_Click(object sender, EventArgs e) { LinkButton _LinkButtonDelete = (LinkButton)sender; GridViewRow _Row = (GridViewRow)_LinkButtonDelete.NamingContainer; using (Running.Business.MATERIALAPPLYDETAIL _MATERIALAPPLYDETAIL = new Running.Business.MATERIALAPPLYDETAIL(_FINANCEPROINST)) { if (GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString() == "0") { TextBoxEx LBl_MATERIAL_NAME = _Row.FindControl("LBl_MATERIAL_NAME") as TextBoxEx; TextBoxEx LBl_MATERIAL_MODEL = _Row.FindControl("LBl_MATERIAL_MODEL") as TextBoxEx; TextBoxEx LBl_MATERIAL_CATEGORY = _Row.FindControl("LBl_MATERIAL_CATEGORY") as TextBoxEx; TextBoxEx LBl_MATERIAL_UNIT = _Row.FindControl("LBl_MATERIAL_UNIT") as TextBoxEx; TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; TextBoxEx LBl_MATERIAL_PURPOSE = _Row.FindControl("LBl_MATERIAL_PURPOSE") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; TextBoxEx LBl_APPLYER = _Row.FindControl("LBl_APPLYER") as TextBoxEx; TextBoxEx LBl_MATERIAL_DESC = _Row.FindControl("LBl_MATERIAL_DESC") as TextBoxEx; Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { _MATERIALAPPLY.TOTALCOUNT -= int.Parse(string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text) ? "0" : LBl_MATERIAL_COUNT.Text); _MATERIALAPPLY.TOTALESTIMATED_COST -= double.Parse(string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text) ? "0" : LBl_ESTIMATED_COST.Text).Round(2); _MATERIALAPPLY.Update(); } LBl_MATERIAL_NAME.Text = ""; LBl_MATERIAL_MODEL.Text = ""; LBl_MATERIAL_CATEGORY.Text = ""; LBl_MATERIAL_UNIT.Text = ""; LBl_MATERIAL_COUNT.Text = ""; LBl_MATERIAL_PRICE.Text = ""; LBl_MATERIAL_PURPOSE.Text = ""; LBl_ESTIMATED_COST.Text = ""; LBl_APPLYER.Text = ""; LBl_MATERIAL_DESC.Text = ""; } else { TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; _MATERIALAPPLYDETAIL.MATERIALAPPLYDETAIL_ID_Encrypt = GridView_ExpenseBill_1000.DataKeys[_Row.RowIndex][0].ToString().ToEncrypt(); if (_MATERIALAPPLYDETAIL.Select()) { _MATERIALAPPLYDETAIL.Delete(); Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { _MATERIALAPPLY.TOTALCOUNT -= int.Parse(string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text) ? "0" : LBl_MATERIAL_COUNT.Text); _MATERIALAPPLY.TOTALESTIMATED_COST -= double.Parse(string.IsNullOrEmpty(LBl_ESTIMATED_COST.Text) ? "0" : LBl_ESTIMATED_COST.Text).Round(2); _MATERIALAPPLY.Update(); } } } BindData(); } } #endregion #region GridView_ExpenseBill_1000_RowDataBound protected void GridView_ExpenseBill_1000_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { } else if (e.Row.RowType == DataControlRowType.Footer) { Running.Business.MATERIALAPPLY _MATERIALAPPLY = new Running.Business.MATERIALAPPLY(_FINANCEPROINST); _MATERIALAPPLY.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID); if (_MATERIALAPPLY.Search()) { e.Row.Cells[6].Text = _MATERIALAPPLY.TOTALCOUNT == null ? "" : _MATERIALAPPLY.TOTALCOUNT.Value.ToString("F2"); e.Row.Cells[9].Text = _MATERIALAPPLY.TOTALESTIMATED_COST == null ? "" : _MATERIALAPPLY.TOTALESTIMATED_COST.Value.ToString("F2"); } } } #endregion protected void LBl_MATERIAL_COUNT_CallBackSetControl(object sender, ClientSetEventArgs e) { foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; if (!string.IsNullOrEmpty(LBl_MATERIAL_COUNT.Text)) { LBl_ESTIMATED_COST.Text = (int.Parse(LBl_MATERIAL_COUNT.Text == "" ? "0" : LBl_MATERIAL_COUNT.Text) * double.Parse(LBl_MATERIAL_PRICE.Text == "" ? "0" : LBl_MATERIAL_PRICE.Text)).ToString(); e.SetValue(LBl_ESTIMATED_COST); } } } protected void LBl_MATERIAL_PRICE_CallBackSetControl(object sender, ClientSetEventArgs e) { foreach (GridViewRow _Row in GridView_ExpenseBill_1000.Rows) { TextBoxEx LBl_MATERIAL_COUNT = _Row.FindControl("LBl_MATERIAL_COUNT") as TextBoxEx; TextBoxEx LBl_MATERIAL_PRICE = _Row.FindControl("LBl_MATERIAL_PRICE") as TextBoxEx; TextBoxEx LBl_ESTIMATED_COST = _Row.FindControl("LBl_ESTIMATED_COST") as TextBoxEx; if (!string.IsNullOrEmpty(LBl_MATERIAL_PRICE.Text)) { LBl_ESTIMATED_COST.Text = (int.Parse(LBl_MATERIAL_COUNT.Text == "" ? "0" : LBl_MATERIAL_COUNT.Text) * double.Parse(LBl_MATERIAL_PRICE.Text == "" ? "0" : LBl_MATERIAL_PRICE.Text)).ToString(); e.SetValue(LBl_ESTIMATED_COST); } } } } }