This commit is contained in:
parent
6679a6506d
commit
24fffc5678
|
|
@ -1,3 +1,9 @@
|
||||||
|
DROP VIEW IF EXISTS View_EmployInOutRecord;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---考勤预警表
|
---考勤预警表
|
||||||
CREATE TABLE [dbo].[SGManPower_WarningResult] (
|
CREATE TABLE [dbo].[SGManPower_WarningResult] (
|
||||||
[WarningId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
[WarningId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||||
|
|
|
||||||
|
|
@ -542,13 +542,15 @@ namespace BLL
|
||||||
|
|
||||||
private static IEnumerable<ToDoItem> GetWarningItemsFromTable(string projectId)
|
private static IEnumerable<ToDoItem> GetWarningItemsFromTable(string projectId)
|
||||||
{
|
{
|
||||||
var strSql = @"SELECT * FROM SGManPower_WarningResult
|
var strSql = @"SELECT UnitId,WarningType,SUM(PlanQuantity) as SumPlanQuantity, SUM(ActualQuantity) as SumActualQuantity FROM SGManPower_WarningResult
|
||||||
WHERE ProjectId = @ProjectId ";
|
WHERE ProjectId = @ProjectId ";
|
||||||
|
|
||||||
var parameters = new List<System.Data.SqlClient.SqlParameter>
|
var parameters = new List<System.Data.SqlClient.SqlParameter>
|
||||||
{
|
{
|
||||||
new System.Data.SqlClient.SqlParameter("@ProjectId", projectId)
|
new System.Data.SqlClient.SqlParameter("@ProjectId", projectId)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
strSql += " GROUP BY UnitId,WarningType ";
|
||||||
|
|
||||||
var dt = SQLHelper.GetDataTableRunText(strSql, parameters.ToArray());
|
var dt = SQLHelper.GetDataTableRunText(strSql, parameters.ToArray());
|
||||||
var warningItems = new List<ToDoItem>();
|
var warningItems = new List<ToDoItem>();
|
||||||
|
|
@ -557,26 +559,209 @@ namespace BLL
|
||||||
{
|
{
|
||||||
var warningType = row["WarningType"].ToString();
|
var warningType = row["WarningType"].ToString();
|
||||||
var unitId = row["UnitId"].ToString();
|
var unitId = row["UnitId"].ToString();
|
||||||
var workPostId = row["WorkPostId"].ToString();
|
// var workPostId = row["WorkPostId"].ToString();
|
||||||
var unitWorkId = row["UnitWorkId"].ToString();
|
// var unitWorkId = row["UnitWorkId"].ToString();
|
||||||
var startDate = Convert.ToDateTime(row["StartDate"]);
|
// var startDate = Convert.ToDateTime(row["StartDate"]);
|
||||||
var endDate = Convert.ToDateTime(row["EndDate"]);
|
// var endDate = Convert.ToDateTime(row["EndDate"]);
|
||||||
var planQuantity = Convert.ToInt32(row["PlanQuantity"]);
|
var planQuantity = Convert.ToInt32(row["SumPlanQuantity"]);
|
||||||
var actualQuantity = Convert.ToInt32(row["ActualQuantity"]);
|
var actualQuantity = Convert.ToInt32(row["SumActualQuantity"]);
|
||||||
|
|
||||||
if (warningType == "Shortage")
|
if (warningType == "Shortage")
|
||||||
{
|
{
|
||||||
warningItems.AddRange(SendManagerWarning(unitId, projectId, workPostId, unitWorkId,
|
warningItems.AddRange(SendManagerWarning(unitId, projectId,warningType, planQuantity, actualQuantity));
|
||||||
startDate, endDate, planQuantity, actualQuantity));
|
|
||||||
}
|
}
|
||||||
else if (warningType == "Deviation")
|
else if (warningType == "Deviation")
|
||||||
{
|
{
|
||||||
warningItems.AddRange(SendWorkerDeviationWarning(unitId, projectId, workPostId, unitWorkId,
|
warningItems.AddRange(SendWorkerDeviationWarning(unitId, projectId,warningType, planQuantity, actualQuantity));
|
||||||
startDate, endDate, planQuantity, actualQuantity));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return warningItems;
|
return warningItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static List<ToDoItem> SendManagerWarning(string unitId, string projectId,string warningType, int? quantity, int num)
|
||||||
|
{
|
||||||
|
// 发送预警信息
|
||||||
|
var toDoItems = new List<ToDoItem>();
|
||||||
|
|
||||||
|
var projectUnits = (from x in Funs.DB.Project_ProjectUnit
|
||||||
|
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||||
|
where x.UnitId == unitId
|
||||||
|
select new { x.UnitId, y.UnitName, x.UnitType }).FirstOrDefault();
|
||||||
|
if (projectUnits != null)
|
||||||
|
{
|
||||||
|
List<string> toUserIds = new List<string>();
|
||||||
|
|
||||||
|
// 施工单位人员推送至施工单位项目经理和总包单位施工经理
|
||||||
|
if (projectUnits.UnitType == Const.ProjectUnitType_2) // 施工分包单位
|
||||||
|
{
|
||||||
|
// 获取施工单位项目经理
|
||||||
|
var constructionManagers = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true &&
|
||||||
|
x.RoleId.Contains(Const.ProjectManager)
|
||||||
|
select x).ToList();
|
||||||
|
|
||||||
|
if (constructionManagers.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in constructionManagers)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取总包单位施工经理
|
||||||
|
var generalContractorUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(pu =>
|
||||||
|
pu.ProjectId == projectId && pu.UnitType == Const.ProjectUnitType_1); // 总包单位
|
||||||
|
|
||||||
|
if (generalContractorUnit != null)
|
||||||
|
{
|
||||||
|
var constructionManagerGCs = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == generalContractorUnit.UnitId &&
|
||||||
|
x.IsPost == true && x.RoleId.Contains(Const.ConstructionManager)
|
||||||
|
select x).ToList();
|
||||||
|
if (constructionManagerGCs.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in constructionManagerGCs)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 总包单位人员推送到总包单位施工经理和项目经理
|
||||||
|
else if (projectUnits.UnitType == Const.ProjectUnitType_1) // 总包单位
|
||||||
|
{
|
||||||
|
// 获取总包单位施工经理
|
||||||
|
var constructionManagers = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true &&
|
||||||
|
x.RoleId.Contains(Const.ConstructionManager)
|
||||||
|
select x).ToList();
|
||||||
|
if (constructionManagers.Count() > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in constructionManagers)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取总包单位项目经理
|
||||||
|
var projectManagers = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true &&
|
||||||
|
x.RoleId.Contains(Const.ProjectManager)
|
||||||
|
select x).ToList();
|
||||||
|
if (projectManagers.Count() > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in projectManagers)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string warningContent = $"{projectUnits.UnitName}单位计划投入人力{quantity}人,实际考勤为{num}人。";
|
||||||
|
|
||||||
|
string urlParams = "JDGL/SGManPower/SGWarningDetails.aspx?projectId=" + projectId;
|
||||||
|
// 添加单位参数
|
||||||
|
if (!string.IsNullOrEmpty(warningType))
|
||||||
|
{
|
||||||
|
urlParams += "&warningType=" + warningType;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var userId in toUserIds)
|
||||||
|
{
|
||||||
|
Model.ToDoItem toDoItem = new Model.ToDoItem();
|
||||||
|
toDoItem.DataId = SQLHelper.GetNewID(typeof(Model.ToDoItem));
|
||||||
|
toDoItem.MenuId = "";
|
||||||
|
toDoItem.MenuName = "管理人员到岗预警";
|
||||||
|
toDoItem.ProjectCode = "";
|
||||||
|
toDoItem.Content = warningContent;
|
||||||
|
toDoItem.UserId = userId;
|
||||||
|
toDoItem.UserName = UserService.GetUserNameByUserId(userId);
|
||||||
|
toDoItem.DataTime = DateTime.Now;
|
||||||
|
toDoItem.DataTimeStr = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
|
toDoItem.PCUrl = urlParams;
|
||||||
|
toDoItems.Add(toDoItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return toDoItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static List<ToDoItem> SendWorkerDeviationWarning(string unitId, string projectId,string warningType, int? quantity, int num)
|
||||||
|
{
|
||||||
|
// 发送预警信息
|
||||||
|
var toDoItems = new List<ToDoItem>();
|
||||||
|
List<string> toUserIds = new List<string>();
|
||||||
|
|
||||||
|
|
||||||
|
var projectUnits = (from x in Funs.DB.Project_ProjectUnit
|
||||||
|
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||||
|
where x.UnitId == unitId
|
||||||
|
select new { x.UnitId, y.UnitName, x.UnitType }).FirstOrDefault();
|
||||||
|
|
||||||
|
// 获取施工单位项目经理
|
||||||
|
var constructionManagers = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true &&
|
||||||
|
x.RoleId.Contains(Const.ProjectManager)
|
||||||
|
select x).ToList();
|
||||||
|
|
||||||
|
if (constructionManagers.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in constructionManagers)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取总包单位施工经理
|
||||||
|
var generalContractorUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(pu =>
|
||||||
|
pu.ProjectId == projectId && pu.UnitType == Const.ProjectUnitType_1); // 总包单位
|
||||||
|
|
||||||
|
if (generalContractorUnit != null)
|
||||||
|
{
|
||||||
|
var constructionManagerGCs = (from x in Funs.DB.Project_ProjectUser
|
||||||
|
where x.ProjectId == projectId && x.UnitId == generalContractorUnit.UnitId &&
|
||||||
|
x.IsPost == true && x.RoleId.Contains(Const.ConstructionManager)
|
||||||
|
select x).ToList();
|
||||||
|
if (constructionManagerGCs.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var projectUser in constructionManagerGCs)
|
||||||
|
{
|
||||||
|
toUserIds.Add(projectUser.UserId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建预警信息内容
|
||||||
|
string warningContent = $"{projectUnits.UnitName}单位计划投入人力{quantity}人,实际考勤为{num}人。";
|
||||||
|
|
||||||
|
string urlParams = "JDGL/SGManPower/SGWarningDetails.aspx?projectId=" + projectId;
|
||||||
|
// 添加单位参数
|
||||||
|
if (!string.IsNullOrEmpty(warningType))
|
||||||
|
{
|
||||||
|
urlParams += "&warningType=" + warningType;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送预警信息
|
||||||
|
foreach (var userId in toUserIds)
|
||||||
|
{
|
||||||
|
Model.ToDoItem toDoItem = new Model.ToDoItem();
|
||||||
|
toDoItem.DataId = SQLHelper.GetNewID(typeof(Model.ToDoItem));
|
||||||
|
toDoItem.MenuId = "";
|
||||||
|
toDoItem.MenuName = "人力资源偏差预警";
|
||||||
|
toDoItem.ProjectCode = "";
|
||||||
|
toDoItem.Content = warningContent;
|
||||||
|
toDoItem.UserId = userId;
|
||||||
|
toDoItem.UserName = UserService.GetUserNameByUserId(userId);
|
||||||
|
toDoItem.DataTime = DateTime.Now;
|
||||||
|
toDoItem.DataTimeStr = DateTime.Now.ToString("yyyy-MM-dd");
|
||||||
|
toDoItem.PCUrl = urlParams;
|
||||||
|
toDoItems.Add(toDoItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
return toDoItems;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -10,75 +10,80 @@
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
|
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
|
||||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false"
|
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||||
AutoScroll="true" BodyPadding="10px" runat="server" RedStarPosition="BeforeText"
|
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||||
LabelAlign="Right">
|
<Items>
|
||||||
<Rows>
|
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="人力预警" EnableCollapse="true"
|
||||||
|
runat="server" BoxFlex="1" DataKeyNames="WarningId" EnableColumnLines="true" DataIDField="WarningId"
|
||||||
|
AllowSorting="true" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
|
||||||
|
IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange" ForceFit="true"
|
||||||
|
EnableRowDoubleClickEvent="true" EnableTextSelection="True">
|
||||||
|
<Columns>
|
||||||
|
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
|
||||||
|
TextAlign="Center"/>
|
||||||
|
<f:TemplateField Width="260px" HeaderText="单位" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfUnitName">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="lbUnitName" runat="server" Text='<%#ConvertUnitName(Eval("UnitId")) %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</f:TemplateField>
|
||||||
|
<f:TemplateField Width="150px" HeaderText="装置" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfUnitWorkName">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="lbUnitWorkName" runat="server" Text='<%#ConvertUnitWorkName(Eval("UnitWorkId")) %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</f:TemplateField>
|
||||||
|
<f:TemplateField Width="150px" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfWorkPostName">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="lbtfWorkPostName" runat="server" Text='<%#ConvertWorkPostName(Eval("WorkPostId")) %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</f:TemplateField>
|
||||||
|
<f:RenderField Width="100px" ColumnID="PlanQuantity" DataField="PlanQuantity"
|
||||||
|
HeaderText="计划人力" HeaderTextAlign="Center" TextAlign="Left">
|
||||||
|
</f:RenderField>
|
||||||
|
<f:RenderField Width="100px" ColumnID="ActualQuantity" DataField="ActualQuantity"
|
||||||
|
HeaderText="实际考勤" HeaderTextAlign="Center" TextAlign="Left">
|
||||||
|
</f:RenderField>
|
||||||
|
<%-- <f:TemplateField Width="100px" HeaderText="偏差" HeaderTextAlign="Center" TextAlign="Left" ColumnID="Bias"> --%>
|
||||||
|
<%-- <ItemTemplate> --%>
|
||||||
|
<%-- <asp:Label ID="lbBias" runat="server" Text='<%#ConvertBiasPercent(Eval("Bias")) %>'></asp:Label> --%>
|
||||||
|
<%-- </ItemTemplate> --%>
|
||||||
|
<%-- </f:TemplateField> --%>
|
||||||
|
|
||||||
<f:FormRow>
|
</Columns>
|
||||||
<Items>
|
<Listeners>
|
||||||
<f:Label ID="lProject" runat="server" Label="项目" LabelWidth="150px">
|
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu"/>
|
||||||
</f:Label>
|
</Listeners>
|
||||||
</Items>
|
<PageItems>
|
||||||
</f:FormRow>
|
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||||
|
</f:ToolbarSeparator>
|
||||||
<f:FormRow>
|
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||||
<Items>
|
</f:ToolbarText>
|
||||||
<f:Label ID="lUnit" runat="server" Label="单位" LabelWidth="150px">
|
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||||
</f:Label>
|
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||||
</Items>
|
</f:DropDownList>
|
||||||
</f:FormRow>
|
</PageItems>
|
||||||
|
</f:Grid>
|
||||||
<f:FormRow>
|
</Items>
|
||||||
<Items>
|
</f:Panel>
|
||||||
<f:Label ID="lUnitWork" runat="server" Label="装置" LabelWidth="150px">
|
<f:Window ID="Window1" Title="编辑培训计划" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||||
</f:Label>
|
Target="Parent" EnableResize="false" runat="server" IsModal="true"
|
||||||
</Items>
|
Width="1000px" Height="600px">
|
||||||
</f:FormRow>
|
</f:Window>
|
||||||
<f:FormRow>
|
<f:Menu ID="Menu1" runat="server">
|
||||||
<Items>
|
<f:MenuButton ID="btnMenuView" OnClick="btnMenuView_Click" EnablePostBack="true"
|
||||||
<f:Label ID="lWorkPost" runat="server" Label="岗位" LabelWidth="150px" >
|
runat="server" Text="查看" Icon="Find">
|
||||||
</f:Label>
|
</f:MenuButton>
|
||||||
</Items>
|
</f:Menu>
|
||||||
</f:FormRow>
|
|
||||||
|
|
||||||
<f:FormRow>
|
|
||||||
<Items>
|
|
||||||
<f:Label ID="lPlanDate" runat="server" Label="时间" LabelAlign="Right" LabelWidth="150px">
|
|
||||||
</f:Label>
|
|
||||||
</Items>
|
|
||||||
</f:FormRow>
|
|
||||||
|
|
||||||
<%--<f:FormRow>
|
|
||||||
<Items>
|
|
||||||
<f:Label ID="lVersion" runat="server" Label="计划版本" LabelAlign="Right" LabelWidth="150px"></f:Label>
|
|
||||||
</Items>
|
|
||||||
</f:FormRow>--%>
|
|
||||||
|
|
||||||
<f:FormRow>
|
|
||||||
<Items>
|
|
||||||
<f:Label ID="lQuantity" runat="server" Label="计划人力" LabelAlign="Right" LabelWidth="150px"></f:Label>
|
|
||||||
</Items>
|
|
||||||
</f:FormRow>
|
|
||||||
|
|
||||||
<f:FormRow>
|
|
||||||
<Items>
|
|
||||||
<f:Label ID="lNumber" runat="server" Label="实际人力" LabelAlign="Right" LabelWidth="150px"></f:Label>
|
|
||||||
</Items>
|
|
||||||
</f:FormRow>
|
|
||||||
|
|
||||||
</Rows>
|
|
||||||
<Toolbars>
|
|
||||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
|
||||||
<Items>
|
|
||||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
|
||||||
</f:ToolbarFill>
|
|
||||||
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose" Text="关闭">
|
|
||||||
</f:Button>
|
|
||||||
</Items>
|
|
||||||
</f:Toolbar>
|
|
||||||
</Toolbars>
|
|
||||||
</f:Form>
|
|
||||||
</form>
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var menuID = '<%= Menu1.ClientID %>';
|
||||||
|
// 返回false,来阻止浏览器右键菜单
|
||||||
|
function onRowContextMenu(event, rowId) {
|
||||||
|
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
function reloadGrid() {
|
||||||
|
__doPostBack(null, 'reloadGrid');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
using BLL;
|
using BLL;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SqlClient;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -18,40 +21,12 @@ namespace FineUIPro.Web.JDGL.SGManPower
|
||||||
set { ViewState["ProjectId"] = value; }
|
set { ViewState["ProjectId"] = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public string UnitId
|
public string WarningType
|
||||||
{
|
{
|
||||||
get => (string)ViewState["UnitId"];
|
get => (string)ViewState["WarningType"];
|
||||||
set => ViewState["UnitId"] = value;
|
set => ViewState["WarningType"] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string UnitWorkId
|
|
||||||
{
|
|
||||||
get => (string)ViewState["UnitWorkId"];
|
|
||||||
set => ViewState["UnitWorkId"] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string WorkPostId
|
|
||||||
{
|
|
||||||
get => (string)ViewState["WorkPostId"];
|
|
||||||
set => ViewState["WorkPostId"] = value;
|
|
||||||
}
|
|
||||||
public string PlanDate
|
|
||||||
{
|
|
||||||
get => (string)ViewState["PlanDate"];
|
|
||||||
set => ViewState["PlanDate"] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Quantity
|
|
||||||
{
|
|
||||||
get => (string)ViewState["Quantity"];
|
|
||||||
set => ViewState["Quantity"] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Num
|
|
||||||
{
|
|
||||||
get => (string)ViewState["Num"];
|
|
||||||
set => ViewState["Num"] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
@ -59,65 +34,170 @@ namespace FineUIPro.Web.JDGL.SGManPower
|
||||||
{
|
{
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
{
|
{
|
||||||
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
Funs.DropDownPageSize(this.ddlPageSize);
|
||||||
|
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||||
this.ProjectId = Request.Params["projectId"];
|
this.ProjectId = Request.Params["projectId"];
|
||||||
this.UnitId = Request.Params["unitId"];
|
this.WarningType = Request.Params["warningType"];
|
||||||
this.UnitWorkId = Request.Params["unitWorkId"];
|
// 绑定表格
|
||||||
this.WorkPostId = Request.Params["workPostId"];
|
BindGrid();
|
||||||
this.PlanDate = Request.Params["planDate"];
|
|
||||||
this.Quantity = Request.Params["quantity"];
|
|
||||||
this.Num = Request.Params["num"];
|
|
||||||
if (!string.IsNullOrEmpty(ProjectId))
|
|
||||||
{
|
|
||||||
var project = BLL.ProjectService.GetProjectByProjectId(ProjectId); //项目
|
|
||||||
if (project != null)
|
|
||||||
{
|
|
||||||
this.lProject.Text = project.ProjectName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(UnitId))
|
|
||||||
{
|
|
||||||
var unit = BLL.UnitService.GetUnitByUnitId(UnitId); //单位
|
|
||||||
if (unit != null)
|
|
||||||
{
|
|
||||||
this.lUnit.Text = unit.UnitName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(UnitWorkId))
|
|
||||||
{
|
|
||||||
var unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId); //单位工程(装置)
|
|
||||||
if (unitWork != null)
|
|
||||||
{
|
|
||||||
this.lUnitWork.Text = unitWork.UnitWorkName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(WorkPostId))
|
|
||||||
{
|
|
||||||
var workPost = BLL.WorkPostService.GetWorkPostById(WorkPostId); //岗位
|
|
||||||
if (workPost != null)
|
|
||||||
{
|
|
||||||
this.lWorkPost.Text = workPost.WorkPostName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(PlanDate))
|
|
||||||
{
|
|
||||||
this.lPlanDate.Text = PlanDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(Quantity))
|
|
||||||
{
|
|
||||||
this.lQuantity.Text = Quantity;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(Num))
|
|
||||||
{
|
|
||||||
this.lNumber.Text = Num;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void BindGrid()
|
||||||
|
{
|
||||||
|
string strSql =
|
||||||
|
@"SELECT * from SGManPower_WarningResult where 1=1 ";
|
||||||
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(this.ProjectId))
|
||||||
|
{
|
||||||
|
strSql += " AND ProjectId = @ProjectId ";
|
||||||
|
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(this.WarningType))
|
||||||
|
{
|
||||||
|
strSql += " AND WarningType = @WarningType ";
|
||||||
|
listStr.Add(new SqlParameter("@WarningType", this.WarningType));
|
||||||
|
}
|
||||||
|
|
||||||
|
strSql += " ORDER BY UnitId";
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 右键编辑事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void btnMenuView_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.EditData();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑数据方法
|
||||||
|
/// </summary>
|
||||||
|
private void EditData()
|
||||||
|
{
|
||||||
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||||
|
{
|
||||||
|
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = Funs.DB.SGManPower_WarningResult.FirstOrDefault(x => x.WarningId == Grid1.SelectedRowID);
|
||||||
|
|
||||||
|
|
||||||
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SGWarningDetailsEdit.aspx?projectId={0}&unitId={1}&unitWorkId={2}&workPostId={3}&startTime={4}&endTime={5}", result.ProjectId, result.UnitId, result.UnitWorkId, result.WorkPostId, result.StartDate, result.EndDate, "编辑 - ")));
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 分页、关闭窗口
|
||||||
|
|
||||||
|
/// <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)
|
||||||
|
{
|
||||||
|
BindGrid();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 格式化字符串
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 格式化受伤情况
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="injury"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected string ConvertWorkPostName(object workPostId)
|
||||||
|
{
|
||||||
|
string name = string.Empty;
|
||||||
|
if (workPostId != null)
|
||||||
|
{
|
||||||
|
name = BLL.WorkPostService.getWorkPostNameById(workPostId.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected string ConvertUnitName(object unitId)
|
||||||
|
{
|
||||||
|
string name = string.Empty;
|
||||||
|
if (unitId != null)
|
||||||
|
{
|
||||||
|
name = UnitService.GetUnitNameByUnitId(unitId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 格式装置
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="injury"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected string ConvertUnitWorkName(object unitWorkId)
|
||||||
|
{
|
||||||
|
string name = string.Empty;
|
||||||
|
if (unitWorkId != null)
|
||||||
|
{
|
||||||
|
name = BLL.UnitWorkService.GetNameById(unitWorkId.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 在页面中添加格式化方法
|
||||||
|
protected string ConvertBiasPercent(object biasValue)
|
||||||
|
{
|
||||||
|
if (biasValue != null && decimal.TryParse(biasValue.ToString(), out decimal value))
|
||||||
|
{
|
||||||
|
return (value * 100).ToString("F2") + "%";
|
||||||
|
}
|
||||||
|
return "0.00%";
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -33,102 +33,102 @@ namespace FineUIPro.Web.JDGL.SGManPower
|
||||||
protected global::FineUIPro.PageManager PageManager1;
|
protected global::FineUIPro.PageManager PageManager1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SimpleForm1 控件。
|
/// Panel1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Form SimpleForm1;
|
protected global::FineUIPro.Panel Panel1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lProject 控件。
|
/// Grid1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lProject;
|
protected global::FineUIPro.Grid Grid1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lUnit 控件。
|
/// lbUnitName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lUnit;
|
protected global::System.Web.UI.WebControls.Label lbUnitName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lUnitWork 控件。
|
/// lbUnitWorkName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lUnitWork;
|
protected global::System.Web.UI.WebControls.Label lbUnitWorkName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lWorkPost 控件。
|
/// lbtfWorkPostName 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lWorkPost;
|
protected global::System.Web.UI.WebControls.Label lbtfWorkPostName;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lPlanDate 控件。
|
/// ToolbarSeparator1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lPlanDate;
|
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lQuantity 控件。
|
/// ToolbarText1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lQuantity;
|
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// lNumber 控件。
|
/// ddlPageSize 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Label lNumber;
|
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Toolbar1 控件。
|
/// Window1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Toolbar Toolbar1;
|
protected global::FineUIPro.Window Window1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarFill1 控件。
|
/// Menu1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
protected global::FineUIPro.Menu Menu1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnClose 控件。
|
/// btnMenuView 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUIPro.Button btnClose;
|
protected global::FineUIPro.MenuButton btnMenuView;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ namespace FineUIPro.Web.JDGL.SGManPower
|
||||||
listStr.Add(new SqlParameter("@EndTime", Convert.ToDateTime(this.txtEndTime.Text)));
|
listStr.Add(new SqlParameter("@EndTime", Convert.ToDateTime(this.txtEndTime.Text)));
|
||||||
}
|
}
|
||||||
|
|
||||||
strSql += " ORDER BY p.PlanDate, p.UnitId, p.UnitWorkId, p.WorkPostId";
|
strSql += " ORDER BY p.PlanDate desc, p.UnitId, p.UnitWorkId, p.WorkPostId";
|
||||||
|
|
||||||
SqlParameter[] parameter = listStr.ToArray();
|
SqlParameter[] parameter = listStr.ToArray();
|
||||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,12 @@ namespace FineUIPro.Web
|
||||||
//把getDataList和sgList的数据合并
|
//把getDataList和sgList的数据合并
|
||||||
foreach (var item in getDataList)
|
foreach (var item in getDataList)
|
||||||
{
|
{
|
||||||
returnDbHtml += "<div class=\"z-item\" style=\"cursor:pointer\" onclick=\"returnWindows('" + item.PCUrl + "')\"><p class=\"z-val\"><span>" + item.ProjectCode + " " + "</span><span>" + item.MenuName + " " + item.Content + "</span></p><p class=\"z-data\">" + item.DataTime.ToString().Replace('/', '-').Split(' ')[0] + "</p></div>";
|
// returnDbHtml += "<div class=\"z-item\" style=\"cursor:pointer\" onclick=\"returnWindows('" + item.PCUrl + "')\"><p class=\"z-val\"><span>" + item.ProjectCode + " " + "</span><span>" + item.MenuName + " " + item.Content + "</span></p><p class=\"z-data\">" + item.DataTime.ToString().Replace('/', '-').Split(' ')[0] + "</p></div>";
|
||||||
|
string fullContent = item.ProjectCode + " " + item.MenuName + " " + item.Content;
|
||||||
|
returnDbHtml += $"<div class=\"z-item todo-item\" style=\"cursor:pointer\" onclick=\"returnWindows('{item.PCUrl}')\" title=\"{fullContent}\">" +
|
||||||
|
$"<p class=\"z-val\" style=\"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\"><span>{item.ProjectCode} </span>" +
|
||||||
|
$"<span>{item.MenuName} {item.Content}</span></p>" +
|
||||||
|
$"<p class=\"z-data\">{item.DataTime.ToString().Replace('/', '-').Split(' ')[0]}</p></div>";
|
||||||
}
|
}
|
||||||
return returnDbHtml;
|
return returnDbHtml;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue