333 lines
17 KiB
C#
333 lines
17 KiB
C#
|
using BLL;
|
|||
|
using Model;
|
|||
|
using Newtonsoft.Json.Linq;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace FineUIPro.Web.CNCCG.HSSE.CostGoods
|
|||
|
{
|
|||
|
public partial class CostSmallDetailEdit : PageBase
|
|||
|
{
|
|||
|
#region 定义项
|
|||
|
/// <summary>
|
|||
|
/// 主键
|
|||
|
/// </summary>
|
|||
|
private string CostSmallDetailId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["CostSmallDetailId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["CostSmallDetailId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 项目主键
|
|||
|
/// </summary>
|
|||
|
public string ProjectId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["ProjectId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["ProjectId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
public static List<Model.HSSECostSmallDetailOutput> hSSECostSmallDetailOutputs =new List<HSSECostSmallDetailOutput>();
|
|||
|
#region 加载
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
this.ProjectId = this.CurrUser.LoginProjectId;
|
|||
|
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|||
|
this.hdProjectA1.Text = "0";
|
|||
|
this.hdProjectA2.Text = "0";
|
|||
|
this.hdProjectA3.Text = "0";
|
|||
|
this.hdProjectA4.Text = "0";
|
|||
|
this.hdProjectA5.Text = "0";
|
|||
|
this.hdProjectA6.Text = "0";
|
|||
|
this.hdProjectB1.Text = "0";
|
|||
|
this.hdProjectB2.Text = "0";
|
|||
|
this.hdProjectB3.Text = "0";
|
|||
|
this.InitDropDownList();
|
|||
|
this.CostSmallDetailId = Request.Params["CostSmallDetailId"];
|
|||
|
if (hSSECostSmallDetailOutputs!=null)
|
|||
|
{
|
|||
|
hSSECostSmallDetailOutputs = new List<Model.HSSECostSmallDetailOutput>();
|
|||
|
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(this.CostSmallDetailId))
|
|||
|
{
|
|||
|
Model.CostGoods_CostSmallDetail costSmallDetail = BLL.CostSmallDetailService.GetCostSmallDetailById(this.CostSmallDetailId);
|
|||
|
if (costSmallDetail != null)
|
|||
|
{
|
|||
|
this.ProjectId = costSmallDetail.ProjectId;
|
|||
|
if (this.ProjectId != this.CurrUser.LoginProjectId)
|
|||
|
{
|
|||
|
this.InitDropDownList();
|
|||
|
}
|
|||
|
if (costSmallDetail.Months != null)
|
|||
|
{
|
|||
|
//this.txtMonths.Text = string.Format("{0:yyyy-MM}", costSmallDetail.Months);
|
|||
|
this.drpYear.SelectedValue = Convert.ToString(costSmallDetail.Months.Value.Year);
|
|||
|
this.drpMonths.SelectedValue = Convert.ToString(costSmallDetail.Months.Value.Month);
|
|||
|
}
|
|||
|
this.txtCostSmallDetailCode.Text = CodeRecordsService.ReturnCodeByDataId(this.CostSmallDetailId);
|
|||
|
if (!string.IsNullOrEmpty(costSmallDetail.UnitId))
|
|||
|
{
|
|||
|
this.drpUnitId.SelectedValue = costSmallDetail.UnitId;
|
|||
|
}
|
|||
|
if (costSmallDetail.ReportDate != null)
|
|||
|
{
|
|||
|
this.txtReportDate.Text = string.Format("{0:yyyy-MM-dd}", costSmallDetail.ReportDate);
|
|||
|
}
|
|||
|
var costGoods_CostSmallDetailItems=from x in Funs.DB.CostGoods_CostSmallDetailItem where x.CostSmallDetailId==this.CostSmallDetailId orderby x.CostType select x ;
|
|||
|
var constTypeList = CostTypeService.GetCostTypeList();
|
|||
|
foreach (var item in costGoods_CostSmallDetailItems)
|
|||
|
{
|
|||
|
HSSECostSmallDetailOutput hSSECost = new HSSECostSmallDetailOutput();
|
|||
|
hSSECost.CostSmallDetailItemId = item.CostSmallDetailItemId;
|
|||
|
hSSECost.CostTypeCode = item.CostType;
|
|||
|
hSSECost.CostTypeName = constTypeList.FirstOrDefault(x => x.CostTypeCode == item.CostType)?.CostTypeName;
|
|||
|
hSSECost.CostMoney = item.CostMoney;
|
|||
|
hSSECost.Remark = constTypeList.FirstOrDefault(x => x.CostTypeCode == item.CostType)?.Remark;
|
|||
|
hSSECostSmallDetailOutputs.Add(hSSECost);
|
|||
|
}
|
|||
|
GetData();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.drpYear.SelectedValue = Convert.ToString(DateTime.Now.Year);
|
|||
|
this.drpMonths.SelectedValue = Convert.ToString(DateTime.Now.Month);
|
|||
|
//this.txtMonths.Text = DateTime.Now.ToString("yyyy-MM");
|
|||
|
//this.txtCompileMan.Text = this.CurrUser.UserName;
|
|||
|
this.txtReportDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
|||
|
//this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
|
|||
|
this.txtCostSmallDetailCode.Text = CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectCostSmallDetailMenuId, this.ProjectId, this.CurrUser.UnitId);
|
|||
|
|
|||
|
var constTypeList = CostTypeService.GetCostTypeList();
|
|||
|
foreach (var item in constTypeList)
|
|||
|
{
|
|||
|
HSSECostSmallDetailOutput hSSECost = new HSSECostSmallDetailOutput();
|
|||
|
hSSECost.CostSmallDetailItemId = SQLHelper.GetNewID();
|
|||
|
hSSECost.CostTypeCode = item.CostTypeCode;
|
|||
|
hSSECost.CostTypeName = item.CostTypeName;
|
|||
|
hSSECost.CostMoney = 0;
|
|||
|
hSSECost.SumCostMoney = 0;
|
|||
|
hSSECost.Remark = item.Remark;
|
|||
|
hSSECostSmallDetailOutputs.Add(hSSECost);
|
|||
|
}
|
|||
|
Grid1.DataSource = hSSECostSmallDetailOutputs;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 初始化下拉框
|
|||
|
/// </summary>
|
|||
|
private void InitDropDownList()
|
|||
|
{
|
|||
|
this.drpUnitId.DataValueField = "UnitId";
|
|||
|
this.drpUnitId.DataTextField = "UnitName";
|
|||
|
this.drpUnitId.DataSource = BLL.UnitService.GetMainAndSubUnitByProjectIdList(this.ProjectId);
|
|||
|
this.drpUnitId.DataBind();
|
|||
|
Funs.FineUIPleaseSelect(this.drpUnitId);
|
|||
|
BLL.ConstValue.InitConstValueDropDownList(this.drpYear, BLL.ConstValue.Group_0008, true);
|
|||
|
BLL.ConstValue.InitConstValueDropDownList(this.drpMonths, BLL.ConstValue.Group_0009, true);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 保存
|
|||
|
/// <summary>
|
|||
|
/// 保存按钮
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (this.drpYear.SelectedValue == BLL.Const._Null || this.drpMonths.SelectedValue == BLL.Const._Null)
|
|||
|
{
|
|||
|
Alert.ShowInTop("请选择月份", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
this.SaveData(BLL.Const.BtnSave);
|
|||
|
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 保存数据
|
|||
|
/// </summary>
|
|||
|
/// <param name="type"></param>
|
|||
|
private void SaveData(string type)
|
|||
|
{
|
|||
|
Model.CostGoods_CostSmallDetail costSmallDetail = new Model.CostGoods_CostSmallDetail
|
|||
|
{
|
|||
|
ProjectId = this.ProjectId
|
|||
|
};
|
|||
|
if (this.drpYear.SelectedValue != BLL.Const._Null && this.drpMonths.SelectedValue != BLL.Const._Null)
|
|||
|
{
|
|||
|
costSmallDetail.Months = Funs.GetNewDateTime(this.drpYear.SelectedValue + "-" + this.drpMonths.SelectedValue);
|
|||
|
}
|
|||
|
costSmallDetail.CostSmallDetailCode = this.txtCostSmallDetailCode.Text.Trim();
|
|||
|
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
|
|||
|
{
|
|||
|
costSmallDetail.UnitId = this.drpUnitId.SelectedValue;
|
|||
|
}
|
|||
|
costSmallDetail.ReportDate = Funs.GetNewDateTime(this.txtReportDate.Text.Trim());
|
|||
|
|
|||
|
//costSmallDetail.CheckMan = this.txtCheckMan.Text;
|
|||
|
//costSmallDetail.CheckDate = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim());
|
|||
|
//costSmallDetail.ApproveMan = this.txtApproveMan.Text;
|
|||
|
//costSmallDetail.ApproveDate = Funs.GetNewDateTime(this.txtApproveDate.Text.Trim());
|
|||
|
costSmallDetail.States = BLL.Const.State_2;
|
|||
|
if (!string.IsNullOrEmpty(this.CostSmallDetailId))
|
|||
|
{
|
|||
|
costSmallDetail.CostSmallDetailId = this.CostSmallDetailId;
|
|||
|
costSmallDetail.CompileMan = this.CurrUser.UserName;
|
|||
|
costSmallDetail.CompileDate = DateTime.Now;
|
|||
|
BLL.CostSmallDetailService.UpdateCostSmallDetail(costSmallDetail);
|
|||
|
BLL.LogService.AddSys_Log(this.CurrUser, costSmallDetail.CostSmallDetailCode, costSmallDetail.CostSmallDetailId,BLL.Const.ProjectCostSmallDetailMenuId,BLL.Const.BtnModify);
|
|||
|
BLL.CostSmallDetailItemService.DeleteCostSmallDetailItemByCostSmallDetailId(this.CostSmallDetailId);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.CostSmallDetailId = SQLHelper.GetNewID(typeof(Model.CostGoods_CostSmallDetail));
|
|||
|
costSmallDetail.CostSmallDetailId = this.CostSmallDetailId;
|
|||
|
costSmallDetail.CompileMan = this.CurrUser.UserName;
|
|||
|
costSmallDetail.CompileDate = DateTime.Now;
|
|||
|
BLL.CostSmallDetailService.AddCostSmallDetail(costSmallDetail);
|
|||
|
BLL.LogService.AddSys_Log(this.CurrUser, costSmallDetail.CostSmallDetailCode, costSmallDetail.CostSmallDetailId, BLL.Const.ProjectCostSmallDetailMenuId, BLL.Const.BtnAdd);
|
|||
|
}
|
|||
|
SaveDetail(costSmallDetail.CostSmallDetailId);
|
|||
|
//保存费用明细
|
|||
|
/* BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A1", Funs.GetNewDecimalOrZero(this.nbA1.Text), this.txtDefA1.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A2", Funs.GetNewDecimalOrZero(this.nbA2.Text), this.txtDefA2.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A3", Funs.GetNewDecimalOrZero(this.nbA3.Text), this.txtDefA3.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A4", Funs.GetNewDecimalOrZero(this.nbA4.Text), this.txtDefA4.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A5", Funs.GetNewDecimalOrZero(this.nbA5.Text), this.txtDefA5.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "A6", Funs.GetNewDecimalOrZero(this.nbA6.Text), this.txtDefA6.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "B1", Funs.GetNewDecimalOrZero(this.nbB1.Text), this.txtDefB1.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "B2", Funs.GetNewDecimalOrZero(this.nbB2.Text), this.txtDefB2.Text.Trim());
|
|||
|
BLL.CostSmallDetailItemService.AddCostDetail(costSmallDetail.CostSmallDetailId, "B3", Funs.GetNewDecimalOrZero(this.nbB3.Text), this.txtDefB3.Text.Trim());
|
|||
|
*///Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.SecurityCost);
|
|||
|
|
|||
|
}
|
|||
|
private void SaveDetail(string objId)
|
|||
|
{
|
|||
|
//1.先删除明细项
|
|||
|
var detailList = Funs.DB.CostGoods_CostSmallDetailItem.Where(x => x.CostSmallDetailId == objId).ToList();
|
|||
|
if (detailList.Count > 0)
|
|||
|
{
|
|||
|
Funs.DB.CostGoods_CostSmallDetailItem.DeleteAllOnSubmit(detailList);
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
//2.根据列表中的明细项添加
|
|||
|
List<Model.CostGoods_CostSmallDetailItem> detailLists = new List<Model.CostGoods_CostSmallDetailItem>();
|
|||
|
JArray teamGroupData = Grid1.GetMergedData();
|
|||
|
foreach (JObject teamGroupRow in teamGroupData)
|
|||
|
{
|
|||
|
JObject values = teamGroupRow.Value<JObject>("values");
|
|||
|
int rowIndex = teamGroupRow.Value<int>("index");
|
|||
|
Model.CostGoods_CostSmallDetailItem newDetail = new Model.CostGoods_CostSmallDetailItem
|
|||
|
{
|
|||
|
CostSmallDetailId = objId,
|
|||
|
CostType = values.Value<string>("CostTypeCode"),
|
|||
|
CostMoney = values.Value<decimal>("CostMoney"),
|
|||
|
CostDef = values.Value<string>("Remark"),
|
|||
|
|
|||
|
};
|
|||
|
if (Grid1.Rows[rowIndex].DataKeys.Length > 0)
|
|||
|
{
|
|||
|
newDetail.CostSmallDetailItemId = Grid1.Rows[rowIndex].DataKeys[0].ToString();
|
|||
|
}
|
|||
|
detailLists.Add(newDetail);
|
|||
|
}
|
|||
|
if (detailLists.Count > 0)
|
|||
|
{
|
|||
|
Funs.DB.CostGoods_CostSmallDetailItem.InsertAllOnSubmit(detailLists);
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
void GetData()
|
|||
|
{
|
|||
|
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
|
|||
|
{
|
|||
|
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
|
|||
|
DateTime? date = Funs.GetNewDateTime(this.drpYear.SelectedValue + "-" + this.drpMonths.SelectedValue + "-01");
|
|||
|
if (project != null && date.HasValue)
|
|||
|
{
|
|||
|
List<Model.CostGoods_CostSmallDetailItem> projectDetails = BLL.CostSmallDetailItemService.GetCostDetailsByUnitId(this.CurrUser.LoginProjectId, this.drpUnitId.SelectedValue, project != null ? project.StartDate : null, date);
|
|||
|
|
|||
|
foreach (var item in hSSECostSmallDetailOutputs)
|
|||
|
{
|
|||
|
var a = Grid1.FindRow(item.CostSmallDetailItemId);
|
|||
|
item.SumCostMoney = (from x in projectDetails where x.CostType == item.CostTypeCode select x.CostMoney ?? 0).Sum() + item.CostMoney;
|
|||
|
}
|
|||
|
Grid1.DataSource = hSSECostSmallDetailOutputs;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
#region 附件上传
|
|||
|
/// <summary>
|
|||
|
/// 上传附件
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnAttachUrl_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(this.CostSmallDetailId))
|
|||
|
{
|
|||
|
this.SaveData(BLL.Const.BtnSave);
|
|||
|
}
|
|||
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CostSmallDetailAttachUrl&menuId={1}", this.CostSmallDetailId, BLL.Const.ProjectCostSmallDetailMenuId)));
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
#region 单位变化事件
|
|||
|
/// <summary>
|
|||
|
/// 单位变化事件
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void drpUnitId_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
|
|||
|
{
|
|||
|
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
|
|||
|
DateTime? date = Funs.GetNewDateTime(this.drpYear.SelectedValue + "-" + this.drpMonths.SelectedValue + "-01");
|
|||
|
if (project != null && date.HasValue)
|
|||
|
{
|
|||
|
List<Model.CostGoods_CostSmallDetailItem> projectDetails = BLL.CostSmallDetailItemService.GetCostDetailsByUnitId(this.CurrUser.LoginProjectId, this.drpUnitId.SelectedValue, project != null ? project.StartDate : null, date);
|
|||
|
|
|||
|
foreach (var item in hSSECostSmallDetailOutputs)
|
|||
|
{
|
|||
|
item.SumCostMoney = (from x in projectDetails where x.CostType == item.CostTypeCode select x.CostMoney ?? 0).Sum() + item.CostMoney;
|
|||
|
}
|
|||
|
Grid1.DataSource = hSSECostSmallDetailOutputs;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|