提交代码
This commit is contained in:
@@ -406,7 +406,7 @@ namespace BLL
|
|||||||
/// 获取出入记录人工时
|
/// 获取出入记录人工时
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<Model.WorkPostStatisticItem> getWorkPostStatistic(List<Model.SitePerson_PersonInOut> getAllPersonInOutList)
|
public static List<Model.WorkPostStatisticItem> getWorkPostStatistic(List<Model.SitePerson_PersonInOut> getAllPersonInOutList, DateTime? startTime, DateTime? endTime, string projectId)
|
||||||
{
|
{
|
||||||
Model.SGGLDB db = Funs.DB;
|
Model.SGGLDB db = Funs.DB;
|
||||||
List<Model.WorkPostStatisticItem> reports = new List<Model.WorkPostStatisticItem>();
|
List<Model.WorkPostStatisticItem> reports = new List<Model.WorkPostStatisticItem>();
|
||||||
@@ -428,7 +428,14 @@ namespace BLL
|
|||||||
PersonCount = getW.Select(x => x.PersonId).Distinct().Count(),
|
PersonCount = getW.Select(x => x.PersonId).Distinct().Count(),
|
||||||
UnitWorkPostID = uitem + "|" + witem,
|
UnitWorkPostID = uitem + "|" + witem,
|
||||||
};
|
};
|
||||||
|
if (witem == BLL.Const.WorkPost_Welder)
|
||||||
|
{
|
||||||
|
newWItem.EngineeringQuantity = (from x in db.HJGL_WeldJoint
|
||||||
|
join y in db.HJGL_WeldingDaily
|
||||||
|
on x.WeldingDailyId equals y.WeldingDailyId
|
||||||
|
where x.ProjectId == projectId && y.UnitId == uitem && y.WeldingDate >= startTime && y.WeldingDate <= endTime
|
||||||
|
select x.Size ?? 0).ToList().Sum();
|
||||||
|
}
|
||||||
reports.Add(newWItem);
|
reports.Add(newWItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,14 @@
|
|||||||
<asp:Label ID="Label1" runat="server" Text='<%# ConvertWorkTime(Eval("UnitWorkPostID")) %>'></asp:Label>
|
<asp:Label ID="Label1" runat="server" Text='<%# ConvertWorkTime(Eval("UnitWorkPostID")) %>'></asp:Label>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</f:TemplateField>
|
</f:TemplateField>
|
||||||
|
<f:RenderField Width="120px" ColumnID="EngineeringQuantity" DataField="EngineeringQuantity" FieldType="Double"
|
||||||
|
HeaderText="工程量" HeaderTextAlign="Center" TextAlign="Right">
|
||||||
|
</f:RenderField>
|
||||||
|
<f:TemplateField Width="120px" HeaderText="工效" HeaderTextAlign="Center" TextAlign="Right">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="Label2" runat="server" Text='<%# ConvertWorkEfficiency(Eval("UnitWorkPostID"),Eval("EngineeringQuantity")) %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</f:TemplateField>
|
||||||
</Columns>
|
</Columns>
|
||||||
<PageItems>
|
<PageItems>
|
||||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
|||||||
workPostId = this.drpWorkPost.SelectedValue;
|
workPostId = this.drpWorkPost.SelectedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var dayReports = PersonInOutService.getWorkPostStatistic(getAllPersonInOutList);
|
var dayReports = PersonInOutService.getWorkPostStatistic(getAllPersonInOutList, startTime, endTime, this.ProjectId);
|
||||||
DataTable tb = this.LINQToDataTable(dayReports);
|
DataTable tb = this.LINQToDataTable(dayReports);
|
||||||
// 2.获取当前分页数据
|
// 2.获取当前分页数据
|
||||||
//var table = this.GetPagedDataTable(GridNewDynamic, tb1);
|
//var table = this.GetPagedDataTable(GridNewDynamic, tb1);
|
||||||
@@ -210,5 +210,56 @@ namespace FineUIPro.Web.HSSE.SitePerson
|
|||||||
}
|
}
|
||||||
return workTime.ToString();
|
return workTime.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
protected string ConvertWorkEfficiency(object UnitWorkPostID, object EngineeringQuantity)
|
||||||
|
{
|
||||||
|
string workEfficiency = string.Empty;
|
||||||
|
int workTime = 0;
|
||||||
|
if (UnitWorkPostID != null)
|
||||||
|
{
|
||||||
|
List<string> getUWId = Funs.GetStrListByStr(UnitWorkPostID.ToString(), '|');
|
||||||
|
if (getUWId.Count() > 1)
|
||||||
|
{
|
||||||
|
string unitId = getUWId[0];
|
||||||
|
string workPostId = getUWId[1];
|
||||||
|
var getW = getAllPersonInOutList.Where(x => x.UnitId == unitId && x.WorkPostId == workPostId);
|
||||||
|
//// 出场记录 集合
|
||||||
|
var getUnitOutList = getW.Where(x => x.IsIn == false);
|
||||||
|
//// 进场记录 集合
|
||||||
|
var getUnitInList = getW.Where(x => x.IsIn == true);
|
||||||
|
int personWorkTime = 0;
|
||||||
|
List<string> personIdList = new List<string>();
|
||||||
|
foreach (var itemOut in getUnitOutList)
|
||||||
|
{
|
||||||
|
var getMaxInTime = getUnitInList.Where(x => x.ChangeTime < itemOut.ChangeTime
|
||||||
|
&& x.PersonId == itemOut.PersonId && x.ChangeTime.Value.AddDays(1) > itemOut.ChangeTime).Max(x => x.ChangeTime);
|
||||||
|
if (getMaxInTime.HasValue)
|
||||||
|
{
|
||||||
|
personWorkTime += Convert.ToInt32((itemOut.ChangeTime - getMaxInTime).Value.TotalMinutes);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
personIdList.Add(itemOut.PersonId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (personIdList.Count() > 0)
|
||||||
|
{
|
||||||
|
personWorkTime += (personIdList.Distinct().Count() * 8 * 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
workTime = Convert.ToInt32(personWorkTime * 1.0 / 60);
|
||||||
|
decimal engineeringQuantity = Funs.GetNewDecimalOrZero(EngineeringQuantity.ToString());
|
||||||
|
if (workTime > 0 && engineeringQuantity>0)
|
||||||
|
{
|
||||||
|
workEfficiency = (engineeringQuantity / workTime).ToString("0.##");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return workEfficiency;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -129,6 +129,15 @@ namespace FineUIPro.Web.HSSE.SitePerson {
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label Label1;
|
protected global::System.Web.UI.WebControls.Label Label1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Label2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label Label2;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarSeparator1 控件。
|
/// ToolbarSeparator1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -45,5 +45,15 @@
|
|||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
|
public decimal EngineeringQuantity
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
public decimal WorkEfficiency
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user