diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs similarity index 93% rename from DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs rename to DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs index 9372ae1..53d1731 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectConfigController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/quality/FQC/QcDefectConfigController.cs @@ -1,17 +1,17 @@ using DOAN.Admin.WebApi.Filters; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; -using DOAN.Service.MES.quality; +using DOAN.Model.MES.quality.IQC; +using DOAN.Model.MES.quality.IQC.Dto; +using DOAN.Service.MES.quality.FQC.IService; using Microsoft.AspNetCore.Mvc; //创建时间:2024-10-10 -namespace DOAN.Admin.WebApi.Controllers +namespace DOAN.WebApi.Controllers.MES.quality.FQC { /// /// 缺陷类别 /// //[Verify] - [Route("mes/productManagement/QcDefectConfig")] + [Route("mes/qualityManagement/QcDefectConfig")] public class QcDefectConfigController : BaseController { /// @@ -48,7 +48,7 @@ namespace DOAN.Admin.WebApi.Controllers public IActionResult GetQcDefectConfig(int Id) { var response = _QcDefectConfigService.GetInfo(Id); - + var info = response.Adapt(); return SUCCESS(info); } diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs similarity index 93% rename from DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs rename to DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs index 0ee2418..77887b1 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/quality/QcDefectCollectionController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/quality/IPQC/QcDefectCollectionController.cs @@ -1,20 +1,20 @@ using Microsoft.AspNetCore.Mvc; using DOAN.Model.Dto; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; -using DOAN.Service.MES.quality; using DOAN.Admin.WebApi.Filters; using DOAN.Infrastructure; using Aliyun.OSS; +using DOAN.Service.MES.quality.IPQC.IService; +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Model.MES.quality.IPQC; //创建时间:2024-09-30 -namespace DOAN.Admin.WebApi.Controllers +namespace DOAN.WebApi.Controllers.MES.quality.IPQC { /// /// 缺陷收集 /// [Verify] - [Route("mes/productManagement/QcDefectCollection")] + [Route("mes/qualityManagement/QcDefectCollection")] public class QcDefectCollectionController : BaseController { /// @@ -87,9 +87,9 @@ namespace DOAN.Admin.WebApi.Controllers //TODO 复制同种物料 [HttpGet("copySameMaterial")] - public IActionResult CopySameMaterial(string id) + public IActionResult CopySameMaterial(string id) { - if(string.IsNullOrEmpty(id)) + if (string.IsNullOrEmpty(id)) { throw new CustomException("id为空"); } diff --git a/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs b/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs new file mode 100644 index 0000000..d75fa39 --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/quality/IQC/QcReportLossController.cs @@ -0,0 +1,44 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; +using DOAN.Admin.WebApi.Filters; +using DOAN.Infrastructure; +using Aliyun.OSS; +using DOAN.Service.MES.quality.IPQC.IService; +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Model.MES.quality.IPQC; +using DOAN.Service.MES.quality.IQC.IService; +using DOAN.Service.MES.quality.IPQC; + +//创建时间:2024-09-30 +namespace DOAN.WebApi.Controllers.MES.quality.IQC +{ + /// + /// 缺陷收集 + /// + [Verify] + [Route("mes/qualityManagement/QcDefectCollection")] + public class QcReportLossController : BaseController + { + private IQcReportService qcReportService; + + public QcReportLossController(IQcReportService qcReportService) + { + this.qcReportService = qcReportService; + + + + } + //TODO 获取报损单 + [HttpGet("list")] + [ActionPermissionFilter(Permission = "qualityManagement:qcdefectcollection:list")] + public IActionResult QueryQcDefectCollection([FromQuery] QcDefectCollectionQueryDto2 parm) + { + var response = qcReportService.GetList(parm); + return SUCCESS(response); + } + + } +} + + + diff --git a/DOAN.Model/DOAN.Model.csproj b/DOAN.Model/DOAN.Model.csproj index c74796e..a884287 100644 --- a/DOAN.Model/DOAN.Model.csproj +++ b/DOAN.Model/DOAN.Model.csproj @@ -27,4 +27,8 @@ Never + + + + diff --git a/DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs b/DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs similarity index 97% rename from DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs rename to DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs index a0bf1f4..1020f1f 100644 --- a/DOAN.Model/MES/quality/QcFinishedproductDefectCollection.cs +++ b/DOAN.Model/MES/quality/FQC/QcFinishedproductDefectCollection.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace DOAN.Model.MES.quality +namespace DOAN.Model.MES.quality.FQC { /// /// 成品缺陷 diff --git a/DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs b/DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs similarity index 78% rename from DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs rename to DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs index cbf7b27..3e3c727 100644 --- a/DOAN.Model/MES/quality/Dto/QcDefectCollectionDto.cs +++ b/DOAN.Model/MES/quality/IPQC/Dto/QcDefectCollectionDto.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace DOAN.Model.MES.quality.Dto +namespace DOAN.Model.MES.quality.IPQC.Dto { /// /// 缺陷收集查询对象 @@ -13,7 +13,7 @@ namespace DOAN.Model.MES.quality.Dto public DateTime? DateTime { get; set; } - + public string LineCode { get; set; } @@ -67,4 +67,22 @@ namespace DOAN.Model.MES.quality.Dto } + + /// + /// 报损单 + /// + public class QcDefectCollectionQueryDto2 : PagerInfo + { + public string MaterialCode { get; set; } + + public string MaterialName { get; set; } + + public DateTime? DateTime { get; set; } + + + + public string LineCode { get; set; } + + //public int? Tqm { get; set; } + } } \ No newline at end of file diff --git a/DOAN.Model/MES/quality/QcDefectCollection.cs b/DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs similarity index 98% rename from DOAN.Model/MES/quality/QcDefectCollection.cs rename to DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs index 7287591..4550eae 100644 --- a/DOAN.Model/MES/quality/QcDefectCollection.cs +++ b/DOAN.Model/MES/quality/IPQC/QcDefectCollection.cs @@ -1,4 +1,4 @@ -namespace DOAN.Model.MES.quality +namespace DOAN.Model.MES.quality.IPQC { /// /// 缺陷收集 diff --git a/DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs b/DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs similarity index 91% rename from DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs rename to DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs index 818e724..f283e6d 100644 --- a/DOAN.Model/MES/quality/Dto/QcDefectConfigDto.cs +++ b/DOAN.Model/MES/quality/IQC/Dto/QcDefectConfigDto.cs @@ -1,11 +1,11 @@ using System.ComponentModel.DataAnnotations; -namespace DOAN.Model.MES.quality.Dto +namespace DOAN.Model.MES.quality.IQC.Dto { /// /// 缺陷类别查询对象 /// - public class QcDefectConfigQueryDto : PagerInfo + public class QcDefectConfigQueryDto : PagerInfo { public string Name { get; set; } public string Code { get; set; } diff --git a/DOAN.Model/MES/quality/QcDefectConfig.cs b/DOAN.Model/MES/quality/IQC/QcDefectConfig.cs similarity index 97% rename from DOAN.Model/MES/quality/QcDefectConfig.cs rename to DOAN.Model/MES/quality/IQC/QcDefectConfig.cs index cc685e8..6d5b1af 100644 --- a/DOAN.Model/MES/quality/QcDefectConfig.cs +++ b/DOAN.Model/MES/quality/IQC/QcDefectConfig.cs @@ -1,5 +1,4 @@ - -namespace DOAN.Model.MES.quality +namespace DOAN.Model.MES.quality.IQC { /// /// 缺陷类别 diff --git a/DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs b/DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs similarity index 77% rename from DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs rename to DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs index e70032a..2200366 100644 --- a/DOAN.Service/MES/quality/IService/IQcDefectConfigService.cs +++ b/DOAN.Service/MES/quality/FQC/IService/IQcDefectConfigService.cs @@ -1,8 +1,8 @@ using DOAN.Model; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; +using DOAN.Model.MES.quality.IQC; +using DOAN.Model.MES.quality.IQC.Dto; -namespace DOAN.Service.MES.quality +namespace DOAN.Service.MES.quality.FQC.IService { /// /// 缺陷类别service接口 diff --git a/DOAN.Service/MES/quality/QcDefectConfigService.cs b/DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs similarity index 91% rename from DOAN.Service/MES/quality/QcDefectConfigService.cs rename to DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs index 5f2a550..c76fa19 100644 --- a/DOAN.Service/MES/quality/QcDefectConfigService.cs +++ b/DOAN.Service/MES/quality/FQC/QcDefectConfigService.cs @@ -1,11 +1,11 @@ using DOAN.Model; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; +using DOAN.Model.MES.quality.IQC; +using DOAN.Model.MES.quality.IQC.Dto; using DOAN.Repository; -using DOAN.Service.MES.quality; +using DOAN.Service.MES.quality.FQC.IService; using Infrastructure.Attribute; -namespace DOAN.Service.Business +namespace DOAN.Service.MES.quality.FQC { /// /// 缺陷类别Service业务层处理 @@ -21,7 +21,7 @@ namespace DOAN.Service.Business public PagedInfo GetList(QcDefectConfigQueryDto parm) { var predicate = Expressionable.Create() - .AndIF(!string.IsNullOrEmpty(parm.Name),it=>it.Name.Contains(parm.Name)) + .AndIF(!string.IsNullOrEmpty(parm.Name), it => it.Name.Contains(parm.Name)) .AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code)) .AndIF(!string.IsNullOrEmpty(parm.Group), it => it.Group.Contains(parm.Group)) .AndIF(!string.IsNullOrEmpty(parm.QcType), it => it.QcType.Contains(parm.QcType)) diff --git a/DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs b/DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs similarity index 85% rename from DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs rename to DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs index 00cbf06..facc29b 100644 --- a/DOAN.Service/MES/quality/IService/IQcDefectCollectionService.cs +++ b/DOAN.Service/MES/quality/IPQC/IService/IQcDefectCollectionService.cs @@ -1,13 +1,13 @@ using System; using DOAN.Model; using DOAN.Model.Dto; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; using System.Collections.Generic; using DOAN.Model.MES.base_; +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Model.MES.quality.IPQC; -namespace DOAN.Service.MES.quality +namespace DOAN.Service.MES.quality.IPQC.IService { /// /// 缺陷收集service接口 diff --git a/DOAN.Service/MES/quality/QcDefectCollectionService.cs b/DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs similarity index 96% rename from DOAN.Service/MES/quality/QcDefectCollectionService.cs rename to DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs index 18d30e5..fb67949 100644 --- a/DOAN.Service/MES/quality/QcDefectCollectionService.cs +++ b/DOAN.Service/MES/quality/IPQC/QcDefectCollectionService.cs @@ -4,8 +4,6 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; using DOAN.Model; using DOAN.Model.Dto; -using DOAN.Model.MES.quality; -using DOAN.Model.MES.quality.Dto; using DOAN.Repository; using System.Linq; @@ -16,8 +14,11 @@ using DOAN.Model.MES.mm; using NPOI.SS.UserModel; using MathNet.Numerics.Distributions; using Microsoft.AspNetCore.Http.HttpResults; +using DOAN.Service.MES.quality.IPQC.IService; +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Model.MES.quality.IPQC; -namespace DOAN.Service.MES.quality +namespace DOAN.Service.MES.quality.IPQC { /// /// 缺陷收集Service业务层处理 @@ -46,7 +47,7 @@ namespace DOAN.Service.MES.quality .GroupBy((t, i) => i.MaterialCode) .Select((t, i) => new { - MaterialCode = i.MaterialCode, + i.MaterialCode, ActualNum = SqlFunc.AggregateSum(i.Quantity) }).ToList(); @@ -148,7 +149,7 @@ namespace DOAN.Service.MES.quality newqcDefect.PlanNum = qcDefect.PlanNum; newqcDefect.ActualNum = qcDefect.ActualNum; newqcDefect.CreatedBy = qcDefect.CreatedBy; - newqcDefect.CreatedTime=DateTime.Now; + newqcDefect.CreatedTime = DateTime.Now; int result = Context.Insertable(newqcDefect).ExecuteCommand(); if (result == 0) { diff --git a/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs b/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs new file mode 100644 index 0000000..39ab896 --- /dev/null +++ b/DOAN.Service/MES/quality/IQC/IService/IQcReportService.cs @@ -0,0 +1,15 @@ +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DOAN.Service.MES.quality.IQC.IService +{ + public interface IQcReportService + { + PagedInfo GetList(QcDefectCollectionQueryDto2 parm); + } +} diff --git a/DOAN.Service/MES/quality/IQC/QcReportService.cs b/DOAN.Service/MES/quality/IQC/QcReportService.cs new file mode 100644 index 0000000..977d0f2 --- /dev/null +++ b/DOAN.Service/MES/quality/IQC/QcReportService.cs @@ -0,0 +1,46 @@ +using DOAN.Infrastructure; +using DOAN.Model; +using DOAN.Model.MES.quality.IPQC; +using DOAN.Model.MES.quality.IPQC.Dto; +using DOAN.Repository; +using DOAN.Service.MES.quality.IQC.IService; +using Infrastructure.Attribute; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DOAN.Service.MES.quality.IQC +{ + [AppService(ServiceType = typeof(IQcReportService), ServiceLifetime = LifeTime.Transient)] + public class QcReportService : BaseService, IQcReportService + { + + + /// + /// 查询报损单 + /// + /// + /// + public PagedInfo GetList(QcDefectCollectionQueryDto2 parm) + { + parm.DateTime = ConvertDateTime.ConvertLocalDate(parm.DateTime ?? DateTime.MinValue); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode)) + .AndIF(!string.IsNullOrEmpty(parm.MaterialName), it => it.MaterialName.Contains(parm.MaterialName)) + .AndIF(!string.IsNullOrEmpty(parm.LineCode), it => it.LineCode.Contains(parm.LineCode)) + .AndIF(parm.DateTime != null && parm.DateTime > DateTime.MinValue.AddYears(1), it => it.DateTime == parm.DateTime) + .And(it => it.Tqm == 1||it.Tqm==2) + ; + + var response = Queryable() + .Where(predicate.ToExpression()) + .OrderBy(it => it.MaterialCode) + .ToPage(parm); + + return response; + } + } + +}