diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs index 779e1dff..cb6c0fc4 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs @@ -23,6 +23,7 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms /// /// [HttpGet("common")] + [Log(Title = "退库", BusinessType = BusinessType.DELETE)] public IActionResult ExitwarehouseCommmon(string originalCode) { string msg = null; diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsActionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsActionController.cs index 4d2fb0b4..8cc664dd 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsActionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsActionController.cs @@ -80,7 +80,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost("doConsolidationGoods2")] - [Log(Title = "拼箱", BusinessType = BusinessType.UPDATE)] + [Log(Title = "拼箱2", BusinessType = BusinessType.UPDATE)] public IActionResult DoConsolidationGoods2([FromBody] WmGoodsConsolidationDto2 parm) { try diff --git a/ZR.Service/mes/qc/CommonFQCService.cs b/ZR.Service/mes/qc/CommonFQCService.cs index d4c9b6d7..243d6636 100644 --- a/ZR.Service/mes/qc/CommonFQCService.cs +++ b/ZR.Service/mes/qc/CommonFQCService.cs @@ -1,10 +1,10 @@ -using Infrastructure.Attribute; -using SqlSugar; -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Reflection; +using Infrastructure.Attribute; +using SqlSugar; using ZR.Model; using ZR.Model.MES.pro; using ZR.Model.MES.qc; @@ -16,8 +16,6 @@ using static System.Runtime.InteropServices.JavaScript.JSType; namespace ZR.Service.mes.qc { - - [AppService(ServiceType = typeof(ICommonFQCService), ServiceLifetime = LifeTime.Transient)] public class CommonFQCService : BaseService, ICommonFQCService { @@ -26,9 +24,10 @@ namespace ZR.Service.mes.qc try { // 检查对应工单是否存在 - ProWorkorder_v2 proWorkorder = Context.Queryable() - .Where(it => it.ClientWorkorder == workOrderId) - .First(); + ProWorkorder_v2 proWorkorder = Context + .Queryable() + .Where(it => it.ClientWorkorder == workOrderId) + .First(); if (proWorkorder == null) { return -1; @@ -40,6 +39,7 @@ namespace ZR.Service.mes.qc return -1; } } + /// /// 根据年周日生成当日全部工单列表 /// @@ -49,35 +49,46 @@ namespace ZR.Service.mes.qc /// 0-不读取status 1-读取status 2- 查询status为1,2时 /// -1-全部 0-初态 1-上线 2-包装完成 /// - public List GenerateWorkOrderListUtil(int year, int week, int date, int type = 0, int status = -1) + public List GenerateWorkOrderListUtil( + int year, + int week, + int date, + int type = 0, + int status = -1 + ) { try { - var predicate = Expressionable.Create() - .And(it => it.Year == year) - .And(it => it.Week == week) - .And(it => it.Date == date) - .And(it => it.Remark3 == "是") - .AndIF(type == 1, it => it.Status == status) - .AndIF(type == 2, it => it.Status == 1 || it.Status == 2) - .ToExpression(); - return Context.Queryable() - .Where(predicate) - .OrderBy(it => it.Sort) - .ToList(); + var predicate = Expressionable + .Create() + .And(it => it.Year == year) + .And(it => it.Week == week) + .And(it => it.Date == date) + .And(it => it.Remark3 == "是") + .AndIF(type == 1, it => it.Status == status) + .AndIF(type == 2, it => it.Status == 1 || it.Status == 2) + .ToExpression(); + return Context + .Queryable() + .Where(predicate) + .OrderBy(it => it.Sort) + .ToList(); } catch (Exception ex) { return null; } - } + public int CheckPackageWorkOrderInListStatus(string workOrderId) { try { // 检查对应工单是否存在 - ProWorkorder_v2 proWorkOrder = Context.Queryable().Where(it => it.ClientWorkorder == workOrderId).First(); + ProWorkorder_v2 proWorkOrder = Context + .Queryable() + .Where(it => it.ClientWorkorder == workOrderId) + .First(); if (proWorkOrder == null) { return -1; @@ -86,7 +97,12 @@ namespace ZR.Service.mes.qc int year = proWorkOrder.Year; int week = proWorkOrder.Week; int date = proWorkOrder.Date; - List proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2); + List proWorkorders = GenerateWorkOrderListUtil( + year, + week, + date, + 2 + ); if (proWorkorders == null) { return -1; @@ -97,7 +113,8 @@ namespace ZR.Service.mes.qc { if (workOrderId == proWorkorders[i].ClientWorkorder) { - index = i; break; + index = i; + break; } } if (index == 0) @@ -139,7 +156,10 @@ namespace ZR.Service.mes.qc // 未完成 int noFinishNum = 0; // 检查对应工单是否存在 - ProWorkorder_v2 proWorkOrder = Context.Queryable().Where(it => it.ClientWorkorder == workOrderId).First(); + ProWorkorder_v2 proWorkOrder = Context + .Queryable() + .Where(it => it.ClientWorkorder == workOrderId) + .First(); if (proWorkOrder == null) { return result; @@ -148,7 +168,12 @@ namespace ZR.Service.mes.qc int year = proWorkOrder.Year; int week = proWorkOrder.Week; int date = proWorkOrder.Date; - List proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2); + List proWorkorders = GenerateWorkOrderListUtil( + year, + week, + date, + 2 + ); if (proWorkorders == null) { return result; @@ -159,10 +184,17 @@ namespace ZR.Service.mes.qc { if (workOrderId == proWorkorders[i].ClientWorkorder) { - index = i + 1; break; + index = i + 1; + break; } } - List finishWorkorders = GenerateWorkOrderListUtil(year, week, date, 1, 2); + List finishWorkorders = GenerateWorkOrderListUtil( + year, + week, + date, + 1, + 2 + ); if (finishWorkorders == null) { return result; @@ -182,6 +214,7 @@ namespace ZR.Service.mes.qc return null; } } + /// /// 工单需要打印标签总数 /// @@ -192,14 +225,16 @@ namespace ZR.Service.mes.qc { try { - ProWorkorder_v2 workOrder = Context.Queryable().Where(it => it.ClientWorkorder == workOrderId).First(); - var res = Context.Queryable() + ProWorkorder_v2 workOrder = Context + .Queryable() + .Where(it => it.ClientWorkorder == workOrderId) + .First(); + var res = Context + .Queryable() .Where(it => it.FKWorkorderId.Equals(workOrderId)) .GroupBy(it => it.FKWorkorderId) - .Select(it => new - { - sum = SqlFunc.AggregateSum(it.Counter ?? 0) - }).First(); + .Select(it => new { sum = SqlFunc.AggregateSum(it.Counter ?? 0) }) + .First(); if (res == null) { return workOrder.PreviousNumber; @@ -214,6 +249,7 @@ namespace ZR.Service.mes.qc return 0; } } + /// /// 工单已打印标签数 /// @@ -223,36 +259,47 @@ namespace ZR.Service.mes.qc { try { - string[] Machines = new string[] {"0","1","2","3" }; - return Context.Queryable() - .Where(it => it.WorkOrderNum == workOrderId) - .Where(it => Machines.Contains(it.Machine)) - .OrderBy(it => it.Id) - .Count(); + string[] Machines = new string[] { "0", "1", "2", "3" }; + return Context + .Queryable() + .Where(it => it.WorkOrderNum == workOrderId) + .Where(it => Machines.Contains(it.Machine)) + .Where(it => it.Standby3 == null) + .OrderBy(it => it.Id) + .Count(); } catch (Exception ex) { return 0; } } + public QcCommonFqcBoardDto GetWorkOrderBoardData(string workOrderId) { try { // 检查对应工单是否存在 - ProWorkorder_v2 proWorkOrder = Context.Queryable().Where(it => it.ClientWorkorder == workOrderId).First(); + ProWorkorder_v2 proWorkOrder = Context + .Queryable() + .Where(it => it.ClientWorkorder == workOrderId) + .First(); if (proWorkOrder == null) { return null; } - // + // QcCommonFqcBoardDto boardData = new QcCommonFqcBoardDto(); boardData.WorkOrderId = workOrderId; // 提取工单年周日,组成数组 int year = proWorkOrder.Year; int week = proWorkOrder.Week; int date = proWorkOrder.Date; - List proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2); + List proWorkorders = GenerateWorkOrderListUtil( + year, + week, + date, + 2 + ); if (proWorkorders == null) { return null; @@ -263,27 +310,44 @@ namespace ZR.Service.mes.qc { if (workOrderId == proWorkorders[i].ClientWorkorder) { - boardData.WorkOrderIndex = i + 1; break; + boardData.WorkOrderIndex = i + 1; + break; } } boardData.WorkOrderPackageCount = GetWorkOrderNeedPackingTotal(workOrderId); boardData.WorkOrderFinishPackageNum = GetWorkOrderPackingrecordCount(workOrderId); - boardData.WorkOrderNotFinishPackageNum = boardData.WorkOrderPackageCount - boardData.WorkOrderFinishPackageNum; + boardData.WorkOrderNotFinishPackageNum = + boardData.WorkOrderPackageCount - boardData.WorkOrderFinishPackageNum; // 如果不是第一个工单,找到上一个工单号 if (boardData.WorkOrderIndex > 1) { - boardData.LastWorkOrderId = proWorkorders[(boardData.WorkOrderIndex - 2) ?? 0].ClientWorkorder; - boardData.LastWorkOrderPackageCount = GetWorkOrderNeedPackingTotal(boardData.LastWorkOrderId); - boardData.LastWorkOrderFinishPackageNum = GetWorkOrderPackingrecordCount(boardData.LastWorkOrderId); - boardData.LastWorkOrderNotFinishPackageNum = boardData.LastWorkOrderPackageCount - boardData.LastWorkOrderFinishPackageNum; + boardData.LastWorkOrderId = proWorkorders[ + (boardData.WorkOrderIndex - 2) ?? 0 + ].ClientWorkorder; + boardData.LastWorkOrderPackageCount = GetWorkOrderNeedPackingTotal( + boardData.LastWorkOrderId + ); + boardData.LastWorkOrderFinishPackageNum = GetWorkOrderPackingrecordCount( + boardData.LastWorkOrderId + ); + boardData.LastWorkOrderNotFinishPackageNum = + boardData.LastWorkOrderPackageCount + - boardData.LastWorkOrderFinishPackageNum; } - List finishWorkorders = GenerateWorkOrderListUtil(year, week, date, 1, 2); + List finishWorkorders = GenerateWorkOrderListUtil( + year, + week, + date, + 1, + 2 + ); if (finishWorkorders == null) { return null; } boardData.WorkOrderFinishNum = finishWorkorders.Count; - boardData.WorkOrderNotFinishNum = boardData.WorkOrderDayListCount - boardData.WorkOrderFinishNum; + boardData.WorkOrderNotFinishNum = + boardData.WorkOrderDayListCount - boardData.WorkOrderFinishNum; boardData.UpdatedTime = DateTime.Now; return boardData; } @@ -293,7 +357,9 @@ namespace ZR.Service.mes.qc } } - public PagedInfo GetWorkOrderFqcData(QcCommonFqcWorkerOrderDataQuery query) + public PagedInfo GetWorkOrderFqcData( + QcCommonFqcWorkerOrderDataQuery query + ) { try { @@ -306,7 +372,11 @@ namespace ZR.Service.mes.qc DateTime dateTime = query.StartTime ?? DateTime.Now; GregorianCalendar gregorianCalendar = new GregorianCalendar(); year = gregorianCalendar.GetYear(dateTime); - week = gregorianCalendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); + week = gregorianCalendar.GetWeekOfYear( + dateTime, + CalendarWeekRule.FirstDay, + DayOfWeek.Monday + ); date = (int)gregorianCalendar.GetDayOfWeek(dateTime); if (date == 0) { @@ -319,33 +389,49 @@ namespace ZR.Service.mes.qc { isCheckData = false; } - var predicate = Expressionable.Create() - .AndIF(isCheckData, it => it.Year == year) - .AndIF(isCheckData, it => it.Week == week) - .AndIF(isCheckData, it => it.Date == date) - .And(it => it.Remark3 == "是") - .AndIF(query.Status > -1, it => it.Status == query.Status) - .AndIF(!string.IsNullOrEmpty(query.WorkOrderId), it => it.ClientWorkorder.Contains(query.WorkOrderId)) - .AndIF(!string.IsNullOrEmpty(query.Partnumber), it => it.FinishedPartNumber.Contains(query.Partnumber)) - .AndIF(!string.IsNullOrEmpty(query.Description), it => it.ProductDescription.Contains(query.Description) || it.Colour.Contains(query.Description) || - it.Specifications.Contains(query.Description)) - .ToExpression(); - List orderList = Context.Queryable() - .Where(predicate) - .OrderBy(it => it.Sort) - .ToList(); + var predicate = Expressionable + .Create() + .AndIF(isCheckData, it => it.Year == year) + .AndIF(isCheckData, it => it.Week == week) + .AndIF(isCheckData, it => it.Date == date) + .And(it => it.Remark3 == "是") + .AndIF(query.Status > -1, it => it.Status == query.Status) + .AndIF( + !string.IsNullOrEmpty(query.WorkOrderId), + it => it.ClientWorkorder.Contains(query.WorkOrderId) + ) + .AndIF( + !string.IsNullOrEmpty(query.Partnumber), + it => it.FinishedPartNumber.Contains(query.Partnumber) + ) + .AndIF( + !string.IsNullOrEmpty(query.Description), + it => + it.ProductDescription.Contains(query.Description) + || it.Colour.Contains(query.Description) + || it.Specifications.Contains(query.Description) + ) + .ToExpression(); + List orderList = Context + .Queryable() + .Where(predicate) + .OrderBy(it => it.Sort) + .ToList(); //TODO 分页暂不实现 //转换数据 - PagedInfo resultPage = new PagedInfo(); - List resultList = new List(); + PagedInfo resultPage = + new PagedInfo(); + List resultList = + new List(); foreach (var item in orderList) { if (item != null) { string Remark = ""; - WmMaterial material = Context.Queryable() + WmMaterial material = Context + .Queryable() .Where(it => it.Partnumber == item.FinishedPartNumber) .First(); string Description = ""; @@ -362,7 +448,8 @@ namespace ZR.Service.mes.qc Remark += "物料不在清单内 "; } // 首检报表数据拉取 - QcQualityStatisticsFirst QcFirstData = Context.Queryable() + QcQualityStatisticsFirst QcFirstData = Context + .Queryable() .Where(it => it.WorkorderId == item.ClientWorkorder) .First(); string Team = ""; @@ -378,32 +465,38 @@ namespace ZR.Service.mes.qc Remark += "工单开始时间为空 "; } } - int WorkOrderPackageCount = GetWorkOrderNeedPackingTotal(item.ClientWorkorder); - int WorkOrderFinishPackageNum = GetWorkOrderPackingrecordCount(item.ClientWorkorder); - int WorkOrderNotFinishPackageNum = WorkOrderPackageCount - WorkOrderFinishPackageNum; + int WorkOrderPackageCount = GetWorkOrderNeedPackingTotal( + item.ClientWorkorder + ); + int WorkOrderFinishPackageNum = GetWorkOrderPackingrecordCount( + item.ClientWorkorder + ); + int WorkOrderNotFinishPackageNum = + WorkOrderPackageCount - WorkOrderFinishPackageNum; if (WorkOrderNotFinishPackageNum < 0) { WorkOrderNotFinishPackageNum = 0; } bool IsFinish = WorkOrderNotFinishPackageNum == 0; - QcCommonFqcWorkerOrderDataDto newItem = new() - { - WorkOrderId = item.ClientWorkorder, - Partnumber = item.FinishedPartNumber, - Description = Description, - Color = Color, - Specification = Specification, - Team = Team, - StartTime = startTime, - EndTime = endTime, - Status = item.Status, - Remark = Remark, - IsFinish = IsFinish, - WorkOrderPackageCount = WorkOrderPackageCount, - WorkOrderFinishPackageNum = WorkOrderFinishPackageNum, - WorkOrderNotFinishPackageNum = WorkOrderNotFinishPackageNum - }; + QcCommonFqcWorkerOrderDataDto newItem = + new() + { + WorkOrderId = item.ClientWorkorder, + Partnumber = item.FinishedPartNumber, + Description = Description, + Color = Color, + Specification = Specification, + Team = Team, + StartTime = startTime, + EndTime = endTime, + Status = item.Status, + Remark = Remark, + IsFinish = IsFinish, + WorkOrderPackageCount = WorkOrderPackageCount, + WorkOrderFinishPackageNum = WorkOrderFinishPackageNum, + WorkOrderNotFinishPackageNum = WorkOrderNotFinishPackageNum + }; resultList.Add(newItem); } }