SGGL_JT/SUBQHSE/FineUIPro.Web/Customization/CNCCG/HSSE/InApproveManager/EquipmentInUnit.aspx.cs

541 lines
22 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.Customization.CNCCG.HSSE.InApproveManager
{
public partial class EquipmentInUnit : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
////权限按钮方法
this.GetButtonPower();
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
this.btnNew.OnClientClick = Window1.GetShowReference("EquipmentInItemEdit.aspx") + "return false;";
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
InitDropDownList();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDropDownList()
{
SpecialEquipmentService.InitSpecialEquipmentDropDownList(this.drpSpecialEquipment, true, true);
UnitService.InitBranchUnitDropDownList(this.drpUnit, true);
ProjectService.InitProjectDropDownList(this.drpProject, true);
Funs.FineUIPleaseSelect(dropDetectionStatus);
// UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnitId, this.ProjectId, Const.ProjectUnitType_2, true);
// this.drpUnitId.Enabled = false;
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = "SELECT EquipmentIn.EquipmentInId,EquipmentInItem.EquipmentInItemId,"
+ @"EquipmentIn.ProjectId,"
+ @"EquipmentInItem.SpecialEquipmentId,EquipmentInItem.SizeModel,EquipmentInItem.OwnerCheck,EquipmentInItem.CertificateNum,EquipmentInItem.SafetyInspectionNum,EquipmentInItem.DrivingLicenseNum,EquipmentInItem.RegistrationNum,EquipmentInItem.OperationQualificationNum,EquipmentInItem.InsuranceNum,EquipmentInItem.CommercialInsuranceNum,EquipmentInItem.IsUsed,"
+ @"EquipmentInItem.SizeCode
,EquipmentInItem.DetectionStatus
,EquipmentInItem.CheckDate
,EquipmentInItem.InspectionCycle
,EquipmentInItem.ValidityDateOfInspection
,EquipmentInItem.UseRegDate
,EquipmentInItem.UseRegDepart
,EquipmentInItem.InDate
,EquipmentInItem.OutDate
,EquipmentInItem.OperatorName
,EquipmentInItem.SpecialCertificateNumber
,EquipmentInItem.Remark,EquipmentInItem.ProDate"
+ @",CodeRecords.Code AS EquipmentInCode,"
+ @"EquipmentIn.UnitId,"
+ @"EquipmentIn.CarNumber,"
+ @"EquipmentIn.SubProjectName,"
+ @"EquipmentIn.ContentDef,"
+ @"EquipmentIn.OtherDef,"
+ @"EquipmentIn.State,"
+ @"EquipmentIn.CompileMan,"
+ @"EquipmentInItem.CompileDate,"
+ @"BaseEquipment.SpecialEquipmentName ,"
+ @"Unit.UnitName,UseUnit.UnitName AS UseUnitName,"
+ @"Users.UserName,Project.ProjectName"
+ @" FROM InApproveManager_EquipmentInItem AS EquipmentInItem "
+ @" LEFT JOIN InApproveManager_EquipmentIn AS EquipmentIn ON EquipmentIn.EquipmentInId = EquipmentInItem.EquipmentInId "
+ @"LEFT JOIN Base_SpecialEquipment BaseEquipment ON EquipmentInItem.SpecialEquipmentId=BaseEquipment.SpecialEquipmentId"
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = EquipmentIn.UnitId "
+ @" LEFT JOIN Base_Unit AS UseUnit ON UseUnit.UnitId = EquipmentIn.UseUnitId "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON EquipmentIn.EquipmentInId = CodeRecords.DataId "
+ @" LEFT JOIN Base_Project AS Project ON EquipmentIn.Projectid = Project.Projectid "
+ @" LEFT JOIN Sys_User AS Users ON EquipmentIn.CompileMan = Users.UserId WHERE ProjectState =1 and (isDelete IS NULL OR isDelete =0) ";
List<SqlParameter> listStr = new List<SqlParameter>();
//strSql += " AND EquipmentIn.ProjectId = '" + this.ProjectId + "'";
//if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
//{
// strSql += " AND EquipmentIn.State = @States"; ///状态为已完成
// listStr.Add(new SqlParameter("@States", BLL.Const.State_2));
//}
//if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId))
//{
// strSql += " AND EquipmentIn.UnitId = @UnitId";
// listStr.Add(new SqlParameter("@UnitId", this.CurrUser.UnitId));
//}
if (!string.IsNullOrEmpty(txtStartTime.Text.Trim()))
{
strSql += " AND EquipmentInItem.CheckDate >= @StartTime";
listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text.Trim()))
{
strSql += " AND EquipmentInItem.CheckDate <= @EndTime";
listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text.Trim()));
}
if (drpUnit.SelectedValue!=Const._Null)
{
strSql+= " AND Unit.UnitId = @UnitId";
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpSpecialEquipment.SelectedValue != Const._Null)
{
strSql += " AND BaseEquipment.SpecialEquipmentId = @SpecialEquipmentId";
listStr.Add(new SqlParameter("@SpecialEquipmentId", drpSpecialEquipment.SelectedValue));
}
if (rbIsUsed.SelectedValue == "0")
{
strSql += " AND EquipmentInItem.IsUsed = @IsUsed";
listStr.Add(new SqlParameter("@IsUsed", false));
}
else if (rbIsUsed.SelectedValue == "1")
{
strSql += " AND EquipmentInItem.IsUsed = @IsUsed";
listStr.Add(new SqlParameter("@IsUsed", true));
}
if (drpProject.SelectedValue != Const._Null)
{
strSql += " AND Project.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", drpProject.SelectedValue));
}
if (dropDetectionStatus.SelectedValue != Const._Null)
{
strSql += " AND EquipmentInItem.DetectionStatus = @DetectionStatus";
listStr.Add(new SqlParameter("@DetectionStatus", dropDetectionStatus.SelectedValue));
}
strSql += " order by Unit.UnitName desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
Model.InApproveManager_EquipmentInItem model = Funs.DB.InApproveManager_EquipmentInItem.FirstOrDefault(x => x.EquipmentInItemId == Grid1.Rows[i].DataKeys[0].ToString());
//if (model.CheckDate != null && model.CheckDate != "")
//{
// DateTime result;
// if (DateTime.TryParse(model.CheckDate.ToString(), out result))
// {
// TimeSpan ts = Convert.ToDateTime(DateTime.Now) - Convert.ToDateTime(model.CheckDate);
// if (ts.Days >= 365)
// {
// Grid1.Rows[i].RowCssClass = "red";
// }
// }
// else
// {
// Grid1.Rows[i].RowCssClass = "red";
// }
//}
//else
//{
// Grid1.Rows[i].RowCssClass = "red";
//}
if (model.IsUsed == true)
{
if (model.ValidityDateOfInspection != null)
{
if (DateTime.Compare(model.ValidityDateOfInspection.Value.Date, DateTime.Now.Date) < 0)
{
Grid1.Rows[i].RowCssClass = "red";
}
}
else
{
Grid1.Rows[i].RowCssClass = "red";
}
}
}
}
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var equipmentInItem = BLL.EquipmentInItemService.GetEquipmentInItemById(id);
if (equipmentInItem != null)
{
if (this.btnMenuEdit.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EquipmentInView.aspx?EquipmentInId={0}", equipmentInItem.EquipmentInId, "查看 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EquipmentInItemEdit.aspx?EquipmentInItemId={0}", equipmentInItem.EquipmentInItemId, "编辑 - ")));
}
}
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuIsUsed_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var equipmentInItem = BLL.EquipmentInItemService.GetEquipmentInItemById(id);
equipmentInItem.IsUsed = true;
BLL.EquipmentInItemService.UpdateEquipmentInItem(equipmentInItem);
BindGrid();
ShowNotify("设备状态修改成功!", MessageBoxIcon.Success);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuIsNotUsed_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var equipmentInItem = BLL.EquipmentInItemService.GetEquipmentInItemById(id);
equipmentInItem.IsUsed = false;
BLL.EquipmentInItemService.UpdateEquipmentInItem(equipmentInItem);
BindGrid();
ShowNotify("设备状态修改成功!", MessageBoxIcon.Success);
}
#endregion
#region
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var equipmentInItem = BLL.EquipmentInItemService.GetEquipmentInItemById(rowID);
if (equipmentInItem != null)
{
var equipmentIn = BLL.EquipmentInService.GetEquipmentInById(equipmentInItem.EquipmentInId);
string equipmentInId = equipmentInItem.EquipmentInId;
BLL.LogService.AddSys_Log(this.CurrUser, equipmentIn.EquipmentInCode, equipmentIn.EquipmentInId, BLL.Const.EquipmentInMenuId, BLL.Const.BtnDelete);
BLL.EquipmentInItemService.DeleteEquipmentInItemById(rowID);
var exitItems = BLL.EquipmentInItemService.GetEquipmentInItemByEquipmentInId(equipmentInId);
if (exitItems.Count == 0)
{
BLL.EquipmentInService.DeleteEquipmentInById(equipmentInId);
}
}
}
// Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.ConstructionEquipment);
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#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.EquipmentInMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
this.btnMenuIsUsed.Hidden = false;
this.btnMenuIsNotUsed.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("特种设备机具管理" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region
/// <summary>
/// 获取设备名称
/// </summary>
/// <param name="equipmentId"></param>
/// <returns></returns>
protected string ConvertEqiupment(object equipmentId)
{
string equipmentName = string.Empty;
if (equipmentId != null)
{
var specialEquipment = BLL.SpecialEquipmentService.GetSpecialEquipmentById(equipmentId.ToString());
if (specialEquipment != null)
{
equipmentName = specialEquipment.SpecialEquipmentName;
}
}
return equipmentName;
}
#endregion
/// <summary>
/// 查看二维码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQR_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?EquipmentInItemId={0}&strCode={1}", Grid1.SelectedRowID, "https://qhse.cncccg.com:8443/erEq?id=" + Grid1.SelectedRowID), "二维码查看", 400, 400));
}
protected void btnSearch_OnClick(object sender, EventArgs e)
{
this.BindGrid();
}
protected void btnReset_OnClick(object sender, EventArgs e)
{
txtStartTime.SelectedDate = null;
txtEndTime.SelectedDate = null;
drpUnit.SelectedValue = Const._Null;
dropDetectionStatus.SelectedValue = Const._Null;
drpSpecialEquipment.SelectedValue = Const._Null;
drpProject.SelectedValue = Const._Null;
this.BindGrid();
}
protected void btnView_Click(object sender, EventArgs e)
{
string info = string.Empty;
var date = DateTime.Now;
var projects = (from x in Funs.DB.Base_Project
where (x.ProjectState == BLL.Const.ProjectState_1 || x.ProjectState == null)
&& (x.IsDelete == null || x.IsDelete == false)
select x).ToList();
foreach (var item in projects)
{
var model = from x in Funs.DB.InApproveManager_EquipmentInItem
join y in Funs.DB.InApproveManager_EquipmentIn on x.EquipmentInId equals y.EquipmentInId
where y.ProjectId == item.ProjectId &&
x.CompileDate.Value.Year == date.Year && x.CompileDate.Value.Month == date.Month
select x;
if (!model.Any())
{
info += item.ProjectCode + ":" + item.ProjectName + ",未填写报表;</br>";
}
}
if (!string.IsNullOrEmpty(info))
{
Alert.ShowInTop(info + "项目报表未上报。", MessageBoxIcon.Warning);
}
else
{
ShowNotify("项目报表已上报", MessageBoxIcon.Success);
}
}
}
}