2025-03-27 15:05:14 +08:00

899 lines
49 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<Running.Business.MATERIALAPPLY>
{
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<Running.Business.MATERIALAPPLY> 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<Running.Business.MATERIALAPPLY> 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);
}
}
}
}
}