安全报表增加系统外工时统计

This commit is contained in:
geh 2026-01-26 17:34:39 +08:00
parent 7dff01059b
commit fd322d4c7f
25 changed files with 841 additions and 306 deletions

View File

@ -0,0 +1,6 @@
alter table Project_ProjectUnit add IsOutSideUnit bit null
GO
alter table InformationProject_MillionsMonthlyReport add OutSideUnitWorkNum decimal(18,4) null
GO
alter table Information_MillionsMonthlyReportItem add OutSideUnitWorkNum decimal(18,4) null
GO

View File

@ -45,6 +45,7 @@ namespace BLL
ContractorNum = millionsMonthlyReport.ContractorNum, ContractorNum = millionsMonthlyReport.ContractorNum,
SumPersonNum = millionsMonthlyReport.SumPersonNum, SumPersonNum = millionsMonthlyReport.SumPersonNum,
TotalWorkNum = millionsMonthlyReport.TotalWorkNum, TotalWorkNum = millionsMonthlyReport.TotalWorkNum,
OutSideUnitWorkNum = millionsMonthlyReport.OutSideUnitWorkNum,
DeathAccidentNum = millionsMonthlyReport.DeathAccidentNum, DeathAccidentNum = millionsMonthlyReport.DeathAccidentNum,
DeathAccidentPersonNum = millionsMonthlyReport.DeathAccidentPersonNum, DeathAccidentPersonNum = millionsMonthlyReport.DeathAccidentPersonNum,
DeathAccidentLossHour = millionsMonthlyReport.DeathAccidentLossHour, DeathAccidentLossHour = millionsMonthlyReport.DeathAccidentLossHour,
@ -115,6 +116,7 @@ namespace BLL
newMillionsMonthlyReport.ContractorNum = millionsMonthlyReport.ContractorNum; newMillionsMonthlyReport.ContractorNum = millionsMonthlyReport.ContractorNum;
newMillionsMonthlyReport.SumPersonNum = millionsMonthlyReport.SumPersonNum; newMillionsMonthlyReport.SumPersonNum = millionsMonthlyReport.SumPersonNum;
newMillionsMonthlyReport.TotalWorkNum = millionsMonthlyReport.TotalWorkNum; newMillionsMonthlyReport.TotalWorkNum = millionsMonthlyReport.TotalWorkNum;
newMillionsMonthlyReport.OutSideUnitWorkNum = millionsMonthlyReport.OutSideUnitWorkNum;
newMillionsMonthlyReport.DeathAccidentNum = millionsMonthlyReport.DeathAccidentNum; newMillionsMonthlyReport.DeathAccidentNum = millionsMonthlyReport.DeathAccidentNum;
newMillionsMonthlyReport.DeathAccidentPersonNum = millionsMonthlyReport.DeathAccidentPersonNum; newMillionsMonthlyReport.DeathAccidentPersonNum = millionsMonthlyReport.DeathAccidentPersonNum;
newMillionsMonthlyReport.DeathAccidentLossHour = millionsMonthlyReport.DeathAccidentLossHour; newMillionsMonthlyReport.DeathAccidentLossHour = millionsMonthlyReport.DeathAccidentLossHour;

View File

@ -79,6 +79,7 @@
ContractRange = projectUnit.ContractRange, ContractRange = projectUnit.ContractRange,
RealNamePushTime = projectUnit.RealNamePushTime, RealNamePushTime = projectUnit.RealNamePushTime,
IsSynchro = projectUnit.IsSynchro, IsSynchro = projectUnit.IsSynchro,
IsOutSideUnit=projectUnit.IsOutSideUnit,
}; };
db.Project_ProjectUnit.InsertOnSubmit(newProjectUnit); db.Project_ProjectUnit.InsertOnSubmit(newProjectUnit);
db.SubmitChanges(); db.SubmitChanges();
@ -102,6 +103,7 @@
newProjectUnit.ContractRange = projectUnit.ContractRange; newProjectUnit.ContractRange = projectUnit.ContractRange;
newProjectUnit.RealNamePushTime = projectUnit.RealNamePushTime; newProjectUnit.RealNamePushTime = projectUnit.RealNamePushTime;
newProjectUnit.IsSynchro = projectUnit.IsSynchro; newProjectUnit.IsSynchro = projectUnit.IsSynchro;
newProjectUnit.IsOutSideUnit = projectUnit.IsOutSideUnit;
db.SubmitChanges(); db.SubmitChanges();
} }
} }

View File

@ -203,6 +203,7 @@
ContractorNum = x.ContractorNum, ContractorNum = x.ContractorNum,
SumPersonNum = x.SumPersonNum, SumPersonNum = x.SumPersonNum,
TotalWorkNum = x.TotalWorkNum, TotalWorkNum = x.TotalWorkNum,
OutSideUnitWorkNum = x.OutSideUnitWorkNum,
SeriousInjuriesNum = x.SeriousInjuriesNum, SeriousInjuriesNum = x.SeriousInjuriesNum,
SeriousInjuriesPersonNum = x.SeriousInjuriesPersonNum, SeriousInjuriesPersonNum = x.SeriousInjuriesPersonNum,
SeriousInjuriesLossHour = x.SeriousInjuriesLossHour, SeriousInjuriesLossHour = x.SeriousInjuriesLossHour,
@ -225,6 +226,8 @@
FirstAidDressingsNum = x.FirstAidDressingsNum, FirstAidDressingsNum = x.FirstAidDressingsNum,
AttemptedEventNum = x.AttemptedEventNum, AttemptedEventNum = x.AttemptedEventNum,
LossDayNum = x.LossDayNum, LossDayNum = x.LossDayNum,
UnitId = x.UnitId,
ProjectId = x.ProjectId,
}; };
//老接口Serveice //老接口Serveice
@ -261,6 +264,7 @@
return code; return code;
} }
} }
/// <summary> /// <summary>
/// UpApiMillionsMonthlyReportApi调用 /// UpApiMillionsMonthlyReportApi调用
/// </summary> /// </summary>
@ -2535,6 +2539,12 @@
[System.Runtime.Serialization.OptionalFieldAttribute()] [System.Runtime.Serialization.OptionalFieldAttribute()]
private System.Nullable<int> MedicalTreatmentPersonNumField; private System.Nullable<int> MedicalTreatmentPersonNumField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string UnitIdField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string ProjectIdField;
[System.Runtime.Serialization.OptionalFieldAttribute()] [System.Runtime.Serialization.OptionalFieldAttribute()]
private string MillionsMonthlyReportIdField; private string MillionsMonthlyReportIdField;
@ -2598,6 +2608,9 @@
[System.Runtime.Serialization.OptionalFieldAttribute()] [System.Runtime.Serialization.OptionalFieldAttribute()]
private System.Nullable<decimal> TotalWorkNumField; private System.Nullable<decimal> TotalWorkNumField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private System.Nullable<decimal> OutSideUnitWorkNumField;
[System.Runtime.Serialization.OptionalFieldAttribute()] [System.Runtime.Serialization.OptionalFieldAttribute()]
private System.Nullable<int> TrafficNumField; private System.Nullable<int> TrafficNumField;
@ -2784,6 +2797,40 @@
} }
} }
[System.Runtime.Serialization.DataMemberAttribute()]
public string UnitId
{
get
{
return this.UnitIdField;
}
set
{
if ((object.ReferenceEquals(this.UnitIdField, value) != true))
{
this.UnitIdField = value;
this.RaisePropertyChanged("UnitId");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public string ProjectId
{
get
{
return this.ProjectIdField;
}
set
{
if ((object.ReferenceEquals(this.ProjectIdField, value) != true))
{
this.ProjectIdField = value;
this.RaisePropertyChanged("ProjectId");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()] [System.Runtime.Serialization.DataMemberAttribute()]
public string MillionsMonthlyReportId public string MillionsMonthlyReportId
{ {
@ -3141,6 +3188,23 @@
} }
} }
[System.Runtime.Serialization.DataMemberAttribute()]
public System.Nullable<decimal> OutSideUnitWorkNum
{
get
{
return this.OutSideUnitWorkNumField;
}
set
{
if ((this.OutSideUnitWorkNumField.Equals(value) != true))
{
this.OutSideUnitWorkNumField = value;
this.RaisePropertyChanged("OutSideUnitWorkNum");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()] [System.Runtime.Serialization.DataMemberAttribute()]
public System.Nullable<int> TrafficNum public System.Nullable<int> TrafficNum
{ {

View File

@ -103,12 +103,15 @@ namespace BLL
MillionsMonthlyReportId = MillionsMonthlyReportItem.MillionsMonthlyReportId, MillionsMonthlyReportId = MillionsMonthlyReportItem.MillionsMonthlyReportId,
SortIndex = MillionsMonthlyReportItem.SortIndex, SortIndex = MillionsMonthlyReportItem.SortIndex,
Affiliation = MillionsMonthlyReportItem.Affiliation, Affiliation = MillionsMonthlyReportItem.Affiliation,
UnitId = MillionsMonthlyReportItem.UnitId,
Name = MillionsMonthlyReportItem.Name, Name = MillionsMonthlyReportItem.Name,
ProjectId = MillionsMonthlyReportItem.ProjectId,
PostPersonNum = MillionsMonthlyReportItem.PostPersonNum, PostPersonNum = MillionsMonthlyReportItem.PostPersonNum,
SnapPersonNum = MillionsMonthlyReportItem.SnapPersonNum, SnapPersonNum = MillionsMonthlyReportItem.SnapPersonNum,
ContractorNum = MillionsMonthlyReportItem.ContractorNum, ContractorNum = MillionsMonthlyReportItem.ContractorNum,
SumPersonNum = MillionsMonthlyReportItem.SumPersonNum, SumPersonNum = MillionsMonthlyReportItem.SumPersonNum,
TotalWorkNum = MillionsMonthlyReportItem.TotalWorkNum, TotalWorkNum = MillionsMonthlyReportItem.TotalWorkNum,
OutSideUnitWorkNum = MillionsMonthlyReportItem.OutSideUnitWorkNum,
DeathAccidentNum = MillionsMonthlyReportItem.DeathAccidentNum, DeathAccidentNum = MillionsMonthlyReportItem.DeathAccidentNum,
DeathAccidentPersonNum = MillionsMonthlyReportItem.DeathAccidentPersonNum, DeathAccidentPersonNum = MillionsMonthlyReportItem.DeathAccidentPersonNum,
DeathAccidentLossHour = MillionsMonthlyReportItem.DeathAccidentLossHour, DeathAccidentLossHour = MillionsMonthlyReportItem.DeathAccidentLossHour,
@ -150,12 +153,15 @@ namespace BLL
Model.Information_MillionsMonthlyReportItem newMillionsMonthlyReportItem = Funs.DB.Information_MillionsMonthlyReportItem.FirstOrDefault(e => e.MillionsMonthlyReportItemId == MillionsMonthlyReportItem.MillionsMonthlyReportItemId); Model.Information_MillionsMonthlyReportItem newMillionsMonthlyReportItem = Funs.DB.Information_MillionsMonthlyReportItem.FirstOrDefault(e => e.MillionsMonthlyReportItemId == MillionsMonthlyReportItem.MillionsMonthlyReportItemId);
newMillionsMonthlyReportItem.SortIndex = MillionsMonthlyReportItem.SortIndex; newMillionsMonthlyReportItem.SortIndex = MillionsMonthlyReportItem.SortIndex;
newMillionsMonthlyReportItem.Affiliation = MillionsMonthlyReportItem.Affiliation; newMillionsMonthlyReportItem.Affiliation = MillionsMonthlyReportItem.Affiliation;
newMillionsMonthlyReportItem.UnitId = MillionsMonthlyReportItem.UnitId;
newMillionsMonthlyReportItem.Name = MillionsMonthlyReportItem.Name; newMillionsMonthlyReportItem.Name = MillionsMonthlyReportItem.Name;
newMillionsMonthlyReportItem.ProjectId = MillionsMonthlyReportItem.ProjectId;
newMillionsMonthlyReportItem.PostPersonNum = MillionsMonthlyReportItem.PostPersonNum; newMillionsMonthlyReportItem.PostPersonNum = MillionsMonthlyReportItem.PostPersonNum;
newMillionsMonthlyReportItem.SnapPersonNum = MillionsMonthlyReportItem.SnapPersonNum; newMillionsMonthlyReportItem.SnapPersonNum = MillionsMonthlyReportItem.SnapPersonNum;
newMillionsMonthlyReportItem.ContractorNum = MillionsMonthlyReportItem.ContractorNum; newMillionsMonthlyReportItem.ContractorNum = MillionsMonthlyReportItem.ContractorNum;
newMillionsMonthlyReportItem.SumPersonNum = MillionsMonthlyReportItem.SumPersonNum; newMillionsMonthlyReportItem.SumPersonNum = MillionsMonthlyReportItem.SumPersonNum;
newMillionsMonthlyReportItem.TotalWorkNum = MillionsMonthlyReportItem.TotalWorkNum; newMillionsMonthlyReportItem.TotalWorkNum = MillionsMonthlyReportItem.TotalWorkNum;
newMillionsMonthlyReportItem.OutSideUnitWorkNum = MillionsMonthlyReportItem.OutSideUnitWorkNum;
newMillionsMonthlyReportItem.DeathAccidentNum = MillionsMonthlyReportItem.DeathAccidentNum; newMillionsMonthlyReportItem.DeathAccidentNum = MillionsMonthlyReportItem.DeathAccidentNum;
newMillionsMonthlyReportItem.DeathAccidentPersonNum = MillionsMonthlyReportItem.DeathAccidentPersonNum; newMillionsMonthlyReportItem.DeathAccidentPersonNum = MillionsMonthlyReportItem.DeathAccidentPersonNum;
newMillionsMonthlyReportItem.DeathAccidentLossHour = MillionsMonthlyReportItem.DeathAccidentLossHour; newMillionsMonthlyReportItem.DeathAccidentLossHour = MillionsMonthlyReportItem.DeathAccidentLossHour;

View File

@ -1,6 +1,5 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MillionsMonthlyReport.aspx.cs" <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MillionsMonthlyReport.aspx.cs"
Inherits="FineUIPro.Web.InformationProject.MillionsMonthlyReport" %> Inherits="FineUIPro.Web.InformationProject.MillionsMonthlyReport" %>
<%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %> <%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %>
<!DOCTYPE html> <!DOCTYPE html>
@ -8,6 +7,12 @@
<head runat="server"> <head runat="server">
<title>企业安全数据统计月报</title> <title>企业安全数据统计月报</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" /> <link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style>
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head> </head>
<body> <body>
<form id="form1" runat="server"> <form id="form1" runat="server">
@ -81,6 +86,9 @@
<f:RenderField Width="120px" ColumnID="TotalWorkNum" DataField="TotalWorkNum" FieldType="String" <f:RenderField Width="120px" ColumnID="TotalWorkNum" DataField="TotalWorkNum" FieldType="String"
HeaderText="总工时数(万)" HeaderTextAlign="Center" TextAlign="Center"> HeaderText="总工时数(万)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="120px" ColumnID="OutSideUnitWorkNum" DataField="OutSideUnitWorkNum" FieldType="String"
HeaderText="去除系统内单位的总工时数(万)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center">
<Columns> <Columns>
<f:GroupField EnableLock="true" HeaderText="死亡事故" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="死亡事故" TextAlign="Center">
@ -235,6 +243,7 @@
</f:Panel> </f:Panel>
</Items> </Items>
</f:Panel> </f:Panel>
<f:Window ID="Window1" Title="编辑企业安全数据统计月报" Hidden="true" EnableIFrame="true" EnableMaximize="true" <f:Window ID="Window1" Title="编辑企业安全数据统计月报" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1100px" Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1100px"
Height="560px"> Height="560px">

View File

@ -75,14 +75,10 @@ namespace FineUIPro.Web.InformationProject
{ {
this.ProjectId = this.ucTree.ProjectId; this.ProjectId = this.ucTree.ProjectId;
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
btnNew.Hidden = true;
}
this.GetButtonPower(); this.GetButtonPower();
this.BindGrid(); this.BindGrid();
} }
/// <summary> /// <summary>
/// 绑定数据 /// 绑定数据
/// </summary> /// </summary>
@ -92,7 +88,6 @@ namespace FineUIPro.Web.InformationProject
{ {
return; return;
} }
string strSql = @"SELECT MillionsMonthlyReport.MillionsMonthlyReportId," string strSql = @"SELECT MillionsMonthlyReport.MillionsMonthlyReportId,"
+ @"MillionsMonthlyReport.ProjectId," + @"MillionsMonthlyReport.ProjectId,"
+ @"MillionsMonthlyReport.Year," + @"MillionsMonthlyReport.Year,"
@ -108,6 +103,7 @@ namespace FineUIPro.Web.InformationProject
+ @"MillionsMonthlyReport.ContractorNum," + @"MillionsMonthlyReport.ContractorNum,"
+ @"MillionsMonthlyReport.SumPersonNum," + @"MillionsMonthlyReport.SumPersonNum,"
+ @"MillionsMonthlyReport.TotalWorkNum," + @"MillionsMonthlyReport.TotalWorkNum,"
+ @"MillionsMonthlyReport.OutSideUnitWorkNum,"
+ @"MillionsMonthlyReport.DeathAccidentNum," + @"MillionsMonthlyReport.DeathAccidentNum,"
+ @"MillionsMonthlyReport.DeathAccidentPersonNum," + @"MillionsMonthlyReport.DeathAccidentPersonNum,"
+ @"MillionsMonthlyReport.DeathAccidentLossHour," + @"MillionsMonthlyReport.DeathAccidentLossHour,"
@ -327,6 +323,12 @@ namespace FineUIPro.Web.InformationProject
this.btnMenuDelete.Hidden = false; this.btnMenuDelete.Hidden = false;
} }
} }
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
btnNew.Hidden = true;
btnMenuDelete.Hidden = true;
btnMenuEdit.Hidden = true;
}
} }
#endregion #endregion
} }

View File

@ -24,7 +24,7 @@
</f:TextBox> </f:TextBox>
</Items> </Items>
</f:FormRow> </f:FormRow>
<f:FormRow> <f:FormRow ColumnWidths="20% 20% 25% 35%">
<Items> <Items>
<f:DropDownList ID="drpYear" runat="server" Label="年度" EnableEdit="true" LabelAlign="Right" <f:DropDownList ID="drpYear" runat="server" Label="年度" EnableEdit="true" LabelAlign="Right"
Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpYear_SelectedIndexChanged"> Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpYear_SelectedIndexChanged">
@ -37,6 +37,8 @@
</f:NumberBox>--%> </f:NumberBox>--%>
<f:TextBox ID="txtTotalWorkNum" runat="server" Label="总工时数(万)" LabelWidth="140px" LabelAlign="Right" EmptyText="0"> <f:TextBox ID="txtTotalWorkNum" runat="server" Label="总工时数(万)" LabelWidth="140px" LabelAlign="Right" EmptyText="0">
</f:TextBox> </f:TextBox>
<f:TextBox ID="txtOutSideUnitWorkNum" runat="server" Label="去除系统内单位的总工时数(万)" LabelWidth="240px" Readonly="true" LabelAlign="Right" EmptyText="0">
</f:TextBox>
</Items> </Items>
</f:FormRow> </f:FormRow>
<%-- <f:FormRow> <%-- <f:FormRow>

View File

@ -87,6 +87,10 @@ namespace FineUIPro.Web.InformationProject
{ {
this.txtTotalWorkNum.Text = Convert.ToString(millionsMonthlyReport.TotalWorkNum); this.txtTotalWorkNum.Text = Convert.ToString(millionsMonthlyReport.TotalWorkNum);
} }
if (millionsMonthlyReport.OutSideUnitWorkNum != null)
{
this.txtOutSideUnitWorkNum.Text = Convert.ToString(millionsMonthlyReport.OutSideUnitWorkNum);
}
if (millionsMonthlyReport.PostPersonNum != null) if (millionsMonthlyReport.PostPersonNum != null)
{ {
this.txtPostPersonNum.Text = Convert.ToString(millionsMonthlyReport.PostPersonNum); this.txtPostPersonNum.Text = Convert.ToString(millionsMonthlyReport.PostPersonNum);
@ -366,6 +370,7 @@ namespace FineUIPro.Web.InformationProject
millionsMonthlyReport.ContractorNum = Funs.GetNewIntOrZero(this.txtContractorNum.Text.Trim()); millionsMonthlyReport.ContractorNum = Funs.GetNewIntOrZero(this.txtContractorNum.Text.Trim());
millionsMonthlyReport.SumPersonNum = millionsMonthlyReport.PostPersonNum + millionsMonthlyReport.SnapPersonNum + millionsMonthlyReport.ContractorNum; millionsMonthlyReport.SumPersonNum = millionsMonthlyReport.PostPersonNum + millionsMonthlyReport.SnapPersonNum + millionsMonthlyReport.ContractorNum;
millionsMonthlyReport.TotalWorkNum = Funs.GetNewDecimalOrZero(this.txtTotalWorkNum.Text.Trim()); millionsMonthlyReport.TotalWorkNum = Funs.GetNewDecimalOrZero(this.txtTotalWorkNum.Text.Trim());
millionsMonthlyReport.OutSideUnitWorkNum = Funs.GetNewDecimalOrZero(this.txtOutSideUnitWorkNum.Text.Trim());
millionsMonthlyReport.SeriousInjuriesNum = Funs.GetNewInt(this.txtSeriousInjuriesNum.Text.Trim()); millionsMonthlyReport.SeriousInjuriesNum = Funs.GetNewInt(this.txtSeriousInjuriesNum.Text.Trim());
millionsMonthlyReport.SeriousInjuriesPersonNum = Funs.GetNewInt(this.txtSeriousInjuriesPersonNum.Text.Trim()); millionsMonthlyReport.SeriousInjuriesPersonNum = Funs.GetNewInt(this.txtSeriousInjuriesPersonNum.Text.Trim());
millionsMonthlyReport.SeriousInjuriesLossHour = Funs.GetNewInt(this.txtSeriousInjuriesLossHour.Text.Trim()); millionsMonthlyReport.SeriousInjuriesLossHour = Funs.GetNewInt(this.txtSeriousInjuriesLossHour.Text.Trim());
@ -474,7 +479,18 @@ namespace FineUIPro.Web.InformationProject
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{ {
int? sumTotalPanhours = 0; int? sumTotalPanhours = 0;
int? sumOutSideTotalPanhours = 0;
List<string> outSideUnitIds = new List<string>();
var projectUnits = from x in db.Project_ProjectUnit
where x.ProjectId == this.ProjectId
select x;
foreach (var projectUnit in projectUnits)
{
if (projectUnit.UnitType == BLL.Const.ProjectUnitType_1 || projectUnit.IsOutSideUnit == true)
{
outSideUnitIds.Add(projectUnit.UnitId);
}
}
//获取当期人工时日报 //获取当期人工时日报
List<Model.SitePerson_DayReport> dayReports = BLL.SitePerson_DayReportService.GetDayReportsByCompileDate(startTime, endTime, this.ProjectId); List<Model.SitePerson_DayReport> dayReports = BLL.SitePerson_DayReportService.GetDayReportsByCompileDate(startTime, endTime, this.ProjectId);
if (dayReports.Count > 0) if (dayReports.Count > 0)
@ -482,10 +498,15 @@ namespace FineUIPro.Web.InformationProject
foreach (var dayReport in dayReports) foreach (var dayReport in dayReports)
{ {
sumTotalPanhours += Convert.ToInt32((from y in db.SitePerson_DayReportDetail where y.DayReportId == dayReport.DayReportId select y.PersonWorkTime as decimal?).Sum()); sumTotalPanhours += Convert.ToInt32((from y in db.SitePerson_DayReportDetail where y.DayReportId == dayReport.DayReportId select y.PersonWorkTime as decimal?).Sum());
sumOutSideTotalPanhours += Convert.ToInt32((from y in db.SitePerson_DayReportDetail
where y.DayReportId == dayReport.DayReportId && outSideUnitIds.Contains(y.UnitId)
select y.PersonWorkTime as decimal?).Sum());
} }
//总工时数(万) //总工时数(万)
this.txtTotalWorkNum.Text = decimal.Round(decimal.Round(Convert.ToDecimal(sumTotalPanhours), 4) / 10000, 4).ToString(); this.txtTotalWorkNum.Text = decimal.Round(decimal.Round(Convert.ToDecimal(sumTotalPanhours), 4) / 10000, 4).ToString();
//去除系统内单位的总工时数(万)
this.txtOutSideUnitWorkNum.Text = decimal.Round(decimal.Round(Convert.ToDecimal(sumOutSideTotalPanhours), 4) / 10000, 4).ToString();
//在岗员工 //在岗员工
//获取单位集合 //获取单位集合
var unitIds = (from x in dayReports var unitIds = (from x in dayReports

View File

@ -84,6 +84,15 @@ namespace FineUIPro.Web.InformationProject {
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtTotalWorkNum; protected global::FineUIPro.TextBox txtTotalWorkNum;
/// <summary>
/// txtOutSideUnitWorkNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOutSideUnitWorkNum;
/// <summary> /// <summary>
/// GroupPanel1 控件。 /// GroupPanel1 控件。
/// </summary> /// </summary>

View File

@ -24,7 +24,7 @@
</f:TextBox> </f:TextBox>
</Items> </Items>
</f:FormRow> </f:FormRow>
<f:FormRow> <f:FormRow ColumnWidths="20% 20% 25% 35%">
<Items> <Items>
<f:TextBox ID="txtYear" runat="server" Label="年度" LabelAlign="Right" Readonly="true"> <f:TextBox ID="txtYear" runat="server" Label="年度" LabelAlign="Right" Readonly="true">
</f:TextBox> </f:TextBox>
@ -32,6 +32,8 @@
</f:TextBox> </f:TextBox>
<f:TextBox ID="txtTotalWorkNum" runat="server" Label="总工时数(万)" Readonly="true" LabelWidth="140px" LabelAlign="Right" EmptyText="0"> <f:TextBox ID="txtTotalWorkNum" runat="server" Label="总工时数(万)" Readonly="true" LabelWidth="140px" LabelAlign="Right" EmptyText="0">
</f:TextBox> </f:TextBox>
<f:TextBox ID="txtOutSideUnitWorkNum" runat="server" Label="去除系统内单位的总工时数(万)" LabelWidth="240px" Readonly="true" LabelAlign="Right" EmptyText="0">
</f:TextBox>
</Items> </Items>
</f:FormRow> </f:FormRow>
<%-- <f:FormRow> <%-- <f:FormRow>

View File

@ -87,6 +87,10 @@ namespace FineUIPro.Web.InformationProject
{ {
this.txtTotalWorkNum.Text = Convert.ToString(millionsMonthlyReport.TotalWorkNum); this.txtTotalWorkNum.Text = Convert.ToString(millionsMonthlyReport.TotalWorkNum);
} }
if (millionsMonthlyReport.OutSideUnitWorkNum != null)
{
this.txtOutSideUnitWorkNum.Text = Convert.ToString(millionsMonthlyReport.OutSideUnitWorkNum);
}
if (millionsMonthlyReport.PostPersonNum != null) if (millionsMonthlyReport.PostPersonNum != null)
{ {
this.txtPostPersonNum.Text = Convert.ToString(millionsMonthlyReport.PostPersonNum); this.txtPostPersonNum.Text = Convert.ToString(millionsMonthlyReport.PostPersonNum);

View File

@ -84,6 +84,15 @@ namespace FineUIPro.Web.InformationProject {
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtTotalWorkNum; protected global::FineUIPro.TextBox txtTotalWorkNum;
/// <summary>
/// txtOutSideUnitWorkNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOutSideUnitWorkNum;
/// <summary> /// <summary>
/// GroupPanel1 控件。 /// GroupPanel1 控件。
/// </summary> /// </summary>

View File

@ -96,6 +96,9 @@
<f:CheckBoxField Width="100px" SortField="IsSynchro" RenderAsStaticField="true" DataField="IsSynchro" <f:CheckBoxField Width="100px" SortField="IsSynchro" RenderAsStaticField="true" DataField="IsSynchro"
HeaderText="同步实名制" HeaderTextAlign="Center" TextAlign="Center"> HeaderText="同步实名制" HeaderTextAlign="Center" TextAlign="Center">
</f:CheckBoxField> </f:CheckBoxField>
<f:CheckBoxField Width="120px" SortField="IsOutSideUnit" RenderAsStaticField="true" DataField="IsOutSideUnit"
HeaderText="系统外单位" HeaderTextAlign="Center" TextAlign="Center">
</f:CheckBoxField>
</columns> </columns>
<listeners> <listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" /> <f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
@ -122,8 +125,8 @@
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true" <f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true"
Icon="Pencil" runat="server" Text="编辑"> Icon="Pencil" runat="server" Text="编辑">
</f:MenuButton> </f:MenuButton>
<f:MenuButton ID="btnORCode" OnClick="btnQR_Click" EnablePostBack="true" Hidden="true" <f:MenuButton ID="btnQRCode" OnClick="btnQRCode_Click" EnablePostBack="true" Hidden="true"
Icon="TableRefresh" runat="server" Text="二维码"> Icon="Shading" runat="server" Text="生成二维码">
</f:MenuButton> </f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true" <f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除"> Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除">

View File

@ -6,6 +6,7 @@ using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Web.Security;
using AspNet = System.Web.UI.WebControls; using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ProjectData namespace FineUIPro.Web.ProjectData
@ -106,7 +107,7 @@ namespace FineUIPro.Web.ProjectData
} }
if (this.drpProject.Items.Count() > 0) if (this.drpProject.Items.Count() > 0)
{ {
string strSql = @"SELECT ProjectUnit.ProjectUnitId,ProjectUnit.ProjectId,Project.ProjectCode,Project.ProjectName,ProjectUnit.UnitId,Unit.UnitCode,Unit.UnitName,ProjectUnit.UnitType,sysConst.ConstText AS UnitTypeName,ProjectUnit.InTime,ProjectUnit.OutTime,ProjectUnit.IsSynchro " string strSql = @"SELECT ProjectUnit.ProjectUnitId,ProjectUnit.ProjectId,Project.ProjectCode,Project.ProjectName,ProjectUnit.UnitId,Unit.UnitCode,Unit.UnitName,ProjectUnit.UnitType,sysConst.ConstText AS UnitTypeName,ProjectUnit.InTime,ProjectUnit.OutTime,ProjectUnit.IsSynchro,ProjectUnit.IsOutSideUnit "
+ @" FROM Project_ProjectUnit AS ProjectUnit " + @" FROM Project_ProjectUnit AS ProjectUnit "
+ @" LEFT JOIN Base_Project AS Project ON ProjectUnit.ProjectId = Project.ProjectId " + @" LEFT JOIN Base_Project AS Project ON ProjectUnit.ProjectId = Project.ProjectId "
+ @" LEFT JOIN Base_Unit AS Unit ON ProjectUnit.UnitId = Unit.UnitId " + @" LEFT JOIN Base_Unit AS Unit ON ProjectUnit.UnitId = Unit.UnitId "
@ -301,7 +302,16 @@ namespace FineUIPro.Web.ProjectData
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{ {
menuId = BLL.Const.ProjectUnitMenuId; menuId = BLL.Const.ProjectUnitMenuId;
}/*
string loginUrl = FormsAuthentication.LoginUrl;
if (loginUrl.Contains("Hsse"))
{
menuId = BLL.Const.SeverProjectUnitMenuId;
} }
else if (loginUrl.Contains("Qwms"))
{
menuId = BLL.Const.QMProjectUnitMenuId;
}*/
var porject = BLL.ProjectService.GetProjectByProjectId(this.drpProject.SelectedValue); var porject = BLL.ProjectService.GetProjectByProjectId(this.drpProject.SelectedValue);
if (porject != null && (porject.ProjectState == BLL.Const.ProjectState_1 || string.IsNullOrEmpty(porject.ProjectState))) if (porject != null && (porject.ProjectState == BLL.Const.ProjectState_1 || string.IsNullOrEmpty(porject.ProjectState)))
{ {
@ -312,6 +322,7 @@ namespace FineUIPro.Web.ProjectData
{ {
this.btnSelect.Hidden = false; this.btnSelect.Hidden = false;
this.btnMenuEdit.Hidden = false; this.btnMenuEdit.Hidden = false;
this.btnQRCode.Hidden = false;
} }
if (buttonList.Contains(BLL.Const.BtnDelete)) if (buttonList.Contains(BLL.Const.BtnDelete))
{ {
@ -334,7 +345,6 @@ namespace FineUIPro.Web.ProjectData
this.btnMenuEdit.Hidden = true; this.btnMenuEdit.Hidden = true;
this.btnMenuDelete.Hidden = true; this.btnMenuDelete.Hidden = true;
} }
this.btnORCode.Hidden = false;
} }
#endregion #endregion
@ -409,18 +419,43 @@ namespace FineUIPro.Web.ProjectData
} }
#endregion #endregion
/// <summary>
//二维码生成 /// 生成二维码
protected void btnQR_Click(object sender, EventArgs e) /// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQRCode_Click(object sender, EventArgs e)
{ {
if (Grid1.SelectedRowIndexArray.Length == 0) if (Grid1.SelectedRowIndexArray.Length == 0)
{ {
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return; return;
} }
// string unitId = string.Empty;
// Model.Project_ProjectUnit projectUnit = BLL.ProjectUnitService.GetProjectUnitById(Grid1.SelectedRowID);
// if (projectUnit != null)
// {
// unitId = projectUnit.UnitId;
// }
// PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?UnitId={0}", unitId), "二维码查看", 400, 400));
string DomainNameUrl = ConfigurationManager.AppSettings["DomainNameUrl"]; string DomainNameUrl = ConfigurationManager.AppSettings["DomainNameUrl"];
string strCode = DomainNameUrl + Grid1.SelectedRowID; string strCode = DomainNameUrl + Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?ProjectUnitId={0}&strCode={1}", Grid1.SelectedRowID, strCode), "二维码查看", 400, 400)); PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?ProjectUnitId={0}&strCode={1}", Grid1.SelectedRowID, strCode), "二维码查看", 400, 400));
//int num = 0;
//if (getPersons.Count() > 0)
//{
// foreach (var item in getPersons)
// {
// string url = CreateQRCodeService.CreateCode_Simple("person$" + item.IdentityCard);
// if (!string.IsNullOrEmpty(url))
// {
// item.QRCodeAttachUrl = url;
// Funs.DB.SubmitChanges();
// num++;
// }
// }
//}
//ShowNotify("操作完成,新生成二维码" + num.ToString() + "条", MessageBoxIcon.Success);
} }
} }
} }

View File

@ -195,13 +195,13 @@ namespace FineUIPro.Web.ProjectData
protected global::FineUIPro.MenuButton btnMenuEdit; protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary> /// <summary>
/// btnORCode 控件。 /// btnQRCode 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.MenuButton btnORCode; protected global::FineUIPro.MenuButton btnQRCode;
/// <summary> /// <summary>
/// btnMenuDelete 控件。 /// btnMenuDelete 控件。

View File

@ -88,6 +88,7 @@
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:CheckBox runat="server" ID="ckIsSynchro" Label="是否同步实名制"></f:CheckBox> <f:CheckBox runat="server" ID="ckIsSynchro" Label="是否同步实名制"></f:CheckBox>
<f:CheckBox runat="server" ID="ckIsOutSideUnit" Label="是否系统外单位"></f:CheckBox>
</Items> </Items>
</f:FormRow> </f:FormRow>
</rows> </rows>

View File

@ -90,6 +90,10 @@ namespace FineUIPro.Web.ProjectData
{ {
this.ckIsSynchro.Checked = true; this.ckIsSynchro.Checked = true;
} }
if (projectUnit.IsOutSideUnit == true)
{
this.ckIsOutSideUnit.Checked = true;
}
} }
} }
} }
@ -122,6 +126,14 @@ namespace FineUIPro.Web.ProjectData
{ {
newProjectUnit.IsSynchro = null; newProjectUnit.IsSynchro = null;
} }
if (this.ckIsOutSideUnit.Checked)
{
newProjectUnit.IsOutSideUnit = true;
}
else
{
newProjectUnit.IsOutSideUnit = null;
}
BLL.ProjectUnitService.UpdateProjectUnit(newProjectUnit); BLL.ProjectUnitService.UpdateProjectUnit(newProjectUnit);
Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(newProjectUnit.UnitId); Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(newProjectUnit.UnitId);
if (unit != null) if (unit != null)

View File

@ -183,6 +183,15 @@ namespace FineUIPro.Web.ProjectData {
/// </remarks> /// </remarks>
protected global::FineUIPro.CheckBox ckIsSynchro; protected global::FineUIPro.CheckBox ckIsSynchro;
/// <summary>
/// ckIsOutSideUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox ckIsOutSideUnit;
/// <summary> /// <summary>
/// Toolbar1 控件。 /// Toolbar1 控件。
/// </summary> /// </summary>

View File

@ -161,6 +161,9 @@
</f:GroupField> </f:GroupField>
<f:RenderField Width="120px" ColumnID="TotalWorkNum" DataField="TotalWorkNum" FieldType="String" <f:RenderField Width="120px" ColumnID="TotalWorkNum" DataField="TotalWorkNum" FieldType="String"
HeaderText="总工时数(万)" HeaderTextAlign="Center" TextAlign="Center"> HeaderText="总工时数(万)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="OutSideUnitWorkNum" DataField="OutSideUnitWorkNum" FieldType="String"
HeaderText="去除系统内单位的总工时数(万)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField> </f:RenderField>
<f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center">
<Columns> <Columns>

View File

@ -123,6 +123,7 @@ namespace FineUIPro.Web.ZHGL.Information
yearTotalItem.ContractorNum = yearSumItems.Sum(x => x.ContractorNum ?? 0); yearTotalItem.ContractorNum = yearSumItems.Sum(x => x.ContractorNum ?? 0);
yearTotalItem.SumPersonNum = yearSumItems.Sum(x => x.SumPersonNum ?? 0); yearTotalItem.SumPersonNum = yearSumItems.Sum(x => x.SumPersonNum ?? 0);
yearTotalItem.TotalWorkNum = yearSumItems.Sum(x => x.TotalWorkNum ?? 0); yearTotalItem.TotalWorkNum = yearSumItems.Sum(x => x.TotalWorkNum ?? 0);
yearTotalItem.OutSideUnitWorkNum = yearSumItems.Sum(x => x.OutSideUnitWorkNum ?? 0);
yearTotalItem.SeriousInjuriesNum = yearSumItems.Sum(x => x.SeriousInjuriesNum ?? 0); yearTotalItem.SeriousInjuriesNum = yearSumItems.Sum(x => x.SeriousInjuriesNum ?? 0);
yearTotalItem.SeriousInjuriesPersonNum = yearSumItems.Sum(x => x.SeriousInjuriesPersonNum ?? 0); yearTotalItem.SeriousInjuriesPersonNum = yearSumItems.Sum(x => x.SeriousInjuriesPersonNum ?? 0);
yearTotalItem.SeriousInjuriesLossHour = yearSumItems.Sum(x => x.SeriousInjuriesLossHour ?? 0); yearTotalItem.SeriousInjuriesLossHour = yearSumItems.Sum(x => x.SeriousInjuriesLossHour ?? 0);

View File

@ -12,6 +12,11 @@
white-space: normal; white-space: normal;
word-break: break-all; word-break: break-all;
} }
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style> </style>
</head> </head>
<body> <body>
@ -221,15 +226,19 @@
<f:RenderField Width="120px" ColumnID="Affiliation" DataField="Affiliation" FieldType="String" <f:RenderField Width="120px" ColumnID="Affiliation" DataField="Affiliation" FieldType="String"
HeaderText="所属单位" HeaderTextAlign="Center"> HeaderText="所属单位" HeaderTextAlign="Center">
<Editor> <Editor>
<f:TextBox runat="server" ID="txtAffiliation" Text='<%# Eval("Affiliation")%>'> <%-- <f:TextBox runat="server" ID="txtAffiliation" Text='<%# Eval("Affiliation")%>'> --%>
</f:TextBox> <%-- </f:TextBox> --%>
<f:DropDownList ID="drpAffiliation" runat="server" AutoPostBack="true" OnSelectedIndexChanged="drpAffiliation_SelectedIndexChanged">
</f:DropDownList>
</Editor> </Editor>
</f:RenderField> </f:RenderField>
<f:RenderField Width="200px" ColumnID="Name" DataField="Name" FieldType="String" <f:RenderField Width="200px" ColumnID="Name" DataField="Name" FieldType="String"
HeaderText="名称" HeaderTextAlign="Center"> HeaderText="名称" HeaderTextAlign="Center">
<Editor> <Editor>
<f:TextBox runat="server" ID="txtName" Text='<%# Eval("Name")%>'> <%-- <f:TextBox runat="server" ID="txtName" Text='<%# Eval("Name")%>'> --%>
</f:TextBox> <%-- </f:TextBox> --%>
<f:DropDownList ID="drpName" runat="server" AutoPostBack="true" OnSelectedIndexChanged="drpName_SelectedIndexChanged">
</f:DropDownList>
</Editor> </Editor>
</f:RenderField> </f:RenderField>
<f:GroupField EnableLock="true" HeaderText="员工总数" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="员工总数" TextAlign="Center">
@ -270,6 +279,16 @@
</f:NumberBox> </f:NumberBox>
</Editor> </Editor>
</f:RenderField> </f:RenderField>
<f:RenderField Width="110px" ColumnID="OutSideUnitWorkNum" DataField="OutSideUnitWorkNum" FieldType="String"
HeaderText="去除系统内单位的总工时数(万)" HeaderTextAlign="Center">
<Editor>
<%-- <f:TextBox runat="server" ID="txtTotalWorkNum" Text='<%# Eval("TotalWorkNum")%>'>
</f:TextBox>--%>
<f:NumberBox ID="txtOutSideUnitWorkNum" NoDecimal="false" NoNegative="true" MinValue="0.00"
Text='<%# Eval("TotalWorkNum")%>' runat="server" DecimalPrecision="4">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="损失工时伤害事故" TextAlign="Center">
<Columns> <Columns>
<f:GroupField EnableLock="true" HeaderText="死亡事故" TextAlign="Center"> <f:GroupField EnableLock="true" HeaderText="死亡事故" TextAlign="Center">
@ -519,6 +538,9 @@
</Editor> </Editor>
</f:RenderField> </f:RenderField>
</Columns> </Columns>
<Listeners>
<f:Listener Event="beforeedit" Handler="onGridBeforeEdit"/>
</Listeners>
</f:Grid> </f:Grid>
</Items> </Items>
</f:FormRow> </f:FormRow>
@ -550,3 +572,65 @@
</form> </form>
</body> </body>
</html> </html>
<script type="text/javascript">
// 存储已绑定事件的下拉框ID避免重复绑定
var boundDrpIds = [];
var grid1ClientID = '<%= Grid1.ClientID %>';
// Grid 单元格点击事件核心纯DOM解析不依赖事件参数
function onGridBeforeEdit(e) {
// 1. 解析点击的单元格DOM获取行索引和列ID
var cellDom = $(e.target).closest(".f-grid-cell"); // 找到单元格DOM
if (!cellDom.length) return;
// 2. 获取行索引从行DOM的属性中解析
var rowDom = cellDom.closest(".f-grid-row");
var rowIndex = rowDom.attr("data-rowid"); // 行索引
if (rowIndex === undefined) return;
// 3. 获取列ID从单元格DOM的属性中解析
var columnId = cellDom.attr("data-columnid"); // 列IDName
if (columnId !== "Name") return;
// 4. 触发单元格进入编辑态
var grid = F(grid1ClientID);
// 通过遍历columns数组查找匹配的列
var column = null;
for (var i = 0; i < grid.columns.length; i++) {
if (grid.columns[i].columnId === columnId) {
column = grid.columns[i];
break;
}
}
if (!column) return;
if (columnId === "Name") {
var unitName = "";
for (var i = 0; i < grid.data.length; i++) {
if (grid.data[i].id === rowIndex) {
unitName = grid.data[i].values.Affiliation;
break;
}
}
// 动态加载选项 获取项目名称
loadDynamicProject(column,unitName)
};
}
function loadDynamicProject(column,unitName) {
$.ajax({
url: "MillionsMonthlyReportSave.aspx/InitDrpNameDataSource",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({
unitName: unitName,
}),
success: function(data) {
var items = data.d;
if(items.length>0){
column.editor.data = items;
}
},
error: function(xhr) {
console.log("加载选项失败:" + xhr.responseText);
}
});
}
</script>

View File

@ -5,6 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Web.Services;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
namespace FineUIPro.Web.ZHGL.Information namespace FineUIPro.Web.ZHGL.Information
@ -43,6 +44,11 @@ namespace FineUIPro.Web.ZHGL.Information
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
drpAffiliation.DataTextField = "UnitName";
drpAffiliation.DataValueField = "UnitName";
drpAffiliation.DataSource = BLL.UnitService.GetBranchUnitList(false);
drpAffiliation.DataBind();
this.GetButtonPower(); this.GetButtonPower();
items.Clear(); items.Clear();
BLL.ConstValue.InitConstValueDropDownList(this.drpMonth, ConstValue.Group_0009, false); BLL.ConstValue.InitConstValueDropDownList(this.drpMonth, ConstValue.Group_0009, false);
@ -467,7 +473,7 @@ namespace FineUIPro.Web.ZHGL.Information
#region #region
private void GetItems(string millionsMonthlyReportId) private void GetItems(string millionsMonthlyReportId)
{ {
decimal TotalWorkNumSum = 0; decimal TotalWorkNumSum = 0, OutSideUnitWorkNumSum = 0;
int PostPersonNumSum = 0, SnapPersonNumSum = 0, ContractorNumSum = 0, SumPersonNumSum = 0, SeriousInjuriesNumSum = 0, SeriousInjuriesPersonNumSum = 0, SeriousInjuriesLossHourSum = 0, MinorAccidentNumSum = 0, int PostPersonNumSum = 0, SnapPersonNumSum = 0, ContractorNumSum = 0, SumPersonNumSum = 0, SeriousInjuriesNumSum = 0, SeriousInjuriesPersonNumSum = 0, SeriousInjuriesLossHourSum = 0, MinorAccidentNumSum = 0,
MinorAccidentPersonNumSum = 0, MinorAccidentLossHourSum = 0, DeathAccidentNumSum = 0, DeathAccidentPersonNumSum = 0, DeathAccidentLossHourSum = 0, RestrictedWorkPersonNumSum = 0, RestrictedWorkLossHourSum = 0, MedicalTreatmentPersonNumSum = 0, MedicalTreatmentLossHourSum = 0, MinorAccidentPersonNumSum = 0, MinorAccidentLossHourSum = 0, DeathAccidentNumSum = 0, DeathAccidentPersonNumSum = 0, DeathAccidentLossHourSum = 0, RestrictedWorkPersonNumSum = 0, RestrictedWorkLossHourSum = 0, MedicalTreatmentPersonNumSum = 0, MedicalTreatmentLossHourSum = 0,
FireNumSum = 0, EnvironmenNumSum = 0, TrafficNumSum = 0, EquipmentNumSum = 0, QualityNumSum = 0, OtherNumSum = 0, FirstAidDressingsNumSum = 0, AttemptedEventNumSum = 0, LossDayNumSum = 0; FireNumSum = 0, EnvironmenNumSum = 0, TrafficNumSum = 0, EquipmentNumSum = 0, QualityNumSum = 0, OtherNumSum = 0, FirstAidDressingsNumSum = 0, AttemptedEventNumSum = 0, LossDayNumSum = 0;
@ -487,10 +493,21 @@ namespace FineUIPro.Web.ZHGL.Information
if (!string.IsNullOrEmpty(values["Affiliation"].ToString())) if (!string.IsNullOrEmpty(values["Affiliation"].ToString()))
{ {
item.Affiliation = values.Value<string>("Affiliation"); item.Affiliation = values.Value<string>("Affiliation");
var getUnit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == values.Value<string>("Affiliation"));
if (getUnit != null)
{
item.UnitId = getUnit.UnitId;
}
} }
if (!string.IsNullOrEmpty(values["Name"].ToString())) if (!string.IsNullOrEmpty(values["Name"].ToString()))
{ {
item.Name = values.Value<string>("Name"); item.Name = values.Value<string>("Name");
var Name = System.Text.RegularExpressions.Regex.Replace(values.Value<string>("Name"), @"\[[^\]]*\]", "").Trim();
var getProject = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == Name);
if (getProject != null)
{
item.ProjectId = getProject.ProjectId;
}
} }
if (!string.IsNullOrEmpty(values["PostPersonNum"].ToString())) if (!string.IsNullOrEmpty(values["PostPersonNum"].ToString()))
{ {
@ -538,6 +555,15 @@ namespace FineUIPro.Web.ZHGL.Information
{ {
item.TotalWorkNum = 0; item.TotalWorkNum = 0;
} }
if (!string.IsNullOrEmpty(values["OutSideUnitWorkNum"].ToString()))
{
item.OutSideUnitWorkNum = values.Value<decimal>("OutSideUnitWorkNum");
OutSideUnitWorkNumSum += values.Value<decimal>("OutSideUnitWorkNum");
}
else
{
item.OutSideUnitWorkNum = 0;
}
if (!string.IsNullOrEmpty(values["SeriousInjuriesNum"].ToString())) if (!string.IsNullOrEmpty(values["SeriousInjuriesNum"].ToString()))
{ {
item.SeriousInjuriesNum = values.Value<int>("SeriousInjuriesNum"); item.SeriousInjuriesNum = values.Value<int>("SeriousInjuriesNum");
@ -744,6 +770,7 @@ namespace FineUIPro.Web.ZHGL.Information
ContractorNum = ContractorNumSum, ContractorNum = ContractorNumSum,
SumPersonNum = SumPersonNumSum, SumPersonNum = SumPersonNumSum,
TotalWorkNum = TotalWorkNumSum, TotalWorkNum = TotalWorkNumSum,
OutSideUnitWorkNum = OutSideUnitWorkNumSum,
SeriousInjuriesNum = SeriousInjuriesNumSum, SeriousInjuriesNum = SeriousInjuriesNumSum,
SeriousInjuriesPersonNum = SeriousInjuriesPersonNumSum, SeriousInjuriesPersonNum = SeriousInjuriesPersonNumSum,
SeriousInjuriesLossHour = SeriousInjuriesLossHourSum, SeriousInjuriesLossHour = SeriousInjuriesLossHourSum,
@ -789,6 +816,7 @@ namespace FineUIPro.Web.ZHGL.Information
{ {
newItem.SortIndex = oldItem.SortIndex + 1; newItem.SortIndex = oldItem.SortIndex + 1;
newItem.Affiliation = oldItem.Affiliation; newItem.Affiliation = oldItem.Affiliation;
drpAffiliation_SelectedIndexChanged(sender, e);
} }
else else
{ {
@ -850,6 +878,7 @@ namespace FineUIPro.Web.ZHGL.Information
ContractorNum = 0, ContractorNum = 0,
SumPersonNum = 0, SumPersonNum = 0,
TotalWorkNum = 0, TotalWorkNum = 0,
OutSideUnitWorkNum = 0,
SeriousInjuriesNum = 0, SeriousInjuriesNum = 0,
SeriousInjuriesPersonNum = 0, SeriousInjuriesPersonNum = 0,
SeriousInjuriesLossHour = 0, SeriousInjuriesLossHour = 0,
@ -886,6 +915,7 @@ namespace FineUIPro.Web.ZHGL.Information
ContractorNum = 0, ContractorNum = 0,
SumPersonNum = 0, SumPersonNum = 0,
TotalWorkNum = 0, TotalWorkNum = 0,
OutSideUnitWorkNum = 0,
SeriousInjuriesNum = 0, SeriousInjuriesNum = 0,
SeriousInjuriesPersonNum = 0, SeriousInjuriesPersonNum = 0,
SeriousInjuriesLossHour = 0, SeriousInjuriesLossHour = 0,
@ -948,6 +978,7 @@ namespace FineUIPro.Web.ZHGL.Information
item.ContractorNum = report.ContractorNum; item.ContractorNum = report.ContractorNum;
item.SumPersonNum = report.SumPersonNum; item.SumPersonNum = report.SumPersonNum;
item.TotalWorkNum = report.TotalWorkNum; item.TotalWorkNum = report.TotalWorkNum;
item.OutSideUnitWorkNum = report.OutSideUnitWorkNum;
item.SeriousInjuriesNum = report.SeriousInjuriesNum; item.SeriousInjuriesNum = report.SeriousInjuriesNum;
item.SeriousInjuriesPersonNum = report.SeriousInjuriesPersonNum; item.SeriousInjuriesPersonNum = report.SeriousInjuriesPersonNum;
item.SeriousInjuriesLossHour = report.SeriousInjuriesLossHour; item.SeriousInjuriesLossHour = report.SeriousInjuriesLossHour;
@ -978,6 +1009,7 @@ namespace FineUIPro.Web.ZHGL.Information
item.ContractorNum = 0; item.ContractorNum = 0;
item.SumPersonNum = 0; item.SumPersonNum = 0;
item.TotalWorkNum = 0; item.TotalWorkNum = 0;
item.OutSideUnitWorkNum = 0;
item.SeriousInjuriesNum = 0; item.SeriousInjuriesNum = 0;
item.SeriousInjuriesPersonNum = 0; item.SeriousInjuriesPersonNum = 0;
item.SeriousInjuriesLossHour = 0; item.SeriousInjuriesLossHour = 0;
@ -1133,6 +1165,7 @@ namespace FineUIPro.Web.ZHGL.Information
ContractorNum = item.ContractorNum, ContractorNum = item.ContractorNum,
SumPersonNum = item.SumPersonNum, SumPersonNum = item.SumPersonNum,
TotalWorkNum = item.TotalWorkNum, TotalWorkNum = item.TotalWorkNum,
OutSideUnitWorkNum = item.OutSideUnitWorkNum,
SeriousInjuriesNum = item.SeriousInjuriesNum, SeriousInjuriesNum = item.SeriousInjuriesNum,
SeriousInjuriesPersonNum = item.SeriousInjuriesPersonNum, SeriousInjuriesPersonNum = item.SeriousInjuriesPersonNum,
SeriousInjuriesLossHour = item.SeriousInjuriesLossHour, SeriousInjuriesLossHour = item.SeriousInjuriesLossHour,
@ -1284,5 +1317,92 @@ namespace FineUIPro.Web.ZHGL.Information
} }
this.txtKeyWorkOKRate.Text = rate; this.txtKeyWorkOKRate.Text = rate;
} }
protected void drpAffiliation_SelectedIndexChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(drpAffiliation.SelectedValue))
{
var getUnit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == drpAffiliation.SelectedValue);
if (getUnit != null)
{
var originalProjects = ProjectService.GetProjectWorkList(getUnit.UnitId);
var getSProjects = originalProjects.Select(x => new
{
x.ProjectId,
ProjectName = $"[{x.ProjectCode}]{x.ProjectName}",
}).ToList();
drpName.DataTextField = "ProjectName";
drpName.DataValueField = "ProjectName";
drpName.DataSource = getSProjects;
drpName.DataBind();
}
}
}
protected void drpName_SelectedIndexChanged(object sender, EventArgs e)
{
bool isDuplicate = false;
if (!string.IsNullOrEmpty(drpName.SelectedValue))
{
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
if (!string.IsNullOrEmpty(values["Name"].ToString()) && !string.IsNullOrEmpty(values["Affiliation"].ToString()))
{
if (values.Value<string>("Name") == drpName.SelectedValue && values.Value<string>("Affiliation") == drpAffiliation.SelectedValue)
{
isDuplicate = true;
break;
}
}
}
}
if (isDuplicate)
{
drpName.SelectedValue = string.Empty;
Alert.Show("此项目已被选择,请勿重复!");
}
}
#region
[WebMethod]
public static List<object> InitDrpNameDataSource(string unitName)
{
List<object> result = new List<object>();
try
{
var getUnit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == unitName);
if (getUnit != null)
{
var originalProjects = ProjectService.GetProjectWorkList(getUnit.UnitId);
var getSProjects = originalProjects.Select(x => new
{
x.ProjectId,
ProjectName = $"[{x.ProjectCode}]{x.ProjectName}",
}).ToList();
foreach (var project in getSProjects)
{
result.Add(new
{
display = project.ProjectName ?? "",
enabled = 1,
group = "",
prefix = string.Empty,
value = project.ProjectName ?? "",
text = project.ProjectName ?? "",
});
}
}
}
catch (Exception ex)
{
}
return result;
}
#endregion
} }
} }

View File

@ -436,22 +436,22 @@ namespace FineUIPro.Web.ZHGL.Information {
protected global::FineUIPro.Grid Grid1; protected global::FineUIPro.Grid Grid1;
/// <summary> /// <summary>
/// txtAffiliation 控件。 /// drpAffiliation 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtAffiliation; protected global::FineUIPro.DropDownList drpAffiliation;
/// <summary> /// <summary>
/// txtName 控件。 /// drpName 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtName; protected global::FineUIPro.DropDownList drpName;
/// <summary> /// <summary>
/// txtPostPersonNum 控件。 /// txtPostPersonNum 控件。
@ -489,6 +489,15 @@ namespace FineUIPro.Web.ZHGL.Information {
/// </remarks> /// </remarks>
protected global::FineUIPro.NumberBox txtTotalWorkNum; protected global::FineUIPro.NumberBox txtTotalWorkNum;
/// <summary>
/// txtOutSideUnitWorkNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtOutSideUnitWorkNum;
/// <summary> /// <summary>
/// txtDeathAccidentNum 控件。 /// txtDeathAccidentNum 控件。
/// </summary> /// </summary>

View File

@ -227254,6 +227254,12 @@ namespace Model
private System.Nullable<int> _EnvironmenNum; private System.Nullable<int> _EnvironmenNum;
private System.Nullable<decimal> _OutSideUnitWorkNum;
private string _UnitId;
private string _ProjectId;
private EntityRef<Information_MillionsMonthlyReport> _Information_MillionsMonthlyReport; private EntityRef<Information_MillionsMonthlyReport> _Information_MillionsMonthlyReport;
#region #region
@ -227332,6 +227338,12 @@ namespace Model
partial void OnDeathAccidentLossHourChanged(); partial void OnDeathAccidentLossHourChanged();
partial void OnEnvironmenNumChanging(System.Nullable<int> value); partial void OnEnvironmenNumChanging(System.Nullable<int> value);
partial void OnEnvironmenNumChanged(); partial void OnEnvironmenNumChanged();
partial void OnOutSideUnitWorkNumChanging(System.Nullable<decimal> value);
partial void OnOutSideUnitWorkNumChanged();
partial void OnUnitIdChanging(string value);
partial void OnUnitIdChanged();
partial void OnProjectIdChanging(string value);
partial void OnProjectIdChanged();
#endregion #endregion
public Information_MillionsMonthlyReportItem() public Information_MillionsMonthlyReportItem()
@ -228064,6 +228076,66 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutSideUnitWorkNum", DbType="Decimal(18,4)")]
public System.Nullable<decimal> OutSideUnitWorkNum
{
get
{
return this._OutSideUnitWorkNum;
}
set
{
if ((this._OutSideUnitWorkNum != value))
{
this.OnOutSideUnitWorkNumChanging(value);
this.SendPropertyChanging();
this._OutSideUnitWorkNum = value;
this.SendPropertyChanged("OutSideUnitWorkNum");
this.OnOutSideUnitWorkNumChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")]
public string UnitId
{
get
{
return this._UnitId;
}
set
{
if ((this._UnitId != value))
{
this.OnUnitIdChanging(value);
this.SendPropertyChanging();
this._UnitId = value;
this.SendPropertyChanged("UnitId");
this.OnUnitIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this.OnProjectIdChanging(value);
this.SendPropertyChanging();
this._ProjectId = value;
this.SendPropertyChanged("ProjectId");
this.OnProjectIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Information_MillionsMonthlyReportItem_Information_MillionsMonthlyReport", Storage="_Information_MillionsMonthlyReport", ThisKey="MillionsMonthlyReportId", OtherKey="MillionsMonthlyReportId", IsForeignKey=true)] [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Information_MillionsMonthlyReportItem_Information_MillionsMonthlyReport", Storage="_Information_MillionsMonthlyReport", ThisKey="MillionsMonthlyReportId", OtherKey="MillionsMonthlyReportId", IsForeignKey=true)]
public Information_MillionsMonthlyReport Information_MillionsMonthlyReport public Information_MillionsMonthlyReport Information_MillionsMonthlyReport
{ {
@ -239724,6 +239796,8 @@ namespace Model
private System.Nullable<int> _SoleDutyNum; private System.Nullable<int> _SoleDutyNum;
private System.Nullable<decimal> _OutSideUnitWorkNum;
private EntityRef<Base_Project> _Base_Project; private EntityRef<Base_Project> _Base_Project;
private EntityRef<Sys_User> _Sys_User; private EntityRef<Sys_User> _Sys_User;
@ -239844,6 +239918,8 @@ namespace Model
partial void OnCommissionerNumChanged(); partial void OnCommissionerNumChanged();
partial void OnSoleDutyNumChanging(System.Nullable<int> value); partial void OnSoleDutyNumChanging(System.Nullable<int> value);
partial void OnSoleDutyNumChanged(); partial void OnSoleDutyNumChanged();
partial void OnOutSideUnitWorkNumChanging(System.Nullable<decimal> value);
partial void OnOutSideUnitWorkNumChanged();
#endregion #endregion
public InformationProject_MillionsMonthlyReport() public InformationProject_MillionsMonthlyReport()
@ -240981,6 +241057,26 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OutSideUnitWorkNum", DbType="Decimal(18,4)")]
public System.Nullable<decimal> OutSideUnitWorkNum
{
get
{
return this._OutSideUnitWorkNum;
}
set
{
if ((this._OutSideUnitWorkNum != value))
{
this.OnOutSideUnitWorkNumChanging(value);
this.SendPropertyChanging();
this._OutSideUnitWorkNum = value;
this.SendPropertyChanged("OutSideUnitWorkNum");
this.OnOutSideUnitWorkNumChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_InformationProject_MillionsMonthlyReport_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_InformationProject_MillionsMonthlyReport_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
public Base_Project Base_Project public Base_Project Base_Project
{ {
@ -324705,6 +324801,8 @@ namespace Model
private string _QRCodeAttachUrl; private string _QRCodeAttachUrl;
private System.Nullable<bool> _IsOutSideUnit;
private EntityRef<Base_Project> _Base_Project; private EntityRef<Base_Project> _Base_Project;
private EntityRef<Base_Unit> _Base_Unit; private EntityRef<Base_Unit> _Base_Unit;
@ -324745,6 +324843,8 @@ namespace Model
partial void OnCQMS_OrganizationPicChanged(); partial void OnCQMS_OrganizationPicChanged();
partial void OnQRCodeAttachUrlChanging(string value); partial void OnQRCodeAttachUrlChanging(string value);
partial void OnQRCodeAttachUrlChanged(); partial void OnQRCodeAttachUrlChanged();
partial void OnIsOutSideUnitChanging(System.Nullable<bool> value);
partial void OnIsOutSideUnitChanged();
#endregion #endregion
public Project_ProjectUnit() public Project_ProjectUnit()
@ -325082,6 +325182,26 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsOutSideUnit", DbType="Bit")]
public System.Nullable<bool> IsOutSideUnit
{
get
{
return this._IsOutSideUnit;
}
set
{
if ((this._IsOutSideUnit != value))
{
this.OnIsOutSideUnitChanging(value);
this.SendPropertyChanging();
this._IsOutSideUnit = value;
this.SendPropertyChanged("IsOutSideUnit");
this.OnIsOutSideUnitChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Project_ProjectUnit_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Project_ProjectUnit_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
public Base_Project Base_Project public Base_Project Base_Project
{ {