CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachineEdit.aspx.cs

491 lines
24 KiB
C#

using BLL;
using BLL.CQMS.Comprehensive;
using System;
using System.Linq;
namespace FineUIPro.Web.CQMS.Comprehensive
{
public partial class InspectionMachineEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string InspectionMachineId
{
get
{
return (string)ViewState["InspectionMachineId"];
}
set
{
ViewState["InspectionMachineId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BLL.UnitService.InitUnitDownList(this.drpUnitId, this.CurrUser.LoginProjectId, true);
if (CurrUser.UnitId == null || CurrUser.UserId == Const.sysglyId||CurrUser.UnitId== Const.UnitId_CWCEC)
{
this.drpUnitId.Enabled = true;
}
else
{
drpUnitId.SelectedValue = CurrUser.UnitId;
this.drpUnitId.Enabled = false;
}
BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNProfessionalId, true);
LoadAuditSelect();
this.agree.Hidden = true;
this.options.Hidden = true;
this.btnSave.Hidden = true;
this.btnSubmit.Hidden = true;
this.InspectionMachineId = Request.Params["InspectionMachineId"];
Model.Comprehensive_InspectionMachine inspectionMachine = BLL.InspectionMachineService.GetInspectionMachineById(this.InspectionMachineId);
if (inspectionMachine != null)
{
this.InspectionMachineId = inspectionMachine.InspectionMachineId;
this.hdAttachUrl.Text = this.InspectionMachineId;
if (!string.IsNullOrEmpty(inspectionMachine.UnitId))
{
this.drpUnitId.SelectedValue = inspectionMachine.UnitId;
}
if (!string.IsNullOrEmpty(inspectionMachine.CNProfessionalId))
{
this.drpCNProfessionalId.SelectedValue = inspectionMachine.CNProfessionalId;
}
this.rblInspectionType.SelectedValue = inspectionMachine.InspectionType;
this.txtInspectionMachineCode.Text = inspectionMachine.InspectionMachineCode;
this.txtInspectionMachineName.Text = inspectionMachine.InspectionMachineName;
this.txtSpecificationModel.Text = inspectionMachine.SpecificationModel;
if (inspectionMachine.NextTestDate != null)
{
this.txtNextTestDate.Text = string.Format("{0:yyyy-MM-dd}", inspectionMachine.NextTestDate);
}
this.txtTestCycle.Text = inspectionMachine.TestCycle;
this.rblIsVerification.SelectedValue = inspectionMachine.IsVerification.HasValue && inspectionMachine.IsVerification == true ? "true" : "false";
if (inspectionMachine.InspectionDate != null)
{
this.txtInspectionDate.Text = string.Format("{0:yyyy-MM-dd}", inspectionMachine.InspectionDate);
}
this.rblIsOnSite.SelectedValue = inspectionMachine.IsOnSite.HasValue && inspectionMachine.IsOnSite == true ? "true" : "false";
if (inspectionMachine.LeaveDate.HasValue)
{
this.txtLeaveDate.Text = string.Format("{0:yyyy-MM-dd}", inspectionMachine.LeaveDate);
}
if (inspectionMachine.UnitsCount.HasValue)
{
this.txtUnitsCount.Text = inspectionMachine.UnitsCount.ToString();
}
if (!string.IsNullOrEmpty(inspectionMachine.AuditMan))
{
drpAudit.SelectedValue = inspectionMachine.AuditMan;
}
var currApprove = InspectionMachineApproveService.GetCurrentApprove(inspectionMachine.InspectionMachineId);
if (currApprove != null)
{ //重新编制 编制人 可以 显示 提交 保存按钮
this.drpAudit.SelectedValue = currApprove.ApproveMan;
if (currApprove.ApproveType == BLL.Const.Comprehensive_ReCompile && inspectionMachine.CompileMan == CurrUser.UserId)
{
this.btnSubmit.Hidden = false;
this.btnSave.Hidden = false;
}//审核状态 审核人 可以显示 提交 保存按钮
else if (currApprove.ApproveType == BLL.Const.Comprehensive_Audit && currApprove.ApproveMan == CurrUser.UserId)
{
//审核状态不可编辑
Readonly();
this.agree.Hidden = false;
this.options.Hidden = false;
this.btnSubmit.Hidden = false;
this.btnSave.Hidden = false;
}
}//没有当前审核人,已完成状态 或者 待提交状态
else
{
if (inspectionMachine.Status == BLL.Const.Comprehensive_Compile && inspectionMachine.CompileMan == CurrUser.UserId)
{
this.btnSubmit.Hidden = false;
this.btnSave.Hidden = false;
}
}
}
else
{
this.txtInspectionDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.btnSave.Hidden = false;
this.btnSubmit.Hidden = false;
}
}
}
/// <summary>
/// 禁止编辑
/// </summary>
public void Readonly()
{
this.txtInspectionDate.Readonly = true;
this.drpUnitId.Readonly = true;
this.drpCNProfessionalId.Readonly = true;
this.txtInspectionMachineCode.Readonly = true;
this.txtInspectionMachineName.Readonly = true;
this.txtLeaveDate.Readonly = true;
this.txtNextTestDate.Readonly = true;
this.txtInspectionDate.Readonly = true;
this.txtSpecificationModel.Readonly = true;
this.txtTestCycle.Readonly = true;
this.txtUnitsCount.Readonly = true;
this.drpAudit.Readonly = true;
//this.btnAttach.Enabled = false;
}
/// <summary>
/// 加载专业工程师
/// </summary>
public void LoadAuditSelect()
{
var db = Funs.DB;
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where y.UnitId == Const.UnitId_CWCEC && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
where p.RoleId.Contains(Const.ZBCNEngineer)
select new { UserId = x.UserId, UserName = x.UserName };
drpAudit.DataValueField = "UserId";
drpAudit.DataTextField = "UserName";
this.drpAudit.DataSource = userList.ToList();
this.drpAudit.DataBind();
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.drpUnitId.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择报验单位!", MessageBoxIcon.Warning);
return;
}
Model.Comprehensive_InspectionMachine inspectionMachone = new Model.Comprehensive_InspectionMachine();
inspectionMachone.ProjectId = this.CurrUser.LoginProjectId;
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
inspectionMachone.UnitId = this.drpUnitId.SelectedValue;
}
if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null)
{
inspectionMachone.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
}
inspectionMachone.InspectionType = this.rblInspectionType.SelectedValue;
inspectionMachone.InspectionMachineCode = this.txtInspectionMachineCode.Text.Trim();
inspectionMachone.InspectionMachineName = this.txtInspectionMachineName.Text.Trim();
inspectionMachone.SpecificationModel = this.txtSpecificationModel.Text.Trim();
inspectionMachone.NextTestDate = Funs.GetNewDateTime(this.txtNextTestDate.Text);
inspectionMachone.TestCycle = this.txtTestCycle.Text.Trim();
inspectionMachone.IsVerification = this.rblIsVerification.SelectedValue == "true" ? true : false;
inspectionMachone.InspectionDate = Funs.GetNewDateTime(this.txtInspectionDate.Text);
inspectionMachone.IsOnSite = this.rblIsOnSite.SelectedValue == "true" ? true : false;
inspectionMachone.LeaveDate = Funs.GetNewDateTime(this.txtLeaveDate.Text);
inspectionMachone.UnitsCount = Funs.GetNewInt(this.txtUnitsCount.Text.Trim());
if (!string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
inspectionMachone.AuditMan = drpAudit.SelectedValue;
} //审核人
if (string.IsNullOrEmpty(this.InspectionMachineId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
{
inspectionMachone.InspectionMachineId = this.hdAttachUrl.Text;
}
else
{
inspectionMachone.InspectionMachineId = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionMachine));
this.hdAttachUrl.Text = inspectionMachone.InspectionMachineId;
}
var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionMachone.InspectionMachineId);
if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
inspectionMachone.CompileMan = this.CurrUser.UserId;
inspectionMachone.CompileDate = DateTime.Now;
inspectionMachone.Status = BLL.Const.Comprehensive_Compile;
BLL.InspectionMachineService.AddInspectionMachine(inspectionMachone);
}
else
{
inspectionMachone.InspectionMachineId = this.InspectionMachineId;
var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.InspectionMachineId);
if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.Comprehensive_InspectionMachine.Where(u => u.InspectionMachineId == this.InspectionMachineId).FirstOrDefault();
if (model != null)
{
inspectionMachone.Status = model.Status;
}
BLL.InspectionMachineService.UpdateInspectionMachine(inspectionMachone);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (this.drpUnitId.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择报验单位!", MessageBoxIcon.Warning);
return;
}
Model.Comprehensive_InspectionMachine inspectionMachone = new Model.Comprehensive_InspectionMachine();
inspectionMachone.ProjectId = this.CurrUser.LoginProjectId;
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
inspectionMachone.UnitId = this.drpUnitId.SelectedValue;
}
if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null)
{
inspectionMachone.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
}
inspectionMachone.InspectionType = this.rblInspectionType.SelectedValue;
inspectionMachone.InspectionMachineCode = this.txtInspectionMachineCode.Text.Trim();
inspectionMachone.InspectionMachineName = this.txtInspectionMachineName.Text.Trim();
inspectionMachone.SpecificationModel = this.txtSpecificationModel.Text.Trim();
inspectionMachone.NextTestDate = Funs.GetNewDateTime(this.txtNextTestDate.Text);
inspectionMachone.TestCycle = this.txtTestCycle.Text.Trim();
inspectionMachone.IsVerification = this.rblIsVerification.SelectedValue == "true" ? true : false;
inspectionMachone.InspectionDate = Funs.GetNewDateTime(this.txtInspectionDate.Text);
inspectionMachone.IsOnSite = this.rblIsOnSite.SelectedValue == "true" ? true : false;
inspectionMachone.LeaveDate = Funs.GetNewDateTime(this.txtLeaveDate.Text);
inspectionMachone.UnitsCount = Funs.GetNewInt(this.txtUnitsCount.Text.Trim());
if (!string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
inspectionMachone.AuditMan = drpAudit.SelectedValue;
} //审核人
if (string.IsNullOrEmpty(this.InspectionMachineId))
{
if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
{
inspectionMachone.InspectionMachineId = this.hdAttachUrl.Text;
}
else
{
inspectionMachone.InspectionMachineId = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionMachine));
this.hdAttachUrl.Text = inspectionMachone.InspectionMachineId;
}
var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionMachone.InspectionMachineId);
if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
inspectionMachone.CompileMan = this.CurrUser.UserId;
inspectionMachone.CompileDate = DateTime.Now;
inspectionMachone.Status = BLL.Const.Comprehensive_Audit;
BLL.InspectionMachineService.AddInspectionMachine(inspectionMachone);
}
else
{
inspectionMachone.InspectionMachineId = this.InspectionMachineId;
var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.InspectionMachineId);
if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
//BLL.InspectionMachineService.UpdateInspectionMachine(inspectionMachone);
var oldInspectionMachine = Funs.DB.Comprehensive_InspectionMachine.Where(u => u.InspectionMachineId == this.InspectionMachineId).FirstOrDefault();
if (oldInspectionMachine == null) //数据库没有记录 直接点提交 当前状态为 审核状态
{
inspectionMachone.CompileMan = this.CurrUser.UserId;
inspectionMachone.CompileDate = DateTime.Now;
inspectionMachone.Status = BLL.Const.Comprehensive_Audit;
BLL.InspectionMachineService.AddInspectionMachine(inspectionMachone);
}
else
{
inspectionMachone.CompileMan = oldInspectionMachine.CompileMan;
inspectionMachone.CompileDate = oldInspectionMachine.CompileDate;
if (oldInspectionMachine.Status == BLL.Const.Comprehensive_Compile)//编制状态提交变审核
{
inspectionMachone.Status = BLL.Const.Comprehensive_Audit;
}
else if (oldInspectionMachine.Status == BLL.Const.Comprehensive_ReCompile)//重新编制状态提交变审核
{
inspectionMachone.Status = BLL.Const.Comprehensive_Audit;
}
else //审核状态 提交 变 完成 或者 重新编制
{
if (Convert.ToBoolean(rblIsAgree.SelectedValue))
{
inspectionMachone.Status = BLL.Const.Comprehensive_Complete;
}
else
{
inspectionMachone.Status = BLL.Const.Comprehensive_ReCompile;
}
}
BLL.InspectionMachineService.UpdateInspectionMachine(inspectionMachone);
}
}
#region
var currApprove = InspectionMachineApproveService.GetCurrentApprove(inspectionMachone.InspectionMachineId);
if (currApprove == null) //为获取到为 当前编制状态 直接提交
{
var approve = new Model.Comprehensive_InspectionMachineApprove();
approve.InspectionMachineId = inspectionMachone.InspectionMachineId;
approve.ApproveMan = this.CurrUser.UserId;
approve.ApproveType = Const.Comprehensive_Compile;
approve.ApproveDate = DateTime.Now;
InspectionMachineApproveService.EditApprove(approve); //新增编制记录
Model.Comprehensive_InspectionMachineApprove newApprove = new Model.Comprehensive_InspectionMachineApprove();
newApprove.InspectionMachineId = inspectionMachone.InspectionMachineId;
newApprove.ApproveMan = this.drpAudit.SelectedValue;
newApprove.ApproveType = Const.InspectionManagement_Audit;
InspectionMachineApproveService.EditApprove(newApprove); //新增专业工程师审核记录
}
else if (currApprove.ApproveMan == CurrUser.UserId)
{
if (currApprove.ApproveType == BLL.Const.Comprehensive_ReCompile)
{
currApprove.ApproveDate = DateTime.Now;
//currApprove.IsAgree = true;
InspectionMachineApproveService.EditApprove(currApprove); //新增专业工程师审核记录
Model.Comprehensive_InspectionMachineApprove newApprove = new Model.Comprehensive_InspectionMachineApprove();
newApprove.InspectionMachineId = inspectionMachone.InspectionMachineId;
newApprove.ApproveMan = this.drpAudit.SelectedValue;
newApprove.ApproveType = Const.InspectionManagement_Audit;
InspectionMachineApproveService.EditApprove(newApprove); //新增专业工程师审核记录
}
else
{
currApprove.ApproveDate = DateTime.Now; //更新审核时间
currApprove.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue);
currApprove.ApproveIdea = this.txtidea.Text;
InspectionMachineApproveService.EditApprove(currApprove);
if (Convert.ToBoolean(rblIsAgree.SelectedValue)) //同意时 审批完成
{
Model.Comprehensive_InspectionMachineApprove reApprove = new Model.Comprehensive_InspectionMachineApprove();
reApprove.InspectionMachineId = currApprove.InspectionMachineId;
reApprove.ApproveDate = DateTime.Now.AddSeconds(10);
reApprove.ApproveMan = CurrUser.UserId;
reApprove.ApproveType = Const.Comprehensive_Complete;
// reApprove.ApproveIdea = txtidea.Text;
InspectionMachineApproveService.EditApprove(reApprove);
}
else
{
Model.Comprehensive_InspectionMachineApprove reApprove = new Model.Comprehensive_InspectionMachineApprove();
reApprove.InspectionMachineId = currApprove.InspectionMachineId;
reApprove.ApproveMan = inspectionMachone.CompileMan;
reApprove.ApproveType = Const.Comprehensive_ReCompile;
InspectionMachineApproveService.EditApprove(reApprove);
}
}
}
#endregion
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
{
this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionMachine));
}
Model.Comprehensive_InspectionMachine inspectionMachine = BLL.InspectionMachineService.GetInspectionMachineById(this.InspectionMachineId);
//if (inspectionMachine == null || ((inspectionMachine.CompileMan == CurrUser.UserId && inspectionMachine.Status == BLL.Const.Comprehensive_Compile) || (inspectionMachine.CompileMan == CurrUser.UserId && inspectionMachine.Status == BLL.Const.Comprehensive_ReCompile)))
//{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/inspectionMachone&menuId={1}", this.hdAttachUrl.Text, BLL.Const.InspectionMachineMenuId)));
//}
//else
//{
// PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CQMS/inspectionMachone&menuId={1}", this.hdAttachUrl.Text, BLL.Const.InspectionMachineMenuId)));
//}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.InspectionMachineMenuId);
if (buttonList.Count > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}