155 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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());
 | |
|         }
 | |
|     }
 | |
| } |