| 
									
										
										
										
											2025-03-24 14:21:16 +08:00
										 |  |  |  | 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 | 
					
						
							|  |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2025-03-25 18:58:30 +08:00
										 |  |  |  |                         this.txtWeekNo.Text = "1"; | 
					
						
							| 
									
										
										
										
											2025-03-24 14:21:16 +08:00
										 |  |  |  |                         //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()); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |