2024-05-15 09:03:19 +08:00
using BLL ;
using Newtonsoft.Json.Linq ;
using System ;
using System.Collections.Generic ;
2025-03-24 14:21:16 +08:00
using System.Data ;
using System.Data.SqlClient ;
2024-05-15 09:03:19 +08:00
using System.Linq ;
2025-03-24 14:21:16 +08:00
using System.Runtime.InteropServices.ComTypes ;
2024-05-15 09:03:19 +08:00
using System.Web ;
using System.Web.UI ;
using System.Web.UI.WebControls ;
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlanEdit : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return ( string ) ViewState [ "ProjectId" ] ;
}
set
{
ViewState [ "ProjectId" ] = value ;
}
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 本周周号
/// </summary>
public int ThisWeekNo
{
get
{
return ( int ) ViewState [ "ThisWeekNo" ] ;
}
set
{
ViewState [ "ThisWeekNo" ] = value ;
}
}
/// <summary>
/// 下周周号
/// </summary>
public int NextWeekNo
{
get
{
return ( int ) ViewState [ "NextWeekNo" ] ;
}
set
{
ViewState [ "NextWeekNo" ] = value ;
}
}
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
2024-05-15 09:03:19 +08:00
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
string weekNo = string . Empty ;
if ( ! string . IsNullOrEmpty ( Request . Params [ "WeekNo" ] ) )
{
weekNo = Request . Params [ "WeekNo" ] ;
}
2025-03-24 14:21:16 +08:00
this . ThisWeekNo = int . Parse ( weekNo ) ;
this . NextWeekNo = int . Parse ( weekNo ) + 1 ;
this . txtWeekNo . Text = this . ThisWeekNo . ToString ( ) ;
this . txtNextWeekNo . Text = this . NextWeekNo . ToString ( ) ;
2024-05-15 09:03:19 +08:00
UnitWorkService . InitUnitWorkList2 ( drpUnitWork , this . CurrUser . LoginProjectId , false ) ;
CNProfessionalService . InitCNProfessional ( drpMajor , false ) ;
BLL . ProjectUnitService . InitUnitDropDownList2 ( drpUnitId , this . CurrUser . LoginProjectId , BLL . Const . ProjectUnitType_2 , false ) ;
UserService . Init ( drpDutyPerson , CurrUser . LoginProjectId , false ) ;
2024-06-27 15:35:38 +08:00
UnitWorkService . InitUnitWorkList2 ( drpUnitWork2 , this . CurrUser . LoginProjectId , false ) ;
CNProfessionalService . InitCNProfessional ( drpMajor2 , false ) ;
BLL . ProjectUnitService . InitUnitDropDownList2 ( drpUnitId2 , this . CurrUser . LoginProjectId , BLL . Const . ProjectUnitType_2 , false ) ;
UserService . Init ( drpDutyPerson2 , CurrUser . LoginProjectId , false ) ;
2025-03-24 14:21:16 +08:00
DateTime now = DateTime . Now ;
var thisWeek = BLL . WeekItemService . GetWeekItemByProjectIdAndWeekNo ( this . CurrUser . LoginProjectId , this . ThisWeekNo ) ;
var thisWeekPlan = Funs . DB . JDGL_WeekPlan . FirstOrDefault ( x = > x . ProjectId = = this . CurrUser . LoginProjectId & & x . WeekNo = = this . ThisWeekNo . ToString ( ) ) ;
if ( thisWeekPlan ! = null )
2024-05-15 09:03:19 +08:00
{
2025-03-24 14:21:16 +08:00
ThisWeekGrid ( ) ;
if ( now > ( ( DateTime ) thisWeekPlan . EndDate ) . AddDays ( 1 ) ) //|| now < ((DateTime)thisWeekPlan.StartDate)
{ //当前时间大于本周结束时间,禁止维护本周计划
this . btnNew2 . Hidden = true ;
this . Grid2 . Columns [ 9 ] . Hidden = true ;
2024-05-15 09:03:19 +08:00
}
2025-03-24 14:21:16 +08:00
else if ( now > ( ( DateTime ) thisWeekPlan . StartDate ) )
{ //当前时间大于本周开始时间,禁止删除本周计划(当前时间处于本周区间,禁止删除本周计划)
this . Grid2 . Columns [ 9 ] . Hidden = true ;
2024-05-15 09:03:19 +08:00
}
2025-03-24 14:21:16 +08:00
}
if ( now > thisWeek . EndDate . AddDays ( 1 ) ) // || now < thisWeek.StartDate
{ //当前时间大于本周结束时间,禁止维护本周计划
this . btnNew2 . Hidden = true ;
this . Grid2 . Columns [ 9 ] . Hidden = true ;
}
else if ( now > thisWeek . StartDate )
{ //当前时间大于本周开始时间小于本周结束时间,禁止删除本周计划(当前时间处于本周区间,禁止删除本周计划)
this . Grid2 . Columns [ 9 ] . Hidden = true ;
}
var nextWeek = BLL . WeekItemService . GetWeekItemByProjectIdAndWeekNo ( this . CurrUser . LoginProjectId , this . NextWeekNo ) ;
var nextWeekPlan = Funs . DB . JDGL_WeekPlan . FirstOrDefault ( x = > x . ProjectId = = this . CurrUser . LoginProjectId & & x . WeekNo = = this . NextWeekNo . ToString ( ) ) ;
if ( nextWeekPlan ! = null )
{
NextWeekGrid ( ) ;
if ( now > ( ( DateTime ) nextWeekPlan . EndDate ) . AddDays ( 1 ) )
{ //当前时间大于下周结束时间,禁止维护下周计划
this . Toolbar5 . Hidden = true ;
this . btnNew . Hidden = true ;
this . btnSelectWeekPlan . Hidden = true ;
this . Grid1 . Columns [ 9 ] . Hidden = true ;
2024-06-27 15:35:38 +08:00
}
2025-03-24 14:21:16 +08:00
}
if ( nextWeek ! = null )
{
if ( now > nextWeek . EndDate . AddDays ( 1 ) ) //|| now < nextWeek.StartDate
{ //当前时间大于下周结束时间,禁止维护下周计划
//this.btnNew2.Hidden = true;
//this.Grid2.Columns[9].Hidden = true;
this . Toolbar5 . Hidden = true ;
this . btnNew . Hidden = true ;
this . btnSelectWeekPlan . Hidden = true ;
this . Grid1 . Columns [ 9 ] . Hidden = true ;
2024-05-15 16:01:09 +08:00
}
2024-05-15 09:03:19 +08:00
}
else
{
2025-03-24 14:21:16 +08:00
#region 判 断 下 周 周 号 是 否 存 在 , 不 存 在 则 新 增
nextWeek = new Model . JDGL_WeekItem
2024-06-27 15:35:38 +08:00
{
2025-03-24 14:21:16 +08:00
WeekId = SQLHelper . GetNewID ( typeof ( Model . JDGL_WeekItem ) ) ,
ProjectId = this . CurrUser . LoginProjectId ,
WeekNo = this . NextWeekNo ,
StartDate = thisWeek . StartDate . AddDays ( 7 ) ,
EndDate = thisWeek . EndDate . AddDays ( 7 ) ,
CompileMan = this . CurrUser . UserId ,
CompileDate = DateTime . Now ,
} ;
BLL . WeekItemService . AddWeekItem ( nextWeek ) ;
#endregion
2024-05-15 09:03:19 +08:00
}
2025-03-24 14:21:16 +08:00
this . txtStartDate . Text = string . Format ( "{0:yyyy-MM-dd}" , thisWeek . StartDate ) ;
this . txtEndDate . Text = string . Format ( "{0:yyyy-MM-dd}" , thisWeek . EndDate ) ;
this . txtNextStartDate . Text = string . Format ( "{0:yyyy-MM-dd}" , nextWeek . StartDate ) ;
this . txtNextEndDate . Text = string . Format ( "{0:yyyy-MM-dd}" , nextWeek . EndDate ) ;
//var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.txtWeekNo.Text);
//if (weekPlan != null)
//{
// //if (weekPlan.StartDate != null)
// //{
// // this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
// //}
// //if (weekPlan.EndDate != null)
// //{
// // this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
// //}
// var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
// if (lastWeekPlan != null)
// {
// ThisWeekGrid(lastWeekPlan.WeekNo);
// if (lastWeekPlan.WeekNo != "0")
// {
// this.Toolbar1.Hidden = true;
// this.Grid2.Columns[9].Hidden = true;
// }
// }
// else
// {
// this.Toolbar1.Hidden = false;
// this.Grid2.Columns[9].Hidden = false;
// }
//}
//else
//{
// //this.txtStartDate.Text = string.Empty;
// //this.txtEndDate.Text = string.Empty;
// var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x).FirstOrDefault();
// if (lastWeekPlan != null)
// {
// ThisWeekGrid(lastWeekPlan.WeekNo);
// this.Toolbar1.Hidden = true;
// this.Grid2.Columns[9].Hidden = true;
// }
// else
// {
// this.Toolbar1.Hidden = false;
// this.Grid2.Columns[9].Hidden = false;
// }
//}
//NextWeekGrid(NextWeekNo.ToString());
2024-05-15 09:03:19 +08:00
}
}
2025-03-24 14:21:16 +08:00
2024-05-15 09:03:19 +08:00
/// <summary>
2025-03-24 14:21:16 +08:00
/// 加载下周计划
2024-05-15 09:03:19 +08:00
/// </summary>
2025-03-24 14:21:16 +08:00
/// <param name="NextWeekNo">下周周号</param>
private void NextWeekGrid ( )
2024-05-15 09:03:19 +08:00
{
2025-03-24 14:21:16 +08:00
string strSql = @ "select wplan.WeekPlanId,wplan.ProjectId,wplan.WeekNo,wplan.StartDate,wplan.EndDate,wplan.WorkContent,wplan.PlanDate,wplan.Remark
, case wplan . IsOK when 1 then ' 已 完 成 ' when 0 then ' 未 完 成 ' else ' ' end as IsOK
, uwork . UnitWorkName as UnitWork , major . ProfessionalName as Major , unit . UnitName as UnitId
, DutyPerson = STUFF ( ( SELECT ',' + p . UserName FROM dbo . Sys_User as p where PATINDEX ( ' % , ' + RTRIM ( p . UserId ) + ' , % ' , ',' + wplan . DutyPerson + ',' ) > 0 FOR XML PATH ( ' ' ) ) , 1 , 1 , ' ' )
from JDGL_WeekPlan as wplan
left join WBS_UnitWork as uwork on uwork . UnitWorkId = wplan . UnitWork
left join Base_CNProfessional as major on major . CNProfessionalId = wplan . Major
left join Base_Unit as unit on unit . UnitId = wplan . UnitId
where wplan . ProjectId = @ProjectId ";
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
strSql + = " and wplan.WeekNo = @weekNo" ;
listStr . Add ( new SqlParameter ( "@weekNo" , this . NextWeekNo ) ) ;
strSql + = " order by wplan.SortIndex " ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
Grid1 . RecordCount = tb . Rows . Count ;
Grid1 . DataSource = tb ;
2024-05-15 09:03:19 +08:00
Grid1 . DataBind ( ) ;
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 本周计划完成情况
/// </summary>
/// <param name="weekNo">本周周号</param>
private void ThisWeekGrid ( )
2024-05-15 09:03:19 +08:00
{
2025-03-24 14:21:16 +08:00
string strSql = @ "select wplan.WeekPlanId,wplan.ProjectId,wplan.WeekNo,wplan.StartDate,wplan.EndDate,wplan.WorkContent,wplan.PlanDate,wplan.Remark
, case wplan . IsOK when 1 then ' 已 完 成 ' when 0 then ' 未 完 成 ' else ' ' end as IsOK
, uwork . UnitWorkName as UnitWork , major . ProfessionalName as Major , unit . UnitName as UnitId
, DutyPerson = STUFF ( ( SELECT ',' + p . UserName FROM dbo . Sys_User as p where PATINDEX ( ' % , ' + RTRIM ( p . UserId ) + ' , % ' , ',' + wplan . DutyPerson + ',' ) > 0 FOR XML PATH ( ' ' ) ) , 1 , 1 , ' ' )
from JDGL_WeekPlan as wplan
left join WBS_UnitWork as uwork on uwork . UnitWorkId = wplan . UnitWork
left join Base_CNProfessional as major on major . CNProfessionalId = wplan . Major
left join Base_Unit as unit on unit . UnitId = wplan . UnitId
where wplan . ProjectId = @ProjectId ";
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
//if (!string.IsNullOrEmpty(weekNo))
//{
// strSql += " and wplan.WeekNo = @weekNo";
// listStr.Add(new SqlParameter("@weekNo", weekNo));
//}
strSql + = " and wplan.WeekNo = @weekNo" ;
listStr . Add ( new SqlParameter ( "@weekNo" , this . ThisWeekNo ) ) ;
strSql + = " order by wplan.SortIndex " ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
Grid2 . RecordCount = tb . Rows . Count ;
Grid2 . DataSource = tb ;
2024-05-15 09:03:19 +08:00
Grid2 . DataBind ( ) ;
}
2025-03-24 14:21:16 +08:00
2024-05-15 09:03:19 +08:00
private string ConvertIsOK ( bool? isOK )
{
string str = string . Empty ;
if ( isOK ! = null )
{
if ( isOK = = true )
{
str = "已完成" ;
}
else
{
str = "未完成" ;
}
}
return str ;
}
/// <summary>
2025-03-24 14:21:16 +08:00
/// 保存
2024-05-15 09:03:19 +08:00
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click ( object sender , EventArgs e )
{
if ( string . IsNullOrEmpty ( this . txtWeekNo . Text ) )
{
ShowNotify ( "请输入周号!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( string . IsNullOrEmpty ( this . txtStartDate . Text ) )
{
ShowNotify ( "请选择开始日期!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( string . IsNullOrEmpty ( this . txtEndDate . Text ) )
{
ShowNotify ( "请选择结束日期!" , MessageBoxIcon . Warning ) ;
return ;
}
SaveData ( true ) ;
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 保存周计划
/// </summary>
/// <param name="bl"></param>
2024-05-15 09:03:19 +08:00
private void SaveData ( bool bl )
{
DateTime startDate = Convert . ToDateTime ( this . txtStartDate . Text . Trim ( ) ) ;
DateTime endDate = Convert . ToDateTime ( this . txtEndDate . Text . Trim ( ) ) ;
2025-03-24 14:21:16 +08:00
//选择的周号为本周计划周号
string weekNo = this . txtWeekNo . Text . Trim ( ) ;
//下周周号
string NextWeekNo = ( int . Parse ( weekNo ) + 1 ) . ToString ( ) ;
2024-05-15 09:03:19 +08:00
Model . SGGLDB db = Funs . DB ;
var unitWorks = from x in db . WBS_UnitWork where x . ProjectId = = this . CurrUser . LoginProjectId select x ;
var cns = from x in db . Base_CNProfessional select x ;
var units = from x in db . Base_Unit select x ;
var users = from x in db . Sys_User select x ;
2025-03-24 14:21:16 +08:00
//清理下周计划
BLL . WeekPlanService . DeleteAllWeekPlan ( this . CurrUser . LoginProjectId , NextWeekNo ) ;
#region 下 周 计 划
2024-05-15 09:03:19 +08:00
int i = 1 ;
2025-03-24 14:21:16 +08:00
var list = GetDetails ( ) ;
2024-05-15 09:03:19 +08:00
foreach ( var item in list )
{
Model . JDGL_WeekPlan WeekPlan = new Model . JDGL_WeekPlan ( ) ;
WeekPlan . WeekPlanId = SQLHelper . GetNewID ( typeof ( Model . JDGL_WeekPlan ) ) ;
WeekPlan . ProjectId = this . CurrUser . LoginProjectId ;
2025-03-24 14:21:16 +08:00
WeekPlan . WeekNo = NextWeekNo ;
WeekPlan . StartDate = startDate . AddDays ( 7 ) ;
WeekPlan . EndDate = endDate . AddDays ( 7 ) ;
//WeekPlan.WeekNo = weekNo;
//WeekPlan.StartDate = startDate;
//WeekPlan.EndDate = endDate;
2024-05-15 09:03:19 +08:00
if ( unitWorks . FirstOrDefault ( x = > x . UnitWorkName = = item . UnitWork ) ! = null )
{
WeekPlan . UnitWork = unitWorks . FirstOrDefault ( x = > x . UnitWorkName = = item . UnitWork ) . UnitWorkId ;
}
if ( cns . FirstOrDefault ( x = > x . ProfessionalName = = item . Major ) ! = null )
{
WeekPlan . Major = cns . FirstOrDefault ( x = > x . ProfessionalName = = item . Major ) . CNProfessionalId ;
}
var unit = units . FirstOrDefault ( x = > x . UnitName = = item . UnitId ) ;
if ( unit ! = null )
{
WeekPlan . UnitId = unit . UnitId ;
}
WeekPlan . WorkContent = item . WorkContent ;
WeekPlan . PlanDate = item . PlanDate ;
2025-03-24 14:21:16 +08:00
var dutyPersons = item . DutyPerson . Split ( ',' ) ;
string dutyPersonIds = string . Empty ;
foreach ( var dutyPerson in dutyPersons )
2024-05-15 09:03:19 +08:00
{
2025-03-24 14:21:16 +08:00
var user = users . FirstOrDefault ( x = > x . UserName = = dutyPerson ) ;
if ( user ! = null )
{
dutyPersonIds = ! string . IsNullOrWhiteSpace ( dutyPersonIds ) ? $"{dutyPersonIds},{user.UserId}" : user . UserId ;
}
2024-05-15 09:03:19 +08:00
}
2025-03-24 14:21:16 +08:00
WeekPlan . DutyPerson = dutyPersonIds ;
//var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
//if (user != null)
//{
// WeekPlan.DutyPerson = user.UserId;
//}
2024-05-15 09:03:19 +08:00
WeekPlan . IsOK = item . IsOK ;
WeekPlan . Remark = item . Remark ;
WeekPlan . CompileMan = this . CurrUser . UserId ;
WeekPlan . CompileDate = DateTime . Now ;
WeekPlan . SortIndex = i ;
BLL . WeekPlanService . AddWeekPlan ( WeekPlan ) ;
i + + ;
}
2025-03-24 14:21:16 +08:00
#endregion
#region 本 周 计 划
2024-06-27 15:35:38 +08:00
int j = 1 ;
2025-03-24 14:21:16 +08:00
var list2 = GetDetails2 ( ) ;
//string lastWeekNo = "0";
//string lastWeekNo = this.txtWeekNo.Text.Trim();
2024-06-27 15:35:38 +08:00
foreach ( var item in list2 )
2024-05-15 09:03:19 +08:00
{
2024-06-27 15:35:38 +08:00
Model . JDGL_WeekPlan WeekPlan = new Model . JDGL_WeekPlan ( ) ;
WeekPlan . WeekPlanId = item . WeekPlanId ;
WeekPlan . ProjectId = this . CurrUser . LoginProjectId ;
2025-03-24 14:21:16 +08:00
//WeekPlan.WeekNo = lastWeekNo;
//WeekPlan.StartDate = startDate.AddDays(-7);
//WeekPlan.EndDate = endDate.AddDays(-7);
WeekPlan . WeekNo = weekNo ;
WeekPlan . StartDate = startDate ;
WeekPlan . EndDate = endDate ;
2024-06-27 15:35:38 +08:00
if ( unitWorks . FirstOrDefault ( x = > x . UnitWorkName = = item . UnitWork ) ! = null )
2024-05-15 09:03:19 +08:00
{
2024-06-27 15:35:38 +08:00
WeekPlan . UnitWork = unitWorks . FirstOrDefault ( x = > x . UnitWorkName = = item . UnitWork ) . UnitWorkId ;
2024-05-15 09:03:19 +08:00
}
2024-06-27 15:35:38 +08:00
if ( cns . FirstOrDefault ( x = > x . ProfessionalName = = item . Major ) ! = null )
{
WeekPlan . Major = cns . FirstOrDefault ( x = > x . ProfessionalName = = item . Major ) . CNProfessionalId ;
}
var unit = units . FirstOrDefault ( x = > x . UnitName = = item . UnitId ) ;
if ( unit ! = null )
{
WeekPlan . UnitId = unit . UnitId ;
}
WeekPlan . WorkContent = item . WorkContent ;
WeekPlan . PlanDate = item . PlanDate ;
2025-03-24 14:21:16 +08:00
var dutyPersons = item . DutyPerson . Split ( ',' ) ;
string dutyPersonIds = string . Empty ;
foreach ( var dutyPerson in dutyPersons )
2024-06-27 15:35:38 +08:00
{
2025-03-24 14:21:16 +08:00
var user = users . FirstOrDefault ( x = > x . UserName = = dutyPerson ) ;
if ( user ! = null )
{
dutyPersonIds = ! string . IsNullOrWhiteSpace ( dutyPersonIds ) ? $"{dutyPersonIds},{user.UserId}" : user . UserId ;
}
2024-06-27 15:35:38 +08:00
}
2025-03-24 14:21:16 +08:00
WeekPlan . DutyPerson = dutyPersonIds ;
//var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
//if (user != null)
//{
// WeekPlan.DutyPerson = user.UserId;
//}
2024-06-27 15:35:38 +08:00
WeekPlan . IsOK = item . IsOK ;
WeekPlan . Remark = item . Remark ;
WeekPlan . CompileMan = this . CurrUser . UserId ;
WeekPlan . CompileDate = DateTime . Now ;
WeekPlan . SortIndex = j ;
var oldWeekPlan = BLL . WeekPlanService . GetWeekPlanById ( WeekPlan . WeekPlanId ) ;
if ( oldWeekPlan = = null )
{
BLL . WeekPlanService . AddWeekPlan ( WeekPlan ) ;
}
else
{
BLL . WeekPlanService . UpdateWeekPlan ( WeekPlan ) ;
}
j + + ;
2024-05-15 09:03:19 +08:00
}
2025-03-24 14:21:16 +08:00
#endregion
2024-06-27 15:35:38 +08:00
//foreach (JObject mergedRow in Grid2.GetMergedData())
//{
// JObject values = mergedRow.Value<JObject>("values");
// int a = mergedRow.Value<int>("index");
// Model.JDGL_WeekPlan ql = BLL.WeekPlanService.GetWeekPlanById(Grid2.Rows[a].RowID);
// if (!string.IsNullOrEmpty(values.Value<string>("IsOK")))
// {
// ql.IsOK = values.Value<string>("IsOK") == "已完成" ? true : false;
// }
// ql.Remark = values.Value<string>("Remark");
// BLL.WeekPlanService.UpdateWeekPlan(ql);
//}
2024-05-15 09:03:19 +08:00
ShowNotify ( "保存成功!" , MessageBoxIcon . Success ) ;
PageContext . RegisterStartupScript ( ActiveWindow . GetHidePostBackReference ( ) ) ;
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 窗口关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close ( object sender , EventArgs e )
{
NextWeekGrid ( ) ;
}
/// <summary>
/// 窗口关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close ( object sender , EventArgs e )
{
ThisWeekGrid ( ) ;
}
2024-05-15 09:03:19 +08:00
#region 增 加 按 钮 事 件
/// <summary>
2025-03-24 14:21:16 +08:00
/// 增加按钮事件——下周计划
2024-05-15 09:03:19 +08:00
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click ( object sender , EventArgs e )
{
var list = GetDetails ( ) ;
Model . JDGL_WeekPlan ql = new Model . JDGL_WeekPlan ( ) ;
ql . WeekPlanId = SQLHelper . GetNewID ( ) ;
list . Add ( ql ) ;
Model . SGGLDB db = Funs . DB ;
Grid1 . DataSource = from x in list
select new
{
x . WeekPlanId ,
x . ProjectId ,
x . WeekNo ,
x . StartDate ,
x . EndDate ,
x . UnitWork ,
x . Major ,
x . UnitId ,
x . WorkContent ,
x . PlanDate ,
x . DutyPerson ,
IsOK = ConvertIsOK ( x . IsOK ) ,
x . Remark ,
} ;
Grid1 . DataBind ( ) ;
}
2025-03-24 14:21:16 +08:00
2024-06-27 15:35:38 +08:00
/// <summary>
2025-03-24 14:21:16 +08:00
/// 选择其他周计划新增到下周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectWeekPlan_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "WeekPlanSelect.aspx?WeekNo={0}" , this . NextWeekNo ) , "选择下周计划" ) ) ;
}
/// <summary>
/// 选择其他周计划新增到本周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectWeekPlan2_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( Window2 . GetShowReference ( String . Format ( "WeekPlanSelect.aspx?WeekNo={0}" , this . ThisWeekNo ) , "选择本周计划" ) ) ;
}
/// <summary>
/// 增加按钮事件——本周计划
2024-06-27 15:35:38 +08:00
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew2_Click ( object sender , EventArgs e )
{
var list = GetDetails2 ( ) ;
Model . JDGL_WeekPlan ql = new Model . JDGL_WeekPlan ( ) ;
ql . WeekPlanId = SQLHelper . GetNewID ( ) ;
list . Add ( ql ) ;
Model . SGGLDB db = Funs . DB ;
Grid2 . DataSource = from x in list
select new
{
x . WeekPlanId ,
x . ProjectId ,
x . WeekNo ,
x . StartDate ,
x . EndDate ,
x . UnitWork ,
x . Major ,
x . UnitId ,
x . WorkContent ,
x . PlanDate ,
x . DutyPerson ,
IsOK = ConvertIsOK ( x . IsOK ) ,
x . Remark ,
} ;
Grid2 . DataBind ( ) ;
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 下周计划
/// </summary>
/// <returns></returns>
2024-05-15 09:03:19 +08:00
private List < Model . JDGL_WeekPlan > GetDetails ( )
{
List < Model . JDGL_WeekPlan > list = new List < Model . JDGL_WeekPlan > ( ) ;
foreach ( JObject mergedRow in Grid1 . GetMergedData ( ) )
{
JObject values = mergedRow . Value < JObject > ( "values" ) ;
int i = mergedRow . Value < int > ( "index" ) ;
Model . JDGL_WeekPlan ql = new Model . JDGL_WeekPlan ( ) ;
ql . WeekPlanId = Grid1 . Rows [ i ] . RowID ;
ql . UnitWork = values . Value < string > ( "UnitWork" ) ;
ql . Major = values . Value < string > ( "Major" ) ;
ql . UnitId = values . Value < string > ( "UnitId" ) ;
ql . WorkContent = values . Value < string > ( "WorkContent" ) ;
ql . PlanDate = Funs . GetNewDateTime ( values . Value < string > ( "PlanDate" ) ) ;
ql . DutyPerson = values . Value < string > ( "DutyPerson" ) ;
if ( ! string . IsNullOrEmpty ( values . Value < string > ( "IsOK" ) ) )
{
ql . IsOK = values . Value < string > ( "IsOK" ) = = "已完成" ? true : false ;
}
ql . Remark = values . Value < string > ( "Remark" ) ;
list . Add ( ql ) ;
}
return list ;
}
2025-03-24 14:21:16 +08:00
/// <summary>
/// 本周计划
/// </summary>
/// <returns></returns>
2024-06-27 15:35:38 +08:00
private List < Model . JDGL_WeekPlan > GetDetails2 ( )
{
List < Model . JDGL_WeekPlan > list = new List < Model . JDGL_WeekPlan > ( ) ;
foreach ( JObject mergedRow in Grid2 . GetMergedData ( ) )
{
JObject values = mergedRow . Value < JObject > ( "values" ) ;
int i = mergedRow . Value < int > ( "index" ) ;
Model . JDGL_WeekPlan ql = new Model . JDGL_WeekPlan ( ) ;
ql . WeekPlanId = Grid2 . Rows [ i ] . RowID ;
ql . UnitWork = values . Value < string > ( "UnitWork" ) ;
ql . Major = values . Value < string > ( "Major" ) ;
ql . UnitId = values . Value < string > ( "UnitId" ) ;
ql . WorkContent = values . Value < string > ( "WorkContent" ) ;
ql . PlanDate = Funs . GetNewDateTime ( values . Value < string > ( "PlanDate" ) ) ;
ql . DutyPerson = values . Value < string > ( "DutyPerson" ) ;
if ( ! string . IsNullOrEmpty ( values . Value < string > ( "IsOK" ) ) )
{
ql . IsOK = values . Value < string > ( "IsOK" ) = = "已完成" ? true : false ;
}
ql . Remark = values . Value < string > ( "Remark" ) ;
list . Add ( ql ) ;
}
return list ;
}
2024-05-15 09:03:19 +08:00
#endregion
#region 行 点 击 事 件
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand ( object sender , GridCommandEventArgs e )
{
string WeekPlanId = Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) ;
var list = GetDetails ( ) ;
if ( e . CommandName = = "del" ) //删除
{
var Report = list . FirstOrDefault ( x = > x . WeekPlanId = = WeekPlanId ) ;
if ( Report ! = null )
{
list . Remove ( Report ) ;
}
Model . SGGLDB db = Funs . DB ;
Grid1 . DataSource = from x in list
select new
{
x . WeekPlanId ,
x . ProjectId ,
x . WeekNo ,
x . StartDate ,
x . EndDate ,
x . UnitWork ,
x . Major ,
x . UnitId ,
x . WorkContent ,
x . PlanDate ,
x . DutyPerson ,
IsOK = ConvertIsOK ( x . IsOK ) ,
x . Remark ,
} ;
this . Grid1 . DataBind ( ) ;
}
}
2024-06-27 15:35:38 +08:00
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_RowCommand ( object sender , GridCommandEventArgs e )
{
string WeekPlanId = Grid2 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) ;
var list = GetDetails2 ( ) ;
if ( e . CommandName = = "del" ) //删除
{
var Report = list . FirstOrDefault ( x = > x . WeekPlanId = = WeekPlanId ) ;
if ( Report ! = null )
{
list . Remove ( Report ) ;
}
Model . SGGLDB db = Funs . DB ;
Grid2 . DataSource = from x in list
select new
{
x . WeekPlanId ,
x . ProjectId ,
x . WeekNo ,
x . StartDate ,
x . EndDate ,
x . UnitWork ,
x . Major ,
x . UnitId ,
x . WorkContent ,
x . PlanDate ,
x . DutyPerson ,
IsOK = ConvertIsOK ( x . IsOK ) ,
x . Remark ,
} ;
this . Grid2 . DataBind ( ) ;
}
}
2024-05-15 09:03:19 +08:00
#endregion
}
}