From b007a18fcae0e519fbf2acb19e49b73ff5ce3ff6 Mon Sep 17 00:00:00 2001 From: liuwf Date: Fri, 24 Nov 2023 16:17:49 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=E6=88=90=E5=93=81=E4=B8=8B=E7=BA=BF?= =?UTF-8?q?=E8=B4=A8=E6=A3=80=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Admin.Core.Api/Admin.Core.Model.xml | 35 ++++++++++ ...BaseQualityInspectionItemInfoRepository.cs | 12 ++++ .../IBaseQualityInspectionItemInfoServices.cs | 16 +++++ .../BaseQualityInspectionItemInfo.cs | 50 ++++++++++++++ ...BaseQualityInspectionItemInfoRepository.cs | 16 +++++ .../BaseQualityInspectionItemInfoServices.cs | 42 +++++++++++ ...lityModel.cs => QualityInspectionModel.cs} | 16 ++--- .../ViewModels/IndexPageViewModel.cs | 8 ++- .../ViewModels/QualityPageViewModel.cs | 23 +++++-- .../ViewModels/SelectQualityViewModel.cs | 69 +++++++++++++++---- .../Views/QualityPageView.xaml | 13 ++-- .../Views/QualityPageView.xaml.cs | 33 ++++++++- .../Views/SelectQualityView.xaml | 53 +++++++++++--- .../Views/SelectQualityView.xaml.cs | 17 ++++- Aucma.Core.SheetMetal/Views/IndexPage.xaml | 1 + 15 files changed, 354 insertions(+), 50 deletions(-) create mode 100644 Admin.Core.IRepository/IRepository_New/IBaseQualityInspectionItemInfoRepository.cs create mode 100644 Admin.Core.IService/IService_New/IBaseQualityInspectionItemInfoServices.cs create mode 100644 Admin.Core.Model/Model_New/BaseQualityInspectionItemInfo.cs create mode 100644 Admin.Core.Repository/Repository_New/BaseQualityInspectionItemInfoRepository.cs create mode 100644 Admin.Core.Service/Service_New/BaseQualityInspectionItemInfoServices.cs rename Aucma.Core.ProductOffLine/Models/{SelectQualityModel.cs => QualityInspectionModel.cs} (62%) diff --git a/Admin.Core.Api/Admin.Core.Model.xml b/Admin.Core.Api/Admin.Core.Model.xml index 1d73aa82..e2b2de9c 100644 --- a/Admin.Core.Api/Admin.Core.Model.xml +++ b/Admin.Core.Api/Admin.Core.Model.xml @@ -736,6 +736,41 @@ 是否执行中 + + + 质检项信息 + + + + + 主键标识 + + + + + 质检项/质量缺陷编号 + + + + + 质检项/质量缺陷名字 + + + + + 父级编号 + + + + + 启用标识 + + + + + 成品下线是否校验(0-不校验;1-校验) + + 货道明细 diff --git a/Admin.Core.IRepository/IRepository_New/IBaseQualityInspectionItemInfoRepository.cs b/Admin.Core.IRepository/IRepository_New/IBaseQualityInspectionItemInfoRepository.cs new file mode 100644 index 00000000..e0c2ada9 --- /dev/null +++ b/Admin.Core.IRepository/IRepository_New/IBaseQualityInspectionItemInfoRepository.cs @@ -0,0 +1,12 @@ +using Admin.Core.Model; +using Admin.Core.Model.Model_New; + +namespace Admin.Core.IRepository +{ + /// + /// IBaseBomInfoRepository + /// + public interface IBaseQualityInspectionItemInfoRepository : IBaseRepository + { + } +} \ No newline at end of file diff --git a/Admin.Core.IService/IService_New/IBaseQualityInspectionItemInfoServices.cs b/Admin.Core.IService/IService_New/IBaseQualityInspectionItemInfoServices.cs new file mode 100644 index 00000000..892e8187 --- /dev/null +++ b/Admin.Core.IService/IService_New/IBaseQualityInspectionItemInfoServices.cs @@ -0,0 +1,16 @@ +using Admin.Core.IService; +using Admin.Core.Model; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace Admin.Core.IService +{ + /// + /// IBaseMaterialInfoServices + /// + public interface IBaseQualityInspectionItemInfoServices : IBaseServices + { + public Task> query(); + + } +} \ No newline at end of file diff --git a/Admin.Core.Model/Model_New/BaseQualityInspectionItemInfo.cs b/Admin.Core.Model/Model_New/BaseQualityInspectionItemInfo.cs new file mode 100644 index 00000000..43be3b63 --- /dev/null +++ b/Admin.Core.Model/Model_New/BaseQualityInspectionItemInfo.cs @@ -0,0 +1,50 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Model +{ + /// + /// 质检项信息 + /// + [SugarTable("BASE_QUALITY_INSPECTION_ITEM", "AUCMA_MES")] + public class BaseQualityInspectionItemInfo + { + /// + /// 主键标识 + /// + [SugarColumn(ColumnName = "OBJ_ID", IsPrimaryKey = true, IsIdentity = true)] + public int ObjId { get; set; } + /// + /// 质检项/质量缺陷编号 + /// + [SugarColumn(ColumnName = "QUALITY_DEFECT_CODE")] + public string? QualityDefectCode { get; set; } + /// + /// 质检项/质量缺陷名字 + /// + [SugarColumn(ColumnName = "QUALITY_DEFECT_NAME")] + public string? QualityDefectName { get; set; } + /// + /// 父级编号 + /// + [SugarColumn(ColumnName = "PARENT_ID")] + public string? ParentId { get; set; } + /// + /// 启用标识 + /// + [SugarColumn(ColumnName = "IS_FLAG")] + public int IsFlag { get; set; } + /// + /// 成品下线是否校验(0-不校验;1-校验) + /// + [SugarColumn(ColumnName = "IS_INSPECTION")] + public string? IsInSpection { get; set; } + + + + } +} diff --git a/Admin.Core.Repository/Repository_New/BaseQualityInspectionItemInfoRepository.cs b/Admin.Core.Repository/Repository_New/BaseQualityInspectionItemInfoRepository.cs new file mode 100644 index 00000000..f88c8bcd --- /dev/null +++ b/Admin.Core.Repository/Repository_New/BaseQualityInspectionItemInfoRepository.cs @@ -0,0 +1,16 @@ +using Admin.Core.Model; +using Admin.Core.Model.Model_New; +using Admin.Core.Repository; + +namespace Admin.Core.IRepository +{ + /// + /// OrderBomInfoRepository + /// + public class BaseQualityInspectionItemInfoRepository : BaseRepository, IBaseQualityInspectionItemInfoRepository + { + public BaseQualityInspectionItemInfoRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + { + } + } +} \ No newline at end of file diff --git a/Admin.Core.Service/Service_New/BaseQualityInspectionItemInfoServices.cs b/Admin.Core.Service/Service_New/BaseQualityInspectionItemInfoServices.cs new file mode 100644 index 00000000..e804475c --- /dev/null +++ b/Admin.Core.Service/Service_New/BaseQualityInspectionItemInfoServices.cs @@ -0,0 +1,42 @@ +using Admin.Core.IRepository; +using Admin.Core.IService; +using Admin.Core.Model; +using Admin.Core.Model.Model_New; +using log4net; +using Microsoft.AspNetCore.Razor.TagHelpers; +using Microsoft.IdentityModel.Logging; +using NPOI.SS.Formula.Functions; +using NPOI.XSSF.UserModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Admin.Core.Service +{ + public class BaseQualityInspectionItemInfoServices : BaseServices, IBaseQualityInspectionItemInfoServices + { + private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(BaseQualityInspectionItemInfoServices)); + private readonly IBaseRepository _dal; + private readonly IBaseQualityInspectionItemInfoRepository _baseQualityInspectionItemInfoRepository; + + + + public BaseQualityInspectionItemInfoServices(IBaseRepository dal, IBaseQualityInspectionItemInfoRepository baseQualityInspectionItemInfoRepository) + { + this._dal = dal; + base.BaseDal = dal; + _baseQualityInspectionItemInfoRepository = baseQualityInspectionItemInfoRepository; + } + + /// + /// 查出BaseQualityInspectionItemInfo中父级id为0且启用标识0的质检项 + /// + public async Task> query() + { + List list = await _baseQualityInspectionItemInfoRepository.QueryAsync(x => x.ParentId == "0" && x.IsFlag == 0); + return list; + } + + } +} \ No newline at end of file diff --git a/Aucma.Core.ProductOffLine/Models/SelectQualityModel.cs b/Aucma.Core.ProductOffLine/Models/QualityInspectionModel.cs similarity index 62% rename from Aucma.Core.ProductOffLine/Models/SelectQualityModel.cs rename to Aucma.Core.ProductOffLine/Models/QualityInspectionModel.cs index 58caac2c..b090d7cb 100644 --- a/Aucma.Core.ProductOffLine/Models/SelectQualityModel.cs +++ b/Aucma.Core.ProductOffLine/Models/QualityInspectionModel.cs @@ -6,28 +6,28 @@ using System.Threading.Tasks; namespace Aucma.Core.ProductOffLine.Models { - public class SelectQualityModel + public class QualityInspectionModel { /// /// 序号 /// public int No { get; set; } /// - /// 物料成品主键 + /// 主键编号 /// public int ObjId { get; set; } /// - /// 物料编号 + /// 质检项编号 /// - public string? MaterialCode { get; set; } + public string? QualityDefectCode { get; set; } /// - /// 物料名称 + /// 质检项名称 /// - public string? MaterialName { get; set; } + public string? QualityDefectName { get; set; } /// - /// 货道编号 + /// 是否校验 /// - public string? SpaceCode { get; set; } + public string? IsInSpection { get; set; } } } diff --git a/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs index 21e732fc..09d235c9 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/IndexPageViewModel.cs @@ -48,10 +48,12 @@ namespace Aucma.Core.ProductOffLine.ViewModels { _productOffLineServices = App.ServiceProvider.GetService(); _baseOrderInfoServices = App.ServiceProvider.GetService(); - _productPlanInfoServices = App.ServiceProvider.GetService(); - MvCodeHelper.ReceiveCodeEvent += ReceiveCode; + _productPlanInfoServices = App.ServiceProvider.GetService(); + + // MvCodeHelper.ReceiveCodeEvent += ReceiveCode; + // test33(); - ReceiveCode("12345", 1); + // ReceiveCode("12345", 1); StartPlcTimer(); InitEveryDayMethod(); test2(); diff --git a/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs index 87313fb2..82ca5f8f 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/QualityPageViewModel.cs @@ -1,32 +1,47 @@ -using Admin.Core.Model; +using Admin.Core.IService; +using Admin.Core.Model; +using Admin.Core.Service; using Aucma.Core.ProductOffLine.Models; using Aucma.Core.ProductOffLine.Views; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; +using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; +using System.Windows.Data; using System.Windows.Documents; namespace Aucma.Core.ProductOffLine.ViewModels { public partial class QualityPageViewModel : ObservableObject { + private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices; public QualityPageViewModel() { - + QualityPageView.getAllQualityEvent += test; + _baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService(); AutoDirectionCommand = new RelayCommand(DirectionEdit); SelectQualityCommand = new RelayCommand(SelectQuality); init(); LoadData(); } - public void init() - { + + public async Task> test() + { + List list = await _baseQualityInspectionItemInfoServices.query(); + return list; + } + + public async void init() + { + await _baseQualityInspectionItemInfoServices.query(); } List materialComplateInfos = new List(); diff --git a/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs index 28227961..67d35065 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/SelectQualityViewModel.cs @@ -2,13 +2,16 @@ using Admin.Core.Model; using Admin.Core.Service; using Aucma.Core.ProductOffLine.Models; +using Aucma.Core.ProductOffLine.Views; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.DependencyInjection; +using NPOI.POIFS.Properties; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; @@ -24,42 +27,80 @@ namespace Aucma.Core.ProductOffLine.ViewModels { public partial class SelectQualityViewModel : ObservableObject { + public ICommand QueryCommand { get; set; } public ICommand SaveCommand { get; set; } - - - private readonly IBaseMaterialInfoServices? _baseMaterialInfoServices; + private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices; + public SelectQualityViewModel() { - _baseMaterialInfoServices = App.ServiceProvider.GetService(); - QueryCommand = new RelayCommand(ExecuteQuery); + _baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService(); + + QueryCommand = new RelayCommand(ExecuteQuery); SaveCommand = new RelayCommand(ExecuteSave); - Init(); + + Init(); } + /// /// 3.查询BASE_MATERIALINFO表存在的成品类型以供修改 /// - public void Init() - { + public async void Init() + { + ExecuteQuery(); } private async void ExecuteQuery() { - + List list = await _baseQualityInspectionItemInfoServices.query(); + qualityItemGrid.Clear(); + for (int i = 0; i < list.Count; i++) + { + qualityItemGrid.Add(new QualityInspectionModel() { No = i + 1, ObjId = list[i].ObjId, QualityDefectCode = list[i].QualityDefectCode, QualityDefectName = list[i].QualityDefectName, IsInSpection = list[i].IsInSpection == "0" ? "否" : "是" }); + } } private async void ExecuteSave() { - + List list = new List(); + // 处理保存按钮点击事件 + foreach (QualityInspectionModel item in qualityItemGrid) + { + if ((!"是".Equals(item.IsInSpection) && !"否".Equals(item.IsInSpection))) + { + MessageBox.Show("质检编号:" + item.QualityDefectCode + " 质检名称:" + item.QualityDefectName + " 是否质检应该是或者否"); + return; + } + list.Add(new BaseQualityInspectionItemInfo() + { + ObjId = item.ObjId, + QualityDefectCode = item.QualityDefectCode, + QualityDefectName = item.QualityDefectName, + ParentId ="0", + IsFlag = 0, + IsInSpection = item.IsInSpection == "是"?"1":"0" + }) ; + } + bool result = await _baseQualityInspectionItemInfoServices.UpdateAsync(list); + if (result) + { + MessageBox.Show("保存成功"); + } + else + { + MessageBox.Show("保存失败"); + } } + + #region 初始化datagrid - private ObservableCollection materialDataGrid = new ObservableCollection(); - public ObservableCollection MaterialDataGrid + private ObservableCollection qualityItemGrid = new ObservableCollection(); + public ObservableCollection QualityItemGrid { - get { return materialDataGrid; } + get { return qualityItemGrid; } set { - materialDataGrid = value; + qualityItemGrid = value; OnPropertyChanged();//属性通知 } } diff --git a/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml b/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml index b4388364..1815af43 100644 --- a/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml +++ b/Aucma.Core.ProductOffLine/Views/QualityPageView.xaml @@ -19,7 +19,7 @@ - + @@ -48,8 +48,8 @@ - public partial class SelectQualityView : Window { + public SelectQualityView() { - InitializeComponent(); - this.DataContext = new SelectQualityViewModel(); + InitializeComponent(); + SelectQualityViewModel viewModel = new SelectQualityViewModel(); + this.DataContext = viewModel; + } + + } } diff --git a/Aucma.Core.SheetMetal/Views/IndexPage.xaml b/Aucma.Core.SheetMetal/Views/IndexPage.xaml index 7a1cd108..0e3080b1 100644 --- a/Aucma.Core.SheetMetal/Views/IndexPage.xaml +++ b/Aucma.Core.SheetMetal/Views/IndexPage.xaml @@ -258,6 +258,7 @@ +