393 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			393 lines
		
	
	
		
			17 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.Feeding
 | 
						|
{
 | 
						|
    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.FeedingRun_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 list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.InspectedUser == this.CurrUser.UserId).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.FeedingRun_InspectTailTerm", "TailTermCode", code);
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrWhiteSpace(this.TermItemId))
 | 
						|
                {
 | 
						|
                    var itemTerm = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.InspectedUser == this.CurrUser.UserId && x.TermItemId == this.TermItemId);
 | 
						|
                    if (itemTerm != null)
 | 
						|
                    {
 | 
						|
                        var list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && (x.InspectionResults == 0 || x.TermItemId == this.TermItemId));
 | 
						|
                        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 FeedingRun_InspectTermApproveRecords as a inner join FeedingRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join FeedingRun_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.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
 | 
						|
            if (model == null)
 | 
						|
            {
 | 
						|
                isAdd = true;
 | 
						|
                model = new FeedingRun_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;           
 | 
						|
            if (isAdd)
 | 
						|
            {
 | 
						|
                Funs.DB.FeedingRun_InspectTailTerm.InsertOnSubmit(model);
 | 
						|
            }
 | 
						|
            //判断尾项是否保存
 | 
						|
            var itemModel = Funs.DB.FeedingRun_SubInspectTermItem.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.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
 | 
						|
            if (model == null)
 | 
						|
            {
 | 
						|
                isAdd = true;
 | 
						|
                model = new FeedingRun_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;           
 | 
						|
            if (isAdd)
 | 
						|
            {
 | 
						|
                Funs.DB.FeedingRun_InspectTailTerm.InsertOnSubmit(model);
 | 
						|
            }
 | 
						|
            //判断尾项是否保存
 | 
						|
            var itemModel = Funs.DB.FeedingRun_SubInspectTermItem.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.FeedingRun_SubInspectTermItem.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
 | 
						|
    }
 | 
						|
} |