拆箱拼箱功能优化,标签解析功能优化

This commit is contained in:
2024-05-15 11:07:24 +08:00
parent 522cba1fbd
commit 5e0be58a1d
7 changed files with 155 additions and 50 deletions

View File

@@ -1,7 +1,11 @@
using Infrastructure.Attribute;
using MimeKit.Utils;
using Org.BouncyCastle.Utilities.IO.Pem;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.RegularExpressions;
using ZR.Model.MES.pro;
using ZR.Model.MES.wms;
@@ -213,8 +217,41 @@ namespace ZR.Service.mes.wms
//解析外箱标签码
public ResultionPackageCodeDto ResolutionPackage(string code)
{
MaterialUtils materialToos = new MaterialUtils();
return materialToos.ResolutionPackage(code);
try
{
MaterialUtils materialToos = new MaterialUtils();
ResultionPackageCodeDto packageCodeDto = materialToos.ResolutionPackage(code);
if(packageCodeDto == null)
{
return null;
}
WmGoodsChangeLog changeLog = Context.Queryable<WmGoodsChangeLog>()
.Where(it => it.Description.Contains(packageCodeDto.PatchCode))
.OrderByDescending(it => it.CreatedTime)
.First();
if(changeLog != null)
{
// 拼箱
if(changeLog.Type == 1)
{
var json = JsonSerializer.Deserialize<WmGoodsConsolidationJSON>(changeLog.JsonMsg);
packageCodeDto.Remark = "标签涉及拼箱,参考标签:" + json.NewPartnumber;
}
// 拆箱
else if (changeLog.Type == 2)
{
var json = JsonSerializer.Deserialize<WmGoodsUnpackingJSON>(changeLog.JsonMsg);
packageCodeDto.Remark = "标签涉及拆箱参考数据,主箱:" + json.MainPackage.PatchCode + "\n次标签1:"+json.NewPatchCode1 + "\n次标签2:" + json.NewPatchCode2;
}
}
return packageCodeDto;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
/*// 初步进行解析检测,增加解析成功率
string[] splitstr = code.Split('^');
if (splitstr.Length < 1)
@@ -342,7 +379,7 @@ namespace ZR.Service.mes.wms
}
catch (Exception e)
{
return "标签存在异常!";
return "标签存在异常!" + e.Message;
}
}

View File

@@ -148,7 +148,6 @@ namespace ZR.Service.mes.wms
int startIndex = (page - 1) * rows;
//数据总数
int sum = resultList.Count;
if (startIndex + rows > sum)
{
resultList = resultList.Skip(startIndex).Take(sum).ToList();
@@ -158,44 +157,6 @@ namespace ZR.Service.mes.wms
resultList = resultList.Skip(startIndex).Take(startIndex + rows).ToList();
}
return resultList;
/*if (rawdatas != null && rawdatas.Count > 0)
{
//todo 对字段进行拆分
List<WmGoods_nodeDto> WmGoods_nodeDto_list = rawdatas.Select(p => new WmGoods_nodeDto()
{
Id = p.Id,
PackageCode = p.PackageCode,
PackageCodeClient_short_parent = p.PackageCodeClient.Split("_")[0],
PackageCodeClient_son = p.PackageCodeClient,
PackageCodeOriginal = p.PackageCodeClient,
LocationCode = p.LocationCode,
Partnumber = p.Partnumber,
GoodsNumLogic = p.GoodsNumLogic,
GoodsNumAction = p.GoodsNumAction,
EntryWarehouseTime = p.EntryWarehouseTime,
Remark = p.Remark,
}).ToList();
//todo 分组 聚合 生成父节点
List<WmGoods_nodeDto> WmGoods_nodeDto_list_parent = WmGoods_nodeDto_list.GroupBy(p => p.PackageCodeClient_short_parent)
.Select(group => new WmGoods_nodeDto()
{
PackageCodeClient_short_parent = "",
PackageCodeClient_son = group.Key,
GoodsNumLogic = group.Sum(group => group.GoodsNumLogic),
GoodsNumAction = group.Sum(group => group.GoodsNumAction),
Partnumber = group.Max(group => group.Partnumber),
Pack_num = group.Count()
}).ToList();
//todo 合并
return WmGoods_nodeDto_list_parent.OrderByDescending(it => it.PackageCodeClient_son).ToList();
}
return null;*/
}
/// <summary>
/// 移动端 短批次号详情
@@ -220,6 +181,18 @@ namespace ZR.Service.mes.wms
Remark = (!string.IsNullOrEmpty(it.Remark)? it.Remark:"无备注"),
})
.ToList();
foreach (WmGoodsNowProductionDto item in response)
{
WmMaterial material = Context.Queryable<WmMaterial>()
.Where(it => it.Partnumber == item.Partnumber)
.First();
if (material == null)
{
item.Description = "此零件号不在物料清单内!";
continue;
}
item.Description = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
}
return response;
}