|
|
@ -11,6 +11,7 @@ using Microsoft.Extensions.DependencyInjection;
|
|
|
|
using Microsoft.IdentityModel.Logging;
|
|
|
|
using Microsoft.IdentityModel.Logging;
|
|
|
|
using NetTaste;
|
|
|
|
using NetTaste;
|
|
|
|
using RestSharp;
|
|
|
|
using RestSharp;
|
|
|
|
|
|
|
|
using StackExchange.Redis;
|
|
|
|
using System;
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.Generic;
|
|
|
@ -57,11 +58,16 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
|
|
|
|
|
|
|
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(OffLineBusiness));
|
|
|
|
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(OffLineBusiness));
|
|
|
|
private readonly IBaseOrderInfoServices _baseOrderInfoServices = App.ServiceProvider.GetService<IBaseOrderInfoServices>();
|
|
|
|
private readonly IBaseOrderInfoServices _baseOrderInfoServices = App.ServiceProvider.GetService<IBaseOrderInfoServices>();
|
|
|
|
private readonly IProductPlanInfoServices? _productPlanInfoServices = App.ServiceProvider.GetService<IProductPlanInfoServices>();
|
|
|
|
private readonly IPrintBarCodeServices? _printBarCodeServices = App.ServiceProvider.GetService<IPrintBarCodeServices>();
|
|
|
|
// 成品下线操作条码系统接口
|
|
|
|
// 成品下线操作条码系统接口
|
|
|
|
private readonly IProductOffLineServices? _productOffLineServices = App.ServiceProvider.GetService<IProductOffLineServices>();
|
|
|
|
private readonly IProductOffLineServices? _productOffLineServices = App.ServiceProvider.GetService<IProductOffLineServices>();
|
|
|
|
// 成品下线操作mes数据
|
|
|
|
// 成品下线操作mes数据
|
|
|
|
private readonly IOffLineInfoServices? _offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
private readonly IOffLineInfoServices? _offLineInfoServices = App.ServiceProvider.GetService<IOffLineInfoServices>();
|
|
|
|
|
|
|
|
// 过点数据表,物料完成记录MaterialCompletion
|
|
|
|
|
|
|
|
private readonly IMaterialCompletionServices? _iMaterialCompletionServices = App.ServiceProvider.GetService<IMaterialCompletionServices>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private readonly ICodeBindingRecordServices? _codeBindingServices = App.ServiceProvider.GetService<ICodeBindingRecordServices>();
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 委托事件
|
|
|
|
#region 委托事件
|
|
|
@ -94,12 +100,13 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
public async void test()
|
|
|
|
public async void test()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
|
|
|
|
// string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01";
|
|
|
|
Task.Run(() =>
|
|
|
|
//Task.Run(() =>
|
|
|
|
{
|
|
|
|
//{
|
|
|
|
Thread.Sleep(5000);
|
|
|
|
// Thread.Sleep(5000);
|
|
|
|
MaterialBarScanEvent("32160030000000910780", "192.168.1.19");
|
|
|
|
// MaterialBarScanEvent("32160030000000910780", "192.168.1.19");
|
|
|
|
// MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
|
|
|
|
// Thread.Sleep(1000);
|
|
|
|
});
|
|
|
|
// MaterialBarScanEvent("33160030000000910780", "192.168.1.20");
|
|
|
|
|
|
|
|
//});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// 处理条码
|
|
|
|
/// 处理条码
|
|
|
@ -108,8 +115,9 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
/// <param name="direction">扫码器方向</param>
|
|
|
|
/// <param name="direction">扫码器方向</param>
|
|
|
|
public async void MaterialBarScanEvent(string code,string scannerIp)//接收条码数据
|
|
|
|
public async void MaterialBarScanEvent(string code,string scannerIp)//接收条码数据
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Task.Run(async () =>
|
|
|
|
await Task.Run(async () =>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
Console.WriteLine(scannerIp);
|
|
|
|
int ScannerNo = scannerIp == Appsettings.app("Middleware", "Scanner1", "Ip") ? 1 : 2; // 确定是哪个扫码器
|
|
|
|
int ScannerNo = scannerIp == Appsettings.app("Middleware", "Scanner1", "Ip") ? 1 : 2; // 确定是哪个扫码器
|
|
|
|
string materialType = "";
|
|
|
|
string materialType = "";
|
|
|
|
bool BackResult = false;
|
|
|
|
bool BackResult = false;
|
|
|
@ -166,43 +174,40 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
OffLineInfo info11 = MapperTwo(TempOffLineInfo);
|
|
|
|
OffLineInfo info11 = MapperTwo(TempOffLineInfo);
|
|
|
|
// 添加成品下线表
|
|
|
|
// 添加成品下线表
|
|
|
|
|
|
|
|
CodeBindingRecord bindingRecord1 = await _codeBindingServices.FirstAsync(x=>x.ProductCode == info11.ProductCode);
|
|
|
|
|
|
|
|
if (bindingRecord1 == null) return false;
|
|
|
|
|
|
|
|
info11.boxCode = bindingRecord1.BoxCode;
|
|
|
|
await _offLineInfoServices.AddAsync(info11);
|
|
|
|
await _offLineInfoServices.AddAsync(info11);
|
|
|
|
// 添加订单表
|
|
|
|
// 修改订单表
|
|
|
|
////6.更新mes 数据库完成数量和时间(BASE_ORDERINFO,PRODUCT_PLANINFO) 注意:查询的字段可能需要修改,确保数据一致
|
|
|
|
////6.更新mes 数据库完成数量和时间(BASE_ORDERINFO) 注意:查询的字段可能需要修改,确保数据一致
|
|
|
|
|
|
|
|
|
|
|
|
////6.1截取订单号去查询更新BASE_ORDERINFO,全放到service处理
|
|
|
|
////6.1截取订单号去查询更新BASE_ORDERINFO,全放到service处理
|
|
|
|
|
|
|
|
BaseOrderInfo order = await _baseOrderInfoServices.FirstAsync(x => x.OrderCode == TempOffLineInfo.ProductOrderNo);
|
|
|
|
List<BaseOrderInfo> orders = await _baseOrderInfoServices.QueryAsync(x => x.OrderCode == TempOffLineInfo.ProductOrderNo);
|
|
|
|
|
|
|
|
//BaseOrderInfo order = orders.FirstOrDefault();
|
|
|
|
|
|
|
|
//if (order.CompleteAmount == 0)
|
|
|
|
//if (order.CompleteAmount == 0)
|
|
|
|
//{
|
|
|
|
//{
|
|
|
|
// order.CompleteAmount++;
|
|
|
|
|
|
|
|
// order.BeginDate = DateTime.Now;
|
|
|
|
// order.BeginDate = DateTime.Now;
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
|
|
|
|
// order.CompleteAmount++;
|
|
|
|
//if (order.CompleteAmount == order.OrderAmount)
|
|
|
|
//if (order.CompleteAmount == order.OrderAmount)
|
|
|
|
//{
|
|
|
|
//{
|
|
|
|
// order.EndDate = DateTime.Now;
|
|
|
|
// order.EndDate = DateTime.Now;
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
//order.UpdatedTime = DateTime.Now;
|
|
|
|
//order.UpdatedTime = DateTime.Now;
|
|
|
|
//_baseOrderInfoServices.UpdateAsync(order);
|
|
|
|
//await _baseOrderInfoServices.UpdateAsync(order);
|
|
|
|
////6.2根据订单号去更新PRODUCT_PLANINFO
|
|
|
|
|
|
|
|
//List<ProductPlanInfo> productInfos = await _productPlanInfoServices.QueryAsync(x => x.OrderCode == orderCode);
|
|
|
|
#region 更新过点数据
|
|
|
|
//ProductPlanInfo productInfo = productInfos.FirstOrDefault();
|
|
|
|
PrintBarCode print = await _printBarCodeServices.FirstAsync(x => x.MaterialBarcode == bindingRecord1.BoxCode);
|
|
|
|
//if (productInfo.CompleteAmount == 0)
|
|
|
|
MaterialCompletion completion = new MaterialCompletion();
|
|
|
|
//{
|
|
|
|
completion.OrderCode = print.OrderCode;
|
|
|
|
// productInfo.CompleteAmount++;
|
|
|
|
completion.MaterialBarcode = bindingRecord1.BoxCode;
|
|
|
|
// productInfo.BeginTime = DateTime.Now;
|
|
|
|
completion.MaterialCode = print.MaterialCode;
|
|
|
|
//}
|
|
|
|
completion.MaterialName = print.MaterialName;
|
|
|
|
//if (productInfo.CompleteAmount == productInfo.PlanAmount)
|
|
|
|
completion.StationName = "1008" ;
|
|
|
|
//{
|
|
|
|
completion.CompleteDate = DateTime.Now;
|
|
|
|
// productInfo.EndTime = DateTime.Now;
|
|
|
|
await _iMaterialCompletionServices.AddAsync(completion);
|
|
|
|
//}
|
|
|
|
#endregion
|
|
|
|
//productInfo.UpdatedTime = DateTime.Now;
|
|
|
|
|
|
|
|
//await _productPlanInfoServices.UpdateAsync(productInfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception)
|
|
|
|
catch (Exception)
|
|
|
|