20220601 修改Global调用定时器、修改考勤导入列表及导入方法

This commit is contained in:
2022-06-01 14:27:42 +08:00
parent d33b007348
commit 31a7840cda
15 changed files with 365 additions and 210 deletions
@@ -69,12 +69,7 @@
<f:RenderField Width="150px" ColumnID="IntoOutTime" DataField="IntoOutTime" SortField="IntoOutTime"
HeaderText="出入现场时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%-- <f:TemplateField ColumnID="tfAddress" Width="130px" HeaderText="进出地点" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lblAddress" runat="server" Text='<%# Bind("Address") %>' ToolTip='<%#Bind("Address") %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>--%>
<f:TemplateField ColumnID="tfWorkAreaName" Width="170px" HeaderText="单位工程" HeaderTextAlign="Center" TextAlign="Left">
<f:TemplateField ColumnID="tfWorkAreaName" Width="170px" HeaderText="单位工程" HeaderTextAlign="Center" TextAlign="Left" Hidden="true">
<ItemTemplate>
<asp:Label ID="lblWorkAreaName" runat="server" Text='<%# Bind("WorkAreaName") %>' ToolTip='<%#Bind("WorkAreaName") %>'></asp:Label>
</ItemTemplate>
@@ -1,8 +1,5 @@
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;
@@ -26,16 +23,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
ViewState["CheckingId"] = value;
}
}
public int RowCount
public string ProjectId
{
get
{
return (int)ViewState["RowCount"];
return (string)ViewState["ProjectId"];
}
set
{
ViewState["RowCount"] = value;
ViewState["ProjectId"] = value;
}
}
#endregion
@@ -51,14 +47,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ProjectId = this.CurrUser.LoginProjectId;
////权限按钮方法
this.GetButtonPower();
btnNew.OnClientClick = Window1.GetShowReference("PersonInfoEdit.aspx") + "return false;";
this.btnMenuDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("请至少选择一项!");
this.btnMenuDelete.ConfirmText = String.Format("你确定要删除选中的&nbsp;<b><script>{0}</script></b>&nbsp;行数据吗?", Grid1.GetSelectedCountReference());
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
UnitService.InitUnitDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, true);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId))
UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId , true);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId , this.CurrUser.UnitId))
{
this.drpUnit.SelectedValue = this.CurrUser.UnitId;
this.drpUnit.Enabled = false;
@@ -75,48 +72,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT CheckingId,CardNo,ProjectId,IdentityCard,WorkAreaId,IntoOutTime,IntoOut,Address,WorkAreaName,PersonName,UnitId,UnitName,States
FROM dbo.View_SitePerson_Checking where 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND ProjectId = @ProjectId";
if (!string.IsNullOrEmpty(Request.Params["projectId"])) ///是否文件柜查看页面传项目值
{
listStr.Add(new SqlParameter("@ProjectId", Request.Params["projectId"]));
strSql += " AND States = @States"; ///状态为已完成
listStr.Add(new SqlParameter("@States", BLL.Const.State_2));
}
else
{
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
}
if (this.drpUnit.SelectedValue != Const._Null)
{
strSql += " AND UnitId = @UnitId";
listStr.Add(new SqlParameter("@UnitId", this.drpUnit.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text))
{
strSql += " AND PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtStartDate.Text))
{
strSql += " AND IntoOutTime >= @StartDate";
listStr.Add(new SqlParameter("@StartDate", this.txtStartDate.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndDate.Text))
{
strSql += " AND IntoOutTime < @EndDate";
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.Text.Trim()));
}
strSql += " order by PersonName";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
this.RowCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
var getData = SitePerson_CheckingService.getListData(this.ProjectId , this.drpUnit.SelectedValue, this.txtPersonName.Text.Trim(),
this.txtStartDate.Text, this.txtEndDate.Text, Grid1);
Grid1.RecordCount = SitePerson_CheckingService.count;
Grid1.DataSource = getData;
Grid1.DataBind();
}
#endregion
@@ -330,7 +289,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PersonInfoMenuId);
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId , this.CurrUser.UserId, BLL.Const.PersonInfoMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
@@ -362,7 +321,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
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.RowCount;
this.Grid1.PageSize = this.Grid1.RecordCount;
BindGrid();
Response.Write(GetGridTableHtml1(Grid1));
Response.End();
@@ -248,6 +248,13 @@ namespace FineUIPro.Web.HSSE.SitePerson
if (person != null)
{
personInfo.IdentityCard = person.IdentityCard;
personInfo.CardNo = person.CardNo;
personInfo.PersonName = person.PersonName;
personInfo.UnitId = person.UnitId;
if (!string.IsNullOrEmpty(personInfo.UnitId))
{
personInfo.UnitName = UnitService.GetUnitNameByUnitId(person.UnitId);
}
if (!string.IsNullOrEmpty(person.WorkAreaId))
{
personInfo.WorkAreaId = person.WorkAreaId;
@@ -259,6 +266,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
string time = string.IsNullOrEmpty(this.txtTime2.Text) ? string.Format("{0:HH:mm:ss}", DateTime.Now) : this.txtTime2.Text.Trim();
personInfo.IntoOutTime = Funs.GetNewDateTimeOrNow(date + " " + time);
personInfo.IntoOut = this.drpType.SelectedValue.Trim();
if (!string.IsNullOrEmpty(CheckingId))
{
personInfo.CheckingId = CheckingId;
@@ -273,32 +281,6 @@ namespace FineUIPro.Web.HSSE.SitePerson
BLL.LogService.AddSys_Log(this.CurrUser, personInfo.CardNo, personInfo.CheckingId, BLL.Const.PersonalInfoMenuId, BLL.Const.BtnDelete);
}
}
//Model.SitePerson_Checking personInfo = new Model.SitePerson_Checking
//{
// PersonId = this.drpPersonId.Value,
// IdentityCard = this.txtIdCard.Text,
// ProjectId = this.ProjectId,
// WorkAreaName = this.txtWorkArea.Text.Trim(),
// Address = this.txtAddress.Text.Trim()
//};
//string date = string.IsNullOrEmpty(this.txtTime.Text) ? string.Format("{0:yyyy-MM-dd}", DateTime.Now) : this.txtTime.Text.Trim();
//string time = string.IsNullOrEmpty(this.txtTime2.Text) ? string.Format("{0:HH:mm:ss}", DateTime.Now) : this.txtTime2.Text.Trim();
//personInfo.IntoOutTime = Funs.GetNewDateTimeOrNow(date + " " + time);
//personInfo.IntoOut = this.drpType.SelectedValue.Trim();
//if (!string.IsNullOrEmpty(CheckingId))
//{
// personInfo.CheckingId = CheckingId;
// BLL.SitePerson_CheckingService.UpdatePersonInfo(personInfo);
// BLL.LogService.AddSys_Log(this.CurrUser, personInfo.CardNo, personInfo.CheckingId, BLL.Const.PersonalInfoMenuId, BLL.Const.BtnModify);
//}
//else
//{
// this.CheckingId = SQLHelper.GetNewID();
// personInfo.CheckingId = this.CheckingId;
// BLL.SitePerson_CheckingService.AddPersonInfo(personInfo);
// BLL.LogService.AddSys_Log(this.CurrUser, personInfo.CardNo, personInfo.CheckingId, BLL.Const.PersonalInfoMenuId, BLL.Const.BtnDelete);
//}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
@@ -17,16 +17,16 @@
<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"
<f:Button ID="btnAudit" Icon="ApplicationEdit" runat="server" Text="审核" ValidateForms="SimpleForm1"
OnClick="btnAudit_Click">
</f:Button>
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" ToolTip="导入" ValidateForms="SimpleForm1"
<f:Button ID="btnImport" Icon="ApplicationGet" runat="server" Text="导入并保存" ValidateForms="SimpleForm1"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
OnClick="btnSave_Click" Hidden="true">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
</Items>
</f:Toolbar>
@@ -324,8 +324,11 @@ namespace FineUIPro.Web.HSSE.SitePerson
oleAdMaster.Dispose();
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0]);
var isok = AddDatasetToSQL2(ds.Tables[0]);
if (isok)
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
catch (Exception ex)
{
@@ -333,10 +336,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
}
}
#endregion
/// <summary>
/// 人员考勤集合
/// </summary>
public static List<Model.View_SitePerson_Checking> viewCheckings = new List<Model.View_SitePerson_Checking>();
///// <summary>
///// 人员考勤集合
///// </summary>
//public static List<Model.View_SitePerson_Checking> viewCheckings = new List<Model.View_SitePerson_Checking>();
#region Dataset的数据导入数据库
/// <summary>
@@ -347,7 +350,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// <returns></returns>
private bool AddDatasetToSQL2(DataTable pds)
{
viewCheckings.Clear();
List<Model.SitePerson_Checking> newCheckings = new List<Model.SitePerson_Checking>();
int ir = pds.Rows.Count;
if (pds != null && ir > 0)
{
@@ -363,7 +366,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
string col4 = pds.Rows[i][4].ToString().Trim();
if (!string.IsNullOrEmpty(col2) && !string.IsNullOrEmpty(col3) && !string.IsNullOrEmpty(col4))
{
Model.View_SitePerson_Checking checking = new Model.View_SitePerson_Checking
Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
{
UnitName = col0,
PersonName = col1,
@@ -371,27 +374,47 @@ namespace FineUIPro.Web.HSSE.SitePerson
IntoOut = col3 == "进" ? "1" : "0",
IntoOutTime = Convert.ToDateTime(col4)
};
var person = sitePersons.FirstOrDefault(x => x.IdentityCard == checking.IdentityCard);
var person = sitePersons.FirstOrDefault(x => x.IdentityCard == newChecking.IdentityCard);
if (person != null)
{
checking.PersonId = person.PersonId;
checking.ProjectId = person.ProjectId;
checking.CheckingId = SQLHelper.GetNewID();
viewCheckings.Add(checking);
newChecking.ProjectId = person.ProjectId;
newChecking.UnitId = person.UnitId;
newChecking.PersonId = person.PersonId;
newChecking.CardNo = person.CardNo;
newChecking.PersonName = person.PersonName;
newChecking.WorkAreaId = person.WorkAreaId;
if (!string.IsNullOrEmpty(person.WorkAreaId))
{
newChecking.WorkAreaName = UnitWorkService.GetUnitWorkName(person.WorkAreaId);
}
newChecking.CheckingId = SQLHelper.GetNewID();
newCheckings.Add(newChecking);
BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
}
}
}
if (viewCheckings.Count > 0)
if (newCheckings.Count > 0)
{
this.Grid1.Hidden = false;
this.Grid1.DataSource = viewCheckings;
this.Grid1.DataSource = newCheckings;
this.Grid1.DataBind();
ShowNotify("导入成功!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("导入数据为空!", MessageBoxIcon.Warning);
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
string filePath = initFullPath + this.hdFileName.Text;
if (filePath != string.Empty && System.IO.File.Exists(filePath))
{
File.Delete(filePath);//删除上传的XLS文件
}
return true;
}
#endregion
@@ -405,53 +428,39 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(errorInfos))
{
foreach (var item in viewCheckings)
{
var getCheck = Funs.DB.SitePerson_Checking.FirstOrDefault(x => x.CheckingId == item.CheckingId);
if (getCheck == null)
{
Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
{
CheckingId = item.CheckingId,
ProjectId = item.ProjectId,
IdentityCard = item.IdentityCard,
IntoOutTime = item.IntoOutTime,
IntoOut = item.IntoOut,
PersonId = item.PersonId
};
BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
}
}
//int a = viewCheckings.Count();
//for (int i = 0; i < a; i++)
//{
// Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
// {
// CheckingId = viewCheckings[i].CheckingId,
// ProjectId = viewCheckings[i].ProjectId,
// IdentityCard = viewCheckings[i].IdentityCard,
// IntoOutTime = viewCheckings[i].IntoOutTime,
// IntoOut = viewCheckings[i].IntoOut,
// PersonId = viewCheckings[i].PersonId
// };
// BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
//}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
string filePath = initFullPath + this.hdFileName.Text;
if (filePath != string.Empty && System.IO.File.Exists(filePath))
{
File.Delete(filePath);//删除上传的XLS文件
}
ShowNotify("导入成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning);
}
//if (string.IsNullOrEmpty(errorInfos))
//{
// foreach (var item in viewCheckings)
// {
// var getCheck = Funs.DB.SitePerson_Checking.FirstOrDefault(x => x.CheckingId == item.CheckingId);
// if (getCheck == null)
// {
// Model.SitePerson_Checking newChecking = new Model.SitePerson_Checking
// {
// CheckingId = item.CheckingId,
// ProjectId = item.ProjectId,
// IdentityCard = item.IdentityCard,
// IntoOutTime = item.IntoOutTime,
// IntoOut = item.IntoOut,
// PersonId = item.PersonId
// };
// BLL.SitePerson_CheckingService.AddPersonInfo(newChecking);
// }
// }
// string rootPath = Server.MapPath("~/");
// string initFullPath = rootPath + initPath;
// string filePath = initFullPath + this.hdFileName.Text;
// if (filePath != string.Empty && System.IO.File.Exists(filePath))
// {
// File.Delete(filePath);//删除上传的XLS文件
// }
// ShowNotify("导入成功!", MessageBoxIcon.Success);
// PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
//}
//else
//{
// Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning);
//}
}
#endregion