Compare commits

...

16 Commits

Author SHA1 Message Date
d9fb5d8d1d 改了规格查义 2026-04-23 15:37:21 +08:00
0292283f45 改了规格 2026-04-23 11:20:34 +08:00
9f059f7f34 修改规格 2026-04-22 17:07:11 +08:00
679a8ef22e 修改规格 2026-04-22 16:12:38 +08:00
bc8a8f3ad9 修改规格 2026-04-22 15:13:19 +08:00
345bb05af9 序列号转换 2026-04-22 09:04:44 +08:00
f6a23c2e5b 修改了个别规格不显示 2026-04-20 17:40:32 +08:00
81734d7e2f 防伪码 2026-04-20 14:15:08 +08:00
7012daaba2 修改了防伪码 2026-04-15 17:23:41 +08:00
1f489d7e93 修改了ID转换 2026-04-15 16:16:34 +08:00
6b1224ebd0 修改了防伪码 2026-04-15 15:33:56 +08:00
e690af265a 测试 2026-04-15 13:57:21 +08:00
13ec30acbd 改了规格 2026-04-15 13:56:39 +08:00
50633ae9c5 改了规格 2026-04-14 16:42:21 +08:00
ebeeb2806f 修改测试 2026-04-07 16:34:44 +08:00
82cd6e743a 修改了物料规格显示 2026-04-07 15:43:05 +08:00
24 changed files with 248 additions and 51 deletions

View File

@@ -25,16 +25,19 @@ namespace BarCode.Web.Api.Controllers
private readonly IBoxMarkService _boxMarkService; private readonly IBoxMarkService _boxMarkService;
private readonly IBoxMarkRepositories _boxMarkRepositories; private readonly IBoxMarkRepositories _boxMarkRepositories;
private readonly IExportExcelService _exportExcelService; private readonly IExportExcelService _exportExcelService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
public BoxMarkController( public BoxMarkController(
ILoginService loginService, ILoginService loginService,
IBoxMarkRepositories boxMarkRepositories, IBoxMarkRepositories boxMarkRepositories,
IBoxMarkService boxMarkService, IBoxMarkService boxMarkService,
IExportExcelService exportExcelService) IExportExcelService exportExcelService, IErpBasicDataExtendService erpBasicDataExtendService)
{ {
this._loginService = loginService; this._loginService = loginService;
this._boxMarkService = boxMarkService; this._boxMarkService = boxMarkService;
this._exportExcelService = exportExcelService; this._exportExcelService = exportExcelService;
this._boxMarkRepositories = boxMarkRepositories; this._boxMarkRepositories = boxMarkRepositories;
this._erpBasicDataExtendService = erpBasicDataExtendService;
} }
/// <summary> /// <summary>

View File

@@ -160,16 +160,16 @@
物料规格型号 物料规格型号
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.MaterialName"> <member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.MaterialName">
<summary> <summary>
物料名称 物料名称
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.BarCode"> <member name="P:BarCode.Web.Core.Dto.BoxMarkQueryResponse.BarCode">
<summary> <summary>
69条码 69条码
@@ -266,6 +266,16 @@
物料 物料
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Core.Dto.GenerateBoxMarkDto.Specifications">
<summary>
物料规格
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.GenerateBoxMarkDto.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.GenerateBoxMarkDto.ProductQty"> <member name="P:BarCode.Web.Core.Dto.GenerateBoxMarkDto.ProductQty">
<summary> <summary>
产品数量 产品数量
@@ -631,6 +641,12 @@
第二件装 第二件装
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Core.Dto.Box.SaveBoxDetailsRequest.Specifications">
<summary>
规格型号
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.Box.SaveBoxRequest"> <member name="T:BarCode.Web.Core.Dto.Box.SaveBoxRequest">
<summary> <summary>
保存箱信息(装箱保存,完成装箱) 保存箱信息(装箱保存,完成装箱)

View File

@@ -136,6 +136,11 @@
物料编码 物料编码
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Domain.Entitys.BoxDetails.Spec">
<summary>
物料规格
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.BoxDetails.Qty"> <member name="P:BarCode.Web.Domain.Entitys.BoxDetails.Qty">
<summary> <summary>
数量(装箱数量) 数量(装箱数量)
@@ -176,6 +181,16 @@
物料编码 物料编码
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Domain.Entitys.BoxMark.Specifications">
<summary>
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.BoxMark.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.BoxMark.ProductQty"> <member name="P:BarCode.Web.Domain.Entitys.BoxMark.ProductQty">
<summary> <summary>
产品数量 产品数量
@@ -491,6 +506,21 @@
物料编码 物料编码
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumberGenerateRecord.MaterialName">
<summary>
名称
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumberGenerateRecord.Specifications">
<summary>
规格型号
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumberGenerateRecord.BarCode">
<summary>
69码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumberGenerateRecord.CompanyId"> <member name="P:BarCode.Web.Domain.Entitys.SecurityNumberGenerateRecord.CompanyId">
<summary> <summary>
公司Id 公司Id
@@ -586,6 +616,21 @@
物料编码 物料编码
</summary> </summary>
</member> </member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumbers.MaterialName">
<summary>
名称
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumbers.Specifications">
<summary>
规格型号
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumbers.BarCode">
<summary>
69码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SecurityNumbers.DownLoadNumber"> <member name="P:BarCode.Web.Domain.Entitys.SecurityNumbers.DownLoadNumber">
<summary> <summary>
下载次数 下载次数
@@ -3430,7 +3475,7 @@
防伪码 防伪码
</summary> </summary>
</member> </member>
<member name="M:BarCode.Web.Domain.Services.SecurityNumberService.#ctor(BarCode.Web.Domain.Infrastructure.ISecurityNumbersRepositories,BarCode.Web.Domain.Infrastructure.ISecurityGenerateRecordRepositories,BarCode.Web.Domain.Services.Public.RedisClientService,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,Microsoft.Extensions.Logging.ILogger{BarCode.Web.Domain.Services.SecurityNumberService},BarCode.Web.Domain.Infrastructure.IBasicsRepositories,BarCode.Web.Domain.IService.Public.ISingleDataService)"> <member name="M:BarCode.Web.Domain.Services.SecurityNumberService.#ctor(BarCode.Web.Domain.Infrastructure.ISecurityNumbersRepositories,BarCode.Web.Domain.Infrastructure.ISecurityGenerateRecordRepositories,BarCode.Web.Domain.Services.Public.RedisClientService,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,Microsoft.Extensions.Logging.ILogger{BarCode.Web.Domain.Services.SecurityNumberService},BarCode.Web.Domain.Infrastructure.IBasicsRepositories,BarCode.Web.Domain.IService.Public.ISingleDataService,BarCode.Web.Domain.IService.Public.IErpService,BarCode.Web.Domain.IService.Public.IErpBasicDataExtendService)">
<summary> <summary>
序列号服务 序列号服务
</summary> </summary>

View File

@@ -26,6 +26,14 @@ namespace BarCode.Web.Core.Dto.Box
/// 第二件装 /// 第二件装
/// </summary> /// </summary>
public string TwoSerialNumber { get; set; } = string.Empty; public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 规格型号
/// </summary>
///
[Required(ErrorMessage = "物料规格不能为空")]
public string Specifications { get; set; } = string.Empty;
} }
} }

View File

@@ -34,14 +34,15 @@ namespace BarCode.Web.Core.Dto
/// </summary> /// </summary>
public string Specifications { get; set; } public string Specifications { get; set; }
/// <summary> /// <summary>
/// 物料名称
/// </summary>
public string MaterialName { get; set; }
/// <summary>
/// 物料编码 /// 物料编码
/// </summary> /// </summary>
public string MaterialNumber { get; set; } public string MaterialNumber { get; set; }
/// <summary>
/// 物料名称
/// </summary>
public string MaterialName { get; set; }
/// <summary> /// <summary>
/// 69条码 /// 69条码

View File

@@ -28,6 +28,14 @@ namespace BarCode.Web.Core.Dto
[Required(ErrorMessage = "物料不能为空")] [Required(ErrorMessage = "物料不能为空")]
public string MaterialNumber { get; set; } = string.Empty; public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 物料规格
/// </summary>
public string? Specifications { get; set; } = string.Empty;
/// <summary>
/// 物料名称
/// </summary>
public string? MaterialName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 产品数量 /// 产品数量
/// </summary> /// </summary>

View File

@@ -30,6 +30,14 @@ namespace BarCode.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("MaterialNumber")] [Column("MaterialNumber")]
public string MaterialNumber { get; set; } = ""; public string MaterialNumber { get; set; } = "";
/// <summary>
/// 物料规格
/// </summary>
[Column("Spec")]
public string Spec { get; set; } = "";
/// <summary> /// <summary>
/// 数量(装箱数量) /// 数量(装箱数量)
/// </summary> /// </summary>
@@ -40,6 +48,9 @@ namespace BarCode.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("SerialNumbers")] [Column("SerialNumbers")]
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
///// <summary> ///// <summary>
///// 是否计数 ///// 是否计数
///// </summary> ///// </summary>

View File

@@ -36,8 +36,20 @@ namespace BarCode.Web.Domain.Entitys
/// <summary> /// <summary>
/// 物料编码 /// 物料编码
/// </summary> /// </summary>
public string MaterialNumber { get; set; } public string MaterialNumber { get; set; }
/// <summary>
/// 物料编码
/// </summary>
[Column("Specifications")]
public string Specifications { get; set; }
/// <summary>
/// 物料名称
/// </summary>
[Column("MaterialName")]
public string MaterialName { get; set; }
/// <summary> /// <summary>
/// 产品数量 /// 产品数量
/// </summary> /// </summary>

View File

@@ -30,6 +30,26 @@ namespace BarCode.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("MaterialNumber")] [Column("MaterialNumber")]
public string MaterialNumber { get; set; } = string.Empty; public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 名称
/// </summary>
[Column("MaterialName")]
public string? MaterialName { get; set; } = string.Empty;
/// <summary>
/// 规格型号
/// </summary>
[Column("Specifications")]
public string? Specifications { get; set; } = string.Empty;
/// <summary>
///69码
/// </summary>
[Column("BarCode")]
public string? BarCode { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 公司Id /// 公司Id
/// </summary> /// </summary>

View File

@@ -46,6 +46,26 @@ namespace BarCode.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("MaterialNumber")] [Column("MaterialNumber")]
public string MaterialNumber { get; set; } = string.Empty; public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 名称
/// </summary>
[Column("MaterialName")]
public string? MaterialName { get; set; } = string.Empty;
/// <summary>
/// 规格型号
/// </summary>
[Column("Specifications")]
public string? Specifications { get; set; } = string.Empty;
/// <summary>
///69码
/// </summary>
[Column("BarCode")]
public string? BarCode { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 下载次数 /// 下载次数
/// </summary> /// </summary>

View File

@@ -340,8 +340,8 @@ namespace BarCode.Web.Domain.Entitys
{ {
if (this.IsUse) if (this.IsUse)
return Result.ReFailure($"序列码 {this.SerialNumber} 已被使用,不允许规格转换", 600007); return Result.ReFailure($"序列码 {this.SerialNumber} 已被使用,不允许规格转换", 600007);
if (!this.MaterialNumber.Equals(number)) //if (!this.MaterialNumber.Equals(number) )
{ //{
this.Old_MaterialNumber = this.MaterialNumber; this.Old_MaterialNumber = this.MaterialNumber;
this.old_Specifications = old_Specifications; this.old_Specifications = old_Specifications;
this.MaterialName= MaterialName; this.MaterialName= MaterialName;
@@ -349,9 +349,9 @@ namespace BarCode.Web.Domain.Entitys
this.BarCode= MaterialBarCode; this.BarCode= MaterialBarCode;
this.MaterialNumber = number; this.MaterialNumber = number;
}
return Result.ReSuccess();
return Result.ReSuccess();
} }
} }
} }

View File

@@ -1,19 +1,22 @@
using AutoMapper; using AutoMapper;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BarCode.Web.Core.Dto; using BarCode.Web.Core.Dto;
using BarCode.Web.Core.Dto.Erp;
using BarCode.Web.Core.Dto.Login; using BarCode.Web.Core.Dto.Login;
using BarCode.Web.Core.Internal.Results; using BarCode.Web.Core.Internal.Results;
using BarCode.Web.Domain.Entitys; using BarCode.Web.Domain.Entitys;
using BarCode.Web.Domain.Infrastructure; using BarCode.Web.Domain.Infrastructure;
using BarCode.Web.Domain.IService; using BarCode.Web.Domain.IService;
using BarCode.Web.Domain.IService.Public; using BarCode.Web.Domain.IService.Public;
using BarCode.Web.Domain.Services.Public;
using BarCode.Web.Domain.Values; using BarCode.Web.Domain.Values;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Org.BouncyCastle.Utilities.Date;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BarCode.Web.Domain.Services namespace BarCode.Web.Domain.Services
{ {
@@ -26,14 +29,18 @@ namespace BarCode.Web.Domain.Services
public readonly IBasicsRepositories _transactionRepositories; public readonly IBasicsRepositories _transactionRepositories;
private readonly IBoxMarkRepositories _boxMarkRepositories; private readonly IBoxMarkRepositories _boxMarkRepositories;
private readonly ILogger<BoxMarkService> _logger; private readonly ILogger<BoxMarkService> _logger;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
private readonly IErpService _erpService;
public BoxMarkService(IMapper mapper, ILogger<BoxMarkService> logger, public BoxMarkService(IMapper mapper, ILogger<BoxMarkService> logger,
IBasicsRepositories transactionRepositories, IBasicsRepositories transactionRepositories,
IBoxMarkRepositories boxMarkRepositories) IBoxMarkRepositories boxMarkRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IErpService erpService)
{ {
_mapper = mapper; _mapper = mapper;
_logger = logger; _logger = logger;
_transactionRepositories = transactionRepositories; _transactionRepositories = transactionRepositories;
_boxMarkRepositories = boxMarkRepositories; _boxMarkRepositories = boxMarkRepositories;
_erpBasicDataExtendService = erpBasicDataExtendService;
_erpService = erpService;
} }
/// <summary> /// <summary>
@@ -54,12 +61,23 @@ namespace BarCode.Web.Domain.Services
//1.获取最新的箱唛信息 //1.获取最新的箱唛信息
var billNo_new = await _boxMarkRepositories.GetLastBillNo(); var billNo_new = await _boxMarkRepositories.GetLastBillNo();
var materials_result = _erpService.BillQueryForMaterial().GetAwaiter().GetResult();
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
if (materials_result.IsSuccess)
materials = materials_result.Data.ToList();
dto.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber);
dto.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, dto.MaterialNumber);
//2.dto映射实体 //2.dto映射实体
var entity = new BoxMark(); var entity = new BoxMark();
entity= _mapper.Map(dto, entity); entity= _mapper.Map(dto, entity);
entity.Create(loginInfo.UserInfo.UcId); entity.Create(loginInfo.UserInfo.UcId);
entity.SupplierCode = supplierCode; entity.SupplierCode = supplierCode;
entity.OrgCode = orgCode; entity.OrgCode = orgCode;
entity.Specifications = dto.Specifications;
entity.MaterialName=dto.MaterialName;
int new_firstBillNo = billNo_new == null ? 0 : billNo_new.FirstBillNo; int new_firstBillNo = billNo_new == null ? 0 : billNo_new.FirstBillNo;
int new_lastBillNo = billNo_new == null ? 0 : billNo_new.LastBillNo; int new_lastBillNo = billNo_new == null ? 0 : billNo_new.LastBillNo;
entity.GenerateBillNo(new_firstBillNo, new_lastBillNo); entity.GenerateBillNo(new_firstBillNo, new_lastBillNo);

View File

@@ -128,15 +128,15 @@ namespace BarCode.Web.Domain.Services
var resCarton = box.Carton(dto.IsCarton, loginInfo.UserInfo.UcId); var resCarton = box.Carton(dto.IsCarton, loginInfo.UserInfo.UcId);
if (!resCarton.IsSuccess) return resCarton; if (!resCarton.IsSuccess) return resCarton;
var materialNumbers = dto.Details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList(); var materialNumbers = dto.Details.GroupBy(g => new { g.MaterialNumber, g.Specifications }).Select(s => s.Key).ToList();
foreach (var m in materialNumbers) foreach (var m in materialNumbers)
{ {
List<string> s=[null]; List<string> s=[null];
s.Clear(); s.Clear();
var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m)); var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m.MaterialNumber) && f.Spec.Equals(m.Specifications));
var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.SerialNumber).ToList(); var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m.MaterialNumber) && w.Specifications.Equals(m.Specifications)).Select(s => s.SerialNumber).ToList();
var serialNumbersTwo = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.TwoSerialNumber).ToList(); var serialNumbersTwo = dto.Details.Where(w => w.MaterialNumber.Equals(m.MaterialNumber) && w.Specifications.Equals(m.Specifications)).Select(s => s.TwoSerialNumber).ToList();
var intCount = serialNumbers.Count(); var intCount = serialNumbers.Count();
s = serialNumbers; s = serialNumbers;
serialNumbersTwo.RemoveAll(string.IsNullOrEmpty); serialNumbersTwo.RemoveAll(string.IsNullOrEmpty);
@@ -168,11 +168,12 @@ namespace BarCode.Web.Domain.Services
{ {
detail = new BoxDetails() detail = new BoxDetails()
{ {
MaterialNumber = m, MaterialNumber = m.MaterialNumber,
// Qty = serialNumbers.Count(), // Qty = serialNumbers.Count(),
Qty = intCount, Qty = intCount,
// SerialNumbers = serialNumbers // SerialNumbers = serialNumbers
SerialNumbers = s SerialNumbers = s,
Spec=m.Specifications
}; };
box.Details.Add(detail); box.Details.Add(detail);
} }

View File

@@ -182,12 +182,12 @@ namespace BarCode.Web.Domain.Services.Public
else else
{ {
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-开始时间(20260{beginTime}"); _logger.LogInformation($"物料拉取-开始时间(20260407{beginTime}");
//组装dto //组装dto
var erp_materials_list = mats.Select(x => _mapper.Map<ErpMaterialDto>(x)).ToList(); var erp_materials_list = mats.Select(x => _mapper.Map<ErpMaterialDto>(x)).ToList();
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan()))); _memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"物料拉取-结束时间(20260{endTime}"); _logger.LogInformation($"物料拉取-结束时间(20260407{endTime}");
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list); return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
} }

View File

@@ -124,7 +124,7 @@ namespace BarCode.Web.Domain.Services
//修改有更新的数据 //修改有更新的数据
if (mats.Count != 0) if (mats.Count != 0)
{ {
var isFModifyDateMatNumbs = mats.Where(x => x.FModifyDate >= DateTime.Now.AddDays(-35)).Select(x => new { MaterialNumber = x.MaterialNumber, Specifications = x.Specifications, MaterialName = x.MaterialName, BarCode = x.BarCode, OrgId = x.OrgId, FCreateDate=x.FCreateDate, FModifyDate=x.FModifyDate, FProductLines1 = x.FProductLines1, FProductCATs1 = x.FProductCATs1, FMaterialGroup = x.FMaterialGroup, F_Product = x.F_Product, FProductLines1FName = x.FProductLines1FName, FProductCATs1FName = x.FProductCATs1FName, FMaterialGroupFName = x.FMaterialGroupFName, MaterialId = x.MaterialId, FProductIDS = x.FProductIDS, FDocumentStatus = x.FDocumentStatus }).ToList(); var isFModifyDateMatNumbs = mats.Where(x => x.FModifyDate >= DateTime.Now.AddDays(-35)).Select(x => new { MaterialNumber = x.MaterialNumber, Specifications = x.Specifications, MaterialName = x.MaterialName, BarCode = x.BarCode, OrgId = x.OrgId, FCreateDate=x.FCreateDate, FModifyDate=x.FModifyDate, FProductLines1 = x.FProductLines1, FProductCATs1 = x.FProductCATs1, FMaterialGroup = x.FMaterialGroup, F_Product = x.F_Product, FProductLines1FName = x.FProductLines1FName, FProductCATs1FName = x.FProductCATs1FName, FMaterialGroupFName = x.FMaterialGroupFName, MaterialId = x.MaterialId, FProductIDS = x.FProductIDS, FDocumentStatus = x.FDocumentStatus, IdConvertBar=x.IdConvertBar }).ToList();
// //
@@ -169,6 +169,7 @@ namespace BarCode.Web.Domain.Services
//entity.FProductCATs1FName = mat.FProductCATs1FName; //entity.FProductCATs1FName = mat.FProductCATs1FName;
//entity.FMaterialGroupFName = mat.FMaterialGroupFName; //entity.FMaterialGroupFName = mat.FMaterialGroupFName;
entity.MaterialId = mat.MaterialId; entity.MaterialId = mat.MaterialId;
entity.IdConvertBar = mat.IdConvertBar;
//entity.FProductIDS = mat.FProductIDS; //entity.FProductIDS = mat.FProductIDS;
continue; continue;
} }

View File

@@ -1,4 +1,5 @@
using BarCode.Web.Core.Dto.Login; using BarCode.Web.Core.Dto.Erp;
using BarCode.Web.Core.Dto.Login;
using BarCode.Web.Core.Dto.SecurityNumbers; using BarCode.Web.Core.Dto.SecurityNumbers;
using BarCode.Web.Core.Internal.Results; using BarCode.Web.Core.Internal.Results;
using BarCode.Web.Domain.Entitys; using BarCode.Web.Domain.Entitys;
@@ -32,6 +33,8 @@ namespace BarCode.Web.Domain.Services
private readonly ILogger<SecurityNumberService> _logger; private readonly ILogger<SecurityNumberService> _logger;
private IBasicsRepositories _transactionRepositories; private IBasicsRepositories _transactionRepositories;
private readonly ISingleDataService _singleDataService; private readonly ISingleDataService _singleDataService;
private readonly IErpService _erpService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
/// <summary> /// <summary>
/// 序列号服务 /// 序列号服务
/// </summary> /// </summary>
@@ -46,7 +49,7 @@ namespace BarCode.Web.Domain.Services
RedisClientService redisClientService, RedisClientService redisClientService,
IServiceScopeFactory serviceScopeFactory, IServiceScopeFactory serviceScopeFactory,
ILogger<SecurityNumberService> logger, IBasicsRepositories transactionRepositories, ILogger<SecurityNumberService> logger, IBasicsRepositories transactionRepositories,
ISingleDataService singleDataService) ISingleDataService singleDataService, IErpService erpService, IErpBasicDataExtendService erpBasicDataExtendService)
{ {
_securityNumbersRepositories = securityNumbersRepositories; _securityNumbersRepositories = securityNumbersRepositories;
_sGenerateRecordRepositories = sGenerateRecordRepositories; _sGenerateRecordRepositories = sGenerateRecordRepositories;
@@ -55,6 +58,8 @@ namespace BarCode.Web.Domain.Services
_logger = logger; _logger = logger;
_transactionRepositories = transactionRepositories; _transactionRepositories = transactionRepositories;
_singleDataService = singleDataService; _singleDataService = singleDataService;
_erpService = erpService;
_erpBasicDataExtendService = erpBasicDataExtendService;
} }
/// <summary> /// <summary>
/// 下载 /// 下载
@@ -123,6 +128,11 @@ namespace BarCode.Web.Domain.Services
if (info == true) return Task.FromResult(Result.ReFailure(ResultCodes.SecurityNumberG)); if (info == true) return Task.FromResult(Result.ReFailure(ResultCodes.SecurityNumberG));
_redisClientService.SetStringKey($"barcode_cenerate_security", true, TimeSpan.FromMinutes(5)); _redisClientService.SetStringKey($"barcode_cenerate_security", true, TimeSpan.FromMinutes(5));
var materials_result = _erpService.BillQueryForMaterial().GetAwaiter().GetResult();
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
if (materials_result.IsSuccess)
materials = materials_result.Data.ToList();
string supplierCode = ""; string supplierCode = "";
string orgCode = ""; string orgCode = "";
if (dto.OrgCode.Substring(0, 1).Equals("s")) if (dto.OrgCode.Substring(0, 1).Equals("s"))
@@ -140,6 +150,9 @@ namespace BarCode.Web.Domain.Services
OrgCode = orgCode, OrgCode = orgCode,
SupplierCode = supplierCode, SupplierCode = supplierCode,
MaterialNumber = dto.MaterialNumber, MaterialNumber = dto.MaterialNumber,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber),
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, dto.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, dto.MaterialNumber),
Number = dto.Number Number = dto.Number
}; };
sg.GenerateLotNumber(number); sg.GenerateLotNumber(number);
@@ -197,6 +210,9 @@ namespace BarCode.Web.Domain.Services
OrgCode = sg.OrgCode, OrgCode = sg.OrgCode,
SupplierCode = sg.SupplierCode, SupplierCode = sg.SupplierCode,
MaterialNumber = sg.MaterialNumber, MaterialNumber = sg.MaterialNumber,
MaterialName = sg.MaterialName,
Specifications = sg.Specifications,
BarCode = sg.BarCode,
GenerateRecordId = sg.Id GenerateRecordId = sg.Id
}; };
sList.Add(s); sList.Add(s);

View File

@@ -847,14 +847,30 @@ namespace BarCode.Web.Domain.Services
return Result.ReFailure(ResultCodes.NoDateError); return Result.ReFailure(ResultCodes.NoDateError);
var serialNumbers = await _serialNumbersRepositories.GetEntityList(dto.SerialNumbers); var serialNumbers = await _serialNumbersRepositories.GetEntityList(dto.SerialNumbers);
var exec_m = serialNumbers.Where(w => w.MaterialNumber == dto.MaterialNumber).Select(s => s.MaterialNumber).ToList(); //var exec_m = serialNumbers.Where(w => w.MaterialNumber == dto.MaterialNumber).Select(s => s.MaterialNumber).ToList();
if (exec_m.Count() > 0) //if (exec_m.Count() > 0)
return Result.ReFailure($"序列号{string.Join(",", exec_m)}对应物料跟需要修改的物料一致", 611007); // return Result.ReFailure($"序列号{string.Join(",", exec_m)}对应物料跟需要修改的物料一致", 611007);
//修改物料
//修改物料 //修改物料
foreach (var s in serialNumbers) foreach (var s in serialNumbers)
{ {
var res = s.UpdateMaterial(dto.MaterialNumber, _erpBasicDataExtendService.GetMaterialName(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialBarCode(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber));// _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber)); foreach(var y in dto.specifications)
{
if(s.SerialNumber==y.serialNumber)
{
s.old_Specifications=y.old_Specification;
}
}
}
//修改物料
foreach (var s in serialNumbers)
{
//var res = s.UpdateMaterial(dto.MaterialNumber, _erpBasicDataExtendService.GetMaterialName(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialBarCode(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber));// _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber));
var res = s.UpdateMaterial(dto.MaterialNumber, _erpBasicDataExtendService.GetMaterialName(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber), _erpBasicDataExtendService.GetMaterialBarCode(materials, dto.MaterialNumber), s.old_Specifications);// _erpBasicDataExtendService.GetMaterialSpecifications(materials, dto.MaterialNumber));
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;
} }
generateRecord.UpdateMaterial(); generateRecord.UpdateMaterial();

View File

@@ -148,6 +148,7 @@ namespace BarCode.Web.Repositories
if (dto.CreateEndDate != null) if (dto.CreateEndDate != null)
query = query.Where(w => w.order.CreateTime.Date <= dto.CreateEndDate.Value); query = query.Where(w => w.order.CreateTime.Date <= dto.CreateEndDate.Value);
int total = await query.CountAsync(); int total = await query.CountAsync();
var list = await query.Select(s => new BoxMarkQueryResponse() var list = await query.Select(s => new BoxMarkQueryResponse()
{ {
@@ -155,9 +156,9 @@ namespace BarCode.Web.Repositories
DetailId=s.detail.Id, DetailId=s.detail.Id,
BillNo = s.detail.BillNo, BillNo = s.detail.BillNo,
OrderBillNo = s.order.OrderBillNo, OrderBillNo = s.order.OrderBillNo,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.order.MaterialNumber), MaterialName = string.IsNullOrEmpty(s.order.MaterialName) ? _erpBasicDataExtendService.GetMaterialName(materials, s.order.MaterialNumber) : s.order.MaterialName, //_erpBasicDataExtendService.GetMaterialName(materials, s.order.MaterialNumber),
MaterialNumber = s.order.MaterialNumber, MaterialNumber = s.order.MaterialNumber,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.order.MaterialNumber), Specifications = string.IsNullOrEmpty(s.order.Specifications) ? _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.order.MaterialNumber) : s.order.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.order.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.order.MaterialNumber), BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.order.MaterialNumber),
CratingQty = s.order.CratingQty, CratingQty = s.order.CratingQty,

View File

@@ -240,7 +240,7 @@ namespace BarCode.Web.Repositories
query = query.Where(w => rec_code == w.box.OrgCode); query = query.Where(w => rec_code == w.box.OrgCode);
} }
if (!string.IsNullOrEmpty(dto.MaterialNumber)) if (!string.IsNullOrEmpty(dto.MaterialNumber))
query = query.Where(w => mNumber.Contains(w.detail.MaterialNumber)); query = query.Where(w => (mNumber.Contains(w.detail.MaterialNumber)||w.detail.Spec.Contains(dto.MaterialNumber)));
if (!string.IsNullOrEmpty(dto.BoxBeginNo)) if (!string.IsNullOrEmpty(dto.BoxBeginNo))
{ {
//V01.05.00: 只输入一个框则只查输入值,不做区间查询 //V01.05.00: 只输入一个框则只查输入值,不做区间查询
@@ -289,7 +289,7 @@ namespace BarCode.Web.Repositories
Id = s.box.Id, Id = s.box.Id,
DetailId = s.detail == null ? 0 : s.detail.Id, DetailId = s.detail == null ? 0 : s.detail.Id,
BoxBillNo = s.box.BoxBillNo, BoxBillNo = s.box.BoxBillNo,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail == null ? "" : s.detail.MaterialNumber), Specifications =s.detail==null?"":s.detail.Spec ,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail == null ? "" : s.detail.MaterialNumber),
MaterialNumber = s.detail == null ? "" : s.detail.MaterialNumber, MaterialNumber = s.detail == null ? "" : s.detail.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail == null ? "" : s.detail.MaterialNumber), MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail == null ? "" : s.detail.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.detail == null ? "" : s.detail.MaterialNumber), BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.detail == null ? "" : s.detail.MaterialNumber),

View File

@@ -289,9 +289,9 @@ namespace BarCode.Web.Repositories
query = query.Where(w => rec_code == w.OrgCode); query = query.Where(w => rec_code == w.OrgCode);
} }
if (!string.IsNullOrEmpty(dto.MaterialNumber)) if (!string.IsNullOrEmpty(dto.MaterialNumber))
query = query.Where(w => mNumber.Contains(w.MaterialNumber)); query = query.Where(w => (mNumber.Contains(w.MaterialNumber)|| mSpec.Contains(w.Specifications) || w.Specifications.Contains(dto.MaterialNumber)));
if (!string.IsNullOrEmpty(dto.MaterialNumber)) //if (!string.IsNullOrEmpty(dto.MaterialNumber))
query = query.Where(w => (mSpec.Contains(w.Specifications))); //query = query.Where(w => (mSpec.Contains(w.Specifications)|| w.Specifications.Contains(dto.MaterialNumber)));

View File

@@ -265,10 +265,10 @@ namespace BarCode.Web.Repositories
var list = await query.Select(s => new SecurityGenerateRecordInfoResponse() var list = await query.Select(s => new SecurityGenerateRecordInfoResponse()
{ {
Id = s.Id, Id = s.Id,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), Specifications = s.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber),
MaterialNumber = s.MaterialNumber, MaterialNumber = s.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), MaterialName = s.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), BarCode =s.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber),
LotNumber = s.LotNumber, LotNumber = s.LotNumber,
GenerateComplete = s.IsGenerateComplete == true ? "已完成" : "生成中", GenerateComplete = s.IsGenerateComplete == true ? "已完成" : "生成中",
Number = s.Number, Number = s.Number,

View File

@@ -193,7 +193,7 @@ namespace BarCode.Web.Repositories
Id = s.serial.Id, Id = s.serial.Id,
GenerateRecordId = s.serial.GenerateRecordId, GenerateRecordId = s.serial.GenerateRecordId,
SecurityNumber = s.serial.SecurityNumber, SecurityNumber = s.serial.SecurityNumber,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), Specifications = string.IsNullOrEmpty(s.serial.Specifications) ? s.sg.Specifications : s.serial.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
Number = s.sg == null ? 0 : s.sg.Number, Number = s.sg == null ? 0 : s.sg.Number,
Creator = _singleDataService.GetSingleData(SingleAction.Users, companyId, s.serial.CreatorId), Creator = _singleDataService.GetSingleData(SingleAction.Users, companyId, s.serial.CreatorId),
CreateTime = s.serial.CreateTime.DateToStringSeconds(), CreateTime = s.serial.CreateTime.DateToStringSeconds(),

View File

@@ -754,7 +754,7 @@ namespace BarCode.Web.Repositories
BoxId = s.serial.BoxId, BoxId = s.serial.BoxId,
IsCarton = (s.serial.BoxId > 0 || s.serial.IsUse == true) ? true : false, IsCarton = (s.serial.BoxId > 0 || s.serial.IsUse == true) ? true : false,
IsOldData = true,//扫箱号获取 默认就是老数据 IsOldData = true,//扫箱号获取 默认就是老数据
Specifications = s.sg.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), Specifications =string.IsNullOrEmpty(s.serial.Specifications)? s.sg.Specifications: s.serial.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber),
MaterialNumber = s.serial.MaterialNumber, MaterialNumber = s.serial.MaterialNumber,
MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber),
BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber),