CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/JDGL/Check/WeekItemEdit.aspx.cs

155 lines
5.3 KiB
C#

using BLL;
using Microsoft.Office.Interop.Word;
using Model;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekItemEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string WeekId
{
get
{
return (string)ViewState["WeekId"];
}
set
{
ViewState["WeekId"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.WeekId = Request.Params["WeekId"];
this.ProjectId = this.CurrUser.LoginProjectId;
//txtWeekNo.Readonly = true;
if (!string.IsNullOrEmpty(WeekId))
{
var model = Funs.DB.JDGL_WeekItem.FirstOrDefault(x => x.WeekId == WeekId);
if (model != null)
{
txtWeekNo.Text = model.WeekNo.ToString();
if (model.StartDate != null)
this.txtStartDate.Text = Convert.ToDateTime(model.StartDate).ToString("yyyy-MM-dd");
if (model.EndDate != null)
this.txtEndDate.Text = Convert.ToDateTime(model.EndDate).ToString("yyyy-MM-dd");
}
}
else
{
var lastWeekItem = Funs.DB.JDGL_WeekItem.Where(p => p.ProjectId == this.ProjectId).OrderByDescending(x => x.WeekNo).FirstOrDefault();
if (lastWeekItem != null)
{
this.txtWeekNo.Text = (lastWeekItem.WeekNo + 1).ToString();
this.txtStartDate.Text = lastWeekItem.EndDate.AddDays(1).ToString("yyyy-MM-dd");
this.txtEndDate.Text = lastWeekItem.EndDate.AddDays(7).ToString("yyyy-MM-dd");
}
else
{
this.txtWeekNo.Text = "1";
//this.txtStartDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
//this.txtEndDate.Text = DateTime.Now.AddDays(6).ToString("yyyy-MM-dd");
}
}
}
}
/// <summary>
/// 开始时间选择后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StartDate_TextChanged(object sender, EventArgs e)
{
var txtStartDate = this.txtStartDate.Text.Trim();
if (!string.IsNullOrWhiteSpace(txtStartDate))
{
this.txtEndDate.Text = Funs.GetNewDateTimeOrNow(txtStartDate).AddDays(6).ToString("yyyy-MM-dd");
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
int weekNo = !string.IsNullOrWhiteSpace(txtWeekNo.Text.Trim()) ? int.Parse(txtWeekNo.Text.Trim()) : 0;
if (string.IsNullOrEmpty(WeekId))
{
//判断周号是否存在
var item = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, weekNo);
if (item != null)
{
Alert.ShowInParent($"已存在相同周号({weekNo})的周!", MessageBoxIcon.Warning);
return;
}
}
var startDate = Funs.GetNewDateTimeOrNow(this.txtStartDate.Text.Trim());
var endDate = Funs.GetNewDateTimeOrNow(this.txtEndDate.Text.Trim());
if (startDate >= endDate)
{
Alert.ShowInParent("周开始日期必须大于结束日期!", MessageBoxIcon.Warning);
return;
}
var model = new Model.JDGL_WeekItem
{
WeekNo = weekNo,
StartDate = startDate,
EndDate = endDate,
CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now,
};
if (!string.IsNullOrEmpty(WeekId))
{
model.WeekId = WeekId;
BLL.WeekItemService.UpdateWeekItem(model);
}
else
{
model.WeekId = SQLHelper.GetNewID(typeof(Model.JDGL_WeekItem));
model.ProjectId = this.ProjectId;
BLL.WeekItemService.AddWeekItem(model);
}
ShowNotify("保存成功", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}