提交代码

This commit is contained in:
2024-03-18 09:08:16 +08:00
parent 1210be8ad0
commit b925c6d1e7
49 changed files with 4765 additions and 2387 deletions
@@ -0,0 +1,87 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunPerformanceMonthReport.aspx.cs" Inherits="FineUIPro.Web.ZHGL.TestRunPerformance.TestRunPerformanceMonthReport" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>开车人员月绩效报告</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="开车绩效记录" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TestRunPerformanceMonthReportId" EnableColumnLines="true" DataIDField="TestRunPerformanceMonthReportId"
AllowSorting="true" SortField="Year" SortDirection="DESC" OnSort="Grid1_Sort" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="姓名" ID="txtUserName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="250px" LabelWidth="50px"></f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="true" OnClick="btnNew_Click" runat="server"
Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center" TextAlign="Center"/>
<f:RenderField Width="100px" ColumnID="UserName" DataField="UserName"
FieldType="String" HeaderText="姓名" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Year" DataField="Year"
FieldType="String" HeaderText="年份" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CompileDate" DataField="CompileDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="编制日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="开车人员月绩效报告" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Self" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1500px" Height="700px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除"
Icon="Delete">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/jscript">
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>
</html>
@@ -0,0 +1,203 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.ZHGL.TestRunPerformance
{
public partial class TestRunPerformanceMonthReport : PageBase
{
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
////权限按钮方法
this.GetButtonPower();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT performance.TestRunPerformanceMonthReportId,performance.Year,performance.UserId,performance.CompileDate,Users.UserName "
+ @" From dbo.ZHGL_TestRunPerformanceMonthReport AS performance"
+ @" LEFT JOIN Sys_User AS Users ON Users.UserId=performance.UserId"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.CurrUser.UserId != BLL.Const.sysglyId && this.CurrUser.UserId != BLL.Const.hfnbdId)
{
strSql += " AND performance.UserId = @UserId";
listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId));
}
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
{
strSql += " AND UserName LIKE @UserName";
listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.Text.Trim() + "%"));
}
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();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
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="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var performance = TestRunPerformanceMonthReportService.GetTestRunPerformanceMonthReportById(rowID);
if (performance != null)
{
BLL.TestRunPerformanceMonthReportService.DeleteTestRunPerformanceMonthReportById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("请至少选中一行!", MessageBoxIcon.Warning);
}
}
#endregion
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunPerformanceMonthReportEdit.aspx", "编辑 - ")));
}
#region
/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string Id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunPerformanceMonthReportEdit.aspx?TestRunPerformanceMonthReportId={0}", Id, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuEdit_Click(null, null);
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TestRunPerformanceMonthReportMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
}
}
@@ -0,0 +1,150 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ZHGL.TestRunPerformance {
public partial class TestRunPerformanceMonthReport {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtUserName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUserName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,144 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunPerformanceMonthReportEdit.aspx.cs" Inherits="FineUIPro.Web.ZHGL.TestRunPerformance.TestRunPerformanceMonthReportEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.f-grid-row.noEdit {
pointer-events: none;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id" EnableTree="true" EnableColumnLines="true"
DataIDField="Id">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DropDownList runat="server" ID="drpUser" Label="开车人员" LabelWidth="100px" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="drpUser_SelectedIndexChanged"></f:DropDownList>
<f:DatePicker runat="server" Label="年份" ID="txtYear" LabelWidth="100px" LabelAlign="Right" DisplayType="Year" DateFormatString="yyyy" AutoPostBack="true" OnTextChanged="drpUser_SelectedIndexChanged"></f:DatePicker>
<f:TextBox runat="server" ID="hdId" Hidden="true"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:BoundField Width="60px" ColumnID="Code" DataField="Code" HeaderTextAlign="Center" EnableLock="true" Locked="true"
HeaderText="序号" />
<f:GroupField HeaderText="开车工作事项<br/>WBS" TextAlign="Center" EnableLock="true" Locked="true">
<Columns>
<f:BoundField Width="100px" ColumnID="ProjectName" DataField="ProjectName" HeaderText="工作地点" TextAlign="Center" EnableLock="true" Locked="true" />
<f:BoundField Width="200px" ColumnID="JobContent" DataField="JobContent" HeaderText="工作内容" TextAlign="Center" EnableLock="true" Locked="true" />
</Columns>
</f:GroupField>
<f:BoundField Width="100px" ColumnID="IsForeign" DataField="IsForeign" HeaderText="是否境外项目" TextAlign="Center" />
<f:GroupField HeaderText="标准工日(不含系数)" TextAlign="Center">
<Columns>
<f:GroupField HeaderText="部门基础工作" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item1" DataField="Item1" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit1" DataField="Unit1" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days1" DataField="Days1" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="公司培训" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item2" DataField="Item2" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit2" DataField="Unit2" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="项目报价" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item3" DataField="Item3" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit3" DataField="Unit3" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="开车策划" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item4" DataField="Item4" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit4" DataField="Unit4" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="开车培训" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item5" DataField="Item5" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit5" DataField="Unit5" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days5" DataField="Days5" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="合同管理" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item6" DataField="Item6" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit6" DataField="Unit6" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="预试车" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item7" DataField="Item7" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit7" DataField="Unit7" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days7" DataField="Days7" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="试车" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item8" DataField="Item8" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit8" DataField="Unit8" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="试运行及考核" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item9" DataField="Item9" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit9" DataField="Unit9" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days9" DataField="Days9" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="开车收尾" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item10" DataField="Item10" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit10" DataField="Unit10" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days10" DataField="Days10" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="项目协调" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item11" DataField="Item11" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit11" DataField="Unit11" HeaderText="计量单位" TextAlign="Center" />
</Columns>
</f:GroupField>
<f:GroupField HeaderText="其他工作" TextAlign="Center">
<Columns>
<f:BoundField Width="100px" ColumnID="Item12" DataField="Item12" HeaderText="工作类别" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Unit12" DataField="Unit12" HeaderText="计量单位" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="Days12" DataField="Days12" HeaderText="手动输入" TextAlign="Center" />
</Columns>
</f:GroupField>
</Columns>
</f:GroupField>
<f:BoundField Width="100px" ColumnID="SumDays" DataField="SumDays" HeaderText="合计标准工日" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="ProjectTripDays" DataField="ProjectTripDays" HeaderText="项目出差天数" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="OtherTripDays" DataField="OtherTripDays" HeaderText="其他出差天数" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="SumDays1" DataField="SumDays1" HeaderText="基础工作折算工日" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="SumDays3" DataField="SumDays3" HeaderText="投标折算工日" TextAlign="Center" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,386 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.ZHGL.TestRunPerformance
{
public partial class TestRunPerformanceMonthReportEdit : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string Id = Request.Params["TestRunPerformanceMonthReportId"];
Model.SGGLDB db = Funs.DB;
var userIds = (from x in db.Person_TestRunPerformance select x.UserId).Distinct().ToList();
var users = from x in db.Sys_User where userIds.Contains(x.UserId) select x;
this.drpUser.DataTextField = "UserName";
this.drpUser.DataValueField = "UserId";
this.drpUser.DataSource = users;
this.drpUser.DataBind();
Funs.FineUIPleaseSelect(this.drpUser);
this.drpUser.SelectedValue = this.CurrUser.UserId;
Model.ZHGL_TestRunPerformanceMonthReport report = BLL.TestRunPerformanceMonthReportService.GetTestRunPerformanceMonthReportById(Id);
if (report != null)
{
if (!string.IsNullOrEmpty(report.UserId))
{
this.drpUser.SelectedValue = report.UserId;
}
if (report.Year != null)
{
this.txtYear.Text = report.Year.ToString();
}
if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim()))
{
BindGrid();
}
}
}
}
#endregion
private void BindGrid()
{
Model.SGGLDB db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtYear.Text + "-01" + "-01");
DateTime endDate = startDate.AddYears(1);
var projects = from x in db.Base_Project select x;
var getTestRunPerformances = (from x in db.Person_TestRunPerformance
join y in db.Base_TestRunPerformanceStandard on x.TestRunPerformanceStandardId equals y.TestRunPerformanceStandardId
where x.UserId == this.drpUser.SelectedValue && x.Months >= startDate && x.Months < endDate
select new { x.Months, x.ProjectId, x.JobContent, y.Type, y.Item, y.Unit, y.Days }).ToList();
IQueryable<Model.Person_BusinessTrip> getTrips = from x in db.Person_BusinessTrip
where x.UserId == this.drpUser.SelectedValue && x.LeaveDate >= startDate && x.ArriveDate < endDate
select x;
IQueryable<Model.View_WBS_CostControlParentDetail> getParentDetails = from x in db.View_WBS_CostControlParentDetail select x;
IQueryable<Model.Wbs_WbsSet> getWbsSets = from x in db.Wbs_WbsSet select x;
IQueryable<Model.WBS_WbsSetInit> getWbsSetInits = from x in db.WBS_WbsSetInit select x;
IQueryable<Model.Wbs_UnitProject> getUnitProjects = from x in db.Wbs_UnitProject select x;
IQueryable<Model.Wbs_UnitProjectInit> getUnitProjectInits = from x in db.Wbs_UnitProjectInit select x;
IQueryable<Model.WBS_CnProfession> getCnProfessions = from x in db.WBS_CnProfession select x;
IQueryable<Model.WBS_CnProfessionInit> getCnProfessionInits = from x in db.WBS_CnProfessionInit select x;
IQueryable<Model.Project_Installation> getInstallations = from x in db.Project_Installation select x;
IQueryable<Model.View_WBS_CostControlDetailStatistics> getCostControlDetailStatisticss = from x in db.View_WBS_CostControlDetailStatistics select x;
List<Model.View_WBS_CostControlDetailStatistics> CostControlDetailStatisticsList = new List<Model.View_WBS_CostControlDetailStatistics>();
if (getTestRunPerformances.Count() > 0)
{
DataTable table = new DataTable();
DateTime startMonth;
List<DateTime> months = new List<DateTime>();
startMonth = startDate;
do
{
months.Add(startMonth);
startMonth = startMonth.AddMonths(1);
} while (startMonth < endDate);
table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String)));
table.Columns.Add(new DataColumn("ProjectName", typeof(String)));
table.Columns.Add(new DataColumn("JobContent", typeof(String)));
table.Columns.Add(new DataColumn("IsForeign", typeof(String)));
table.Columns.Add(new DataColumn("Item1", typeof(String)));
table.Columns.Add(new DataColumn("Unit1", typeof(String)));
table.Columns.Add(new DataColumn("Days1", typeof(String)));
table.Columns.Add(new DataColumn("Item2", typeof(String)));
table.Columns.Add(new DataColumn("Unit2", typeof(String)));
table.Columns.Add(new DataColumn("Item3", typeof(String)));
table.Columns.Add(new DataColumn("Unit3", typeof(String)));
table.Columns.Add(new DataColumn("Item4", typeof(String)));
table.Columns.Add(new DataColumn("Unit4", typeof(String)));
table.Columns.Add(new DataColumn("Item5", typeof(String)));
table.Columns.Add(new DataColumn("Unit5", typeof(String)));
table.Columns.Add(new DataColumn("Days5", typeof(String)));
table.Columns.Add(new DataColumn("Item6", typeof(String)));
table.Columns.Add(new DataColumn("Unit6", typeof(String)));
table.Columns.Add(new DataColumn("Item7", typeof(String)));
table.Columns.Add(new DataColumn("Unit7", typeof(String)));
table.Columns.Add(new DataColumn("Days7", typeof(String)));
table.Columns.Add(new DataColumn("Item8", typeof(String)));
table.Columns.Add(new DataColumn("Unit8", typeof(String)));
table.Columns.Add(new DataColumn("Item9", typeof(String)));
table.Columns.Add(new DataColumn("Unit9", typeof(String)));
table.Columns.Add(new DataColumn("Days9", typeof(String)));
table.Columns.Add(new DataColumn("Item10", typeof(String)));
table.Columns.Add(new DataColumn("Unit10", typeof(String)));
table.Columns.Add(new DataColumn("Days10", typeof(String)));
table.Columns.Add(new DataColumn("Item11", typeof(String)));
table.Columns.Add(new DataColumn("Unit11", typeof(String)));
table.Columns.Add(new DataColumn("Item12", typeof(String)));
table.Columns.Add(new DataColumn("Unit12", typeof(String)));
table.Columns.Add(new DataColumn("Days12", typeof(String)));
table.Columns.Add(new DataColumn("SumDays", typeof(String)));
table.Columns.Add(new DataColumn("ProjectTripDays", typeof(String)));
table.Columns.Add(new DataColumn("OtherTripDays", typeof(String)));
table.Columns.Add(new DataColumn("SumDays1", typeof(String)));
table.Columns.Add(new DataColumn("SumDays3", typeof(String)));
int a = 1;
for (int i = 0; i < months.Count; i++)
{
DataRow row;
row = table.NewRow();
row["Id"] = SQLHelper.GetNewID();
row["Code"] = GetNum(i + 1);
row["ProjectName"] = months[i].Year + "年" + months[i].Month + "月开车绩效";
row["Item1"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "部门基础工作").Sum(x => x.Days ?? 0);
row["Item2"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "公司培训").Sum(x => x.Days ?? 0);
row["Item3"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "项目投标").Sum(x => x.Days ?? 0);
row["Item4"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "开车策划").Sum(x => x.Days ?? 0);
row["Item5"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "开车培训").Sum(x => x.Days ?? 0);
row["Item6"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "合同管理").Sum(x => x.Days ?? 0);
row["Item7"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "预试车").Sum(x => x.Days ?? 0);
row["Item8"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "试车").Sum(x => x.Days ?? 0);
row["Item9"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "试运行及考核").Sum(x => x.Days ?? 0);
row["Item10"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "开车收尾").Sum(x => x.Days ?? 0);
row["Item11"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "项目协调").Sum(x => x.Days ?? 0);
row["Item12"] = getTestRunPerformances.Where(x => x.Months == months[i] && x.Type == "其他").Sum(x => x.Days ?? 0);
table.Rows.Add(row);
var monthList = getTestRunPerformances.Where(x => x.Months == months[i]);
a = 1;
foreach (var item in monthList)
{
row = table.NewRow();
row["Id"] = SQLHelper.GetNewID();
row["Code"] = a;
var project = projects.FirstOrDefault(x => x.ProjectId == item.ProjectId);
if (project != null)
{
row["ProjectName"] = project.ProjectName;
if (project.IsForeign == true)
{
row["IsForeign"] = "是";
}
else
{
row["IsForeign"] = "否";
}
}
else
{
row["ProjectName"] = "本部";
row["IsForeign"] = "否";
}
row["JobContent"] = item.JobContent;
table.Rows.Add(row);
a++;
}
}
//table.Columns.Add(new DataColumn("ShowId", typeof(String)));
//var costControls = getCostControls.Where(x => x.ProjectId == projectId);
//var details = getDetails.Where(x => x.ProjectId == projectId);
//var parentDetails = getParentDetails;
//var wbsSets = getWbsSets.Where(x => x.ProjectId == projectId);
//var wbsSetInits = getWbsSetInits;
//var unitProjects = getUnitProjects.Where(x => x.ProjectId == projectId);
//var unitProjectInits = getUnitProjectInits;
//var cnProfessions = getCnProfessions.Where(x => x.ProjectId == projectId);
//var cnProfessionInits = getCnProfessionInits;
//var installations = getInstallations.Where(x => x.ProjectId == projectId);
//CostControlDetailStatisticsList = getCostControlDetailStatisticss.Where(x => x.ProjectId == projectId).Distinct().ToList();
//List<Model.View_WBS_CostControlDetailStatistics> newList = new List<Model.View_WBS_CostControlDetailStatistics>();
//if (string.IsNullOrEmpty(Id)) //加载全项目记录
//{
// var installationList = CostControlDetailStatisticsList.Where(x => x.WBSType == "Installation" && x.SupId == "0");
// foreach (var item in installationList)
// {
// newList.Add(item);
// if (string.IsNullOrEmpty(IsOut))
// {
// AddDetail(newList, CostControlDetailStatisticsList, item.Id);
// }
// else
// {
// AddDetailOut(newList, CostControlDetailStatisticsList, item.Id, string.Empty);
// }
// }
//}
//else //加载选择节点及其子级
//{
// var node = CostControlDetailStatisticsList.FirstOrDefault(x => x.Id == Id);
// if (node != null)
// {
// newList.Add(node);
// if (string.IsNullOrEmpty(IsOut))
// {
// AddDetail(newList, CostControlDetailStatisticsList, node.Id);
// }
// else
// {
// AddDetailOut(newList, CostControlDetailStatisticsList, node.Id, string.Empty);
// }
// }
//}
//DataRow row;
//foreach (Model.View_WBS_CostControlDetailStatistics item in newList)
//{
// row = table.NewRow();
// row[0] = item.Id;
// row[1] = item.SupId;
// row[2] = item.Name;
// row[3] = item.ProjectId;
// Model.WBS_CostControl costControl = costControls.FirstOrDefault(x => x.CostControlId == item.Id);
// if (costControl != null)
// {
// row[4] = costControl.Unit;//单位
// if (costControl.TotalNum != null)
// {
// row[5] = decimal.Round(Convert.ToDecimal(costControl.TotalNum), 2);//合同工作量
// }
// if (costControl.RealPrice != null)
// {
// row[6] = decimal.Round(Convert.ToDecimal(costControl.RealPrice), 2);//成本单价
// }
// if (costControl.PlanPrice != null)
// {
// row[7] = decimal.Round(Convert.ToDecimal(costControl.PlanPrice), 2);//控制预算单价
// }
// if (costControl.PlanStartDate != null)
// {
// row[8] = costControl.PlanStartDate;//计划开始时间
// }
// if (costControl.PlanEndDate != null)
// {
// row[9] = costControl.PlanEndDate;//计划完成时间
// }
// if (costControl.RealStartDate != null)
// {
// row[10] = costControl.RealStartDate;//实际开始时间
// }
// if (costControl.RealEndDate != null)
// {
// row[11] = costControl.RealEndDate;//实际完成时间
// }
// var detail = details.Where(x => x.CostControlId == item.Id).ToList();
// foreach (var item1 in detail)
// {
// var index = months.FindIndex(x => x.Equals(item1.Months));
// if (item1.PlanNum != 0)
// {
// row[12 + index * 2] = decimal.Round(Convert.ToDecimal(item1.PlanNum), 2);
// }
// if (item1.ThisNum != 0)
// {
// row[13 + index * 2] = decimal.Round(Convert.ToDecimal(item1.ThisNum), 2);
// }
// }
// row[14 + (months.Count - 1) * 2] = item.Id;
// }
// else
// {
// }
// table.Rows.Add(row);
//}
this.Grid1.DataSource = table;
this.Grid1.DataBind();
}
}
private string GetNum(int i)
{
string num = string.Empty;
if (i == 1)
{
num = "一";
}
else if (i == 2)
{
num = "二";
}
else if (i == 3)
{
num = "三";
}
else if (i == 4)
{
num = "四";
}
else if (i == 5)
{
num = "五";
}
else if (i == 6)
{
num = "六";
}
else if (i == 7)
{
num = "七";
}
else if (i == 8)
{
num = "八";
}
else if (i == 9)
{
num = "九";
}
else if (i == 10)
{
num = "十";
}
else if (i == 11)
{
num = "十一";
}
else if (i == 12)
{
num = "十二";
}
return num;
}
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Save();
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideReference());
}
private void Save()
{
}
#endregion
protected void drpUser_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim()))
{
BindGrid();
}
else
{
this.Grid1.DataSource = null;
this.Grid1.DataBind();
}
}
}
}
@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ZHGL.TestRunPerformance {
public partial class TestRunPerformanceMonthReportEdit {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUser;
/// <summary>
/// txtYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtYear;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}
@@ -47,7 +47,7 @@ namespace FineUIPro.Web.ZHGL.TestRunPerformance
string TestRunPerformanceStandardId = Request.Params["TestRunPerformanceStandardId"];
Model.Base_TestRunPerformanceStandard newItem = new Model.Base_TestRunPerformanceStandard();
newItem.Code = this.txtCode.Text.Trim();
var strs = this.txtCode.Text.Trim().Split(',');
var strs = this.txtCode.Text.Trim().Split('.');
if (strs.Length == 2)
{
newItem.Code1 = Funs.GetNewInt(strs[0]);