diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs index 20341b48..a8b8640f 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeInventoryController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Mvc; +using MiniExcelLibs; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model.MES.wms; @@ -31,7 +32,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmonetimeinventory:list")] + // [ActionPermissionFilter(Permission = "business:wmonetimeinventory:list")] public IActionResult QueryWmOneTimeInventory([FromQuery] WmOneTimeInventoryQueryDto parm) { var response = _WmOneTimeInventoryService.GetList(parm); @@ -44,7 +45,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmonetimeinventory:query")] + // [ActionPermissionFilter(Permission = "business:wmonetimeinventory:query")] public IActionResult GetWmOneTimeInventory(string Id) { var response = _WmOneTimeInventoryService.GetInfo(Id); @@ -58,7 +59,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmonetimeinventory:add")] + // [ActionPermissionFilter(Permission = "business:wmonetimeinventory:add")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.INSERT)] public IActionResult AddWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) { @@ -74,7 +75,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmonetimeinventory:edit")] + // [ActionPermissionFilter(Permission = "business:wmonetimeinventory:edit")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmOneTimeInventory([FromBody] WmOneTimeInventoryDto parm) { @@ -89,7 +90,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmonetimeinventory:delete")] + // [ActionPermissionFilter(Permission = "business:wmonetimeinventory:delete")] [Log(Title = "一次合格品仓库", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmOneTimeInventory(string ids) { @@ -104,21 +105,7 @@ namespace ZR.Admin.WebApi.Controllers return ToResponse(response); } - /// - /// 一次合格品仓库数据导出 - /// - /// - /// - [HttpGet("export")] - [Log(Title = "一次合格品仓库数据导出", BusinessType = BusinessType.EXPORT)] - public IActionResult Export([FromQuery] WmOneTimeInventoryQueryDto parm) - { - parm.PageNum = 1; - parm.PageSize = 10000; - var list = _WmOneTimeInventoryService.GetExportList(parm); - var result = ExportExcelMini(list, "wm_one_time_inventory", "一次合格品仓库数据"); - return ExportExcel(result.Item2, result.Item1); - } + /// /// 一次合格品手动入库 @@ -191,5 +178,55 @@ namespace ZR.Admin.WebApi.Controllers var response = _WmOneTimeInventoryService.GetPartNumber(); return SUCCESS(response); } + + + /// + /// 抛光导入模板下载 + /// + /// + [HttpGet("importTemplate")] + [Log(Title = "一次合格模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)] + [AllowAnonymous] + public IActionResult ImportTemplateExcel() + { + string fileName = "一次合格仓库盘点模板"; + (string, string) result = DownloadImportTemplate(fileName); + return ExportExcel(result.Item2, result.Item1); + } + + /// + /// 导入 + /// + /// 使用IFromFile必须使用name属性否则获取不到文件 + /// + [HttpPost("importData")] + [Log(Title = "一次合格盘点导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)] + [AllowAnonymous] + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) + { + List importList = new(); + using (var stream = formFile.OpenReadStream()) + { + importList = stream.Query(startCell: "A1").ToList(); + } + + return SUCCESS(_WmOneTimeInventoryService.ImportExcel(importList)); + } + + /// + /// 一次合格品仓库数据导出 + /// + /// + /// + [HttpGet("export")] + [Log(Title = "一次合格品仓库数据导出", BusinessType = BusinessType.EXPORT)] + public IActionResult Export([FromQuery] WmOneTimeInventoryQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 10000; + var list = _WmOneTimeInventoryService.GetExportList(parm); + var result = ExportExcelMini(list, "wm_one_time_inventory", "一次合格品仓库数据"); + return ExportExcel(result.Item2, result.Item1); + } } } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs index c19a0d08..2ca1fdbd 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOneTimeRecordController.cs @@ -30,7 +30,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmonetimerecord:list")] + //[ActionPermissionFilter(Permission = "business:wmonetimerecord:list")] public IActionResult QueryWmOneTimeRecord([FromQuery] WmOneTimeRecordQueryDto parm) { var response = _WmOneTimeRecordService.GetList(parm); @@ -43,7 +43,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmonetimerecord:query")] + //[ActionPermissionFilter(Permission = "business:wmonetimerecord:query")] public IActionResult GetWmOneTimeRecord(string Id) { var response = _WmOneTimeRecordService.GetInfo(Id); @@ -57,7 +57,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmonetimerecord:add")] + //[ActionPermissionFilter(Permission = "business:wmonetimerecord:add")] [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.INSERT)] public IActionResult AddWmOneTimeRecord([FromBody] WmOneTimeRecordDto parm) { @@ -73,7 +73,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmonetimerecord:edit")] + //[ActionPermissionFilter(Permission = "business:wmonetimerecord:edit")] [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmOneTimeRecord([FromBody] WmOneTimeRecordDto parm) { @@ -88,7 +88,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmonetimerecord:delete")] + //[ActionPermissionFilter(Permission = "business:wmonetimerecord:delete")] [Log(Title = "一次合格品仓库记录表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmOneTimeRecord(string ids) { diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs index 64351edc..eddaf562 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs @@ -39,7 +39,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:list")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:list")] public IActionResult QueryWmPolishInventory([FromQuery] WmPolishInventoryQueryDto parm) { var response = _WmPolishInventoryService.GetList(parm); @@ -52,7 +52,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:query")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:query")] public IActionResult GetWmPolishInventory(string Id) { var response = _WmPolishInventoryService.GetInfo(Id); @@ -66,7 +66,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:add")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:add")] [Log(Title = "抛光 库存表", BusinessType = BusinessType.INSERT)] public IActionResult AddWmPolishInventory([FromBody] WmPolishInventoryDto parm) { @@ -82,7 +82,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] [Log(Title = "抛光 库存表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmPolishInventory([FromBody] WmPolishInventoryDto parm) { @@ -97,7 +97,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:delete")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:delete")] [Log(Title = "抛光 库存表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmPolishInventory(string ids) { @@ -112,22 +112,7 @@ namespace ZR.Admin.WebApi.Controllers return ToResponse(response); } - /// - /// 抛光仓库数据导出 - /// - /// - /// - [HttpGet("export")] - [Log(Title = "抛光仓库数据导出", BusinessType = BusinessType.EXPORT)] - public IActionResult Export([FromQuery] WmPolishInventoryQueryDto parm) - { - parm.PageNum = 1; - parm.PageSize = 10000; - var list = _WmPolishInventoryService.GetExportList(parm); - - var result = ExportExcelMini(list, "wm_polish_inventory", "抛光仓库数据"); - return ExportExcel(result.Item2, result.Item1); - } + /// /// 物料下拉菜单查看 @@ -152,7 +137,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost("doWmPolishWarehousing")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] [Log(Title = "抛光手动入库", BusinessType = BusinessType.UPDATE)] public IActionResult DoWmPolishWarehousing([FromBody] WmPolishInventoryDto parm) { @@ -173,7 +158,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost("doWmPolishRetrieval")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] [Log(Title = "抛光手动出库", BusinessType = BusinessType.UPDATE)] public IActionResult DoWmPolishRetrieval([FromBody] WmPolishInventoryDto parm) { @@ -194,7 +179,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost("doWmPolishStocktaking")] - [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishinventory:edit")] [Log(Title = "抛光仓库盘点", BusinessType = BusinessType.INSERT)] public IActionResult DoWmPolishStocktaking([FromBody] WmPolishInventoryDto parm) { @@ -255,5 +240,22 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(_WmPolishInventoryService.ImportExcel(importList)); } + + /// + /// 抛光仓库数据导出 + /// + /// + /// + [HttpGet("export")] + [Log(Title = "抛光仓库数据导出", BusinessType = BusinessType.EXPORT)] + public IActionResult Export([FromQuery] WmPolishInventoryQueryDto parm) + { + parm.PageNum = 1; + parm.PageSize = 10000; + var list = _WmPolishInventoryService.GetExportList(parm); + + var result = ExportExcelMini(list, "wm_polish_inventory", "抛光仓库数据"); + return ExportExcel(result.Item2, result.Item1); + } } } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs index 8cc0ecd3..f6cd734c 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishQualityStatisticsController.cs @@ -34,7 +34,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:list")] + // [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:list")] public IActionResult QueryWmPolishQualityStatistics( [FromQuery] WmPolishQualityStatisticsQueryDto parm ) @@ -66,7 +66,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:query")] + // [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:query")] public IActionResult GetWmPolishQualityStatistics(string Id) { var response = _WmPolishQualityStatisticsService.GetInfo(Id); @@ -80,7 +80,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:add")] + // [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:add")] [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.INSERT)] public IActionResult AddWmPolishQualityStatistics( [FromBody] WmPolishQualityStatisticsDto parm @@ -107,7 +107,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:edit")] [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmPolishQualityStatistics( [FromBody] WmPolishQualityStatisticsDto parm @@ -132,7 +132,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:delete")] + // [ActionPermissionFilter(Permission = "business:wmpolishqualitystatistics:delete")] [Log(Title = "抛光管理-质量统计", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmPolishQualityStatistics(string ids) { diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishRecordController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishRecordController.cs index 8e999764..d5a8941f 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishRecordController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishRecordController.cs @@ -31,7 +31,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmpolishrecord:list")] + // [ActionPermissionFilter(Permission = "business:wmpolishrecord:list")] public IActionResult QueryWmPolishRecord([FromQuery] WmPolishRecordQueryDto parm) { var response = _WmPolishRecordService.GetList(parm); @@ -44,7 +44,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmpolishrecord:query")] + // [ActionPermissionFilter(Permission = "business:wmpolishrecord:query")] public IActionResult GetWmPolishRecord(string Id) { var response = _WmPolishRecordService.GetInfo(Id); @@ -58,7 +58,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmpolishrecord:add")] + // [ActionPermissionFilter(Permission = "business:wmpolishrecord:add")] [Log(Title = "工艺路线-抛光 库存变动表", BusinessType = BusinessType.INSERT)] public IActionResult AddWmPolishRecord([FromBody] WmPolishRecordDto parm) { @@ -74,7 +74,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmpolishrecord:edit")] + // [ActionPermissionFilter(Permission = "business:wmpolishrecord:edit")] [Log(Title = "工艺路线-抛光 库存变动表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmPolishRecord([FromBody] WmPolishRecordDto parm) { @@ -89,7 +89,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmpolishrecord:delete")] + // [ActionPermissionFilter(Permission = "business:wmpolishrecord:delete")] [Log(Title = "工艺路线-抛光 库存变动表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmPolishRecord(string ids) { diff --git a/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs index 9b50798b..eeddbe78 100644 --- a/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs +++ b/ZR.Model/MES/wms/Dto/WmOneTimeInventoryDto.cs @@ -58,19 +58,19 @@ namespace ZR.Model.MES.wms.Dto public DateTime? UpdatedTime { get; set; } } - // 一次合格导出 + // 一次合格(产成品)导出 + [SugarTable("wm_one_time_record", "一次合格表")] public class WmOneTimeInventoryExportDto { + [SugarColumn(ColumnName = "partnumber")] public string 零件号 { get; set; } - public string 颜色 { get; set; } - public string 规格 { get; set; } - public string 描述 { get; set; } - + [SugarColumn(ColumnName = "quantity")] public int 盘点数 { get; set; } = 0; - public int 现有库存 { get; set; } = 0; + [SugarColumn(ColumnName = "CREATED_TIME")] + public DateTime? 盘点时间 { get; set; } } } diff --git a/ZR.Service/mes/qc/CommonFQCService.cs b/ZR.Service/mes/qc/CommonFQCService.cs index 04402b83..d792f1e9 100644 --- a/ZR.Service/mes/qc/CommonFQCService.cs +++ b/ZR.Service/mes/qc/CommonFQCService.cs @@ -1419,7 +1419,7 @@ namespace ZR.Service.mes.qc Context .Queryable() .Where(it => it.FinishedPartNumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.PaoguangTotal) ?? 0; productPolishTotal = productPolishTotal / 3; // 后道反抛 @@ -1427,21 +1427,21 @@ namespace ZR.Service.mes.qc Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.PaoguangTotal) ?? 0; // GP12 反抛 int gP12PolishTotal = Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.PaoguangTotal) ?? 0; // 抛光出库 int polishRequireTotal = Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.RequireNumber) ?? 0; int realStock = @@ -1515,7 +1515,7 @@ namespace ZR.Service.mes.qc .Queryable() .Where(it => !ParkingSensorPartNumberList.Contains(it.FinishedPartNumber)) .Where(it => it.FinishedPartNumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.QualifiedNumber) ?? 0; productQualifiedTotal = productQualifiedTotal / 3; @@ -1524,21 +1524,21 @@ namespace ZR.Service.mes.qc Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime.Value.ToLocalTime() >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.QualifiedNumber) ?? 0; // gp12投入 int gP12RequireTotal = Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime.Value.ToLocalTime() >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Sum(it => it.RequireNumber) ?? 0; // 后道直接出库 int afterPolishOutTotal = Context .Queryable() .Where(it => it.Partnumber == partNumber) - .Where(it => it.StartTime >= startTime.ToLocalTime()) + .Where(it => it.StartTime >= startTime) .Where(it => it.Type == 1) .Sum(it => it.RequireNumber) ?? 0; diff --git a/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs b/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs index 23bf427a..a1ead4d9 100644 --- a/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs +++ b/ZR.Service/mes/wms/IService/IWmOneTimeInventoryService.cs @@ -51,5 +51,12 @@ namespace ZR.Service.mes.wms.IService /// public int GetPartNumber(); + /// + /// 导入Excel + /// + /// + /// + public (string, object, object) ImportExcel(List excel); + } } diff --git a/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs b/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs index df2c1f1a..b1b741b5 100644 --- a/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs @@ -60,8 +60,8 @@ namespace ZR.Service.mes.wms.IService /// /// 导入Excel /// - /// + /// /// - public (string, object, object) ImportExcel(List users); + public (string, object, object) ImportExcel(List excel); } } diff --git a/ZR.Service/mes/wms/WmOneTimeInventoryService.cs b/ZR.Service/mes/wms/WmOneTimeInventoryService.cs index e76a07d2..6143c5db 100644 --- a/ZR.Service/mes/wms/WmOneTimeInventoryService.cs +++ b/ZR.Service/mes/wms/WmOneTimeInventoryService.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using Infrastructure.Attribute; +using Infrastructure.Extensions; using SqlSugar; using ZR.Model; using ZR.Model.MES.wms; @@ -53,7 +54,7 @@ namespace ZR.Service.mes.wms var response = Queryable() .Where(predicate.ToExpression()) - .OrderBy(it => it.Partnumber) + .OrderByDescending(it => it.Quantity) .ToPage(parm); if (response.Result.Count > 0) { @@ -450,6 +451,9 @@ namespace ZR.Service.mes.wms Dictionary stockNumbers = GetBatchOneTimeStockPartNum(partnumbers); Dictionary realNumbers = GetBatchOneTimeRealPartNum(partnumbers); + // 更新盘点时间 + DateTime dateTime = DateTime.Now.ToLocalTime(); + // 构建导出数据 List exportDto = materials .Select(it => @@ -466,6 +470,7 @@ namespace ZR.Service.mes.wms 描述 = it.Description, 盘点数 = stockNumber, 现有库存 = found2 ? realNumber : 0, + 盘点时间 = dateTime, }; }) .ToList(); @@ -502,12 +507,65 @@ namespace ZR.Service.mes.wms CommonFQCService commonFQCService = new(); // 获取报表数据 // 一次合格计算后库存 = 盘点库存 + 产线合格 + 抛光合格 - gp12投入 - 后道直接出库 - return commonFQCService.GetBatchOneTimePartRealStock(partnumbers, checkTime.Value.ToLocalTime()); + return commonFQCService.GetBatchOneTimePartRealStock(partnumbers, checkTime.Value); } catch (Exception e) { throw; } } + + /// + /// 导入数据 + /// + /// + /// + public (string, object, object) ImportExcel(List importList) + { + List wmOneTimeInventorylist = importList.Select(it => new WmOneTimeInventory + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + Type = 1, + Status = 1, + MaxNum = 0, + MinNum = 0, + WarnNum = 0, + CreatedBy = "页面导入", + Remark = "EXCEL 盘点导入", + CreatedTime = it.盘点时间 ?? DateTime.Now.ToLocalTime(), + Partnumber = it.零件号, + Quantity = it.盘点数 + }).ToList(); + var x = Context.Storageable(wmOneTimeInventorylist) + .SplitError(x => x.Item.Partnumber.IsEmpty(), "零件号不能为空") + .SplitError(x => x.Item.Quantity.IsEmpty(), "盘点数不能为空") + .SplitUpdate(it => it.Any()) // 数据库存在更新 + .SplitDelete(it => it.Item.Quantity == 0) //盘点数为0的不导入 + .SplitInsert(it => true) // 其余插入 + .WhereColumns(it => it.Partnumber)//如果不是主键可以这样实现(多字段it=>new{it.x1,it.x2}) + .ToStorage(); + + // 清空全部 + var result = x.AsInsertable.ExecuteCommand();//不存在则插入; + var result2 = x.AsUpdateable.IgnoreColumns(it => new { it.Id }).ExecuteCommand();//存在则修改; + var result3 = x.AsDeleteable.ExecuteCommand(); //盘点数为0的删除; + string msg = string.Format(" 插入{0} 更新{1} 错误数据{2} 不计算数据{3} 删除数据{4} 总共{5}", + x.InsertList.Count, + x.UpdateList.Count, + x.ErrorList.Count, + x.IgnoreList.Count, + x.DeleteList.Count, + x.TotalList.Count); + //输出统计 + Console.WriteLine(msg); + + //输出错误信息 + foreach (var item in x.ErrorList) + { + Console.WriteLine("零件异常:" + item.Item.Partnumber + " : " + item.StorageMessage); + } + + return (msg, x.ErrorList, x.IgnoreList); + } } } diff --git a/ZR.Service/mes/wms/WmPolishInventoryService.cs b/ZR.Service/mes/wms/WmPolishInventoryService.cs index fd8c0b91..99232d9d 100644 --- a/ZR.Service/mes/wms/WmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/WmPolishInventoryService.cs @@ -47,6 +47,7 @@ namespace ZR.Service.mes.wms .Queryable() .Where(it => it.Description.Contains(parm.Description)) .Select(it => it.Partnumber) + .ToList(); } var predicate = Expressionable @@ -64,7 +65,7 @@ namespace ZR.Service.mes.wms var response = Queryable() .Where(predicate.ToExpression()) - .OrderBy(it => it.Partnumber) + .OrderByDescending(it => it.Quantity) .ToPage(parm); if (response.Result.Count > 0) { @@ -583,7 +584,7 @@ namespace ZR.Service.mes.wms CommonFQCService commonFQCService = new(); // 获取报表数据 // 抛光计算后库存 = 盘点库存 + 产线抛光 + 后道反抛 + GP12反抛 - 抛光投入 - return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value.ToLocalTime()); + return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value); } catch (Exception e) {