420 lines
19 KiB
C#
420 lines
19 KiB
C#
using BLL;
|
|
using Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace FineUIPro.Web.TestRun.TestRunManage
|
|
{
|
|
public partial class InspectTailTermEdit : PageBase
|
|
{
|
|
/// <summary>
|
|
/// 检查表尾项主键
|
|
/// </summary>
|
|
public string TailTermId
|
|
{
|
|
get { return (string)ViewState["TailTermId"]; }
|
|
set { ViewState["TailTermId"] = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 检查项主键
|
|
/// </summary>
|
|
public string TermItemId
|
|
{
|
|
get { return (string)ViewState["TermItemId"]; }
|
|
set { ViewState["TermItemId"] = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 是否查看
|
|
/// </summary>
|
|
public bool IsView
|
|
{
|
|
get { return (bool)ViewState["IsView"]; }
|
|
set { ViewState["IsView"] = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 问题图片是否可编辑
|
|
/// </summary>
|
|
public int QuestionEditImg
|
|
{
|
|
get { return (int)ViewState["QuestionEditImg"]; }
|
|
set { ViewState["QuestionEditImg"] = value; }
|
|
}
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.TailTermId = Request["TailTermId"];
|
|
this.TermItemId = Request["TermItemId"];
|
|
//是否查看
|
|
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
|
|
//数据绑定
|
|
PageInit();
|
|
//处理和审批意见绑定
|
|
gvRecordBrid();
|
|
//判断是否查看
|
|
if (IsView)
|
|
{
|
|
btnSave.Hidden = true;
|
|
btnSubmit.Hidden = true;
|
|
QuestionEditImg = -1;
|
|
txtTailTermCode.Enabled = false;
|
|
ddlConstructionUnit.Enabled = false;
|
|
ddlTermItemId.Enabled = false;
|
|
txtQuestionDesc.Enabled = false;
|
|
txtRectifyOpinion.Enabled = false;
|
|
ddlApproveUser.Enabled = false;
|
|
ddlHandleUser.Enabled = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 默认绑定
|
|
/// </summary>
|
|
public void PageInit()
|
|
{
|
|
QuestionEditImg = 0;
|
|
//施工单位
|
|
UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlConstructionUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
|
|
//检查人绑定
|
|
var userList = from user in Funs.DB.Sys_User
|
|
join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
|
|
where projectrole.ProjectId == this.CurrUser.LoginProjectId
|
|
select user;
|
|
var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
|
|
var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
|
|
var users = userList.ToList();
|
|
if (addUserList.Count() > 0)
|
|
{
|
|
users.AddRange(addUserList);
|
|
}
|
|
//检查人和审核人
|
|
if (users.Count() > 0)
|
|
{
|
|
//处理人
|
|
ddlHandleUser.DataTextField = "UserName";
|
|
ddlHandleUser.DataValueField = "UserId";
|
|
ddlHandleUser.DataSource = users;
|
|
ddlHandleUser.DataBind();
|
|
ddlHandleUser.SelectedValue = this.CurrUser.UserId;
|
|
//审核人
|
|
ddlApproveUser.DataTextField = "UserName";
|
|
ddlApproveUser.DataValueField = "UserId";
|
|
ddlApproveUser.DataSource = users;
|
|
ddlApproveUser.DataBind();
|
|
ddlApproveUser.SelectedValue = this.CurrUser.UserId;
|
|
}
|
|
var model = Funs.DB.TestRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
|
|
if (model != null)
|
|
{
|
|
//项目名称
|
|
txtProjectName.Text = model.ProjectName;
|
|
//巡检编号
|
|
txtTailTermCode.Text = model.TailTermCode;
|
|
//施工单位
|
|
ddlConstructionUnit.SelectedValue = model.ConstructionUnit;
|
|
//提出人
|
|
var inspectModel = users.FirstOrDefault(x => x.UserId == model.InspectUser);
|
|
if (inspectModel != null)
|
|
{
|
|
lblInspectUser.Text = inspectModel.UserName;
|
|
hidInspectUserId.Text = inspectModel.UserId;
|
|
}
|
|
//绑定检查项
|
|
var data = from a in Funs.DB.TestRun_TermItemInspectedUser
|
|
join b in Funs.DB.TestRun_SubInspectTermItem on a.TermItemId equals b.TermItemId
|
|
where a.InspectionResults == 0 && a.InspectedUser == this.CurrUser.UserId
|
|
group new { b.WorkInspectName, b.TermItemId } by new { b.WorkInspectName, b.TermItemId } into gt
|
|
select new
|
|
{
|
|
gt.Key.WorkInspectName,
|
|
gt.Key.TermItemId
|
|
};
|
|
var list = data.ToList();
|
|
if (list.Count() > 0)
|
|
{
|
|
ddlTermItemId.DataTextField = "WorkInspectName";
|
|
ddlTermItemId.DataValueField = "TermItemId";
|
|
ddlTermItemId.DataSource = list;
|
|
ddlTermItemId.DataBind();
|
|
}
|
|
//检查项
|
|
ddlTermItemId.SelectedValue = model.TermItemId;
|
|
//问题描述
|
|
txtQuestionDesc.Text = model.QuestionDesc;
|
|
//整改意见
|
|
txtRectifyOpinion.Text = model.RectifyOpinion;
|
|
//提出时间
|
|
lblRectifyTime.Text = model.RectifyTime != null ? model.RectifyTime.Value.ToString("yyyy-MM-dd") : string.Empty;
|
|
//处理人
|
|
ddlHandleUser.SelectedValue = model.HandleUser;
|
|
//审核人
|
|
ddlApproveUser.SelectedValue = model.ApproveUser;
|
|
//整改完成日期
|
|
txtAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd") : string.Empty;
|
|
if (model.ApproveState > 1)
|
|
{
|
|
QuestionEditImg = -1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.TailTermId = Guid.NewGuid().ToString();
|
|
var projectModel = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == this.CurrUser.LoginProjectId);
|
|
if (projectModel != null)
|
|
{
|
|
txtProjectName.Text = projectModel.ProjectName;
|
|
string code = projectModel.ProjectCode + "-06-CM03-XJ-";
|
|
txtTailTermCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.TestRun_InspectTailTerm", "TailTermCode", code);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(this.TermItemId))
|
|
{
|
|
var data = from a in Funs.DB.TestRun_TermItemInspectedUser
|
|
join b in Funs.DB.TestRun_SubInspectTermItem on a.TermItemId equals b.TermItemId
|
|
where a.InspectedUser == this.CurrUser.UserId && b.TermItemId == this.TermItemId
|
|
select new { a.InspectedUser, b.TermItemId };
|
|
var itemTerm = data.FirstOrDefault();
|
|
if (itemTerm != null)
|
|
{
|
|
//加载检查项
|
|
var itemdata = from a in Funs.DB.TestRun_TermItemInspectedUser
|
|
join b in Funs.DB.TestRun_SubInspectTermItem on a.TermItemId equals b.TermItemId
|
|
where (a.InspectionResults == 0 || a.TermItemId == this.TermItemId) && a.InspectedUser == this.CurrUser.UserId
|
|
select new { a.TermItemId, b.WorkInspectName };
|
|
var list = itemdata.ToList();
|
|
ddlTermItemId.Items.Clear();
|
|
if (list.Count() > 0)
|
|
{
|
|
ddlTermItemId.DataTextField = "WorkInspectName";
|
|
ddlTermItemId.DataValueField = "TermItemId";
|
|
ddlTermItemId.DataSource = list;
|
|
ddlTermItemId.DataBind();
|
|
}
|
|
else
|
|
{
|
|
ddlTermItemId.Items.Insert(0, new ListItem("==无数据==", ""));
|
|
}
|
|
|
|
//检查项
|
|
ddlTermItemId.SelectedValue = itemTerm.TermItemId;
|
|
//提出人
|
|
var inspectModel = users.FirstOrDefault(x => x.UserId == itemTerm.InspectedUser);
|
|
if (inspectModel != null)
|
|
{
|
|
lblInspectUser.Text = inspectModel.UserName;
|
|
hidInspectUserId.Text = inspectModel.UserId;
|
|
}
|
|
//提出时间
|
|
lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 处理和审批意见绑定
|
|
/// </summary>
|
|
public void gvRecordBrid()
|
|
{
|
|
string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveType when 0 then (case a.ApproveState when 0 then '处理退回' when 1 then '处理通过' else '' end) else (case a.ApproveState when 0 then '审批退回' when 1 then '审批通过' else '' end) end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from TestRun_InspectTermApproveRecords as a inner join TestRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join TestRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
|
listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
|
|
strSql += " order by a.AddTime asc";
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
//处理意见
|
|
var handleTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 0);
|
|
gvHandle.DataSource = handleTb;
|
|
gvHandle.DataBind();
|
|
//审批意见
|
|
var approveTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 1);
|
|
gvApprove.DataSource = approveTb;
|
|
gvApprove.DataBind();
|
|
}
|
|
|
|
#region 按钮
|
|
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
|
|
{
|
|
ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
|
|
{
|
|
ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var isAdd = false;
|
|
var model = Funs.DB.TestRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
|
|
if (model == null)
|
|
{
|
|
isAdd = true;
|
|
model = new TestRun_InspectTailTerm();
|
|
model.TailTermId = this.TailTermId;
|
|
model.ProjectId = this.CurrUser.LoginProjectId;
|
|
}
|
|
model.ProjectName = txtProjectName.Text;
|
|
model.TailTermCode = txtTailTermCode.Text;
|
|
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
|
|
model.TermItemId = ddlTermItemId.SelectedValue;
|
|
model.QuestionDesc = txtQuestionDesc.Text.Trim();
|
|
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
|
|
model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
|
|
model.InspectUser = hidInspectUserId.Text;
|
|
model.HandleUser = ddlHandleUser.SelectedValue;
|
|
model.ApproveUser = ddlApproveUser.SelectedValue;
|
|
model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
|
|
model.ApproveState = 0;
|
|
model.AddUser = this.CurrUser.LoginProjectId;
|
|
model.AddTime = DateTime.Now;
|
|
var workPack = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == model.TermItemId);
|
|
if (workPack != null)
|
|
{
|
|
model.WorkPackId = workPack.WorkPackId;
|
|
}
|
|
if (isAdd)
|
|
{
|
|
Funs.DB.TestRun_InspectTailTerm.InsertOnSubmit(model);
|
|
}
|
|
//判断尾项是否保存
|
|
var itemModel = Funs.DB.TestRun_TermItemInspectedUser.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
|
|
if (itemModel != null) itemModel.InspectionResults = 0;
|
|
Funs.DB.SubmitChanges();
|
|
ShowNotify("操作成功!", MessageBoxIcon.Success);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存并提交
|
|
/// </summary>
|
|
protected void btnSubmit_Click(object sender, EventArgs e)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
|
|
{
|
|
ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
|
|
{
|
|
ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var isAdd = false;
|
|
var model = Funs.DB.TestRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
|
|
if (model == null)
|
|
{
|
|
isAdd = true;
|
|
model = new TestRun_InspectTailTerm();
|
|
model.TailTermId = this.TailTermId;
|
|
model.ProjectId = this.CurrUser.LoginProjectId;
|
|
}
|
|
model.ProjectName = txtProjectName.Text;
|
|
model.TailTermCode = txtTailTermCode.Text;
|
|
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
|
|
model.TermItemId = ddlTermItemId.SelectedValue;
|
|
model.QuestionDesc = txtQuestionDesc.Text.Trim();
|
|
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
|
|
model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
|
|
model.InspectUser = hidInspectUserId.Text;
|
|
model.HandleUser = ddlHandleUser.SelectedValue;
|
|
model.ApproveUser = ddlApproveUser.SelectedValue;
|
|
model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
|
|
model.ApproveState = 1;
|
|
model.AddUser = this.CurrUser.LoginProjectId;
|
|
model.AddTime = DateTime.Now;
|
|
var workPack = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == model.TermItemId);
|
|
if (workPack != null)
|
|
{
|
|
model.WorkPackId = workPack.WorkPackId;
|
|
}
|
|
if (isAdd)
|
|
{
|
|
Funs.DB.TestRun_InspectTailTerm.InsertOnSubmit(model);
|
|
}
|
|
//判断尾项是否保存
|
|
var itemModel = Funs.DB.TestRun_TermItemInspectedUser.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
|
|
if (itemModel != null) itemModel.InspectionResults = 0;
|
|
Funs.DB.SubmitChanges();
|
|
ShowNotify("操作成功!", MessageBoxIcon.Success);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 问题图片
|
|
/// </summary>
|
|
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
|
|
{
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 事件
|
|
|
|
/// <summary>
|
|
/// 检查项
|
|
/// </summary>
|
|
protected void ddlTermItemId_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
var itemUserTerm = Funs.DB.TestRun_TermItemInspectedUser.FirstOrDefault(x => x.TermItemId == ddlTermItemId.SelectedValue);
|
|
if (itemUserTerm != null)
|
|
{
|
|
//提出人
|
|
var inspectModel = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == itemUserTerm.InspectedUser);
|
|
if (inspectModel != null)
|
|
{
|
|
lblInspectUser.Text = inspectModel.UserName;
|
|
hidInspectUserId.Text = inspectModel.UserId;
|
|
}
|
|
//提出时间
|
|
lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关闭
|
|
/// </summary>
|
|
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |