diff --git a/ZR.Model/MES/wms/ERP_WMS_interactiveModel.cs b/ZR.Model/MES/wms/ERP_WMS_interactiveModel.cs
index 48d5dbe9..46e62184 100644
--- a/ZR.Model/MES/wms/ERP_WMS_interactiveModel.cs
+++ b/ZR.Model/MES/wms/ERP_WMS_interactiveModel.cs
@@ -29,7 +29,7 @@ namespace ZR.Model.MES.wms
public string Qty { get; set; }
///
- ///
+ /// 批次
///
public string LotNo { get; set; }
diff --git a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs
index caf9a52d..3a6176e9 100644
--- a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs
+++ b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs
@@ -7,6 +7,7 @@ using SqlSugar;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Service.mes.wms.IService;
+using ZR.Service.mes.wms_u8;
using ZR.Service.Utils;
namespace ZR.Service.mes.wms
@@ -59,7 +60,7 @@ namespace ZR.Service.mes.wms
if (resultionPackage == null)
{
Context.Ado.RollbackTran();
- throw new Exception("其中一箱外标签解析失败,第" + (i + 1) + "箱");
+ throw new Exception($"其中一箱外标签解析失败,第{i + 1}编码:{packageArray[i]}");
}
// 入库时查出此批次号箱已入库,则报警提示
bool hasWarehouse = Context
@@ -168,6 +169,56 @@ namespace ZR.Service.mes.wms
Context.Ado.RollbackTran();
throw new Exception("操作记录插入失败");
}
+
+ // 入库信息转发U8
+
+ //1.构建信息
+ List u8PackageList = new();
+ foreach (var item in preparegoodsList)
+ {
+ string dateString = DateTime.Now.ToString("yyyyMMdd");
+ // 使用正则表达式匹配日期模式
+ string pattern = @"(\d{2})(\d{2})(\d{2})";
+ Match match = Regex.Match(item.PackageCodeClient, pattern);
+
+ if (match.Success)
+ {
+ // 提取匹配的年份、月份和日期
+ string year = match.Groups[1].Value;
+ string month = match.Groups[2].Value;
+ string day = match.Groups[3].Value;
+ // 转换为四位数年份(假设2000年代)
+ string fullYear = "20" + year;
+ // 组合为yyyyMMdd格式
+ dateString = fullYear + month + day;
+ }
+ else
+ {
+ logger.Warn($"未找到匹配的日期模式:{item.PackageCodeClient}");
+ }
+ ERP_WMS_interactiveModelQuery u8PackageItem =
+ new()
+ {
+ materialCode = item.Partnumber,
+ location = item.LocationCode,
+ Qty = item.GoodsNumLogic.ToString(),
+ // 批次号
+ LotNo = dateString,
+ createTime = DateTime.Now,
+ userID = createName,
+ guid = Guid.NewGuid().ToString(),
+ lineno = "涂装生产线"
+ };
+ u8PackageList.Add(u8PackageItem);
+ }
+ string urlBase = "http://gam.com.cn:8054/";
+ ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
+ ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.inbounded(
+ urlBase,
+ u8PackageList
+ );
+ //TODO 对U8返回结果进行解析
+ logger.Warn(u8ErpResult);
Context.Ado.CommitTran();
return result;
}
@@ -412,9 +463,7 @@ namespace ZR.Service.mes.wms
.Where(it => it.WorkOrderNum == resultionPackage.WorkoderID)
// .Where(it => it.PackingCode.EndsWith(packingCode))
// .Where(it => packingCode == int.Parse(it.PackingCode.Substring(7)).ToString())
- .Where(it =>
- package_no == int.Parse(SqlFunc.Right(it.PackingCode, 5))
- )
+ .Where(it => package_no == int.Parse(SqlFunc.Right(it.PackingCode, 5)))
.Where(it => it.BFilled == true)
.First();
if (recourd == null)
@@ -425,9 +474,7 @@ namespace ZR.Service.mes.wms
var inspect = Context
.Queryable()
.Where(it => it.Workorder == resultionPackage.WorkoderID)
- .Where(it =>
- package_no == int.Parse(SqlFunc.Right(it.Packcode, 5))
- )
+ .Where(it => package_no == int.Parse(SqlFunc.Right(it.Packcode, 5)))
//.Where(it => it.Packcode.EndsWith(package_no))
.OrderByDescending(it => it.CreatedTime)
.First();
diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs
index 4cd83eba..b47cd2c4 100644
--- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs
+++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs
@@ -1,10 +1,13 @@
using System;
+using System.Text.RegularExpressions;
+using Aliyun.OSS;
using Infrastructure.Attribute;
using Microsoft.AspNetCore.Http.HttpResults;
using SqlSugar;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Service.mes.wms.IService;
+using ZR.Service.mes.wms_u8;
namespace ZR.Service.mes.wms
{
@@ -19,6 +22,7 @@ namespace ZR.Service.mes.wms
: BaseService,
IWmGoodsOutProductionService
{
+ private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
///
/// 查询出库货物记录表列表
///
@@ -136,6 +140,61 @@ namespace ZR.Service.mes.wms
.IgnoreColumns(ignoreAllNullColumns: true)
.ExecuteCommand();
}
+
+ // 出库信息转发U8
+
+ //1.构建信息
+ List outPackagelist = new()
+ {
+ model
+ };
+ List u8PackageList = new();
+ foreach (var item in outPackagelist)
+ {
+ string dateString = DateTime.Now.ToString("yyyyMMdd");
+ // 使用正则表达式匹配日期模式
+ string pattern = @"(\d{2})(\d{2})(\d{2})";
+ Match match = Regex.Match(item.PackageCodeClient, pattern);
+
+ if (match.Success)
+ {
+ // 提取匹配的年份、月份和日期
+ string year = match.Groups[1].Value;
+ string month = match.Groups[2].Value;
+ string day = match.Groups[3].Value;
+ // 转换为四位数年份(假设2000年代)
+ string fullYear = "20" + year;
+ // 组合为yyyyMMdd格式
+ dateString = fullYear + month + day;
+ }
+ else
+ {
+ logger.Warn($"未找到匹配的日期模式:{item.PackageCodeClient}");
+ }
+ ERP_WMS_interactiveModelQuery u8PackageItem =
+ new()
+ {
+ materialCode = item.Partnumber,
+ location = item.LocationCode,
+ Qty = item.GoodsNumLogic.ToString(),
+ // 批次号
+ LotNo = dateString,
+ createTime = DateTime.Now,
+ userID = model.CreatedBy ?? "手动单箱出库",
+ guid = Guid.NewGuid().ToString(),
+ lineno = "涂装生产线"
+ };
+ u8PackageList.Add(u8PackageItem);
+ }
+ string urlBase = "http://gam.com.cn:8054/";
+ ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
+ ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.outbounded(
+ urlBase,
+ u8PackageList
+ );
+ //TODO 对U8返回结果进行解析
+ logger.Warn(u8ErpResult);
+
return Context.Insertable(model).ExecuteReturnEntity();
}
@@ -176,6 +235,7 @@ namespace ZR.Service.mes.wms
int totalPackage = 0;
int totalPartnumber = 0;
List packageCodeRemark = new();
+ List< WmGoodsOutRecord > outRecordList = new();
if (type == 1)
{
var list = parm.Ids;
@@ -208,6 +268,7 @@ namespace ZR.Service.mes.wms
CreatedBy = parm.CreatedBy ?? "batch",
CreatedTime = time,
};
+ outRecordList.Add(outRecord);
// 记录统计
totalPackage++;
if (!partnumbers.Contains(nowProduction.Partnumber))
@@ -221,6 +282,7 @@ namespace ZR.Service.mes.wms
.Deleteable()
.Where(it => it.Id == nowProduction.Id)
.ExecuteCommand();
+
}
}
else if (type == 2)
@@ -268,6 +330,7 @@ namespace ZR.Service.mes.wms
CreatedBy = parm.CreatedBy ?? "batch",
CreatedTime = time,
};
+ outRecordList.Add(outRecord);
// 记录统计
totalPackage++;
if (!partnumbers.Contains(nowProduction.Partnumber))
@@ -313,6 +376,55 @@ namespace ZR.Service.mes.wms
CreatedTime = DateTime.Now,
};
int recordNum = Context.Insertable(wmGoodsRecord).ExecuteCommand();
+ // 出库信息转发U8
+
+ //1.构建信息
+ List u8PackageList = new();
+ foreach (var item in outRecordList)
+ {
+ string dateString = DateTime.Now.ToString("yyyyMMdd");
+ // 使用正则表达式匹配日期模式
+ string pattern = @"(\d{2})(\d{2})(\d{2})";
+ Match match = Regex.Match(item.PackageCodeClient, pattern);
+
+ if (match.Success)
+ {
+ // 提取匹配的年份、月份和日期
+ string year = match.Groups[1].Value;
+ string month = match.Groups[2].Value;
+ string day = match.Groups[3].Value;
+ // 转换为四位数年份(假设2000年代)
+ string fullYear = "20" + year;
+ // 组合为yyyyMMdd格式
+ dateString = fullYear + month + day;
+ }
+ else
+ {
+ logger.Warn($"未找到匹配的日期模式:{item.PackageCodeClient}");
+ }
+ ERP_WMS_interactiveModelQuery u8PackageItem =
+ new()
+ {
+ materialCode = item.Partnumber,
+ location = item.LocationCode,
+ Qty = item.GoodsNumLogic.ToString(),
+ // 批次号
+ LotNo = dateString,
+ createTime = DateTime.Now,
+ userID = parm.CreatedBy ?? "手动批量出库",
+ guid = Guid.NewGuid().ToString(),
+ lineno = "涂装生产线"
+ };
+ u8PackageList.Add(u8PackageItem);
+ }
+ string urlBase = "http://gam.com.cn:8054/";
+ ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
+ ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.outbounded(
+ urlBase,
+ u8PackageList
+ );
+ //TODO 对U8返回结果进行解析
+ logger.Warn(u8ErpResult);
return "ok";
}
}
diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs
index 27545d60..99871b93 100644
--- a/ZR.Service/mes/wms/WmOutOrderService.cs
+++ b/ZR.Service/mes/wms/WmOutOrderService.cs
@@ -10,6 +10,7 @@ using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Repository;
using ZR.Service.mes.wms.IService;
+using ZR.Service.mes.wms_u8;
using ZR.Service.Utils;
namespace ZR.Service.mes.wms
@@ -578,6 +579,55 @@ namespace ZR.Service.mes.wms
Context.Ado.RollbackTran();
throw new Exception("记录插入失败");
}
+ // 出库信息转发U8
+
+ //1.构建信息
+ List u8PackageList = new();
+ foreach (var item in insertList)
+ {
+ string dateString = DateTime.Now.ToString("yyyyMMdd");
+ // 使用正则表达式匹配日期模式
+ string pattern = @"(\d{2})(\d{2})(\d{2})";
+ Match match = Regex.Match(item.PackageCodeClient, pattern);
+
+ if (match.Success)
+ {
+ // 提取匹配的年份、月份和日期
+ string year = match.Groups[1].Value;
+ string month = match.Groups[2].Value;
+ string day = match.Groups[3].Value;
+ // 转换为四位数年份(假设2000年代)
+ string fullYear = "20" + year;
+ // 组合为yyyyMMdd格式
+ dateString = fullYear + month + day;
+ }
+ else
+ {
+ logger.Warn($"未找到匹配的日期模式:{item.PackageCodeClient}");
+ }
+ ERP_WMS_interactiveModelQuery u8PackageItem =
+ new()
+ {
+ materialCode = item.Partnumber,
+ location = item.LocationCode,
+ Qty = item.GoodsNumLogic.ToString(),
+ // 批次号
+ LotNo = dateString,
+ createTime = DateTime.Now,
+ userID = Createby,
+ guid = Guid.NewGuid().ToString(),
+ lineno = "涂装生产线"
+ };
+ u8PackageList.Add(u8PackageItem);
+ }
+ string urlBase = "http://gam.com.cn:8054/";
+ ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
+ ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.outbounded(
+ urlBase,
+ u8PackageList
+ );
+ //TODO 对U8返回结果进行解析
+ logger.Warn(u8ErpResult);
Context.Ado.CommitTran();
return (sum_delete, sum_insert);
}