后道打标签优化以及标签追溯修改
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ZR.Admin.WebApi.Extensions;
|
||||
using ZR.Admin.WebApi.Filters;
|
||||
using ZR.Model.mes.pro;
|
||||
using ZR.Model.MES.pro.DTO;
|
||||
using ZR.Service.mes.pro.IService;
|
||||
|
||||
//创建时间:2024-05-20
|
||||
namespace ZR.Admin.WebApi.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 包装记录追溯
|
||||
/// </summary>
|
||||
[Route("mes/pro/ProPackingDataBack")]
|
||||
public class ProPackingDataBackController : BaseController
|
||||
{
|
||||
private readonly IProPackingDataBackService _ProPackingDataBackService;
|
||||
|
||||
public ProPackingDataBackController(IProPackingDataBackService ProPackingDataBackService)
|
||||
{
|
||||
_ProPackingDataBackService = ProPackingDataBackService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询包装记录追溯清单列表
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult QueryPackingDataBackList([FromQuery] ProPackingDataBackQueryDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
var response = _ProPackingDataBackService.GetList(parm);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
return ToResponse(new ApiResult(500, ex.Message, ex.Message));
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询包装记录追溯清单详细列表
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("record")]
|
||||
[AllowAnonymous]
|
||||
public IActionResult QueryPackingDataBackRecord([FromQuery] ProPackingDataBackRecordQueryDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
var response = _ProPackingDataBackService.GetRecords(parm);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ToResponse(new ApiResult(500, ex.Message, ex.Message));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
115
ZR.Model/MES/pro/DTO/ProPackingDataBackDto.cs
Normal file
115
ZR.Model/MES/pro/DTO/ProPackingDataBackDto.cs
Normal file
@@ -0,0 +1,115 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace ZR.Model.MES.pro.DTO
|
||||
{
|
||||
/// <summary>
|
||||
/// 扫码追溯清单搜索条件
|
||||
/// </summary>
|
||||
public class ProPackingDataBackQueryDto : PagerInfo
|
||||
{
|
||||
// 工单号
|
||||
public string WorkOrder { get; set; }
|
||||
// 实际标签
|
||||
public string Label { get; set; }
|
||||
// 零件号
|
||||
public string PartNumber { get; set; }
|
||||
// 箱条码
|
||||
public string PackingCode { get; set; }
|
||||
public string Machine { get; set; }
|
||||
public DateTime? StartTime { get; set; }
|
||||
public DateTime? EndTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扫码追溯详情数据搜索条件
|
||||
/// </summary>
|
||||
public class ProPackingDataBackRecordQueryDto : PagerInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签搜索类型 1-产线 2-GP12 3-后道 4-成品入库
|
||||
/// </summary>
|
||||
public int SearchType { get; set; }
|
||||
public DateTime? StartTime { get; set; }
|
||||
public DateTime? EndTime { get; set; }
|
||||
public string WorkOrder { get; set; }
|
||||
public string PatchCode { get; set; }
|
||||
public string PackingCode { get; set; }
|
||||
/// <summary>
|
||||
/// 是否满箱
|
||||
/// </summary>
|
||||
public int FillType { get; set; }
|
||||
public string PartNumber { get; set; }
|
||||
public string Machine { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 扫码追溯清单反馈列表
|
||||
/// </summary>
|
||||
public class ProPackageDataBackListDto
|
||||
{
|
||||
// 主键
|
||||
public string Id { get; set; }
|
||||
// 模块
|
||||
public string Module { get; set; }
|
||||
/// <summary>
|
||||
/// 标签搜索类型 1-产线 2-GP12 3-后道 4-成品入库
|
||||
/// </summary>
|
||||
public int SearchType { get; set; }
|
||||
// 机器
|
||||
public string Machine { get; set; }
|
||||
// 工单号
|
||||
public string WorkOrder { get; set; }
|
||||
// 零件号
|
||||
public string PartNumber { get; set; }
|
||||
// 零件描述
|
||||
public string Description { get; set; }
|
||||
// 箱条码
|
||||
public string PackageLabel { get; set; }
|
||||
// 内标签条码
|
||||
public string InnerLabel { get; set; }
|
||||
// 是否满箱标签
|
||||
public string FullMsg { get; set; }
|
||||
// 班组
|
||||
public string Team { get; set; }
|
||||
// 站点
|
||||
public string SiteNo { get; set; }
|
||||
// 串口
|
||||
public string ComNo { get; set; }
|
||||
// 备注
|
||||
public string Remark { get; set; }
|
||||
// 创建时间
|
||||
public DateTime? CreateTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扫码追溯详细数据反馈列表
|
||||
/// </summary>
|
||||
public class ProPackageDataBackRecordDto
|
||||
{
|
||||
// 主键
|
||||
public string Id { get; set; }
|
||||
// 机器
|
||||
public string Machine { get; set; }
|
||||
// 工单号
|
||||
public string WorkOrder { get; set; }
|
||||
// 零件号
|
||||
public string PartNumber { get; set; }
|
||||
// 零件描述
|
||||
public string Description { get; set; }
|
||||
// 箱条码
|
||||
public string PackageLabel { get; set; }
|
||||
// 内标签条码
|
||||
public string InnerLabel { get; set; }
|
||||
// 是否满箱标签
|
||||
public string FullMsg { get; set; }
|
||||
// 班组
|
||||
public string Team { get; set; }
|
||||
// 站点
|
||||
public string SiteNo { get; set; }
|
||||
// 串口
|
||||
public string ComNo { get; set; }
|
||||
// 备注
|
||||
public string Remark { get; set; }
|
||||
// 创建时间
|
||||
public DateTime? CreateTime { get; set; }
|
||||
}
|
||||
}
|
||||
24
ZR.Service/mes/pro/IService/IProPackingDataBackService.cs
Normal file
24
ZR.Service/mes/pro/IService/IProPackingDataBackService.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using ZR.Model;
|
||||
using ZR.Model.mes.pro;
|
||||
using ZR.Model.MES.pro.DTO;
|
||||
|
||||
namespace ZR.Service.mes.pro.IService
|
||||
{
|
||||
/// <summary>
|
||||
/// 包装记录service接口
|
||||
/// </summary>
|
||||
public interface IProPackingDataBackService : IBaseService<WmPackingrecord>
|
||||
{
|
||||
|
||||
List<ProPackageDataBackListDto> GetList(ProPackingDataBackQueryDto parm);
|
||||
PagedInfo<ProPackageDataBackRecordDto> GetRecords(ProPackingDataBackRecordQueryDto parm);
|
||||
//PagedInfo<WmPackingrecordDto> GetList(WmPackingrecordQueryDto parm);
|
||||
|
||||
//WmPackingrecord GetInfo(long Id);
|
||||
|
||||
//WmPackingrecord AddWmPackingrecord(WmPackingrecord parm);
|
||||
|
||||
//int UpdateWmPackingrecord(WmPackingrecord parm);
|
||||
|
||||
}
|
||||
}
|
||||
333
ZR.Service/mes/pro/ProPackingDataBackService.cs
Normal file
333
ZR.Service/mes/pro/ProPackingDataBackService.cs
Normal file
@@ -0,0 +1,333 @@
|
||||
using System;
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Extensions;
|
||||
using SqlSugar;
|
||||
using ZR.Model;
|
||||
using ZR.Model.Business;
|
||||
using ZR.Model.mes.pro;
|
||||
using ZR.Model.MES.pro.DTO;
|
||||
using ZR.Model.MES.wms;
|
||||
using ZR.Repository;
|
||||
|
||||
namespace ZR.Service.mes.pro.IService
|
||||
{
|
||||
/// <summary>
|
||||
/// 标签记录追溯Service业务层处理
|
||||
/// </summary>
|
||||
[AppService(
|
||||
ServiceType = typeof(IProPackingDataBackService),
|
||||
ServiceLifetime = LifeTime.Transient
|
||||
)]
|
||||
public class ProPackingDataBackService
|
||||
: BaseService<Model.mes.pro.WmPackingrecord>,
|
||||
IProPackingDataBackService
|
||||
{
|
||||
public List<ProPackageDataBackListDto> GetList(ProPackingDataBackQueryDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
Context.Ado.BeginTran();
|
||||
List<ProPackageDataBackListDto> newList = new();
|
||||
if (
|
||||
string.IsNullOrEmpty(parm.Label)
|
||||
&& string.IsNullOrEmpty(parm.WorkOrder)
|
||||
&& string.IsNullOrEmpty(parm.PackingCode)
|
||||
)
|
||||
{
|
||||
throw new Exception("请输入工单号/产品码/箱码任意一个!");
|
||||
}
|
||||
// 根据包装标签打印记录,找出对应工单
|
||||
var predicate = Expressionable.Create<Model.mes.pro.WmPackingrecord>();
|
||||
predicate
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.PartNumber),
|
||||
it => it.PartNum == parm.PartNumber
|
||||
)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.Machine), it => it.Machine == parm.Machine)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.WorkOrder),
|
||||
it => it.WorkOrderNum == parm.WorkOrder
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.PackingCode),
|
||||
it => it.PackingCode.Contains(parm.PackingCode)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.Label),
|
||||
it => it.ScannerContent.Contains(parm.Label)
|
||||
)
|
||||
.AndIF(
|
||||
parm.StartTime > DateTime.MinValue,
|
||||
it => it.CreateTime >= parm.StartTime
|
||||
)
|
||||
.AndIF(parm.EndTime > DateTime.MinValue, it => it.CreateTime <= parm.EndTime);
|
||||
var response = Queryable()
|
||||
.Where(predicate.ToExpression())
|
||||
.OrderByDescending(it => it.BFilled)
|
||||
.First();
|
||||
if (response == null)
|
||||
{
|
||||
return newList;
|
||||
}
|
||||
// 零件号提取
|
||||
string _partNumber = response.PartNum ?? "";
|
||||
// 工单号提取
|
||||
string _workOrder = response.WorkOrderNum ?? "";
|
||||
// 产品条码提取
|
||||
string _label = response.ScannerContent ?? "";
|
||||
WmMaterial material = Context
|
||||
.Queryable<WmMaterial>()
|
||||
.Where(it => it.Partnumber == _partNumber)
|
||||
.Where(it => it.Type == 1)
|
||||
.Where(it => it.Status == 1)
|
||||
.First();
|
||||
string _description = material.Description ?? "未知物料,不在物料清单或物料号不明确";
|
||||
ProPackageDataBackListDto newPackingRecordItem =
|
||||
new()
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
SearchType = 1,
|
||||
Module = "产线包装工序",
|
||||
Machine = response.Machine,
|
||||
WorkOrder = _workOrder,
|
||||
PartNumber = _partNumber,
|
||||
Description = _description,
|
||||
PackageLabel = response.PackingCode,
|
||||
InnerLabel = _label,
|
||||
FullMsg = response.BFilled == true ? "满箱" : "零头箱",
|
||||
Team = "",
|
||||
SiteNo = "",
|
||||
ComNo = "",
|
||||
Remark = "",
|
||||
CreateTime = response.CreateTime
|
||||
};
|
||||
newList.Add(newPackingRecordItem);
|
||||
// GP12 记录追溯
|
||||
QcGp12RecordLabelScan gp12LabelRecord = Context
|
||||
.Queryable<QcGp12RecordLabelScan>()
|
||||
.Where(it => it.PartNumber == _partNumber)
|
||||
.Where(it => it.Label.Contains(_workOrder))
|
||||
.Where(it => it.Type == "1")
|
||||
.Where(it => it.Status == "1")
|
||||
.First();
|
||||
if (gp12LabelRecord != null)
|
||||
{
|
||||
ProPackageDataBackListDto newGP12RecordItem =
|
||||
new()
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
SearchType = 2,
|
||||
Module = "GP12检验工序",
|
||||
Machine = gp12LabelRecord.SiteNo,
|
||||
WorkOrder = gp12LabelRecord.WorkOrder,
|
||||
PartNumber = _partNumber,
|
||||
Description = _description,
|
||||
PackageLabel = "-",
|
||||
InnerLabel = gp12LabelRecord.Label,
|
||||
FullMsg = "-",
|
||||
Team = gp12LabelRecord.Team,
|
||||
SiteNo = gp12LabelRecord.SiteNo,
|
||||
ComNo = gp12LabelRecord.ComNo,
|
||||
Remark = "",
|
||||
CreateTime = gp12LabelRecord.CreatedTime
|
||||
};
|
||||
newList.Add(newGP12RecordItem);
|
||||
}
|
||||
|
||||
// 后道记录追溯
|
||||
QcBackEndRecordLabelScan backendLabelRecord = Context
|
||||
.Queryable<QcBackEndRecordLabelScan>()
|
||||
.Where(it => it.PartNumber == _partNumber)
|
||||
.Where(it => it.Label.Contains(_workOrder))
|
||||
.Where(it => it.Type == "1")
|
||||
.Where(it => it.Status == "1")
|
||||
.First();
|
||||
if (backendLabelRecord != null)
|
||||
{
|
||||
ProPackageDataBackListDto newBackEndRecordItem =
|
||||
new()
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
SearchType = 2,
|
||||
Module = "GP12检验工序",
|
||||
Machine = backendLabelRecord.SiteNo,
|
||||
WorkOrder = backendLabelRecord.WorkOrder,
|
||||
PartNumber = _partNumber,
|
||||
Description = _description,
|
||||
PackageLabel = "-",
|
||||
InnerLabel = backendLabelRecord.Label,
|
||||
FullMsg = "-",
|
||||
Team = backendLabelRecord.Team,
|
||||
SiteNo = backendLabelRecord.SiteNo,
|
||||
ComNo = backendLabelRecord.ComNo,
|
||||
Remark = "",
|
||||
CreateTime = backendLabelRecord.CreatedTime
|
||||
};
|
||||
newList.Add(newBackEndRecordItem);
|
||||
}
|
||||
|
||||
Context.Ado.CommitTran();
|
||||
return newList;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Context.Ado.RollbackTran();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public PagedInfo<ProPackageDataBackRecordDto> GetRecords(
|
||||
ProPackingDataBackRecordQueryDto parm
|
||||
)
|
||||
{
|
||||
try
|
||||
{
|
||||
Context.Ado.BeginTran();
|
||||
// 工单号提取
|
||||
string _workOrder = parm.WorkOrder ?? "";
|
||||
// 零件号提取
|
||||
string _partNumber = parm.PartNumber ?? "";
|
||||
WmMaterial material = Context
|
||||
.Queryable<WmMaterial>()
|
||||
.Where(it => it.Partnumber == _partNumber)
|
||||
.Where(it => it.Type == 1)
|
||||
.Where(it => it.Status == 1)
|
||||
.First();
|
||||
string _description = material.Description ?? "未知物料,不在物料清单或物料号不明确";
|
||||
PagedInfo<ProPackageDataBackRecordDto> newPageRecord = new();
|
||||
// 产线
|
||||
if (parm.SearchType == 1)
|
||||
{
|
||||
// 根据包装标签打印记录,找出对应工单
|
||||
var predicate = Expressionable.Create<Model.mes.pro.WmPackingrecord>();
|
||||
predicate
|
||||
.And(it => it.PartNum == parm.PartNumber)
|
||||
.And(it => it.WorkOrderNum == parm.WorkOrder)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.PackingCode),
|
||||
it => it.PackingCode.Contains(parm.PackingCode)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.Machine),
|
||||
it => it.Machine.Contains(parm.Machine)
|
||||
)
|
||||
.AndIF(
|
||||
parm.FillType != -1,
|
||||
it => it.BFilled == (parm.FillType == 1)
|
||||
)
|
||||
.AndIF(
|
||||
parm.StartTime > DateTime.MinValue,
|
||||
it => it.CreateTime >= parm.StartTime
|
||||
)
|
||||
.AndIF(
|
||||
parm.EndTime > DateTime.MinValue,
|
||||
it => it.CreateTime <= parm.EndTime
|
||||
);
|
||||
var response = Queryable()
|
||||
.Where(predicate.ToExpression())
|
||||
.Select(it => new ProPackageDataBackRecordDto
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
Machine = it.Machine,
|
||||
WorkOrder = it.WorkOrderNum,
|
||||
PartNumber = it.PartNum,
|
||||
Description = _description,
|
||||
PackageLabel = it.PackingCode,
|
||||
InnerLabel = it.ProductCode,
|
||||
FullMsg = it.BFilled == true ? "满箱" : "零头箱",
|
||||
Team = "",
|
||||
SiteNo = "",
|
||||
ComNo = "",
|
||||
Remark = "",
|
||||
CreateTime = it.CreateTime
|
||||
})
|
||||
.ToPage(parm);
|
||||
Context.Ado.CommitTran();
|
||||
return response;
|
||||
}
|
||||
if (parm.SearchType == 2)
|
||||
{
|
||||
// 根据包装标签打印记录,找出对应工单
|
||||
var predicate = Expressionable.Create<QcGp12RecordLabelScan>();
|
||||
predicate
|
||||
.And(it => it.PartNumber == parm.PartNumber)
|
||||
.And(it => it.WorkOrder == parm.WorkOrder)
|
||||
.AndIF(
|
||||
parm.StartTime > DateTime.MinValue,
|
||||
it => it.CreatedTime >= parm.StartTime
|
||||
)
|
||||
.AndIF(
|
||||
parm.EndTime > DateTime.MinValue,
|
||||
it => it.CreatedTime <= parm.EndTime
|
||||
);
|
||||
var response = Context
|
||||
.Queryable<QcGp12RecordLabelScan>()
|
||||
.Where(predicate.ToExpression())
|
||||
.Select(it => new ProPackageDataBackRecordDto
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
Machine = "-",
|
||||
WorkOrder = it.WorkOrder,
|
||||
PartNumber = it.PartNumber,
|
||||
Description = _description,
|
||||
PackageLabel = it.Label,
|
||||
InnerLabel = it.Label,
|
||||
FullMsg = "-",
|
||||
Team = it.Team,
|
||||
SiteNo = it.SiteNo,
|
||||
ComNo = it.ComNo,
|
||||
Remark = "",
|
||||
CreateTime = it.CreatedTime
|
||||
})
|
||||
.ToPage(parm);
|
||||
Context.Ado.CommitTran();
|
||||
return response;
|
||||
}
|
||||
if (parm.SearchType == 3)
|
||||
{
|
||||
// 根据包装标签打印记录,找出对应工单
|
||||
var predicate = Expressionable.Create<QcBackEndRecordLabelScan>();
|
||||
predicate
|
||||
.And(it => it.PartNumber == parm.PartNumber)
|
||||
.And(it => it.WorkOrder == parm.WorkOrder)
|
||||
.AndIF(
|
||||
parm.StartTime > DateTime.MinValue,
|
||||
it => it.CreatedTime >= parm.StartTime
|
||||
)
|
||||
.AndIF(
|
||||
parm.EndTime > DateTime.MinValue,
|
||||
it => it.CreatedTime <= parm.EndTime
|
||||
);
|
||||
var response = Context
|
||||
.Queryable<QcBackEndRecordLabelScan>()
|
||||
.Where(predicate.ToExpression())
|
||||
.Select(it => new ProPackageDataBackRecordDto
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId().ToString(),
|
||||
Machine = "-",
|
||||
WorkOrder = it.WorkOrder,
|
||||
PartNumber = it.PartNumber,
|
||||
Description = _description,
|
||||
PackageLabel = it.Label,
|
||||
InnerLabel = it.Label,
|
||||
FullMsg = "-",
|
||||
Team = it.Team,
|
||||
SiteNo = it.SiteNo,
|
||||
ComNo = it.ComNo,
|
||||
Remark = "",
|
||||
CreateTime = it.CreatedTime
|
||||
})
|
||||
.ToPage(parm);
|
||||
Context.Ado.CommitTran();
|
||||
return response;
|
||||
}
|
||||
return new PagedInfo<ProPackageDataBackRecordDto>();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Context.Ado.RollbackTran();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1092,8 +1092,14 @@ namespace ZR.Service.Business
|
||||
{
|
||||
batchCode = DateTime.Now.ToString("yyMMdd") + "000";
|
||||
}
|
||||
// 提取箱流水号
|
||||
|
||||
int packageSort = 1;
|
||||
|
||||
// 使用SqlSugar的事务处理
|
||||
Context.Ado.BeginTran();
|
||||
try
|
||||
{
|
||||
// 查询最新流水号
|
||||
QcBackendRecordLabelPrint labelPrintRecord = Context
|
||||
.Queryable<QcBackendRecordLabelPrint>()
|
||||
.Where(it => it.PartNumber == newLabelScran.PartNumber)
|
||||
@@ -1101,10 +1107,17 @@ namespace ZR.Service.Business
|
||||
.Where(it => it.LabelType == 1)
|
||||
.OrderByDescending(it => it.SerialNumber)
|
||||
.First();
|
||||
if (labelPrintRecord != null)
|
||||
{
|
||||
packageSort = labelPrintRecord.SerialNumber + 1 ?? 1;
|
||||
|
||||
packageSort = labelPrintRecord?.SerialNumber + 1 ?? 1;
|
||||
|
||||
Context.Ado.CommitTran();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Context.Ado.RollbackTran();
|
||||
throw;
|
||||
}
|
||||
|
||||
// 提取产品描述
|
||||
string checkPartnumber = newLabelScran.PartNumber;
|
||||
// 使用正则表达式匹配并移除特殊后缀
|
||||
@@ -1114,25 +1127,32 @@ namespace ZR.Service.Business
|
||||
"",
|
||||
RegexOptions.IgnoreCase
|
||||
);
|
||||
|
||||
WmMaterial material = Context
|
||||
.Queryable<WmMaterial>()
|
||||
.Where(it => it.Partnumber == processedPartnumber)
|
||||
.Where(it => it.Type == 1)
|
||||
.Where(it => it.Status == 1)
|
||||
.First();
|
||||
|
||||
if (material == null)
|
||||
{
|
||||
throw new Exception("生成打印后道外箱标签的信息:此零件号不在物料清单内!" + processedPartnumber);
|
||||
}
|
||||
|
||||
// 生成工单号
|
||||
string workOrder = $"{batchCode}_{packageSort}";
|
||||
|
||||
// 是否满箱 0-不满 1-满箱
|
||||
int isFull = specialPrintType == 2 ? 0 : 1;
|
||||
// 是否补打 0-非补打 1-补打
|
||||
int isAgain = specialPrintType == 1 ? 1 : 0;
|
||||
|
||||
string newLabelCode =
|
||||
$"Code=PGW{workOrder}^ItemNumber={newLabelScran.PartNumber}^Order=W{workOrder}^Qty={maxPackage}^LabelType=1^LabelBy=HD^Team={newLabelScran.Team}^IsFull={isFull}^IsAgain={isAgain}";
|
||||
|
||||
string newPackageCode = $"BOX:PGW{workOrder}{newLabelScran.Team}1";
|
||||
|
||||
QcBackEndPrintMqttEventDto mqttEventDto =
|
||||
new()
|
||||
{
|
||||
@@ -1154,6 +1174,7 @@ namespace ZR.Service.Business
|
||||
LabelType = 1,
|
||||
CreatedTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
||||
};
|
||||
|
||||
return mqttEventDto;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user