打标签2号机器添加门把手临时标签,统计总数时去除临时标签。
This commit is contained in:
@@ -23,6 +23,7 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
|
||||
/// <param name="original"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("common")]
|
||||
[Log(Title = "退库", BusinessType = BusinessType.DELETE)]
|
||||
public IActionResult ExitwarehouseCommmon(string originalCode)
|
||||
{
|
||||
string msg = null;
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("doConsolidationGoods2")]
|
||||
[Log(Title = "拼箱", BusinessType = BusinessType.UPDATE)]
|
||||
[Log(Title = "拼箱2", BusinessType = BusinessType.UPDATE)]
|
||||
public IActionResult DoConsolidationGoods2([FromBody] WmGoodsConsolidationDto2 parm)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -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<FirstFQCService>, ICommonFQCService
|
||||
{
|
||||
@@ -26,7 +24,8 @@ namespace ZR.Service.mes.qc
|
||||
try
|
||||
{
|
||||
// 检查对应工单是否存在
|
||||
ProWorkorder_v2 proWorkorder = Context.Queryable<ProWorkorder_v2>()
|
||||
ProWorkorder_v2 proWorkorder = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.Where(it => it.ClientWorkorder == workOrderId)
|
||||
.First();
|
||||
if (proWorkorder == null)
|
||||
@@ -40,6 +39,7 @@ namespace ZR.Service.mes.qc
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据年周日生成当日全部工单列表
|
||||
/// </summary>
|
||||
@@ -49,11 +49,18 @@ namespace ZR.Service.mes.qc
|
||||
/// <param name="type">0-不读取status 1-读取status 2- 查询status为1,2时</param>
|
||||
/// <param name="status">-1-全部 0-初态 1-上线 2-包装完成</param>
|
||||
/// <returns></returns>
|
||||
public List<ProWorkorder_v2> GenerateWorkOrderListUtil(int year, int week, int date, int type = 0, int status = -1)
|
||||
public List<ProWorkorder_v2> GenerateWorkOrderListUtil(
|
||||
int year,
|
||||
int week,
|
||||
int date,
|
||||
int type = 0,
|
||||
int status = -1
|
||||
)
|
||||
{
|
||||
try
|
||||
{
|
||||
var predicate = Expressionable.Create<ProWorkorder_v2>()
|
||||
var predicate = Expressionable
|
||||
.Create<ProWorkorder_v2>()
|
||||
.And(it => it.Year == year)
|
||||
.And(it => it.Week == week)
|
||||
.And(it => it.Date == date)
|
||||
@@ -61,7 +68,8 @@ namespace ZR.Service.mes.qc
|
||||
.AndIF(type == 1, it => it.Status == status)
|
||||
.AndIF(type == 2, it => it.Status == 1 || it.Status == 2)
|
||||
.ToExpression();
|
||||
return Context.Queryable<ProWorkorder_v2>()
|
||||
return Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.Where(predicate)
|
||||
.OrderBy(it => it.Sort)
|
||||
.ToList();
|
||||
@@ -70,14 +78,17 @@ namespace ZR.Service.mes.qc
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int CheckPackageWorkOrderInListStatus(string workOrderId)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 检查对应工单是否存在
|
||||
ProWorkorder_v2 proWorkOrder = Context.Queryable<ProWorkorder_v2>().Where(it => it.ClientWorkorder == workOrderId).First();
|
||||
ProWorkorder_v2 proWorkOrder = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.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<ProWorkorder_v2> proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2);
|
||||
List<ProWorkorder_v2> 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<ProWorkorder_v2>().Where(it => it.ClientWorkorder == workOrderId).First();
|
||||
ProWorkorder_v2 proWorkOrder = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.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<ProWorkorder_v2> proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2);
|
||||
List<ProWorkorder_v2> 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<ProWorkorder_v2> finishWorkorders = GenerateWorkOrderListUtil(year, week, date, 1, 2);
|
||||
List<ProWorkorder_v2> finishWorkorders = GenerateWorkOrderListUtil(
|
||||
year,
|
||||
week,
|
||||
date,
|
||||
1,
|
||||
2
|
||||
);
|
||||
if (finishWorkorders == null)
|
||||
{
|
||||
return result;
|
||||
@@ -182,6 +214,7 @@ namespace ZR.Service.mes.qc
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工单需要打印标签总数
|
||||
/// </summary>
|
||||
@@ -192,14 +225,16 @@ namespace ZR.Service.mes.qc
|
||||
{
|
||||
try
|
||||
{
|
||||
ProWorkorder_v2 workOrder = Context.Queryable<ProWorkorder_v2>().Where(it => it.ClientWorkorder == workOrderId).First();
|
||||
var res = Context.Queryable<QcFirstinspectionRecord>()
|
||||
ProWorkorder_v2 workOrder = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.Where(it => it.ClientWorkorder == workOrderId)
|
||||
.First();
|
||||
var res = Context
|
||||
.Queryable<QcFirstinspectionRecord>()
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工单已打印标签数
|
||||
/// </summary>
|
||||
@@ -224,9 +260,11 @@ namespace ZR.Service.mes.qc
|
||||
try
|
||||
{
|
||||
string[] Machines = new string[] { "0", "1", "2", "3" };
|
||||
return Context.Queryable<WmPackingrecord>()
|
||||
return Context
|
||||
.Queryable<WmPackingrecord>()
|
||||
.Where(it => it.WorkOrderNum == workOrderId)
|
||||
.Where(it => Machines.Contains(it.Machine))
|
||||
.Where(it => it.Standby3 == null)
|
||||
.OrderBy(it => it.Id)
|
||||
.Count();
|
||||
}
|
||||
@@ -235,12 +273,16 @@ namespace ZR.Service.mes.qc
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public QcCommonFqcBoardDto GetWorkOrderBoardData(string workOrderId)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 检查对应工单是否存在
|
||||
ProWorkorder_v2 proWorkOrder = Context.Queryable<ProWorkorder_v2>().Where(it => it.ClientWorkorder == workOrderId).First();
|
||||
ProWorkorder_v2 proWorkOrder = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.Where(it => it.ClientWorkorder == workOrderId)
|
||||
.First();
|
||||
if (proWorkOrder == null)
|
||||
{
|
||||
return null;
|
||||
@@ -252,7 +294,12 @@ namespace ZR.Service.mes.qc
|
||||
int year = proWorkOrder.Year;
|
||||
int week = proWorkOrder.Week;
|
||||
int date = proWorkOrder.Date;
|
||||
List<ProWorkorder_v2> proWorkorders = GenerateWorkOrderListUtil(year, week, date, 2);
|
||||
List<ProWorkorder_v2> 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<ProWorkorder_v2> finishWorkorders = GenerateWorkOrderListUtil(year, week, date, 1, 2);
|
||||
List<ProWorkorder_v2> 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<QcCommonFqcWorkerOrderDataDto> GetWorkOrderFqcData(QcCommonFqcWorkerOrderDataQuery query)
|
||||
public PagedInfo<QcCommonFqcWorkerOrderDataDto> 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,18 +389,31 @@ namespace ZR.Service.mes.qc
|
||||
{
|
||||
isCheckData = false;
|
||||
}
|
||||
var predicate = Expressionable.Create<ProWorkorder_v2>()
|
||||
var predicate = Expressionable
|
||||
.Create<ProWorkorder_v2>()
|
||||
.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))
|
||||
.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<ProWorkorder_v2> orderList = Context.Queryable<ProWorkorder_v2>()
|
||||
List<ProWorkorder_v2> orderList = Context
|
||||
.Queryable<ProWorkorder_v2>()
|
||||
.Where(predicate)
|
||||
.OrderBy(it => it.Sort)
|
||||
.ToList();
|
||||
@@ -338,14 +421,17 @@ namespace ZR.Service.mes.qc
|
||||
//TODO 分页暂不实现
|
||||
|
||||
//转换数据
|
||||
PagedInfo<QcCommonFqcWorkerOrderDataDto> resultPage = new PagedInfo<QcCommonFqcWorkerOrderDataDto>();
|
||||
List<QcCommonFqcWorkerOrderDataDto> resultList = new List<QcCommonFqcWorkerOrderDataDto>();
|
||||
PagedInfo<QcCommonFqcWorkerOrderDataDto> resultPage =
|
||||
new PagedInfo<QcCommonFqcWorkerOrderDataDto>();
|
||||
List<QcCommonFqcWorkerOrderDataDto> resultList =
|
||||
new List<QcCommonFqcWorkerOrderDataDto>();
|
||||
foreach (var item in orderList)
|
||||
{
|
||||
if (item != null)
|
||||
{
|
||||
string Remark = "";
|
||||
WmMaterial material = Context.Queryable<WmMaterial>()
|
||||
WmMaterial material = Context
|
||||
.Queryable<WmMaterial>()
|
||||
.Where(it => it.Partnumber == item.FinishedPartNumber)
|
||||
.First();
|
||||
string Description = "";
|
||||
@@ -362,7 +448,8 @@ namespace ZR.Service.mes.qc
|
||||
Remark += "物料不在清单内 ";
|
||||
}
|
||||
// 首检报表数据拉取
|
||||
QcQualityStatisticsFirst QcFirstData = Context.Queryable<QcQualityStatisticsFirst>()
|
||||
QcQualityStatisticsFirst QcFirstData = Context
|
||||
.Queryable<QcQualityStatisticsFirst>()
|
||||
.Where(it => it.WorkorderId == item.ClientWorkorder)
|
||||
.First();
|
||||
string Team = "";
|
||||
@@ -378,16 +465,22 @@ 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()
|
||||
QcCommonFqcWorkerOrderDataDto newItem =
|
||||
new()
|
||||
{
|
||||
WorkOrderId = item.ClientWorkorder,
|
||||
Partnumber = item.FinishedPartNumber,
|
||||
|
||||
Reference in New Issue
Block a user