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());
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |