新增设备更改

This commit is contained in:
2026-03-19 17:29:32 +08:00
parent 234fea7ca3
commit 13516a45d2
40 changed files with 3437 additions and 37 deletions

View File

@@ -0,0 +1,133 @@
---
trigger: always_on
---
---
# 当前是在开发GroupLine项目这是一个WPF项目使用MVVM模式开发在这个项目上结构基础上新增几个设备数据数据模型
# GroupLine.Model是数据模型的类库一些数据库对应的模型在这里
# 新增的设备模型如下:
| 模型中文 | 模型英文 |
| ---------------------- | ------------------ |
| 导油板敲入 | OilGuideMount |
| 转子烧嵌 | RotorShrinkFit |
| KP型筒体烧嵌 | KPBarrelShrinkFit |
| KP溢流阀组装机 | KPReliefValveAsm |
| KP排气盖板安装气密检测 | KPExhCoverSealTest |
# GroupLine.App是WPF界面和功能项目
## ModelDto文件夹是进行界面展示的模型Dto
## ReportFile文件夹是模型导出的数据Excel模板
## View和ViewModel文件夹是MVVM开发的放置View和Model的地方
## 查询数据使用FSqlContext
## 每个模型都要在GroupLine.App.ViewModel中的ViewModelLocator 进行注册
# 一个查询模型在项目中的一般的流程以GInsRotaRes为例
1FrontLine.Model -> GInsRotaRes,具体请查看GInsRotaRes的类描述信息
2GroupLine.App.ModelDto -> GInsRotaResDto,具体请查看GInsRotaResDto的Dto类描述信息
3GroupLine.App.View.GInsRotaRes -> GInsRotaResView ,这个是模型查询的UserControl用户界面里面包含查询的操作界面和数据表DataGrid展示的内容具体请查看GroupLine.App.View.GInsRotaRes.GInsRotaResView的具体信息
4GroupLine.App.ViewModel -> GInsRotaResViewModel,模型查询逻辑和数据处理的ViewModel具体请查看GInsRotaResViewModel的具体信息
5) GInsRotaResViewModel中使用的查询数据后导出的数据模板在ReportFile中的GInsRotaResTemplate.xlsx中里面跟模型的字段是一一匹配的
6GroupLine.App.ViewModel -> ViewModelLocator,根据MvvmLight的开发规范每个VacuoCheckViewModel都要在这里注册一下
7GroupLine.App -> MainWindow 中会增加View的页面到菜单中.Add(new SubItem("后组-上外罩焊接(2号機)", new GInsRotaResView()));
8在View中展示时如果字段属性有单位的话需要在View列头表格中除了显示中文名称外还需要显示单位
9 ReportFile文件夹是模型导出的数据Excel模板里面包含模板的格式列头信息你可以查看之前的Excel模板文件来了解如何设计
# 我给出每个模型的字段信息你按照上面的流程开发就行模型的Id是long类型主键自增FreeSql开发
## 设备:导油板敲入 OilGuideMount
### 字段信息:
曲轴编号 CrankshaftNo 9位字符串
支架编号 BracketNo 8位字符串
支架铸件号 BracketCastingNo 4位字符串
员工编号 OperatorNo 6位字符串
放入时无磕碰 PlaceNoDamage 0/OK1/NG
导油板 OilGuidePlate 0/不做,1/OK
塞尺检测 FeelerGaugeCheck 0/不做,1/OK
埋塞 BuriedPlug 0/不做,1/OK
螺旋螺钉 HelicalScrew 0/不做,1/OK
气密检测 AirTightCheck 0/不做,1/OK
---------------------------
## 设备:转子烧嵌 RotorShrinkFit
### 字段信息:
转子编号 RotorNo 16位字符串
支架编号 BracketNo 8位字符串
员工编号 OperatorNo 6位字符串
创建时间 CreateTime
## 设备KP型筒体烧嵌 KPBarrelShrinkFit
### 字段信息:
筒体编号 BarrelNo 20位字符串
定子编号 StatorNo 16位字符串
员工编号 OperatorNo 4位字符串
筒体温度 BarrelTemp 浮点数123.4/单位℃
创建时间 CreateTime
## 设备KP溢流阀组装机 KPReliefValveAsm
### 字段信息:
机型 ModelName 8位字符串
动盘编号 MvDiscNo 8位字符串
静盘编号 StDiscNo 8位字符串
节拍 CycleTime 浮点数123.4/(S)
螺丝数量 ScrewCount 整数12/(个)
判定 Result 0/OK1/NG
最终扭矩1 FinalTorque1 浮点数12.34/(N.M)
最终角度1 FinalAngle1 浮点数1234.5/(deg)
最终扭矩2 FinalTorque2 浮点数12.34/(N.M)
最终角度2 FinalAngle2 浮点数1234.5/(deg)
最终扭矩3 FinalTorque3 浮点数12.34/(N.M)
最终角度3 FinalAngle3 浮点数1234.5/(deg)
最终扭矩4 FinalTorque4 浮点数12.34/(N.M)
最终角度4 FinalAngle4 浮点数1234.5/(deg)
员工编号 OperatorNo 10位字符串
创建时间 CreateTime
## 设备KP排气盖板安装气密检测 KPExhCoverSealTest
### 字段信息:
机型 ModelName 8位字符串
动盘编号 MvDiscNo 8位字符串
静盘编号 StDiscNo 8位字符串
节拍 CycleTime 浮点数123.4/(S)
螺丝数量 ScrewCount 整数12/(个)
判定 Result 0/OK1/NG
最终扭矩1 FinalTorque1 浮点数12.34/(N.M)
最终角度1 FinalAngle1 浮点数1234.5/(deg)
最终扭矩2 FinalTorque2 浮点数12.34/(N.M)
最终角度2 FinalAngle2 浮点数1234.5/(deg)
最终扭矩3 FinalTorque3 浮点数12.34/(N.M)
最终角度3 FinalAngle3 浮点数1234.5/(deg)
最终扭矩4 FinalTorque4 浮点数12.34/(N.M)
最终角度4 FinalAngle4 浮点数1234.5/(deg)
最终扭矩5 FinalTorque5 浮点数12.34/(N.M)
最终角度5 FinalAngle5 浮点数1234.5/(deg)
最终扭矩6 FinalTorque6 浮点数12.34/(N.M)
最终角度6 FinalAngle6 浮点数1234.5/(deg)
最终扭矩7 FinalTorque7 浮点数12.34/(N.M)
最终角度7 FinalAngle7 浮点数1234.5/(deg)
最终扭矩8 FinalTorque8 浮点数12.34/(N.M)
最终角度8 FinalAngle8 浮点数1234.5/(deg)
最终扭矩9 FinalTorque9 浮点数12.34/(N.M)
最终角度9 FinalAngle9 浮点数1234.5/(deg)
最终扭矩10 FinalTorque10 浮点数12.34/(N.M)
最终角度10 FinalAngle10 浮点数1234.5/(deg)
最终扭矩11 FinalTorque11 浮点数12.34/(N.M)
最终角度11 FinalAngle11 浮点数1234.5/(deg)
最终扭矩12 FinalTorque12 浮点数12.34/(N.M)
最终角度12 FinalAngle12 浮点数1234.5/(deg)
员工编号 OperatorNo 10位字符串
创建时间 CreateTime
## 备注
- 8位字符串 代表 8位长度的字符串
- 0/OK1/NG 代表 0表示OK1表示NG数据库建模时用int类型展示ModelDto时转换为字符串OK或者NG其他类似
- 浮点数1234.5/(deg) 代表 浮点数使用decimal类型精度根据实际需求调整比如 1234.5是一个小数点单位是deg在View中展示时需要列头表格中除了显示中文名称外还需要显示单位
- 时间字段使用DateTime类型
- 布尔值使用bool类型
- 整数12 代表 整数使用int类型比如 12

View File

@@ -6,7 +6,7 @@ namespace GroupLine.App
{ {
public static IFreeSql FDb = new FreeSql.FreeSqlBuilder() public static IFreeSql FDb = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.SqlServer, ConfigHelper.GetValue("connecting")) .UseConnectionString(FreeSql.DataType.SqlServer, ConfigHelper.GetValue("connecting"))
.UseAutoSyncStructure(true) //自动同步实体结构到数据库 .UseAutoSyncStructure(false) //自动同步实体结构到数据库
.Build(); //请务必定义成 Singleton 单例模式 .Build(); //请务必定义成 Singleton 单例模式
} }
} }

View File

@@ -123,6 +123,11 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
</ApplicationDefinition> </ApplicationDefinition>
<Compile Include="FSqlContext.cs" /> <Compile Include="FSqlContext.cs" />
<Compile Include="ModelDto\OilGuideMountDto.cs" />
<Compile Include="ModelDto\RotorShrinkFitDto.cs" />
<Compile Include="ModelDto\KPBarrelShrinkFitDto.cs" />
<Compile Include="ModelDto\KPReliefValveAsmDto.cs" />
<Compile Include="ModelDto\KPExhCoverSealTestDto.cs" />
<Compile Include="ModelDto\KPRingWeldMachDwDto.cs" /> <Compile Include="ModelDto\KPRingWeldMachDwDto.cs" />
<Compile Include="ModelDto\KPRingWeldMachUpDto.cs" /> <Compile Include="ModelDto\KPRingWeldMachUpDto.cs" />
<Compile Include="ModelDto\KPShrinkTubDto.cs" /> <Compile Include="ModelDto\KPShrinkTubDto.cs" />
@@ -170,6 +175,11 @@
<Compile Include="ModelDto\AppearanceTestDto.cs" /> <Compile Include="ModelDto\AppearanceTestDto.cs" />
<Compile Include="ViewModel\DbDataClearViewModel.cs" /> <Compile Include="ViewModel\DbDataClearViewModel.cs" />
<Compile Include="ViewModel\CylinderEngravViewModel.cs" /> <Compile Include="ViewModel\CylinderEngravViewModel.cs" />
<Compile Include="ViewModel\OilGuideMountViewModel.cs" />
<Compile Include="ViewModel\RotorShrinkFitViewModel.cs" />
<Compile Include="ViewModel\KPBarrelShrinkFitViewModel.cs" />
<Compile Include="ViewModel\KPReliefValveAsmViewModel.cs" />
<Compile Include="ViewModel\KPExhCoverSealTestViewModel.cs" />
<Compile Include="ViewModel\KPRingWeldMachDwViewModel.cs" /> <Compile Include="ViewModel\KPRingWeldMachDwViewModel.cs" />
<Compile Include="ViewModel\KPRingWeldMachUpViewModel.cs" /> <Compile Include="ViewModel\KPRingWeldMachUpViewModel.cs" />
<Compile Include="ViewModel\KPShrinkTubViewModel.cs" /> <Compile Include="ViewModel\KPShrinkTubViewModel.cs" />
@@ -370,6 +380,21 @@
<Compile Include="View\UserControlMenuItem.xaml.cs"> <Compile Include="View\UserControlMenuItem.xaml.cs">
<DependentUpon>UserControlMenuItem.xaml</DependentUpon> <DependentUpon>UserControlMenuItem.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="View\OilGuideMount\OilGuideMountView.xaml.cs">
<DependentUpon>OilGuideMountView.xaml</DependentUpon>
</Compile>
<Compile Include="View\RotorShrinkFit\RotorShrinkFitView.xaml.cs">
<DependentUpon>RotorShrinkFitView.xaml</DependentUpon>
</Compile>
<Compile Include="View\KPBarrelShrinkFit\KPBarrelShrinkFitView.xaml.cs">
<DependentUpon>KPBarrelShrinkFitView.xaml</DependentUpon>
</Compile>
<Compile Include="View\KPReliefValveAsm\KPReliefValveAsmView.xaml.cs">
<DependentUpon>KPReliefValveAsmView.xaml</DependentUpon>
</Compile>
<Compile Include="View\KPExhCoverSealTest\KPExhCoverSealTestView.xaml.cs">
<DependentUpon>KPExhCoverSealTestView.xaml</DependentUpon>
</Compile>
<Page Include="Assets\TextBox.xaml"> <Page Include="Assets\TextBox.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@@ -590,35 +615,42 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<Page Include="View\OilGuideMount\OilGuideMountView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\RotorShrinkFit\RotorShrinkFitView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\KPBarrelShrinkFit\KPBarrelShrinkFitView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\KPReliefValveAsm\KPReliefValveAsmView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\KPExhCoverSealTest\KPExhCoverSealTestView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs"> <None Include="ReportFile\OilGuideMountTemplate.xlsx">
<SubType>Code</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Content Include="NLog.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="NLog.xsd">
<SubType>Designer</SubType>
</None> </None>
<None Include="packages.config" /> <None Include="ReportFile\RotorShrinkFitTemplate.xlsx">
<None Include="Properties\Settings.settings"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Generator>SettingsSingleFileGenerator</Generator> </None>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <None Include="ReportFile\KPBarrelShrinkFitTemplate.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="ReportFile\KPReliefValveAsmTemplate.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="ReportFile\KPExhCoverSealTestTemplate.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Include="ReportFile\AppearanceTestTemplate.xlsx"> <None Include="ReportFile\AppearanceTestTemplate.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View File

@@ -54,6 +54,11 @@ using GroupLine.App.View.KPUpBurnEb;
using GroupLine.App.View.KPRingWeldMachDw; using GroupLine.App.View.KPRingWeldMachDw;
using GroupLine.App.View.KPRingWeldMachUp; using GroupLine.App.View.KPRingWeldMachUp;
using GroupLine.App.View.KPShrinkTub; using GroupLine.App.View.KPShrinkTub;
using GroupLine.App.View.OilGuideMount;
using GroupLine.App.View.RotorShrinkFit;
using GroupLine.App.View.KPBarrelShrinkFit;
using GroupLine.App.View.KPReliefValveAsm;
using GroupLine.App.View.KPExhCoverSealTest;
namespace GroupLine.App namespace GroupLine.App
{ {
@@ -168,6 +173,11 @@ namespace GroupLine.App
DeviceGroup.Add(new SubItem("K/P型环焊机底部焊接", new KPRingWeldMachDwView())); DeviceGroup.Add(new SubItem("K/P型环焊机底部焊接", new KPRingWeldMachDwView()));
DeviceGroup.Add(new SubItem("K/P型环焊机顶部焊接", new KPRingWeldMachUpView())); DeviceGroup.Add(new SubItem("K/P型环焊机顶部焊接", new KPRingWeldMachUpView()));
DeviceGroup.Add(new SubItem("K/P型缩管", new KPShrinkTubView())); DeviceGroup.Add(new SubItem("K/P型缩管", new KPShrinkTubView()));
DeviceGroup.Add(new SubItem("导油板敲入", new OilGuideMountView()));
DeviceGroup.Add(new SubItem("转子烧嵌", new RotorShrinkFitView()));
DeviceGroup.Add(new SubItem("KP型筒体烧嵌", new KPBarrelShrinkFitView()));
DeviceGroup.Add(new SubItem("KP溢流阀组装机", new KPReliefValveAsmView()));
DeviceGroup.Add(new SubItem("KP排气盖板安装气密检测", new KPExhCoverSealTestView()));
var menuKanban = new List<SubItem>(); var menuKanban = new List<SubItem>();

View File

@@ -0,0 +1,69 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace GroupLine.App.ModelDto
{
[MetadataType(typeof(KPBarrelShrinkFitDto))]
public class KPBarrelShrinkFitDto : ValidateModelBase
{
/// <summary>
/// ID
/// </summary>
private long _Id;
public long Id
{
get { return _Id; }
set { _Id = value; RaisePropertyChanged(() => Id); }
}
private string _BarrelNo;
/// <summary>
/// 筒体编号
/// </summary>
public string BarrelNo
{
get { return _BarrelNo; }
set { _BarrelNo = value; RaisePropertyChanged(() => BarrelNo); }
}
private string _StatorNo;
/// <summary>
/// 定子编号
/// </summary>
public string StatorNo
{
get { return _StatorNo; }
set { _StatorNo = value; RaisePropertyChanged(() => StatorNo); }
}
private string _OperatorNo;
/// <summary>
/// 员工编号
/// </summary>
public string OperatorNo
{
get { return _OperatorNo; }
set { _OperatorNo = value; RaisePropertyChanged(() => OperatorNo); }
}
private decimal _BarrelTemp;
/// <summary>
/// 筒体温度
/// </summary>
public decimal BarrelTemp
{
get { return _BarrelTemp; }
set { _BarrelTemp = value; RaisePropertyChanged(() => BarrelTemp); }
}
private DateTime _CreateTime;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime
{
get { return _CreateTime; }
set { _CreateTime = value; RaisePropertyChanged(() => CreateTime); }
}
}
}

View File

@@ -0,0 +1,177 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace GroupLine.App.ModelDto
{
[MetadataType(typeof(KPExhCoverSealTestDto))]
public class KPExhCoverSealTestDto : ValidateModelBase
{
/// <summary>
/// ID
/// </summary>
private long _Id;
public long Id
{
get { return _Id; }
set { _Id = value; RaisePropertyChanged(() => Id); }
}
private string _ModelName;
/// <summary>
/// 机型
/// </summary>
public string ModelName
{
get { return _ModelName; }
set { _ModelName = value; RaisePropertyChanged(() => ModelName); }
}
private string _MvDiscNo;
/// <summary>
/// 动盘编号
/// </summary>
public string MvDiscNo
{
get { return _MvDiscNo; }
set { _MvDiscNo = value; RaisePropertyChanged(() => MvDiscNo); }
}
private string _StDiscNo;
/// <summary>
/// 静盘编号
/// </summary>
public string StDiscNo
{
get { return _StDiscNo; }
set { _StDiscNo = value; RaisePropertyChanged(() => StDiscNo); }
}
private decimal _CycleTime;
/// <summary>
/// 节拍
/// </summary>
public decimal CycleTime
{
get { return _CycleTime; }
set { _CycleTime = value; RaisePropertyChanged(() => CycleTime); }
}
private int _ScrewCount;
/// <summary>
/// 螺丝数量
/// </summary>
public int ScrewCount
{
get { return _ScrewCount; }
set { _ScrewCount = value; RaisePropertyChanged(() => ScrewCount); }
}
private string _Result;
/// <summary>
/// 判定
/// </summary>
public string Result
{
get { return _Result; }
set { _Result = ConvertOkNg(value); RaisePropertyChanged(() => Result); }
}
private decimal _FinalTorque1;
public decimal FinalTorque1 { get { return _FinalTorque1; } set { _FinalTorque1 = value; RaisePropertyChanged(() => FinalTorque1); } }
private decimal _FinalAngle1;
public decimal FinalAngle1 { get { return _FinalAngle1; } set { _FinalAngle1 = value; RaisePropertyChanged(() => FinalAngle1); } }
private decimal _FinalTorque2;
public decimal FinalTorque2 { get { return _FinalTorque2; } set { _FinalTorque2 = value; RaisePropertyChanged(() => FinalTorque2); } }
private decimal _FinalAngle2;
public decimal FinalAngle2 { get { return _FinalAngle2; } set { _FinalAngle2 = value; RaisePropertyChanged(() => FinalAngle2); } }
private decimal _FinalTorque3;
public decimal FinalTorque3 { get { return _FinalTorque3; } set { _FinalTorque3 = value; RaisePropertyChanged(() => FinalTorque3); } }
private decimal _FinalAngle3;
public decimal FinalAngle3 { get { return _FinalAngle3; } set { _FinalAngle3 = value; RaisePropertyChanged(() => FinalAngle3); } }
private decimal _FinalTorque4;
public decimal FinalTorque4 { get { return _FinalTorque4; } set { _FinalTorque4 = value; RaisePropertyChanged(() => FinalTorque4); } }
private decimal _FinalAngle4;
public decimal FinalAngle4 { get { return _FinalAngle4; } set { _FinalAngle4 = value; RaisePropertyChanged(() => FinalAngle4); } }
private decimal _FinalTorque5;
public decimal FinalTorque5 { get { return _FinalTorque5; } set { _FinalTorque5 = value; RaisePropertyChanged(() => FinalTorque5); } }
private decimal _FinalAngle5;
public decimal FinalAngle5 { get { return _FinalAngle5; } set { _FinalAngle5 = value; RaisePropertyChanged(() => FinalAngle5); } }
private decimal _FinalTorque6;
public decimal FinalTorque6 { get { return _FinalTorque6; } set { _FinalTorque6 = value; RaisePropertyChanged(() => FinalTorque6); } }
private decimal _FinalAngle6;
public decimal FinalAngle6 { get { return _FinalAngle6; } set { _FinalAngle6 = value; RaisePropertyChanged(() => FinalAngle6); } }
private decimal _FinalTorque7;
public decimal FinalTorque7 { get { return _FinalTorque7; } set { _FinalTorque7 = value; RaisePropertyChanged(() => FinalTorque7); } }
private decimal _FinalAngle7;
public decimal FinalAngle7 { get { return _FinalAngle7; } set { _FinalAngle7 = value; RaisePropertyChanged(() => FinalAngle7); } }
private decimal _FinalTorque8;
public decimal FinalTorque8 { get { return _FinalTorque8; } set { _FinalTorque8 = value; RaisePropertyChanged(() => FinalTorque8); } }
private decimal _FinalAngle8;
public decimal FinalAngle8 { get { return _FinalAngle8; } set { _FinalAngle8 = value; RaisePropertyChanged(() => FinalAngle8); } }
private decimal _FinalTorque9;
public decimal FinalTorque9 { get { return _FinalTorque9; } set { _FinalTorque9 = value; RaisePropertyChanged(() => FinalTorque9); } }
private decimal _FinalAngle9;
public decimal FinalAngle9 { get { return _FinalAngle9; } set { _FinalAngle9 = value; RaisePropertyChanged(() => FinalAngle9); } }
private decimal _FinalTorque10;
public decimal FinalTorque10 { get { return _FinalTorque10; } set { _FinalTorque10 = value; RaisePropertyChanged(() => FinalTorque10); } }
private decimal _FinalAngle10;
public decimal FinalAngle10 { get { return _FinalAngle10; } set { _FinalAngle10 = value; RaisePropertyChanged(() => FinalAngle10); } }
private decimal _FinalTorque11;
public decimal FinalTorque11 { get { return _FinalTorque11; } set { _FinalTorque11 = value; RaisePropertyChanged(() => FinalTorque11); } }
private decimal _FinalAngle11;
public decimal FinalAngle11 { get { return _FinalAngle11; } set { _FinalAngle11 = value; RaisePropertyChanged(() => FinalAngle11); } }
private decimal _FinalTorque12;
public decimal FinalTorque12 { get { return _FinalTorque12; } set { _FinalTorque12 = value; RaisePropertyChanged(() => FinalTorque12); } }
private decimal _FinalAngle12;
public decimal FinalAngle12 { get { return _FinalAngle12; } set { _FinalAngle12 = value; RaisePropertyChanged(() => FinalAngle12); } }
private string _OperatorNo;
/// <summary>
/// 员工编号
/// </summary>
public string OperatorNo
{
get { return _OperatorNo; }
set { _OperatorNo = value; RaisePropertyChanged(() => OperatorNo); }
}
private DateTime _CreateTime;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime
{
get { return _CreateTime; }
set { _CreateTime = value; RaisePropertyChanged(() => CreateTime); }
}
/// <summary>
/// 将0/1转换为OK/NG。
/// </summary>
/// <param name="value">源值。</param>
/// <returns>展示文本。</returns>
private static string ConvertOkNg(string value)
{
switch (value)
{
case "0":
return "OK";
case "1":
return "NG";
default:
return value;
}
}
}
}

View File

@@ -0,0 +1,197 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace GroupLine.App.ModelDto
{
[MetadataType(typeof(KPReliefValveAsmDto))]
public class KPReliefValveAsmDto : ValidateModelBase
{
/// <summary>
/// ID
/// </summary>
private long _Id;
public long Id
{
get { return _Id; }
set { _Id = value; RaisePropertyChanged(() => Id); }
}
private string _ModelName;
/// <summary>
/// 机型
/// </summary>
public string ModelName
{
get { return _ModelName; }
set { _ModelName = value; RaisePropertyChanged(() => ModelName); }
}
private string _MvDiscNo;
/// <summary>
/// 动盘编号
/// </summary>
public string MvDiscNo
{
get { return _MvDiscNo; }
set { _MvDiscNo = value; RaisePropertyChanged(() => MvDiscNo); }
}
private string _StDiscNo;
/// <summary>
/// 静盘编号
/// </summary>
public string StDiscNo
{
get { return _StDiscNo; }
set { _StDiscNo = value; RaisePropertyChanged(() => StDiscNo); }
}
private decimal _CycleTime;
/// <summary>
/// 节拍
/// </summary>
public decimal CycleTime
{
get { return _CycleTime; }
set { _CycleTime = value; RaisePropertyChanged(() => CycleTime); }
}
private int _ScrewCount;
/// <summary>
/// 螺丝数量
/// </summary>
public int ScrewCount
{
get { return _ScrewCount; }
set { _ScrewCount = value; RaisePropertyChanged(() => ScrewCount); }
}
private string _Result;
/// <summary>
/// 判定
/// </summary>
public string Result
{
get { return _Result; }
set { _Result = ConvertOkNg(value); RaisePropertyChanged(() => Result); }
}
private decimal _FinalTorque1;
/// <summary>
/// 最终扭矩1
/// </summary>
public decimal FinalTorque1
{
get { return _FinalTorque1; }
set { _FinalTorque1 = value; RaisePropertyChanged(() => FinalTorque1); }
}
private decimal _FinalAngle1;
/// <summary>
/// 最终角度1
/// </summary>
public decimal FinalAngle1
{
get { return _FinalAngle1; }
set { _FinalAngle1 = value; RaisePropertyChanged(() => FinalAngle1); }
}
private decimal _FinalTorque2;
/// <summary>
/// 最终扭矩2
/// </summary>
public decimal FinalTorque2
{
get { return _FinalTorque2; }
set { _FinalTorque2 = value; RaisePropertyChanged(() => FinalTorque2); }
}
private decimal _FinalAngle2;
/// <summary>
/// 最终角度2
/// </summary>
public decimal FinalAngle2
{
get { return _FinalAngle2; }
set { _FinalAngle2 = value; RaisePropertyChanged(() => FinalAngle2); }
}
private decimal _FinalTorque3;
/// <summary>
/// 最终扭矩3
/// </summary>
public decimal FinalTorque3
{
get { return _FinalTorque3; }
set { _FinalTorque3 = value; RaisePropertyChanged(() => FinalTorque3); }
}
private decimal _FinalAngle3;
/// <summary>
/// 最终角度3
/// </summary>
public decimal FinalAngle3
{
get { return _FinalAngle3; }
set { _FinalAngle3 = value; RaisePropertyChanged(() => FinalAngle3); }
}
private decimal _FinalTorque4;
/// <summary>
/// 最终扭矩4
/// </summary>
public decimal FinalTorque4
{
get { return _FinalTorque4; }
set { _FinalTorque4 = value; RaisePropertyChanged(() => FinalTorque4); }
}
private decimal _FinalAngle4;
/// <summary>
/// 最终角度4
/// </summary>
public decimal FinalAngle4
{
get { return _FinalAngle4; }
set { _FinalAngle4 = value; RaisePropertyChanged(() => FinalAngle4); }
}
private string _OperatorNo;
/// <summary>
/// 员工编号
/// </summary>
public string OperatorNo
{
get { return _OperatorNo; }
set { _OperatorNo = value; RaisePropertyChanged(() => OperatorNo); }
}
private DateTime _CreateTime;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime
{
get { return _CreateTime; }
set { _CreateTime = value; RaisePropertyChanged(() => CreateTime); }
}
/// <summary>
/// 将0/1转换为OK/NG。
/// </summary>
/// <param name="value">源值。</param>
/// <returns>展示文本。</returns>
private static string ConvertOkNg(string value)
{
switch (value)
{
case "0":
return "OK";
case "1":
return "NG";
default:
return value;
}
}
}
}

View File

@@ -0,0 +1,165 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace GroupLine.App.ModelDto
{
[MetadataType(typeof(OilGuideMountDto))]
public class OilGuideMountDto : ValidateModelBase
{
/// <summary>
/// ID
/// </summary>
private long _Id;
public long Id
{
get { return _Id; }
set { _Id = value; RaisePropertyChanged(() => Id); }
}
private string _CrankshaftNo;
/// <summary>
/// 曲轴编号
/// </summary>
public string CrankshaftNo
{
get { return _CrankshaftNo; }
set { _CrankshaftNo = value; RaisePropertyChanged(() => CrankshaftNo); }
}
private string _BracketNo;
/// <summary>
/// 支架编号
/// </summary>
public string BracketNo
{
get { return _BracketNo; }
set { _BracketNo = value; RaisePropertyChanged(() => BracketNo); }
}
private string _BracketCastingNo;
/// <summary>
/// 支架铸件号
/// </summary>
public string BracketCastingNo
{
get { return _BracketCastingNo; }
set { _BracketCastingNo = value; RaisePropertyChanged(() => BracketCastingNo); }
}
private string _OperatorNo;
/// <summary>
/// 员工编号
/// </summary>
public string OperatorNo
{
get { return _OperatorNo; }
set { _OperatorNo = value; RaisePropertyChanged(() => OperatorNo); }
}
private string _PlaceNoDamage;
/// <summary>
/// 放入时无磕碰
/// </summary>
public string PlaceNoDamage
{
get { return _PlaceNoDamage; }
set { _PlaceNoDamage = ConvertOkNg(value); RaisePropertyChanged(() => PlaceNoDamage); }
}
private string _OilGuidePlate;
/// <summary>
/// 导油板
/// </summary>
public string OilGuidePlate
{
get { return _OilGuidePlate; }
set { _OilGuidePlate = ConvertNotDoOk(value); RaisePropertyChanged(() => OilGuidePlate); }
}
private string _FeelerGaugeCheck;
/// <summary>
/// 塞尺检测
/// </summary>
public string FeelerGaugeCheck
{
get { return _FeelerGaugeCheck; }
set { _FeelerGaugeCheck = ConvertNotDoOk(value); RaisePropertyChanged(() => FeelerGaugeCheck); }
}
private string _BuriedPlug;
/// <summary>
/// 埋塞
/// </summary>
public string BuriedPlug
{
get { return _BuriedPlug; }
set { _BuriedPlug = ConvertNotDoOk(value); RaisePropertyChanged(() => BuriedPlug); }
}
private string _HelicalScrew;
/// <summary>
/// 螺旋螺钉
/// </summary>
public string HelicalScrew
{
get { return _HelicalScrew; }
set { _HelicalScrew = ConvertNotDoOk(value); RaisePropertyChanged(() => HelicalScrew); }
}
private string _AirTightCheck;
/// <summary>
/// 气密检测
/// </summary>
public string AirTightCheck
{
get { return _AirTightCheck; }
set { _AirTightCheck = ConvertNotDoOk(value); RaisePropertyChanged(() => AirTightCheck); }
}
private DateTime _CreateTime;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime
{
get { return _CreateTime; }
set { _CreateTime = value; RaisePropertyChanged(() => CreateTime); }
}
/// <summary>
/// 将0/1转换为OK/NG。
/// </summary>
/// <param name="value">源值。</param>
/// <returns>展示文本。</returns>
private static string ConvertOkNg(string value)
{
switch (value)
{
case "0":
return "OK";
case "1":
return "NG";
default:
return value;
}
}
/// <summary>
/// 将0/1转换为不做/OK。
/// </summary>
/// <param name="value">源值。</param>
/// <returns>展示文本。</returns>
private static string ConvertNotDoOk(string value)
{
switch (value)
{
case "0":
return "不做";
case "1":
return "OK";
default:
return value;
}
}
}
}

View File

@@ -98,6 +98,27 @@ private string _OpNo;
get { return _OpNo; } get { return _OpNo; }
set { _OpNo = value; RaisePropertyChanged(() => OpNo); } set { _OpNo = value; RaisePropertyChanged(() => OpNo); }
} }
private decimal _GapblockDepth;
/// <summary>
/// 间隙块深度
/// </summary>
public decimal GapblockDepth
{
get { return _GapblockDepth; }
set { _GapblockDepth = value; RaisePropertyChanged(() => GapblockDepth); }
}
private string _PalletNo;
/// <summary>
/// 托盘号
/// </summary>
public string PalletNo
{
get { return _PalletNo; }
set { _PalletNo = value; RaisePropertyChanged(() => PalletNo); }
}
private DateTime _CreateTime; private DateTime _CreateTime;
/// <summary> /// <summary>
/// 创建时间 /// 创建时间

View File

@@ -0,0 +1,59 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace GroupLine.App.ModelDto
{
[MetadataType(typeof(RotorShrinkFitDto))]
public class RotorShrinkFitDto : ValidateModelBase
{
/// <summary>
/// ID
/// </summary>
private long _Id;
public long Id
{
get { return _Id; }
set { _Id = value; RaisePropertyChanged(() => Id); }
}
private string _RotorNo;
/// <summary>
/// 转子编号
/// </summary>
public string RotorNo
{
get { return _RotorNo; }
set { _RotorNo = value; RaisePropertyChanged(() => RotorNo); }
}
private string _BracketNo;
/// <summary>
/// 支架编号
/// </summary>
public string BracketNo
{
get { return _BracketNo; }
set { _BracketNo = value; RaisePropertyChanged(() => BracketNo); }
}
private string _OperatorNo;
/// <summary>
/// 员工编号
/// </summary>
public string OperatorNo
{
get { return _OperatorNo; }
set { _OperatorNo = value; RaisePropertyChanged(() => OperatorNo); }
}
private DateTime _CreateTime;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime
{
get { return _CreateTime; }
set { _CreateTime = value; RaisePropertyChanged(() => CreateTime); }
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,116 @@
<UserControl
x:Class="GroupLine.App.View.KPBarrelShrinkFit.KPBarrelShrinkFitView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GroupLine.App.View.KPBarrelShrinkFit"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="990"
d:DesignWidth="1400"
DataContext="{Binding Source={StaticResource Locator}, Path=KPBarrelShrinkFit}"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2.4*" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<GroupBox Margin="10,10,10,10" Header="{Binding MachineName}">
<StackPanel Orientation="Vertical">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel
Margin="0,0,0,20"
HorizontalAlignment="Center"
Orientation="Horizontal">
<StackPanel Margin="20">
<Label HorizontalContentAlignment="Center" Content="筒体编号:" />
<TextBox
Width="180"
materialDesign:HintAssist.HelperText="请输入筒体编号"
materialDesign:HintAssist.Hint="筒体编号"
Text="{Binding SearchBarrelNo, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
</StackPanel>
<StackPanel Margin="20" Orientation="Horizontal">
<Label
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
Content="创建时间:" />
<DatePicker
Width="120"
Margin="0,0,10,0"
materialDesign:HintAssist.Hint="开始时间"
Language="zh-CN"
SelectedDate="{Binding SearchStartDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker
Width="120"
Margin="10,0,10,0"
materialDesign:HintAssist.Hint="结束时间"
Language="zh-CN"
SelectedDate="{Binding SearchEndDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
</StackPanel>
</StackPanel>
<StackPanel
Grid.Row="1"
Background="AliceBlue"
Orientation="Horizontal">
<Button
Width="120"
Height="30"
Margin="10"
Background="Green"
Command="{Binding SearchCmd}"
Content="搜索" />
<Button
Width="120"
Height="30"
Margin="10"
Background="Orange"
Command="{Binding OutputDataCmd}"
Content="导出数据" />
</StackPanel>
</Grid>
</StackPanel>
</GroupBox>
<Grid
Grid.Row="1"
Height="680"
Margin="8">
<DataGrid
x:Name="dg1"
AutoGenerateColumns="False"
IsReadOnly="True"
ItemsSource="{Binding ListModelDto}"
SelectionMode="Single"
SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn
Width="220"
Binding="{Binding BarrelNo}"
Header="筒体编号" />
<DataGridTextColumn
Width="220"
Binding="{Binding StatorNo}"
Header="定子编号" />
<DataGridTextColumn
Width="160"
Binding="{Binding OperatorNo}"
Header="员工编号" />
<DataGridTextColumn
Width="180"
Binding="{Binding BarrelTemp}"
Header="筒体温度(℃)" />
<DataGridTextColumn
Width="180"
Binding="{Binding CreateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"
Header="创建时间" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace GroupLine.App.View.KPBarrelShrinkFit
{
/// <summary>
/// KPBarrelShrinkFitView.xaml 的交互逻辑
/// </summary>
public partial class KPBarrelShrinkFitView : UserControl
{
public KPBarrelShrinkFitView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,221 @@
<UserControl
x:Class="GroupLine.App.View.KPExhCoverSealTest.KPExhCoverSealTestView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GroupLine.App.View.KPExhCoverSealTest"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="990"
d:DesignWidth="1400"
DataContext="{Binding Source={StaticResource Locator}, Path=KPExhCoverSealTest}"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2.4*" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<GroupBox Margin="10,10,10,10" Header="{Binding MachineName}">
<StackPanel Orientation="Vertical">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel
Margin="0,0,0,20"
HorizontalAlignment="Center"
Orientation="Horizontal">
<StackPanel Margin="20">
<Label HorizontalContentAlignment="Center" Content="动盘编号:" />
<TextBox
Width="180"
materialDesign:HintAssist.HelperText="请输入动盘编号"
materialDesign:HintAssist.Hint="动盘编号"
Text="{Binding SearchMvDiscNo, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
</StackPanel>
<StackPanel Margin="20" Orientation="Horizontal">
<Label HorizontalContentAlignment="Center" VerticalAlignment="Center" Content="创建时间:" />
<DatePicker
Width="120"
Margin="0,0,10,0"
materialDesign:HintAssist.Hint="开始时间"
Language="zh-CN"
SelectedDate="{Binding SearchStartDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker
Width="120"
Margin="10,0,10,0"
materialDesign:HintAssist.Hint="结束时间"
Language="zh-CN"
SelectedDate="{Binding SearchEndDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
</StackPanel>
</StackPanel>
<StackPanel
Grid.Row="1"
Background="AliceBlue"
Orientation="Horizontal">
<Button
Width="120"
Height="30"
Margin="10"
Background="Green"
Command="{Binding SearchCmd}"
Content="搜索" />
<Button
Width="120"
Height="30"
Margin="10"
Background="Orange"
Command="{Binding OutputDataCmd}"
Content="导出数据" />
</StackPanel>
</Grid>
</StackPanel>
</GroupBox>
<Grid
Grid.Row="1"
Height="680"
Margin="8">
<DataGrid
x:Name="dg1"
AutoGenerateColumns="False"
IsReadOnly="True"
ItemsSource="{Binding ListModelDto}"
SelectionMode="Single"
SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn
Width="130"
Binding="{Binding ModelName}"
Header="机型" />
<DataGridTextColumn
Width="130"
Binding="{Binding MvDiscNo}"
Header="动盘编号" />
<DataGridTextColumn
Width="130"
Binding="{Binding StDiscNo}"
Header="静盘编号" />
<DataGridTextColumn
Width="110"
Binding="{Binding CycleTime}"
Header="节拍(S)" />
<DataGridTextColumn
Width="120"
Binding="{Binding ScrewCount}"
Header="螺丝数量(个)" />
<DataGridTextColumn
Width="120"
Binding="{Binding Result}"
Header="判定(OK/NG)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque1}"
Header="最终扭矩1(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle1}"
Header="最终角度1(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque2}"
Header="最终扭矩2(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle2}"
Header="最终角度2(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque3}"
Header="最终扭矩3(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle3}"
Header="最终角度3(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque4}"
Header="最终扭矩4(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle4}"
Header="最终角度4(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque5}"
Header="最终扭矩5(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle5}"
Header="最终角度5(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque6}"
Header="最终扭矩6(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle6}"
Header="最终角度6(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque7}"
Header="最终扭矩7(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle7}"
Header="最终角度7(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque8}"
Header="最终扭矩8(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle8}"
Header="最终角度8(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque9}"
Header="最终扭矩9(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle9}"
Header="最终角度9(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque10}"
Header="最终扭矩10(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle10}"
Header="最终角度10(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque11}"
Header="最终扭矩11(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle11}"
Header="最终角度11(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalTorque12}"
Header="最终扭矩12(N.M)" />
<DataGridTextColumn
Width="140"
Binding="{Binding FinalAngle12}"
Header="最终角度12(deg)" />
<DataGridTextColumn
Width="140"
Binding="{Binding OperatorNo}"
Header="员工编号" />
<DataGridTextColumn
Width="180"
Binding="{Binding CreateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"
Header="创建时间" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace GroupLine.App.View.KPExhCoverSealTest
{
/// <summary>
/// KPExhCoverSealTestView.xaml 的交互逻辑
/// </summary>
public partial class KPExhCoverSealTestView : UserControl
{
public KPExhCoverSealTestView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,82 @@
<UserControl
x:Class="GroupLine.App.View.KPReliefValveAsm.KPReliefValveAsmView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GroupLine.App.View.KPReliefValveAsm"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="990"
d:DesignWidth="1400"
DataContext="{Binding Source={StaticResource Locator}, Path=KPReliefValveAsm}"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2.4*" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<GroupBox Margin="10,10,10,10" Header="{Binding MachineName}">
<StackPanel Orientation="Vertical">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel Margin="0,0,0,20" HorizontalAlignment="Center" Orientation="Horizontal">
<StackPanel Margin="20">
<Label HorizontalContentAlignment="Center" Content="动盘编号:" />
<TextBox
Width="180"
materialDesign:HintAssist.HelperText="请输入动盘编号"
materialDesign:HintAssist.Hint="动盘编号"
Text="{Binding SearchMvDiscNo, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
</StackPanel>
<StackPanel Margin="20" Orientation="Horizontal">
<Label HorizontalContentAlignment="Center" VerticalAlignment="Center" Content="创建时间:" />
<DatePicker
Width="120"
Margin="0,0,10,0"
materialDesign:HintAssist.Hint="开始时间"
Language="zh-CN"
SelectedDate="{Binding SearchStartDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker
Width="120"
Margin="10,0,10,0"
materialDesign:HintAssist.Hint="结束时间"
Language="zh-CN"
SelectedDate="{Binding SearchEndDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
</StackPanel>
</StackPanel>
<StackPanel Grid.Row="1" Background="AliceBlue" Orientation="Horizontal">
<Button Width="120" Height="30" Margin="10" Background="Green" Command="{Binding SearchCmd}" Content="搜索" />
<Button Width="120" Height="30" Margin="10" Background="Orange" Command="{Binding OutputDataCmd}" Content="导出数据" />
</StackPanel>
</Grid>
</StackPanel>
</GroupBox>
<Grid Grid.Row="1" Height="680" Margin="8">
<DataGrid x:Name="dg1" AutoGenerateColumns="False" IsReadOnly="True" ItemsSource="{Binding ListModelDto}" SelectionMode="Single" SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn Width="140" Binding="{Binding ModelName}" Header="机型" />
<DataGridTextColumn Width="140" Binding="{Binding MvDiscNo}" Header="动盘编号" />
<DataGridTextColumn Width="140" Binding="{Binding StDiscNo}" Header="静盘编号" />
<DataGridTextColumn Width="120" Binding="{Binding CycleTime}" Header="节拍(S)" />
<DataGridTextColumn Width="120" Binding="{Binding ScrewCount}" Header="螺丝数量(个)" />
<DataGridTextColumn Width="120" Binding="{Binding Result}" Header="判定(OK/NG)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalTorque1}" Header="最终扭矩1(N.M)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalAngle1}" Header="最终角度1(deg)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalTorque2}" Header="最终扭矩2(N.M)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalAngle2}" Header="最终角度2(deg)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalTorque3}" Header="最终扭矩3(N.M)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalAngle3}" Header="最终角度3(deg)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalTorque4}" Header="最终扭矩4(N.M)" />
<DataGridTextColumn Width="140" Binding="{Binding FinalAngle4}" Header="最终角度4(deg)" />
<DataGridTextColumn Width="140" Binding="{Binding OperatorNo}" Header="员工编号" />
<DataGridTextColumn Width="180" Binding="{Binding CreateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" Header="创建时间" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace GroupLine.App.View.KPReliefValveAsm
{
/// <summary>
/// KPReliefValveAsmView.xaml 的交互逻辑
/// </summary>
public partial class KPReliefValveAsmView : UserControl
{
public KPReliefValveAsmView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,156 @@
<UserControl
x:Class="GroupLine.App.View.OilGuideMount.OilGuideMountView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GroupLine.App.View.OilGuideMount"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="990"
d:DesignWidth="1400"
DataContext="{Binding Source={StaticResource Locator}, Path=OilGuideMount}"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2.4*" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<GroupBox Margin="10,10,10,10" Header="{Binding MachineName}">
<StackPanel Margin="0,0,0,0" Orientation="Vertical">
<StackPanel.Resources>
<Style TargetType="StackPanel">
<Setter Property="Orientation" Value="Horizontal" />
<Setter Property="Margin" Value="0,0,0,4" />
</Style>
<Style BasedOn="{StaticResource {x:Type Label}}" TargetType="Label">
<Setter Property="Width" Value="120" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</StackPanel.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel
Grid.Column="0"
Margin="0,0,0,20"
HorizontalAlignment="Center"
Orientation="Horizontal">
<StackPanel Margin="20">
<Label HorizontalContentAlignment="Center" Content="曲轴编号:" />
<TextBox
Width="150"
VerticalAlignment="Center"
materialDesign:HintAssist.HelperText="请输入曲轴编号"
materialDesign:HintAssist.Hint="曲轴编号"
Text="{Binding SearchCrankshaftNo, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
</StackPanel>
<StackPanel Margin="20" Orientation="Horizontal">
<Label
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
Content="创建时间:" />
<DatePicker
Width="120"
Margin="0,0,10,0"
materialDesign:HintAssist.Hint="开始时间"
Language="zh-CN"
SelectedDate="{Binding SearchStartDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker
Width="120"
Margin="10,0,10,0"
materialDesign:HintAssist.Hint="结束时间"
Language="zh-CN"
SelectedDate="{Binding SearchEndDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
</StackPanel>
</StackPanel>
<StackPanel
Grid.Row="1"
Background="AliceBlue"
Orientation="Horizontal">
<Button
Width="120"
Height="30"
Margin="10,10,10,10"
HorizontalAlignment="Center"
Background="Green"
Command="{Binding SearchCmd}"
Content="搜索" />
<Button
Width="120"
Height="30"
Margin="10,10,10,10"
HorizontalAlignment="Center"
Background="Orange"
Command="{Binding OutputDataCmd}"
Content="导出数据" />
</StackPanel>
</Grid>
</StackPanel>
</GroupBox>
<Grid
Grid.Row="1"
Height="680"
Margin="8">
<DataGrid
x:Name="dg1"
Grid.ColumnSpan="2"
AutoGenerateColumns="False"
IsReadOnly="True"
ItemsSource="{Binding ListModelDto}"
SelectionMode="Single"
SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn
Width="180"
Binding="{Binding CrankshaftNo}"
Header="曲轴编号" />
<DataGridTextColumn
Width="160"
Binding="{Binding BracketNo}"
Header="支架编号" />
<DataGridTextColumn
Width="160"
Binding="{Binding BracketCastingNo}"
Header="支架铸件号" />
<DataGridTextColumn
Width="140"
Binding="{Binding OperatorNo}"
Header="员工编号" />
<DataGridTextColumn
Width="140"
Binding="{Binding PlaceNoDamage}"
Header="放入时无磕碰" />
<DataGridTextColumn
Width="120"
Binding="{Binding OilGuidePlate}"
Header="导油板" />
<DataGridTextColumn
Width="120"
Binding="{Binding FeelerGaugeCheck}"
Header="塞尺检测" />
<DataGridTextColumn
Width="120"
Binding="{Binding BuriedPlug}"
Header="埋塞" />
<DataGridTextColumn
Width="120"
Binding="{Binding HelicalScrew}"
Header="螺旋螺钉" />
<DataGridTextColumn
Width="120"
Binding="{Binding AirTightCheck}"
Header="气密检测" />
<DataGridTextColumn
Width="180"
Binding="{Binding CreateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"
Header="创建时间" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace GroupLine.App.View.OilGuideMount
{
/// <summary>
/// OilGuideMountView.xaml 的交互逻辑
/// </summary>
public partial class OilGuideMountView : UserControl
{
public OilGuideMountView()
{
InitializeComponent();
}
}
}

View File

@@ -162,6 +162,16 @@
Binding="{Binding OpNo}" Binding="{Binding OpNo}"
Header="员工编号" /> Header="员工编号" />
<DataGridTextColumn
Width="160"
Binding="{Binding GapblockDepth}"
Header="间隙块深度(mm)" />
<DataGridTextColumn
Width="140"
Binding="{Binding PalletNo}"
Header="托盘号" />
<DataGridTextColumn <DataGridTextColumn

View File

@@ -0,0 +1,112 @@
<UserControl
x:Class="GroupLine.App.View.RotorShrinkFit.RotorShrinkFitView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GroupLine.App.View.RotorShrinkFit"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="990"
d:DesignWidth="1400"
DataContext="{Binding Source={StaticResource Locator}, Path=RotorShrinkFit}"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2.4*" />
<RowDefinition Height="7*" />
</Grid.RowDefinitions>
<GroupBox Margin="10,10,10,10" Header="{Binding MachineName}">
<StackPanel Orientation="Vertical">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="9*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<StackPanel
Margin="0,0,0,20"
HorizontalAlignment="Center"
Orientation="Horizontal">
<StackPanel Margin="20">
<Label HorizontalContentAlignment="Center" Content="转子编号:" />
<TextBox
Width="180"
materialDesign:HintAssist.HelperText="请输入转子编号"
materialDesign:HintAssist.Hint="转子编号"
Text="{Binding SearchRotorNo, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
</StackPanel>
<StackPanel Margin="20" Orientation="Horizontal">
<Label
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
Content="创建时间:" />
<DatePicker
Width="120"
Margin="0,0,10,0"
materialDesign:HintAssist.Hint="开始时间"
Language="zh-CN"
SelectedDate="{Binding SearchStartDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker
Width="120"
Margin="10,0,10,0"
materialDesign:HintAssist.Hint="结束时间"
Language="zh-CN"
SelectedDate="{Binding SearchEndDate, Mode=TwoWay}"
Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
</StackPanel>
</StackPanel>
<StackPanel
Grid.Row="1"
Background="AliceBlue"
Orientation="Horizontal">
<Button
Width="120"
Height="30"
Margin="10"
Background="Green"
Command="{Binding SearchCmd}"
Content="搜索" />
<Button
Width="120"
Height="30"
Margin="10"
Background="Orange"
Command="{Binding OutputDataCmd}"
Content="导出数据" />
</StackPanel>
</Grid>
</StackPanel>
</GroupBox>
<Grid
Grid.Row="1"
Height="680"
Margin="8">
<DataGrid
x:Name="dg1"
AutoGenerateColumns="False"
IsReadOnly="True"
ItemsSource="{Binding ListModelDto}"
SelectionMode="Single"
SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn
Width="220"
Binding="{Binding RotorNo}"
Header="转子编号" />
<DataGridTextColumn
Width="180"
Binding="{Binding BracketNo}"
Header="支架编号" />
<DataGridTextColumn
Width="160"
Binding="{Binding OperatorNo}"
Header="员工编号" />
<DataGridTextColumn
Width="180"
Binding="{Binding CreateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}"
Header="创建时间" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>

View File

@@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace GroupLine.App.View.RotorShrinkFit
{
/// <summary>
/// RotorShrinkFitView.xaml 的交互逻辑
/// </summary>
public partial class RotorShrinkFitView : UserControl
{
public RotorShrinkFitView()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,222 @@
using AutoMapper;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using GroupLine.App.ModelDto;
using GroupLine.Model;
using NLog;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using MessageBox = System.Windows.MessageBox;
namespace GroupLine.App.ViewModel
{
public class KPBarrelShrinkFitViewModel : ViewModelBase
{
private static Logger _Logger = LogManager.GetCurrentClassLogger();
private string CurrentMachineName = "KP型筒体烧嵌";
private string CurrentMachineNameTemplate = "KPBarrelShrinkFitTemplate.xlsx";
private IMapper autoMapper;
public KPBarrelShrinkFitViewModel()
{
ListModelDto = new ObservableCollection<KPBarrelShrinkFitDto>();
SearchStartDate = DateTime.Now.AddDays(-1).ToShortDateString();
SearchEndDate = DateTime.Now.AddDays(2).ToShortDateString();
MachineName = CurrentMachineName + " - 搜索条件";
var config = new MapperConfiguration(cfg => cfg.CreateMap<KPBarrelShrinkFit, KPBarrelShrinkFitDto>());
autoMapper = config.CreateMapper();
}
private ObservableCollection<KPBarrelShrinkFitDto> _ListModelDto;
public ObservableCollection<KPBarrelShrinkFitDto> ListModelDto
{
get { return _ListModelDto; }
set { _ListModelDto = value; }
}
private string machineName;
public string MachineName
{
get { return machineName; }
set { machineName = value; RaisePropertyChanged(() => MachineName); }
}
private string searchBarrelNo;
public string SearchBarrelNo
{
get { return searchBarrelNo; }
set { searchBarrelNo = value; RaisePropertyChanged(() => SearchBarrelNo); }
}
private string searchStartDate;
public string SearchStartDate
{
get { return searchStartDate; }
set { searchStartDate = value; RaisePropertyChanged(() => SearchStartDate); }
}
private string searchEndDate;
public string SearchEndDate
{
get { return searchEndDate; }
set { searchEndDate = value; RaisePropertyChanged(() => SearchEndDate); }
}
private RelayCommand searchCmd;
public RelayCommand SearchCmd
{
get
{
if (searchCmd == null) return new RelayCommand(() => Search());
return searchCmd;
}
set { searchCmd = value; }
}
private void Search()
{
try
{
var mulConQueryable = FSqlContext.FDb.Select<KPBarrelShrinkFit>();
if (!string.IsNullOrEmpty(SearchBarrelNo))
{
mulConQueryable = mulConQueryable.Where(t => t.BarrelNo.Contains(SearchBarrelNo));
}
if (!string.IsNullOrEmpty(SearchStartDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date >= Convert.ToDateTime(SearchStartDate));
}
if (!string.IsNullOrEmpty(SearchEndDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date < Convert.ToDateTime(SearchEndDate).AddDays(1));
}
var listData = mulConQueryable.OrderByDescending(a => a.CreateTime).ToList();
ListModelDto.Clear();
foreach (var item in listData)
{
ListModelDto.Add(autoMapper.Map<KPBarrelShrinkFitDto>(item));
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
private RelayCommand _OutputDataCmd;
public RelayCommand OutputDataCmd
{
get
{
if (_OutputDataCmd == null) return new RelayCommand(() => OutputDataAction());
return _OutputDataCmd;
}
set { _OutputDataCmd = value; }
}
private void OutputDataAction()
{
try
{
if (ListModelDto != null && ListModelDto.Count > 0)
{
string filePath = string.Empty;
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件夹";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
MessageBox.Show("文件夹路径不能为空", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
filePath = dialog.SelectedPath;
}
var listData = ListModelDto.ToList();
string templateFilePath = Environment.CurrentDirectory;
string tPath = templateFilePath + @"\ReportFile\" + CurrentMachineNameTemplate;
XSSFWorkbook wk;
using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new XSSFWorkbook(fs);
fs.Close();
}
ISheet sheet = wk.GetSheetAt(0);
IDataFormat dataformat = wk.CreateDataFormat();
ICellStyle style0 = wk.CreateCellStyle();
ICellStyle styleBag = wk.CreateCellStyle();
styleBag.FillForegroundColor = HSSFColor.Red.Index;
styleBag.FillPattern = FillPattern.SolidForeground;
for (int i = 0; i < listData.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(listData[i].BarrelNo.ToString());
row.CreateCell(1).SetCellValue(listData[i].StatorNo.ToString());
row.CreateCell(2).SetCellValue(listData[i].OperatorNo.ToString());
row.CreateCell(3).SetCellValue(listData[i].BarrelTemp.ToString());
row.CreateCell(4).SetCellValue(listData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(4).CellStyle = style0;
}
using (MemoryStream ms = new MemoryStream())
{
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + @"\" + Convert.ToDateTime(SearchStartDate).ToString("yyyy-MM-dd") + "-" + Convert.ToDateTime(SearchEndDate).ToString("yyyy-MM-dd") + "-" + CurrentMachineName + ".xlsx";
wk.Write(ms);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
MessageBox.Show("生成成功");
}
else
{
MessageBox.Show("请先搜索数据后再导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
}
}

View File

@@ -0,0 +1,250 @@
using AutoMapper;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using GroupLine.App.ModelDto;
using GroupLine.Model;
using NLog;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using MessageBox = System.Windows.MessageBox;
namespace GroupLine.App.ViewModel
{
public class KPExhCoverSealTestViewModel : ViewModelBase
{
private static Logger _Logger = LogManager.GetCurrentClassLogger();
private string CurrentMachineName = "KP排气盖板安装气密检测";
private string CurrentMachineNameTemplate = "KPExhCoverSealTestTemplate.xlsx";
private IMapper autoMapper;
public KPExhCoverSealTestViewModel()
{
ListModelDto = new ObservableCollection<KPExhCoverSealTestDto>();
SearchStartDate = DateTime.Now.AddDays(-1).ToShortDateString();
SearchEndDate = DateTime.Now.AddDays(2).ToShortDateString();
MachineName = CurrentMachineName + " - 搜索条件";
var config = new MapperConfiguration(cfg => cfg.CreateMap<KPExhCoverSealTest, KPExhCoverSealTestDto>()
.ForMember(dest => dest.Result, opt => opt.MapFrom(src => src.Result.ToString())));
autoMapper = config.CreateMapper();
}
private ObservableCollection<KPExhCoverSealTestDto> _ListModelDto;
public ObservableCollection<KPExhCoverSealTestDto> ListModelDto
{
get { return _ListModelDto; }
set { _ListModelDto = value; }
}
private string machineName;
public string MachineName
{
get { return machineName; }
set { machineName = value; RaisePropertyChanged(() => MachineName); }
}
private string searchMvDiscNo;
public string SearchMvDiscNo
{
get { return searchMvDiscNo; }
set { searchMvDiscNo = value; RaisePropertyChanged(() => SearchMvDiscNo); }
}
private string searchStartDate;
public string SearchStartDate
{
get { return searchStartDate; }
set { searchStartDate = value; RaisePropertyChanged(() => SearchStartDate); }
}
private string searchEndDate;
public string SearchEndDate
{
get { return searchEndDate; }
set { searchEndDate = value; RaisePropertyChanged(() => SearchEndDate); }
}
private RelayCommand searchCmd;
public RelayCommand SearchCmd
{
get
{
if (searchCmd == null) return new RelayCommand(() => Search());
return searchCmd;
}
set { searchCmd = value; }
}
private void Search()
{
try
{
var mulConQueryable = FSqlContext.FDb.Select<KPExhCoverSealTest>();
if (!string.IsNullOrEmpty(SearchMvDiscNo))
{
mulConQueryable = mulConQueryable.Where(t => t.MvDiscNo.Contains(SearchMvDiscNo));
}
if (!string.IsNullOrEmpty(SearchStartDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date >= Convert.ToDateTime(SearchStartDate));
}
if (!string.IsNullOrEmpty(SearchEndDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date < Convert.ToDateTime(SearchEndDate).AddDays(1));
}
var listData = mulConQueryable.OrderByDescending(a => a.CreateTime).ToList();
ListModelDto.Clear();
foreach (var item in listData)
{
ListModelDto.Add(autoMapper.Map<KPExhCoverSealTestDto>(item));
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
private RelayCommand _OutputDataCmd;
public RelayCommand OutputDataCmd
{
get
{
if (_OutputDataCmd == null) return new RelayCommand(() => OutputDataAction());
return _OutputDataCmd;
}
set { _OutputDataCmd = value; }
}
private void OutputDataAction()
{
try
{
if (ListModelDto != null && ListModelDto.Count > 0)
{
string filePath = string.Empty;
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件夹";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
MessageBox.Show("文件夹路径不能为空", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
filePath = dialog.SelectedPath;
}
var listData = ListModelDto.ToList();
string templateFilePath = Environment.CurrentDirectory;
string tPath = templateFilePath + @"\ReportFile\" + CurrentMachineNameTemplate;
XSSFWorkbook wk;
using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new XSSFWorkbook(fs);
fs.Close();
}
ISheet sheet = wk.GetSheetAt(0);
IDataFormat dataformat = wk.CreateDataFormat();
ICellStyle style0 = wk.CreateCellStyle();
ICellStyle styleBag = wk.CreateCellStyle();
styleBag.FillForegroundColor = HSSFColor.Red.Index;
styleBag.FillPattern = FillPattern.SolidForeground;
for (int i = 0; i < listData.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(listData[i].ModelName.ToString());
row.CreateCell(1).SetCellValue(listData[i].MvDiscNo.ToString());
row.CreateCell(2).SetCellValue(listData[i].StDiscNo.ToString());
row.CreateCell(3).SetCellValue(listData[i].CycleTime.ToString());
row.CreateCell(4).SetCellValue(listData[i].ScrewCount.ToString());
row.CreateCell(5).SetCellValue(listData[i].Result.ToString());
row.CreateCell(6).SetCellValue(listData[i].FinalTorque1.ToString());
row.CreateCell(7).SetCellValue(listData[i].FinalAngle1.ToString());
row.CreateCell(8).SetCellValue(listData[i].FinalTorque2.ToString());
row.CreateCell(9).SetCellValue(listData[i].FinalAngle2.ToString());
row.CreateCell(10).SetCellValue(listData[i].FinalTorque3.ToString());
row.CreateCell(11).SetCellValue(listData[i].FinalAngle3.ToString());
row.CreateCell(12).SetCellValue(listData[i].FinalTorque4.ToString());
row.CreateCell(13).SetCellValue(listData[i].FinalAngle4.ToString());
row.CreateCell(14).SetCellValue(listData[i].FinalTorque5.ToString());
row.CreateCell(15).SetCellValue(listData[i].FinalAngle5.ToString());
row.CreateCell(16).SetCellValue(listData[i].FinalTorque6.ToString());
row.CreateCell(17).SetCellValue(listData[i].FinalAngle6.ToString());
row.CreateCell(18).SetCellValue(listData[i].FinalTorque7.ToString());
row.CreateCell(19).SetCellValue(listData[i].FinalAngle7.ToString());
row.CreateCell(20).SetCellValue(listData[i].FinalTorque8.ToString());
row.CreateCell(21).SetCellValue(listData[i].FinalAngle8.ToString());
row.CreateCell(22).SetCellValue(listData[i].FinalTorque9.ToString());
row.CreateCell(23).SetCellValue(listData[i].FinalAngle9.ToString());
row.CreateCell(24).SetCellValue(listData[i].FinalTorque10.ToString());
row.CreateCell(25).SetCellValue(listData[i].FinalAngle10.ToString());
row.CreateCell(26).SetCellValue(listData[i].FinalTorque11.ToString());
row.CreateCell(27).SetCellValue(listData[i].FinalAngle11.ToString());
row.CreateCell(28).SetCellValue(listData[i].FinalTorque12.ToString());
row.CreateCell(29).SetCellValue(listData[i].FinalAngle12.ToString());
row.CreateCell(30).SetCellValue(listData[i].OperatorNo.ToString());
row.CreateCell(31).SetCellValue(listData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(31).CellStyle = style0;
}
using (MemoryStream ms = new MemoryStream())
{
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + @"\" + Convert.ToDateTime(SearchStartDate).ToString("yyyy-MM-dd") + "-" + Convert.ToDateTime(SearchEndDate).ToString("yyyy-MM-dd") + "-" + CurrentMachineName + ".xlsx";
wk.Write(ms);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
MessageBox.Show("生成成功");
}
else
{
MessageBox.Show("请先搜索数据后再导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
}
}

View File

@@ -0,0 +1,234 @@
using AutoMapper;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using GroupLine.App.ModelDto;
using GroupLine.Model;
using NLog;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using MessageBox = System.Windows.MessageBox;
namespace GroupLine.App.ViewModel
{
public class KPReliefValveAsmViewModel : ViewModelBase
{
private static Logger _Logger = LogManager.GetCurrentClassLogger();
private string CurrentMachineName = "KP溢流阀组装机";
private string CurrentMachineNameTemplate = "KPReliefValveAsmTemplate.xlsx";
private IMapper autoMapper;
public KPReliefValveAsmViewModel()
{
ListModelDto = new ObservableCollection<KPReliefValveAsmDto>();
SearchStartDate = DateTime.Now.AddDays(-1).ToShortDateString();
SearchEndDate = DateTime.Now.AddDays(2).ToShortDateString();
MachineName = CurrentMachineName + " - 搜索条件";
var config = new MapperConfiguration(cfg => cfg.CreateMap<KPReliefValveAsm, KPReliefValveAsmDto>()
.ForMember(dest => dest.Result, opt => opt.MapFrom(src => src.Result.ToString())));
autoMapper = config.CreateMapper();
}
private ObservableCollection<KPReliefValveAsmDto> _ListModelDto;
public ObservableCollection<KPReliefValveAsmDto> ListModelDto
{
get { return _ListModelDto; }
set { _ListModelDto = value; }
}
private string machineName;
public string MachineName
{
get { return machineName; }
set { machineName = value; RaisePropertyChanged(() => MachineName); }
}
private string searchMvDiscNo;
public string SearchMvDiscNo
{
get { return searchMvDiscNo; }
set { searchMvDiscNo = value; RaisePropertyChanged(() => SearchMvDiscNo); }
}
private string searchStartDate;
public string SearchStartDate
{
get { return searchStartDate; }
set { searchStartDate = value; RaisePropertyChanged(() => SearchStartDate); }
}
private string searchEndDate;
public string SearchEndDate
{
get { return searchEndDate; }
set { searchEndDate = value; RaisePropertyChanged(() => SearchEndDate); }
}
private RelayCommand searchCmd;
public RelayCommand SearchCmd
{
get
{
if (searchCmd == null) return new RelayCommand(() => Search());
return searchCmd;
}
set { searchCmd = value; }
}
private void Search()
{
try
{
var mulConQueryable = FSqlContext.FDb.Select<KPReliefValveAsm>();
if (!string.IsNullOrEmpty(SearchMvDiscNo))
{
mulConQueryable = mulConQueryable.Where(t => t.MvDiscNo.Contains(SearchMvDiscNo));
}
if (!string.IsNullOrEmpty(SearchStartDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date >= Convert.ToDateTime(SearchStartDate));
}
if (!string.IsNullOrEmpty(SearchEndDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date < Convert.ToDateTime(SearchEndDate).AddDays(1));
}
var listData = mulConQueryable.OrderByDescending(a => a.CreateTime).ToList();
ListModelDto.Clear();
foreach (var item in listData)
{
ListModelDto.Add(autoMapper.Map<KPReliefValveAsmDto>(item));
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
private RelayCommand _OutputDataCmd;
public RelayCommand OutputDataCmd
{
get
{
if (_OutputDataCmd == null) return new RelayCommand(() => OutputDataAction());
return _OutputDataCmd;
}
set { _OutputDataCmd = value; }
}
private void OutputDataAction()
{
try
{
if (ListModelDto != null && ListModelDto.Count > 0)
{
string filePath = string.Empty;
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件夹";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
MessageBox.Show("文件夹路径不能为空", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
filePath = dialog.SelectedPath;
}
var listData = ListModelDto.ToList();
string templateFilePath = Environment.CurrentDirectory;
string tPath = templateFilePath + @"\ReportFile\" + CurrentMachineNameTemplate;
XSSFWorkbook wk;
using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new XSSFWorkbook(fs);
fs.Close();
}
ISheet sheet = wk.GetSheetAt(0);
IDataFormat dataformat = wk.CreateDataFormat();
ICellStyle style0 = wk.CreateCellStyle();
ICellStyle styleBag = wk.CreateCellStyle();
styleBag.FillForegroundColor = HSSFColor.Red.Index;
styleBag.FillPattern = FillPattern.SolidForeground;
for (int i = 0; i < listData.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(listData[i].ModelName.ToString());
row.CreateCell(1).SetCellValue(listData[i].MvDiscNo.ToString());
row.CreateCell(2).SetCellValue(listData[i].StDiscNo.ToString());
row.CreateCell(3).SetCellValue(listData[i].CycleTime.ToString());
row.CreateCell(4).SetCellValue(listData[i].ScrewCount.ToString());
row.CreateCell(5).SetCellValue(listData[i].Result.ToString());
row.CreateCell(6).SetCellValue(listData[i].FinalTorque1.ToString());
row.CreateCell(7).SetCellValue(listData[i].FinalAngle1.ToString());
row.CreateCell(8).SetCellValue(listData[i].FinalTorque2.ToString());
row.CreateCell(9).SetCellValue(listData[i].FinalAngle2.ToString());
row.CreateCell(10).SetCellValue(listData[i].FinalTorque3.ToString());
row.CreateCell(11).SetCellValue(listData[i].FinalAngle3.ToString());
row.CreateCell(12).SetCellValue(listData[i].FinalTorque4.ToString());
row.CreateCell(13).SetCellValue(listData[i].FinalAngle4.ToString());
row.CreateCell(14).SetCellValue(listData[i].OperatorNo.ToString());
row.CreateCell(15).SetCellValue(listData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(15).CellStyle = style0;
}
using (MemoryStream ms = new MemoryStream())
{
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + @"\" + Convert.ToDateTime(SearchStartDate).ToString("yyyy-MM-dd") + "-" + Convert.ToDateTime(SearchEndDate).ToString("yyyy-MM-dd") + "-" + CurrentMachineName + ".xlsx";
wk.Write(ms);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
MessageBox.Show("生成成功");
}
else
{
MessageBox.Show("请先搜索数据后再导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
}
}

View File

@@ -0,0 +1,263 @@
using AutoMapper;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using GroupLine.App.ModelDto;
using GroupLine.Model;
using NLog;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using MessageBox = System.Windows.MessageBox;
namespace GroupLine.App.ViewModel
{
public class OilGuideMountViewModel : ViewModelBase
{
private static Logger _Logger = LogManager.GetCurrentClassLogger();
private string CurrentMachineName = "导油板敲入";
private string CurrentMachineNameTemplate = "OilGuideMountTemplate.xlsx";
private IMapper autoMapper;
/// <summary>
/// 实例化函数
/// </summary>
public OilGuideMountViewModel()
{
ListModelDto = new ObservableCollection<OilGuideMountDto>();
SearchStartDate = DateTime.Now.AddDays(-1).ToShortDateString();
SearchEndDate = DateTime.Now.AddDays(2).ToShortDateString();
MachineName = CurrentMachineName + " - 搜索条件";
var config = new MapperConfiguration(cfg => cfg.CreateMap<OilGuideMount, OilGuideMountDto>()
.ForMember(dest => dest.PlaceNoDamage, opt => opt.MapFrom(src => src.PlaceNoDamage.ToString())));
autoMapper = config.CreateMapper();
}
/// <summary>
/// 列表集合
/// </summary>
private ObservableCollection<OilGuideMountDto> _ListModelDto;
/// <summary>
/// 列表集合
/// </summary>
public ObservableCollection<OilGuideMountDto> ListModelDto
{
get { return _ListModelDto; }
set { _ListModelDto = value; }
}
/// <summary>
/// 机器设备名称
/// </summary>
private string machineName;
public string MachineName
{
get { return machineName; }
set { machineName = value; RaisePropertyChanged(() => MachineName); }
}
/// <summary>
/// 搜索条件-曲轴编号
/// </summary>
private string searchCrankshaftNo;
public string SearchCrankshaftNo
{
get { return searchCrankshaftNo; }
set { searchCrankshaftNo = value; RaisePropertyChanged(() => SearchCrankshaftNo); }
}
/// <summary>
/// 搜索条件-开始时间
/// </summary>
private string searchStartDate;
public string SearchStartDate
{
get { return searchStartDate; }
set { searchStartDate = value; RaisePropertyChanged(() => SearchStartDate); }
}
/// <summary>
/// 搜索条件-结束时间
/// </summary>
private string searchEndDate;
public string SearchEndDate
{
get { return searchEndDate; }
set { searchEndDate = value; RaisePropertyChanged(() => SearchEndDate); }
}
/// <summary>
/// 搜索命令
/// </summary>
private RelayCommand searchCmd;
public RelayCommand SearchCmd
{
get
{
if (searchCmd == null) return new RelayCommand(() => Search());
return searchCmd;
}
set { searchCmd = value; }
}
/// <summary>
/// 搜索数据。
/// </summary>
private void Search()
{
try
{
var mulConQueryable = FSqlContext.FDb.Select<OilGuideMount>();
if (!string.IsNullOrEmpty(SearchCrankshaftNo))
{
mulConQueryable = mulConQueryable.Where(t => t.CrankshaftNo.Contains(SearchCrankshaftNo));
}
if (!string.IsNullOrEmpty(SearchStartDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date >= Convert.ToDateTime(SearchStartDate));
}
if (!string.IsNullOrEmpty(SearchEndDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date < Convert.ToDateTime(SearchEndDate).AddDays(1));
}
var listData = mulConQueryable.OrderByDescending(a => a.CreateTime).ToList();
ListModelDto.Clear();
foreach (var item in listData)
{
ListModelDto.Add(autoMapper.Map<OilGuideMountDto>(item));
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
private RelayCommand _OutputDataCmd;
/// <summary>
/// 导出命令
/// </summary>
public RelayCommand OutputDataCmd
{
get
{
if (_OutputDataCmd == null) return new RelayCommand(() => OutputDataAction());
return _OutputDataCmd;
}
set { _OutputDataCmd = value; }
}
/// <summary>
/// 导出数据。
/// </summary>
private void OutputDataAction()
{
try
{
if (ListModelDto != null && ListModelDto.Count > 0)
{
string filePath = string.Empty;
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件夹";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
MessageBox.Show("文件夹路径不能为空", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
filePath = dialog.SelectedPath;
}
var listData = ListModelDto.ToList();
string templateFilePath = Environment.CurrentDirectory;
string tPath = templateFilePath + @"\ReportFile\" + CurrentMachineNameTemplate;
XSSFWorkbook wk;
using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new XSSFWorkbook(fs);
fs.Close();
}
ISheet sheet = wk.GetSheetAt(0);
IDataFormat dataformat = wk.CreateDataFormat();
ICellStyle style0 = wk.CreateCellStyle();
ICellStyle styleBag = wk.CreateCellStyle();
styleBag.FillForegroundColor = HSSFColor.Red.Index;
styleBag.FillPattern = FillPattern.SolidForeground;
for (int i = 0; i < listData.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(listData[i].CrankshaftNo.ToString());
row.CreateCell(1).SetCellValue(listData[i].BracketNo.ToString());
row.CreateCell(2).SetCellValue(listData[i].BracketCastingNo.ToString());
row.CreateCell(3).SetCellValue(listData[i].OperatorNo.ToString());
row.CreateCell(4).SetCellValue(listData[i].PlaceNoDamage.ToString());
row.CreateCell(5).SetCellValue(listData[i].OilGuidePlate.ToString());
row.CreateCell(6).SetCellValue(listData[i].FeelerGaugeCheck.ToString());
row.CreateCell(7).SetCellValue(listData[i].BuriedPlug.ToString());
row.CreateCell(8).SetCellValue(listData[i].HelicalScrew.ToString());
row.CreateCell(9).SetCellValue(listData[i].AirTightCheck.ToString());
row.CreateCell(10).SetCellValue(listData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(10).CellStyle = style0;
}
using (MemoryStream ms = new MemoryStream())
{
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + @"\" + Convert.ToDateTime(SearchStartDate).ToString("yyyy-MM-dd") + "-" + Convert.ToDateTime(SearchEndDate).ToString("yyyy-MM-dd") + "-" + CurrentMachineName + ".xlsx";
wk.Write(ms);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
MessageBox.Show("生成成功");
}
else
{
MessageBox.Show("请先搜索数据后再导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
}
}

View File

@@ -291,13 +291,15 @@ namespace GroupLine.App.ViewModel
row.CreateCell(6).SetCellValue(ListData[i].FelerGgeResult.ToString()); row.CreateCell(6).SetCellValue(ListData[i].FelerGgeResult.ToString());
row.CreateCell(7).SetCellValue(ListData[i].MagnetResult.ToString()); row.CreateCell(7).SetCellValue(ListData[i].MagnetResult.ToString());
row.CreateCell(8).SetCellValue(ListData[i].OpNo.ToString()); row.CreateCell(8).SetCellValue(ListData[i].OpNo.ToString());
row.CreateCell(9).SetCellValue(ListData[i].CreateTime.ToString("yyyy-MM-dd HH:mm")); row.CreateCell(9).SetCellValue(ListData[i].GapblockDepth.ToString());
row.CreateCell(10).SetCellValue(ListData[i].PalletNo.ToString());
row.CreateCell(11).SetCellValue(ListData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
//row.GetCell(10).CellStyle = style0; //row.GetCell(10).CellStyle = style0;
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss"); style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(9).CellStyle = style0; row.GetCell(11).CellStyle = style0;
//row.GetCell(26).CellStyle = style0; //row.GetCell(26).CellStyle = style0;
//if (ListDat[i].UpperGroupStandDiffResult == "NG") //if (ListDat[i].UpperGroupStandDiffResult == "NG")
//{ //{

View File

@@ -0,0 +1,221 @@
using AutoMapper;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using GroupLine.App.ModelDto;
using GroupLine.Model;
using NLog;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using MessageBox = System.Windows.MessageBox;
namespace GroupLine.App.ViewModel
{
public class RotorShrinkFitViewModel : ViewModelBase
{
private static Logger _Logger = LogManager.GetCurrentClassLogger();
private string CurrentMachineName = "转子烧嵌";
private string CurrentMachineNameTemplate = "RotorShrinkFitTemplate.xlsx";
private IMapper autoMapper;
public RotorShrinkFitViewModel()
{
ListModelDto = new ObservableCollection<RotorShrinkFitDto>();
SearchStartDate = DateTime.Now.AddDays(-1).ToShortDateString();
SearchEndDate = DateTime.Now.AddDays(2).ToShortDateString();
MachineName = CurrentMachineName + " - 搜索条件";
var config = new MapperConfiguration(cfg => cfg.CreateMap<RotorShrinkFit, RotorShrinkFitDto>());
autoMapper = config.CreateMapper();
}
private ObservableCollection<RotorShrinkFitDto> _ListModelDto;
public ObservableCollection<RotorShrinkFitDto> ListModelDto
{
get { return _ListModelDto; }
set { _ListModelDto = value; }
}
private string machineName;
public string MachineName
{
get { return machineName; }
set { machineName = value; RaisePropertyChanged(() => MachineName); }
}
private string searchRotorNo;
public string SearchRotorNo
{
get { return searchRotorNo; }
set { searchRotorNo = value; RaisePropertyChanged(() => SearchRotorNo); }
}
private string searchStartDate;
public string SearchStartDate
{
get { return searchStartDate; }
set { searchStartDate = value; RaisePropertyChanged(() => SearchStartDate); }
}
private string searchEndDate;
public string SearchEndDate
{
get { return searchEndDate; }
set { searchEndDate = value; RaisePropertyChanged(() => SearchEndDate); }
}
private RelayCommand searchCmd;
public RelayCommand SearchCmd
{
get
{
if (searchCmd == null) return new RelayCommand(() => Search());
return searchCmd;
}
set { searchCmd = value; }
}
private void Search()
{
try
{
var mulConQueryable = FSqlContext.FDb.Select<RotorShrinkFit>();
if (!string.IsNullOrEmpty(SearchRotorNo))
{
mulConQueryable = mulConQueryable.Where(t => t.RotorNo.Contains(SearchRotorNo));
}
if (!string.IsNullOrEmpty(SearchStartDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date >= Convert.ToDateTime(SearchStartDate));
}
if (!string.IsNullOrEmpty(SearchEndDate))
{
mulConQueryable = mulConQueryable.Where(t => t.CreateTime.Date < Convert.ToDateTime(SearchEndDate).AddDays(1));
}
var listData = mulConQueryable.OrderByDescending(a => a.CreateTime).ToList();
ListModelDto.Clear();
foreach (var item in listData)
{
ListModelDto.Add(autoMapper.Map<RotorShrinkFitDto>(item));
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
private RelayCommand _OutputDataCmd;
public RelayCommand OutputDataCmd
{
get
{
if (_OutputDataCmd == null) return new RelayCommand(() => OutputDataAction());
return _OutputDataCmd;
}
set { _OutputDataCmd = value; }
}
private void OutputDataAction()
{
try
{
if (ListModelDto != null && ListModelDto.Count > 0)
{
string filePath = string.Empty;
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件夹";
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
MessageBox.Show("文件夹路径不能为空", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
filePath = dialog.SelectedPath;
}
var listData = ListModelDto.ToList();
string templateFilePath = Environment.CurrentDirectory;
string tPath = templateFilePath + @"\ReportFile\" + CurrentMachineNameTemplate;
XSSFWorkbook wk;
using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
wk = new XSSFWorkbook(fs);
fs.Close();
}
ISheet sheet = wk.GetSheetAt(0);
IDataFormat dataformat = wk.CreateDataFormat();
ICellStyle style0 = wk.CreateCellStyle();
ICellStyle styleBag = wk.CreateCellStyle();
styleBag.FillForegroundColor = HSSFColor.Red.Index;
styleBag.FillPattern = FillPattern.SolidForeground;
for (int i = 0; i < listData.Count; i++)
{
IRow row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(listData[i].RotorNo.ToString());
row.CreateCell(1).SetCellValue(listData[i].BracketNo.ToString());
row.CreateCell(2).SetCellValue(listData[i].OperatorNo.ToString());
row.CreateCell(3).SetCellValue(listData[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
style0.DataFormat = dataformat.GetFormat("yyyy-MM-dd HH:mm:ss");
row.GetCell(3).CellStyle = style0;
}
using (MemoryStream ms = new MemoryStream())
{
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + @"\" + Convert.ToDateTime(SearchStartDate).ToString("yyyy-MM-dd") + "-" + Convert.ToDateTime(SearchEndDate).ToString("yyyy-MM-dd") + "-" + CurrentMachineName + ".xlsx";
wk.Write(ms);
using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
MessageBox.Show("生成成功");
}
else
{
MessageBox.Show("请先搜索数据后再导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
catch (Exception ex)
{
_Logger.Error(string.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace, ex.Message));
}
}
}
}

View File

@@ -82,6 +82,11 @@ namespace GroupLine.App.ViewModel
SimpleIoc.Default.Register<KPRingWeldMachDwViewModel>(); SimpleIoc.Default.Register<KPRingWeldMachDwViewModel>();
SimpleIoc.Default.Register<KPRingWeldMachUpViewModel>(); SimpleIoc.Default.Register<KPRingWeldMachUpViewModel>();
SimpleIoc.Default.Register<KPShrinkTubViewModel>(); SimpleIoc.Default.Register<KPShrinkTubViewModel>();
SimpleIoc.Default.Register<OilGuideMountViewModel>();
SimpleIoc.Default.Register<RotorShrinkFitViewModel>();
SimpleIoc.Default.Register<KPBarrelShrinkFitViewModel>();
SimpleIoc.Default.Register<KPReliefValveAsmViewModel>();
SimpleIoc.Default.Register<KPExhCoverSealTestViewModel>();
////if (ViewModelBase.IsInDesignModeStatic) ////if (ViewModelBase.IsInDesignModeStatic)
@@ -472,6 +477,46 @@ namespace GroupLine.App.ViewModel
} }
} }
public OilGuideMountViewModel OilGuideMount
{
get
{
return ServiceLocator.Current.GetInstance<OilGuideMountViewModel>();
}
}
public RotorShrinkFitViewModel RotorShrinkFit
{
get
{
return ServiceLocator.Current.GetInstance<RotorShrinkFitViewModel>();
}
}
public KPBarrelShrinkFitViewModel KPBarrelShrinkFit
{
get
{
return ServiceLocator.Current.GetInstance<KPBarrelShrinkFitViewModel>();
}
}
public KPReliefValveAsmViewModel KPReliefValveAsm
{
get
{
return ServiceLocator.Current.GetInstance<KPReliefValveAsmViewModel>();
}
}
public KPExhCoverSealTestViewModel KPExhCoverSealTest
{
get
{
return ServiceLocator.Current.GetInstance<KPExhCoverSealTestViewModel>();
}
}
public static void Cleanup() public static void Cleanup()
{ {
// TODO Clear the ViewModels // TODO Clear the ViewModels

View File

@@ -44,6 +44,11 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="OilGuideMount.cs" />
<Compile Include="RotorShrinkFit.cs" />
<Compile Include="KPBarrelShrinkFit.cs" />
<Compile Include="KPReliefValveAsm.cs" />
<Compile Include="KPExhCoverSealTest.cs" />
<Compile Include="KPRingWeldMachDw.cs" /> <Compile Include="KPRingWeldMachDw.cs" />
<Compile Include="KPRingWeldMachUp.cs" /> <Compile Include="KPRingWeldMachUp.cs" />
<Compile Include="KPShrinkTub.cs" /> <Compile Include="KPShrinkTub.cs" />

View File

@@ -0,0 +1,50 @@
using FreeSql.DataAnnotations;
using System;
namespace GroupLine.Model
{
/// <summary>
/// KP型筒体烧嵌
/// </summary>
[Table(Name = "dbo.KPBarrelShrinkFit")]
[Index("IX_CreateTime", "CreateTime", false)]
[Index("IX_BarrelNo", "BarrelNo", false)]
public class KPBarrelShrinkFit
{
/// <summary>
/// Id
/// </summary>
[Column(IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 筒体编号
/// </summary>
[Column(DbType = "nvarchar(20)")]
public string BarrelNo { get; set; }
/// <summary>
/// 定子编号
/// </summary>
[Column(DbType = "nvarchar(16)")]
public string StatorNo { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column(DbType = "nvarchar(4)")]
public string OperatorNo { get; set; }
/// <summary>
/// 筒体温度(℃)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal BarrelTemp { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,212 @@
using FreeSql.DataAnnotations;
using System;
namespace GroupLine.Model
{
/// <summary>
/// KP排气盖板安装气密检测
/// </summary>
[Table(Name = "dbo.KPExhCoverSealTest")]
[Index("IX_CreateTime", "CreateTime", false)]
[Index("IX_MvDiscNo", "MvDiscNo", false)]
public class KPExhCoverSealTest
{
/// <summary>
/// Id
/// </summary>
[Column(IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 机型
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string ModelName { get; set; }
/// <summary>
/// 动盘编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string MvDiscNo { get; set; }
/// <summary>
/// 静盘编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string StDiscNo { get; set; }
/// <summary>
/// 节拍(S)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal CycleTime { get; set; }
/// <summary>
/// 螺丝数量(个)
/// </summary>
[Column(DbType = "int")]
public int ScrewCount { get; set; }
/// <summary>
/// 判定0:OK1:NG
/// </summary>
[Column(DbType = "nvarchar(5)")]
public int Result { get; set; }
/// <summary>
/// 最终扭矩1(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque1 { get; set; }
/// <summary>
/// 最终角度1(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle1 { get; set; }
/// <summary>
/// 最终扭矩2(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque2 { get; set; }
/// <summary>
/// 最终角度2(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle2 { get; set; }
/// <summary>
/// 最终扭矩3(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque3 { get; set; }
/// <summary>
/// 最终角度3(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle3 { get; set; }
/// <summary>
/// 最终扭矩4(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque4 { get; set; }
/// <summary>
/// 最终角度4(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle4 { get; set; }
/// <summary>
/// 最终扭矩5(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque5 { get; set; }
/// <summary>
/// 最终角度5(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle5 { get; set; }
/// <summary>
/// 最终扭矩6(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque6 { get; set; }
/// <summary>
/// 最终角度6(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle6 { get; set; }
/// <summary>
/// 最终扭矩7(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque7 { get; set; }
/// <summary>
/// 最终角度7(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle7 { get; set; }
/// <summary>
/// 最终扭矩8(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque8 { get; set; }
/// <summary>
/// 最终角度8(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle8 { get; set; }
/// <summary>
/// 最终扭矩9(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque9 { get; set; }
/// <summary>
/// 最终角度9(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle9 { get; set; }
/// <summary>
/// 最终扭矩10(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque10 { get; set; }
/// <summary>
/// 最终角度10(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle10 { get; set; }
/// <summary>
/// 最终扭矩11(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque11 { get; set; }
/// <summary>
/// 最终角度11(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle11 { get; set; }
/// <summary>
/// 最终扭矩12(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque12 { get; set; }
/// <summary>
/// 最终角度12(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle12 { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column(DbType = "nvarchar(10)")]
public string OperatorNo { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,116 @@
using FreeSql.DataAnnotations;
using System;
namespace GroupLine.Model
{
/// <summary>
/// KP溢流阀组装机
/// </summary>
[Table(Name = "dbo.KPReliefValveAsm")]
[Index("IX_CreateTime", "CreateTime", false)]
[Index("IX_MvDiscNo", "MvDiscNo", false)]
public class KPReliefValveAsm
{
/// <summary>
/// Id
/// </summary>
[Column(IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 机型
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string ModelName { get; set; }
/// <summary>
/// 动盘编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string MvDiscNo { get; set; }
/// <summary>
/// 静盘编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string StDiscNo { get; set; }
/// <summary>
/// 节拍(S)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal CycleTime { get; set; }
/// <summary>
/// 螺丝数量(个)
/// </summary>
[Column(DbType = "int")]
public int ScrewCount { get; set; }
/// <summary>
/// 判定0:OK1:NG
/// </summary>
[Column(DbType = "nvarchar(6)")]
public int Result { get; set; }
/// <summary>
/// 最终扭矩1(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque1 { get; set; }
/// <summary>
/// 最终角度1(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle1 { get; set; }
/// <summary>
/// 最终扭矩2(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque2 { get; set; }
/// <summary>
/// 最终角度2(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle2 { get; set; }
/// <summary>
/// 最终扭矩3(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque3 { get; set; }
/// <summary>
/// 最终角度3(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle3 { get; set; }
/// <summary>
/// 最终扭矩4(N.M)
/// </summary>
[Column(DbType = "decimal(8,2)")]
public decimal FinalTorque4 { get; set; }
/// <summary>
/// 最终角度4(deg)
/// </summary>
[Column(DbType = "decimal(8,1)")]
public decimal FinalAngle4 { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column(DbType = "nvarchar(10)")]
public string OperatorNo { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,86 @@
using FreeSql.DataAnnotations;
using System;
namespace GroupLine.Model
{
/// <summary>
/// 导油板敲入
/// </summary>
[Table(Name = "dbo.OilGuideMount")]
[Index("IX_CreateTime", "CreateTime", false)]
[Index("IX_CrankshaftNo", "CrankshaftNo", false)]
public class OilGuideMount
{
/// <summary>
/// Id
/// </summary>
[Column(IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 曲轴编号
/// </summary>
[Column(DbType = "nvarchar(9)")]
public string CrankshaftNo { get; set; }
/// <summary>
/// 支架编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string BracketNo { get; set; }
/// <summary>
/// 支架铸件号
/// </summary>
[Column(DbType = "nvarchar(4)")]
public string BracketCastingNo { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column(DbType = "nvarchar(6)")]
public string OperatorNo { get; set; }
/// <summary>
/// 放入时无磕碰0:OK1:NG
/// </summary>
[Column(DbType = "nvarchar(6)")]
public int PlaceNoDamage { get; set; }
/// <summary>
/// 导油板0:不做1:OK
/// </summary>
[Column(DbType = "int")]
public int OilGuidePlate { get; set; }
/// <summary>
/// 塞尺检测0:不做1:OK
/// </summary>
[Column(DbType = "int")]
public int FeelerGaugeCheck { get; set; }
/// <summary>
/// 埋塞0:不做1:OK
/// </summary>
[Column(DbType = "int")]
public int BuriedPlug { get; set; }
/// <summary>
/// 螺旋螺钉0:不做1:OK
/// </summary>
[Column(DbType = "int")]
public int HelicalScrew { get; set; }
/// <summary>
/// 气密检测0:不做1:OK
/// </summary>
[Column(DbType = "int")]
public int AirTightCheck { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -23,47 +23,62 @@ namespace GroupLine.Model
/// </summary> /// </summary>
[Column(DbType = "nvarchar(20)")] [Column(DbType = "nvarchar(20)")]
public string CylinderNo { get; set; } public string CylinderNo { get; set; }
/// <summary> /// <summary>
/// 曲轴编号 /// 曲轴编号
/// </summary> /// </summary>
[Column(DbType = "nvarchar(10)")] [Column(DbType = "nvarchar(10)")]
public string CrankshaftNo { get; set; } public string CrankshaftNo { get; set; }
/// <summary> /// <summary>
/// 下部编号 /// 下部编号
/// </summary> /// </summary>
[Column(DbType = "nvarchar(10)")] [Column(DbType = "nvarchar(10)")]
public string DownNo { get; set; } public string DownNo { get; set; }
/// <summary> /// <summary>
/// 下部铸件编号 /// 下部铸件编号
/// </summary> /// </summary>
[Column(DbType = "nvarchar(10)")] [Column(DbType = "nvarchar(10)")]
public string DoCastNo { get; set; } public string DoCastNo { get; set; }
/// <summary> /// <summary>
/// 定子压入深度 /// 定子压入深度
/// </summary> /// </summary>
[Column(DbType = "decimal(8, 2)")] [Column(DbType = "decimal(8, 2)")]
public decimal StatorPressDep { get; set; } public decimal StatorPressDep { get; set; }
/// <summary> /// <summary>
/// 转子压入深度 /// 转子压入深度
/// </summary> /// </summary>
[Column(DbType = "decimal(8, 2)")] [Column(DbType = "decimal(8, 2)")]
public decimal RotorPressDep { get; set; } public decimal RotorPressDep { get; set; }
/// <summary> /// <summary>
/// 塞尺检查OK /// 塞尺检查OK
/// </summary> /// </summary>
[Column(DbType = "nvarchar(6)")] [Column(DbType = "nvarchar(6)")]
public string FelerGgeResult { get; set; } public string FelerGgeResult { get; set; }
/// <summary> /// <summary>
/// 磁石检查OK) /// 磁石检查OK)
/// </summary> /// </summary>
[Column(DbType = "nvarchar(6)")] [Column(DbType = "nvarchar(6)")]
public string MagnetResult { get; set; } public string MagnetResult { get; set; }
/// <summary>
/// <summary>
/// 员工编号 /// 员工编号
/// </summary> /// </summary>
[Column(DbType = "nvarchar(6)")] [Column(DbType = "nvarchar(6)")]
public string OpNo { get; set; } public string OpNo { get; set; }
/// <summary>
/// <summary>
/// 间隙块深度
/// </summary>
[Column(DbType = "decimal(8, 2)")]
public decimal GapblockDepth { get; set; }
/// <summary>
/// 托盘号
/// </summary>
[Column(DbType = "nvarchar(6)")]
public string PalletNo { get; set; }
/// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")] [Column(DbType = "datetime DEFAULT(GETDATE())")]

View File

@@ -0,0 +1,44 @@
using FreeSql.DataAnnotations;
using System;
namespace GroupLine.Model
{
/// <summary>
/// 转子烧嵌
/// </summary>
[Table(Name = "dbo.RotorShrinkFit")]
[Index("IX_CreateTime", "CreateTime", false)]
[Index("IX_RotorNo", "RotorNo", false)]
public class RotorShrinkFit
{
/// <summary>
/// Id
/// </summary>
[Column(IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 转子编号
/// </summary>
[Column(DbType = "nvarchar(16)")]
public string RotorNo { get; set; }
/// <summary>
/// 支架编号
/// </summary>
[Column(DbType = "nvarchar(8)")]
public string BracketNo { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column(DbType = "nvarchar(6)")]
public string OperatorNo { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(DbType = "datetime DEFAULT(GETDATE())")]
public DateTime CreateTime { get; set; }
}
}