From c7e4c77e4d61609b7eac06a47b42d37023341527 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Fri, 7 Nov 2025 09:24:24 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/RIZO.Infrastructure.csproj | 2 +- .../Business/ProcessInfoController.cs | 14 +++ RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj | 1 + RIZO.CodeGenerator/RIZO.CodeGenerator.csproj | 1 + RIZO.Common/RIZO.Common.csproj | 1 + RIZO.Mall/RIZO.Mall.csproj | 4 + RIZO.Model/Business/Dto/ProcessInfoImport.cs | 32 +++++++ RIZO.Model/Business/ProcessInfo.cs | 1 + RIZO.Model/RIZO.Model.csproj | 6 +- RIZO.Repository/IBaseRepository.cs | 1 + RIZO.Repository/RIZO.Repository.csproj | 1 + .../IBusinessService/IProcessInfoService.cs | 3 + RIZO.Service/Business/ProcessInfoService.cs | 92 ++++++++++++++++++- RIZO.Service/RIZO.Service.csproj | 3 + RIZO.ServiceCore/RIZO.ServiceCore.csproj | 1 + RIZO.Tasks/RIZO.Tasks.csproj | 1 + 16 files changed, 157 insertions(+), 7 deletions(-) create mode 100644 RIZO.Model/Business/Dto/ProcessInfoImport.cs diff --git a/Infrastructure/RIZO.Infrastructure.csproj b/Infrastructure/RIZO.Infrastructure.csproj index 5811a4f..9048d6a 100644 --- a/Infrastructure/RIZO.Infrastructure.csproj +++ b/Infrastructure/RIZO.Infrastructure.csproj @@ -17,7 +17,7 @@ - + diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 26e2885..ae1e45e 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -96,5 +96,19 @@ namespace RIZO.Admin.WebApi.Controllers.Business return ToResponse(_ProcessInfoService.Delete(idArr)); } + /// + /// 导入工艺表 + /// + /// + [HttpPost] + //[ActionPermissionFilter(Permission = "processinfo:add")] + [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] + public IActionResult ImportProcessInfo([FromForm] string userId) + { + var stream = HttpContext.Request.Body; // 获取请求体流 + var response = _ProcessInfoService.ImportProcessInfo(stream, userId); + return SUCCESS(response); + } + } } \ No newline at end of file diff --git a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj index e46c496..67fa2e9 100644 --- a/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj +++ b/RIZO.Admin.WebApi/RIZO.Admin.WebApi.csproj @@ -20,6 +20,7 @@ + diff --git a/RIZO.CodeGenerator/RIZO.CodeGenerator.csproj b/RIZO.CodeGenerator/RIZO.CodeGenerator.csproj index ef36679..80a24fa 100644 --- a/RIZO.CodeGenerator/RIZO.CodeGenerator.csproj +++ b/RIZO.CodeGenerator/RIZO.CodeGenerator.csproj @@ -12,6 +12,7 @@ + diff --git a/RIZO.Common/RIZO.Common.csproj b/RIZO.Common/RIZO.Common.csproj index 80dbb60..5f7670a 100644 --- a/RIZO.Common/RIZO.Common.csproj +++ b/RIZO.Common/RIZO.Common.csproj @@ -8,6 +8,7 @@ + diff --git a/RIZO.Mall/RIZO.Mall.csproj b/RIZO.Mall/RIZO.Mall.csproj index 96914d2..79582bb 100644 --- a/RIZO.Mall/RIZO.Mall.csproj +++ b/RIZO.Mall/RIZO.Mall.csproj @@ -7,6 +7,10 @@ 1701;1702;1591;1570 + + + + diff --git a/RIZO.Model/Business/Dto/ProcessInfoImport.cs b/RIZO.Model/Business/Dto/ProcessInfoImport.cs new file mode 100644 index 0000000..2fbd428 --- /dev/null +++ b/RIZO.Model/Business/Dto/ProcessInfoImport.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MiniExcelLib.Core.Attributes; + +namespace RIZO.Model.Business.Dto +{ + public class ProcessInfoImport + { + [Required(ErrorMessage = "工艺路线名称不能为空")] + [ExcelColumn(Name = "工艺路线名称")] + [ExcelColumnName("工艺路线名称")] + public string ProcessCode { get; set; } + + [Required(ErrorMessage = "工艺路线编码不能为空")] + [ExcelColumn(Name = "工艺路线编码")] + [ExcelColumnName("工艺路线编码")] + public string ProcessName { get; set; } + + [Required(ErrorMessage = "工序编码不能为空")] + [ExcelColumn(Name = "工序编码")] + [ExcelColumnName("工序编码")] + public string OperationCode { get; set; } + + [Required(ErrorMessage = "工序名称不能为空")] + [ExcelColumn(Name = "工序名称")] + [ExcelColumnName("工序名称")] + public string OperationName { get; set; } + } +} diff --git a/RIZO.Model/Business/ProcessInfo.cs b/RIZO.Model/Business/ProcessInfo.cs index 99edf71..80e3458 100644 --- a/RIZO.Model/Business/ProcessInfo.cs +++ b/RIZO.Model/Business/ProcessInfo.cs @@ -15,5 +15,6 @@ namespace RIZO.Model.Business public DateTime CreateTime { get; set; } public string UpdateBy { get; set; } public DateTime? UpdateTime { get; set; } + public int? Delflag { get; set; } } } diff --git a/RIZO.Model/RIZO.Model.csproj b/RIZO.Model/RIZO.Model.csproj index a759da6..dccdd54 100644 --- a/RIZO.Model/RIZO.Model.csproj +++ b/RIZO.Model/RIZO.Model.csproj @@ -7,13 +7,9 @@ - + - - - - diff --git a/RIZO.Repository/IBaseRepository.cs b/RIZO.Repository/IBaseRepository.cs index 2d8f326..9478305 100644 --- a/RIZO.Repository/IBaseRepository.cs +++ b/RIZO.Repository/IBaseRepository.cs @@ -80,5 +80,6 @@ namespace RIZO.Repository (DataTable, List) UseStoredProcedureToTuple(string procedureName, List parameters); #endregion Procedure + } } diff --git a/RIZO.Repository/RIZO.Repository.csproj b/RIZO.Repository/RIZO.Repository.csproj index 3037ac6..d8f7587 100644 --- a/RIZO.Repository/RIZO.Repository.csproj +++ b/RIZO.Repository/RIZO.Repository.csproj @@ -11,6 +11,7 @@ + diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index c56c184..950223a 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -1,5 +1,6 @@ using RIZO.Model.Business.Dto; using RIZO.Model.Business; +using Infrastructure.Model; namespace RIZO.Service.Business.IBusinessService { @@ -16,6 +17,8 @@ namespace RIZO.Service.Business.IBusinessService ProcessInfo AddProcessInfo(ProcessInfo parm); int UpdateProcessInfo(ProcessInfo parm); + ApiResult ImportProcessInfo(Stream stream, string userId); + } } diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index 3e095bf..36a1f28 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -1,9 +1,17 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; -using RIZO.Model.Business.Dto; +using Infrastructure.Model; +using Microsoft.AspNetCore.Http; +using MiniExcelLibs; using RIZO.Model.Business; +using RIZO.Model.Business.Dto; +using RIZO.Model.System; using RIZO.Repository; using RIZO.Service.Business.IBusinessService; +using static MiniExcelLib.Core.MiniExcel; +using System.Collections.Generic; +using System.IO; +using Microsoft.AspNetCore.Http; namespace RIZO.Service.Business { @@ -75,5 +83,87 @@ namespace RIZO.Service.Business return predicate; } + + /// + /// excel表格导入工艺路线 + /// + /// + /// + /// + public ApiResult ImportProcessInfo(Stream stream, string userId) + { + OperationInfoService operationInfoService = new OperationInfoService(); + int code = 200; + string strMessage = ""; + try + { + if (string.IsNullOrWhiteSpace(userId)) + { + code = 400; + strMessage = "创建人不可为空!"; + return new ApiResult(code, strMessage); + } + if (stream == null || stream.Length == 0) + { + code = 400; + strMessage = "导入的Excel流不能为空!"; + return new ApiResult(code, strMessage); + } + if (stream.CanSeek) + { + stream.Position = 0; + } + + List processInfos = new List(); + List operationInfos = new List(); + //工艺路线导入模板 + List processInfoImports = new List(); + List resultList = stream.Query().ToList(); + + foreach (ProcessInfoImport processInfoImport in processInfoImports) + { + if (!processInfos.Any(p => p.ProcessCode == processInfoImport.ProcessCode)) + { + ProcessInfo processInfo = new ProcessInfo(); + processInfo.ProcessCode = processInfoImport.ProcessCode; + processInfo.ProcessName = processInfoImport.ProcessName; + processInfo.Delflag = 0; + processInfo.CreateBy = userId; + processInfo.CreateTime = DateTime.Now; + processInfo.UpdateBy = userId; + processInfo.UpdateTime = DateTime.Now; + processInfos.Add(processInfo); + } + OperationInfo operationInfo = new OperationInfo(); + operationInfo.OperationCode = processInfoImport.OperationCode; + operationInfo.OperationName = processInfoImport.OperationName; + operationInfo.Delflag = 0; + operationInfo.CreateBy = userId; + operationInfo.CreateTime = DateTime.Now; + operationInfo.UpdateBy = userId; + operationInfo.UpdateTime = DateTime.Now; + operationInfos.Add(operationInfo); + } + int iResult = Insert(processInfos); + if (iResult > 0) + { + code = 200; + strMessage = "导入成功!"; + int iResult2 = operationInfoService.Insert(operationInfos); + } + else + { + code = 400; + strMessage = "导入失败!"; + } + + } + catch (Exception ex) + { + code = 500; + strMessage = "发生错误!"+ex.ToString(); + } + return new ApiResult(code, strMessage); + } } } \ No newline at end of file diff --git a/RIZO.Service/RIZO.Service.csproj b/RIZO.Service/RIZO.Service.csproj index 52e6e21..388b147 100644 --- a/RIZO.Service/RIZO.Service.csproj +++ b/RIZO.Service/RIZO.Service.csproj @@ -8,6 +8,9 @@ 1591 + + + diff --git a/RIZO.ServiceCore/RIZO.ServiceCore.csproj b/RIZO.ServiceCore/RIZO.ServiceCore.csproj index 4dc45b9..f15e38a 100644 --- a/RIZO.ServiceCore/RIZO.ServiceCore.csproj +++ b/RIZO.ServiceCore/RIZO.ServiceCore.csproj @@ -13,6 +13,7 @@ + diff --git a/RIZO.Tasks/RIZO.Tasks.csproj b/RIZO.Tasks/RIZO.Tasks.csproj index 043b3c1..0ddac73 100644 --- a/RIZO.Tasks/RIZO.Tasks.csproj +++ b/RIZO.Tasks/RIZO.Tasks.csproj @@ -5,6 +5,7 @@ + From d4f43ccb892be7efa7531eb7e712fb71185c12ad Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 08:48:53 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/ProcessInfoController.cs | 8 +- RIZO.Mall/Controllers/OrderController.cs | 108 +++++++++--------- RIZO.Model/Business/ProcessInfo.cs | 10 ++ RIZO.Service/Business/ProcessInfoService.cs | 14 ++- 4 files changed, 81 insertions(+), 59 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index ae1e45e..43840d4 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -10,6 +10,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 工艺表 /// [Route("business/ProcessInfo")] + [AllowAnonymous] public class ProcessInfoController : BaseController { /// @@ -100,12 +101,13 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 导入工艺表 /// /// - [HttpPost] + [HttpPost("ImportProcessInfo")] //[ActionPermissionFilter(Permission = "processinfo:add")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] - public IActionResult ImportProcessInfo([FromForm] string userId) + public IActionResult ImportProcessInfo([FromForm] string userId, [FromForm] IFormFile file) { - var stream = HttpContext.Request.Body; // 获取请求体流 + var stream = file.OpenReadStream(); + var fileName = file.FileName; var response = _ProcessInfoService.ImportProcessInfo(stream, userId); return SUCCESS(response); } diff --git a/RIZO.Mall/Controllers/OrderController.cs b/RIZO.Mall/Controllers/OrderController.cs index ef1fa5c..829e433 100644 --- a/RIZO.Mall/Controllers/OrderController.cs +++ b/RIZO.Mall/Controllers/OrderController.cs @@ -167,64 +167,64 @@ namespace RIZO.Mall.Controllers /// /// /// - [HttpPost("importData")] - [Log(Title = "批量发货", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)] - [ActionPermissionFilter(Permission = "oms:order:ship")] - public async Task ImportData([FromForm(Name = "file")] IFormFile formFile) - { - if (formFile == null || formFile.Length <= 0) - { - return ToResponse(ResultCode.FAIL, "请选择要导入的文件"); - } - var resultList = new List(); - using var stream = formFile.OpenReadStream(); - var rows = await stream.QueryAsync(startCell: "A1"); + //[HttpPost("importData")] + //[Log(Title = "批量发货", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)] + //[ActionPermissionFilter(Permission = "oms:order:ship")] + //public async Task ImportData([FromForm(Name = "file")] IFormFile formFile) + //{ + // if (formFile == null || formFile.Length <= 0) + // { + // return ToResponse(ResultCode.FAIL, "请选择要导入的文件"); + // } + // var resultList = new List(); + // using var stream = formFile.OpenReadStream(); + // var rows = await stream.QueryAsync(startCell: "A1"); - var orderNos = rows.Select(x => x.OrderNo).Distinct().ToList(); - var allOrders = await _OMSOrderService.Queryable().In(x => x.OrderNo, orderNos).ToListAsync(); + // var orderNos = rows.Select(x => x.OrderNo).Distinct().ToList(); + // var allOrders = await _OMSOrderService.Queryable().In(x => x.OrderNo, orderNos).ToListAsync(); - foreach (var item in rows) - { - if (string.IsNullOrWhiteSpace(item.DeliveryCompany) || string.IsNullOrWhiteSpace(item.DeliveryNo)) - { - item.Status = "缺少快递信息"; - resultList.Add(item); - continue; - } - var orderInfo = allOrders.FirstOrDefault(f => f.OrderNo == item.OrderNo); - if (orderInfo == null) - { - item.Status = "订单号不存在"; - resultList.Add(item); - continue; - } - if (orderInfo.DeliveryStatus != Enum.DeliveryStatusEnum.NotDelivered) - { - item.Status = "已发货"; - resultList.Add(item); - continue; - } - if (orderInfo.AddressSnapshot == null) - { - item.Status = "缺少收货信息"; - resultList.Add(item); - continue; - } - var order = item.Adapt(); + // foreach (var item in rows) + // { + // if (string.IsNullOrWhiteSpace(item.DeliveryCompany) || string.IsNullOrWhiteSpace(item.DeliveryNo)) + // { + // item.Status = "缺少快递信息"; + // resultList.Add(item); + // continue; + // } + // var orderInfo = allOrders.FirstOrDefault(f => f.OrderNo == item.OrderNo); + // if (orderInfo == null) + // { + // item.Status = "订单号不存在"; + // resultList.Add(item); + // continue; + // } + // if (orderInfo.DeliveryStatus != Enum.DeliveryStatusEnum.NotDelivered) + // { + // item.Status = "已发货"; + // resultList.Add(item); + // continue; + // } + // if (orderInfo.AddressSnapshot == null) + // { + // item.Status = "缺少收货信息"; + // resultList.Add(item); + // continue; + // } + // var order = item.Adapt(); - var result = await _OMSOrderService.OrderDelivery(order); - item.Status = result > 0 ? "发货成功" : "发货失败"; - resultList.Add(item); - } + // var result = await _OMSOrderService.OrderDelivery(order); + // item.Status = result > 0 ? "发货成功" : "发货失败"; + // resultList.Add(item); + // } - return SUCCESS(new - { - total = resultList.Count, - successCount = resultList.Count(x => x.Status == "发货成功"), - failCount = resultList.Count(x => x.Status != "发货成功"), - result = resultList - }); - } + // return SUCCESS(new + // { + // total = resultList.Count, + // successCount = resultList.Count(x => x.Status == "发货成功"), + // failCount = resultList.Count(x => x.Status != "发货成功"), + // result = resultList + // }); + //} /// /// 查询销售总 diff --git a/RIZO.Model/Business/ProcessInfo.cs b/RIZO.Model/Business/ProcessInfo.cs index 80e3458..b43b195 100644 --- a/RIZO.Model/Business/ProcessInfo.cs +++ b/RIZO.Model/Business/ProcessInfo.cs @@ -1,20 +1,30 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RIZO.Model.Business { + [SugarTable("process_info")] // 表名与数据库一致 public class ProcessInfo { + [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] public int Id { get; set; } + [SugarColumn(ColumnName = "process_code")] public string ProcessCode { get; set; } + [SugarColumn(ColumnName = "process_name")] public string ProcessName { get; set; } + [SugarColumn(ColumnName = "create_by")] public string CreateBy { get; set; } + [SugarColumn(ColumnName = "create_time")] public DateTime CreateTime { get; set; } + [SugarColumn(ColumnName = "update_by")] public string UpdateBy { get; set; } + [SugarColumn(ColumnName = "update_time")] public DateTime? UpdateTime { get; set; } + [SugarColumn(ColumnName = "delflag")] public int? Delflag { get; set; } } } diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index 36a1f28..8824830 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -119,9 +119,11 @@ namespace RIZO.Service.Business //工艺路线导入模板 List processInfoImports = new List(); List resultList = stream.Query().ToList(); - - foreach (ProcessInfoImport processInfoImport in processInfoImports) + List porocessCodeList = new List(); + //从1开始循环,排除掉0行的标题行 + for(int i = 1;i p.ProcessCode == processInfoImport.ProcessCode)) { ProcessInfo processInfo = new ProcessInfo(); @@ -133,6 +135,7 @@ namespace RIZO.Service.Business processInfo.UpdateBy = userId; processInfo.UpdateTime = DateTime.Now; processInfos.Add(processInfo); + porocessCodeList.Add(processInfoImport.ProcessCode); } OperationInfo operationInfo = new OperationInfo(); operationInfo.OperationCode = processInfoImport.OperationCode; @@ -144,6 +147,13 @@ namespace RIZO.Service.Business operationInfo.UpdateTime = DateTime.Now; operationInfos.Add(operationInfo); } + if (porocessCodeList.Any()) + { + var delCountP = Deleteable().Where(it => porocessCodeList.Contains(it.ProcessCode)) + .ExecuteCommand(); + var delCountO = operationInfoService.Deleteable().Where(it => porocessCodeList.Contains(it.ProcessCode)) + .ExecuteCommand(); + } int iResult = Insert(processInfos); if (iResult > 0) { From 952a52d30241ec49f2a354138e5397ae92aaea03 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 10:00:23 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/ProcessInfoController.cs | 15 +++++++++-- .../IBusinessService/IProcessInfoService.cs | 2 ++ RIZO.Service/Business/ProcessInfoService.cs | 26 ++++++++++++++++++- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 43840d4..c705d49 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -101,10 +101,10 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 导入工艺表 /// /// - [HttpPost("ImportProcessInfo")] + [HttpPost("ImportProcessInfo/{userId}")] //[ActionPermissionFilter(Permission = "processinfo:add")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] - public IActionResult ImportProcessInfo([FromForm] string userId, [FromForm] IFormFile file) + public IActionResult ImportProcessInfo([FromRoute] string userId, [FromForm] IFormFile file) { var stream = file.OpenReadStream(); var fileName = file.FileName; @@ -112,5 +112,16 @@ namespace RIZO.Admin.WebApi.Controllers.Business return SUCCESS(response); } + /// + /// 通过工艺路线Code批量删除工艺表 + /// + /// + [HttpPost("deleteByProcessCode")] + [ActionPermissionFilter(Permission = "processinfo:delete")] + [Log(Title = "工艺表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteByProcessCode([FromBody] string[] processCodeArr) + { + return ToResponse(_ProcessInfoService.DeleteByProcessCode(processCodeArr)); + } } } \ No newline at end of file diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index 950223a..c18e623 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -19,6 +19,8 @@ namespace RIZO.Service.Business.IBusinessService ApiResult ImportProcessInfo(Stream stream, string userId); + int DeleteByProcessCode(string[] processCodeArr); + } } diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index 8824830..437e1a2 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -21,6 +21,7 @@ namespace RIZO.Service.Business [AppService(ServiceType = typeof(IProcessInfoService), ServiceLifetime = LifeTime.Transient)] public class ProcessInfoService : BaseService, IProcessInfoService { + private OperationInfoService operationInfoService = new OperationInfoService(); /// /// 查询工艺表列表 /// @@ -92,7 +93,6 @@ namespace RIZO.Service.Business /// public ApiResult ImportProcessInfo(Stream stream, string userId) { - OperationInfoService operationInfoService = new OperationInfoService(); int code = 200; string strMessage = ""; try @@ -175,5 +175,29 @@ namespace RIZO.Service.Business } return new ApiResult(code, strMessage); } + + public int DeleteByProcessCode(string[] processCodeArr) + { + int iResult = 0; + try + { + if(processCodeArr != null && processCodeArr.Any()) + { + int delCountP = Deleteable().Where(it => processCodeArr.Contains(it.ProcessCode)) + .ExecuteCommand(); + int delCountO = operationInfoService.Deleteable().Where(it => processCodeArr.Contains(it.ProcessCode)) + .ExecuteCommand(); + if (delCountP > 0) + { + iResult = delCountP; + } + } + } + catch (Exception ex) + { + iResult = 0; + } + return iResult; + } } } \ No newline at end of file From 61781194bd1310bc5187a0769ace449f7974bd35 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 10:37:11 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=AD=98=E7=94=A8=E6=88=B7=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Business/ProcessInfoController.cs | 6 +++--- RIZO.Admin.WebApi/Program.cs | 13 ++++++++++++- RIZO.Model/Business/OperationInfo.cs | 5 +++++ RIZO.Model/Business/ProcessInfo.cs | 4 ++++ .../IBusinessService/IProcessInfoService.cs | 2 +- RIZO.Service/Business/ProcessInfoService.cs | 7 ++++++- 6 files changed, 31 insertions(+), 6 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index c705d49..7fcc3f0 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -101,14 +101,14 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 导入工艺表 /// /// - [HttpPost("ImportProcessInfo/{userId}")] + [HttpPost("ImportProcessInfo/{userId}/{userName}")] //[ActionPermissionFilter(Permission = "processinfo:add")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] - public IActionResult ImportProcessInfo([FromRoute] string userId, [FromForm] IFormFile file) + public IActionResult ImportProcessInfo([FromRoute] string userId, [FromRoute] string userName, [FromForm] IFormFile file) { var stream = file.OpenReadStream(); var fileName = file.FileName; - var response = _ProcessInfoService.ImportProcessInfo(stream, userId); + var response = _ProcessInfoService.ImportProcessInfo(stream, userId,userName); return SUCCESS(response); } diff --git a/RIZO.Admin.WebApi/Program.cs b/RIZO.Admin.WebApi/Program.cs index 2c52deb..7e34f7b 100644 --- a/RIZO.Admin.WebApi/Program.cs +++ b/RIZO.Admin.WebApi/Program.cs @@ -42,7 +42,18 @@ builder.Services.AddSwaggerGen(); //注入HttpContextAccessor builder.Services.AddSingleton(); // 跨域配置 -builder.Services.AddCors(builder.Configuration); +//builder.Services.AddCors(builder.Configuration); +// 移除原有的 builder.Services.AddCors(builder.Configuration); +// 替换为手动配置跨域,确保允许 OPTIONS 方法 +builder.Services.AddCors(options => +{ + options.AddPolicy("Policy", policy => // 政策名称必须是 "Policy",与 app.UseCors("Policy") 对应 + { + policy.AllowAnyOrigin() // 开发环境允许所有源(生产环境替换为具体域名,如 "http://localhost:3000") + .AllowAnyMethod() // 关键:允许所有 HTTP 方法(包括 OPTIONS 预检) + .AllowAnyHeader(); // 允许所有请求头 + }); +}); //消除Error unprotecting the session cookie警告 builder.Services.AddDataProtection() .PersistKeysToFileSystem(new DirectoryInfo(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "DataProtection")); diff --git a/RIZO.Model/Business/OperationInfo.cs b/RIZO.Model/Business/OperationInfo.cs index cd11759..3bb0b27 100644 --- a/RIZO.Model/Business/OperationInfo.cs +++ b/RIZO.Model/Business/OperationInfo.cs @@ -60,5 +60,10 @@ namespace RIZO.Model.Business [SugarColumn(ColumnName = "update_time")] public DateTime? UpdateTime { get; set; } + [SugarColumn(ColumnName = "update_name")] + public string UpdateName { get; set; } + [SugarColumn(ColumnName = "create_name")] + public string CreateName { get; set; } + } } \ No newline at end of file diff --git a/RIZO.Model/Business/ProcessInfo.cs b/RIZO.Model/Business/ProcessInfo.cs index b43b195..81338f3 100644 --- a/RIZO.Model/Business/ProcessInfo.cs +++ b/RIZO.Model/Business/ProcessInfo.cs @@ -26,5 +26,9 @@ namespace RIZO.Model.Business public DateTime? UpdateTime { get; set; } [SugarColumn(ColumnName = "delflag")] public int? Delflag { get; set; } + [SugarColumn(ColumnName = "update_name")] + public string UpdateName { get; set; } + [SugarColumn(ColumnName = "create_name")] + public string CreateName { get; set; } } } diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index c18e623..13084da 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -17,7 +17,7 @@ namespace RIZO.Service.Business.IBusinessService ProcessInfo AddProcessInfo(ProcessInfo parm); int UpdateProcessInfo(ProcessInfo parm); - ApiResult ImportProcessInfo(Stream stream, string userId); + ApiResult ImportProcessInfo(Stream stream, string userId,string userName); int DeleteByProcessCode(string[] processCodeArr); diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index 437e1a2..f9c771c 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -91,7 +91,7 @@ namespace RIZO.Service.Business /// /// /// - public ApiResult ImportProcessInfo(Stream stream, string userId) + public ApiResult ImportProcessInfo(Stream stream, string userId,string userName) { int code = 200; string strMessage = ""; @@ -134,17 +134,22 @@ namespace RIZO.Service.Business processInfo.CreateTime = DateTime.Now; processInfo.UpdateBy = userId; processInfo.UpdateTime = DateTime.Now; + processInfo.CreateName = userName; + processInfo.UpdateName = userName; processInfos.Add(processInfo); porocessCodeList.Add(processInfoImport.ProcessCode); } OperationInfo operationInfo = new OperationInfo(); operationInfo.OperationCode = processInfoImport.OperationCode; operationInfo.OperationName = processInfoImport.OperationName; + operationInfo.ProcessCode = processInfoImport.ProcessCode; operationInfo.Delflag = 0; operationInfo.CreateBy = userId; operationInfo.CreateTime = DateTime.Now; operationInfo.UpdateBy = userId; operationInfo.UpdateTime = DateTime.Now; + operationInfo.CreateName = userName; + operationInfo.UpdateName = userName; operationInfos.Add(operationInfo); } if (porocessCodeList.Any()) From 58e8c088fd01b97a54c62f4027673cab446c8a11 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 10:40:02 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 7fcc3f0..1a401b8 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -102,7 +102,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// /// [HttpPost("ImportProcessInfo/{userId}/{userName}")] - //[ActionPermissionFilter(Permission = "processinfo:add")] + [ActionPermissionFilter(Permission = "processinfo:import")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] public IActionResult ImportProcessInfo([FromRoute] string userId, [FromRoute] string userName, [FromForm] IFormFile file) { From 82e5eef5f6aa12679810985890528fa6a6004584 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 11:27:18 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Business/ProcessInfoController.cs | 4 ++-- RIZO.Admin.WebApi/Program.cs | 13 +------------ 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 1a401b8..6c3dbc4 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -102,7 +102,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// /// [HttpPost("ImportProcessInfo/{userId}/{userName}")] - [ActionPermissionFilter(Permission = "processinfo:import")] + [ActionPermissionFilter(Permission = "processinfo:add")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] public IActionResult ImportProcessInfo([FromRoute] string userId, [FromRoute] string userName, [FromForm] IFormFile file) { @@ -116,7 +116,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 通过工艺路线Code批量删除工艺表 /// /// - [HttpPost("deleteByProcessCode")] + [HttpDelete("deleteByProcessCode")] [ActionPermissionFilter(Permission = "processinfo:delete")] [Log(Title = "工艺表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteByProcessCode([FromBody] string[] processCodeArr) diff --git a/RIZO.Admin.WebApi/Program.cs b/RIZO.Admin.WebApi/Program.cs index 7e34f7b..2c52deb 100644 --- a/RIZO.Admin.WebApi/Program.cs +++ b/RIZO.Admin.WebApi/Program.cs @@ -42,18 +42,7 @@ builder.Services.AddSwaggerGen(); //注入HttpContextAccessor builder.Services.AddSingleton(); // 跨域配置 -//builder.Services.AddCors(builder.Configuration); -// 移除原有的 builder.Services.AddCors(builder.Configuration); -// 替换为手动配置跨域,确保允许 OPTIONS 方法 -builder.Services.AddCors(options => -{ - options.AddPolicy("Policy", policy => // 政策名称必须是 "Policy",与 app.UseCors("Policy") 对应 - { - policy.AllowAnyOrigin() // 开发环境允许所有源(生产环境替换为具体域名,如 "http://localhost:3000") - .AllowAnyMethod() // 关键:允许所有 HTTP 方法(包括 OPTIONS 预检) - .AllowAnyHeader(); // 允许所有请求头 - }); -}); +builder.Services.AddCors(builder.Configuration); //消除Error unprotecting the session cookie警告 builder.Services.AddDataProtection() .PersistKeysToFileSystem(new DirectoryInfo(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "DataProtection")); From 4867fe688058817e14fc46bb88b8c6b20688dd19 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 11:29:08 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Business/ProcessInfoController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 6c3dbc4..505e203 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -102,7 +102,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// /// [HttpPost("ImportProcessInfo/{userId}/{userName}")] - [ActionPermissionFilter(Permission = "processinfo:add")] + //[ActionPermissionFilter(Permission = "processinfo:import")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] public IActionResult ImportProcessInfo([FromRoute] string userId, [FromRoute] string userName, [FromForm] IFormFile file) { @@ -116,7 +116,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 通过工艺路线Code批量删除工艺表 /// /// - [HttpDelete("deleteByProcessCode")] + [HttpPost("deleteByProcessCode")] [ActionPermissionFilter(Permission = "processinfo:delete")] [Log(Title = "工艺表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteByProcessCode([FromBody] string[] processCodeArr) From f1a8053c2fb65d37e41a9a16a10ee75aff99c00e Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 11:51:48 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Business/ProcessInfoController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 505e203..30f8f27 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -101,10 +101,10 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 导入工艺表 /// /// - [HttpPost("ImportProcessInfo/{userId}/{userName}")] + [HttpPost("ImportProcessInfo")] //[ActionPermissionFilter(Permission = "processinfo:import")] [Log(Title = "导入保存工艺路线", BusinessType = BusinessType.IMPORT)] - public IActionResult ImportProcessInfo([FromRoute] string userId, [FromRoute] string userName, [FromForm] IFormFile file) + public IActionResult ImportProcessInfo([FromQuery] string userId, [FromQuery] string userName, [FromForm] IFormFile file) { var stream = file.OpenReadStream(); var fileName = file.FileName; From a5c8cb23b0058ca510c7b66fbf7e7be3f696c9eb Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 14:16:23 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B7=A5=E5=BA=8F?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/OperationInfoController.cs | 24 ++++++++++++++++++- RIZO.Model/Business/Dto/OperationInfoDto.cs | 4 ++++ .../IBusinessService/IOperationInfoService.cs | 4 ++-- RIZO.Service/Business/OperationInfoService.cs | 18 +++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs index c8c91af..bc2e770 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/OperationInfoController.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Mvc; -using RIZO.Model.Business.Dto; +using RIZO.Model; using RIZO.Model.Business; +using RIZO.Model.Business.Dto; using RIZO.Service.Business.IBusinessService; //创建时间:2025-11-04 @@ -10,6 +11,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 工序表 /// [Route("business/OperationInfo")] + [AllowAnonymous] public class OperationInfoController : BaseController { /// @@ -96,5 +98,25 @@ namespace RIZO.Admin.WebApi.Controllers.Business return ToResponse(_OperationInfoService.Delete(idArr)); } + /// + /// 通过工艺路线编码分页查询工序表详情 + /// + /// 工艺路线编码 + [HttpPost("getOperationInfoByProcessCode")] + //[ActionPermissionFilter(Permission = "operationinfo:query")] + public IActionResult GetOperationInfoByProcessCode([FromBody] OperationInfoQueryDto parm) + { + + // 校验参数 + if (parm == null || !parm.processCode.Any()) + { + return SUCCESS(new PagedInfo()); // 非法参数返回空分页 + } + // 调用服务层分页查询(需同步修改服务层方法) + var pagedResult = _OperationInfoService.GetOperationInfoByProcessCode(parm); + + return SUCCESS(pagedResult); + } + } } \ No newline at end of file diff --git a/RIZO.Model/Business/Dto/OperationInfoDto.cs b/RIZO.Model/Business/Dto/OperationInfoDto.cs index 347d17c..bf53da7 100644 --- a/RIZO.Model/Business/Dto/OperationInfoDto.cs +++ b/RIZO.Model/Business/Dto/OperationInfoDto.cs @@ -6,6 +6,7 @@ namespace RIZO.Model.Business.Dto /// public class OperationInfoQueryDto : PagerInfo { + public string processCode { get; set; } } /// @@ -32,6 +33,9 @@ namespace RIZO.Model.Business.Dto public DateTime? UpdateTime { get; set; } + public string CreateName { get; set; } + public string UpdateName { get; set; } + } diff --git a/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs b/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs index 263653b..0f08bf0 100644 --- a/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IOperationInfoService.cs @@ -16,6 +16,6 @@ namespace RIZO.Service.Business.IBusinessService OperationInfo AddOperationInfo(OperationInfo parm); int UpdateOperationInfo(OperationInfo parm); - - } + PagedInfo GetOperationInfoByProcessCode(OperationInfoQueryDto parm); + } } diff --git a/RIZO.Service/Business/OperationInfoService.cs b/RIZO.Service/Business/OperationInfoService.cs index 7b276ec..a3c4506 100644 --- a/RIZO.Service/Business/OperationInfoService.cs +++ b/RIZO.Service/Business/OperationInfoService.cs @@ -1,9 +1,11 @@ +using Aliyun.OSS; using Infrastructure.Attribute; using Infrastructure.Extensions; -using RIZO.Model.Business.Dto; using RIZO.Model.Business; +using RIZO.Model.Business.Dto; using RIZO.Repository; using RIZO.Service.Business.IBusinessService; +using System; namespace RIZO.Service.Business { @@ -75,5 +77,19 @@ namespace RIZO.Service.Business return predicate; } + + /// + /// 通过工艺路线编码获取工序详情 + /// + /// + /// + public PagedInfo GetOperationInfoByProcessCode(OperationInfoQueryDto parm) + { + string processCode = parm.processCode; + var response = Queryable() + .Where(it => it.ProcessCode == processCode) + .ToPage(parm); + return response; + } } } \ No newline at end of file From 2793eda822247b8480737cdb30b82a2dbb1a8881 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 14:44:46 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/ProcessInfoController.cs | 23 ++++++++++++++++++- RIZO.Model/Business/Dto/ProcessInfoDto.cs | 2 ++ .../IBusinessService/IProcessInfoService.cs | 2 +- RIZO.Service/Business/ProcessInfoService.cs | 21 ++++++++++++++++- 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 30f8f27..0367e27 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -1,6 +1,8 @@ using Microsoft.AspNetCore.Mvc; -using RIZO.Model.Business.Dto; +using RIZO.Model; using RIZO.Model.Business; +using RIZO.Model.Business.Dto; +using RIZO.Service.Business; using RIZO.Service.Business.IBusinessService; //创建时间:2025-11-04 @@ -123,5 +125,24 @@ namespace RIZO.Admin.WebApi.Controllers.Business { return ToResponse(_ProcessInfoService.DeleteByProcessCode(processCodeArr)); } + + /// + /// 模糊条件查询 + /// + [HttpPost("GetProcessInfoCondition")] + //[ActionPermissionFilter(Permission = "operationinfo:query")] + public IActionResult GetProcessInfoCondition([FromBody] ProcessInfoQueryDto parm) + { + + // 校验参数 + if (parm == null) + { + return SUCCESS(new PagedInfo()); // 非法参数返回空分页 + } + // 调用服务层分页查询(需同步修改服务层方法) + var pagedResult = _ProcessInfoService.GetProcessInfoCondition(parm); + + return SUCCESS(pagedResult); + } } } \ No newline at end of file diff --git a/RIZO.Model/Business/Dto/ProcessInfoDto.cs b/RIZO.Model/Business/Dto/ProcessInfoDto.cs index 9865c23..21d21a1 100644 --- a/RIZO.Model/Business/Dto/ProcessInfoDto.cs +++ b/RIZO.Model/Business/Dto/ProcessInfoDto.cs @@ -6,6 +6,8 @@ namespace RIZO.Model.Business.Dto /// public class ProcessInfoQueryDto : PagerInfo { + public string ProcessCode { get; set; } + public string ProcessName { get; set; } } /// diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index 13084da..edfb04a 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -21,6 +21,6 @@ namespace RIZO.Service.Business.IBusinessService int DeleteByProcessCode(string[] processCodeArr); - + PagedInfo GetProcessInfoCondition(ProcessInfoQueryDto parm); } } diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index f9c771c..b34a08f 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -81,7 +81,14 @@ namespace RIZO.Service.Business private static Expressionable QueryExp(ProcessInfoQueryDto parm) { var predicate = Expressionable.Create(); - + if (!string.IsNullOrWhiteSpace(parm.ProcessCode)) + { + predicate.And(it => it.ProcessCode.Contains(parm.ProcessCode)); + } + if (!string.IsNullOrWhiteSpace(parm.ProcessName)) + { + predicate.And(it => it.ProcessName.Contains(parm.ProcessName)); + } return predicate; } @@ -204,5 +211,17 @@ namespace RIZO.Service.Business } return iResult; } + + public PagedInfo GetProcessInfoCondition(ProcessInfoQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + } } \ No newline at end of file From 5a7bf882d0b65746e1041f252968b3c0ce91b8b2 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 15:43:30 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/ProcessInfoController.cs | 26 ++++++++++++++++++- .../IBusinessService/IProcessInfoService.cs | 1 + RIZO.Service/Business/ProcessInfoService.cs | 1 - 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 0367e27..2ef349c 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -1,7 +1,10 @@ +using Aliyun.OSS; using Microsoft.AspNetCore.Mvc; using RIZO.Model; using RIZO.Model.Business; using RIZO.Model.Business.Dto; +using RIZO.Model.Content.Dto; +using RIZO.Model.Dto; using RIZO.Service.Business; using RIZO.Service.Business.IBusinessService; @@ -130,7 +133,7 @@ namespace RIZO.Admin.WebApi.Controllers.Business /// 模糊条件查询 /// [HttpPost("GetProcessInfoCondition")] - //[ActionPermissionFilter(Permission = "operationinfo:query")] + //[ActionPermissionFilter(Permission = "processinfo:query")] public IActionResult GetProcessInfoCondition([FromBody] ProcessInfoQueryDto parm) { @@ -144,5 +147,26 @@ namespace RIZO.Admin.WebApi.Controllers.Business return SUCCESS(pagedResult); } + + /// + /// 导出工艺路线详情 + /// + /// + [HttpGet("export")] + //[ActionPermissionFilter(Permission = "processinfo:export")] + [Log(Title = "工艺路线详情", BusinessType = BusinessType.EXPORT)] + public IActionResult Export() + { + ProcessInfoQueryDto parm = new ProcessInfoQueryDto(); + parm.PageNum = 1; + parm.PageSize = 100000; + var list = _ProcessInfoService.GetList(parm).Result; + if (list == null || list.Count <= 0) + { + return ToResponse(ResultCode.FAIL, "没有要导出的数据"); + } + string sFileName = ExportExcel(list, "CommonLang", "工艺路线详情"); + return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); + } } } \ No newline at end of file diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index edfb04a..985fdc5 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -22,5 +22,6 @@ namespace RIZO.Service.Business.IBusinessService int DeleteByProcessCode(string[] processCodeArr); PagedInfo GetProcessInfoCondition(ProcessInfoQueryDto parm); + } } diff --git a/RIZO.Service/Business/ProcessInfoService.cs b/RIZO.Service/Business/ProcessInfoService.cs index b34a08f..f86030d 100644 --- a/RIZO.Service/Business/ProcessInfoService.cs +++ b/RIZO.Service/Business/ProcessInfoService.cs @@ -215,7 +215,6 @@ namespace RIZO.Service.Business public PagedInfo GetProcessInfoCondition(ProcessInfoQueryDto parm) { var predicate = QueryExp(parm); - var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); From a2823cec8987b4f5c51029bf1456802df15e7d0d Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 16:28:05 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/ProcessInfoController.cs | 23 +++++++++++++++---- RIZO.Model/Business/Dto/ProcessInfoDto.cs | 17 ++++++++++---- .../IBusinessService/IProcessInfoService.cs | 2 +- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs index 2ef349c..5cad5d9 100644 --- a/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs +++ b/RIZO.Admin.WebApi/Controllers/Business/ProcessInfoController.cs @@ -157,16 +157,29 @@ namespace RIZO.Admin.WebApi.Controllers.Business [Log(Title = "工艺路线详情", BusinessType = BusinessType.EXPORT)] public IActionResult Export() { - ProcessInfoQueryDto parm = new ProcessInfoQueryDto(); - parm.PageNum = 1; - parm.PageSize = 100000; + ProcessInfoQueryDto parm = new ProcessInfoQueryDto + { + PageNum = 1, + PageSize = 100000 + }; var list = _ProcessInfoService.GetList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } - string sFileName = ExportExcel(list, "CommonLang", "工艺路线详情"); - return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); + var (sFileName, sFilePath) = ExportExcelMini(list, "工艺路线详情", "工艺路线详情"); + if (string.IsNullOrWhiteSpace(sFilePath)) + { + return ToResponse(ResultCode.FAIL, "Excel生成失败"); + } + return PhysicalFile( + sFilePath, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + sFileName, + true + ); } + + } } \ No newline at end of file diff --git a/RIZO.Model/Business/Dto/ProcessInfoDto.cs b/RIZO.Model/Business/Dto/ProcessInfoDto.cs index 21d21a1..6668d5c 100644 --- a/RIZO.Model/Business/Dto/ProcessInfoDto.cs +++ b/RIZO.Model/Business/Dto/ProcessInfoDto.cs @@ -15,24 +15,33 @@ namespace RIZO.Model.Business.Dto /// public class ProcessInfoDto { + [ExcelColumnName("工艺路线ID")] [Required(ErrorMessage = "主键ID不能为空")] public long Id { get; set; } + [ExcelColumnName("工艺编码")] [Required(ErrorMessage = "工艺编码不能为空")] public string ProcessCode { get; set; } - [Required(ErrorMessage = "工艺名称不能为空")] + [ExcelColumnName("工艺路线名称")] + [Required(ErrorMessage = "工艺路线名称不能为空")] public string ProcessName { get; set; } - + [ExcelColumnName("创建人ID")] public string CreateBy { get; set; } + [ExcelColumnName("创建人")] + public string CreateName { get; set; } + [ExcelColumnName("创建时间")] public DateTime? CreateTime { get; set; } + [ExcelColumnName("最后更改人ID")] public string UpdateBy { get; set; } - public DateTime? UpdateTime { get; set; } + [ExcelColumnName("最后更改人")] + public string UpdateName { get; set; } - public int? Delflag { get; set; } + [ExcelColumnName("最后更改时间")] + public DateTime? UpdateTime { get; set; } diff --git a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs index 985fdc5..46f8068 100644 --- a/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs +++ b/RIZO.Service/Business/IBusinessService/IProcessInfoService.cs @@ -10,7 +10,7 @@ namespace RIZO.Service.Business.IBusinessService public interface IProcessInfoService : IBaseService { PagedInfo GetList(ProcessInfoQueryDto parm); - + ProcessInfo GetInfo(long Id); From cd3b6582ad627b9f0bf82896b65e0a25971ecb97 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 18:57:53 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E8=AE=BE=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/QualityDefectReasonController.cs | 100 ++++++++++++++++++ .../Business/Dto/QualityDefectReasonDto.cs | 44 ++++++++ RIZO.Model/Business/QualityDefectReason.cs | 76 +++++++++++++ .../IQualityDefectReasonService.cs | 21 ++++ .../Business/QualityDefectReasonService.cs | 79 ++++++++++++++ 5 files changed, 320 insertions(+) create mode 100644 RIZO.Admin.WebApi/Controllers/Business/QualityDefectReasonController.cs create mode 100644 RIZO.Model/Business/Dto/QualityDefectReasonDto.cs create mode 100644 RIZO.Model/Business/QualityDefectReason.cs create mode 100644 RIZO.Service/Business/IBusinessService/IQualityDefectReasonService.cs create mode 100644 RIZO.Service/Business/QualityDefectReasonService.cs diff --git a/RIZO.Admin.WebApi/Controllers/Business/QualityDefectReasonController.cs b/RIZO.Admin.WebApi/Controllers/Business/QualityDefectReasonController.cs new file mode 100644 index 0000000..32b1e7a --- /dev/null +++ b/RIZO.Admin.WebApi/Controllers/Business/QualityDefectReasonController.cs @@ -0,0 +1,100 @@ +using Microsoft.AspNetCore.Mvc; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Service.Business.IBusinessService; + +//创建时间:2025-11-10 +namespace RIZO.Admin.WebApi.Controllers.Business +{ + /// + /// 质量不良原因字典表 + /// + [Route("business/QualityDefectReason")] + public class QualityDefectReasonController : BaseController + { + /// + /// 质量不良原因字典表接口 + /// + private readonly IQualityDefectReasonService _QualityDefectReasonService; + + public QualityDefectReasonController(IQualityDefectReasonService QualityDefectReasonService) + { + _QualityDefectReasonService = QualityDefectReasonService; + } + + /// + /// 查询质量不良原因字典表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "qualitydefectreason:list")] + public IActionResult QueryQualityDefectReason([FromQuery] QualityDefectReasonQueryDto parm) + { + var response = _QualityDefectReasonService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询质量不良原因字典表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "qualitydefectreason:query")] + public IActionResult GetQualityDefectReason(long Id) + { + var response = _QualityDefectReasonService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加质量不良原因字典表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "qualitydefectreason:add")] + [Log(Title = "质量不良原因字典表", BusinessType = BusinessType.INSERT)] + public IActionResult AddQualityDefectReason([FromBody] QualityDefectReasonDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _QualityDefectReasonService.AddQualityDefectReason(modal); + + return SUCCESS(response); + } + + /// + /// 更新质量不良原因字典表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "qualitydefectreason:edit")] + [Log(Title = "质量不良原因字典表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateQualityDefectReason([FromBody] QualityDefectReasonDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _QualityDefectReasonService.UpdateQualityDefectReason(modal); + + return ToResponse(response); + } + + /// + /// 删除质量不良原因字典表 + /// + /// + [HttpPost("delete/{ids}")] + [ActionPermissionFilter(Permission = "qualitydefectreason:delete")] + [Log(Title = "质量不良原因字典表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteQualityDefectReason([FromRoute]string ids) + { + var idArr = Tools.SplitAndConvert(ids); + + return ToResponse(_QualityDefectReasonService.Delete(idArr)); + } + + } +} \ No newline at end of file diff --git a/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs new file mode 100644 index 0000000..d9826bb --- /dev/null +++ b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs @@ -0,0 +1,44 @@ + +namespace RIZO.Model.Business.Dto +{ + /// + /// 质量不良原因字典表查询对象 + /// + public class QualityDefectReasonQueryDto : PagerInfo + { + } + + /// + /// 质量不良原因字典表输入输出对象 + /// + public class QualityDefectReasonDto + { + [Required(ErrorMessage = "主键ID不能为空")] + public long Id { get; set; } + + public string ReasonCode { get; set; } + + public string ReasonName { get; set; } + + public string ReasonType { get; set; } + + public string Description { get; set; } + + public string CreateBy { get; set; } + + public string CreateName { get; set; } + + public DateTime? CreateTime { get; set; } + + public string UpdateName { get; set; } + + public string UpdateBy { get; set; } + + public DateTime? UpdateTime { get; set; } + + + + [ExcelColumn(Name = "原因类型")] + public string ReasonTypeLabel { get; set; } + } +} \ No newline at end of file diff --git a/RIZO.Model/Business/QualityDefectReason.cs b/RIZO.Model/Business/QualityDefectReason.cs new file mode 100644 index 0000000..00280bc --- /dev/null +++ b/RIZO.Model/Business/QualityDefectReason.cs @@ -0,0 +1,76 @@ + +namespace RIZO.Model.Business +{ + /// + /// 质量不良原因字典表 + /// + [SugarTable("quality_defect_reason")] + public class QualityDefectReason + { + /// + /// 主键ID + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 原因编码 + /// + [SugarColumn(ColumnName = "reason_code")] + public string ReasonCode { get; set; } + + /// + /// 原因名称 + /// + [SugarColumn(ColumnName = "reason_name")] + public string ReasonName { get; set; } + + /// + /// 原因类型 + /// + [SugarColumn(ColumnName = "reason_type")] + public string ReasonType { get; set; } + + /// + /// 原因描述 + /// + public string Description { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } + + /// + /// 创建人名称 + /// + [SugarColumn(ColumnName = "create_name")] + public string CreateName { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } + + /// + /// 更新人名称 + /// + [SugarColumn(ColumnName = "update_name")] + public string UpdateName { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } + + } +} \ No newline at end of file diff --git a/RIZO.Service/Business/IBusinessService/IQualityDefectReasonService.cs b/RIZO.Service/Business/IBusinessService/IQualityDefectReasonService.cs new file mode 100644 index 0000000..0d1028a --- /dev/null +++ b/RIZO.Service/Business/IBusinessService/IQualityDefectReasonService.cs @@ -0,0 +1,21 @@ +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; + +namespace RIZO.Service.Business.IBusinessService +{ + /// + /// 质量不良原因字典表service接口 + /// + public interface IQualityDefectReasonService : IBaseService + { + PagedInfo GetList(QualityDefectReasonQueryDto parm); + + QualityDefectReason GetInfo(long Id); + + + QualityDefectReason AddQualityDefectReason(QualityDefectReason parm); + int UpdateQualityDefectReason(QualityDefectReason parm); + + + } +} diff --git a/RIZO.Service/Business/QualityDefectReasonService.cs b/RIZO.Service/Business/QualityDefectReasonService.cs new file mode 100644 index 0000000..807627b --- /dev/null +++ b/RIZO.Service/Business/QualityDefectReasonService.cs @@ -0,0 +1,79 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using RIZO.Model.Business.Dto; +using RIZO.Model.Business; +using RIZO.Repository; +using RIZO.Service.Business.IBusinessService; + +namespace RIZO.Service.Business +{ + /// + /// 质量不良原因字典表Service业务层处理 + /// + [AppService(ServiceType = typeof(IQualityDefectReasonService), ServiceLifetime = LifeTime.Transient)] + public class QualityDefectReasonService : BaseService, IQualityDefectReasonService + { + /// + /// 查询质量不良原因字典表列表 + /// + /// + /// + public PagedInfo GetList(QualityDefectReasonQueryDto parm) + { + var predicate = QueryExp(parm); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public QualityDefectReason GetInfo(long Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加质量不良原因字典表 + /// + /// + /// + public QualityDefectReason AddQualityDefectReason(QualityDefectReason model) + { + return Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改质量不良原因字典表 + /// + /// + /// + public int UpdateQualityDefectReason(QualityDefectReason model) + { + return Update(model, true); + } + + /// + /// 查询导出表达式 + /// + /// + /// + private static Expressionable QueryExp(QualityDefectReasonQueryDto parm) + { + var predicate = Expressionable.Create(); + + return predicate; + } + } +} \ No newline at end of file From be79fbda5de0846209dcab9d80300a920d470656 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 19:23:50 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E8=AE=BE=E5=AE=9A?= =?UTF-8?q?=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RIZO.Model/Business/Dto/QualityDefectReasonDto.cs | 2 ++ RIZO.Service/Business/QualityDefectReasonService.cs | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs index d9826bb..b5bdaaa 100644 --- a/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs +++ b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs @@ -6,6 +6,8 @@ namespace RIZO.Model.Business.Dto /// public class QualityDefectReasonQueryDto : PagerInfo { + public string ReasonName { get; set; } + public string Description { get; set; } } /// diff --git a/RIZO.Service/Business/QualityDefectReasonService.cs b/RIZO.Service/Business/QualityDefectReasonService.cs index 807627b..10fcf6c 100644 --- a/RIZO.Service/Business/QualityDefectReasonService.cs +++ b/RIZO.Service/Business/QualityDefectReasonService.cs @@ -72,7 +72,14 @@ namespace RIZO.Service.Business private static Expressionable QueryExp(QualityDefectReasonQueryDto parm) { var predicate = Expressionable.Create(); - + if (!string.IsNullOrWhiteSpace(parm.ReasonName)) + { + predicate.And(it => it.ReasonName.Contains(parm.ReasonName)); + } + if (!string.IsNullOrWhiteSpace(parm.Description)) + { + predicate.And(it => it.Description.Contains(parm.Description)); + } return predicate; } } From ac4c7383285b88b2f326f6979f735496fa25d0b4 Mon Sep 17 00:00:00 2001 From: quowingwang Date: Mon, 10 Nov 2025 19:32:04 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RIZO.Model/Business/Dto/QualityDefectReasonDto.cs | 3 --- RIZO.Model/Business/QualityDefectReason.cs | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs index b5bdaaa..2380c19 100644 --- a/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs +++ b/RIZO.Model/Business/Dto/QualityDefectReasonDto.cs @@ -39,8 +39,5 @@ namespace RIZO.Model.Business.Dto public DateTime? UpdateTime { get; set; } - - [ExcelColumn(Name = "原因类型")] - public string ReasonTypeLabel { get; set; } } } \ No newline at end of file diff --git a/RIZO.Model/Business/QualityDefectReason.cs b/RIZO.Model/Business/QualityDefectReason.cs index 00280bc..f5f7e0b 100644 --- a/RIZO.Model/Business/QualityDefectReason.cs +++ b/RIZO.Model/Business/QualityDefectReason.cs @@ -20,19 +20,19 @@ namespace RIZO.Model.Business public string ReasonCode { get; set; } /// - /// 原因名称 + /// 原因类型 /// [SugarColumn(ColumnName = "reason_name")] public string ReasonName { get; set; } /// - /// 原因类型 + /// 原因类型 Code /// [SugarColumn(ColumnName = "reason_type")] public string ReasonType { get; set; } /// - /// 原因描述 + /// 原因名称 /// public string Description { get; set; }