1、车辆交易安全管理,现场车辆管理:补充批量退场和导入功能;

2、危大工程方案调整
3、企业安全检查调整
4、安全活动调整
This commit is contained in:
2026-03-16 14:38:56 +08:00
parent 2c1f892dec
commit 13364fcbf7
69 changed files with 4291 additions and 746 deletions
@@ -4,109 +4,126 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>现场车辆管理</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="现场车辆管理" EnableCollapse="true"
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="CarManagerId"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="CarManagerId" AllowSorting="true"
SortField="CarManagerCode" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtCarManagerCode" runat="server" Label="编号" EmptyText="输入查询条件" LabelAlign="Right"
Width="320px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="CarManagerCode" DataField="CarManagerCode"
SortField="CarManagerCode" FieldType="String" HeaderText="编号" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CarName" DataField="CarName" SortField="CarName"
FieldType="String" HeaderText="车牌号" HeaderTextAlign="Center" TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="CarModel" DataField="CarModel" SortField="CarModel"
FieldType="String" HeaderText="车型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="BuyDate" DataField="BuyDate" SortField="BuyDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="购买日期"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="LastYearCheckDate" DataField="LastYearCheckDate"
SortField="LastYearCheckDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="年检有效期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="InsuranceDate" DataField="InsuranceDate"
SortField="InsuranceDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="保险有效期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Remark" DataField="Remark" SortField="Remark"
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="FlowOperateName" DataField="FlowOperateName"
SortField="FlowOperateName" FieldType="String" HeaderText="状态" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="10000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="现场车辆管理" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="900px" Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</f:MenuButton>
</f:Menu>
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="现场车辆管理" EnableCollapse="true"
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="CarManagerId"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="CarManagerId" AllowSorting="true"
SortField="CarManagerCode" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" EnableCheckBoxSelect="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtCarManagerCode" runat="server" Label="编号" EmptyText="输入查询条件" LabelAlign="Right"
Width="320px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:TextBox>
<f:RadioButtonList runat="server" ID="ckInOutState" AutoPostBack="true" Label="在场状态" LabelWidth="90px" LabelAlign="Right"
OnSelectedIndexChanged="TextBox_TextChanged" Width="300px">
<f:RadioItem Text="全部" Value="" />
<f:RadioItem Text="在场" Value="1" Selected="true" />
<f:RadioItem Text="已退场" Value="0" />
</f:RadioButtonList>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnCarOut" ToolTip="批量退场" Icon="CarDelete" runat="server" Hidden="true" Text="批量退场" OnClick="btnCarOut_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Text="导入" Icon="ApplicationPut" Hidden="true" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="CarManagerCode" DataField="CarManagerCode"
SortField="CarManagerCode" FieldType="String" HeaderText="编号" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CarName" DataField="CarName" SortField="CarName"
FieldType="String" HeaderText="车牌号" HeaderTextAlign="Center" TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="CarModel" DataField="CarModel" SortField="CarModel"
FieldType="String" HeaderText="车型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:TemplateField ColumnID="InOutState" Width="120px" HeaderText="在场状态" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbInOutState" runat="server" Text='<%# ConvertInOutState(Eval("InOutState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="90px" ColumnID="BuyDate" DataField="BuyDate" SortField="BuyDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="购买日期"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="LastYearCheckDate" DataField="LastYearCheckDate"
SortField="LastYearCheckDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="年检有效期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="InsuranceDate" DataField="InsuranceDate"
SortField="InsuranceDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd"
HeaderText="保险有效期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Remark" DataField="Remark" SortField="Remark"
FieldType="String" HeaderText="备注" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="FlowOperateName" DataField="FlowOperateName"
SortField="FlowOperateName" FieldType="String" HeaderText="状态" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="10000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="现场车辆管理" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="900px" Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
@@ -40,7 +40,7 @@ namespace FineUIPro.Web.HSSE.Administrative
private void BindGrid()
{
string strSql = "SELECT CarManager.CarManagerId,CarManager.ProjectId,CodeRecords.Code AS CarManagerCode,CarManager.CarName,"
+ @"CarManager.CarModel,CarManager.BuyDate,CarManager.LastYearCheckDate,CarManager.Remark,CarManager.CompileMan,"
+ @"CarManager.CarModel,CarManager.BuyDate,CarManager.LastYearCheckDate,CarManager.Remark,CarManager.CompileMan,CarManager.InOutState,"
+ @"CarManager.CompileDate,CarManager.InsuranceDate,CarManager.States,"
+ @"(CASE WHEN CarManager.States = " + BLL.Const.State_0 + " OR CarManager.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN CarManager.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
+ @" FROM Administrative_CarManager AS CarManager "
@@ -59,6 +59,12 @@ namespace FineUIPro.Web.HSSE.Administrative
strSql += " AND CarManager.CarManagerCode LIKE @CarManagerCode ";
listStr.Add(new SqlParameter("@CarManagerCode", "%" + this.txtCarManagerCode.Text.Trim() + "%"));
}
string inOutState = this.ckInOutState.SelectedValue;
if (!string.IsNullOrWhiteSpace(inOutState))
{
strSql += " AND CarManager.InOutState = @InOutState ";
listStr.Add(new SqlParameter("@InOutState", this.ckInOutState.SelectedValue));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
@@ -78,7 +84,20 @@ namespace FineUIPro.Web.HSSE.Administrative
{
this.BindGrid();
}
/// <summary>
/// 车辆在场状态
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
protected string ConvertInOutState(object data)
{
string result = string.Empty;
if (data != null && !string.IsNullOrWhiteSpace(data.ToString()))
{
result = data.ToString() == "1" ? "在场" : "已退场";
}
return result;
}
/// <summary>
/// 改变索引事件
/// </summary>
@@ -216,9 +235,11 @@ namespace FineUIPro.Web.HSSE.Administrative
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
this.btnImport.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnCarOut.Hidden = false;
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
@@ -273,6 +294,10 @@ namespace FineUIPro.Web.HSSE.Administrative
{
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
}
else if (column.ColumnID == "InOutState")
{
html = (row.FindControl("lbInOutState") as AspNet.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
@@ -284,5 +309,56 @@ namespace FineUIPro.Web.HSSE.Administrative
return sb.ToString();
}
#endregion
#region 退
/// <summary>
/// 批量退场按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCarOut_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
int succ = 0;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var rows = BLL.CarManagerService.GetCarManagerById(rowID);
if (rows != null && rows.InOutState != "0")
{
rows.InOutState = "0";
BLL.CarManagerService.UpdateCarManager(rows);
succ++;
}
}
BindGrid();
ShowNotify("操作完成,已退场" + succ + "条", MessageBoxIcon.Success);
}
else
{
ShowNotify("请选择需要退场的车辆", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("CarManagerIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId), "导入"));
}
#endregion
}
}
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Administrative {
public partial class CarManager {
namespace FineUIPro.Web.HSSE.Administrative
{
public partial class CarManager
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtCarManagerCode 控件。
/// </summary>
@@ -65,7 +67,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarManagerCode;
/// <summary>
/// ckInOutState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList ckInOutState;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -74,7 +85,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnCarOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCarOut;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -83,7 +103,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -92,7 +121,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblNumber 控件。
/// </summary>
@@ -101,7 +130,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// lbInOutState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbInOutState;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -110,7 +148,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -119,7 +157,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@@ -128,7 +166,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -137,7 +175,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -146,7 +184,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
@@ -155,7 +193,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
@@ -45,6 +45,15 @@
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:RadioButtonList ID="rblInOutState" runat="server" Label="在场状态" LabelAlign="Right" Required="True" ShowRedStar="True" LabelWidth="120px">
<f:RadioItem Value="1" Text="在场" Selected="true" />
<f:RadioItem Value="0" Text="已退场" />
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" MaxLength="500"
@@ -62,6 +62,11 @@ namespace FineUIPro.Web.HSSE.Administrative
this.txtLastYearCheckDate.Text = string.Format("{0:yyyy-MM-dd}", carManager.LastYearCheckDate);
this.txtInsuranceDate.Text = string.Format("{0:yyyy-MM-dd}", carManager.InsuranceDate);
this.txtRemark.Text = carManager.Remark;
if (carManager.InOutState != null)
{
this.rblInOutState.SelectedValue = carManager.InOutState;
}
}
}
else
@@ -126,6 +131,7 @@ namespace FineUIPro.Web.HSSE.Administrative
InsuranceDate = Funs.GetNewDateTime(this.txtInsuranceDate.Text.Trim()),
Remark = this.txtRemark.Text.Trim(),
CompileMan = this.CurrUser.UserId,
InOutState = this.rblInOutState.SelectedValue,
CompileDate = DateTime.Now,
States = BLL.Const.State_0
};
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Administrative {
public partial class CarManagerEdit {
namespace FineUIPro.Web.HSSE.Administrative
{
public partial class CarManagerEdit
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtCarManagerCode 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarManagerCode;
/// <summary>
/// txtCarName 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarName;
/// <summary>
/// txtCarModel 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarModel;
/// <summary>
/// txtBuyDate 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtBuyDate;
/// <summary>
/// txtLastYearCheckDate 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtLastYearCheckDate;
/// <summary>
/// txtInsuranceDate 控件。
/// </summary>
@@ -92,7 +94,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtInsuranceDate;
/// <summary>
/// rblInOutState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblInOutState;
/// <summary>
/// txtRemark 控件。
/// </summary>
@@ -101,7 +112,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
@@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// ctlAuditFlow 控件。
/// </summary>
@@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnAttachUrl 控件。
/// </summary>
@@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnSubmit 控件。
/// </summary>
@@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// btnClose 控件。
/// </summary>
@@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
@@ -0,0 +1,80 @@
<%@ Page Language="C#" CodeBehind="CarManagerIn.aspx.cs" Inherits="FineUIPro.Web.HSSE.Administrative.CarManagerIn" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>导入</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" OnCustomEvent="PageManager1_CustomEvent" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" ToolTip="审核" ValidateForms="SimpleForm1" Text="审核"
OnClick="btnAudit_Click">
</f:Button>
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" ValidateForms="SimpleForm1" Text="导入"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" Text="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:FileUpload runat="server" ID="fuAttachUrl" EmptyText="选择要导入的文件" Label="选择要导入的文件"
LabelWidth="150px">
</f:FileUpload>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="gvErrorInfo" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="导入质量隐患" EnableCollapse="true"
runat="server" BoxFlex="1" AllowCellEditing="true" ClicksToEdit="2" AllowSorting="true"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="40px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# gvErrorInfo.PageIndex * gvErrorInfo.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:BoundField DataField="Row" HeaderText="错误行号" Width="50px">
</f:BoundField>
<f:BoundField DataField="Column" HeaderText="错误列" Width="100px">
</f:BoundField>
<f:BoundField DataField="Reason" HeaderText="错误类型" MinWidth="220px">
</f:BoundField>
</Columns>
</f:Grid>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:HiddenField ID="hdFileName" runat="server">
</f:HiddenField>
<f:HiddenField ID="hdCheckResult" runat="server">
</f:HiddenField>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblBottom" runat="server" Text="说明:1 导入模板为.xls后缀的EXCEL文件,有背景色列为必填项。2 数据导入完成,成功后自动返回,如果有不成功数据页面弹出提示框,列表显示导入成功数据。">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,520 @@
using BLL;
using FineUIPro.Web.BaseInfo;
using Model;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.HSSE.Administrative
{
public partial class CarManagerIn : PageBase
{
#region
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static List<Model.ErrorInfo> errorInfos = new List<Model.ErrorInfo>();
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
public static int Cols = 7;//列数
public static Dictionary<string, string> imgDic = new Dictionary<string, string>();
public static List<string> validStateStrings = new List<string> { "在场", "已退场" };
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = Request.Params["ProjectId"];
this.hdFileName.Text = string.Empty;
if (errorInfos != null)
{
errorInfos.Clear();
}
//if (this.CurrUser.UserId == Const.AdminId)
//{
// this.btnFastImport.Hidden = false;
//}
}
}
#region
/// <summary>
/// 下载模板按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
//这里要注意了,如果传过来的没有记录
PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", string.Empty,
MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"),
PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.CarManagerTemplateUrl;
string filePath = Const.CarManagerTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
#region
/// <summary>
/// 审核
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAudit_Click(object sender, EventArgs e)
{
try
{
if (this.fuAttachUrl.HasFile == false)
{
ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls")
{
ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning);
return;
}
if (errorInfos != null)
{
errorInfos.Clear();
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
string filePath = initFullPath + this.hdFileName.Text;
this.fuAttachUrl.PostedFile.SaveAs(filePath);
ImportXlsToData(rootPath + initPath + this.hdFileName.Text);
}
catch (Exception ex)
{
ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL(ds.Tables[0]);
hdCheckResult.Text = "1";
}
catch (Exception exc)
{
Response.Write(exc);
//return null;
// return dt;
}
finally
{
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集行数</param>
/// <returns></returns>
private bool AddDatasetToSQL(DataTable pds)
{
string result = string.Empty;
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
return false;
}
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.Administrative_CarManager
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var listCar = new List<string>();
for (int i = 0; i < ir; i++)
{
string row0 = pds.Rows[i][0].ToString();
if (string.IsNullOrEmpty(row0))
{
result += (i + 2).ToString() + "," + "车牌号" + "," + "此项为必填项!" + "|";
}
else
{
var u = oldViewInfos.Where(x => x.CarName == row0).FirstOrDefault();
if (u != null)
{
result += (i + 2).ToString() + "," + "车牌号" + "," + "系统中已存在车牌号[" + row0 + "]" + "|";
}
else
{
if (listCar.Where(x => x == row0).Any())
{
result += (i + 2).ToString() + "," + "车牌号" + "," + "导入数据中已存在车牌号[" + row0 + "]" + "|";
}
else
{
listCar.Add(row0);
}
}
}
string row2 = pds.Rows[i][2].ToString();
if (!string.IsNullOrEmpty(row2))
{
try
{
DateTime date = Convert.ToDateTime(row2.Trim());
}
catch (Exception)
{
result += (i + 2).ToString() + "," + "购买日期" + "," + "[" + row2 + "]错误!" + "|";
}
}
string row3 = pds.Rows[i][3].ToString();
if (!string.IsNullOrEmpty(row3))
{
try
{
DateTime date = Convert.ToDateTime(row3.Trim());
}
catch (Exception)
{
result += (i + 2).ToString() + "," + "年检有效期" + "," + "[" + row3 + "]错误!" + "|";
}
}
string row4 = pds.Rows[i][4].ToString();
if (!string.IsNullOrEmpty(row4))
{
try
{
DateTime date = Convert.ToDateTime(row4.Trim());
}
catch (Exception)
{
result += (i + 2).ToString() + "," + "保险有效期" + "," + "[" + row4 + "]错误!" + "|";
}
}
string row5 = pds.Rows[i][5].ToString();
if (string.IsNullOrEmpty(row5))
{
result += (i + 2).ToString() + "," + "在场状态" + "," + "此项为必填项!" + "|";
}
else
{
if (!validStateStrings.Any(x => x == row5))
{
result += (i + 2).ToString() + "," + "在场状态" + "," + "在场状态只能是[在场/已出场]!" + "|";
}
}
}
if (!string.IsNullOrEmpty(result))
{
result = result.Substring(0, result.LastIndexOf("|"));
}
errorInfos.Clear();
if (!string.IsNullOrEmpty(result))
{
string results = result;
List<string> errorInfoList = results.Split('|').ToList();
foreach (var item in errorInfoList)
{
string[] errors = item.Split(',');
Model.ErrorInfo errorInfo = new Model.ErrorInfo();
errorInfo.Row = errors[0];
errorInfo.Column = errors[1];
errorInfo.Reason = errors[2];
errorInfos.Add(errorInfo);
}
if (errorInfos.Count > 0)
{
this.gvErrorInfo.DataSource = errorInfos;
this.gvErrorInfo.DataBind();
}
}
else
{
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
#region
/// <summary>
/// 导入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(hdCheckResult.Text))
{
if (errorInfos.Count <= 0)
{
string rootPath = Server.MapPath("~/");
ImportXlsToData2(rootPath + initPath + this.hdFileName.Text);
hdCheckResult.Text = string.Empty;
ShowNotify("导入成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning);
}
}
#region Excel提取数据
/// <summary>
/// 从Excel提取数据--》Dataset
/// </summary>
/// <param name="filename">Excel文件路径名</param>
private void ImportXlsToData2(string fileName)
{
try
{
string oleDBConnString = String.Empty;
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
oleDBConnString += "Data Source=";
oleDBConnString += fileName;
oleDBConnString += ";Extended Properties=Excel 8.0;";
OleDbConnection oleDBConn = null;
OleDbDataAdapter oleAdMaster = null;
DataTable m_tableName = new DataTable();
DataSet ds = new DataSet();
oleDBConn = new OleDbConnection(oleDBConnString);
oleDBConn.Open();
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (m_tableName != null && m_tableName.Rows.Count > 0)
{
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
}
string sqlMaster;
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
oleAdMaster.Fill(ds, "m_tableName");
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0]);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region Dataset的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
private bool AddDatasetToSQL2(DataTable pds)
{
int ic, ir;
ic = pds.Columns.Count;
if (ic < Cols)
{
ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning);
}
string result = string.Empty;
ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
var oldViewInfos = from x in Funs.DB.Administrative_CarManager
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var cns = from x in Funs.DB.Base_CNProfessional select x;
for (int i = 0; i < ir; i++)
{
var oldViewInfo = oldViewInfos.Where(x => x.CarName == pds.Rows[i][0].ToString()).FirstOrDefault();
if (oldViewInfo == null)
{
Model.Administrative_CarManager des = new Model.Administrative_CarManager();
des.CarManagerId = SQLHelper.GetNewID(typeof(Model.Administrative_CarManager));
des.ProjectId = this.CurrUser.LoginProjectId;
des.CarManagerCode = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.CarManagerMenuId, this.ProjectId, this.CurrUser.UnitId);
des.CarName = pds.Rows[i][0].ToString().Trim();
des.CarModel = pds.Rows[i][1].ToString().Trim();
string row2 = pds.Rows[i][2].ToString();
if (!string.IsNullOrEmpty(row2))
{
try
{
des.BuyDate = Convert.ToDateTime(row2.Trim());
}
catch (Exception)
{
}
}
string row3 = pds.Rows[i][3].ToString();
if (!string.IsNullOrEmpty(row3))
{
try
{
des.LastYearCheckDate = Convert.ToDateTime(row3.Trim());
}
catch (Exception)
{
}
}
string row4 = pds.Rows[i][4].ToString();
if (!string.IsNullOrEmpty(row4))
{
try
{
des.InsuranceDate = Convert.ToDateTime(row4.Trim());
}
catch (Exception)
{
}
}
string row5 = pds.Rows[i][5].ToString().Trim();
switch (row5)
{
case "在场":
des.InOutState = "1"; break;
case "已退场":
des.InOutState = "0"; break;
default:
des.InOutState = null; break;
}
des.Remark = pds.Rows[i][6].ToString().Trim();
BLL.CarManagerService.AddCarManager(des);
}
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
return true;
}
#endregion
#endregion
}
}
@@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Administrative
{
public partial class CarManagerIn
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnAudit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fuAttachUrl;
/// <summary>
/// gvErrorInfo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvErrorInfo;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// hdFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// hdCheckResult 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdCheckResult;
/// <summary>
/// lblBottom 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblBottom;
}
}
@@ -46,6 +46,14 @@
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:RadioButtonList ID="rblInOutState" runat="server" Label="在场状态" LabelAlign="Right" Readonly="true" LabelWidth="120px">
<f:RadioItem Value="1" Text="在场" Selected="true" />
<f:RadioItem Value="0" Text="已退场" />
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" Readonly="true"
@@ -45,7 +45,12 @@ namespace FineUIPro.Web.HSSE.Administrative
this.txtBuyDate.Text = string.Format("{0:yyyy-MM-dd}", carManager.BuyDate);
this.txtLastYearCheckDate.Text = string.Format("{0:yyyy-MM-dd}", carManager.LastYearCheckDate);
this.txtInsuranceDate.Text = string.Format("{0:yyyy-MM-dd}", carManager.InsuranceDate);
this.txtRemark.Text = carManager.Remark;
this.txtRemark.Text = carManager.Remark;
if (carManager.InOutState != null)
{
this.rblInOutState.SelectedValue = carManager.InOutState;
}
}
}
///初始化审核菜单
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Administrative {
public partial class CarManagerView {
namespace FineUIPro.Web.HSSE.Administrative
{
public partial class CarManagerView
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtCarManagerCode 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarManagerCode;
/// <summary>
/// txtCarName 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarName;
/// <summary>
/// txtCarModel 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCarModel;
/// <summary>
/// txtBuyDate 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBuyDate;
/// <summary>
/// txtLastYearCheckDate 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtLastYearCheckDate;
/// <summary>
/// txtInsuranceDate 控件。
/// </summary>
@@ -92,7 +94,16 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtInsuranceDate;
/// <summary>
/// rblInOutState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblInOutState;
/// <summary>
/// txtRemark 控件。
/// </summary>
@@ -101,7 +112,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
@@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// ctlAuditFlow 控件。
/// </summary>
@@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.Controls.FlowOperateControl ctlAuditFlow;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnAttachUrl 控件。
/// </summary>
@@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnClose 控件。
/// </summary>
@@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.Administrative {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>