毛坯出入库修改,质量报表生成标签功能添加

This commit is contained in:
2025-10-23 17:51:03 +08:00
parent ea4d9ee0f0
commit 7270da5508
6 changed files with 212 additions and 57 deletions

View File

@@ -14,7 +14,7 @@ using ZR.Service.mes.qc.IService;
namespace ZR.Service.mes.qc
{
[AppService(ServiceType = typeof(ICommonFQCService), ServiceLifetime = LifeTime.Transient)]
public class CommonFQCService : BaseService<FirstFQCService>, ICommonFQCService
public class CommonFQCService : BaseService<QCStatisticsService>, ICommonFQCService
{
public int CheckPackageWorkOrderStatus(string workOrderId)
{

View File

@@ -1,21 +1,36 @@
using Infrastructure.Attribute;
using SqlSugar;
using System;
using System;
using System.IO;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Infrastructure.Attribute;
using Microsoft.Extensions.Logging;
using MQTTnet.Protocol;
using SqlSugar;
using ZR.Model.MES.pro;
using ZR.Model.MES.qc;
using ZR.Model.MES.qc.DTO;
using ZR.Model.MES.qu;
using ZR.Model.MES.wms;
using ZR.Service.Business;
using ZR.Service.mes.qc.IService;
using ZR.Service.mes.wms;
using ZR.Service.mqtt;
namespace ZR.Service.mes.qc
{
[AppService(ServiceType = typeof(IFirstFQCService), ServiceLifetime = LifeTime.Transient)]
public class FirstFQCService : BaseService<QcInspectionitem>, IFirstFQCService
{
private readonly MqttService _mqttService; // 注入MqttService
private readonly ILogger<QcQualityStatisticsFirst> _logger;
public FirstFQCService(MqttService mqttService, ILogger<QcQualityStatisticsFirst> logger)
{
_mqttService = mqttService;
_logger = logger;
}
/// <summary>
/// 获取检测项 (首检)
/// </summary>
@@ -544,11 +559,11 @@ namespace ZR.Service.mes.qc
x.AsInsertable.ExecuteCommandAsync(); //执行插入
x.AsUpdateable.UpdateColumns(it => new
{
it.UpdatedBy,
it.UpdatedTime,
it.Counter
})
{
it.UpdatedBy,
it.UpdatedTime,
it.Counter
})
.ExecuteCommandAsync(); //执行更新
////更新初检报废表
@@ -3857,6 +3872,80 @@ namespace ZR.Service.mes.qc
//TODO 20241023 不再变动抛光盘点后的数据
try
{
//TODO 20251021 包装完成工单后,发送送货单打印数据
string topic = $"shgg_mes/package_print_1/print/1站点";
string path1 = "D:\\RIZO\\label\\合格送货单.btw";
string path2 = "D:\\RIZO\\label\\抛光送货单.btw";
string path3 = "D:\\RIZO\\label\\打磨送货单.btw";
PrintDeliveryNoteDto mqttEventDto =
new()
{
Path = path1,
SiteNo = "1站点",
Name = "包装合格送货单标签打印",
PartNumber = first.FinishedPartNumber,
Description = first.ProductDescription,
Color = first.Color,
Specification = "",
WorkOrder = first.WorkorderId,
PackageCode = first.WorkorderId,
Team = first.Team,
Sort = 1,
ProductionTime = first.WorkorderId,
BatchCode = first.WorkorderId,
PackageNum = first.QualifiedNumber.Value,
LabelCode =
$"Type=DeNoHG^ItemNumber={first.FinishedPartNumber}^Order={first.WorkorderId}^Qty={first.QualifiedNumber.Value}",
LabelType = 1,
CreatedTime = DateTime.Now.ToString()
};
var payload1 = JsonSerializer.Serialize(mqttEventDto);
// 保持原有PublishAsync调用方式
_mqttService
.PublishAsync(
topic,
payload1,
MqttQualityOfServiceLevel.AtLeastOnce,
retain: false
)
.Wait();
mqttEventDto.Path = path2;
mqttEventDto.Name = "包装抛光送货单标签打印";
mqttEventDto.PackageNum = first.PaoguangTotal.Value;
mqttEventDto.LabelCode = $"Type=DeNoPG^ItemNumber={first.FinishedPartNumber}^Order={first.WorkorderId}^Qty={first.PaoguangTotal.Value}";
var payload2 = JsonSerializer.Serialize(mqttEventDto);
_mqttService
.PublishAsync(
topic,
payload2,
MqttQualityOfServiceLevel.AtLeastOnce,
retain: false
)
.Wait();
mqttEventDto.Path = path3;
mqttEventDto.Name = "包装打磨送货单标签打印";
mqttEventDto.PackageNum = first.DamoTotal.Value;
mqttEventDto.LabelCode = $"Type=DeNoDM^ItemNumber={first.FinishedPartNumber}^Order={first.WorkorderId}^Qty={first.DamoTotal.Value}";
var payload3 = JsonSerializer.Serialize(mqttEventDto);
_mqttService
.PublishAsync(
topic,
payload3,
MqttQualityOfServiceLevel.AtLeastOnce,
retain: false
)
.Wait();
}
catch (Exception)
{
}
return 1;
// 产线报表生成后自动化操作