From 8b9205cea3fd8b5299f449e33f956ef71eae6095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Thu, 8 Aug 2024 17:14:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E6=AC=A1=E5=90=88=E6=A0=BC=E5=93=81?= =?UTF-8?q?=E4=BB=93=E5=BA=93=EF=BC=8C=E6=8A=9B=E5=85=89=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=EF=BC=8C=E6=8A=9B=E5=85=89=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/WmGp12QualityStatisticsController.cs | 113 +++++ .../mes/wms/WmOneTimeInventoryController.cs | 167 ++++++++ .../mes/wms/WmOneTimeRecordController.cs | 106 +++++ .../WmPolishQualityStatisticsController.cs | 132 ++++++ ...WmPolishWorkQualityStatisticsController.cs | 127 ++++++ .../ZrAdmin.NET-GP12质检记录表-0808154939.zip | Bin 0 -> 12402 bytes .../ZrAdmin.NET-agv任务-0605181937.zip | Bin 8383 -> 0 bytes .../ZrAdmin.NET-一次合格品仓库-0808154936.zip | Bin 0 -> 9063 bytes ...in.NET-一次合格品仓库记录表-0808154933.zip | Bin 0 -> 9234 bytes .../ZrAdmin.NET-包装记录-0520091356.zip | Bin 8381 -> 0 bytes .../ZrAdmin.NET-配料任务清单-0605182515.zip | Bin 8821 -> 0 bytes .../MES/wms/Dto/WmGp12QualityStatisticsDto.cs | 127 ++++++ ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs | 59 +++ ZR.Model/MES/wms/Dto/WmOneTimeRecordDto.cs | 51 +++ ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs | 10 +- .../wms/Dto/WmPolishQualityStatisticsDto.cs | 136 ++++++ .../Dto/WmPolishWorkQualityStatisticsDto.cs | 134 ++++++ ZR.Model/MES/wms/WmGp12QualityStatistics.cs | 301 +++++++++++++ ZR.Model/MES/wms/WmOneTimeInventory.cs | 100 +++++ ZR.Model/MES/wms/WmOneTimeRecord.cs | 91 ++++ ZR.Model/MES/wms/WmPolishQualityStatistics.cs | 301 +++++++++++++ .../MES/wms/WmPolishWorkQualityStatistics.cs | 295 +++++++++++++ .../IWmGp12QualityStatisticsService.cs | 20 + .../IService/IWmOneTimeInventoryService.cs | 42 ++ .../wms/IService/IWmOneTimeRecordService.cs | 21 + .../IWmPolishQualityStatisticsService.cs | 21 + .../IWmPolishWorkQualityStatisticsService.cs | 21 + .../mes/wms/WmGp12QualityStatisticsService.cs | 71 ++++ .../mes/wms/WmOneTimeInventoryService.cs | 401 ++++++++++++++++++ ZR.Service/mes/wms/WmOneTimeRecordService.cs | 109 +++++ .../mes/wms/WmPolishInventoryService.cs | 6 +- .../wms/WmPolishQualityStatisticsService.cs | 240 +++++++++++ .../WmPolishWorkQualityStatisticsService.cs | 226 ++++++++++ 33 files changed, 3419 insertions(+), 9 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmGp12QualityStatisticsController.cs create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmPolishWorkQualityStatisticsController.cs create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-GP12质检记录表-0808154939.zip delete mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-agv任务-0605181937.zip create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-一次合格品仓库-0808154936.zip create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-一次合格品仓库记录表-0808154933.zip delete mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-包装记录-0520091356.zip delete mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip create mode 100644 ZR.Model/MES/wms/Dto/WmGp12QualityStatisticsDto.cs create mode 100644 ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs create mode 100644 ZR.Model/MES/wms/Dto/WmOneTimeRecordDto.cs create mode 100644 ZR.Model/MES/wms/Dto/WmPolishQualityStatisticsDto.cs create mode 100644 ZR.Model/MES/wms/Dto/WmPolishWorkQualityStatisticsDto.cs create mode 100644 ZR.Model/MES/wms/WmGp12QualityStatistics.cs create mode 100644 ZR.Model/MES/wms/WmOneTimeInventory.cs create mode 100644 ZR.Model/MES/wms/WmOneTimeRecord.cs create mode 100644 ZR.Model/MES/wms/WmPolishQualityStatistics.cs create mode 100644 ZR.Model/MES/wms/WmPolishWorkQualityStatistics.cs create mode 100644 ZR.Service/mes/wms/IService/IWmGp12QualityStatisticsService.cs create mode 100644 ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs create mode 100644 ZR.Service/mes/wms/IService/IWmOneTimeRecordService.cs create mode 100644 ZR.Service/mes/wms/IService/IWmPolishQualityStatisticsService.cs create mode 100644 ZR.Service/mes/wms/IService/IWmPolishWorkQualityStatisticsService.cs create mode 100644 ZR.Service/mes/wms/WmGp12QualityStatisticsService.cs create mode 100644 ZR.Service/mes/wms/WmOneTimeInventoryService.cs create mode 100644 ZR.Service/mes/wms/WmOneTimeRecordService.cs create mode 100644 ZR.Service/mes/wms/WmPolishQualityStatisticsService.cs create mode 100644 ZR.Service/mes/wms/WmPolishWorkQualityStatisticsService.cs diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGp12QualityStatisticsController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGp12QualityStatisticsController.cs new file mode 100644 index 00000000..34491f74 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGp12QualityStatisticsController.cs @@ -0,0 +1,113 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms.IService; + +//创建时间:2024-08-08 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// GP12质检记录表 + /// + [Verify] + [Route("business/WmGp12QualityStatistics")] + public class WmGp12QualityStatisticsController : BaseController + { + /// + /// GP12质检记录表接口 + /// + private readonly IWmGp12QualityStatisticsService _WmGp12QualityStatisticsService; + + public WmGp12QualityStatisticsController( + IWmGp12QualityStatisticsService WmGp12QualityStatisticsService + ) + { + _WmGp12QualityStatisticsService = WmGp12QualityStatisticsService; + } + + /// + /// 查询GP12质检记录表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmgp12qualitystatistics:list")] + public IActionResult QueryWmGp12QualityStatistics( + [FromQuery] WmGp12QualityStatisticsQueryDto parm + ) + { + var response = _WmGp12QualityStatisticsService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询GP12质检记录表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "business:wmgp12qualitystatistics:query")] + public IActionResult GetWmGp12QualityStatistics(string Id) + { + var response = _WmGp12QualityStatisticsService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加GP12质检记录表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmgp12qualitystatistics:add")] + [Log(Title = "GP12质检记录表", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmGp12QualityStatistics([FromBody] WmGp12QualityStatisticsDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmGp12QualityStatisticsService.AddWmGp12QualityStatistics(modal); + + return SUCCESS(response); + } + + /// + /// 更新GP12质检记录表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmgp12qualitystatistics:edit")] + [Log(Title = "GP12质检记录表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmGp12QualityStatistics( + [FromBody] WmGp12QualityStatisticsDto parm + ) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmGp12QualityStatisticsService.UpdateWmGp12QualityStatistics(modal); + + return ToResponse(response); + } + + /// + /// 删除GP12质检记录表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmgp12qualitystatistics:delete")] + [Log(Title = "GP12质检记录表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmGp12QualityStatistics(string ids) + { + string[] idsArr = ids.Split(","); + if (idsArr.Length <= 0) + { + return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); + } + + var response = _WmGp12QualityStatisticsService.Delete(idsArr); + + return ToResponse(response); + } + } +} diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs new file mode 100644 index 00000000..00802339 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs @@ -0,0 +1,167 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms; +using ZR.Service.mes.wms.IService; + +//创建时间:2024-08-08 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 一次合格品仓库 + /// + [Route("/mes/wm/WmOneTimeInventory")] + public class WmOneTimeInventoryController : BaseController + { + /// + /// 一次合格品仓库接口 + /// + private readonly IWmOneTimeInventoryService _WmOneTimeInventoryService; + + public WmOneTimeInventoryController(IWmOneTimeInventoryService WmOneTimeInventoryService) + { + _WmOneTimeInventoryService = WmOneTimeInventoryService; + } + + /// + /// 查询一次合格品仓库列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmonetimeinventory:list")] + public IActionResult QueryWmOneTimeInventory([FromQuery] WmOneTimeInventoryQueryDto parm) + { + var response = _WmOneTimeInventoryService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询一次合格品仓库详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "business:wmonetimeinventory:query")] + public IActionResult GetWmOneTimeInventory(string Id) + { + var response = _WmOneTimeInventoryService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加一次合格品仓库 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmonetimeinventory:add")] + [Log(Title = "一次合格品仓库", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmOneTimeInventoryService.AddWmOneTimeInventory(modal); + + return SUCCESS(response); + } + + /// + /// 更新一次合格品仓库 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmonetimeinventory:edit")] + [Log(Title = "一次合格品仓库", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmOneTimeInventoryService.UpdateWmOneTimeInventory(modal); + + return ToResponse(response); + } + + /// + /// 删除一次合格品仓库 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmonetimeinventory:delete")] + [Log(Title = "一次合格品仓库", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmOneTimeInventory(string ids) + { + string[] idsArr = ids.Split(','); + if (idsArr.Length <= 0) + { + return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); + } + + var response = _WmOneTimeInventoryService.Delete(idsArr); + + return ToResponse(response); + } + + /// + /// 一次合格品手动入库 + /// + /// + [HttpPost("doWmOneTimeWarehousing")] + [Log(Title = "一次合格品手动入库", BusinessType = BusinessType.UPDATE)] + public IActionResult DoWmOneTimeWarehousing([FromBody] WmOneTimeInventoryDto parm) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _WmOneTimeInventoryService.DoWmOneTimeWarehousing(modal); + return ToResponse(new ApiResult(200, "手动入库成功", response)); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500, "手动入库异常:" + e.Message, e.Message)); + } + } + + /// + /// 一次合格品手动出库 + /// + /// + [HttpPost("doWmOneTimeRetrieval")] + [Log(Title = "一次合格品手动出库", BusinessType = BusinessType.UPDATE)] + public IActionResult DoWmOneTimeRetrieval([FromBody] WmOneTimeInventoryDto parm) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _WmOneTimeInventoryService.DoWmOneTimeRetrieval(modal); + return ToResponse(new ApiResult(200, "手动出库成功", response)); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500, "手动出库异常:" + e.Message, e.Message)); + } + } + + /// + /// 一次合格品仓库盘点 + /// + /// + [HttpPost("doWmOneTimeStocktaking")] + [Log(Title = "一次合格品仓库盘点", BusinessType = BusinessType.INSERT)] + public IActionResult DoWmOneTimeStocktaking([FromBody] WmOneTimeInventoryDto parm) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + var response = _WmOneTimeInventoryService.DoWmOneTimeStocktaking(modal); + return ToResponse(new ApiResult(200, "盘点成功", response)); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500, "盘点异常:" + e.Message, e.Message)); + } + } + } +} diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs new file mode 100644 index 00000000..c19a0d08 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs @@ -0,0 +1,106 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms.IService; + +//创建时间:2024-08-08 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 一次合格品仓库记录表 + /// + [Route("/mes/wm/WmOneTimeRecord")] + public class WmOneTimeRecordController : BaseController + { + /// + /// 一次合格品仓库记录表接口 + /// + private readonly IWmOneTimeRecordService _WmOneTimeRecordService; + + public WmOneTimeRecordController(IWmOneTimeRecordService WmOneTimeRecordService) + { + _WmOneTimeRecordService = WmOneTimeRecordService; + } + + /// + /// 查询一次合格品仓库记录表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmonetimerecord:list")] + public IActionResult QueryWmOneTimeRecord([FromQuery] WmOneTimeRecordQueryDto parm) + { + var response = _WmOneTimeRecordService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询一次合格品仓库记录表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "business:wmonetimerecord:query")] + public IActionResult GetWmOneTimeRecord(string Id) + { + var response = _WmOneTimeRecordService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加一次合格品仓库记录表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmonetimerecord:add")] + [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmOneTimeRecord([FromBody] WmOneTimeRecordDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmOneTimeRecordService.AddWmOneTimeRecord(modal); + + return SUCCESS(response); + } + + /// + /// 更新一次合格品仓库记录表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmonetimerecord:edit")] + [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmOneTimeRecord([FromBody] WmOneTimeRecordDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmOneTimeRecordService.UpdateWmOneTimeRecord(modal); + + return ToResponse(response); + } + + /// + /// 删除一次合格品仓库记录表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmonetimerecord:delete")] + [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmOneTimeRecord(string ids) + { + string[] idsArr = ids.Split(','); + if (idsArr.Length <= 0) + { + return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); + } + + var response = _WmOneTimeRecordService.Delete(idsArr); + + return ToResponse(response); + } + } +} diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs new file mode 100644 index 00000000..81abbc08 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs @@ -0,0 +1,132 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms.IService; + +//创建时间:2024-08-07 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 抛光管理-质量统计 + /// + // [Verify] + [Route("/mes/wm/WmPolishQualityStatistics")] + public class WmPolishQualityStatisticsController : BaseController + { + /// + /// 抛光管理-质量统计接口 + /// + private readonly IWmPolishQualityStatisticsService _WmPolishQualityStatisticsService; + + public WmPolishQualityStatisticsController( + IWmPolishQualityStatisticsService WmPolishQualityStatisticsService + ) + { + _WmPolishQualityStatisticsService = WmPolishQualityStatisticsService; + } + + /// + /// 查询抛光管理-质量统计列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:list")] + public IActionResult QueryWmPolishQualityStatistics( + [FromQuery] WmPolishQualityStatisticsQueryDto parm + ) + { + var response = _WmPolishQualityStatisticsService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询抛光管理-质量统计详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:query")] + public IActionResult GetWmPolishQualityStatistics(string Id) + { + var response = _WmPolishQualityStatisticsService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加抛光管理-质量统计 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:add")] + [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmPolishQualityStatistics( + [FromBody] WmPolishQualityStatisticsDto parm + ) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmPolishQualityStatisticsService.AddWmPolishQualityStatistics( + modal + ); + + return SUCCESS(response); + } + catch (Exception e) + { + return ToResponse(ApiResult.Error("添加记录失败:" + e.Message)); + } + } + + /// + /// 更新抛光管理-质量统计 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:edit")] + [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmPolishQualityStatistics( + [FromBody] WmPolishQualityStatisticsDto parm + ) + { + try + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmPolishQualityStatisticsService.UpdateWmPolishQualityStatistics(modal); + + return ToResponse(response); + } + catch (Exception e) + { + return ToResponse(ApiResult.Error("修改记录失败:" + e.Message)); + } + + } + + /// + /// 删除抛光管理-质量统计 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:delete")] + [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmPolishQualityStatistics(string ids) + { + string[] idsArr = ids.Split(","); + if (idsArr.Length <= 0) + { + return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); + } + + var response = _WmPolishQualityStatisticsService.Delete(idsArr); + + return ToResponse(response); + } + } +} diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishWorkQualityStatisticsController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishWorkQualityStatisticsController.cs new file mode 100644 index 00000000..177a52cf --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishWorkQualityStatisticsController.cs @@ -0,0 +1,127 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms.IService; + +//创建时间:2024-08-08 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 抛光管理-抛光操作 + /// + // [Verify] + [Route("/mes/wm/WmPolishWorkQualityStatistics")] + public class WmPolishWorkQualityStatisticsController : BaseController + { + /// + /// 抛光管理-抛光操作接口 + /// + private readonly IWmPolishWorkQualityStatisticsService _WmPolishWorkQualityStatisticsService; + + public WmPolishWorkQualityStatisticsController( + IWmPolishWorkQualityStatisticsService WmPolishWorkQualityStatisticsService + ) + { + _WmPolishWorkQualityStatisticsService = WmPolishWorkQualityStatisticsService; + } + + /// + /// 查询抛光管理-抛光操作列表 + /// + /// + /// + [HttpGet("list")] + public IActionResult QueryWmPolishWorkQualityStatistics( + [FromQuery] WmPolishWorkQualityStatisticsQueryDto parm + ) + { + var response = _WmPolishWorkQualityStatisticsService.GetList(parm); + return SUCCESS(response); + } + + /// + /// 查询抛光管理-抛光操作详情 + /// + /// + /// + [HttpGet("{Id}")] + public IActionResult GetWmPolishWorkQualityStatistics(string Id) + { + var response = _WmPolishWorkQualityStatisticsService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加抛光管理-抛光操作 + /// + /// + [HttpPost] + [Log(Title = "抛光管理-抛光操作", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmPolishWorkQualityStatistics( + [FromBody] WmPolishQualityStatisticsDto parm + ) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmPolishWorkQualityStatisticsService.AddWmPolishWorkQualityStatistics( + modal + ); + + return SUCCESS(response); + } + catch (Exception e) + { + return ToResponse(ApiResult.Error("添加记录失败:" + e.Message)); + } + } + + /// + /// 更新抛光管理-抛光操作 + /// + /// + [HttpPut] + [Log(Title = "抛光管理-抛光操作", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmPolishQualityStatistics( + [FromBody] WmPolishQualityStatisticsDto parm + ) + { + try + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmPolishWorkQualityStatisticsService.UpdateWmPolishWorkQualityStatistics(modal); + + return ToResponse(response); + } + catch (Exception e) + { + return ToResponse(ApiResult.Error("修改记录失败:" + e.Message)); + } + + } + + /// + /// 删除抛光管理-抛光操作 + /// + /// + [HttpDelete("{ids}")] + [Log(Title = "抛光管理-抛光操作", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmPolishWorkQualityStatistics(string ids) + { + string[] idsArr = ids.Split(","); + if (idsArr.Length <= 0) + { + return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); + } + + var response = _WmPolishWorkQualityStatisticsService.Delete(idsArr); + + return ToResponse(response); + } + } +} diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-GP12质检记录表-0808154939.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-GP12质检记录表-0808154939.zip new file mode 100644 index 0000000000000000000000000000000000000000..dc6b842a587a6fd26c72161ac41dca2c541d7cd0 GIT binary patch literal 12402 zcmb`uWpEtZmNY76W@ct+k;N@mizSPhnHep%n3*kRX0|Mr#SE4#W@h|+XTJN++!OD{ z%$s=qud8>gtctaER&{2U5(p9s3k(bl4h-NArzKrU$}mRv!Y1d5^{;~h!( z8;ovJ-V6qPS5PC*4h40T*dQXt_dN0P3e0k?-Bop68c70G_aZv@M;Qev9h)CAVe~0+V50F zS9}e^kXBHMMS$+-aDIBlyS==tJZXK~>~^5sjy}w^;8R}+$CenSQPPJg-F}Lh`3yK+ zSf>+!P2&`J%GA#`+VE&jR}vvWb?o18&W?6C6Mi}$1jr`45UjnR9=z>soqA#@IN>-# z0N;U}9=0&ub0??wb}L$7yq|Y)J?y zA=s9s>W-B9z`d(hBWvsJn$fqbO)#Z@nTMgBP@`%nFfafn7#P=|dC*p2Q8jaRw=ywf z1-iLd*_*kz{JZ)1zw1~`Tz;nOI8bt74R12u@oT;$%g%^*#!ahPui9hJhql01&~5i; zIAKPG|Y@e?wcI z*pQ=06B(tYuUFM}clU&C%^kT;n==K2-K?mSpOOCRYJT1Oz1``N8t0$+arJcFKQJ*k zXV9Cu8Nl}OwDI(C@o{$)PR*KAk;T(mNN1wGviX~dqAUvP)ySgyU8at7qsxt|UUATt ztS-Mk|J>Sy&@Q`%Caf@;MJKeNf zKI%%H@NEELE}~IHJE%Po*Wjbh_qCe5>L#uy#NlT+&X{f-+c3CF#@Vkg?v5rljY*ar zPGPr$7pd8uqi)n!M}`c0AIw3L|V=2`4U5>`q0W3Y_VLDgT4uQuuGxS zlDO3?S*>RQS=FWB;(WJH9U(fn(5qvL^4-F>$b&e`Ua7~GYP5^Fs)Qy-LmX$v4m`rD z(tDeYD8l3TM=Ay4Ln-!%4P_uA~Os7bA0SZ?d_1_Uie)SLC-zt z7wIzTs6&5?EQ5|4-c>&0(&*<(;+EK82Dm+w9J^QcxD2c%i}~sEZ%?6J3?^+JJoK_> zuN=Vn=jXnBNW8WRPH~v>H_~ZE3Ce42xogsmsPX#2k>JYYs-T?b3XHdw;ULT55M5;@|I??!(UPa zm8xbb`H>p40P&;Yq!=GU=ef~`cY!Jj`qe<}g%M>+p+Y)GHBskpn(Wkwuv~Uh;i!>Jk{Ex^d#&_9!%o zv5uPardoDe3QmVJ1Zm~Sx~O5L#|pJUjO~HG!J|HyW3BE{|;mEM^AWVpA$?`bFpkn*?a;(g!K!ZHQAC<+NG znrI~XPpD_S^GeJv7G?X`%l`$#LYPaficfB`@btg4vxhBlJeClT%p4#a_(kTx=fj*?&rb`sIS? zZd9_-WAcX|VShlw*Q-!s0*wI3f8{@iWTf6|NHDM*R4_1^|KvYWQ#&hr77a6FQAaCQ zF$a5BX9rtbGiR6omJt71`wvb`)3L!6{lkfnPbdT112C?0IHW~9(sNBLO~o|j(4Yi6 zb8T36kHw4?YdYuxI0>b^CQH()mXzmh=*U#{-k6B1(b}zv^ZnVPPC_|I7O!PNm;DL8 zgO9b0nDM%97;~ox3`zC&RHI3vZ7pB|cc(sq42|y8Zw37*;i4I)0J}%(aL5!OI z_Pk$rf3yJ|sn+5_&?Z5@y+RyJfD=CvN5B0`Wk_l+w|XOi;#?&w;`g)OoY4`@!6ab2 z!Z@;mz|dPP0|WPBPv9Gl`8D$0rdYETTDMi5&}*MIre4Q|M+8>~U>%)DN%vvk0Nq6% z#lHP(su)2vi@dV27syPy_0X4c-c z{JQv``v}m@BwP!VVh-Z-Lfy6Yg72^tuFI6DgrC+=VNoB7Rjx$75`A|x%pNlVhNqP` z+Sg)y4zX2j=VZc(r7#uj;I%*sj|*dBs~Iw+EOaBALuT8YWKg^ZPE}~C8RMtZMjP}z z!h{@TWRlxhqr0e96zM9(I%CiGQbn3cc{dALKkJgGu?~Gt4rFt7$RK0$wK=lasD}f{ zCFI^ln*kXUt9a!HTZ3$y1$L*!SlACEw!boTpMJtUbVogb8QIu59-n%HnmvPzgERIo z7h#!DG>>f8B*P`5oB!BMziqU(Xn>_C9FGobkiPB*3OZ@6{Casi&X3bopuilBdq+mn zGC+|#WOgi1R@gUp)>Ar8!*M~1Y8asZ!EK$$fDI(t+K-#QqbTV0IHqb=C_X8>f0t`$G5e$s;KRH3(!PLx_RovC# zza@b`YyRy1>XfPf*!>rQuc%^*-d2`z>dYnO#k1C#;*r>>tev%;V(u0#H)89lK+zvb zv{y`@5$=q!1?ENGY%)6n!Wu`d84z-4&yDV3FB&g~AG+}?+rMh^EWymJP-mE{c^&%;!)4&85G$1Pr_KGiHIf1n(=ZnqGWW_-Y z5H}h(M?VuYVb4y$+oxiwY^aTFuD^z?kH4e->rnUM8CD2GgMm3x{B5ZJW3>PKo7+Ez zI>SbBO`T|Hlk$p~N#AW&1!k>NuL4?gP`xAG6lj)NmGl^&{Tp;?rdP(muC^#L3>^P# zQdI{W2B5Q;m{A$Ma1haU9cwJt$8qLUxL@+Yt)$+FKjjR^O?_PK+;d~oO^*Zuu)=nD zU;*%BJcX%&YL<9scBrdsP}fT}Tr&5kU(b=pF6y$9R^-f(188B% zYvMxE3lSfKYDc2n;C9)PiI-vL$bBv&B=Rj-capv6a|x7>Nc*9v(5kIlYrx(aR?!72 zyxn=Yc;scU9x%J~Pb!?iUMc}Jj%i;5w(Oq+_bsW?S2H-ddOrpWPax(t^qfWEb%y=q zNf%to-gKJf)e4@O%czhzic5u5m_rT950mn>5OVo8ZhA zNXyi4Ae8SjlPj2c4BRY6@;8qa+H@v|h`{3(wg+|Vo81q0OGu$52N4n2!r=>in`kB_ zy)j-4gs-JYHOyRJz2D|9^4M<8`yFgBSKtMCFWx*?frFSnx z%-2UoJ88F32ZBDV08Cuv_lta)e61|HpTSDfjzx2K}`d-cDe~Rk;+* zaakD{^F~*)IPuRfltu+^-fb&_Buz!(M42{Mp?Tdj~Vb`PGlm#TGC-+7>ytyQV3u3EsA2#B_np*_^$Xn7Pg?|9Fzd@x% zp}*8#oRZSu^YiMBABv!xnL@kXsd*01)jKBjtPg z-gyZy#LE1F@$A-jTyfGTred{O83wv2zF)0!gx7l(NEPCU^g!Zwk?lH4tgnQx(XE%$ zdLo_w7_fqBdu$SFoC@@ViZ^{U4%nt!j!+z@-Y@k?)1=uGOhS--&k2hRUIIzEH;)7g zNa0+W{=D9cRhDmiH%noPKfThNYBlaArG4=pH2o0C`^bF9<%=NVtUBqODBa^A-8vM^ zOWPo^0g&4Jb=5^OnvtBB?D#QvtQCsUc+hh;b|M=ZcnB_ zM(yC`IK)W4lLZ;%GYX4DPN%dvo*XnySOBanDvFWe^czOnAF`7MVwC0Nl-22xU#XBL z2!82Hq(O)J)}rT}829qI;w7&taJ$cFB^-zV7(*g4(8%!XliASHgBjStEfNB|ETCFw zlvjUc%HRovfHzCWW&}1R07^Ry*XUVt_36Hz@QpT}a=n;KEK3HOP(|aV zPa^P#h=}|olgnSKn9x%+uM6)ebOPeO^L1$O%Yq)5>EE(WlU1fh(#}L^IzPMWsZ{+A z(2p}RoI?25R#>{@bUFTMMaUl=jN?CBq3&kJ>f&s|YV_wXpz%L-FpqzulUloU&kBMD zMDSoQ1>-L+ZLKQNR_j$;x7C%MV!JCzc7LuDYs!kC6(_MYZ*75WQWWf94d}PitbotV zT}7XRX(&{5IRreW-ttJjz8dMEK*C-)%i+%xje`{zIZL`$OjbrRjV5M}kE)=IrTCJ! zoxCi)^c(JWXT#+5ED2<~pTCV~87?E&Cfoj;L9(1+c=xj4@OK2alEW;mVEWxn*D&;x zfie~TQ-SRq-P+T4h9%eU$2M{%-y|yll-D`lI0Ow)#*#zCH-7VSYLHv8`cP(3s>a5$ z3(4X0Y~otE&3Nf&n$oUzJ8{|oPG%q$-oknnQ#*V6CW+TZ6jZ=OcI-TwEN7TJBANf( z$|5b_1fAq&n;lD57s~76je*%Zj>TiIQ%cO8!Aj7M)J0K_A!1nTd%uydfku256P8Wl z5TzyhczGWNT5?m4Ow=J)ZHYy9UVw(lH6XVIhGiLwx)5z~PU)M4GQ-upMk?G8(y*Ds zzxMBfH{~7+2MmnF@Bh&-|JgrxD>Dz5zdHDDwhxQDo7sY%PZFk7;zt1GJ%2JbE`Knt z70DKV-UQn6_*ocF+u*(9Nt+wmFA}%7`S2o~jp{&l5R~H(5{$sI0Pci|=B2R%8>CQP zUT+Ox;|NqfvHEpAjeE3Gw#RYW>_bL(Rsu z-5zR)Q+JI*tFwQ|B-9%VM|YU4qx=dg{Y^*^_Dgg#yd9-_Gl zSkxMi*w=2K_w&_j+&**1{qN5nr9L33rCfpF@Uli%p~wB@)k4*iC40A8U+aaax!5(j zRT0#Fk9p^uR3vmJ!4kUugoR&?mEECpST!!^6RSzJ=vGWt;9|zr>2#+KI_IZ8VK#s+ zi0f0us)(Q^w&Od93PM$-_B~JT^PGqv8x0$O@RgsR>OypFGP_@OzA)xc@7u z7eg?^hH}|WrB~?C2sCCbbS&^B;Y1_J=x#RvSUw8PzLzO4_uSjoyS!hG8_okVKjV3s z3K5=lIJ7!DB2b3z>Bw}=&I0T`W(n4U+p|srx^rT5IM%WJhRYT4S=g8*;}Ut+s>%jN zQ8>`f`fU}kDpGq9SM`>A?8N)ys}XFWdt}WQ+8ujc%#|(Fg(RWr33>uUj|riOs5Cv0 zFtK1^_@4_zhQ(ESzmyOyHR-AacLnYB%g#9^(3__yNQx(YV4t+d(wKSRF6(RvE6liQ zvG%>K<$4E{zo-4O)?)J}O1<>-3Uqu$In;_?5Bt(%27prVc-QyXo5S5OH@=x`F_Y9L z&dxbm*ZsL*4gLg9a-`OGj!XLtYm2YYj6Bvmd==9{wN%-Em6Sut*iK+YfJ__YajpB{ z;Bm7pk3ZRDCZ*#^tJ#x)iymf_#v~$!UPA)^?qA_@G<*jV?y?lD%Pav_b~@L%oDGc^ znE8-u`mfpf!$FFUw=j?|OzstLo$_2dT&#HEVf4urHtl7^)%GW7c)Whoa2k0G|46D# z*zUbGrJ6s0CVlS;9`($ox>x}c-`Xmz(co``L)8|i7eX3!+A zi-?o|0^I2J`*tJjVeoot$n!SZ(m2&W$E)%Eg49D@n9*IM7x_GAic=eWKhIjdu|iDm z!(t5d!d78q!(TpE z1%GYWh@v;$bn^I=h+yh+FxFVRi# zAHk*t<=GQufM&Q&b=2c#@2tl?VP{<>`M1py_|?}`N;RUm$6S+tQ+(3yd$(Z z)mU0mcQ}AncZ(bclq$$C#O(J3@MK38J%BWVZ9o#Qo9oUB;&@r+XXaQKsPY!)2O+O9 zGq+!*O^^j2_pIvnrcz5q59t`cr59>WY=6KB_eDgc3hI*YW+?k5| zcyVV$>2mDxF=OW`vaUnotnJ_K#wM;|U=PmMVLk?$6>8}3^qHoYo%z`fEY9U)g!lG0 zgPttW%w!5g-1fcbUKhd0kNSh3Sbg$@M_@YkxxLAFLfDsC{j)qKzV{XV|J#O{4DAz4=aN1e1(!Cs22$C=PWR!=oRv5C(8K~S6; z*DP+VYg@Ew(l;T)-Qot=^rv_29kZX#CfWO1sePb*Z%4|{-&u+4qu9@~+d@`d>!o=* z&uz41c^Fh&+vRBvEUiC|U*wO&7oHc(oe$5HagXT3`{Vnkl#1sZ4XCNZ!Rq#gL?8ad<5!qli4sTC33^16&&b1in_DB8Y_~u!Uia5NMpTR}@o` zsKAoGF1K07C8QUe4&v0DjUe7)cdl5!NE|c3#Lx<)9BQndV+{2r=%JyA_$s9?Re6pS;cbEFy0%WP+Xx#fS`#Vkv+CDc-@W^6@%*sY=iqvP@?8Io9yV zSkEt7LG~-tsIHke+oQ1n$VjOt=aMHheG=0COL$qBMS?CQFbWQm$39Jk5TnkQw}g`v`daIXj7*hM{QMSHqSgR&`FA; z;cXo6{U{Gt{lOY4F^1v@%fY2lrfZ1R5I%u2AHnivvhX_7U`_LzgiFG=6BZ1X*jRlv zD;FN>f>tXy{?!d@0e&6Sq<5sk%{s!%Dvzx9x@U?9X{C;5mQo=8MBhZvp=?NZ95Z;# z2yImv-aS~U7MFc(#N|VMcH#{LhPigidf(H22J|XZ$UARZ1FnkK0Tt{dzv7qaJ=xop zBZ@(a6c+`@t?V1|7)_v5p6wh}yjm__dEm_ir_44z?Hl{g8@1W9EObKNC4p)D@yMe% zD;#n8C3{J0M**osCs!~2m4^uHj=0<#xc)$wNf#p5Q3*e17Ux72z5^)ONxmuTS#y!Q zQSWrVlrerFvqXg~o{1adqiZMSr#x&Y4G z-o3V^HI|gSFe4t$HNMW@{LGat8*k^F-J6iTB#H{npJ=mD4?%$A(I6ye<*dud5edPp ze8IWtG_~DEG%Z&N@{h=o5YqCmxxI%Vw9^qu7<@Ji3QEp*GUh5I3o+Mwz4X1nt{M55}9HiMI_z{%y_gn@l zj{Fezy?EtUHkG`$nrxG2ulr6{GzM>V2A5vYa3zKcH;`g#?P7LM7X8a5d=C|BUdi{L zE+Z?9?mc0-3iJ)781>5=>OF4Ls2Ax$)JD*W&MmMvxXK5^?Z^%eQMz_RMu(qWcey*y zHbNz^nDl2h)u55;9Mq(w8#C}c%bjm63A=aEgjQlwcb*T?GRTfw4g!`R^=xck{k%P` zRfuv|qsNiw?+N(w0}5^peogCWLM)1Y z&$p5%Jp05Jc?3ZA^)V*@ovj(jVe&Y1Nuy0lo>uhx%7KjDNgd8{NK#4%_DJV3&O5b? zh?xXm)NsQl?tF!&==*o1VMNNL8@}V!jgf*5CdLZH(Tz)I$1H6dpV3IggG&o%O?<_)@SC%ytMg&Zi%e0MlWK13 z)|(9PoE(kuJulV;>ithRSjlM%@>Nq%3Zu}np*-KP2wr+ArTQ_Zd0*q=gs#06#+~b_ z(`L#Tcr$e)2Wc&3F92NM&3P;sj0dctuMxcRhoS2yL)J-y0KmCVU$efD1=K}{*}7PA zeqQ2uZnS&%;;fiwN*9{opy;LsNq7fD_p;^`CVu%bQ(on{L&PdjL)9OFDXaCn#gTW9 zH$H?;0nAKdeGL6-Oby~&<#ZLDgJbf@ZyYVxR{@avL_n<3HY64Mk3SEc4HWO7W&GJA zBnj`|fzeg@4$ewWuc9!?3Ie9kuNo+HIV?)6cqDX6WD#7{<;``72|cWcDxXN>iB-}O z#)HyQq-5)-Q0Q!_Q{R~zNyoLO6ht&pNoscY_a~eu6|^+*f3BpMDbBh!Qo@6hRE^D^ zMzrcyj6&Tovp8cxn7oZU2#tty)I0eAF%JGRHbHt~WlEjIz;t{! z-DUmsi_+hDys?eJ2q&ryM^w7hfh_zrY(Q!a=2(ze_KH*JS$TxvpNcOj#G2`;*%rkK zkTTU{D2%6a3MR7=;4jUM0|@+4)Nodra?U{wCWxv@7>3;xhWjxY<`vNa zK9&ixh{D;Tgo!epkb?3f{LKACUU7FrBU|VD;F4~t-{kyNbzIb~WU*_d)pqDDG~XTw z(BrL``AgUurA>8nCHD+H-FF=&qe8NFrkz9h_yZm7qa+-;s?&m6R%AjNb@9j-43qLL z-RB)+lOW=qmW7zTqu7Mx*;rd3r+-{~aS#xKC@8}R8j{fW%VDxGyb`uSD-m!e z*n!zpz6714u|zDOJun%JPcaduQX1TzOt9q7*@}_q}>7zptZWy|eXf0fm zQ^g8HcsXvnUI;?3ZjVq35D|Z3%C>>0wJIcO?b6A|os~X%wP?~iJph9f3YfTfk6RFI z0AA=Nc1i6@mX%ppzn`vNpG_Vmoft5W=`-k?jX5Y_;NFrR{RBBZkld-d*|Ssycw`FG zJTTJ73a+X7s%iSAuML^Tmx0&lUfu?7{^VXF$vJv^NNScE-*8An%qj@dtJY@0l3!Tc z%EFyZ#13biGrD}bc95g2$Hc{*L0G<$3Xz7EeM@Q@sa?^J*l^_Pir|gA+QA>7ev=SP zwG3)((4bhTd(AWn(?y)3Ee4Vz94c{#P~EgcaHK+u4hE=XUk&UEj>dJALvb3rEH~%- zt(nbG`VjmcE=KraF#Q9{_PZqYvk_$*izuU`+iNovX`johdKZT>O*@SjST2kFMm)dq zgL6zBE$U7lPhto9!|baBT#nLS5vr9MHI2|IFs2|0;~Kc2>@tsPnRWl%W^*!yS^mhT^0C0ah1Ze?lMeFrAUCBK8`Jx!kzIo#(dhS?l0 zQR~;44LSepkyf7aLz2BYwP_7h9o}kNj;->ec14<6Bl$sewE4T8oHKC)q6`a;PQ)&Q zt#E!V8S}9!V;5&7YwF@!Iri3@NDv~3I$M6DW8sQk zWNSY$#ngX_2PxWe&hiqlXy{jp1-x+Gu0j#0R$MFbsrfT&^MA+D`pA7mN#s~0$vgGE z!uBMy6n#9=8UTnhUVTY3xg}R9vHy*&)u>ln*!vn9>H@me=va0!E635hO<^OqEK|y8 z^%Gwt?N+xr?+V3< zDPJY8eKc_$t$i<^_FJQRiApvr?U4Pf{y1?>wh1PSaEr15JmpGMCF9buC+*JWE%rM# zH}<7T5r807mJey(1!CU2}SotmF)o0P2pKmq`t!q&pk z2+1f33rr=FA_?`~5`Q@fPO$i&PvjsA^(spjsk6Vz#w77q&5^qo+dGriuhlIG&01re z@gCNM_!l-OHkO4MS(;vhAC`TkdnSL}3?b(Gwbb7y!tI4|;|c~^1<_P^>u&62g^3j} z(Z9D9CD3Pa%o0;KkfxNVd%Y*SXJ6&cdgTWBqy_E7bxf&ygA8V^>wm)LA|aD{khHaZ zD-={U{RE$|VoLh}GsEngsA0`{wrN>jGUN63*=ez^DKCz2)K3Dx54CBaV%HO62+f=y z2u!xO%r8u^k@q2;DW3W@i$urEo@;bXUooSpr4{&%PIE4&1G*>T`0|3*NUGW_~67`)$to=W}tp#%blzykaC;psnK!GHPuH&N=p7yEni_OD84e=MQ@ zRSx&>5PuK1{TB$>|A6@aC+hZh*uUpz{(`0Ylc@P~W&dB(G=B&9dzRrZfG6bt0`Nai zHvApn@8;ZJ01ADU8sum5+Od=9vi)WJvbDj;|IqioUlJO&Bp5m3VYdGa#mDjSIwET6l>MQ*jxO>^UZ*LCg zL%ynfA)4@B;dCxaM#;6Nf`+;3RKDKqC88U0AosqmgHH_6BY2>2W@M)jju*Q^(!Zxc zxxWGDR+V;6_ewj0ijTO9W$9C9oAa+b_ z6&*5?Svte4bi@OadD)0i7+<}2ds3BK-I91`&_=*#R|`4lw@9lJD!q)xY~)mBSm`&l zdbB2++J4^=i{KVFj~`#Bdt19+%$O0|sucEc>FMNifz-@R%6M<3$Wjp-%5Z}CXJ2`Sen-HO41L^Htoa82+@yrTW z;c6rP8k_)Scp=9DtJuJ@#+kS_(UkmJ0Qozusz3k=5&%Gt2>>uX(rTc|rDX;8w6(AT z%XqliI$627{YCS?*SRd*26U#J=eP+wbw5AAPScd2@Thm1Vx!u&h4sXAA;K*qhV_eg zuTI?)rn&Aw+W<IXNG?hsB_2kx&hb+jC`~LcHX^e%eRzSUT4jplTXTFUB zCD<-HF0;$NiQ<J5D@}L@LVb#OcYKkL z`XR{99M$f9E%7llE$)@D<`FoBHiG3`LN!U!hG$THLnWzm_mv0&KQ%1Yn6V0CNMPYr z)9Eyzx1Jn&$d(kd=g!XuxpCT&5PpsIi=T4_>d}PZAII(VT@a5}nXW*d_qtWBx?;0~O{30k&jJmG@7idC`)F90rXf^(j@R#AHeA*Z4{GOn)7( zm5h6#9ZPC#YMtX$7|TmW;cAUVp=3Gd2Rc3)E#mKhl)jl#9|W7ICrPSPOWcPcHs^J* zzE#p7)+SyC>ZkRT=9+W`nc6<-7g6)ni4Q!VCuS|OK_qR&NBLb{? zWOU$3ViSs5{P6sayOVt~5c@78(d6Ltu+Nnn5AR3B18%=akj;%MBh9-?Q7|qnMiLvM21Zjzn-C&wtgCw56l16PK=)xwMNdSk~Fe9q#PlU z-(zjP(=k*hkR}Xto_*k6zOGZXRF3}H&Blvn2g%y|d;<$Nwso9hayFgKO^Uqe6glwUFfxif<<;w!S0ZI~++reaR)XCD|h_Dg7VxX*@kiXXI0qB zaZ-^;QB#M}lUh?2^~`%x7*89VdTWgY}uOqU8O4O%;JW^$@FKMIT&6S zZ>bOx#y=weGO9J}Z1T zRot_-Xq~XDiU<)Uj;V%OhYBGO1^MtOS6PWUgbsH<8i(};ou?$GcVAw#5^YvG>F&-X zcoi<1H?lX+tVBP)?cwb}8CdBo(S@2MN|`+1LFI%UHt?e1p~IHYUhuhP?&uCADy**b z6Vq$VXrQhJDF-5o9D!ADOoV-?XjI)tdkeR>BC^mXq zRsoBZKvFBKUrkf0j#KEqW9D1Y*(H(r%K;qd5PDC6n4lo15 zovlwQ@te+;3d^wFt%Svvk`txa&%?8ZoS4(+tkX%to{68GJ8?}Z&wx!KwEMEap>MMe zYz0TGiB@Qs`}fTfchKISEuo?x=Gu*DeNu6PQD+q$?SI^z-cJkg#;GvUcpQ^96j44* zBTFzm(@&*mA?por7|X>XGCZ8N{$37B3XiNggDEA z*yLlGc|*W0g7S<2_KW6eTxLr_UPe(G)@)%oP#y%wC zJf?~F1bbCmBK4$0R_@lvgca;QN*J8}J3Vk5gXt1CJ*#Rq2Gh4e!WJLGLAarTq z8tkMECL&x`a7u9ejMXD|!oUb8lun$lZX`qx z8Ph!!Z0zpW(Gd_}nf>cze2=8nYF)9CBOirSe4pb;4%m^VzG>x0}!B>O>rJm`3DHCVfV4_C_A~3-}5X6_H}m+gAYqgy1-tfI~qh+*@-qN&Y$O0B2=$(r* zORl4yhbn$ZxwK4oW&2R$h>P`yFYyD#W=o!f3LD)mUV?T(Xw89eWq6G~pMbJZhOp*< z666b^Ko5gdeZ(13q6>((Tqdl@xE!BQ-`N{uAeIhE4e?g$*(CyP&k=1wT*TGSH|tRr z@*k>%+8r9E25cgXq25;J3;m$pP7nDxhdaC0EBhr0EYt3H8+ei( z31zqz?GtIGr0yv5Dk=o}Ms25Fl8J$rQO>oq9uPqk8M-o=KFbmj93vrnX=8yW%4XD} zH5}u^$>!1Qk!h=9PbIxhWxM?G|vUge3- z$uLn6p7AZ-P%t@nBi5*v)kq*41hK1<4Nd3CQ?i^1hhWc>$-_gZm{SSvw;`z4g!PvO z;!|WTVbY@2El~YEcB`UGb6gJ`2E`O@yRzh;ERsVknaeOAr{ZstPFbuz@(S!J!rqGS zkNh$Nf6#k))!6yCdKCzi5U$~r>bnc|a-E%NKW%F}+1~{J{bu8MBHM`kxL^EwJca&C zNB#V--ukaz`}x16)bAcU05YM3!~^U^`-UsBsC-phI?a|A9BRz4KxswQ$7=$d8)^5pXDalQ^Q0zD zw3wy+kh(E61anY-*R5_dA(l|7x*CC^f>xiS+v{1+WOy9i7&=o@S{%#7XA;1^ zx4|z~W7h-?P_GMa<(~U*{5`Q10gE^~k4bI#hg|trVs$*Mz;190u-RjWW&W33G5fbF zwR5YPZB^@&0s^MjQy_KFZmfJD+^xU8DEkA8l0WhGYx*$;PufUpASjz_{p4uH|*JdR|)(QYT z{4_`hUlg|liPDHO3H@k15*D}diKe5tlV@xtm)~*&kYbdmsTwmx=@%!ud!l$y)jc7h zSTmvc`YZc$Z{p|8WAZ04$>Xe2?>JCtvlfso6yTqMlM{EZvxs>XNmvE({kU}WjT_>v znAgLrrHQdVe;`iVe;%3i_1aeiYMWYcguWw_&s+m|u)bQIlAg_;I58wXSU(I%#a_SP zPtO-+cu-wmae7dCDi#z2j#U2Y@H3gRAWg`c0BynPI|CN~Kvi`Vg1waMLZEhy%xYJj z={i)rhNdI(qK6TXv~9=6tRoE-sWMntc&i6}g|2xO2>3fIGM8DjHIGfNsqp_6kbkk_ zX=~->_M4Z#+yYMzs|5o?=hZ=?K)mD!Zsu5#x5l+ki#g_1p*zoj=q%Wf5s7+s~aQ;GFkrlI7oTjZV(fQVG>8 z<5KY&kz=l`+q8O&4VqTqtYMSmjn$&6GRQLA#>u`Vio!)cRj?ci&{{Aa^E5ZD%eU}l z_-a)zeDzJaxOUNoT#6(gpB(z#wuH1{N1Lg2nS(9kX!JwHGUzB0p^&nYp99L*uF!lp z_i$!(|Gwki$Lq+@`CjRKYv61&>uT;`I{GesY(1>;bYaR@=-jh5pqgyp`Ir--$7a+f zm4IW_$jdJ}i%*EoFJGQr9IuterR6>>_}?Dk$b~b3kkb%ZD`%rPC-Qw1-tR>+&?!8; z(MivZbRY%s?qZOxHc?Xf6|yb+)|@FR3gJL7mRBsld@Tsh4QF$|#xV9chQ_qF#}zQ~ z8@qpA#Gu7`7!p|4DNMi&o2GjsFf+ZD%G&m`NylzwrOEn3Nc9s+!O>%ytJ$lVjAH|4 z_={{>-?>GK25}_K(9T-K;ieBl3&mA+j=bjU?#uY<;u|Tk-BSxiF_Z!gD$)=voR3wrYgn zS~b~9nUZbtjlRKFXQ08anu^|P+Jtun;M>e4PZ=Jlpgniv7heH`$SNT>8`P|~tp*uR zP0aH=E-b;_T2tE3GZiK_@*u+$xV=58fJ$ziS6fEj}Dk|ZGckWyh#*`~Jv zI`PaSxtmt=3FoKC*4UCYx}k<5lz6Q^Iy7()<5Xb`Qkmu#WO7d}g2cuvSP2j{oJG*I z3V)D?0$c=36bGh_(pdg3nJ$XUUb1V;?U4R+9RXSZrSl_dnZ@aJa+tSDddZ^EY zmU_$vqdB-nb8ttlA(jg6@rit|wNl5A>maJ{*IK$G;^@1A_gy8vss?*wB?bBLE}4k0 znFJ{M^onA}F&~Q-0AX6h0`{xvjz6fBg&1^B7qITPh1MRPp5+>Ua>}z?%qhzrtZn3J zW;jXgY45(Ny!iFwbm8KDo4ows!KHxy?WtGZvYiTy7eRM;WxX|`rtO7{PMIdj(5Kb6V`LnE!I=d`NG9Scyg7C2K7TyoZ0B$|jFv>o7T%vi3 z723m>K4ivThVWb%Tjc00B)zK5d+q$G{)xmbeI?PMDfu`XkX5-3glC=xEW-ae@|HxR zSDF4wX-GBXj*#+uW&vV_%8kf*T7(iGvPAnQA1S#NeOayAqn2L8Qhn9UZA1ihR)J4; zS!|Up8SJvd$u!a8*K%0FWV&=2E*GCTHP4P(oRn#Ja5GR23F;H1C`pklK5jhr}+C2M=Zlw$cnAkfLk>h|-IUrg{zRD1_TUhUt4z*W7z+M1c zk{MAq2=Z1NtsKmXOtT4LC26)@Xom>g8OX}R_;6CKbK;g+xgppiWrmE~-_1WbDZqC7 zIw)b2j)<6V`S_;>JiO?o!Vg%5C7My>E(_9$o;I(|zv`KiqpL>=V6gn8Za8S`)ilAO zVa_x`Ja2t1YJ8*;*_Qde8V0JYSjBAo%x-M_%+ITxebK4H%EU>0XV2_IC;iacyumoE zXm&MqGRLZZ*s-}$Sf`J;_GAseZpjOd1^kz5^QlB_BfgSQ zsL?u64unS@T}S)X;#@U{n?Pne7V}}A#CgzFUeNc>pdHWdd>wttug3N0%}c|h0PO& zy2yT_9zPrA=RHfIT24L9is+905#U`cnDAyl;F<~-=SJ6s=RxV$cyl+k%%x}?vtv~V zDsK8-nTfTS;I$Kg8uGK7OgNfpUJZnx?Wh^q$K#GU$7AK64Mxck16kpsNk>SpB*C=0 z9haH?kVg76X*wyW$?ft>Ot&Om*$YAET$%X&W`5t%j8UW(makuV9I~wndY`v&f7$2M zln_68DvUJrvpR}eR|mL$9f#ND#mSSKhgjzCV%>UiDRw@y3<3MjLZvOI!f8GS{i=3z z&ZCaH70O(pkc^rQKX8AJdVhMmmfp7Bs}D&RaLbWRAAXIFV)&ehzg^v-zfECUv|nHc z)D#LUP|86Ts;bYo0B+cJG`8EUzZ5uM6+JxL5Ls%w6*#6dB;M5SF>~K&y0GbM`%XrF ze}2RVtgt~2{CdwwfkvSuI9ZKJ4#H{PHuja8Ao;f2$)godwYmx%kL<%dAv%)!aqTiL zw^9)LiL}xa6c=39l!f{DFbWCaH)1~wFnhEAD?qWrp8KGJNRD!dBAP*9ToJ>Nh7$Vz zQ%dG0Izx28z}!f^S90c%GZ|i|HVFql^uWjVEXjtKHm^{z-pwQyjXsvJ0Dj3EJJw!e zYEfdVI)qACu^?8WS-aIdB->J~~c%&N3hYfLC_|N?bJe#(Uj^wg=x86XSFLX0Fq) zdS9H$c-VaS3?jBL1%3iHAY+$hjkC`B<+nH&E2kWk{{HpQCj-goUNZ>ZWK1R{)TLG8 zr|{zsT9~*#m|@7iTl=;xpNl`oDlY|TTVYZi=n3$*R8>5)#&bp9lcA8EO>sjX1M~o_ z9Pnj`9$X=fQiHBfEbDd`1sVY)7Z8v59|E&1_)c7`5T`;rq6BOl*E{+$4(||l>O@oJ zFMyU~7@RxCB#_Y-u=|o%a5mDCP?G-JDo1DTXe*ANl^H%JLN-oQ$|5?3n;9UrP|bH( zTzA#t!O3?jGW%@b|msmjC(ZFsK!dC2bv)J+Na@uBhx_Jn7qIDF8s!?b`D>vN_Q-b&%}GcIl>~r1CtL!% z)O?qLvid!!VL$p6hUV$9mRh4AmCZ|&w*^5M zQdypIUbt9IkWKgQIdaEvtVJDyDF^E@?r8-Y6nXiWbw})#2v)F!PwJc$kRLlMEGK?o zK>zc#eu>$1au^AVpPEy<0e+v&j`hWt6GxUGFX@AKBS)o7Oj<`2GM`T&X@LbYuxl{OsFVlokC0WF_KC2jWTkx zYaC0L1bmodfzQ7P^pkPLH)5@@DZ1o2!0To1kHc8Mc7B}Z>u5ZzT~;R>hrUADWE!#V zP(w(amErZp^-Qxe?mV)!YC&#MH>nm4VR2f}pk<${FzJD2?k2YHI!Pxei)h?_2zXU0a+gf`u{Dr{{tWD&me!gFu#L@;{G$pU+VwAcrt(D m{plb4#v=v(4e!6Z2@qwJ$CncR@uC7cpy<)&MW_D9um1%y_`4VY diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-一次合格品仓库-0808154936.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-一次合格品仓库-0808154936.zip new file mode 100644 index 0000000000000000000000000000000000000000..f1ba3379a2c7310e615e36aef21d2a6675dc1543 GIT binary patch literal 9063 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 literal 0 HcmV?d00001 diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-包装记录-0520091356.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-包装记录-0520091356.zip deleted file mode 100644 index a1f8b64c706cbaa5934b8b0f13372f11335b2ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8381 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 KSug27?*0#gs1A+* diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-配料任务清单-0605182515.zip deleted file mode 100644 index d345dc2c7537b4e9d132a4f3847ec7993b114ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8821 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 + /// GP12质检记录表查询对象 + /// + public class WmGp12QualityStatisticsQueryDto : PagerInfo + { + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public string Team { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + } + + /// + /// GP12质检记录表输入输出对象 + /// + public class WmGp12QualityStatisticsDto + { + [Required(ErrorMessage = "id不能为空")] + public string Id { get; set; } + + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public int? RequireNumber { get; set; } + + public string Team { get; set; } + + public int? QualifiedNumber { get; set; } + + public decimal QualifiedRate { get; set; } + + public int? PaoguangTotal { get; set; } + + public int? DamoTotal { get; set; } + + public int? BaofeiTotal { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + + public bool IsReturnWorkpiece { get; set; } + + public int? Type { get; set; } + + public string Remark { get; set; } + + public int? PaintSuokong { get; set; } + + public int? PaintZhengkong { get; set; } + + public int? PaintShiguang { get; set; } + + public int? PaintSecha { get; set; } + + public int? PaintDianzi { get; set; } + + public int? PaintOther { get; set; } + + public int? DeviceShuiban { get; set; } + + public int? DeviceZandian { get; set; } + + public int? DeviceBianxing { get; set; } + + public int? DeviceYouzhu { get; set; } + + public int? DeviceTuoluo { get; set; } + + public int? DeviceZhuangshang { get; set; } + + public int? DeviceOther { get; set; } + + public int? BlankMaoci { get; set; } + + public int? BlankSuoyin { get; set; } + + public int? BlankCanshuang { get; set; } + + public int? BlankShaying { get; set; } + + public int? BlankZangdian { get; set; } + + public int? BlankDamo { get; set; } + + public int? ProgramLiuguang { get; set; } + + public int? ProgramSeqiqueqi { get; set; } + + public int? ProgramQingqiqueqi { get; set; } + + public int? ProgramJupi { get; set; } + + public int? ProgramOther { get; set; } + + public int? TeamTuoluocanshuang { get; set; } + + public int? TeamQingqiqikuai { get; set; } + + public int? TeamSeqiqikuai { get; set; } + + public int? TeamFahua { get; set; } + + public int? TeamLiangbang { get; set; } + + public int? TeamPenglou { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string CreatedBy { get; set; } + } +} diff --git a/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs new file mode 100644 index 00000000..26ce6970 --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs @@ -0,0 +1,59 @@ +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 一次合格品仓库查询对象 + /// + public class WmOneTimeInventoryQueryDto : PagerInfo { + public string BlankNum { get; set; } + + public string Partnumber { get; set; } + + public string Description { get; set; } + + public int? Type { get; set; } + + public int? Status { get; set; } + } + + /// + /// 一次合格品仓库输入输出对象 + /// + public class WmOneTimeInventoryDto + { + public string Id { get; set; } + + public string BlankNum { get; set; } + + public string Partnumber { get; set; } + + public string WorkOrder { get; set; } + + public string Color { get; set; } + + public string Specification { get; set; } + + public string Description { get; set; } + + public int? Quantity { get; set; } + + public int? MaxNum { get; set; } + + public int? MinNum { get; set; } + + public int? WarnNum { get; set; } + + public int? Type { get; set; } + + public int? Status { get; set; } + + public string Remark { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + } +} diff --git a/ZR.Model/MES/wms/Dto/WmOneTimeRecordDto.cs b/ZR.Model/MES/wms/Dto/WmOneTimeRecordDto.cs new file mode 100644 index 00000000..852ffdac --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmOneTimeRecordDto.cs @@ -0,0 +1,51 @@ +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 一次合格品仓库记录表查询对象 + /// + public class WmOneTimeRecordQueryDto : PagerInfo { + public string Id { get; set; } + public string FkInventoryId { get; set; } + public string Code { get; set; } + public string BlankNum { get; set; } + public string Partnumber { get; set; } + public string Remark { get; set; } + public int? ChangeType { get; set; } + public DateTime? StartActionTime { get; set; } + public DateTime? EndActionTime { get; set; } + } + + /// + /// 一次合格品仓库记录表输入输出对象 + /// + public class WmOneTimeRecordDto + { + public string Id { get; set; } + + public string FkInventoryId { get; set; } + + public string Code { get; set; } + + public string Partnumber { get; set; } + + public string BlankNum { get; set; } + + public int? ChangeType { get; set; } + + public int? ChangeQuantity { get; set; } + + public DateTime? ActionTime { get; set; } + + public int? Status { get; set; } + + public string Remark { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + } +} diff --git a/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs index 1c952dee..efdc811b 100644 --- a/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs +++ b/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs @@ -1,11 +1,9 @@ -using System.ComponentModel.DataAnnotations; - namespace ZR.Model.MES.wms.Dto { /// /// 工艺路线-抛光 库存表查询对象 /// - public class WmPolishInventoryQueryDto : PagerInfo + public class WmPolishInventoryQueryDto : PagerInfo { public string BlankNum { get; set; } @@ -16,7 +14,6 @@ namespace ZR.Model.MES.wms.Dto public int? Type { get; set; } public int? Status { get; set; } - } /// @@ -59,8 +56,5 @@ namespace ZR.Model.MES.wms.Dto public string UpdatedBy { get; set; } public DateTime? UpdatedTime { get; set; } - - - } -} \ No newline at end of file +} diff --git a/ZR.Model/MES/wms/Dto/WmPolishQualityStatisticsDto.cs b/ZR.Model/MES/wms/Dto/WmPolishQualityStatisticsDto.cs new file mode 100644 index 00000000..dfc1dcb3 --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmPolishQualityStatisticsDto.cs @@ -0,0 +1,136 @@ +using System.ComponentModel.DataAnnotations; + +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 抛光管理-质量统计查询对象 + /// + public class WmPolishQualityStatisticsQueryDto : PagerInfo + { + + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public string Team { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + } + + /// + /// 抛光管理-质量统计输入输出对象 + /// + public class WmPolishQualityStatisticsDto + { + public string Id { get; set; } + + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public string Color { get; set; } + + public string Specification { get; set; } + + public string Description { get; set; } + + public int? RequireNumber { get; set; } + + public string Team { get; set; } + + public int? QualifiedNumber { get; set; } + + public string QualifiedRateStr { get; set; } + public decimal QualifiedRate { get; set; } + + public int? PaoguangTotal { get; set; } + + public int? DamoTotal { get; set; } + + public int? BaofeiTotal { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + + public int? Type { get; set; } + + public string Remark { get; set; } + + public int? PaintSuokong { get; set; } + + public int? PaintZhengkong { get; set; } + + public int? PaintShiguang { get; set; } + + public int? PaintSecha { get; set; } + + public int? PaintDianzi { get; set; } + + public int? PaintOther { get; set; } + + public int? DeviceShuiban { get; set; } + + public int? DeviceZandian { get; set; } + + public int? DeviceBianxing { get; set; } + + public int? DeviceYouzhu { get; set; } + + public int? DeviceTuoluo { get; set; } + + public int? DeviceZhuangshang { get; set; } + + public int? DeviceOther { get; set; } + + public int? BlankMaoci { get; set; } + + public int? BlankSuoyin { get; set; } + + public int? BlankCanshuang { get; set; } + + public int? BlankShaying { get; set; } + + public int? BlankZangdian { get; set; } + + public int? BlankDamo { get; set; } + + public int? ProgramLiuguang { get; set; } + + public int? ProgramSeqiqueqi { get; set; } + + public int? ProgramQingqiqueqi { get; set; } + + public int? ProgramJupi { get; set; } + + public int? ProgramOther { get; set; } + + public int? TeamTuoluocanshuang { get; set; } + + public int? TeamQingqiqikuai { get; set; } + + public int? TeamSeqiqikuai { get; set; } + + public int? TeamFahua { get; set; } + + public int? TeamLiangbang { get; set; } + + public int? TeamPenglou { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string CreatedBy { get; set; } + + // 是否是返工件 + public bool IsReturnWorkpiece { get; set; } = false; + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/Dto/WmPolishWorkQualityStatisticsDto.cs b/ZR.Model/MES/wms/Dto/WmPolishWorkQualityStatisticsDto.cs new file mode 100644 index 00000000..ae17b9a4 --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmPolishWorkQualityStatisticsDto.cs @@ -0,0 +1,134 @@ +using System.ComponentModel.DataAnnotations; + +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 抛光管理-抛光操作记录 + /// + public class WmPolishWorkQualityStatisticsQueryDto : PagerInfo + { + + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public string Team { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + } + + /// + /// 抛光管理-质量统计输入输出对象 + /// + public class WmPolishWorkQualityStatisticsDto + { + public string Id { get; set; } + + public string WorkorderId { get; set; } + + public string Partnumber { get; set; } + + public string Color { get; set; } + + public string Specification { get; set; } + + public string Description { get; set; } + + public int? RequireNumber { get; set; } + + public string Team { get; set; } + + public int? QualifiedNumber { get; set; } + + public string QualifiedRateStr { get; set; } + public decimal QualifiedRate { get; set; } + + public int? DamoTotal { get; set; } + + public int? BaofeiTotal { get; set; } + + public DateTime? StartTime { get; set; } + + public DateTime? EndTime { get; set; } + + public int? Type { get; set; } + + public string Remark { get; set; } + + public int? PaintSuokong { get; set; } + + public int? PaintZhengkong { get; set; } + + public int? PaintShiguang { get; set; } + + public int? PaintSecha { get; set; } + + public int? PaintDianzi { get; set; } + + public int? PaintOther { get; set; } + + public int? DeviceShuiban { get; set; } + + public int? DeviceZandian { get; set; } + + public int? DeviceBianxing { get; set; } + + public int? DeviceYouzhu { get; set; } + + public int? DeviceTuoluo { get; set; } + + public int? DeviceZhuangshang { get; set; } + + public int? DeviceOther { get; set; } + + public int? BlankMaoci { get; set; } + + public int? BlankSuoyin { get; set; } + + public int? BlankCanshuang { get; set; } + + public int? BlankShaying { get; set; } + + public int? BlankZangdian { get; set; } + + public int? BlankDamo { get; set; } + + public int? ProgramLiuguang { get; set; } + + public int? ProgramSeqiqueqi { get; set; } + + public int? ProgramQingqiqueqi { get; set; } + + public int? ProgramJupi { get; set; } + + public int? ProgramOther { get; set; } + + public int? TeamTuoluocanshuang { get; set; } + + public int? TeamQingqiqikuai { get; set; } + + public int? TeamSeqiqikuai { get; set; } + + public int? TeamFahua { get; set; } + + public int? TeamLiangbang { get; set; } + + public int? TeamPenglou { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string CreatedBy { get; set; } + + // 是否是返工件 + public bool IsReturnWorkpiece { get; set; } = false; + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmGp12QualityStatistics.cs b/ZR.Model/MES/wms/WmGp12QualityStatistics.cs new file mode 100644 index 00000000..f4b3cba3 --- /dev/null +++ b/ZR.Model/MES/wms/WmGp12QualityStatistics.cs @@ -0,0 +1,301 @@ + +namespace ZR.Model.MES.wms +{ + /// + /// GP12质检记录表 + /// + [SugarTable("wm_gp12_quality_statistics")] + public class WmGp12QualityStatistics + { + /// + /// id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 工单号 + /// + [SugarColumn(ColumnName = "workorder_id")] + public string WorkorderId { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 投入数 + /// + [SugarColumn(ColumnName = "require_number")] + public int? RequireNumber { get; set; } + + /// + /// 班组 + /// + public string Team { get; set; } + + /// + /// 合格数 + /// + [SugarColumn(ColumnName = "qualified_number")] + public int? QualifiedNumber { get; set; } + + /// + /// 合格率 + /// + [SugarColumn(ColumnName = "qualified_rate")] + public decimal QualifiedRate { get; set; } + + /// + /// 抛光总数 + /// + [SugarColumn(ColumnName = "paoguang_total")] + public int? PaoguangTotal { get; set; } + + /// + /// 打磨总数 + /// + [SugarColumn(ColumnName = "damo_total")] + public int? DamoTotal { get; set; } + + /// + /// 报废总数 + /// + [SugarColumn(ColumnName = "baofei_total")] + public int? BaofeiTotal { get; set; } + + /// + /// 开始时间 + /// + [SugarColumn(ColumnName = "start_time")] + public DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + [SugarColumn(ColumnName = "end_time")] + public DateTime? EndTime { get; set; } + + /// + /// 是否是返工件 + /// + [SugarColumn(ColumnName = "is_return_workpiece")] + public bool IsReturnWorkpiece { get; set; } + + /// + /// 类别(0-默认 1-抛光 2-打磨 3-报废 4-合计) + /// + public int? Type { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 油漆-缩孔 + /// + [SugarColumn(ColumnName = "paint_suokong")] + public int? PaintSuokong { get; set; } + + /// + /// 油漆-针孔 + /// + [SugarColumn(ColumnName = "paint_zhengkong")] + public int? PaintZhengkong { get; set; } + + /// + /// 油漆-失光 + /// + [SugarColumn(ColumnName = "paint_shiguang")] + public int? PaintShiguang { get; set; } + + /// + /// 油漆-色差 + /// + [SugarColumn(ColumnName = "paint_secha")] + public int? PaintSecha { get; set; } + + /// + /// 油漆-点子 + /// + [SugarColumn(ColumnName = "paint_dianzi")] + public int? PaintDianzi { get; set; } + + /// + /// 油漆-其他 + /// + [SugarColumn(ColumnName = "paint_other")] + public int? PaintOther { get; set; } + + /// + /// 设备-水斑 + /// + [SugarColumn(ColumnName = "device_shuiban")] + public int? DeviceShuiban { get; set; } + + /// + /// 设备-脏点 + /// + [SugarColumn(ColumnName = "device_zandian")] + public int? DeviceZandian { get; set; } + + /// + /// 设备-变形 + /// + [SugarColumn(ColumnName = "device_bianxing")] + public int? DeviceBianxing { get; set; } + + /// + /// 设备-油珠 + /// + [SugarColumn(ColumnName = "device_youzhu")] + public int? DeviceYouzhu { get; set; } + + /// + /// 设备-脱落 + /// + [SugarColumn(ColumnName = "device_tuoluo")] + public int? DeviceTuoluo { get; set; } + + /// + /// 设备-撞伤 + /// + [SugarColumn(ColumnName = "device_zhuangshang")] + public int? DeviceZhuangshang { get; set; } + + /// + /// 设备-其他 + /// + [SugarColumn(ColumnName = "device_other")] + public int? DeviceOther { get; set; } + + /// + /// 毛坯-毛刺 + /// + [SugarColumn(ColumnName = "blank_maoci")] + public int? BlankMaoci { get; set; } + + /// + /// 毛坯-缩印 + /// + [SugarColumn(ColumnName = "blank_suoyin")] + public int? BlankSuoyin { get; set; } + + /// + /// 毛坯-擦伤 + /// + [SugarColumn(ColumnName = "blank_canshuang")] + public int? BlankCanshuang { get; set; } + + /// + /// 毛坯-砂印 + /// + [SugarColumn(ColumnName = "blank_shaying")] + public int? BlankShaying { get; set; } + + /// + /// 毛坯-脏点 + /// + [SugarColumn(ColumnName = "blank_zangdian")] + public int? BlankZangdian { get; set; } + + /// + /// 毛坯-打磨 + /// + [SugarColumn(ColumnName = "blank_damo")] + public int? BlankDamo { get; set; } + + /// + /// 程序-流挂 + /// + [SugarColumn(ColumnName = "program_liuguang")] + public int? ProgramLiuguang { get; set; } + + /// + /// 程序-色漆缺漆 + /// + [SugarColumn(ColumnName = "program_seqiqueqi")] + public int? ProgramSeqiqueqi { get; set; } + + /// + /// 程序-清漆缺漆 + /// + [SugarColumn(ColumnName = "program_qingqiqueqi")] + public int? ProgramQingqiqueqi { get; set; } + + /// + /// 程序-桔皮 + /// + [SugarColumn(ColumnName = "program_jupi")] + public int? ProgramJupi { get; set; } + + /// + /// 程序-其他 + /// + [SugarColumn(ColumnName = "program_other")] + public int? ProgramOther { get; set; } + + /// + /// 班组操作-脱落擦伤 + /// + [SugarColumn(ColumnName = "team_tuoluocanshuang")] + public int? TeamTuoluocanshuang { get; set; } + + /// + /// 班组操作-清漆漆块 + /// + [SugarColumn(ColumnName = "team_qingqiqikuai")] + public int? TeamQingqiqikuai { get; set; } + + /// + /// 班组操作-色漆漆块 + /// + [SugarColumn(ColumnName = "team_seqiqikuai")] + public int? TeamSeqiqikuai { get; set; } + + /// + /// 班组操作-发花 + /// + [SugarColumn(ColumnName = "team_fahua")] + public int? TeamFahua { get; set; } + + /// + /// 班组操作-亮斑 + /// + [SugarColumn(ColumnName = "team_liangbang")] + public int? TeamLiangbang { get; set; } + + /// + /// 班组操作-喷漏 + /// + [SugarColumn(ColumnName = "team_penglou")] + public int? TeamPenglou { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmOneTimeInventory.cs b/ZR.Model/MES/wms/WmOneTimeInventory.cs new file mode 100644 index 00000000..30908a20 --- /dev/null +++ b/ZR.Model/MES/wms/WmOneTimeInventory.cs @@ -0,0 +1,100 @@ +namespace ZR.Model.MES.wms +{ + /// + /// 一次合格品仓库 + /// + [SugarTable("wm_one_time_inventory")] + public class WmOneTimeInventory + { + /// + /// 主键 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 毛坯号 + /// + [SugarColumn(ColumnName = "blank_num")] + public string BlankNum { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 库存数量 + /// + public int? Quantity { get; set; } + + /// + /// 最大库存 + /// + [SugarColumn(ColumnName = "max_num")] + public int? MaxNum { get; set; } + + /// + /// 最小库存 + /// + [SugarColumn(ColumnName = "min_num")] + public int? MinNum { get; set; } + + /// + /// 预警库存 + /// + [SugarColumn(ColumnName = "warn_num")] + public int? WarnNum { get; set; } + + /// + /// 类别(1-正常 2-返工件) + /// + public int? Type { get; set; } + + /// + /// 状态(0-停用1-启用) + /// + public int? Status { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 操作时间 + /// + [SugarColumn(IsIgnore = true)] + public DateTime? ActionTime { get; set; } + + /// + /// 工单号 + /// + [SugarColumn(IsIgnore = true)] + public string WorkOrder { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + } +} diff --git a/ZR.Model/MES/wms/WmOneTimeRecord.cs b/ZR.Model/MES/wms/WmOneTimeRecord.cs new file mode 100644 index 00000000..b62e2e80 --- /dev/null +++ b/ZR.Model/MES/wms/WmOneTimeRecord.cs @@ -0,0 +1,91 @@ + +namespace ZR.Model.MES.wms +{ + /// + /// 一次合格品仓库记录表 + /// + [SugarTable("wm_one_time_record")] + public class WmOneTimeRecord + { + /// + /// 主键 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 库存主键 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_inventory_id")] + public string FkInventoryId { get; set; } + + /// + /// 关联记录字段(4-检验时使用 group by字段) + /// + public string Code { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 毛坯号 + /// + [SugarColumn(ColumnName = "blank_num")] + public string BlankNum { get; set; } + + /// + /// 变动类别 1-入库 2-出库 3-盘点 + /// + [SugarColumn(ColumnName = "change_type")] + public int? ChangeType { get; set; } + + /// + /// 变动数量 + /// + [SugarColumn(ColumnName = "change_quantity")] + public int? ChangeQuantity { get; set; } + + /// + /// 时间(操作时间) + /// + [SugarColumn(ColumnName = "action_time")] + public DateTime? ActionTime { get; set; } + + /// + /// 状态(暂定) + /// + public int? Status { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmPolishQualityStatistics.cs b/ZR.Model/MES/wms/WmPolishQualityStatistics.cs new file mode 100644 index 00000000..7156afca --- /dev/null +++ b/ZR.Model/MES/wms/WmPolishQualityStatistics.cs @@ -0,0 +1,301 @@ + +namespace ZR.Model.MES.wms +{ + /// + /// 抛光管理-质量统计 + /// + [SugarTable("wm_polish_quality_statistics")] + public class WmPolishQualityStatistics + { + /// + /// id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 工单号 + /// + [SugarColumn(ColumnName = "workorder_id")] + public string WorkorderId { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 抛光投入数 + /// + [SugarColumn(ColumnName = "require_number")] + public int? RequireNumber { get; set; } + + /// + /// 班组 + /// + public string Team { get; set; } + + /// + /// 合格数 + /// + [SugarColumn(ColumnName = "qualified_number")] + public int? QualifiedNumber { get; set; } + + /// + /// 合格率 + /// + [SugarColumn(ColumnName = "qualified_rate")] + public decimal QualifiedRate { get; set; } + + /// + /// 抛光总数 + /// + [SugarColumn(ColumnName = "paoguang_total")] + public int? PaoguangTotal { get; set; } + + /// + /// 打磨总数 + /// + [SugarColumn(ColumnName = "damo_total")] + public int? DamoTotal { get; set; } + + /// + /// 报废总数 + /// + [SugarColumn(ColumnName = "baofei_total")] + public int? BaofeiTotal { get; set; } + + /// + /// 开始时间 + /// + [SugarColumn(ColumnName = "start_time")] + public DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + [SugarColumn(ColumnName = "end_time")] + public DateTime? EndTime { get; set; } + + /// + /// 类别(0-默认 1-抛光 2-打磨 3-报废 4-合计) + /// + public int? Type { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 油漆-缩孔 + /// + [SugarColumn(ColumnName = "paint_suokong")] + public int? PaintSuokong { get; set; } + + /// + /// 油漆-针孔 + /// + [SugarColumn(ColumnName = "paint_zhengkong")] + public int? PaintZhengkong { get; set; } + + /// + /// 油漆-失光 + /// + [SugarColumn(ColumnName = "paint_shiguang")] + public int? PaintShiguang { get; set; } + + /// + /// 油漆-色差 + /// + [SugarColumn(ColumnName = "paint_secha")] + public int? PaintSecha { get; set; } + + /// + /// 油漆-点子 + /// + [SugarColumn(ColumnName = "paint_dianzi")] + public int? PaintDianzi { get; set; } + + /// + /// 油漆-其他 + /// + [SugarColumn(ColumnName = "paint_other")] + public int? PaintOther { get; set; } + + /// + /// 设备-水斑 + /// + [SugarColumn(ColumnName = "device_shuiban")] + public int? DeviceShuiban { get; set; } + + /// + /// 设备-脏点 + /// + [SugarColumn(ColumnName = "device_zandian")] + public int? DeviceZandian { get; set; } + + /// + /// 设备-变形 + /// + [SugarColumn(ColumnName = "device_bianxing")] + public int? DeviceBianxing { get; set; } + + /// + /// 设备-油珠 + /// + [SugarColumn(ColumnName = "device_youzhu")] + public int? DeviceYouzhu { get; set; } + + /// + /// 设备-脱落 + /// + [SugarColumn(ColumnName = "device_tuoluo")] + public int? DeviceTuoluo { get; set; } + + /// + /// 设备-撞伤 + /// + [SugarColumn(ColumnName = "device_zhuangshang")] + public int? DeviceZhuangshang { get; set; } + + /// + /// 设备-其他 + /// + [SugarColumn(ColumnName = "device_other")] + public int? DeviceOther { get; set; } + + /// + /// 毛坯-毛刺 + /// + [SugarColumn(ColumnName = "blank_maoci")] + public int? BlankMaoci { get; set; } + + /// + /// 毛坯-缩印 + /// + [SugarColumn(ColumnName = "blank_suoyin")] + public int? BlankSuoyin { get; set; } + + /// + /// 毛坯-擦伤 + /// + [SugarColumn(ColumnName = "blank_canshuang")] + public int? BlankCanshuang { get; set; } + + /// + /// 毛坯-砂印 + /// + [SugarColumn(ColumnName = "blank_shaying")] + public int? BlankShaying { get; set; } + + /// + /// 毛坯-脏点 + /// + [SugarColumn(ColumnName = "blank_zangdian")] + public int? BlankZangdian { get; set; } + + /// + /// 毛坯-打磨 + /// + [SugarColumn(ColumnName = "blank_damo")] + public int? BlankDamo { get; set; } + + /// + /// 程序-流挂 + /// + [SugarColumn(ColumnName = "program_liuguang")] + public int? ProgramLiuguang { get; set; } + + /// + /// 程序-色漆缺漆 + /// + [SugarColumn(ColumnName = "program_seqiqueqi")] + public int? ProgramSeqiqueqi { get; set; } + + /// + /// 程序-清漆缺漆 + /// + [SugarColumn(ColumnName = "program_qingqiqueqi")] + public int? ProgramQingqiqueqi { get; set; } + + /// + /// 程序-桔皮 + /// + [SugarColumn(ColumnName = "program_jupi")] + public int? ProgramJupi { get; set; } + + /// + /// 程序-其他 + /// + [SugarColumn(ColumnName = "program_other")] + public int? ProgramOther { get; set; } + + /// + /// 班组操作-脱落擦伤 + /// + [SugarColumn(ColumnName = "team_tuoluocanshuang")] + public int? TeamTuoluocanshuang { get; set; } + + /// + /// 班组操作-清漆漆块 + /// + [SugarColumn(ColumnName = "team_qingqiqikuai")] + public int? TeamQingqiqikuai { get; set; } + + /// + /// 班组操作-色漆漆块 + /// + [SugarColumn(ColumnName = "team_seqiqikuai")] + public int? TeamSeqiqikuai { get; set; } + + /// + /// 班组操作-发花 + /// + [SugarColumn(ColumnName = "team_fahua")] + public int? TeamFahua { get; set; } + + /// + /// 班组操作-亮斑 + /// + [SugarColumn(ColumnName = "team_liangbang")] + public int? TeamLiangbang { get; set; } + + /// + /// 班组操作-喷漏 + /// + [SugarColumn(ColumnName = "team_penglou")] + public int? TeamPenglou { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 是否是返工件 + /// + [SugarColumn(ColumnName = "is_return_workpiece")] + public bool IsReturnWorkpiece { get; set; } = false; + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmPolishWorkQualityStatistics.cs b/ZR.Model/MES/wms/WmPolishWorkQualityStatistics.cs new file mode 100644 index 00000000..aec1ccbc --- /dev/null +++ b/ZR.Model/MES/wms/WmPolishWorkQualityStatistics.cs @@ -0,0 +1,295 @@ + +namespace ZR.Model.MES.wms +{ + /// + /// 抛光管理-抛光操作记录 + /// + [SugarTable("wm_polish_work_quality_statistics")] + public class WmPolishWorkQualityStatistics + { + /// + /// id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 工单号 + /// + [SugarColumn(ColumnName = "workorder_id")] + public string WorkorderId { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 投入数 + /// + [SugarColumn(ColumnName = "require_number")] + public int? RequireNumber { get; set; } + + /// + /// 班组 + /// + public string Team { get; set; } + + /// + /// 合格数 + /// + [SugarColumn(ColumnName = "qualified_number")] + public int? QualifiedNumber { get; set; } + + /// + /// 合格率 + /// + [SugarColumn(ColumnName = "qualified_rate")] + public decimal QualifiedRate { get; set; } + + /// + /// 打磨总数 + /// + [SugarColumn(ColumnName = "damo_total")] + public int? DamoTotal { get; set; } + + /// + /// 报废总数 + /// + [SugarColumn(ColumnName = "baofei_total")] + public int? BaofeiTotal { get; set; } + + /// + /// 开始时间 + /// + [SugarColumn(ColumnName = "start_time")] + public DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + [SugarColumn(ColumnName = "end_time")] + public DateTime? EndTime { get; set; } + + /// + /// 类别(0-默认 1-抛光 2-打磨 3-报废 4-合计) + /// + public int? Type { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 油漆-缩孔 + /// + [SugarColumn(ColumnName = "paint_suokong")] + public int? PaintSuokong { get; set; } + + /// + /// 油漆-针孔 + /// + [SugarColumn(ColumnName = "paint_zhengkong")] + public int? PaintZhengkong { get; set; } + + /// + /// 油漆-失光 + /// + [SugarColumn(ColumnName = "paint_shiguang")] + public int? PaintShiguang { get; set; } + + /// + /// 油漆-色差 + /// + [SugarColumn(ColumnName = "paint_secha")] + public int? PaintSecha { get; set; } + + /// + /// 油漆-点子 + /// + [SugarColumn(ColumnName = "paint_dianzi")] + public int? PaintDianzi { get; set; } + + /// + /// 油漆-其他 + /// + [SugarColumn(ColumnName = "paint_other")] + public int? PaintOther { get; set; } + + /// + /// 设备-水斑 + /// + [SugarColumn(ColumnName = "device_shuiban")] + public int? DeviceShuiban { get; set; } + + /// + /// 设备-脏点 + /// + [SugarColumn(ColumnName = "device_zandian")] + public int? DeviceZandian { get; set; } + + /// + /// 设备-变形 + /// + [SugarColumn(ColumnName = "device_bianxing")] + public int? DeviceBianxing { get; set; } + + /// + /// 设备-油珠 + /// + [SugarColumn(ColumnName = "device_youzhu")] + public int? DeviceYouzhu { get; set; } + + /// + /// 设备-脱落 + /// + [SugarColumn(ColumnName = "device_tuoluo")] + public int? DeviceTuoluo { get; set; } + + /// + /// 设备-撞伤 + /// + [SugarColumn(ColumnName = "device_zhuangshang")] + public int? DeviceZhuangshang { get; set; } + + /// + /// 设备-其他 + /// + [SugarColumn(ColumnName = "device_other")] + public int? DeviceOther { get; set; } + + /// + /// 毛坯-毛刺 + /// + [SugarColumn(ColumnName = "blank_maoci")] + public int? BlankMaoci { get; set; } + + /// + /// 毛坯-缩印 + /// + [SugarColumn(ColumnName = "blank_suoyin")] + public int? BlankSuoyin { get; set; } + + /// + /// 毛坯-擦伤 + /// + [SugarColumn(ColumnName = "blank_canshuang")] + public int? BlankCanshuang { get; set; } + + /// + /// 毛坯-砂印 + /// + [SugarColumn(ColumnName = "blank_shaying")] + public int? BlankShaying { get; set; } + + /// + /// 毛坯-脏点 + /// + [SugarColumn(ColumnName = "blank_zangdian")] + public int? BlankZangdian { get; set; } + + /// + /// 毛坯-打磨 + /// + [SugarColumn(ColumnName = "blank_damo")] + public int? BlankDamo { get; set; } + + /// + /// 程序-流挂 + /// + [SugarColumn(ColumnName = "program_liuguang")] + public int? ProgramLiuguang { get; set; } + + /// + /// 程序-色漆缺漆 + /// + [SugarColumn(ColumnName = "program_seqiqueqi")] + public int? ProgramSeqiqueqi { get; set; } + + /// + /// 程序-清漆缺漆 + /// + [SugarColumn(ColumnName = "program_qingqiqueqi")] + public int? ProgramQingqiqueqi { get; set; } + + /// + /// 程序-桔皮 + /// + [SugarColumn(ColumnName = "program_jupi")] + public int? ProgramJupi { get; set; } + + /// + /// 程序-其他 + /// + [SugarColumn(ColumnName = "program_other")] + public int? ProgramOther { get; set; } + + /// + /// 班组操作-脱落擦伤 + /// + [SugarColumn(ColumnName = "team_tuoluocanshuang")] + public int? TeamTuoluocanshuang { get; set; } + + /// + /// 班组操作-清漆漆块 + /// + [SugarColumn(ColumnName = "team_qingqiqikuai")] + public int? TeamQingqiqikuai { get; set; } + + /// + /// 班组操作-色漆漆块 + /// + [SugarColumn(ColumnName = "team_seqiqikuai")] + public int? TeamSeqiqikuai { get; set; } + + /// + /// 班组操作-发花 + /// + [SugarColumn(ColumnName = "team_fahua")] + public int? TeamFahua { get; set; } + + /// + /// 班组操作-亮斑 + /// + [SugarColumn(ColumnName = "team_liangbang")] + public int? TeamLiangbang { get; set; } + + /// + /// 班组操作-喷漏 + /// + [SugarColumn(ColumnName = "team_penglou")] + public int? TeamPenglou { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 是否是返工件 + /// + [SugarColumn(ColumnName = "is_return_workpiece")] + public bool IsReturnWorkpiece { get; set; } = false; + + } +} \ No newline at end of file diff --git a/ZR.Service/mes/wms/IService/IWmGp12QualityStatisticsService.cs b/ZR.Service/mes/wms/IService/IWmGp12QualityStatisticsService.cs new file mode 100644 index 00000000..49c15050 --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmGp12QualityStatisticsService.cs @@ -0,0 +1,20 @@ +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// GP12质检记录表service接口 + /// + public interface IWmGp12QualityStatisticsService : IBaseService + { + PagedInfo GetList(WmGp12QualityStatisticsQueryDto parm); + + WmGp12QualityStatistics GetInfo(string Id); + + WmGp12QualityStatistics AddWmGp12QualityStatistics(WmGp12QualityStatistics parm); + + int UpdateWmGp12QualityStatistics(WmGp12QualityStatistics parm); + } +} diff --git a/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs b/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs new file mode 100644 index 00000000..a68096d7 --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs @@ -0,0 +1,42 @@ +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// 一次合格品仓库service接口 + /// + public interface IWmOneTimeInventoryService : IBaseService + { + PagedInfo GetList(WmOneTimeInventoryQueryDto parm); + + WmOneTimeInventory GetInfo(string Id); + + WmOneTimeInventory AddWmOneTimeInventory(WmOneTimeInventory parm); + + int UpdateWmOneTimeInventory(WmOneTimeInventory parm); + + /// + /// 零件入库 + /// + /// + /// + int DoWmOneTimeWarehousing(WmOneTimeInventory parm); + + /// + /// 零件出库 + /// + /// + /// + int DoWmOneTimeRetrieval(WmOneTimeInventory parm); + + /// + /// 零件盘点 + /// + /// + /// + int DoWmOneTimeStocktaking(WmOneTimeInventory parm); + + } +} diff --git a/ZR.Service/mes/wms/IService/IWmOneTimeRecordService.cs b/ZR.Service/mes/wms/IService/IWmOneTimeRecordService.cs new file mode 100644 index 00000000..0ed9a8d8 --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmOneTimeRecordService.cs @@ -0,0 +1,21 @@ +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// 一次合格品仓库记录表service接口 + /// + public interface IWmOneTimeRecordService : IBaseService + { + PagedInfo GetList(WmOneTimeRecordQueryDto parm); + + WmOneTimeRecord GetInfo(string Id); + + WmOneTimeRecord AddWmOneTimeRecord(WmOneTimeRecord parm); + + int UpdateWmOneTimeRecord(WmOneTimeRecord parm); + + } +} diff --git a/ZR.Service/mes/wms/IService/IWmPolishQualityStatisticsService.cs b/ZR.Service/mes/wms/IService/IWmPolishQualityStatisticsService.cs new file mode 100644 index 00000000..ec1ba09b --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmPolishQualityStatisticsService.cs @@ -0,0 +1,21 @@ +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// 抛光管理-质量统计service接口 + /// + public interface IWmPolishQualityStatisticsService : IBaseService + { + PagedInfo GetList(WmPolishQualityStatisticsQueryDto parm); + + WmPolishQualityStatistics GetInfo(string Id); + + WmPolishQualityStatistics AddWmPolishQualityStatistics(WmPolishQualityStatistics parm); + + int UpdateWmPolishQualityStatistics(WmPolishQualityStatistics parm); + + } +} diff --git a/ZR.Service/mes/wms/IService/IWmPolishWorkQualityStatisticsService.cs b/ZR.Service/mes/wms/IService/IWmPolishWorkQualityStatisticsService.cs new file mode 100644 index 00000000..482586a0 --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmPolishWorkQualityStatisticsService.cs @@ -0,0 +1,21 @@ +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// 抛光管理-抛光操作service接口 + /// + public interface IWmPolishWorkQualityStatisticsService : IBaseService + { + PagedInfo GetList(WmPolishWorkQualityStatisticsQueryDto parm); + + WmPolishWorkQualityStatistics GetInfo(string Id); + + WmPolishWorkQualityStatistics AddWmPolishWorkQualityStatistics(WmPolishWorkQualityStatistics parm); + + int UpdateWmPolishWorkQualityStatistics(WmPolishWorkQualityStatistics parm); + + } +} diff --git a/ZR.Service/mes/wms/WmGp12QualityStatisticsService.cs b/ZR.Service/mes/wms/WmGp12QualityStatisticsService.cs new file mode 100644 index 00000000..01e54519 --- /dev/null +++ b/ZR.Service/mes/wms/WmGp12QualityStatisticsService.cs @@ -0,0 +1,71 @@ +using System; +using Infrastructure.Attribute; +using SqlSugar; +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Repository; +using ZR.Service.mes.wms.IService; + +namespace ZR.Service.mes.wms +{ + /// + /// GP12质检记录表Service业务层处理 + /// + [AppService( + ServiceType = typeof(IWmGp12QualityStatisticsService), + ServiceLifetime = LifeTime.Transient + )] + public class WmGp12QualityStatisticsService + : BaseService, + IWmGp12QualityStatisticsService + { + /// + /// 查询GP12质检记录表列表 + /// + /// + /// + public PagedInfo GetList(WmGp12QualityStatisticsQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + /// + /// 获取详情 + /// + /// + /// + public WmGp12QualityStatistics GetInfo(string Id) + { + var response = Queryable().Where(x => x.Id == Id).First(); + + return response; + } + + /// + /// 添加GP12质检记录表 + /// + /// + /// + public WmGp12QualityStatistics AddWmGp12QualityStatistics(WmGp12QualityStatistics model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改GP12质检记录表 + /// + /// + /// + public int UpdateWmGp12QualityStatistics(WmGp12QualityStatistics model) + { + return Update(model, true); + } + } +} diff --git a/ZR.Service/mes/wms/WmOneTimeInventoryService.cs b/ZR.Service/mes/wms/WmOneTimeInventoryService.cs new file mode 100644 index 00000000..aa31d7cd --- /dev/null +++ b/ZR.Service/mes/wms/WmOneTimeInventoryService.cs @@ -0,0 +1,401 @@ +using System; +using Infrastructure.Attribute; +using SqlSugar; +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Repository; +using ZR.Service.mes.wms.IService; + +namespace ZR.Service.mes.wms +{ + /// + /// 一次合格品仓库Service业务层处理 + /// + [AppService( + ServiceType = typeof(IWmOneTimeInventoryService), + ServiceLifetime = LifeTime.Transient + )] + public class WmOneTimeInventoryService + : BaseService, + IWmOneTimeInventoryService + { + /// + /// 查询一次合格品仓库列表 + /// + /// + /// + public PagedInfo GetList(WmOneTimeInventoryQueryDto parm) + { + List partnumberByDescription = new(); + if (parm != null && !string.IsNullOrEmpty(parm.Description)) + { + partnumberByDescription = Context + .Queryable() + .Where(it => it.Description.Contains(parm.Description)) + .Select(it => it.Partnumber) + .ToList(); + } + var predicate = Expressionable + .Create() + .AndIF( + !string.IsNullOrEmpty(parm.Description), + it => partnumberByDescription.Contains(it.Partnumber) + ) + .AndIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber.Contains(parm.Partnumber) + ) + .AndIF(parm.Status > -1, it => it.Status == parm.Status) + .AndIF(parm.Type > 0, it => it.Type == parm.Type); + + var response = Queryable() + .Where(predicate.ToExpression()) + .OrderByDescending(it => it.UpdatedTime) + .ToPage(parm); + if (response.Result.Count > 0) + { + foreach (WmOneTimeInventoryDto item in response.Result) + { + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == item.Partnumber) + .Where(it => it.Type == 1) + .Where(it => it.Status == 1) + .First(); + if (material == null) + { + item.Description = "此零件号不在物料清单内!"; + continue; + } + item.Color = material.Color; + item.Specification = material.Specification; + item.Description = !string.IsNullOrEmpty(material.Description) + ? material.Description + : material.ProductName; + } + } + return response; + } + + /// + /// 获取详情 + /// + /// + /// + public WmOneTimeInventory GetInfo(string Id) + { + var response = Queryable().Where(x => x.Id == Id).First(); + + return response; + } + + /// + /// 添加一次合格品仓库 + /// + /// + /// + public WmOneTimeInventory AddWmOneTimeInventory(WmOneTimeInventory model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改一次合格品仓库 + /// + /// + /// + public int UpdateWmOneTimeInventory(WmOneTimeInventory model) + { + return Update(model, true); + } + + /// + /// 新增仓库操作记录 + /// + /// 抛光仓库主键 + /// 同批功能识别编号 + /// 零件号 + /// 类别 + /// 操作数字 + /// 备注 + /// 创建人 + /// + public int AddOneTimeRecord( + string fkInventoryId, + string code, + string partnumber, + int type, + int? changeQuantity, + DateTime? actionTime, + string remark, + string createdBy + ) + { + WmOneTimeRecord newOneTimeRecord = + new() + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + FkInventoryId = fkInventoryId, + Code = code, + Partnumber = partnumber, + BlankNum = "", + ChangeType = type, + ChangeQuantity = changeQuantity ?? 0, + ActionTime = actionTime, + Status = 1, + Remark = remark, + CreatedBy = createdBy, + CreatedTime = DateTime.Now.ToLocalTime(), + UpdatedBy = createdBy, + UpdatedTime = DateTime.Now.ToLocalTime(), + }; + + return Context.Insertable(newOneTimeRecord).ExecuteCommand(); + } + + public int DoWmOneTimeWarehousing(WmOneTimeInventory parm) + { + try + { + Context.Ado.BeginTran(); + // 零件号检查 + string partnumber = parm.Partnumber; + // 检查是否存在库中 + WmOneTimeInventory oneTimeInventory = Context + .Queryable() + .Where(it => it.Partnumber == partnumber) + .Where(it => it.Type == parm.Type) + .Where(it => it.Status == 1) + .First(); + if (oneTimeInventory == null) + { + // 为空则新增库 + WmOneTimeInventory newWmOneTimeInventory = + new() + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + BlankNum = "", + Partnumber = partnumber, + Type = parm.Type, + Quantity = parm.Quantity, + MaxNum = 0, + MinNum = 0, + WarnNum = 0, + Status = 1, + Remark = "系统自动创建库", + CreatedBy = parm.CreatedBy, + CreatedTime = DateTime.Now.ToLocalTime(), + UpdatedBy = parm.CreatedBy, + UpdatedTime = DateTime.Now.ToLocalTime(), + }; + WmOneTimeInventory addWmOneTimeInventory = Context + .Insertable(newWmOneTimeInventory) + .ExecuteReturnEntity(); + string code = !string.IsNullOrEmpty(parm.WorkOrder) + ? parm.WorkOrder + : SnowFlakeSingle.Instance.NextId().ToString(); + string remark = "初次创建仓库,新增入库数据 " + parm.Remark; + int successNum = AddOneTimeRecord( + addWmOneTimeInventory.Id, + code, + partnumber, + 1, + parm.Quantity, + parm.ActionTime, + remark, + parm.CreatedBy + ); + if (successNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("入库日志添加失败"); + } + } + else + { + oneTimeInventory.Quantity += parm.Quantity; + int updateNum = Context.Updateable(oneTimeInventory).ExecuteCommand(); + if (updateNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("修改一次合格仓库数据失败"); + } + // 已有则新增记录 + string code = !string.IsNullOrEmpty(parm.WorkOrder) + ? parm.WorkOrder + : SnowFlakeSingle.Instance.NextId().ToString(); + int successNum = AddOneTimeRecord( + oneTimeInventory.Id, + code, + partnumber, + 1, + parm.Quantity, + parm.ActionTime, + parm.Remark, + parm.CreatedBy + ); + if (successNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("入库日志添加失败"); + } + } + Context.Ado.CommitTran(); + return 1; + } + catch (Exception e) + { + Context.Ado.RollbackTran(); + throw new Exception(e.Message); + } + } + + public int DoWmOneTimeRetrieval(WmOneTimeInventory parm) + { + try + { + Context.Ado.BeginTran(); + // 零件号检查 + string partnumber = parm.Partnumber; + // 检查是否存在库中 + WmOneTimeInventory oneTimeInventory = Context + .Queryable() + .Where(it => it.Partnumber == partnumber) + .Where(it => it.Type == parm.Type) + .Where(it => it.Status == 1) + .First(); + if (oneTimeInventory == null) + { + // 为空则新增库 + WmOneTimeInventory newWmOneTimeInventory = + new() + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + BlankNum = "", + Partnumber = partnumber, + Type = parm.Type, + Quantity = parm.Quantity * -1, + MaxNum = 0, + MinNum = 0, + WarnNum = 0, + Status = 1, + Remark = "系统自动创建库", + CreatedBy = parm.CreatedBy, + CreatedTime = DateTime.Now.ToLocalTime(), + UpdatedBy = parm.CreatedBy, + UpdatedTime = DateTime.Now.ToLocalTime(), + }; + WmOneTimeInventory addWmOneTimeInventory = Context + .Insertable(newWmOneTimeInventory) + .ExecuteReturnEntity(); + string code = !string.IsNullOrEmpty(parm.WorkOrder) + ? parm.WorkOrder + : SnowFlakeSingle.Instance.NextId().ToString(); + string remark = "初次创建仓库,新增手动出库数据" + parm.Remark; + int successNum = AddOneTimeRecord( + addWmOneTimeInventory.Id, + code, + partnumber, + 2, + parm.Quantity, + parm.ActionTime, + remark, + parm.CreatedBy + ); + if (successNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("出库日志添加失败"); + } + } + else + { + oneTimeInventory.Quantity -= parm.Quantity; + int updateNum = Context.Updateable(oneTimeInventory).ExecuteCommand(); + if (updateNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("修改一次合格仓库零件数失败"); + } + // 已有则新增记录 + string code = !string.IsNullOrEmpty(parm.WorkOrder) + ? parm.WorkOrder + : SnowFlakeSingle.Instance.NextId().ToString(); + int successNum = AddOneTimeRecord( + oneTimeInventory.Id, + code, + partnumber, + 2, + parm.Quantity, + parm.ActionTime, + parm.Remark, + parm.CreatedBy + ); + if (successNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("出库日志添加失败"); + } + } + Context.Ado.CommitTran(); + return 1; + } + catch (Exception e) + { + Context.Ado.RollbackTran(); + throw new Exception(e.Message); + } + } + + public int DoWmOneTimeStocktaking(WmOneTimeInventory parm) + { + if (parm.Quantity < 0) + { + throw new Exception("修改的零件数小于0"); + } + try + { + Context.Ado.BeginTran(); + // 检查是否存在库中 + WmOneTimeInventory oneTImeInventory = Context + .Queryable() + .Where(it => it.Id == parm.Id) + .Where(it => it.Status == 1) + .First(); + if (oneTImeInventory == null) + { + Context.Ado.RollbackTran(); + throw new Exception("盘点记录不存在" + parm.Id); + } + Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); + // 已有则新增记录 + string code = !string.IsNullOrEmpty(parm.WorkOrder) + ? parm.WorkOrder + : SnowFlakeSingle.Instance.NextId().ToString(); + int successNum = AddOneTimeRecord( + parm.Id, + code, + parm.Partnumber, + 3, + parm.Quantity, + parm.ActionTime, + parm.Remark, + parm.CreatedBy + ); + if (successNum == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("盘点日志添加失败"); + } + Context.Ado.CommitTran(); + return successNum; + } + catch (Exception e) + { + Context.Ado.RollbackTran(); + throw new Exception(e.Message); + } + } + } +} diff --git a/ZR.Service/mes/wms/WmOneTimeRecordService.cs b/ZR.Service/mes/wms/WmOneTimeRecordService.cs new file mode 100644 index 00000000..6ee9566d --- /dev/null +++ b/ZR.Service/mes/wms/WmOneTimeRecordService.cs @@ -0,0 +1,109 @@ +using Infrastructure.Attribute; +using SqlSugar; +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Repository; +using ZR.Service.mes.wms.IService; + +namespace ZR.Service.mes.wms +{ + /// + /// 一次合格品仓库记录表Service业务层处理 + /// + [AppService( + ServiceType = typeof(IWmOneTimeRecordService), + ServiceLifetime = LifeTime.Transient + )] + public class WmOneTimeRecordService : BaseService, IWmOneTimeRecordService + { + /// + /// 查询一次合格品仓库记录表列表 + /// + /// + /// + public PagedInfo GetList(WmOneTimeRecordQueryDto parm) + { + var predicate = Expressionable + .Create() + .AndIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber.Contains(parm.Partnumber) + ) + .AndIF( + !string.IsNullOrEmpty(parm.BlankNum), + it => it.BlankNum.Contains(parm.BlankNum) + ) + .AndIF(!string.IsNullOrEmpty(parm.Remark), it => it.Remark.Contains(parm.Remark)) + .AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code)) + .AndIF( + !string.IsNullOrEmpty(parm.FkInventoryId), + it => it.FkInventoryId == parm.FkInventoryId + ) + .AndIF(!string.IsNullOrEmpty(parm.Id), it => it.Id == parm.Id) + .AndIF(parm.ChangeType > -1, it => it.ChangeType == parm.ChangeType) + .AndIF( + parm.StartActionTime != null, + it => parm.StartActionTime.Value.ToLocalTime() <= it.ActionTime + ) + .AndIF( + parm.EndActionTime != null, + it => parm.EndActionTime.Value.ToLocalTime() >= it.ActionTime + ); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + /// + /// 获取详情 + /// + /// + /// + public WmOneTimeRecord GetInfo(string Id) + { + var response = Queryable().Where(x => x.Id == Id).First(); + + return response; + } + + /// + /// 添加一次合格品仓库记录表 + /// + /// + /// + public WmOneTimeRecord AddWmOneTimeRecord(WmOneTimeRecord model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改一次合格品仓库记录表 + /// + /// + /// + public int UpdateWmOneTimeRecord(WmOneTimeRecord model) + { + //var response = Update(w => w.Id == model.Id, it => new WmOneTimeRecord() + //{ + // Code = model.Code, + // Partnumber = model.Partnumber, + // BlankNum = model.BlankNum, + // ChangeType = model.ChangeType, + // ChangeQuantity = model.ChangeQuantity, + // ActionTime = model.ActionTime, + // Status = model.Status, + // Remark = model.Remark, + // CreatedBy = model.CreatedBy, + // CreatedTime = model.CreatedTime, + // UpdatedBy = model.UpdatedBy, + // UpdatedTime = model.UpdatedTime, + //}); + //return response; + return Update(model, true); + } + } +} diff --git a/ZR.Service/mes/wms/WmPolishInventoryService.cs b/ZR.Service/mes/wms/WmPolishInventoryService.cs index 2bf09fb8..c388dcc9 100644 --- a/ZR.Service/mes/wms/WmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/WmPolishInventoryService.cs @@ -425,7 +425,11 @@ namespace ZR.Service.mes.wms .Where(it => it.Id == parm.Id) .Where(it => it.Status == 1) .First(); - polishInventory.Quantity = parm.Quantity; + if (polishInventory == null) + { + Context.Ado.RollbackTran(); + throw new Exception("盘点记录不存在" + parm.Id); + } Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); // 已有则新增记录 string code = SnowFlakeSingle.Instance.NextId().ToString(); diff --git a/ZR.Service/mes/wms/WmPolishQualityStatisticsService.cs b/ZR.Service/mes/wms/WmPolishQualityStatisticsService.cs new file mode 100644 index 00000000..0d591777 --- /dev/null +++ b/ZR.Service/mes/wms/WmPolishQualityStatisticsService.cs @@ -0,0 +1,240 @@ +using System; +using Infrastructure.Attribute; +using SqlSugar; +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Repository; +using ZR.Service.mes.wms.IService; + +namespace ZR.Service.mes.wms +{ + /// + /// 抛光管理-质量统计Service业务层处理 + /// + [AppService( + ServiceType = typeof(IWmPolishQualityStatisticsService), + ServiceLifetime = LifeTime.Transient + )] + public class WmPolishQualityStatisticsService + : BaseService, + IWmPolishQualityStatisticsService + { + /// + /// 查询抛光管理-质量统计列表 + /// + /// + /// + public PagedInfo GetList( + WmPolishQualityStatisticsQueryDto parm + ) + { + var predicate = Expressionable + .Create() + .AndIF( + !string.IsNullOrEmpty(parm.WorkorderId), + it => it.WorkorderId.Contains(parm.WorkorderId) + ) + .AndIF(!string.IsNullOrEmpty(parm.Team), it => it.Team.Contains(parm.Team)) + .AndIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber.Contains(parm.Partnumber) + ) + .AndIF( + !string.IsNullOrEmpty(parm.CreatedBy), + it => it.CreatedBy.Contains(parm.CreatedBy) + ) + .AndIF( + parm.StartTime != null, + it => it.StartTime >= parm.StartTime.Value.ToLocalTime() + ) + .AndIF( + parm.EndTime != null, + it => it.StartTime <= parm.StartTime.Value.ToLocalTime() + ); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + if (response.Result.Count > 0) + { + foreach (WmPolishQualityStatisticsDto item in response.Result) + { + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == item.Partnumber) + .Where(it => it.Type == 1) + .Where(it => it.Status == 1) + .First(); + if (material == null) + { + item.Description = "此零件号不在物料清单内!"; + continue; + } + item.QualifiedRateStr = Math.Ceiling(item.QualifiedRate).ToString() + "%"; + item.Color = material.Color; + item.Specification = material.Specification; + item.Description = !string.IsNullOrEmpty(material.Description) + ? material.Description + : material.ProductName; + } + } + return response; + } + + /// + /// 获取详情 + /// + /// + /// + public WmPolishQualityStatistics GetInfo(string Id) + { + var response = Queryable().Where(x => x.Id == Id).First(); + + return response; + } + + /// + /// 添加抛光管理-质量统计 + /// + /// + /// + public WmPolishQualityStatistics AddWmPolishQualityStatistics( + WmPolishQualityStatistics model + ) + { + try + { + Context.Ado.BeginTran(); + if ( + model.RequireNumber + != ( + model.QualifiedNumber + + model.PaoguangTotal + + model.DamoTotal + + model.BaofeiTotal + ) + ) + { + throw new Exception("投入数与合格数,抛光总数,打磨数,报废数不符合,请检查"); + } + model.Id = SnowFlakeSingle.instance.NextId().ToString(); + model.Type = 0; + decimal qualifiedRate = 0.0m; + if (model.QualifiedNumber != 0) + { + qualifiedRate = + (decimal)model.QualifiedNumber / model.RequireNumber * 100 ?? 0.0m; + } + model.QualifiedRate = qualifiedRate; + WmPolishInventoryService inventoryService = new(); + //TODO 合格品检查是否是门把手,是进入成品库,不是进入一次合格品库 + + //抛光品重新进入抛光仓库 + if (model.PaoguangTotal > 0) + { + WmPolishInventory wmPolishInventory = + new() + { + Partnumber = model.Partnumber, + Type = model.IsReturnWorkpiece ? 2 : 1, + Quantity = model.PaoguangTotal, + CreatedBy = model.CreatedBy, + ActionTime = DateTime.Now, + Remark = + "抛光质检记录入库:抛光数" + + model.PaoguangTotal + + "。记录时间" + + model.CreatedTime.Value.ToLocalTime().ToString() + }; + int res1 = inventoryService.DoWmPolishWarehousing(wmPolishInventory); + if (res1 == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("抛光质检记录入库失败"); + } + } + //合格品,报废,打磨品 扣除抛光仓库库存 + if ((model.BaofeiTotal + model.DamoTotal + model.QualifiedNumber) > 0) + { + WmPolishInventory wmPolishInventory = + new() + { + Partnumber = model.Partnumber, + Type = model.IsReturnWorkpiece ? 2 : 1, + Quantity = ( + model.BaofeiTotal + model.DamoTotal + model.QualifiedNumber + ), + CreatedBy = model.CreatedBy, + ActionTime = DateTime.Now, + Remark = + "抛光质检记录出库:合格数" + + model.QualifiedNumber + + "、打磨数" + + model.DamoTotal + + "、报废数" + + model.BaofeiTotal + + "。记录时间" + + model.CreatedTime.Value.ToLocalTime().ToString() + }; + int res1 = inventoryService.DoWmPolishRetrieval(wmPolishInventory); + if (res1 == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("抛光质检记录出库失败"); + } + } + + WmPolishQualityStatistics res3 = Context.Insertable(model).ExecuteReturnEntity(); + if (res3 == null) + { + Context.Ado.RollbackTran(); + throw new Exception("插入抛光质检记录失败"); + } + Context.Ado.CommitTran(); + return res3; + } + catch (Exception e) + { + Context.Ado.RollbackTran(); + throw new Exception(e.Message); + } + } + + /// + /// 修改抛光管理-质量统计 + /// + /// + /// + public int UpdateWmPolishQualityStatistics(WmPolishQualityStatistics model) + { + try + { + if ( + model.RequireNumber + != ( + model.QualifiedNumber + + model.PaoguangTotal + + model.DamoTotal + + model.BaofeiTotal + ) + ) + { + throw new Exception("投入数与合格数,抛光总数,打磨数,报废数不符合,请检查"); + } + decimal qualifiedRate = 0.0m; + if (model.QualifiedNumber != 0) + { + qualifiedRate = + (decimal)model.QualifiedNumber / model.RequireNumber * 100 ?? 0.0m; + } + model.QualifiedRate = qualifiedRate; + return Update(model, true); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + } +} diff --git a/ZR.Service/mes/wms/WmPolishWorkQualityStatisticsService.cs b/ZR.Service/mes/wms/WmPolishWorkQualityStatisticsService.cs new file mode 100644 index 00000000..aaca737e --- /dev/null +++ b/ZR.Service/mes/wms/WmPolishWorkQualityStatisticsService.cs @@ -0,0 +1,226 @@ +using System; +using Infrastructure.Attribute; +using SqlSugar; +using ZR.Model; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Repository; +using ZR.Service.mes.wms.IService; + +namespace ZR.Service.mes.wms +{ + /// + /// 抛光管理-抛光操作Service业务层处理 + /// + [AppService( + ServiceType = typeof(IWmPolishWorkQualityStatisticsService), + ServiceLifetime = LifeTime.Transient + )] + public class WmPolishWorkQualityStatisticsService + : BaseService, + IWmPolishWorkQualityStatisticsService + { + /// + /// 查询抛光管理-质量统计列表 + /// + /// + /// + public PagedInfo GetList( + WmPolishWorkQualityStatisticsQueryDto parm + ) + { + var predicate = Expressionable + .Create() + .AndIF( + !string.IsNullOrEmpty(parm.WorkorderId), + it => it.WorkorderId.Contains(parm.WorkorderId) + ) + .AndIF(!string.IsNullOrEmpty(parm.Team), it => it.Team.Contains(parm.Team)) + .AndIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber.Contains(parm.Partnumber) + ) + .AndIF( + !string.IsNullOrEmpty(parm.CreatedBy), + it => it.CreatedBy.Contains(parm.CreatedBy) + ) + .AndIF( + parm.StartTime != null, + it => it.StartTime >= parm.StartTime.Value.ToLocalTime() + ) + .AndIF( + parm.EndTime != null, + it => it.StartTime <= parm.StartTime.Value.ToLocalTime() + ); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + if (response.Result.Count > 0) + { + foreach (WmPolishWorkQualityStatisticsDto item in response.Result) + { + WmMaterial material = Context + .Queryable() + .Where(it => it.Partnumber == item.Partnumber) + .Where(it => it.Type == 1) + .Where(it => it.Status == 1) + .First(); + if (material == null) + { + item.Description = "此零件号不在物料清单内!"; + continue; + } + item.QualifiedRateStr = Math.Ceiling(item.QualifiedRate).ToString() + "%"; + item.Color = material.Color; + item.Specification = material.Specification; + item.Description = !string.IsNullOrEmpty(material.Description) + ? material.Description + : material.ProductName; + } + } + return response; + } + + /// + /// 获取详情 + /// + /// + /// + public WmPolishWorkQualityStatistics GetInfo(string Id) + { + var response = Queryable().Where(x => x.Id == Id).First(); + + return response; + } + + /// + /// 添加抛光管理-质量统计 + /// + /// + /// + public WmPolishWorkQualityStatistics AddWmPolishWorkQualityStatistics( + WmPolishWorkQualityStatistics model + ) + { + try + { + Context.Ado.BeginTran(); + if ( + model.RequireNumber + != (model.QualifiedNumber + model.DamoTotal + model.BaofeiTotal) + ) + { + throw new Exception("投入数与合格数,打磨数,报废数不符合,请检查"); + } + model.Id = SnowFlakeSingle.instance.NextId().ToString(); + model.Type = 0; + decimal qualifiedRate = 0.0m; + if (model.QualifiedNumber != 0) + { + qualifiedRate = + (decimal)model.QualifiedNumber / model.RequireNumber * 100 ?? 0.0m; + } + model.QualifiedRate = qualifiedRate; + WmPolishInventoryService inventoryService = new(); + //合格品重新进入抛光仓库 + if (model.QualifiedNumber > 0) + { + WmPolishInventory wmPolishInventory = + new() + { + Partnumber = model.Partnumber, + Type = model.IsReturnWorkpiece ? 2 : 1, + Quantity = model.QualifiedNumber, + CreatedBy = model.CreatedBy, + ActionTime = DateTime.Now, + Remark = + "抛光操作记录入库:合格数" + + model.QualifiedNumber + + "。记录时间" + + model.CreatedTime.Value.ToLocalTime().ToString() + }; + int res1 = inventoryService.DoWmPolishWarehousing(wmPolishInventory); + if (res1 == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("抛光操作记录入库失败"); + } + } + //报废,打磨品 扣除抛光仓库库存 + if ((model.BaofeiTotal + model.DamoTotal) > 0) + { + WmPolishInventory wmPolishInventory = + new() + { + Partnumber = model.Partnumber, + Type = model.IsReturnWorkpiece ? 2 : 1, + Quantity = (model.BaofeiTotal + model.DamoTotal), + CreatedBy = model.CreatedBy, + ActionTime = DateTime.Now, + Remark = + "抛光操作记录出库:打磨数" + + model.DamoTotal + + "、报废数" + + model.BaofeiTotal + + "。记录时间" + + model.CreatedTime.Value.ToLocalTime().ToString() + }; + int res1 = inventoryService.DoWmPolishRetrieval(wmPolishInventory); + if (res1 == 0) + { + Context.Ado.RollbackTran(); + throw new Exception("抛光操作记录出库失败"); + } + } + + WmPolishWorkQualityStatistics res3 = Context + .Insertable(model) + .ExecuteReturnEntity(); + if (res3 == null) + { + Context.Ado.RollbackTran(); + throw new Exception("插入抛光操作记录失败"); + } + Context.Ado.CommitTran(); + return res3; + } + catch (Exception e) + { + Context.Ado.RollbackTran(); + throw new Exception(e.Message); + } + } + + /// + /// 修改抛光管理-质量统计 + /// + /// + /// + public int UpdateWmPolishWorkQualityStatistics(WmPolishWorkQualityStatistics model) + { + try + { + if ( + model.RequireNumber + != (model.QualifiedNumber + model.DamoTotal + model.BaofeiTotal) + ) + { + throw new Exception("投入数与合格数,打磨数,报废数不符合,请检查"); + } + decimal qualifiedRate = 0.0m; + if (model.QualifiedNumber != 0) + { + qualifiedRate = + (decimal)model.QualifiedNumber / model.RequireNumber * 100 ?? 0.0m; + } + model.QualifiedRate = qualifiedRate; + return Update(model, true); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + } +}