272 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			272 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Data;
 | |
| using System.Data.SqlClient;
 | |
| using System.Linq;
 | |
| using System.Xml;
 | |
| using static System.Windows.Forms.VisualStyles.VisualStyleElement;
 | |
| 
 | |
| namespace FineUIPro.Web.Transfer
 | |
| {
 | |
|     public partial class PunchlistFromEdit : PageBase
 | |
|     {
 | |
|         #region 定义项
 | |
|         /// <summary>
 | |
|         /// 主键
 | |
|         /// </summary>
 | |
|         private string Id
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return (string)ViewState["Id"];
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 ViewState["Id"] = 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.Id = Request.Params["Id"];
 | |
|                 this.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                 ProhibitedFields();
 | |
|                 var TransferPunchlistFrom = Funs.DB.Transfer_PunchlistFrom.FirstOrDefault(p => p.Id == this.Id);
 | |
|                 if (TransferPunchlistFrom != null)
 | |
|                 {
 | |
|                     this.txtNum_NO.Text = TransferPunchlistFrom.Num_NO;
 | |
|                     this.txtSystem_No.Text = TransferPunchlistFrom.System_No;
 | |
|                     this.txtSub_Sys_No.Text = TransferPunchlistFrom.Sub_Sys_No;
 | |
|                     this.txtDESCRIPTION.Text = TransferPunchlistFrom.DESCRIPTION;
 | |
|                     this.ddlCat.SelectedValue = TransferPunchlistFrom.Cat;
 | |
|                     this.txtRaised_By.Text = TransferPunchlistFrom.Raised_By;
 | |
|                     if (TransferPunchlistFrom.Date_Raised != null)
 | |
|                         this.txtDate_Raised.Text = Convert.ToDateTime(TransferPunchlistFrom.Date_Raised).ToString("yyyy-MM-dd");
 | |
|                     this.txtDisc.Text = TransferPunchlistFrom.Disc;
 | |
|                     if (TransferPunchlistFrom.IsEng == true)
 | |
|                         this.ddlIsEng.SelectedValue = "Y";
 | |
|                     else
 | |
|                         this.ddlIsEng.SelectedValue = "N";
 | |
|                     this.ddlIsMatI.SelectedValue = TransferPunchlistFrom.IsMatI ?? "";
 | |
|                     this.txtPunch_Type.SelectedValue = TransferPunchlistFrom.Punch_Type ?? "";
 | |
|                     if (TransferPunchlistFrom.Required_Date != null)
 | |
|                         this.txtRequired_Date.Text = Convert.ToDateTime(TransferPunchlistFrom.Required_Date).ToString("yyyy-MM-dd");
 | |
|                     this.txtAction_By.Text = TransferPunchlistFrom.Action_By;
 | |
|                     this.txtPIC.Text = TransferPunchlistFrom.PIC;
 | |
|                     this.txtPIC_WUH.Text = TransferPunchlistFrom.PIC_WUH;
 | |
|                     this.txtCorrection_Action.Text = TransferPunchlistFrom.Correction_Action;
 | |
|                     if (TransferPunchlistFrom.Actual_Date != null)
 | |
|                         this.txtActual_Date.Text = Convert.ToDateTime(TransferPunchlistFrom.Actual_Date).ToString("yyyy-MM-dd");
 | |
|                     this.txtCleared_By.Text = TransferPunchlistFrom.Cleared_By;
 | |
|                     if (TransferPunchlistFrom.Cleared_Date != null)
 | |
|                         this.txtCleared_Date.Text = Convert.ToDateTime(TransferPunchlistFrom.Cleared_Date).ToString("yyyy-MM-dd");
 | |
|                     this.txtConfirmed_By.Text = TransferPunchlistFrom.Confirmed_By;
 | |
|                     if (TransferPunchlistFrom.Confirmed_Date != null)
 | |
|                         this.txtConfirmed_Date.Text = Convert.ToDateTime(TransferPunchlistFrom.Confirmed_Date).ToString("yyyy-MM-dd");
 | |
|                     this.txtVerified_By.Text = TransferPunchlistFrom.Verified_By;
 | |
|                     if (TransferPunchlistFrom.Verified_Date != null)
 | |
|                         this.txtVerified_Date.Text = Convert.ToDateTime(TransferPunchlistFrom.Verified_Date).ToString("yyyy-MM-dd");
 | |
|                     this.txtRemark.Text = TransferPunchlistFrom.Remark;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     var maxNumNO = 0;
 | |
|                     var modelTp = Funs.DB.Transfer_PunchlistFrom.OrderByDescending(x => x.Num_NO).FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId);
 | |
|                     if (modelTp == null)
 | |
|                         maxNumNO = 1;
 | |
|                     else
 | |
|                         maxNumNO = Convert.ToInt32(modelTp.Num_NO) + 1;
 | |
|                     this.txtNum_NO.Text = maxNumNO.ToString("0000");
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         
 | |
|         
 | |
|         /// <summary>
 | |
|         /// 禁止编辑字段事件触发时。
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void ProhibitedFields()
 | |
|         {
 | |
|             var query = (from projectUser in Funs.DB.Project_ProjectUser
 | |
|                     join projectUnit in Funs.DB.Project_ProjectUnit on new { projectUser.UnitId, projectUser.ProjectId }
 | |
|                         equals new { projectUnit.UnitId, projectUnit.ProjectId } into projectUnitJoin
 | |
|                     from projectUnit in projectUnitJoin.DefaultIfEmpty()
 | |
|                     join sysConst in Funs.DB.Sys_Const on new
 | |
|                         { GroupId = "ProjectUnitType", ConstValue = projectUnit.UnitType } equals new
 | |
|                         { sysConst.GroupId, sysConst.ConstValue } into sysConstJoin
 | |
|                     from sysConst in sysConstJoin.DefaultIfEmpty()
 | |
|                     where projectUser.UserId == this.CurrUser.UserId
 | |
|                     select sysConst.ConstValue)
 | |
|                 .Distinct().FirstOrDefault();
 | |
|             
 | |
|             if (query != null && query == "2")
 | |
|             {
 | |
|                 this.txtConfirmed_By.Readonly = true;
 | |
|                 this.txtConfirmed_Date.Readonly = true;
 | |
|                 this.txtVerified_By.Readonly = true;
 | |
|                 this.txtVerified_Date.Readonly = true;
 | |
|             }
 | |
| 
 | |
|         }
 | |
|         
 | |
|         /// <summary>
 | |
|         /// Photoes附件上传
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void btnAttachA_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             AttachFileClick("A");
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// Corrected Photos附件上传
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void btnAttachB_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             AttachFileClick("B");
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 通过不同的type来保存附件
 | |
|         /// </summary>
 | |
|         /// <param name="type"></param>
 | |
|         private void AttachFileClick(string type)
 | |
|         {
 | |
|             SaveData();
 | |
|             PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?type=0&toKeyId={0}_{1}&path=FileUpload/Transfer/PunchlistFrom&menuId={2}", this.Id, type, BLL.Const.PunchlistFromMenuId)));
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void btnSave_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (SaveData() == 0)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             ShowNotify("保存成功", MessageBoxIcon.Success);
 | |
|             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存数据
 | |
|         /// </summary>
 | |
|         /// <returns></returns>
 | |
|         private int SaveData()
 | |
|         {
 | |
|             int reutState = 0;
 | |
| 
 | |
|             Model.Transfer_PunchlistFrom newTransferFrom = new Model.Transfer_PunchlistFrom()
 | |
|             {
 | |
|                 Id = Guid.NewGuid().ToString(),
 | |
|                 Num_NO = this.txtNum_NO.Text.Trim(),
 | |
|                 ProjectId = this.ProjectId,
 | |
|                 System_No = this.txtSystem_No.Text.Trim(),
 | |
|                 Sub_Sys_No = this.txtSub_Sys_No.Text.Trim(),
 | |
|                 DESCRIPTION = this.txtDESCRIPTION.Text.Trim(),
 | |
|                 Cat = this.ddlCat.SelectedValue,
 | |
|                 Raised_By = this.txtRaised_By.Text.Trim(),
 | |
|                 Date_Raised = Funs.GetNewDateTime(this.txtDate_Raised.Text),
 | |
|                 Disc = this.txtDisc.Text.Trim(),
 | |
|                 IsEng = this.ddlIsEng.SelectedValue == "Y" ? true : false,
 | |
|                 IsMatI = this.ddlIsMatI.SelectedValue,
 | |
|                 Punch_Type = this.txtPunch_Type.SelectedValue,
 | |
|                 Required_Date = Funs.GetNewDateTime(this.txtRequired_Date.Text),
 | |
|                 Action_By = this.txtAction_By.Text.Trim(),
 | |
|                 PIC = this.txtPIC.Text.Trim(),
 | |
|                 PIC_WUH = this.txtPIC_WUH.Text.Trim(),
 | |
|                 Correction_Action = this.txtCorrection_Action.Text.Trim(),
 | |
|                 Actual_Date = Funs.GetNewDateTime(this.txtActual_Date.Text),
 | |
|                 Cleared_By = this.txtCleared_By.Text.Trim(),
 | |
|                 Cleared_Date = Funs.GetNewDateTime(this.txtCleared_Date.Text),
 | |
|                 Confirmed_By = this.txtConfirmed_By.Text.Trim(),
 | |
|                 Confirmed_Date = Funs.GetNewDateTime(this.txtConfirmed_Date.Text),
 | |
|                 Verified_By = this.txtVerified_By.Text.Trim(),
 | |
|                 Verified_Date = Funs.GetNewDateTime(this.txtVerified_Date.Text),
 | |
|                 Remark = this.txtRemark.Text.Trim()
 | |
|             };
 | |
| 
 | |
|             if (newTransferFrom.Cleared_Date == null && newTransferFrom.Confirmed_Date == null && newTransferFrom.Verified_Date == null)
 | |
|                 newTransferFrom.Status = "Not Start";
 | |
|             else if (newTransferFrom.Cleared_Date != null && newTransferFrom.Confirmed_Date != null && newTransferFrom.Verified_Date != null)
 | |
|                 newTransferFrom.Status = "Completed";
 | |
|             else
 | |
|                 newTransferFrom.Status = "In Progress";
 | |
| 
 | |
|             var TransferPunchlistFrom = Funs.DB.Transfer_PunchlistFrom.FirstOrDefault(p => p.Id == this.Id);
 | |
|             if (TransferPunchlistFrom == null)
 | |
|             {
 | |
|                 if (Funs.DB.Transfer_PunchlistFrom.Where(p => p.ProjectId == this.ProjectId && p.Num_NO == newTransferFrom.Num_NO).Count() > 0)
 | |
|                 {
 | |
|                     ShowNotify("录入的NO.重复了,不能保存", MessageBoxIcon.Warning);
 | |
|                     return reutState;
 | |
|                 }
 | |
| 
 | |
|                 Funs.DB.Transfer_PunchlistFrom.InsertOnSubmit(newTransferFrom);
 | |
|                 this.Id = newTransferFrom.Id;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 if (Funs.DB.Transfer_PunchlistFrom.Where(p => p.ProjectId == this.ProjectId && p.Num_NO == newTransferFrom.Num_NO && p.Id != TransferPunchlistFrom.Id).Count() > 0)
 | |
|                 {
 | |
|                     ShowNotify("录入的NO.重复了,不能保存", MessageBoxIcon.Warning);
 | |
|                     return reutState;
 | |
|                 }
 | |
| 
 | |
|                 TransferPunchlistFrom.Num_NO = newTransferFrom.Num_NO;
 | |
|                 TransferPunchlistFrom.System_No = newTransferFrom.System_No;
 | |
|                 TransferPunchlistFrom.Sub_Sys_No = newTransferFrom.Sub_Sys_No;
 | |
|                 TransferPunchlistFrom.DESCRIPTION = newTransferFrom.DESCRIPTION;
 | |
|                 TransferPunchlistFrom.Cat = newTransferFrom.Cat;
 | |
|                 TransferPunchlistFrom.Raised_By = newTransferFrom.Raised_By;
 | |
|                 TransferPunchlistFrom.Date_Raised = newTransferFrom.Date_Raised;
 | |
|                 TransferPunchlistFrom.Disc = newTransferFrom.Disc;
 | |
|                 TransferPunchlistFrom.IsEng = newTransferFrom.IsEng;
 | |
|                 TransferPunchlistFrom.IsMatI = newTransferFrom.IsMatI;
 | |
|                 TransferPunchlistFrom.Punch_Type = newTransferFrom.Punch_Type;
 | |
|                 TransferPunchlistFrom.Required_Date = newTransferFrom.Required_Date;
 | |
|                 TransferPunchlistFrom.Action_By = newTransferFrom.Action_By;
 | |
|                 TransferPunchlistFrom.PIC = newTransferFrom.PIC;
 | |
|                 TransferPunchlistFrom.PIC_WUH = newTransferFrom.PIC_WUH;
 | |
|                 TransferPunchlistFrom.Correction_Action = newTransferFrom.Correction_Action;
 | |
|                 TransferPunchlistFrom.Actual_Date = newTransferFrom.Actual_Date;
 | |
|                 TransferPunchlistFrom.Cleared_By = newTransferFrom.Cleared_By;
 | |
|                 TransferPunchlistFrom.Cleared_Date = newTransferFrom.Cleared_Date;
 | |
|                 TransferPunchlistFrom.Confirmed_By = newTransferFrom.Confirmed_By;
 | |
|                 TransferPunchlistFrom.Confirmed_Date = newTransferFrom.Confirmed_Date;
 | |
|                 TransferPunchlistFrom.Verified_By = newTransferFrom.Verified_By;
 | |
|                 TransferPunchlistFrom.Verified_Date = newTransferFrom.Verified_Date;
 | |
|                 TransferPunchlistFrom.Remark = newTransferFrom.Remark;
 | |
|                 TransferPunchlistFrom.Status = newTransferFrom.Status;
 | |
|             }
 | |
|             Funs.DB.SubmitChanges();
 | |
|             reutState = 1;
 | |
|             return reutState;
 | |
|         }
 | |
|     }
 | |
| } |