This commit is contained in:
zonse 2025-05-09 16:33:55 +08:00
commit ace065a512
20 changed files with 325 additions and 206 deletions

View File

@ -27,7 +27,7 @@ REM --------------
@echo. @echo.
@call "%VS150%" @call "%VS150%"
SqlMetal /views /server:47.104.102.122,14333:SGGLDB_HBAZ /code:%Model_ROOT%\Model.cs /namespace:Model SqlMetal /views /server:. /database:SGGLDB_HBAZ /code:%Model_ROOT%\Model.cs /namespace:Model
@ECHO 完成 @ECHO 完成
pause pause

View File

@ -0,0 +1,57 @@
ALTER VIEW [dbo].[View_QuantityManagement_WorkTeamStatistics]
AS
/********工程量整体及分类汇总表********/
select distinct C.ProjectId+','+(case when a.DrawingNo is not null then a.WorkSection else b.WorkSection end)+','+ProjectContent as Id, C.ProjectId,case when a.DrawingNo is not null then a.WorkSection else b.WorkSection end as WorkSection,ba.State,
ProjectContent,Unit,
case when a.DrawingNo is not null then ca.ProfessionalName else cb.ProfessionalName end as Major
from QuantityManagement_DayInput C
left join QuantityManagement_Base ba on ba.BaseId=C.BaseId
left join QuantityManagement_Drawing a on a.DrawingId=ba.DrawingId
left join Base_CNProfessional ca on ca.CNProfessionalId=a.Major
left join QuantityManagement_Change b on b.ChangeId=ba.DrawingId
left join Base_CNProfessional cb on cb.CNProfessionalId=b.Major
union
select C.ProjectId+','+(case when a.DrawingNo is not null then a.WorkSection else b.WorkSection end)+','+ProjectContent as Id,C.ProjectId,case when a.DrawingNo is not null then a.WorkSection else b.WorkSection end as WorkSection,C.State,
ProjectContent,Unit,
case when a.DrawingNo is not null then ca.ProfessionalName else cb.ProfessionalName end as Major
from QuantityManagement_Base C
left join QuantityManagement_Drawing a on a.DrawingId=C.DrawingId
left join Base_CNProfessional ca on ca.CNProfessionalId=a.Major
left join QuantityManagement_Change b on b.ChangeId=C.DrawingId
left join Base_CNProfessional cb on cb.CNProfessionalId=b.Major
GO
ALTER VIEW [dbo].[View_QuantityManagement_ProjectContentStatistics]
AS
/********工程量整体及分类汇总表********/
select distinct C.ProjectId+','+ProjectContent as Id, C.ProjectId,ba.State,
ProjectContent,Unit,case when a.DrawingNo is not null then ca.ProfessionalName else cb.ProfessionalName end as Major
from QuantityManagement_DayInput C
left join QuantityManagement_Base ba on ba.BaseId=C.BaseId
left join QuantityManagement_Drawing a on a.DrawingId=ba.DrawingId
left join Base_CNProfessional ca on ca.CNProfessionalId=a.Major
left join QuantityManagement_Change b on b.ChangeId=ba.DrawingId
left join Base_CNProfessional cb on cb.CNProfessionalId=b.Major
union
select C.ProjectId+','+ProjectContent as Id,C.ProjectId,C.State,
ProjectContent,Unit,case when a.DrawingNo is not null then ca.ProfessionalName else cb.ProfessionalName end as Major
from QuantityManagement_Base C
left join QuantityManagement_Drawing a on a.DrawingId=C.DrawingId
left join Base_CNProfessional ca on ca.CNProfessionalId=a.Major
left join QuantityManagement_Change b on b.ChangeId=C.DrawingId
left join Base_CNProfessional cb on cb.CNProfessionalId=b.Major
GO

View File

@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BLL</RootNamespace> <RootNamespace>BLL</RootNamespace>
<AssemblyName>BLL</AssemblyName> <AssemblyName>BLL</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<SccProjectName> <SccProjectName>
</SccProjectName> </SccProjectName>

View File

@ -48,7 +48,7 @@ namespace BLL
{ {
using (var db = new Model.SGGLDB(Funs.ConnString)) using (var db = new Model.SGGLDB(Funs.ConnString))
{ {
object x = db.Check_CheckControl.Select(x => new { object a = db.Check_CheckControl.Select(x => new {
CheckControlCode = x.CheckControlCode, CheckControlCode = x.CheckControlCode,
ProjectId = x.ProjectId, ProjectId = x.ProjectId,
ProjectName = db.Base_Project.FirstOrDefault(p => p.ProjectId == x.ProjectId).ProjectName, ProjectName = db.Base_Project.FirstOrDefault(p => p.ProjectId == x.ProjectId).ProjectName,
@ -77,7 +77,7 @@ namespace BLL
QuestionTypeName = db.Base_QualityQuestionType.FirstOrDefault(e => e.QualityQuestionTypeId == x.QuestionType).QualityQuestionType, QuestionTypeName = db.Base_QualityQuestionType.FirstOrDefault(e => e.QualityQuestionTypeId == x.QuestionType).QualityQuestionType,
}).FirstOrDefault(e => e.CheckControlCode == CheckControlCode); }).FirstOrDefault(e => e.CheckControlCode == CheckControlCode);
return x; return a;
} }
} }

View File

@ -13,13 +13,13 @@ namespace Resources {
/// <summary> /// <summary>
/// 一个强类型资源类,用于查找本地化字符串等。 /// 强类型资源类,用于查找本地化字符串等。
/// </summary> /// </summary>
// 此类是由 StronglyTypedResourceBuilder // 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen // 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 Visual Studio 项目。 // (以 /str 作为命令选项),或重新生成 Visual Studio 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Web.Application.StronglyTypedResourceProxyBuilder", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Web.Application.StronglyTypedResourceProxyBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Lan { internal class Lan {
@ -33,7 +33,7 @@ namespace Resources {
} }
/// <summary> /// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。 /// 返回此类使用的缓存 ResourceManager 实例。
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager { internal static global::System.Resources.ResourceManager ResourceManager {
@ -47,8 +47,8 @@ namespace Resources {
} }
/// <summary> /// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对 /// 覆盖当前线程的 CurrentUICulture 属性
/// 使用此强类型资源类的所有资源查找执行重写 /// 使用此强类型资源类的资源查找。
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture { internal static global::System.Globalization.CultureInfo Culture {

View File

@ -22,7 +22,7 @@
<Toolbars> <Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left"> <f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items> <Items>
<f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" <f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" AutoPostBack="true" OnSelectedIndexChanged="drpProject_SelectedIndexChanged"
EnableEdit="true"> EnableEdit="true">
</f:DropDownList> </f:DropDownList>
<f:DropDownList ID="drpWorkSection" runat="server" LabelWidth="120px" Required="true" Label="工段" LabelAlign="Right" EnableEdit="true"> <f:DropDownList ID="drpWorkSection" runat="server" LabelWidth="120px" Required="true" Label="工段" LabelAlign="Right" EnableEdit="true">

View File

@ -110,6 +110,7 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
ProjectService.InitAllProjectDropDownList(this.drpProject, false);
string projectId = this.CurrUser.LoginProjectId; string projectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["ProjectId"])) if (!string.IsNullOrEmpty(Request.Params["ProjectId"]))
{ {
@ -146,7 +147,6 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
this.drpWorkTeam.SelectedValue = Request.Params["WorkTeam"]; this.drpWorkTeam.SelectedValue = Request.Params["WorkTeam"];
} }
ProjectService.InitAllProjectDropDownList(this.drpProject, false);
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{ {
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId; this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
@ -374,7 +374,7 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
string url = "~/CQMS/QuantityManagement/DayInputStatistics.aspx?Date=" + this.txtMonths.Text.Trim() + "&WorkSection=" + this.drpWorkSection.SelectedValue string url = "~/CQMS/QuantityManagement/DayInputStatistics.aspx?Date=" + this.txtMonths.Text.Trim() + "&WorkSection=" + this.drpWorkSection.SelectedValue
+ "&DrawingId=" + this.drpDrawingNo.SelectedValue + "&Major=" + this.drpMajor.SelectedValue + "&Part=" + this.drpPart.SelectedValue + "&DrawingId=" + this.drpDrawingNo.SelectedValue + "&Major=" + this.drpMajor.SelectedValue + "&Part=" + this.drpPart.SelectedValue
+ "&ProjectContent=" + this.drpProjectContent.SelectedValue+ "&WorkTeam=" + this.drpWorkTeam.SelectedValue + "&ProjectId=" + this.drpProject.SelectedValue; + "&ProjectContent=" + this.drpProjectContent.SelectedValue + "&WorkTeam=" + this.drpWorkTeam.SelectedValue + "&ProjectId=" + this.drpProject.SelectedValue;
PageContext.Redirect(url, "_self"); PageContext.Redirect(url, "_self");
} }
#endregion #endregion
@ -703,5 +703,27 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
this.drpProjectContent.SelectedValue = BLL.Const._Null; this.drpProjectContent.SelectedValue = BLL.Const._Null;
} }
} }
protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
{
string projectId = this.drpProject.SelectedValue;
if (!string.IsNullOrEmpty(Request.Params["ProjectId"]))
{
this.drpProject.SelectedValue = Request.Params["ProjectId"];
projectId = Request.Params["ProjectId"];
}
BLL.DrawingService.InitWorkSectionDropDownList(drpWorkSection, projectId, true);
BLL.DrawingService.InitDrawingChangeDropDownList(drpDrawingNo, projectId, true);
BLL.CNProfessionalService.InitCNProfessionalDownList(drpMajor, true);
BLL.BaseService.InitAllPartDropDownList(this.drpPart, projectId, true);
BLL.BaseService.InitAllProjectContentDropDownList(this.drpProjectContent, projectId, true);
BLL.TeamGroupService.InitTeamGroupProjectDropDownList(drpWorkTeam, projectId, true);
drpWorkSection.SelectedValue = BLL.Const._Null;
drpDrawingNo.SelectedValue = BLL.Const._Null;
drpMajor.SelectedValue = BLL.Const._Null;
drpPart.SelectedValue = BLL.Const._Null;
drpProjectContent.SelectedValue = BLL.Const._Null;
drpWorkTeam.SelectedValue = BLL.Const._Null;
}
} }
} }

View File

@ -15,17 +15,20 @@
<Items> <Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="工程量基础表" EnableCollapse="true" <f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="工程量基础表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" EnableColumnLines="true" ForceFit="true" runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" EnableColumnLines="true" ForceFit="true"
ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="ProjectContent" ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Major,ProjectContent"
SortDirection="DESC" OnSort="Grid1_Sort" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="false" IsDatabasePaging="true" PageSize="10000" AllowPaging="false" IsDatabasePaging="true" PageSize="10000"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="true"> EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="true">
<Toolbars> <Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left"> <f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items> <Items>
<f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" <f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" AutoPostBack="true" OnSelectedIndexChanged="drpProject_SelectedIndexChanged"
EnableEdit="true"> EnableEdit="true">
</f:DropDownList> </f:DropDownList>
<f:TextBox runat="server" ID="txtWorkTeam" Label="作业队" LabelWidth="80px" LabelAlign="Right"></f:TextBox> <f:DropDownList ID="drpMajor" runat="server" LabelWidth="140px" Required="true" Label="专业" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
<f:DropDownList ID="drpProjectContent" runat="server" LabelWidth="120px" Required="true" Label="项目内容" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
<f:DatePicker runat="server" DateFormatString="yyyy-MM" DisplayType="Month" Label="选择月份" ID="txtMonths" LabelAlign="right" LabelWidth="110px"> <f:DatePicker runat="server" DateFormatString="yyyy-MM" DisplayType="Month" Label="选择月份" ID="txtMonths" LabelAlign="right" LabelWidth="110px">
</f:DatePicker> </f:DatePicker>
<f:Button ID="btnSearch" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询"> <f:Button ID="btnSearch" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询">
@ -44,6 +47,9 @@
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField ColumnID="Major" DataField="Major" FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="ProjectContent" DataField="ProjectContent" FieldType="String" HeaderText="项目内容" TextAlign="Center" <f:RenderField ColumnID="ProjectContent" DataField="ProjectContent" FieldType="String" HeaderText="项目内容" TextAlign="Center"
HeaderTextAlign="Center" Width="120px"> HeaderTextAlign="Center" Width="120px">
</f:RenderField> </f:RenderField>
@ -53,9 +59,6 @@
<f:RenderField ColumnID="Amount" DataField="Amount" FieldType="Float" HeaderText="总数" TextAlign="Center" <f:RenderField ColumnID="Amount" DataField="Amount" FieldType="Float" HeaderText="总数" TextAlign="Center"
HeaderTextAlign="Center" Width="100px"> HeaderTextAlign="Center" Width="100px">
</f:RenderField> </f:RenderField>
<f:RenderField ColumnID="WorkTeam" DataField="WorkTeam" FieldType="String" HeaderText="作业队" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField ColumnID="TotalComplete" DataField="TotalComplete" FieldType="Float" HeaderText="累计完成" TextAlign="Center" <f:RenderField ColumnID="TotalComplete" DataField="TotalComplete" FieldType="Float" HeaderText="累计完成" TextAlign="Center"
HeaderTextAlign="Center" Width="100px"> HeaderTextAlign="Center" Width="100px">
</f:RenderField> </f:RenderField>
@ -65,6 +68,9 @@
<f:RenderField ColumnID="MonthComplete" DataField="MonthComplete" FieldType="Float" HeaderText="本月完成" TextAlign="Center" <f:RenderField ColumnID="MonthComplete" DataField="MonthComplete" FieldType="Float" HeaderText="本月完成" TextAlign="Center"
HeaderTextAlign="Center" Width="100px"> HeaderTextAlign="Center" Width="100px">
</f:RenderField> </f:RenderField>
<f:RenderField ColumnID="CompleteRate" DataField="CompleteRate" FieldType="Float" HeaderText="完成百分比" TextAlign="Center"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
</Columns> </Columns>
<Listeners> <Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" /> <f:Listener Event="dataload" Handler="onGridDataLoad" />
@ -75,7 +81,7 @@
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
function onGridDataLoad(event) { function onGridDataLoad(event) {
this.mergeColumns(['ProjectContent','Amount','Remain'], { this.mergeColumns(['Major','Amount','Remain'], {
depends: true depends: true
}); });
} }

View File

@ -24,12 +24,16 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now); this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
ProjectService.InitAllProjectDropDownList(this.drpProject, false); ProjectService.InitAllProjectDropDownList(this.drpProject, false);
string projectId = string.Empty;
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{ {
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId; this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
this.drpProject.Enabled = false; this.drpProject.Enabled = false;
this.drpProject.Hidden = true; this.drpProject.Hidden = true;
projectId = this.drpProject.SelectedValue;
} }
BLL.CNProfessionalService.InitCNProfessionalDownList(drpMajor, true);
BLL.BaseService.InitAllProjectContentDropDownList(this.drpProjectContent, projectId, true);
GetButtonPower(); GetButtonPower();
BindGrid(); BindGrid();
} }
@ -44,10 +48,15 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
where C.ProjectId = @ProjectId"; where C.ProjectId = @ProjectId";
List<SqlParameter> listStr = new List<SqlParameter>(); List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue)); listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
if (!string.IsNullOrEmpty(this.txtWorkTeam.Text.Trim())) if (this.drpMajor.SelectedValue != BLL.Const._Null)
{ {
strSql += " AND WorkTeam like @WorkTeam"; strSql += " AND Major = @Major";
listStr.Add(new SqlParameter("@WorkTeam", "%" + this.txtWorkTeam.Text.Trim() + "%")); listStr.Add(new SqlParameter("@Major", this.drpMajor.SelectedItem.Text));
}
if (this.drpProjectContent.SelectedValue != BLL.Const._Null)
{
strSql += " AND ProjectContent = @ProjectContent";
listStr.Add(new SqlParameter("@ProjectContent", this.drpProjectContent.SelectedItem.Text));
} }
SqlParameter[] parameter = listStr.ToArray(); SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
@ -98,19 +107,22 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
string[] strs = this.Grid1.Rows[i].RowID.Split(','); string[] strs = this.Grid1.Rows[i].RowID.Split(',');
string projectContent = strs[1]; string projectContent = strs[1];
string workTeam = strs[2];
decimal totalAmount = 0, completedAmount = 0, totalCompletedAmount = 0, monthComplete = 0; decimal totalAmount = 0, completedAmount = 0, totalCompletedAmount = 0, monthComplete = 0;
totalAmount = bases.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.Amount ?? 0); totalAmount = bases.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.Amount ?? 0);
foreach (var d in days) foreach (var d in days)
{ {
monthComplete = dayInputs.Where(x => x.ProjectContent == projectContent && x.WorkTeam == workTeam).ToList().Sum(x => x.DayAmount ?? 0); monthComplete = dayInputs.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
} }
completedAmount = totalDayInputs.Where(x => x.ProjectContent == projectContent && x.WorkTeam == workTeam).ToList().Sum(x => x.DayAmount ?? 0); completedAmount = totalDayInputs.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
totalCompletedAmount = totalDayInputs.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0); totalCompletedAmount = totalDayInputs.Where(x => x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
this.Grid1.Rows[i].Values[3] = totalAmount.ToString("0.##"); this.Grid1.Rows[i].Values[4] = totalAmount.ToString("0.##");
this.Grid1.Rows[i].Values[5] = completedAmount.ToString("0.##"); this.Grid1.Rows[i].Values[5] = completedAmount.ToString("0.##");
this.Grid1.Rows[i].Values[6] = (totalAmount - totalCompletedAmount).ToString("0.##"); this.Grid1.Rows[i].Values[6] = (totalAmount - totalCompletedAmount).ToString("0.##");
this.Grid1.Rows[i].Values[7] = monthComplete.ToString("0.##"); this.Grid1.Rows[i].Values[7] = monthComplete.ToString("0.##");
if (totalAmount > 0)
{
this.Grid1.Rows[i].Values[8] = decimal.Round(completedAmount / totalAmount, 4) * 100;
}
} }
} }
#endregion #endregion
@ -317,6 +329,9 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
cell = row.CreateCell(7); cell = row.CreateCell(7);
cell.CellStyle = cellStyle; cell.CellStyle = cellStyle;
cell.SetCellValue(Grid1.Rows[i].Values[7].ToString()); cell.SetCellValue(Grid1.Rows[i].Values[7].ToString());
cell = row.CreateCell(8);
cell.CellStyle = cellStyle;
cell.SetCellValue(Grid1.Rows[i].Values[8].ToString());
} }
// 第三步:写入文件流 // 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
@ -346,5 +361,19 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
} }
} }
#endregion #endregion
protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
{
string projectId = this.drpProject.SelectedValue;
if (!string.IsNullOrEmpty(Request.Params["ProjectId"]))
{
this.drpProject.SelectedValue = Request.Params["ProjectId"];
projectId = Request.Params["ProjectId"];
}
BLL.CNProfessionalService.InitCNProfessionalDownList(drpMajor, true);
BLL.BaseService.InitAllProjectContentDropDownList(this.drpProjectContent, projectId, true);
drpMajor.SelectedValue = BLL.Const._Null;
drpProjectContent.SelectedValue = BLL.Const._Null;
}
} }
} }

View File

@ -67,13 +67,22 @@ namespace FineUIPro.Web.CQMS.QuantityManagement {
protected global::FineUIPro.DropDownList drpProject; protected global::FineUIPro.DropDownList drpProject;
/// <summary> /// <summary>
/// txtWorkTeam 控件。 /// drpMajor 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtWorkTeam; protected global::FineUIPro.DropDownList drpMajor;
/// <summary>
/// drpProjectContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProjectContent;
/// <summary> /// <summary>
/// txtMonths 控件。 /// txtMonths 控件。

View File

@ -22,11 +22,15 @@
<Toolbars> <Toolbars>
<f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left"> <f:Toolbar ID="ToolSearch" Position="Top" runat="server" ToolbarAlign="Left">
<Items> <Items>
<f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" <f:DropDownList ID="drpProject" runat="server" Label="项目" Width="300px" LabelWidth="60px" EmptyText="请选择项目" AutoPostBack="true" OnSelectedIndexChanged="drpProject_SelectedIndexChanged"
EnableEdit="true"> EnableEdit="true">
</f:DropDownList> </f:DropDownList>
<f:TextBox runat="server" ID="txtWorkSection" Label="工段" LabelWidth="60px" LabelAlign="Right"></f:TextBox> <f:DropDownList ID="drpWorkSection" runat="server" LabelWidth="120px" Required="true" Label="工段" LabelAlign="Right" EnableEdit="true">
<f:TextBox runat="server" ID="txtWorkTeam" Label="作业队" LabelWidth="80px" LabelAlign="Right"></f:TextBox> </f:DropDownList>
<f:DropDownList ID="drpMajor" runat="server" LabelWidth="140px" Required="true" Label="专业" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
<f:DropDownList ID="drpProjectContent" runat="server" LabelWidth="120px" Required="true" Label="项目内容" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
<f:DatePicker runat="server" DateFormatString="yyyy-MM" DisplayType="Month" Label="选择月份" ID="txtMonths" LabelAlign="right" LabelWidth="110px"> <f:DatePicker runat="server" DateFormatString="yyyy-MM" DisplayType="Month" Label="选择月份" ID="txtMonths" LabelAlign="right" LabelWidth="110px">
</f:DatePicker> </f:DatePicker>
<f:Button ID="btnSearch" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询"> <f:Button ID="btnSearch" Icon="SystemSearch" EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="查询">
@ -69,6 +73,9 @@
<f:RenderField ColumnID="MonthComplete" DataField="MonthComplete" FieldType="Float" HeaderText="本月完成" TextAlign="Center" <f:RenderField ColumnID="MonthComplete" DataField="MonthComplete" FieldType="Float" HeaderText="本月完成" TextAlign="Center"
HeaderTextAlign="Center" Width="100px"> HeaderTextAlign="Center" Width="100px">
</f:RenderField> </f:RenderField>
<f:RenderField ColumnID="CompleteRate" DataField="CompleteRate" FieldType="Float" HeaderText="完成百分比" TextAlign="Center"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
</Columns> </Columns>
<Listeners> <Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" /> <f:Listener Event="dataload" Handler="onGridDataLoad" />

View File

@ -24,12 +24,18 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
{ {
this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now); this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
ProjectService.InitAllProjectDropDownList(this.drpProject, false); ProjectService.InitAllProjectDropDownList(this.drpProject, false);
string projectId = string.Empty;
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{ {
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId; this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
this.drpProject.Enabled = false; this.drpProject.Enabled = false;
this.drpProject.Hidden = true; this.drpProject.Hidden = true;
projectId = this.drpProject.SelectedValue;
} }
BLL.DrawingService.InitWorkSectionDropDownList(drpWorkSection, projectId, true);
BLL.CNProfessionalService.InitCNProfessionalDownList(drpMajor, true);
BLL.BaseService.InitAllProjectContentDropDownList(this.drpProjectContent, projectId, true);
GetButtonPower(); GetButtonPower();
BindGrid(); BindGrid();
} }
@ -44,15 +50,20 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
where C.ProjectId = @ProjectId"; where C.ProjectId = @ProjectId";
List<SqlParameter> listStr = new List<SqlParameter>(); List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue)); listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
if (!string.IsNullOrEmpty(this.txtWorkSection.Text.Trim())) if (this.drpWorkSection.SelectedValue != BLL.Const._Null)
{ {
strSql += " AND WorkSection like @WorkSection"; strSql += " AND WorkSection = @WorkSection";
listStr.Add(new SqlParameter("@WorkSection", "%" + this.txtWorkSection.Text.Trim() + "%")); listStr.Add(new SqlParameter("@WorkSection", this.drpWorkSection.SelectedItem.Text));
} }
if (!string.IsNullOrEmpty(this.txtWorkTeam.Text.Trim())) if (this.drpMajor.SelectedValue != BLL.Const._Null)
{ {
strSql += " AND WorkTeam like @WorkTeam"; strSql += " AND Major = @Major";
listStr.Add(new SqlParameter("@WorkTeam", "%" + this.txtWorkTeam.Text.Trim() + "%")); listStr.Add(new SqlParameter("@Major", this.drpMajor.SelectedItem.Text));
}
if (this.drpProjectContent.SelectedValue != BLL.Const._Null)
{
strSql += " AND ProjectContent = @ProjectContent";
listStr.Add(new SqlParameter("@ProjectContent", this.drpProjectContent.SelectedItem.Text));
} }
SqlParameter[] parameter = listStr.ToArray(); SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
@ -104,19 +115,22 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
string[] strs = this.Grid1.Rows[i].RowID.Split(','); string[] strs = this.Grid1.Rows[i].RowID.Split(',');
string workSection = strs[1]; string workSection = strs[1];
string projectContent = strs[2]; string projectContent = strs[2];
string workTeam = strs[3];
decimal totalAmount = 0, completedAmount = 0, totalCompletedAmount = 0, monthComplete = 0; decimal totalAmount = 0, completedAmount = 0, totalCompletedAmount = 0, monthComplete = 0;
totalAmount = bases.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.Amount ?? 0); totalAmount = bases.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.Amount ?? 0);
foreach (var d in days) foreach (var d in days)
{ {
monthComplete = dayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent && x.WorkTeam == workTeam).ToList().Sum(x => x.DayAmount ?? 0); monthComplete = dayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
} }
completedAmount= totalDayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent && x.WorkTeam == workTeam).ToList().Sum(x => x.DayAmount ?? 0); completedAmount = totalDayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
totalCompletedAmount = totalDayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0); totalCompletedAmount = totalDayInputs.Where(x => x.WorkSection == workSection && x.ProjectContent == projectContent).ToList().Sum(x => x.DayAmount ?? 0);
this.Grid1.Rows[i].Values[5] = totalAmount.ToString("0.##"); this.Grid1.Rows[i].Values[5] = totalAmount.ToString("0.##");
this.Grid1.Rows[i].Values[6] = completedAmount.ToString("0.##"); this.Grid1.Rows[i].Values[6] = completedAmount.ToString("0.##");
this.Grid1.Rows[i].Values[7] = (totalAmount - totalCompletedAmount).ToString("0.##"); this.Grid1.Rows[i].Values[7] = (totalAmount - totalCompletedAmount).ToString("0.##");
this.Grid1.Rows[i].Values[8] = monthComplete.ToString("0.##"); this.Grid1.Rows[i].Values[8] = monthComplete.ToString("0.##");
if (totalAmount > 0)
{
this.Grid1.Rows[i].Values[9] = decimal.Round(completedAmount / totalAmount, 4) * 100;
}
} }
} }
#endregion #endregion
@ -326,6 +340,9 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
cell = row.CreateCell(8); cell = row.CreateCell(8);
cell.CellStyle = cellStyle; cell.CellStyle = cellStyle;
cell.SetCellValue(Grid1.Rows[i].Values[8].ToString()); cell.SetCellValue(Grid1.Rows[i].Values[8].ToString());
cell = row.CreateCell(9);
cell.CellStyle = cellStyle;
cell.SetCellValue(Grid1.Rows[i].Values[9].ToString());
} }
// 第三步:写入文件流 // 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
@ -355,5 +372,21 @@ namespace FineUIPro.Web.CQMS.QuantityManagement
} }
} }
#endregion #endregion
protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
{
string projectId = this.drpProject.SelectedValue;
if (!string.IsNullOrEmpty(Request.Params["ProjectId"]))
{
this.drpProject.SelectedValue = Request.Params["ProjectId"];
projectId = Request.Params["ProjectId"];
}
BLL.DrawingService.InitWorkSectionDropDownList(drpWorkSection, projectId, true);
BLL.CNProfessionalService.InitCNProfessionalDownList(drpMajor, true);
BLL.BaseService.InitAllProjectContentDropDownList(this.drpProjectContent, projectId, true);
drpWorkSection.SelectedValue = BLL.Const._Null;
drpMajor.SelectedValue = BLL.Const._Null;
drpProjectContent.SelectedValue = BLL.Const._Null;
}
} }
} }

View File

@ -67,22 +67,31 @@ namespace FineUIPro.Web.CQMS.QuantityManagement {
protected global::FineUIPro.DropDownList drpProject; protected global::FineUIPro.DropDownList drpProject;
/// <summary> /// <summary>
/// txtWorkSection 控件。 /// drpWorkSection 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtWorkSection; protected global::FineUIPro.DropDownList drpWorkSection;
/// <summary> /// <summary>
/// txtWorkTeam 控件。 /// drpMajor 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtWorkTeam; protected global::FineUIPro.DropDownList drpMajor;
/// <summary>
/// drpProjectContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProjectContent;
/// <summary> /// <summary>
/// txtMonths 控件。 /// txtMonths 控件。

View File

@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FineUIPro.Web</RootNamespace> <RootNamespace>FineUIPro.Web</RootNamespace>
<AssemblyName>FineUIPro.Web</AssemblyName> <AssemblyName>FineUIPro.Web</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress> <UseIISExpress>true</UseIISExpress>
<SccProjectName> <SccProjectName>
</SccProjectName> </SccProjectName>
@ -19738,6 +19738,7 @@
</FlavorProperties> </FlavorProperties>
</VisualStudio> </VisualStudio>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">

View File

@ -485188,15 +485188,13 @@ namespace Model
private string _Unit; private string _Unit;
private string _WorkTeam; private string _Major;
private string _WorkTeamId;
public View_QuantityManagement_ProjectContentStatistics() public View_QuantityManagement_ProjectContentStatistics()
{ {
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(202)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(151)")]
public string Id public string Id
{ {
get get
@ -485276,34 +485274,18 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkTeam", DbType="NVarChar(50)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Major", DbType="NVarChar(30)")]
public string WorkTeam public string Major
{ {
get get
{ {
return this._WorkTeam; return this._Major;
} }
set set
{ {
if ((this._WorkTeam != value)) if ((this._Major != value))
{ {
this._WorkTeam = value; this._Major = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkTeamId", DbType="NVarChar(100)")]
public string WorkTeamId
{
get
{
return this._WorkTeamId;
}
set
{
if ((this._WorkTeamId != value))
{
this._WorkTeamId = value;
} }
} }
} }
@ -485325,17 +485307,13 @@ namespace Model
private string _Unit; private string _Unit;
private string _WorkTeam;
private string _WorkTeamId;
private string _Major; private string _Major;
public View_QuantityManagement_WorkTeamStatistics() public View_QuantityManagement_WorkTeamStatistics()
{ {
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(303)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(252)")]
public string Id public string Id
{ {
get get
@ -485431,38 +485409,6 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkTeam", DbType="NVarChar(50)")]
public string WorkTeam
{
get
{
return this._WorkTeam;
}
set
{
if ((this._WorkTeam != value))
{
this._WorkTeam = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkTeamId", DbType="NVarChar(100)")]
public string WorkTeamId
{
get
{
return this._WorkTeamId;
}
set
{
if ((this._WorkTeamId != value))
{
this._WorkTeamId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Major", DbType="NVarChar(30)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Major", DbType="NVarChar(30)")]
public string Major public string Major
{ {

View File

@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Model</RootNamespace> <RootNamespace>Model</RootNamespace>
<AssemblyName>Model</AssemblyName> <AssemblyName>Model</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<SccProjectName> <SccProjectName>
</SccProjectName> </SccProjectName>

View File

@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SgManager.AI</RootNamespace> <RootNamespace>SgManager.AI</RootNamespace>
<AssemblyName>SgManager.AI</AssemblyName> <AssemblyName>SgManager.AI</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>

View File

@ -14,7 +14,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WebAPI</RootNamespace> <RootNamespace>WebAPI</RootNamespace>
<AssemblyName>WebAPI</AssemblyName> <AssemblyName>WebAPI</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews> <MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress> <UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress /> <Use64BitIISExpress />