Browse Source

1.新增RDLC測試功能RPT001

1.1.新增模組RPT
1.2.新增功能RPT001
1.3.RDLC保存目錄wwwroot下Reports
1.4.Web增加Nuget引用AspNetCore.Reporting
1.5.Web增加Nuget引用System.CodeDom
1.6.Web增加Nuget引用System.Data.SqlClient
2.修改GetWipStations支持原生SQL查詢
PTD
Marvin 3 years ago
parent
commit
566c6b3d08
  1. 3
      AMESCoreStudio.Web/AMESCoreStudio.Web.csproj
  2. 1
      AMESCoreStudio.Web/Controllers/BASController.cs
  3. 44
      AMESCoreStudio.Web/Controllers/RPTController.cs
  4. 7
      AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs
  5. 18
      AMESCoreStudio.Web/Views/RPT/RPT001.cshtml
  6. 153
      AMESCoreStudio.Web/wwwroot/Reports/Report1.rdlc
  7. 596
      AMESCoreStudio.Web/wwwroot/Reports/TEST02.rdlc
  8. 84
      AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs

3
AMESCoreStudio.Web/AMESCoreStudio.Web.csproj

@ -31,11 +31,14 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="AspNetCore.Reporting" Version="2.1.0" />
<PackageReference Include="ClosedXML" Version="0.95.4" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.20" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="5.0.8" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />
<PackageReference Include="System.CodeDom" Version="6.0.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
<PackageReference Include="WebApiClient.JIT" Version="1.1.4" />
</ItemGroup>

1
AMESCoreStudio.Web/Controllers/BASController.cs

@ -9,7 +9,6 @@ using Microsoft.AspNetCore.Mvc.Rendering;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.CommonTools.Result;
using System.Collections.Generic;
using System.Linq;
namespace AMESCoreStudio.Web.Controllers

44
AMESCoreStudio.Web/Controllers/RPTController.cs

@ -0,0 +1,44 @@
using Microsoft.AspNetCore.Mvc;
using AspNetCore.Reporting;
using Microsoft.AspNetCore.Hosting;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Data;
using Oracle.EntityFrameworkCore;
using Oracle.ManagedDataAccess.Client;
// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
namespace AMESCoreStudio.Web.Controllers
{
public class RPTController : Controller
{
private readonly IWebHostEnvironment environment = null;
public readonly IPCS _pcsApi;
public RPTController(IWebHostEnvironment environment,IPCS pcsApi)
{
this.environment = environment;
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
_pcsApi = pcsApi;
}
public async Task<IActionResult> RPT001()
{
string mimeType = "";
int extension = 1;
var path = $"{this.environment.WebRootPath}\\Reports\\TEST02.rdlc";
LocalReport localReport = new LocalReport(path);
Dictionary<string, string> param = new Dictionary<string, string>();
//param.Add("rp1", "Hello RDLC Report!");
var wip_station = await _pcsApi.GetWipStation();
localReport.AddDataSource("WIP_STATION", wip_station);
var result = localReport.Execute(RenderType.Pdf, extension, param, mimeType);
return File(result.MainStream, "application/pdf");
}
}
}

7
AMESCoreStudio.Web/HttpApis/AMES/IPCS.cs

@ -1202,5 +1202,12 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/SerialRules/Sample/num/{num}")]
ITask<ResultModel<string>> GetSampleSerialRule(int num);
#endregion
/// <summary>
/// 獲取工單各站數量資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/WipStation")]
ITask<List<WipStation>> GetWipStation();
}
}

18
AMESCoreStudio.Web/Views/RPT/RPT001.cshtml

@ -0,0 +1,18 @@
@{
ViewData["Title"] = "TEST RDLC";
Layout = "~/Views/Shared/_AMESLayout.cshtml";
}
<div class="layui-card">
<div class="layui-card-header">
<div class="layui-form">
<div class="layui-form-item ">
<div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div>
</div>
</div>
</div>
<div class="layui-card-body">
</div>
</div>

153
AMESCoreStudio.Web/wwwroot/Reports/Report1.rdlc

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!rp1.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>0.3937cm</Top>
<Left>2.72203cm</Left>
<Height>0.6cm</Height>
<Width>2.5cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Thank you.</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>1.48167cm</Top>
<Left>2.72203cm</Left>
<Height>0.6cm</Height>
<Width>2.5cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeader>
<Height>2.01083cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>ASP.NET Core RDLC Test</Value>
<Style>
<FontSize>16pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.57891cm</Top>
<Left>2.72203cm</Left>
<Height>1.04979cm</Height>
<Width>10.04063cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="rp1">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>rp1</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>3b61a184-c57b-48f1-8908-2850170d6211</rd:ReportID>
</Report>

596
AMESCoreStudio.Web/wwwroot/Reports/TEST02.rdlc

@ -0,0 +1,596 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>4.27271cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>FIRST CNT</Value>
<Style>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>#666666</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="FirstCnt">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Sum(Fields!FirstCnt.Value)</Value>
<Style>
<FontWeight>Normal</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>FirstCnt</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox12">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Sum(Fields!FirstCnt.Value)</Value>
<Style>
<FontWeight>Normal</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox12</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>[Sum(FirstCnt)]</Value>
<Style>
<FontWeight>Bold</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<TablixHeader>
<Size>3.71708cm</Size>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>WIP ID</Value>
<Style>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>#666666</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<TablixHeader>
<Size>4.37854cm</Size>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>RULE STATUS</Value>
<Style>
<FontSize>11pt</FontSize>
<FontWeight>Bold</FontWeight>
<Color>#666666</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixMember>
<TablixMember>
<Group Name="WipID">
<GroupExpressions>
<GroupExpression>=Fields!WipID.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!WipID.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>3.71708cm</Size>
<CellContents>
<Textbox Name="WipID">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!WipID.Value</Value>
<Style>
<FontWeight>Normal</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>WipID</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<Group Name="RuleStatus">
<GroupExpressions>
<GroupExpression>=Fields!RuleStatus.Value</GroupExpression>
</GroupExpressions>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!RuleStatus.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>4.37854cm</Size>
<CellContents>
<Textbox Name="RuleStatus">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!RuleStatus.Value</Value>
<Style>
<FontWeight>Normal</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>RuleStatus</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember />
</TablixMembers>
<Visibility>
<Hidden>true</Hidden>
<ToggleItem>WipID</ToggleItem>
</Visibility>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>4.37854cm</Size>
<CellContents>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>总计</Value>
<Style>
<FontWeight>Normal</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BottomBorder>
<Color>LightGrey</Color>
<Style>Solid</Style>
<Width>1pt</Width>
</BottomBorder>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<KeepWithGroup>Before</KeepWithGroup>
</TablixMember>
</TablixMembers>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>3.71708cm</Size>
<CellContents>
<Textbox Name="Textbox7">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>总计</Value>
<Style>
<FontWeight>Bold</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox7</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<TablixHeader>
<Size>4.37854cm</Size>
<CellContents>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontWeight>Bold</FontWeight>
<Color>#333333</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>White</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
</TablixMembers>
<KeepWithGroup>Before</KeepWithGroup>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>WIP_STATION</DataSetName>
<Height>2.4cm</Height>
<Width>12.36833cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="AMES_DB">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>5b7df398-ba46-4738-878f-2c6cda0b33ec</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="WIP_STATION">
<Query>
<DataSourceName>AMES_DB</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="WipID">
<DataField>WipID</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="RULE_STATION_ID">
<DataField>RULE_STATION_ID</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="RuleStatus">
<DataField>RuleStatus</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FirstCnt">
<DataField>FirstCnt</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="PASS_CNT">
<DataField>PASS_CNT</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="CREATE_USERID">
<DataField>CREATE_USERID</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="CREATE_DATE">
<DataField>CREATE_DATE</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="UPDATE_DATE">
<DataField>UPDATE_DATE</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>AMES_DB</rd:DataSetName>
<rd:SchemaPath>C:\Users\Admin\source\repos\VS2019Web4RDLC\VS2019Web4RDLC\App_Code\AMES_DB.xsd</rd:SchemaPath>
<rd:TableName>WIP_STATION</rd:TableName>
<rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>
<rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>
<rd:TableAdapterName>WIP_STATIONTableAdapter</rd:TableAdapterName>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>3d6db279-309d-4d29-9940-23cf8e69bde0</rd:ReportID>
</Report>

84
AMESCoreStudio.WebApi/Controllers/AMES/WipStationController.cs

@ -9,6 +9,8 @@ using AMESCoreStudio.WebApi;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.WebApi.DTO.AMES;
using AMESCoreStudio.CommonTools.Result;
using System.Data.Common;
using System.Reflection;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
@ -21,16 +23,96 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
{
private readonly AMESContext _context;
/// <summary>
///
/// </summary>
/// <param name="context"></param>
public WipStationController(AMESContext context)
{
_context = context;
}
/// <summary>
/// 獲取全部工單各站數量資料
/// </summary>
/// <returns></returns>
// GET: api/WipStation
[HttpGet]
public async Task<ActionResult<IEnumerable<WipStation>>> GetWipStations()
{
return await _context.WipStations.ToListAsync();
//方法2
List<WipStation> list = new List<WipStation>();
string tempName = string.Empty;
DbConnection conn = _context.Database.GetDbConnection();
if (conn.State != System.Data.ConnectionState.Open)
{
await conn.OpenAsync();
}
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = @"SELECT WIP_ID as WipID,RULE_STATION_ID as RuleStationID,RULE_STATUS as RuleStatus,FIRST_CNT as FirstCnt,
PASS_CNT as PassCnt,CREATE_USERID as CreateUserID,CREATE_DATE as CreateDate,UPDATE_DATE as UpdateDate
FROM JHAMES.WIP_STATION";
using (var reader = await cmd.ExecuteReaderAsync())
{
if (reader.HasRows)
{
while (reader.Read())
{
WipStation row = new WipStation();
PropertyInfo[] propertys = row.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
var obj = new object();
try
{
obj = reader[pi.Name];
}
catch
{
continue;
}
if (obj == DBNull.Value || obj == null)
{
continue;
}
var si = pi.GetSetMethod();
if (si == null)
{
continue;
}
if (obj is decimal)
{
pi.SetValue(row, Convert.ToInt32(obj), null);
}
else
{
pi.SetValue(row, obj, null);
}
}
list.Add(row);
}
reader.Close();
return list;
}
}
}
return list;
/*
//方法1
var wip_station = await _context.WipStations.FromSqlRaw("SELECT * FROM JHAMES.WIP_STATION").ToListAsync();
return wip_station;
*/
//return await _context.WipStations.ToListAsync();
}
// GET: api/WipStation/5

Loading…
Cancel
Save