Compare commits

...

74 Commits

Author SHA1 Message Date
9dc09169e4 修改了会出现多个的 2025-08-12 10:20:05 +08:00
91c1ba2e6b 改提示语 2025-08-08 14:22:10 +08:00
6b8956d5d5 换行 2025-08-08 14:03:56 +08:00
095462f13d 加换行 2025-08-08 13:37:21 +08:00
1aadd84ed3 加了br 2025-08-08 11:59:48 +08:00
8324794a0f 改了提示换行 2025-08-08 11:48:13 +08:00
6a60c68537 去掉条码看看 2025-08-08 11:10:43 +08:00
82ecf7758f 加了验证接口 2025-08-08 10:18:16 +08:00
73d9195dc9 改了提示语 2025-08-07 16:31:11 +08:00
ce707d726f 修改序列号 2025-08-07 15:58:11 +08:00
832335e6f5 测试 2025-08-07 13:50:30 +08:00
89674ae456 修改了规格 2025-08-07 11:56:35 +08:00
1857e290ed 改提示 2025-08-07 10:06:39 +08:00
d0d4eca7a8 修改序列号拦截 2025-08-06 17:29:43 +08:00
4428d36a27 修改列表没有计算了。 2025-08-06 15:10:50 +08:00
d129c5e234 修改数量 2025-08-06 10:33:15 +08:00
5066f932c9 修改序列号数据 2025-08-04 17:22:19 +08:00
04b52110cc 测试 2025-08-04 16:53:27 +08:00
1855b23c3f 测试 2025-08-04 16:37:12 +08:00
3dc39b9a73 测试 2025-08-04 16:07:01 +08:00
9ae373271c 测试 2025-08-04 15:43:18 +08:00
951498a77a 测试 2025-08-04 15:41:31 +08:00
dd6dc3f26a 测试 2025-08-04 14:36:26 +08:00
96b7d50ac9 修改了加添 2025-08-04 14:28:55 +08:00
3dcf6880b4 修改个数 2025-08-04 10:21:40 +08:00
c0a29b07be 下载时间修改 2025-08-02 09:58:30 +08:00
3188c0023b 修改条码数量 2025-08-01 17:40:47 +08:00
3e1b056432 排xu 2025-08-01 16:20:23 +08:00
14a349cb48 修改排序 2025-08-01 16:06:39 +08:00
5ad4e85673 改了排序 2025-08-01 15:51:31 +08:00
71cb683bd5 测试 2025-07-25 15:18:51 +08:00
ed5fc7204d 修改了转换 2025-07-24 17:32:15 +08:00
506f653f44 改了查询 2025-07-24 11:52:36 +08:00
66f2a9b86f 修改了序列号 2025-07-23 10:56:46 +08:00
b6042ae2ba 导出 2025-07-23 09:21:23 +08:00
ce26015236 先传 2025-07-22 14:38:39 +08:00
4dbd476de6 11 2025-07-22 10:01:05 +08:00
5ce32b872a 修改了删除 2025-06-06 14:16:29 +08:00
f9abfefbb1 修改了箱子显示 2025-06-04 17:37:03 +08:00
856e90f125 修改序列码 2025-06-04 16:40:32 +08:00
d8e10d7029 改了序列号 2025-06-04 16:19:08 +08:00
73894a00e0 修改了取数字序列号 2025-06-04 14:50:12 +08:00
7b366173c0 修改排排序 2025-06-04 10:23:41 +08:00
0b59072e47 修改了序列号 2025-06-03 11:36:03 +08:00
6b6691ba5c 修改了序列号返回 2025-06-03 11:23:59 +08:00
80b95ebda6 测试 2025-05-30 15:27:28 +08:00
02b1c432e9 修改了数字序列号 2025-05-30 13:52:56 +08:00
980ed07333 扫两件装 2025-05-30 11:14:14 +08:00
969b8ef5ec 修改了扫苗慢 2025-05-28 10:32:22 +08:00
244b79eb0e 修改了更新已使用 2025-05-26 18:11:01 +08:00
1c49c6662f 修改了直接更新两件装的已使用 2025-05-26 16:35:17 +08:00
dbb5dd0883 序列号 2025-05-19 18:19:00 +08:00
69d05d3f50 再次修改 2025-05-19 17:02:37 +08:00
1b31786e1b 修改了删除序列号 2025-05-19 16:34:11 +08:00
2fc20d1c53 修改了删除条码计数 2025-05-19 16:00:00 +08:00
5a3c26e94e 再次测试 2025-05-19 15:16:23 +08:00
b5ade60bcb 再次测试 2025-05-19 14:38:19 +08:00
21c7b5d599 修改了删除 2025-05-19 13:59:01 +08:00
553f3c9b01 增加了初始数据处理 2025-05-16 14:51:31 +08:00
0e44b7d2ec 修改了清空箱号和获取序列号 2025-05-13 15:14:32 +08:00
4c02d03bad 导出序列号 2025-05-13 13:40:39 +08:00
4b4792cdff 测试序列号 2025-05-13 13:38:17 +08:00
b0d1e748e3 修改导出 2025-05-13 11:58:25 +08:00
63b4d48664 修改了导出没有带isTwo 2025-05-13 11:44:34 +08:00
4ad50863ef 修改了第二个数字序列号 2025-05-12 16:15:11 +08:00
bb9013261d 修改了箱码GetList同步慢 2025-05-10 10:59:05 +08:00
359c09cab4 加快装箱速度 2025-05-10 10:11:33 +08:00
06bd018e09 改了存装箱存码 2025-05-09 16:17:08 +08:00
e94e5b30f4 测试一下。 2025-05-08 15:13:43 +08:00
1431db4fea 修改了GetList 2025-05-08 14:48:58 +08:00
1299af5d54 加了两件装的返回 2025-05-07 14:05:28 +08:00
0aad4f32fc 修改取得序列号 2025-05-06 16:43:14 +08:00
1f61d3ca50 修改了所有的都更改箱号 2025-05-06 09:13:25 +08:00
a93c088c98 修改了所有的都更改箱号 2025-05-06 09:13:12 +08:00
33 changed files with 2496 additions and 148 deletions

49
BarCode.Web.sln Normal file
View File

@@ -0,0 +1,49 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BarCode.Web.Api", "src\BarCode.Web.Api\BarCode.Web.Api.csproj", "{53BADF7D-2F3F-4FC5-A591-270FDCF99035}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BarCode.Web.Core", "src\BarCode.Web.Core\BarCode.Web.Core.csproj", "{2ABC89C4-F801-4AB6-8273-F6BF3D445A81}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BarCode.Web.Domain", "src\BarCode.Web.Domain\BarCode.Web.Domain.csproj", "{05F3BD41-E7A5-46DE-A862-D23F55AAB506}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BarCode.Web.Repositories", "src\BarCode.Web.Repositories\BarCode.Web.Repositories.csproj", "{03176632-4AF8-45C6-974A-CC867634A5EB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DockerFolder", "DockerFolder", "{15EBD6C2-C3D6-4880-A398-8587513EB0F3}"
ProjectSection(SolutionItems) = preProject
.dockerignore = .dockerignore
Dockerfile = Dockerfile
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{53BADF7D-2F3F-4FC5-A591-270FDCF99035}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53BADF7D-2F3F-4FC5-A591-270FDCF99035}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53BADF7D-2F3F-4FC5-A591-270FDCF99035}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53BADF7D-2F3F-4FC5-A591-270FDCF99035}.Release|Any CPU.Build.0 = Release|Any CPU
{2ABC89C4-F801-4AB6-8273-F6BF3D445A81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2ABC89C4-F801-4AB6-8273-F6BF3D445A81}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2ABC89C4-F801-4AB6-8273-F6BF3D445A81}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2ABC89C4-F801-4AB6-8273-F6BF3D445A81}.Release|Any CPU.Build.0 = Release|Any CPU
{05F3BD41-E7A5-46DE-A862-D23F55AAB506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{05F3BD41-E7A5-46DE-A862-D23F55AAB506}.Debug|Any CPU.Build.0 = Debug|Any CPU
{05F3BD41-E7A5-46DE-A862-D23F55AAB506}.Release|Any CPU.ActiveCfg = Release|Any CPU
{05F3BD41-E7A5-46DE-A862-D23F55AAB506}.Release|Any CPU.Build.0 = Release|Any CPU
{03176632-4AF8-45C6-974A-CC867634A5EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03176632-4AF8-45C6-974A-CC867634A5EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03176632-4AF8-45C6-974A-CC867634A5EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03176632-4AF8-45C6-974A-CC867634A5EB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9C67B08F-3E95-437E-98A9-1DE73753100D}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<DocumentationFile>wwwroot/BarCode.Web.Api.xml</DocumentationFile>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<DockerfileContext>..\..</DockerfileContext>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\BarCode.Web.Repositories\BarCode.Web.Repositories.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.6" />
</ItemGroup>
</Project>

View File

@@ -105,7 +105,7 @@ namespace BarCode.Web.Api.Controllers
if (loginInfo == null)
return Task.FromResult(Result<string>.ReFailure(ResultCodes.Token_Invalid_Error));
var entityList = _sGenerateRecordRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
var entityList = _sGenerateRecordRepositories.GetEntityList(dto.Ids, "").GetAwaiter().GetResult();
if (entityList.Count < 0) return Task.FromResult(Result<string>.ReFailure(ResultCodes.NoDateError));
string orgCode = entityList.First().OrgCode;
@@ -118,12 +118,21 @@ namespace BarCode.Web.Api.Controllers
SerialNumbersExportRequest request = new SerialNumbersExportRequest();
request.Ids = dto.Ids;
Task.Run(async () =>
request.IsTwo = dto.IsTwo;
if (request.IsTwo == 2)
{
await _exportExcelService.ExportList<SerialNumbersExportReponse, SerialNumbersExportRequest>(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode);
});
Task.Run(async () =>
{
await _exportExcelService.ExportList<SerialNumbersExportReponse2, SerialNumbersExportRequest>(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode);
});
}
else
{
Task.Run(async () =>
{
await _exportExcelService.ExportList<SerialNumbersExportReponse, SerialNumbersExportRequest>(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode);
});
}
return Task.FromResult(Result<string>.ReSuccess(res));
}
/// <summary>
@@ -151,7 +160,8 @@ namespace BarCode.Web.Api.Controllers
{
GenerateRecordIds = new List<int>() { dto.GenerateRecordId },
IsAll = false,
SerialNumbers = dto.SerialNumbers
SerialNumbers = dto.SerialNumbers,
IsTwo=dto.isTwo
}).GetAwaiter().GetResult();
}
else
@@ -167,11 +177,20 @@ namespace BarCode.Web.Api.Controllers
string fileName = FileDownLoadOrderType.SerialNumberInfo.GetRemark() + DateTime.Now.DateToStringSecondsNoSpace() + ".xlsx";
string res = _option.Url + fileName;
Task.Run(async () =>
if (dto.isTwo == 2)
{
await _exportExcelService.ExportList<SerialNumberInfoResponse, SerialNumberQueryRequest>(dto, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumberInfo, orgCode);
});
Task.Run(async () =>
{
await _exportExcelService.ExportList<SerialNumberInfoResponse2, SerialNumberQueryRequest>(dto, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumberInfo, orgCode);
});
}
else
{
Task.Run(async () =>
{
await _exportExcelService.ExportList<SerialNumberInfoResponse, SerialNumberQueryRequest>(dto, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumberInfo, orgCode);
});
}
return Task.FromResult(Result<string>.ReSuccess(res));
}
/// <summary>
@@ -220,6 +239,58 @@ namespace BarCode.Web.Api.Controllers
}
/// <summary>
/// 下载(一般后端内部调用)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("UpdateSn")]
public async Task<Result> UpdateSn(OperateSerialNumberRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _serialNumberService.UpdateSn(dto);
}
/// <summary>
/// 验证所选转两件装条码的正确性
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("VerifSn")]
public async Task<Result> VerifSn(TransferSNOneTwoTwoRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _serialNumberService.VerifSn(dto);
}
/// <summary>
/// 转换Sn,由单件装转成两件装
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("TransferSn")]
public async Task<Result> TransferSn(TransferSNOneTwoTwoRequest dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _serialNumberService.TransferSn(dto);
}
/// <summary>
/// 获取序列号信息
/// </summary>

View File

@@ -77,6 +77,7 @@ namespace BarCode.Web.Api.Controllers
};
return reponse;
}
/// <summary>
/// Wms获取序列号信息
/// </summary>
@@ -86,33 +87,252 @@ namespace BarCode.Web.Api.Controllers
[Route("GetSerialNumber")]
public async Task<Result<SerialNumbersWmsResponse>> GetSerialNumber(SerialNumbersWmsRequest dto)
{
_logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
_logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
var response = new SerialNumbersWmsResponse();
var list = new List<Domain.Entitys.SerialNumbers>();
var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
if (entity.BoxId > 0)
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
if (entity.IsUse == true)
return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
var response = new SerialNumbersWmsResponse()
if (entity.IsTwo > 1)
{
SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
MaterialNumber = entity.MaterialNumber,
CreateTime = entity.CreateTime,
Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId)
};
//把查询到的序列码修改成使用
entity.WmsGet(dto.SerialNumber);
var list = new List<Domain.Entitys.SerialNumbers>();
list.Add(entity);
//把查询到的序列码修改成使用
string[] s = entity.TwoSerialNumber.Split(',');
string[] y = entity.TwoNumberCode.Split(',');
bool isNumberCode = false;
if (entity.TwoNumberCode.IndexOf(dto.SerialNumber, 0) >= 0)
{
isNumberCode = true;//说明是此次查的为数字序列号
}
if (isNumberCode)
{
for (int i = 0; i < s.Length; i++)
{
response = new SerialNumbersWmsResponse()
{
SerialNumber = y[i],//entity.SerialNumber.Equals(dto.SerialNumber) ? s[i] : sy[i],
// SerialNumber= entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
MaterialNumber = entity.MaterialNumber,
CreateTime = entity.CreateTime,
Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId),
IsTwo = entity.IsTwo,
// TwoSerialNumber = entity.TwoSerialNumber,
TwoSerialNumber = entity.TwoNumberCode,
TwoNumberCode = entity.TwoNumberCode,
IsNotCount = entity.IsNotCount,
NumberCode=entity.NumberCode
};
var entity2 = await _serialNumbersRepositories.GetEntityWms(y[i]);
entity2.WmsGet(s[i]);
list.Add(entity2);
}
}
else
{
// string[] sy = entity.TwoNumberCode.Split(',');
for (int i = 0; i < s.Length; i++)
{
response = new SerialNumbersWmsResponse()
{
SerialNumber = s[i],//entity.SerialNumber.Equals(dto.SerialNumber) ? s[i] : sy[i],
// SerialNumber= entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
MaterialNumber = entity.MaterialNumber,
CreateTime = entity.CreateTime,
Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId),
IsTwo = entity.IsTwo,
TwoSerialNumber = entity.TwoSerialNumber,
TwoNumberCode = entity.TwoNumberCode,
IsNotCount = entity.IsNotCount,
NumberCode = entity.NumberCode
};
var entity2 = await _serialNumbersRepositories.GetEntityWms(s[i]);
entity2.WmsGet(s[i]);
list.Add(entity2);
}
}
}
else
{
response = new SerialNumbersWmsResponse()
{
SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
// SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
MaterialNumber = entity.MaterialNumber,
CreateTime = entity.CreateTime,
Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId),
IsTwo = entity.IsTwo,
TwoSerialNumber = entity.TwoSerialNumber,
TwoNumberCode = entity.TwoNumberCode,
IsNotCount = entity.IsNotCount,
NumberCode = entity.NumberCode
};
entity.WmsGet(dto.SerialNumber);
list.Add(entity);
}
var res = await _serialNumbersRepositories.EditEntityList(list);
if (!res) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.DateWriteError);
_logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
if (!res) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.DateWriteError);
_logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
return Result<SerialNumbersWmsResponse>.ReSuccess(response);
//_logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
//var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
//if (entity.IsTwo > 1)//说明是两件装
//{
//}
//else
//{
// var list = new List<Domain.Entitys.SerialNumbers>();
// var response = new SerialNumbersWmsResponse();
// if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
// if (entity.BoxId > 0)
// return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
// if (entity.IsUse == true)
// return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
// response = new SerialNumbersWmsResponse()
// {
// SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
// MaterialNumber = entity.MaterialNumber,
// CreateTime = entity.CreateTime,
// Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId),
// IsTwo = entity.IsTwo,
// TwoSerialNumber = entity.TwoSerialNumber,
// TwoNumberCode = entity.TwoNumberCode,
// IsNotCount = entity.IsNotCount
// };
// entity.WmsGet(entityList.SerialNumber);
//}
//// var entityList = await _serialNumbersRepositories.GetEntityWmsBySuitNumber(dto.SerialNumber);
//var list = new List<Domain.Entitys.SerialNumbers>();
//var response = new SerialNumbersWmsResponse();
//for (int i = 0; i < entityList.Count; i++)
//{
// var entity = entityList[i];
// if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
// if (entity.BoxId > 0)
// return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
// if (entity.IsUse == true)
// return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
// response = new SerialNumbersWmsResponse()
// {
// SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
// MaterialNumber = entity.MaterialNumber,
// CreateTime = entity.CreateTime,
// Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId),
// IsTwo = entity.IsTwo,
// TwoSerialNumber = entity.TwoSerialNumber,
// TwoNumberCode = entity.TwoNumberCode,
// IsNotCount = entity.IsNotCount
// };
// //把查询到的序列码修改成使用
// //if(entity.IsTwo>1)//说明是两件装
// //{
// // string[] s = entity.TwoSerialNumber.Split(',');
// // for (int i = 0; i < s.Length; i++)
// // {
// // entity.WmsGet(s[i]);
// // }
// //}
// //else
// //{
// entity.WmsGet(entityList[i].SerialNumber);
// //}
// list.Add(entity);
//}
//var res = await _serialNumbersRepositories.EditEntityList(list);
// if (!res) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.DateWriteError);
// _logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
//return Result<SerialNumbersWmsResponse>.ReSuccess(response);
}
///// <summary>
///// Wms获取序列号信息
///// </summary>
///// <param name="dto"></param>
///// <returns></returns>
//[HttpPost]
//[Route("GetSerialNumber")]
//public async Task<Result<List<SerialNumbersWmsResponse>>> GetSerialNumber(SerialNumbersWmsRequest dto)
//{
// _logger.LogInformation($"wms获取序列码:{JsonConvert.SerializeObject(dto)}");
// //var entity = await _serialNumbersRepositories.GetEntityWms(dto.SerialNumber);
// //if (entity == null) return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberNoData);
// //if (entity.BoxId > 0)
// // return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberBindBox);
// //if (entity.IsUse == true)
// // return Result<SerialNumbersWmsResponse>.ReFailure(ResultCodes.SerialNumberIsUse);
// //var response = new SerialNumbersWmsResponse()
// //{
// // SerialNumber = entity.SerialNumber.Equals(dto.SerialNumber) ? entity.SerialNumber : entity.NumberCode,
// // MaterialNumber = entity.MaterialNumber,
// // CreateTime = entity.CreateTime,
// // Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity.CreatorId)
// //};
// ////把查询到的序列码修改成使用
// //entity.WmsGet(dto.SerialNumber);
// //var list = new List<Domain.Entitys.SerialNumbers>();
// //list.Add(entity);
// //var res = await _serialNumbersRepositories.EditEntityList(list);
// //以前是之前的
// var entity = await _serialNumbersRepositories.GetEntityListBySuitNumber(dto.SerialNumber);
// if (entity == null) return Result<List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.SerialNumberNoData);
// var response2 = new List<SerialNumbersWmsResponse>();
// for (int i = 0; i < entity.Count; i++)
// {
// if (entity[i].BoxId > 0)
// return Result< List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.SerialNumberBindBox);
// if (entity[i].IsUse == true)
// return Result< List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.SerialNumberIsUse);
// SerialNumbersWmsResponse response = new SerialNumbersWmsResponse()
// {
// // SerialNumber = entity[i].SerialNumber.Equals(dto.SerialNumber) ? entity[i].SerialNumber : entity[i].NumberCode,
// SerialNumber = entity[i].SerialNumber,
// MaterialNumber = entity[i].MaterialNumber,
// CreateTime = entity[i].CreateTime,
// Creator = _singleDataService.GetSingleData(SingleAction.Users, 1, entity[i].CreatorId),
// IsTwo=entity[i].IsTwo,
// TwoSerialNumber=entity[i].TwoSerialNumber,
// TwoNumberCode= entity[i].TwoNumberCode,
// IsNotCount = entity[i].IsNotCount
// };
// response2.Add(response);
// //把查询到的序列码修改成使用
// entity[i].WmsGet(dto.SerialNumber);
// var list = new List<Domain.Entitys.SerialNumbers>();
// list.Add(entity[i]);
// var res = await _serialNumbersRepositories.EditEntityList(list);
// if (!res) return Result< List<SerialNumbersWmsResponse>>.ReFailure(ResultCodes.DateWriteError);
// _logger.LogInformation($"wms获取序列码返回序列码信息:{JsonConvert.SerializeObject(response)}");
// }
// return Result<List<SerialNumbersWmsResponse>>.ReSuccess(response2);
//}
/// <summary>
/// 获取序列号信息
/// </summary>

View File

@@ -10,7 +10,7 @@
"AllowedCores": "localhost,http://localhost:8080,http://192.168.1.188:8080",//跨域
"AppOptions": {
"DBConnectionString": "Server=rm-wz9215skklas0287pwo.mysql.rds.aliyuncs.com; Database=test_barcode_db;User Id=orico_erp;password=Orico2023;port=3306;CharSet=gb2312;Connect Timeout=150;", //数据库连接地址
"RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=7", //redis连接地址
"RedisConnectionString": "47.106.232.90:6379,password=orico.2020,DefaultDatabase=7", //redis连接地址test_barcode_db
"RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=3", //redis连接地址
"SingleBaseUrl": "http://127.0.0.1:8066/api", //单点服务连接地址
"DBType": "Mysql", //数据库类型

View File

@@ -316,6 +316,27 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
下载(一般后端内部调用)
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.VerifSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
验证所选转两件装条码的正确性
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换Sn,由单件装转成两件装
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Api.Controllers.SerialNumberController.GetByBoxId(BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest)">
<summary>
获取序列号信息

View File

@@ -591,6 +591,11 @@
序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.DeleteBoxSerialNumberRequest.TwoSerialNumber">
<summary>
第二个序列号
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.Box.GenerateBoxRequest">
<summary>
生成箱码
@@ -621,6 +626,11 @@
序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.SaveBoxDetailsRequest.TwoSerialNumber">
<summary>
第二件装
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.Box.SaveBoxRequest">
<summary>
保存箱信息(装箱保存,完成装箱)
@@ -748,6 +758,21 @@
序列号生成用户
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.OpsSerialNumbersResponse.IsTwo">
<summary>
是否套装
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.OpsSerialNumbersResponse.TwoSerialNumber">
<summary>
第二个序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.OpsSerialNumbersResponse.IsNotCount">
<summary>
是否不参与记数
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.Box.OpsBoxDetailsResponse.MaterialNumber">
<summary>
物料编码
@@ -2409,6 +2434,11 @@
操作 Id集合
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.OperateRequest.IsTwo">
<summary>
两件装
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.OperatePagedRequest">
<summary>
操作 Id集合
@@ -2579,6 +2609,11 @@
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SecurityNumbers.SecurityGenerateRecordQueryRequest.CreateUser">
<summary>
生成人
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SecurityNumbers.SecurityNumberInfoResponse">
<summary>
防伪码列表
@@ -2879,6 +2914,36 @@
如果是部分操作(序列号) 全部操作的话可不传
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest.IsTwo">
<summary>
是否为两件件
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest">
<summary>
操作序列号请求接口(打印 下载)
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest.ids">
<summary>
所选转换产品
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.PorductNumberRequst">
<summary>
所选转换产品
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.PorductNumberRequst.Id">
<summary>
产品Id
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.PorductNumberRequst.Specifications">
<summary>
产品规格型号
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberByBoxIdQueryRequest">
<summary>
根据箱Id获取序列码信息
@@ -2999,6 +3064,131 @@
第二个序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Old_Specifications">
<summary>
转换前规格型号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.BarCode">
<summary>
物料条码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.SerialNumber">
<summary>
序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.SerialNumber2">
<summary>
序列码2
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.NumberCode">
<summary>
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.NumberCode2">
<summary>
数字序列码2
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Id">
<summary>
序列码流水号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Id2">
<summary>
序列码流水号2
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Number">
<summary>
数量
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsUse">
<summary>
是否使用
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsUseStr">
<summary>
是否使用
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Box">
<summary>
箱号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Creator">
<summary>
创建人
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.CreateTime">
<summary>
生成时间
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.PrintNumber">
<summary>
打印次数
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.DownLoadNumber">
<summary>
下载次数
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.PrintTime">
<summary>
最新打印时间
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.DownLoadTime">
<summary>
最新下载时间
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsEnablePrint">
<summary>
是否允许打印(序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印)
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsTwo">
<summary>
是否为两件装为了控制后面的变动设为整数形0和1看作12代表2件装3代表三件装 alter by yzh
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.TwoSerialNumber">
<summary>
第二个序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.SuitNumber">
<summary>
套装号
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberQueryRequest">
<summary>
序列号列表搜索请求参数
@@ -3099,6 +3289,11 @@
供应商或组织
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse.PurchaseBillNo">
<summary>
采购订单号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse.MaterialNumber">
<summary>
物料编码
@@ -3134,6 +3329,76 @@
数量
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2">
<summary>
序列码导出数据
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.SupplierOrOrg">
<summary>
供应商或组织
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.PurchaseBillNo">
<summary>
采购订单号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.BarCode">
<summary>
物料条码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.SerialNumber">
<summary>
序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.SuitNumber">
<summary>
序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.TwoSerialNumber">
<summary>
两件装
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.SerialNumber2">
<summary>
序列码2
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.NumberCode">
<summary>
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.NumberCode2">
<summary>
数字序列码2
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportReponse2.Number">
<summary>
数量
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportRequest">
<summary>
序列码导出参数
@@ -3144,6 +3409,11 @@
生成记录Ids
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExportRequest.IsTwo">
<summary>
两件装
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersExternalResponse">
<summary>
序列码信息
@@ -3255,6 +3525,11 @@
第二个序列码
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.TwoNumberCode">
<summary>
第二个数字序列码
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsRequest">
<summary>
获取没有装过箱的序列码
@@ -3290,6 +3565,31 @@
生成时间
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.IsTwo">
<summary>
是否两件装
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.TwoSerialNumber">
<summary>
第二个序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.TwoNumberCode">
<summary>
第二个数字序列号
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.IsNotCount">
<summary>
是否不参与记数
</summary>
</member>
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumbersWmsResponse.NumberCode">
<summary>
是否不参与记数
</summary>
</member>
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SGenerateRecordInfoResponse">
<summary>
序列号生成记录列表返回参数

View File

@@ -85,12 +85,13 @@
打印
</summary>
</member>
<member name="M:BarCode.Web.Domain.Entitys.Box.UnSerialNumber(System.String,System.String)">
<member name="M:BarCode.Web.Domain.Entitys.Box.UnSerialNumber(System.String,System.String,System.String)">
<summary>
解绑序列号
</summary>
<param name="serialNumber"></param>
<param name="materialNumber"></param>
/// <param name="isNotCount">是否不计数</param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.Box.Clear">
<summary>
@@ -812,6 +813,11 @@
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.TwoNumberCode">
<summary>
数字序列码
</summary>
</member>
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.Number">
<summary>
数字序列码(不包含日期)
@@ -878,12 +884,24 @@
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.SetThisNumber(System.Int32)">
<summary>
设置thisNumber
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.GenerateTwoSerialNumber(System.String)">
<summary>
产生第二个序列号
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.GenerateTwoNumberCode(System.String)">
<summary>
产生第二个数字序列号
</summary>
<param name="sn"></param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.Print">
<summary>
打印
@@ -894,12 +912,18 @@
下载
</summary>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.CompleteBox(System.Int32,System.String)">
<member name="P:BarCode.Web.Domain.Entitys.SerialNumbers.IsNotCount">
<summary>
是否不参与计数0和空代表参与计数1代表不参与计数
</summary>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.CompleteBox(System.Int32,System.String,System.String)">
<summary>
装箱
</summary>
<param name="boxId"></param>
<param name="str"></param>
/// <param name="isNotCount">是否不参与计数</param>
</member>
<member name="M:BarCode.Web.Domain.Entitys.SerialNumbers.UnBox">
<summary>
@@ -1308,6 +1332,13 @@
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityListByGRIds(System.Collections.Generic.List{System.Int32})">
根据套装码查询序列码
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetUseEntityListByGRIds(System.Collections.Generic.List{System.Int32})">
<summary>
获取已经使用的序列号
</summary>
<param name="gRIds"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityListByGRId(System.Int32)">
根据生成记录id查询序列码
</member>
@@ -1323,6 +1354,9 @@
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityWms(System.String)">
WMS查询实体
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetEntityWmsBySuitNumber(System.String)">
两件装WMS查询实体
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetExternal(System.String)">
<summary>
根据序列号搜索信息
@@ -1330,6 +1364,22 @@
<param name="serialNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetTwoSerialNumber(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumbers},System.String)">
<summary>
得到两件装
</summary>
<param name="entitys"></param>
<param name="SuitNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISerialNumbersRepositories.GetTwoNumberCode(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumbers},System.String)">
<summary>
得到数字两件装
</summary>
<param name="entitys"></param>
<param name="SuitNumber"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.AddRange(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
<summary>
批量添加
@@ -1341,7 +1391,7 @@
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.EditEntityList(System.Collections.Generic.List{BarCode.Web.Domain.Entitys.SerialNumberGenerateRecord},System.Boolean)">
修改实体集合
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntityList(System.Collections.Generic.List{System.Int32})">
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntityList(System.Collections.Generic.List{System.Int32},System.String)">
查询实体集合
</member>
<member name="M:BarCode.Web.Domain.Infrastructure.ISGenerateRecordRepositories.GetEntity(System.Int32)">
@@ -1533,6 +1583,27 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
更新错的序列号(内部使用)
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换序列号,由单件装转为两件装
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.VerifSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
验证序列码的正确性
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:BarCode.Web.Domain.IService.ISerialNumberService.Use(System.Collections.Generic.List{System.Int32})">
<summary>
装箱后反写使用数
@@ -3371,6 +3442,30 @@
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.UpdateSn(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
更新错的Sn
</summary>
<param name="dto"></param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.VerifSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
验证Sn的正确性
</summary>
<param name="dto"></param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.TransferSn(BarCode.Web.Core.Dto.SerialNumbers.TransferSNOneTwoTwoRequest)">
<summary>
转换序列号(从单件装转为两件装)
</summary>
<param name="dto"></param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:BarCode.Web.Domain.Services.SerialNumberService.Print(BarCode.Web.Core.Dto.SerialNumbers.OperateSerialNumberRequest)">
<summary>
打印

View File

@@ -27,5 +27,10 @@ namespace BarCode.Web.Core.Dto.Box
/// </summary>
[Required(ErrorMessage = "序列号不能为空")]
public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 第二个序列号
/// </summary>
public string? TwoSerialNumber { get; set; } = string.Empty;
}
}

View File

@@ -22,5 +22,10 @@ namespace BarCode.Web.Core.Dto.Box
/// </summary>
[Required(ErrorMessage = "序列号不能为空")]
public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 第二件装
/// </summary>
public string TwoSerialNumber { get; set; } = string.Empty;
}
}

View File

@@ -58,6 +58,8 @@ namespace BarCode.Web.Core.Dto.Box
}
public class OpsSerialNumbersResponse
{
// private int? isTwo;
/// <summary>
/// 序列号
/// </summary>
@@ -73,7 +75,20 @@ namespace BarCode.Web.Core.Dto.Box
/// </summary>
[JsonProperty("barCereateUser")]
public string BarCereateUser { get; set; }
/// <summary>
/// 是否套装
/// </summary>
public int? IsTwo { get; set; }
/// <summary>
/// 第二个序列号
/// </summary>
public string? TwoSerialNumber { get; set; }
/// <summary>
/// 是否不参与记数
/// </summary>
public string? IsNotCount { get; set; }
}
public class OpsBoxDetailsResponse {
/// <summary>

View File

@@ -10,6 +10,10 @@ namespace BarCode.Web.Core.Dto
public class OperateRequest
{
public List<int> Ids { get; set; } = new List<int>();
/// <summary>
/// 两件装
/// </summary>
public int IsTwo { get; set; }
}
/// <summary>

View File

@@ -41,5 +41,9 @@ namespace BarCode.Web.Core.Dto.SecurityNumbers
/// 物料编码
/// </summary>
public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 生成人
/// </summary>
public string CreateUser { get; set; } = string.Empty;
}
}

View File

@@ -1,4 +1,5 @@
using System;
using BarCode.Web.Core.Dto.Box;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -23,5 +24,36 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// 如果是部分操作(序列号) 全部操作的话可不传
/// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 是否为两件件
/// </summary>
public int IsTwo { get; set; }
}
/// <summary>
/// 操作序列号请求接口(打印 下载)
/// </summary>
public class TransferSNOneTwoTwoRequest
{
/// <summary>
/// 所选转换产品
/// </summary>
public List<PorductNumberRequst> ids { get; set; } = new List<PorductNumberRequst>();
}
/// <summary>
/// 所选转换产品
/// </summary>
public class PorductNumberRequst
{
/// <summary>
/// 产品Id
/// </summary>
public int Id { set; get; }
/// <summary>
/// 产品规格型号
/// </summary>
public required string Specifications { get; set; }
}
}

View File

@@ -111,11 +111,265 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// <summary>
/// 是否为两件装为了控制后面的变动设为整数形0和1看作12代表2件装3代表三件装 alter by yzh
/// </summary>
[Ignore]
public int IsTwo { get; set; } = 1;
/// <summary>
/// 第二个序列号
/// </summary>
[Ignore]
public string TwoSerialNumber { get; set; } = string.Empty;
}
public class SerialNumberInfoResponse2
{
/// <summary>
/// 物料编码
/// </summary>
[Column("物料编码")]
public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 物料名称
/// </summary>
[Column("名称")]
public string MaterialName { get; set; } = string.Empty;
/// <summary>
/// 物料规格型号
/// </summary>
[Column("规格型号")]
public string Specifications { get; set; } = string.Empty;
/// <summary>
/// 转换前规格型号
/// </summary>
[Column("转换前规格型号")]
public string Old_Specifications { get; set; } = string.Empty;
/// <summary>
/// 物料条码
/// </summary>
[Column("条码")]
public string BarCode { get; set; } = string.Empty;
/// <summary>
/// 序列码
/// </summary>
[Column("序列码")]
public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 序列码2
/// </summary>
[Column("序列码2")]
public string SerialNumber2 { get; set; } = string.Empty;
/// <summary>
/// 数字序列码
/// </summary>
[Column("数字序列码")]
public string NumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码2
/// </summary>
[Column("数字序列码2")]
public string NumberCode2 { get; set; } = string.Empty;
/// <summary>
/// 序列码流水号
/// </summary>
[Column("序号")]
public long Id { get; set; }
/// <summary>
/// 序列码流水号2
/// </summary>
[Column("序号2")]
public long Id2 { get; set; }
/// <summary>
/// 数量
/// </summary>
[Column("数量")]
public int Number { get; set; } = 0;
/// <summary>
/// 是否使用
/// </summary>
[Ignore]
public bool IsUse { get; set; } = false;
/// <summary>
/// 是否使用
/// </summary>
[Column("是否使用")]
public string IsUseStr { get; set; } = "";
/// <summary>
/// 箱号
/// </summary>
[Column("所在箱号")]
public string Box { get; set; } = string.Empty;
/// <summary>
/// 创建人
/// </summary>
[Ignore]
public string Creator { get; set; } = string.Empty;
/// <summary>
/// 生成时间
/// </summary>
[Column("生成时间")]
public string CreateTime { get; set; } = string.Empty;
/// <summary>
/// 打印次数
/// </summary>
[Column("打印次数")]
public int PrintNumber { get; set; } = 0;
/// <summary>
/// 下载次数
/// </summary>
[Column("下载次数")]
public int DownLoadNumber { get; set; } = 0;
/// <summary>
/// 最新打印时间
/// </summary>
[Column("最近打印时间")]
public string PrintTime { get; set; } = string.Empty;
/// <summary>
/// 最新下载时间
/// </summary>
[Column("最近下载时间")]
public string DownLoadTime { get; set; } = string.Empty;
/// <summary>
/// 是否允许打印(序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印)
/// </summary>
[Ignore]
public bool IsEnablePrint { get; set; } = true;
/// <summary>
/// 是否为两件装为了控制后面的变动设为整数形0和1看作12代表2件装3代表三件装 alter by yzh
/// </summary>
[Ignore]
public int IsTwo { get; set; } = 1;
/// <summary>
/// 第二个序列号
/// </summary>
[Ignore]
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 套装号
/// </summary>
[Ignore]
public string SuitNumber { get; set; } = string.Empty;
}
/// <summary>
/// 序列号列表搜索返回参数
/// </summary>
//public class SerialNumberInfoResponseNoIsTwo
//{
// /// <summary>
// /// 物料编码
// /// </summary>
// [Column("物料编码")]
// public string MaterialNumber { get; set; } = string.Empty;
// /// <summary>
// /// 物料名称
// /// </summary>
// [Column("名称")]
// public string MaterialName { get; set; } = string.Empty;
// /// <summary>
// /// 物料规格型号
// /// </summary>
// [Column("规格型号")]
// public string Specifications { get; set; } = string.Empty;
// /// <summary>
// /// 转换前规格型号
// /// </summary>
// [Column("转换前规格型号")]
// public string Old_Specifications { get; set; } = string.Empty;
// /// <summary>
// /// 物料条码
// /// </summary>
// [Column("条码")]
// public string BarCode { get; set; } = string.Empty;
// /// <summary>
// /// 序列码
// /// </summary>
// [Column("序列码")]
// public string SerialNumber { get; set; } = string.Empty;
// /// <summary>
// /// 数字序列码
// /// </summary>
// [Column("数字序列码")]
// public string NumberCode { get; set; } = string.Empty;
// /// <summary>
// /// 序列码流水号
// /// </summary>
// [Column("序号")]
// public long Id { get; set; }
// /// <summary>
// /// 数量
// /// </summary>
// [Column("数量")]
// public int Number { get; set; } = 0;
// /// <summary>
// /// 是否使用
// /// </summary>
// [Ignore]
// public bool IsUse { get; set; } = false;
// /// <summary>
// /// 是否使用
// /// </summary>
// [Column("是否使用")]
// public string IsUseStr { get; set; } = "";
// /// <summary>
// /// 箱号
// /// </summary>
// [Column("所在箱号")]
// public string Box { get; set; } = string.Empty;
// /// <summary>
// /// 创建人
// /// </summary>
// [Ignore]
// public string Creator { get; set; } = string.Empty;
// /// <summary>
// /// 生成时间
// /// </summary>
// [Column("生成时间")]
// public string CreateTime { get; set; } = string.Empty;
// /// <summary>
// /// 打印次数
// /// </summary>
// [Column("打印次数")]
// public int PrintNumber { get; set; } = 0;
// /// <summary>
// /// 下载次数
// /// </summary>
// [Column("下载次数")]
// public int DownLoadNumber { get; set; } = 0;
// /// <summary>
// /// 最新打印时间
// /// </summary>
// [Column("最近打印时间")]
// public string PrintTime { get; set; } = string.Empty;
// /// <summary>
// /// 最新下载时间
// /// </summary>
// [Column("最近下载时间")]
// public string DownLoadTime { get; set; } = string.Empty;
// /// <summary>
// /// 是否允许打印(序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印)
// /// </summary>
// [Ignore]
// public bool IsEnablePrint { get; set; } = true;
// /// <summary>
// /// 是否为两件装为了控制后面的变动设为整数形0和1看作12代表2件装3代表三件装 alter by yzh
// /// </summary>
// public int IsTwo { get; set; } = 1;
// /// <summary>
// /// 第二个序列号
// /// </summary>
// public string TwoSerialNumber { get; set; } = string.Empty;
//}
}

View File

@@ -7,6 +7,7 @@ using System.Threading.Tasks;
namespace BarCode.Web.Core.Dto.SerialNumbers
{
/// <summary>
/// 序列码导出数据
/// </summary>
@@ -17,6 +18,12 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// </summary>
[Column("供应商")]
public string SupplierOrOrg { get; set; } = string.Empty;
/// <summary>
/// 采购订单号
/// </summary>
[Column("采购订单号")]
public string PurchaseBillNo { get; set; } = string.Empty;
/// <summary>
/// 物料编码
/// </summary>
@@ -42,11 +49,98 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// </summary>
[Column("序列码")]
public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 数字序列码
/// </summary>
[Column("数字序列码")]
public string NumberCode { get; set; } = string.Empty;
/// <summary>
/// 数量
/// </summary>
[Column("数量")]
public int Number { get; set; } = 0;
}
/// <summary>
/// 序列码导出数据
/// </summary>
public class SerialNumbersExportReponse2
{
/// <summary>
/// 供应商或组织
/// </summary>
[Column("供应商")]
public string SupplierOrOrg { get; set; } = string.Empty;
/// <summary>
/// 采购订单号
/// </summary>
[Column("采购订单号")]
public string PurchaseBillNo { get; set; } = string.Empty;
/// <summary>
/// 物料编码
/// </summary>
[Column("物料编码")]
public string MaterialNumber { get; set; } = string.Empty;
/// <summary>
/// 物料名称
/// </summary>
[Column("物料名称")]
public string MaterialName { get; set; } = string.Empty;
/// <summary>
/// 物料规格型号
/// </summary>
[Column("规格型号")]
public string Specifications { get; set; } = string.Empty;
/// <summary>
/// 物料条码
/// </summary>
[Column("条码")]
public string BarCode { get; set; } = string.Empty;
/// <summary>
/// 序列码
/// </summary>
[Column("序列码")]
public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 序列码
/// </summary>
[Ignore]
public string SuitNumber { get; set; } = string.Empty;
/// <summary>
/// 两件装
/// </summary>
[Ignore]
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 序列码2
/// </summary>
[Column("序列码2")]
public string SerialNumber2 { get; set; } = string.Empty;
/// <summary>
/// 数字序列码
/// </summary>
[Column("数字序列码")]
public string NumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码2
/// </summary>
[Column("数字序列码2")]
public string NumberCode2 { get; set; } = string.Empty;
/// <summary>
/// 数量
/// </summary>

View File

@@ -15,5 +15,9 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// 生成记录Ids
/// </summary>
public List<int> Ids { get; set; } = new List<int>();
/// <summary>
/// 两件装
/// </summary>
public int IsTwo { get; set; }
}
}

View File

@@ -68,6 +68,12 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// </summary>
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 第二个数字序列码
/// </summary>
public string TwoNumberCode { get; set; } = string.Empty;
}
}

View File

@@ -27,5 +27,34 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
/// 生成时间
/// </summary>
public DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 是否两件装
/// </summary>
public int IsTwo { get; set; } = 1;
/// <summary>
/// 第二个序列号
/// </summary>
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 第二个数字序列号
/// </summary>
public string? TwoNumberCode { get; set; } = string.Empty;
/// <summary>
/// 是否不参与记数
/// </summary>
public string? IsNotCount { get; set; } ="0";
/// <summary>
/// 是否不参与记数
/// </summary>
public string? NumberCode { get; set; } = string.Empty;
}
}

View File

@@ -121,22 +121,51 @@ namespace BarCode.Web.Domain.Entitys
/// </summary>
/// <param name="serialNumber"></param>
/// <param name="materialNumber"></param>
public Result UnSerialNumber(string serialNumber, string materialNumber)
/// /// <param name="isNotCount">是否不计数</param>
public Result UnSerialNumber(string serialNumber, string materialNumber,string isNotCount)
{
var detail = this.Details.FirstOrDefault(f => f.MaterialNumber.Equals(materialNumber));
if (detail == null)
return Result.ReFailure(ResultCodes.BoxMaterialNoDataError);
var serial = detail.SerialNumbers.FirstOrDefault(f => f.Equals(serialNumber));
if (serial == null)
return Result.ReFailure(ResultCodes.BoxSerialNumberNoDataError);
if (isNotCount != "1")
{
if (detail == null)
return Result.ReFailure(ResultCodes.BoxMaterialNoDataError);
var serial = detail.SerialNumbers.FirstOrDefault(f => f.Equals(serialNumber));
if (serial == null)
return Result.ReFailure(ResultCodes.BoxSerialNumberNoDataError);
}
if(detail!=null)
{
detail.SerialNumbers.Remove(serialNumber);
detail.Qty = detail.SerialNumbers.Count();
//如果数量为0了就删除这条明细
if (detail.SerialNumbers.Count() <= 0)
this.Details.Remove(detail);
//如果没有明细了 就把状态改成未使用
if (this.Details.Count() <= 0)
this.Status = BoxStatus.NoUse;
if (isNotCount == "1")
{
}
else
{
detail.Qty = detail.Qty - 1;
}
//如果数量为0了就删除这条明细
if (detail.Qty <= 0)
this.Details.Remove(detail);
//如果没有明细了 就把状态改成未使用
if (detail.Qty <= 0)
this.Status = BoxStatus.NoUse;
}
// detail.Qty = detail.SerialNumbers.Count();
////如果数量为0了就删除这条明细
//if (detail.SerialNumbers.Count() <= 0)
// this.Details.Remove(detail);
////如果没有明细了 就把状态改成未使用
//if (this.Details.Count() <= 0)
// this.Status = BoxStatus.NoUse;
return Result.ReSuccess();
}

View File

@@ -40,6 +40,11 @@ namespace BarCode.Web.Domain.Entitys
/// </summary>
[Column("SerialNumbers")]
public List<string> SerialNumbers { get; set; } = new List<string>();
///// <summary>
///// 是否计数
///// </summary>
//[Column("IsNotCount")]
//public string? IsNotCount { get; set; }
}
}

View File

@@ -1,4 +1,5 @@
using BarCode.Web.Core;
using AutoMapper.Configuration.Annotations;
using BarCode.Web.Core;
using BarCode.Web.Core.Help;
using BarCode.Web.Core.Internal.Results;
using BarCode.Web.Domain.Services.Public;
@@ -56,17 +57,17 @@ namespace BarCode.Web.Domain.Entitys
///当次序号,用来记录当次所产生时所处的序列号
/// </summary>
[Column("thisNumber")]
public int thisNumber { get; set; } = 1;
public int? thisNumber { get; set; } = 1;
/// <summary>
/// 序列号
/// </summary>
[Column("SuitNumber")]
[Ignore]
public string SuitNumber { get; set; } = string.Empty;
/// <summary>
/// 产生第二个
/// </summary>
[Column("TwoSerialNumber")]
[Ignore]
public string TwoSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 物料Id
@@ -93,6 +94,13 @@ namespace BarCode.Web.Domain.Entitys
/// </summary>
[Column("NumberCode")]
public string NumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码
/// </summary>
[Column("TwoNumberCode")]
public string? TwoNumberCode { get; set; } = string.Empty;
/// <summary>
/// 数字序列码(不包含日期)
/// </summary>
@@ -203,6 +211,18 @@ namespace BarCode.Web.Domain.Entitys
this.SuitNumber = sn;
}
/// <summary>
/// 设置thisNumber
/// </summary>
/// <param name="sn"></param>
public void SetThisNumber(int sn)
{
this.thisNumber = sn;
}
/// <summary>
/// 产生第二个序列号
/// </summary>
@@ -213,6 +233,16 @@ namespace BarCode.Web.Domain.Entitys
}
/// <summary>
/// 产生第二个数字序列号
/// </summary>
/// <param name="sn"></param>
public void GenerateTwoNumberCode(string sn)
{
this.TwoNumberCode = sn;
}
/// <summary>
@@ -234,12 +264,20 @@ namespace BarCode.Web.Domain.Entitys
this.DownLoadNumber++;
this.DownLoadTime = DateTime.Now;
}
/// <summary>
/// 是否不参与计数0和空代表参与计数1代表不参与计数
/// </summary>
[Column("isNotCount")]
public string? IsNotCount { get; set; } = string.Empty;
/// <summary>
/// 装箱
/// </summary>
/// <param name="boxId"></param>
/// <param name="str"></param>
public void CompleteBox(int boxId, string str)
/// /// <param name="isNotCount">是否不参与计数</param>
public void CompleteBox(int boxId, string str,string isNotCount)
{
//每个序列码延时1毫秒来装箱 这样到时候获取序列码时就可以来排序
Thread.Sleep(1);
@@ -247,6 +285,7 @@ namespace BarCode.Web.Domain.Entitys
this.CompleteCartonTime = DateTime.Now;
this.IsUse = true;
this.IsUseNumber = this.NumberCode.Equals(str) ? true : false;
this.IsNotCount= isNotCount;
}
/// <summary>
/// 解绑箱

View File

@@ -34,6 +34,26 @@ namespace BarCode.Web.Domain.IService
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> DownLoad(OperateSerialNumberRequest dto);
/// <summary>
/// 更新错的序列号(内部使用)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> UpdateSn(OperateSerialNumberRequest dto);
/// <summary>
/// 转换序列号,由单件装转为两件装
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> TransferSn(TransferSNOneTwoTwoRequest dto);
/// <summary>
/// 验证序列码的正确性
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> VerifSn(TransferSNOneTwoTwoRequest dto);
/// <summary>
/// 装箱后反写使用数
/// </summary>

View File

@@ -27,7 +27,7 @@ namespace BarCode.Web.Domain.Infrastructure
/// 修改实体集合
Task<bool> EditEntityList(List<SerialNumberGenerateRecord> entitys, bool isTransaction = true);
/// 查询实体集合
Task<List<SerialNumberGenerateRecord?>> GetEntityList(List<int> ids);
Task<List<SerialNumberGenerateRecord?>> GetEntityList(List<int> ids,string strUpdate);
/// 查询实体
Task<SerialNumberGenerateRecord?> GetEntity(int id);
}

View File

@@ -42,6 +42,13 @@ namespace BarCode.Web.Domain.Infrastructure
Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber);
/// 根据套装码查询序列码
Task<List<SerialNumbers>> GetEntityListByGRIds(List<int> gRIds);
/// <summary>
/// 获取已经使用的序列号
/// </summary>
/// <param name="gRIds"></param>
/// <returns></returns>
Task<List<SerialNumbers>> GetUseEntityListByGRIds(List<int> gRIds);
/// 根据生成记录id查询序列码
Task<List<SerialNumbers>> GetEntityListByGRId(int gRId);
/// 根据箱号查询序列码
@@ -52,11 +59,29 @@ namespace BarCode.Web.Domain.Infrastructure
Task<List<SerialNumbersResponse>> GetEntityList(string serialNumber, string orgCode, LoginInDto loginInfo);
/// WMS查询实体
Task<SerialNumbers> GetEntityWms(string serialNumbers);
/// 两件装WMS查询实体
Task<List<SerialNumbers>> GetEntityWmsBySuitNumber(string suitNumber);
/// <summary>
/// 根据序列号搜索信息
/// </summary>
/// <param name="serialNumber"></param>
/// <returns></returns>
Task<SerialNumbersExternalResponse> GetExternal(string serialNumber);
/// <summary>
/// 得到两件装
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
/// <returns></returns>
public string GetTwoSerialNumber(List<SerialNumbers> entitys, string SuitNumber);
/// <summary>
/// 得到数字两件装
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
/// <returns></returns>
public string GetTwoNumberCode(List<SerialNumbers> entitys, string SuitNumber);
}
}

View File

@@ -17,6 +17,7 @@ using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Npoi.Mapper;
using NPOI.SS.Formula.Functions;
using Quartz;
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
@@ -105,7 +106,15 @@ namespace BarCode.Web.Domain.Services
dto.Details = dto.Details.Distinct().ToList();
var sAll = dto.Details.Select(s => s.SerialNumber).ToList();
var serialNumberList = await _serialNumbersRepositories.GetEntityListContainNumber(sAll);
List<SerialNumbers> serialList;
// List<SerialNumbers> serialList;
//两件装
var sAllTwo = dto.Details.Select(s => s.TwoSerialNumber).ToList();
sAllTwo.RemoveAll(string.IsNullOrEmpty);
var serialNumberListTwo = await _serialNumbersRepositories.GetEntityListContainNumber(sAllTwo);
// List<SerialNumbers> serialListTwo;
if (serialNumberList.Count() != sAll.Count())
return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
if (serialNumberList.Where(w => w.BoxId != 0 || w.IsUse == true).Any())
@@ -120,24 +129,61 @@ namespace BarCode.Web.Domain.Services
if (!resCarton.IsSuccess) return resCarton;
var materialNumbers = dto.Details.GroupBy(g => g.MaterialNumber).Select(s => s.Key).ToList();
foreach (var m in materialNumbers)
{
List<string> s=[null];
s.Clear();
var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m));
var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.SerialNumber).ToList();
var serialNumbersTwo = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.TwoSerialNumber).ToList();
var intCount = serialNumbers.Count();
s = serialNumbers;
serialNumbersTwo.RemoveAll(string.IsNullOrEmpty);
if (serialNumbersTwo != null)
{
for(int i = 0; i < serialNumbersTwo.Count; i++)
{
s.Add(serialNumbersTwo[i]);
}
}
s.OrderDescending();
s.Sort();
//for(int i=0;i<serialNumbers.Count;i++)
//{
// //跟据serialNumbers 取得对应的serialNumber
// var serialList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(serialNumbers[i]);
// for (int j = 0; j < serialList2.Count; j++)
// {
// s.Add( serialList2[j].SerialNumber);
// }
//}
if (detail == null)
{
detail = new BoxDetails()
{
MaterialNumber = m,
Qty = serialNumbers.Count(),
SerialNumbers = serialNumbers
// Qty = serialNumbers.Count(),
Qty = intCount,
// SerialNumbers = serialNumbers
SerialNumbers = s
};
box.Details.Add(detail);
}
else
{
detail.Qty += serialNumbers.Count();
detail.SerialNumbers.AddRange(serialNumbers);
//detail.Qty += serialNumbers.Count();
//detail.SerialNumbers.AddRange(serialNumbers);
detail.Qty += intCount;
detail.SerialNumbers.AddRange(s);
detail.SerialNumbers.Sort();
}
}
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
@@ -146,52 +192,68 @@ namespace BarCode.Web.Domain.Services
//装箱
foreach (var d in dto.Details.Select(s => s.SerialNumber).Reverse())
{
////原来的
//var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d)
//|| f.NumberCode.Equals(d));
//if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
//serial.CompleteBox(box.Id, d);
////原来的到此
serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d);
//原来的
var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d)
|| f.NumberCode.Equals(d));
if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
serial.CompleteBox(box.Id, d,"0");
//原来的到此
if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
//serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d);
//if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
//if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
for (int i = 0; i < serialList.Count; i++)
{
if(serialList[i].SerialNumber.ToString() == d)
{
serialList[i].CompleteBox(box.Id, d);
}
else
{
serialList[i].CompleteBox(0, d);
}
//for (int i = 0; i < serialList.Count; i++)
//{
// if (serialList[i].SerialNumber.ToString() == d)
// {
// serialList[i].CompleteBox(box.Id, d, "0");
// }
// else
// {
// serialList[i].CompleteBox(box.Id, d, "1");
// }
}
if (!res_Rollback)
{
isSuccess = await _serialNumbersRepositories.EditEntityList(serialList, false);
if (!isSuccess) res_Rollback = true;
}
//}
//if (!res_Rollback)
//{
// isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
// if (!isSuccess) res_Rollback = true;
//}
}
//装箱
foreach (var d in dto.Details.Select(s => s.TwoSerialNumber).Reverse())
{
//原来的
if (d==null) continue;
if (d == "") continue;
var serial = serialNumberListTwo.FirstOrDefault(f => f.SerialNumber.Equals(d)
|| f.NumberCode.Equals(d));
if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
serial.CompleteBox(box.Id, d, "1");
}
var res = await _boxRepositories.Edit(box, false);
if (res == null) res_Rollback = true;
//if (!res_Rollback)
//{
// isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
// if (!isSuccess) res_Rollback = true;
//}
if (!res_Rollback)
{
isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false);
if (!isSuccess) res_Rollback = true;
}
if (!res_Rollback)
{
isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberListTwo, false);
if (!isSuccess) res_Rollback = true;
}
if (!res_Rollback)
{
@@ -234,7 +296,7 @@ namespace BarCode.Web.Domain.Services
return Result.ReFailure(ResultCodes.BoxNoDataError);
if (box.Status == BoxStatus.Complete)
return Result.ReFailure(ResultCodes.CartonCompleteError);
var sList = await _serialNumbersRepositories.GetEntityList(new List<string>() { dto.SerialNumber });
var s = sList.FirstOrDefault(f => f.SerialNumber.Equals(dto.SerialNumber));
if (s == null)
@@ -242,13 +304,38 @@ namespace BarCode.Web.Domain.Services
//判断使用的是数字序列码还是序列码
var sStr = s.IsUseNumber == true ? s.NumberCode : s.SerialNumber;
var resUn = box.UnSerialNumber(sStr, dto.MaterialNumber);
var resUn = box.UnSerialNumber(sStr, dto.MaterialNumber,"0");
if (!resUn.IsSuccess) return resUn;
//var sList = await _serialNumbersRepositories.GetEntityListContainNumber(new List<string>() { dto.SerialNumber });
//sList.ForEach(f => f.UnBox());
s.UnBox();//解绑
// _logger.LogInformation($"现在进行TwoSerialNumber的写入");
if (dto.TwoSerialNumber != null && dto.TwoSerialNumber!="")
{
_logger.LogInformation($"获取到TwoSerialNumber:{dto.TwoSerialNumber}");
// var TwosList = await _serialNumbersRepositories.GetEntityList(new List<string>() { dto.TwoSerialNumber });
var TwosList = await _serialNumbersRepositories.GetEntityListContainNumber(new List<string>() { dto.TwoSerialNumber });
var Twos = TwosList.FirstOrDefault(f => f.SerialNumber.Equals(dto.TwoSerialNumber)||f.NumberCode.Equals(dto.TwoSerialNumber));
_logger.LogInformation($"获取到Twos:{JsonConvert.SerializeObject(Twos)}");
if (Twos == null)
return Result.ReFailure(ResultCodes.SerialNumberNoDateError);
////判断使用的是数字序列码还是序列码
sList.AddRange(TwosList);
var TwosStr = s.IsUseNumber == true ? Twos.NumberCode : Twos.SerialNumber;
//_logger.LogInformation($"获取到TwosStr:{TwosStr}");
//_logger.LogInformation($"获取到TwosStr:{TwosStr}");
var TworesUn = box.UnSerialNumber(TwosStr, dto.MaterialNumber,"1");
if (!TworesUn.IsSuccess) return TworesUn;
//var sList = await _serialNumbersRepositories.GetEntityListContainNumber(new List<string>() { dto.SerialNumber });
//sList.ForEach(f => f.UnBox());
Twos.UnBox();//解绑
}
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
bool res_Rollback = false;
bool isSuccess = true;
@@ -292,31 +379,31 @@ namespace BarCode.Web.Domain.Services
bool res_Rollback = false;
bool isSuccess = true;
var sList = await _serialNumbersRepositories.GetEntityListByBoxIds(new List<int>() { boxId });
foreach (var f in sList)
{
if( f.IsTwo>1)
{
//说明是两件装的产品,那么要分别清除
var sList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(f.SerialNumber);
for(int i=0;i<sList2.Count;i++)
{
sList2[i].UnBox();
//foreach (var f in sList)
//{
// if( f.IsTwo>1)
// {
// //说明是两件装的产品,那么要分别清除
// var sList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(f.SerialNumber);
// for(int i=0;i<sList2.Count;i++)
// {
// sList2[i].UnBox();
if (!res_Rollback)
{
isSuccess = await _serialNumbersRepositories.EditEntityList(sList2, false);
if (!isSuccess) res_Rollback = true;
}
}
// if (!res_Rollback)
// {
// isSuccess = await _serialNumbersRepositories.EditEntityList(sList2, false);
// if (!isSuccess) res_Rollback = true;
// }
// }
}
// }
f.UnBox();
// f.UnBox();
}
//}
// sList.ForEach(f => f.UnBox());
sList.ForEach(f => f.UnBox());
var res = await _boxRepositories.Edit(box, false);
@@ -382,13 +469,63 @@ namespace BarCode.Web.Domain.Services
List<Core.Dto.Box.OpsSerialNumbersResponse> sList = new List<Core.Dto.Box.OpsSerialNumbersResponse>();
foreach (var s in bdsList)
{
var sentity = serialList.FirstOrDefault(f => f.SerialNumber.Equals(s) || f.NumberCode.Equals(s));
sList.Add(new Core.Dto.Box.OpsSerialNumbersResponse()
var sentity = serialList.FirstOrDefault(f => f.SerialNumber.Equals(s) || f.NumberCode.Equals(s));
if (sentity == null) continue;
if (sentity.TwoNumberCode.IndexOf(s) >= 0)
{
SerialNumber = s,
BarCereateUser = _singleDataService.GetSingleData(SingleAction.Users, box.CompanyId, sentity == null ? 0 : sentity.CreatorId),
BarCreateTime = sentity == null ? null : sentity.CreateTime
});
sList.Add(new Core.Dto.Box.OpsSerialNumbersResponse()
{
SerialNumber = s,
BarCereateUser = _singleDataService.GetSingleData(SingleAction.Users, box.CompanyId, sentity == null ? 0 : sentity.CreatorId),
BarCreateTime = sentity == null ? null : sentity.CreateTime,
IsTwo = sentity == null ? 1 : sentity.IsTwo,
TwoSerialNumber = sentity == null ? s : sentity.TwoNumberCode,
IsNotCount = sentity == null ? "0" : sentity.IsNotCount
});
}
else
{
sList.Add(new Core.Dto.Box.OpsSerialNumbersResponse()
{
SerialNumber = s,
BarCereateUser = _singleDataService.GetSingleData(SingleAction.Users, box.CompanyId, sentity == null ? 0 : sentity.CreatorId),
BarCreateTime = sentity == null ? null : sentity.CreateTime,
IsTwo = sentity == null ? 1 : sentity.IsTwo,
TwoSerialNumber = sentity == null ? s : sentity.TwoSerialNumber,
IsNotCount = sentity == null ? "0" : sentity.IsNotCount
});
}
//以前是之前的
//// var sentity = serialList.FirstOrDefault(f => f.SerialNumber.Equals(s) || f.NumberCode.Equals(s));
//// var sentity = serialList.GetEntityListBySuitNumber(f => f.SerialNumber.Equals(s) || f.NumberCode.Equals(s));
//var serialList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(s);
////int isTwo = 1;
////if (serialList2.Count > 1)
////{
//// isTwo = serialList2.Count;
////}
//foreach (var s2 in serialList2)
//{
// var sentity = serialList.FirstOrDefault(f => f.SerialNumber.Equals(s2) || f.NumberCode.Equals(s2));
// sList.Add(new Core.Dto.Box.OpsSerialNumbersResponse()
// {
// SerialNumber = s2.SerialNumber,
// BarCereateUser = _singleDataService.GetSingleData(SingleAction.Users, box.CompanyId, sentity == null ? 0 : sentity.CreatorId),
// BarCreateTime = sentity == null ? null : sentity.CreateTime,
// IsTwo= s2.IsTwo,
// TwoSerialNumber=s2.TwoSerialNumber,
// IsNotCount=s2.isNotCount
// });
//}
}
Core.Dto.Box.OpsBoxDetailsResponse Detail = new Core.Dto.Box.OpsBoxDetailsResponse()
{

View File

@@ -680,7 +680,7 @@ namespace BarCode.Web.Domain.Services.Public
//备注因为组织数据不是很多就不能和获取物料一样循环获取组织这里就获取10000条数据就行了
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"组织拉取-开始时间yzh{beginTime}");
_logger.LogInformation($"组织拉取-开始时间yzh20250530{beginTime}");
//4.参数json化
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);
@@ -690,7 +690,7 @@ namespace BarCode.Web.Domain.Services.Public
var result = JsonConvert.DeserializeObject<List<List<string>>>(result_json);
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"组织拉取-结束时间yzh20250418(2){endTime}");
_logger.LogInformation($"组织拉取-结束时间yzh20250530{endTime}");
//6.拼装
var list = new List<ErpOrgDto>();
foreach (var item in result)
@@ -716,7 +716,7 @@ namespace BarCode.Web.Domain.Services.Public
}
catch (Exception ex)
{
_logger.LogError($"金蝶组织拉取异常yzh{ex.Message}{result_json}");
_logger.LogError($"金蝶组织拉取异常20250530{ex.Message}{result_json}");
return ResultList<ErpOrgDto>.ReFailure(ResultCodes.ErpOrgError);
}
}
@@ -757,7 +757,7 @@ namespace BarCode.Web.Domain.Services.Public
//备注因为供应商数据不是很多就不能和获取物料一样循环获取组织这里就获取10000条数据就行了
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"供应商拉取-开始时间yzh{beginTime}");
_logger.LogInformation($"供应商拉取-开始时间yzh20250804{beginTime}");
//4.参数json化
query.Data = JsonConvert.SerializeObject(param);
var json = JsonConvert.SerializeObject(query);

View File

@@ -1,4 +1,5 @@
using BarCode.Web.Core.Dto;
using AutoMapper.Execution;
using BarCode.Web.Core.Dto;
using BarCode.Web.Core.Dto.Erp;
using BarCode.Web.Core.Dto.Login;
using BarCode.Web.Core.Dto.SerialNumbers;
@@ -10,14 +11,19 @@ using BarCode.Web.Domain.IService.Public;
using BarCode.Web.Domain.Services.Public;
using BarCode.Web.Domain.Values;
using BarCode.Web.Domain.Values.Single;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using NPOI.HPSF;
using NPOI.HSSF.Record;
using NPOI.OpenXmlFormats.Wordprocessing;
using Org.BouncyCastle.Crypto;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -130,6 +136,14 @@ namespace BarCode.Web.Domain.Services
List<SerialNumberGenerateRecord> sgList = new List<SerialNumberGenerateRecord>();
foreach (var d in dto.Details)
{
if(d.Number>1000)
{
d.Number = 1000;
}
else if(d.Number==0)
{
continue;
}
if (d.isTwo == 0)//如果套装数为0那么自动变成1
{
d.isTwo = 1;
@@ -280,19 +294,78 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> DownLoad(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds);
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"0");
if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
//修改序列号下载数
List<SerialNumbers> olist = new List<SerialNumbers>();
if (dto.IsAll)
{
olist = snGRList;
olist.ForEach(f => f.DownLoad());
}
else
{
olist = snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
if (dto.IsTwo == 2)//说明为两件装
{
var olistTmp = snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
List<string> s = new List<string>();
for (var i = 0; i < olistTmp.Count; i++)
{
string[] y = olistTmp[i].TwoSerialNumber.Split(',');
s.Add(y[0]);
s.Add(y[1]);
}
s.Distinct();
dto.SerialNumbers.AddRange(s);
dto.SerialNumbers.Distinct();
//var snGRList2 = await _serialNumbersRepositories.GetEntityList(s);
//olist = snGRList2;
olist = snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
olist.ForEach(f => f.DownLoad());
//// var olistTmp=snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
//olist = snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
//List<string> s = new List<string>();
//for (var i = 0; i < olist.Count; i++)
//{
// string[] y = olist[i].TwoSerialNumber.Split(',');
// s.Add(y[0]);
// _logger.LogInformation($"序列号为{y[0]}");
// s.Add(y[1]);
// var olist1 = snGRList.Where(w => dto.SerialNumbers.Contains(y[0])).ToList();
// olist1.ForEach(f => f.DownLoad());
// var olist2 = snGRList.Where(w => dto.SerialNumbers.Contains(y[1])).ToList();
// olist2.ForEach(f => f.DownLoad());
// _logger.LogInformation($"序列号为{y[1]}");
//}
////s.Distinct();
////var snGRList2 = await _serialNumbersRepositories.GetEntityList(s);
////olist = snGRList2;
////olist.ForEach(f => f.DownLoad());
}
else
{
olist = snGRList.Where(w => dto.SerialNumbers.Contains(w.SerialNumber)).ToList();
olist.ForEach(f => f.DownLoad());
}
//olist = snGRList.Where(w => dto.SerialNumbers.Contains(w.TwoSerialNumber)).ToList();
}
olist.ForEach(f => f.DownLoad());
//if(dto.IsTwo == 2)
//{
//snGRList.Find(olist.)
//}
foreach (var g in generateRecords)
@@ -315,6 +388,362 @@ namespace BarCode.Web.Domain.Services
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
/// <summary>
/// 更新错的Sn
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> UpdateSn(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"1");
List<SerialNumbers> olist = new List<SerialNumbers>();
bool res_Rollback = false;
for (int i=0;i< generateRecords.Count;i++)
{
List<int> s = [];
string newSuitNumber = "";
string oldSuitNumber = "";
int ids = generateRecords[i].Id;
s.Add(ids);
olist = await _serialNumbersRepositories.GetEntityListByGRIds(s);
//修改序列号下载数
int m=0;
foreach (var item in olist)
{
m++;
//自动生成序列码
string sn = item.SerialNumber;
if (m % 2 == 0)
{
newSuitNumber = oldSuitNumber;
}
else
{
oldSuitNumber = sn;
newSuitNumber = sn;
}
item.GenerateSuitNumber(newSuitNumber);
// item.GenerateTwoSerialNumber(newSuitNumber);
item.SetThisNumber(m);
item.IsTwo = 2;
}
foreach (var item in olist)
{
string ss = _serialNumbersRepositories.GetTwoSerialNumber(olist, item.SuitNumber);
item.GenerateTwoSerialNumber(ss);
string sNumberCode = _serialNumbersRepositories.GetTwoNumberCode(olist, item.SuitNumber);
item.GenerateTwoNumberCode(sNumberCode);
}
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
var isSuccess = await _serialNumbersRepositories.EditEntityList(olist, false);
if (!isSuccess) res_Rollback = true;
generateRecords[i].IsTwo = 2;
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback, _transaction);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
//return Result.ReSuccess();
}
if (!res_Rollback)
{
var res = await _sGenerateRecordRepositories.EditEntityList(generateRecords, false);
if (!res) res_Rollback = true;
}
return Result.ReSuccess();
}
/// <summary>
/// 验证Sn的正确性
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> VerifSn(TransferSNOneTwoTwoRequest dto)
{
string strMes = "";
// _logger.LogInformation($"获取到dto:{JsonConvert.SerializeObject(dto)}");
//先判断是否有存在使用的序列号,如果有的话,就报错。
dto.ids = dto.ids.Distinct().ToList();
// _logger.LogInformation($"获取到dto.ids:{JsonConvert.SerializeObject(dto.ids)}");
var sAll = dto.ids.Select(s => s.Id).ToList();
// _logger.LogInformation($"获取到sAll:{JsonConvert.SerializeObject(sAll)}");
List<SerialNumbers> isUselist = await _serialNumbersRepositories.GetUseEntityListByGRIds(sAll);
// _logger.LogInformation($"获取到isUselist:{JsonConvert.SerializeObject(isUselist)}");
if (isUselist.Count > 0)
{
//取出所有GenerateRecordId
var GenerateRecordIdAll = isUselist.Select(s => s.GenerateRecordId).Distinct().ToList();
string spec = "";
GenerateRecordIdAll.Distinct();
// _logger.LogInformation($"获取到GenerateRecordIdAll:{JsonConvert.SerializeObject(GenerateRecordIdAll)}");
foreach (int g in GenerateRecordIdAll)
{
var y = dto.ids.Where(x => x.Id == g).ToList();
// _logger.LogInformation($"获取到y:{JsonConvert.SerializeObject(y)}");
if (spec == "")
{
spec = y[0].Specifications+ " 序列码存在已使用, 请选择未使用序列码的数据 <br/>";
// _logger.LogInformation($"获取到specA:{y[0].Specifications}");
}
else
{
spec = spec + y[0].Specifications + " 序列码存在已使用, 请选择未使用序列码的数据 <br/>";
// _logger.LogInformation($"获取到spec:{spec}");
}
}
strMes = spec;// + " 序列码存在已使用, 请选择未使用序列码的数据 ";
// ValueTuple<int, string> IsUseError = (70003, spec + " 序列码存在已使用, 请选择未使用序列码的数据 ");
// return Result.ReFailure(IsUseError);
}
//取出所有的生成记录
string specNum = "";
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(sAll, "0");
for (int i = 0; i < generateRecords.Count; i++)
{
int intNum = generateRecords[i].Number;
int result = intNum % 2;
if (result != 0)//
{
//说明这条记录是单数
var y = dto.ids.Where(x => x.Id == generateRecords[i].Id).ToList();
if (specNum == "")
{
specNum = y[0].Specifications + " 条码个数为单数, 不支持转两件装!<br/>";
// _logger.LogInformation($"获取到specA:{y[0].Specifications}");
}
else
{
specNum = specNum + y[0].Specifications + " 条码个数为单数, 不支持转两件装!<br/>";
// _logger.LogInformation($"获取到spec:{spec}");
}
//return Result.ReFailure(ResultCodes.IsTwoError);
}
}
if (strMes != "" && specNum != "")
{
ValueTuple<int, string> IsUseError = (70003, specNum + strMes );
return Result.ReFailure(IsUseError);
}
else if (specNum != "")
{
ValueTuple<int, string> strMesError = (70005, specNum );
return Result.ReFailure(strMesError);
}
else if (strMes != "")
{
ValueTuple<int, string> strMesError = (70004, strMes );
return Result.ReFailure(strMesError);
}
return Result.ReSuccess();
}
/// <summary>
/// 转换序列号(从单件装转为两件装)
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> TransferSn(TransferSNOneTwoTwoRequest dto)
{
// string strMes = "";
// // _logger.LogInformation($"获取到dto:{JsonConvert.SerializeObject(dto)}");
// //先判断是否有存在使用的序列号,如果有的话,就报错。
dto.ids = dto.ids.Distinct().ToList();
// // _logger.LogInformation($"获取到dto.ids:{JsonConvert.SerializeObject(dto.ids)}");
var sAll = dto.ids.Select(s => s.Id).ToList();
//// _logger.LogInformation($"获取到sAll:{JsonConvert.SerializeObject(sAll)}");
// List<SerialNumbers> isUselist = await _serialNumbersRepositories.GetUseEntityListByGRIds(sAll);
// // _logger.LogInformation($"获取到isUselist:{JsonConvert.SerializeObject(isUselist)}");
// if (isUselist.Count>0)
// {
// //取出所有GenerateRecordId
// var GenerateRecordIdAll= isUselist.Select (s=>s.GenerateRecordId).ToList();
// string spec = "";
// GenerateRecordIdAll.Distinct();
// // _logger.LogInformation($"获取到GenerateRecordIdAll:{JsonConvert.SerializeObject(GenerateRecordIdAll)}");
// foreach (int g in GenerateRecordIdAll)
// {
// var y = dto.ids.Where(x => x.Id == g).ToList();
// // _logger.LogInformation($"获取到y:{JsonConvert.SerializeObject(y)}");
// if (spec == "")
// {
// spec = y[0].Specifications;
// // _logger.LogInformation($"获取到specA:{y[0].Specifications}");
// }
// else
// {
// spec = spec + "," + y[0].Specifications;
// // _logger.LogInformation($"获取到spec:{spec}");
// }
// }
// strMes = spec;// + " 序列码存在已使用, 请选择未使用序列码的数据 ";
// // ValueTuple<int, string> IsUseError = (70003, spec + " 序列码存在已使用, 请选择未使用序列码的数据 ");
// // return Result.ReFailure(IsUseError);
// }
// //取出所有的生成记录
// string specNum = "";
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(sAll, "0");
// for (int i = 0; i < generateRecords.Count; i++)
// {
// int intNum = generateRecords[i].Number;
// int result = intNum % 2;
// if (result != 0)//
// {
// //说明这条记录是单数
// var y = dto.ids.Where(x => x.Id == generateRecords[i].Id).ToList();
// if (specNum == "")
// {
// specNum = y[0].Specifications;
// // _logger.LogInformation($"获取到specA:{y[0].Specifications}");
// }
// else
// {
// specNum = specNum + "," + y[0].Specifications;
// // _logger.LogInformation($"获取到spec:{spec}");
// }
// //return Result.ReFailure(ResultCodes.IsTwoError);
// }
// }
// if (strMes != "" && specNum != "")
// {
// ValueTuple<int, string> IsUseError = (70003, specNum + " 条码个数为单数, 不支持转两件装!" + strMes + " 序列码存在已使用, 不支持转两件装!");
// return Result.ReFailure(IsUseError);
// }
// else if (specNum != "")
// {
// ValueTuple<int, string> strMesError = (70005, specNum + " 条码个数为单数, 不支持转两件装!");
// return Result.ReFailure(strMesError);
// }
// else if (strMes != "")
// {
// ValueTuple<int, string> strMesError = (70004, strMes + " 序列码存在已使用, 不支持转两件装!");
// return Result.ReFailure(strMesError);
// }
List<SerialNumbers> olist = new List<SerialNumbers>();
bool res_Rollback = false;
for (int i = 0; i < generateRecords.Count; i++)
{
List<int> s = [];
string newSuitNumber = "";
string oldSuitNumber = "";
int ids = generateRecords[i].Id;
s.Add(ids);
olist = await _serialNumbersRepositories.GetEntityListByGRIds(s);
//修改序列号下载数
int m = 0;
foreach (var item in olist)
{
m++;
//自动生成序列码
string sn = item.SerialNumber;
if (m % 2 == 0)
{
newSuitNumber = oldSuitNumber;
}
else
{
oldSuitNumber = sn;
newSuitNumber = sn;
}
item.GenerateSuitNumber(newSuitNumber);
// item.GenerateTwoSerialNumber(newSuitNumber);
item.SetThisNumber(m);
item.IsTwo = 2;
}
foreach (var item in olist)
{
string ss = _serialNumbersRepositories.GetTwoSerialNumber(olist, item.SuitNumber);
item.GenerateTwoSerialNumber(ss);
string sNumberCode = _serialNumbersRepositories.GetTwoNumberCode(olist, item.SuitNumber);
item.GenerateTwoNumberCode(sNumberCode);
}
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
var isSuccess = await _serialNumbersRepositories.EditEntityList(olist, false);
if (!isSuccess) res_Rollback = true;
generateRecords[i].IsTwo = 2;
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback, _transaction);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
//return Result.ReSuccess();
}
if (!res_Rollback)
{
var res = await _sGenerateRecordRepositories.EditEntityList(generateRecords, false);
if (!res) res_Rollback = true;
}
return Result.ReSuccess();
}
/// <summary>
/// 打印
/// </summary>
@@ -324,7 +753,7 @@ namespace BarCode.Web.Domain.Services
public async Task<Result> Print(OperateSerialNumberRequest dto)
{
//取出所有的生成记录
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds);
var generateRecords = await _sGenerateRecordRepositories.GetEntityList(dto.GenerateRecordIds,"");
if (generateRecords.Count() != dto.GenerateRecordIds.Count())
return Result.ReFailure(ResultCodes.NoDateError);
var snGRList = await _serialNumbersRepositories.GetEntityListByGRIds(dto.GenerateRecordIds);
@@ -366,13 +795,18 @@ namespace BarCode.Web.Domain.Services
/// <returns></returns>
public async Task<Result> Use(List<int> sGIds)
{
var sGList = await _sGenerateRecordRepositories.GetEntityList(sGIds);
var sGList = await _sGenerateRecordRepositories.GetEntityList(sGIds,"");
//_logger.LogInformation($"获取到sGList:{JsonConvert.SerializeObject(sGList)}");
var sGSNumberList = await _serialNumbersRepositories.GetEntityListByGRIds(sGIds);
// _logger.LogInformation($"获取到sGSNumberList:{JsonConvert.SerializeObject(sGSNumberList)}");
foreach (var sg in sGList)
{
int number = sGSNumberList.Where(w => w.GenerateRecordId == sg.Id && w.BoxId > 0).Count();
int number = sGSNumberList.Where(w => w.GenerateRecordId == sg.Id && w.BoxId > 0 ).Count();
sg.Use(number);
// _logger.LogInformation($"获取到sg:{sg}");
}
var isSuccess = await _sGenerateRecordRepositories.EditEntityList(sGList, false);

View File

@@ -24,7 +24,8 @@ namespace BarCode.Web.Domain.Values
public static ValueTuple<int, string> NoDateError = (40005, "数据不存在");
public static ValueTuple<int, string> NoOrgError = (40006, "组织信息不存在");
public static ValueTuple<int, string> IsTwoError = (70001, "两件装产品,数量需填双数");
public static ValueTuple<int, string> IsZeroError = (70002, "两件装产品,数量需填双数");
public static ValueTuple<int, string> IsUseError = (70003, "序列码存在已使用, 请选择未使用序列码的数据 ");
/// <summary>
/// 没有菜单权限,无法登录
/// </summary>

View File

@@ -321,8 +321,10 @@ namespace BarCode.Web.Repositories
{
if (i == 0)
str += $"SerialNumbers like '%\"{serialNumbers[i]}\"%'";
//str += $"twoSerialNumber like '%\"{serialNumbers[i]}\"%'";
else
str += $" or SerialNumbers like '%\"{serialNumbers[i]}\"%'";
//str += $" or twoSerialNumber like '%\"{serialNumbers[i]}\"%'";
}
var fs = FormattableStringFactory.Create(str);
var list = _context.Set<BoxDetails>().FromSqlInterpolated(fs).ToList();

View File

@@ -161,15 +161,26 @@ namespace BarCode.Web.Repositories
/// 获取集合
/// </summary>
/// <param name="ids"></param>
/// <param name="strUpdate">更新而使用的</param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<List<SerialNumberGenerateRecord>> GetEntityList(List<int> ids)
public async Task<List<SerialNumberGenerateRecord>> GetEntityList(List<int> ids,string strUpdate)
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => ids.Contains(f.Id))
.ToListAsync();
if(strUpdate=="1")
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => f.IsTwo==3)
.ToListAsync();
}
else
{
return await _context.SerialNumberGenerateRecord.AsNoTracking()
.Where(f => ids.Contains(f.Id))
.ToListAsync();
}
}
/// <summary>
/// 列表
/// </summary>

View File

@@ -203,6 +203,11 @@ namespace BarCode.Web.Repositories
|| w.Specifications.Contains(dto.MaterialNumber)
).Select(s => s.MaterialNumber).ToList();
}
List<int> cr_ids = new List<int>();
if (!string.IsNullOrEmpty(dto.CreateUser))
{
cr_ids = await _basicsRepositories.GetUserIdsAsync(dto.CreateUser, loginInfo.UserInfo.CompanyId);
}
List<int> sIds = new List<int>();
if (dto.SecurityNumbers != null && dto.SecurityNumbers.Count() > 0)
{
@@ -210,6 +215,7 @@ namespace BarCode.Web.Repositories
.GroupBy(g => g.GenerateRecordId).Select(s => s.Key).ToListAsync();
}
////供应商
//var supplier_result = await _erpService.BillQueryForSupplier();
//List<ErpSupplierDto> suppliers = new List<ErpSupplierDto>();
@@ -252,6 +258,8 @@ namespace BarCode.Web.Repositories
if (dto.SecurityNumbers != null && dto.SecurityNumbers.Count() > 0)
query = query.Where(w => sIds.Contains(w.Id));
if (!string.IsNullOrEmpty(dto.CreateUser))
query = query.Where(w => cr_ids.Contains(w.CreatorId));
int total = await query.CountAsync();
var list = await query.Select(s => new SecurityGenerateRecordInfoResponse()

View File

@@ -16,6 +16,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
using Npoi.Mapper;
using NPOI.OpenXmlFormats.Wordprocessing;
using NPOI.POIFS.FileSystem;
using Quartz.Logging;
using System;
@@ -106,6 +107,12 @@ namespace BarCode.Web.Repositories
string s = GetTwoSerialNumber(entitys, item.SuitNumber);
item.GenerateTwoSerialNumber(s);
string sNumberCode = GetTwoNumberCode(entitys, item.SuitNumber);
item.GenerateTwoNumberCode(sNumberCode);
}
await _context.SaveChangesAsync();
@@ -142,6 +149,33 @@ namespace BarCode.Web.Repositories
}
return strReturn;
}
/// <summary>
/// 产生第二个数字序列码
/// </summary>
/// <param name="entitys"></param>
/// <param name="SuitNumber"></param>
public string GetTwoNumberCode(List<SerialNumbers> entitys, string SuitNumber)
{
string strReturn = "";
foreach (var item in entitys)
{
if (item.SuitNumber == SuitNumber)
{
if (strReturn == "")
{
strReturn = item.NumberCode;
}
else
{
strReturn = strReturn + "," + item.NumberCode;
}
}
}
return strReturn;
}
/// <summary>
/// 批量修改
/// </summary>
@@ -190,6 +224,19 @@ namespace BarCode.Web.Repositories
.Where(f => gRIds.Contains(f.GenerateRecordId))
.ToListAsync();
}
/// <summary>
/// 根据生成记录Id查询序列号
/// </summary>
/// <param name="gRIds"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetUseEntityListByGRIds(List<int> gRIds)
{
return await _context.SerialNumbers.AsNoTracking()
.Where(f => gRIds.Contains(f.GenerateRecordId) && f.IsUse==true)
.ToListAsync();
}
/// <summary>
/// 根据生成记录Id查询序列号
/// </summary>
@@ -217,6 +264,8 @@ namespace BarCode.Web.Repositories
if (materials_result.IsSuccess)
materials = materials_result.Data.ToList();
//var queery2= _context.ser
var query = _context.SerialNumbers.AsNoTracking()
.GroupJoin(_context.Box, serial => serial.BoxId, box => box.Id, (serial, box) => new { serial, box })
.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, box })
@@ -335,6 +384,246 @@ namespace BarCode.Web.Repositories
return (list, total);
}
/// <summary>
/// 列表2
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<(List<SerialNumberInfoResponse2> list, int total)> GetListAsync2(SerialNumberQueryRequest dto, LoginInDto loginInfo)
{
int companyId = loginInfo.UserInfo.CompanyId;
List<string> mNumber = new List<string>();
var materials_result = await _erpService.BillQueryForMaterial();
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
if (materials_result.IsSuccess)
materials = materials_result.Data.ToList();
//var queery2= _context.ser
var query = _context.SerialNumbers.AsNoTracking()
.GroupJoin(_context.Box, serial => serial.BoxId, box => box.Id, (serial, box) => new { serial, box })
.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, box })
.GroupJoin(_context.SerialNumberGenerateRecord, s => s.serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial.serial, serial.box, sg })
.SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, p.box, sg })
.OrderByDescending(o => o.serial.Id)
.Where(f => dto.GenerateRecordId == f.serial.GenerateRecordId );
if (loginInfo.UserInfo.IsAdmin != true && !string.IsNullOrEmpty(dto.OrgCode))
{
var rec_type = dto.OrgCode.Substring(0, 1);
var rec_code = dto.OrgCode.Substring(2, dto.OrgCode.Length - 2);
if (rec_type.Equals("s"))//供应商
query = query.Where(w => rec_code == w.serial.SupplierCode);
else//查其他单据(组织)
query = query.Where(w => rec_code == w.serial.OrgCode);
}
if (dto.IsPrint != null)
query = query.Where(w => dto.IsPrint == true ? w.serial.PrintNumber > 0 : w.serial.PrintNumber <= 0);
if (dto.IsUse != null)
query = query.Where(w => w.serial.IsUse == dto.IsUse);
if (dto.SerialNumbers != null && dto.SerialNumbers.Count() > 0)
query = query.Where(w => dto.SerialNumbers.Contains(w.serial.SerialNumber));
if (dto.NumberCodes != null && dto.NumberCodes.Count() > 0)
query = query.Where(w => dto.NumberCodes.Contains(w.serial.NumberCode));
if (!string.IsNullOrEmpty(dto.BoxBillNo))
query = query.Where(w => w.box.BoxBillNo.Equals(dto.BoxBillNo));
if (dto.SerialNumberBegin != null && dto.SerialNumberBegin != 0)
{
if (dto.SerialNumberEnd != null && dto.SerialNumberEnd != 0)
query = query.Where(w => w.serial.Id >= dto.SerialNumberBegin);
else
query = query.Where(w => w.serial.Id == dto.SerialNumberBegin);
}
if (dto.SerialNumberEnd != null && dto.SerialNumberEnd != 0)
{
if (dto.SerialNumberBegin != null && dto.SerialNumberBegin != 0)
query = query.Where(w => w.serial.Id <= dto.SerialNumberEnd);
else
query = query.Where(w => w.serial.Id == dto.SerialNumberEnd);
}
//V01.05.00: 数字序列号区间查询
if (!string.IsNullOrEmpty(dto.NumberCodeBegin))
{
int number = Convert.ToInt32(dto.NumberCodeBegin.Substring(6, dto.NumberCodeBegin.Length - 6));
if (!string.IsNullOrEmpty(dto.NumberCodeEnd))
query = query.Where(w => w.serial.Number >= number);
else
query = query.Where(w => w.serial.Number == number);
}
if (!string.IsNullOrEmpty(dto.NumberCodeEnd))
{
int number = Convert.ToInt32(dto.NumberCodeEnd.Substring(6, dto.NumberCodeEnd.Length - 6));
if (!string.IsNullOrEmpty(dto.NumberCodeBegin))
query = query.Where(w => w.serial.Number <= number);
else
query = query.Where(w => w.serial.Number == number);
}
if (dto.DownLoadBeginDate != null)
query = query.Where(w => w.serial.DownLoadTime >= dto.DownLoadBeginDate);
if (dto.DownLoadEndDate != null)
{
DateTime dt_end = ((DateTime)dto.DownLoadEndDate).AddDays(1);
query = query.Where(w => w.serial.DownLoadTime <= dt_end);
}
if (dto.PrintBeginDate != null)
query = query.Where(w => w.serial.PrintTime >= dto.PrintBeginDate);
if (dto.PrintEndDate != null)
{
DateTime dt_end = ((DateTime)dto.PrintEndDate).AddDays(1);
query = query.Where(w => w.serial.PrintTime <= dt_end);
}
if (dto.IsUpdateMaterial != null)
{
if (dto.IsUpdateMaterial == true)
query = query.Where(w => !string.IsNullOrEmpty(w.serial.Old_MaterialNumber));
else
query = query.Where(w => string.IsNullOrEmpty(w.serial.Old_MaterialNumber));
}
if (dto.isTwo > 1)//是否为两件装如果大于1说明为两件装
{
query = query.Where(w => w.serial.IsTwo > 1);
}
int total = await query.CountAsync();
var list = await query.Select(s => new SerialNumberInfoResponse2()
{
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
Old_Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.Old_MaterialNumber == null ? "" : s.serial.Old_MaterialNumber),
MaterialNumber = s.serial.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber),
SerialNumber = s.serial.SerialNumber,
SerialNumber2 = s.serial.SerialNumber,
NumberCode = s.serial.NumberCode,
NumberCode2 = s.serial.NumberCode,
Number = s.sg == null ? 0 : s.sg.Number,
Id = s.serial.Id,
Id2 = s.serial.Id,
IsUse = s.serial.IsUse,
IsUseStr = s.serial.IsUse == true ? "是" : "否",
//序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印
IsEnablePrint = (s.serial.BoxId <= 0 && s.serial.IsUse == true) ? false : true,
Box = s.box == null ? "" : s.box.BoxBillNo,
Creator = _singleDataService.GetSingleData(SingleAction.Users, companyId, s.serial.CreatorId),
CreateTime = s.serial.CreateTime.DateToStringSeconds(),
PrintNumber = s.serial.PrintNumber,
DownLoadNumber = s.serial.DownLoadNumber,
DownLoadTime = s.serial.DownLoadTime.DateToStringSeconds(),
PrintTime = s.serial.PrintTime.DateToStringSeconds(),
IsTwo = s.serial.IsTwo,
SuitNumber=s.serial.SuitNumber,
TwoSerialNumber = s.serial.TwoSerialNumber.Replace(s.serial.SerialNumber, "").Replace(",", "")
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
List<SerialNumberInfoResponse2> returnList= new List<SerialNumberInfoResponse2>();
for (int i = 0; i < list.Count; i++)
{
SerialNumberInfoResponse2 list2 = new SerialNumberInfoResponse2();
if (list[i] != null)
{
if (list[i].SuitNumber == list[i].SerialNumber)
{
List<string> sn = new List<string>();
sn.Add(list[i].TwoSerialNumber.Replace(list[i].SuitNumber,"").Replace(",",""));
var serialNumbers = await GetEntityList(sn);
//说明是两件装,且是两件装的主号
list2.Specifications = list[i].Specifications;
list2.Old_Specifications = list[i].Old_Specifications;
list2.MaterialNumber = list[i].MaterialNumber;
list2.MaterialName = list[i].MaterialName;
list2.BarCode = list[i].BarCode;
list2.SerialNumber = serialNumbers[0].SerialNumber;
list2.SerialNumber2 = list[i].SerialNumber;
list2.NumberCode = serialNumbers[0].NumberCode;
list2.NumberCode2 = list[i].NumberCode;
list2.Number = list[i].Number;
list2.Id = serialNumbers[0].Id;
list2.Id2 = list[i].Id;
list2.IsUse = list[i].IsUse;
list2.IsUseStr = list[i].IsUseStr;
list2.IsEnablePrint = list[i].IsEnablePrint;
list2.Box = list[i].Box;
list2.Creator = list[i].Creator;
list2.CreateTime = list[i].CreateTime;
list2.PrintNumber = list[i].PrintNumber;
list2.DownLoadNumber = list[i].DownLoadNumber;
list2.DownLoadTime= list[i].DownLoadTime;
list2.PrintTime = list[i].PrintTime;
list2.IsTwo = list[i].IsTwo;
list2.TwoSerialNumber = list[i].TwoSerialNumber;
returnList.Add(list2);
}
else
{
List<string> sn = new List<string>();
sn.Add(list[i].SerialNumber);
var serialNumbers = await GetEntityList(sn);
//判断号码有没有在要返回的list中如果有的话那就不加了。
if(dto.SerialNumbers!=null)
{
bool exist = dto.SerialNumbers.Contains(serialNumbers[0].SuitNumber);
if (exist == false)
{
List<string> sn2 = new List<string>();
sn2.Add(list[i].TwoSerialNumber.Replace(list[i].SerialNumber, "").Replace(",", "")) ;
serialNumbers = await GetEntityList(sn2);
//说明是两件装,且是两件装的主号
list2.Specifications = list[i].Specifications;
list2.Old_Specifications = list[i].Old_Specifications;
list2.MaterialNumber = list[i].MaterialNumber;
list2.MaterialName = list[i].MaterialName;
list2.BarCode = list[i].BarCode;
list2.SerialNumber = serialNumbers[0].SerialNumber;
list2.SerialNumber2 = list[i].SerialNumber;
list2.NumberCode = serialNumbers[0].NumberCode;
list2.NumberCode2 = list[i].NumberCode;
list2.Number = list[i].Number;
list2.Id = serialNumbers[0].Id;
list2.Id2 = list[i].Id;
list2.IsUse = list[i].IsUse;
list2.IsUseStr = list[i].IsUseStr;
list2.IsEnablePrint = list[i].IsEnablePrint;
list2.Box = list[i].Box;
list2.Creator = list[i].Creator;
list2.CreateTime = list[i].CreateTime;
list2.PrintNumber = list[i].PrintNumber;
list2.DownLoadNumber = list[i].DownLoadNumber;
list2.DownLoadTime = list[i].DownLoadTime;
list2.PrintTime = list[i].PrintTime;
list2.IsTwo = list[i].IsTwo;
list2.TwoSerialNumber = list[i].TwoSerialNumber;
returnList.Add(list2);
}
else
{
list2.DownLoadTime = list[i].DownLoadTime;
}
}
}
}
}
return (returnList, total);
}
/// <summary>
/// 导出列表
/// </summary>
@@ -367,20 +656,77 @@ namespace BarCode.Web.Repositories
.Where(f => dto.Ids.Contains(f.serial.GenerateRecordId));
int total = await query.CountAsync();
var list = await query.Select(s => new SerialNumbersExportReponse()
if (dto.IsTwo == 2)
{
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
MaterialNumber = s.serial.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber),
SerialNumber = s.serial.SerialNumber,
NumberCode = s.serial.NumberCode,
Number = s.sg == null ? 0 : s.sg.Number,
SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode)
: _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode)
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
List<SerialNumbersExportReponse2> returnList = new List<SerialNumbersExportReponse2>();
var list = await query.Select(s => new SerialNumbersExportReponse2()
{
PurchaseBillNo = s.sg == null ? "" : s.sg.PurchaseBillNo,
SuitNumber=s.serial.SuitNumber,
TwoSerialNumber=s.serial.TwoSerialNumber,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
MaterialNumber = s.serial.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber),
SerialNumber = s.serial.SerialNumber,
NumberCode = s.serial.NumberCode,
Number = s.sg == null ? 0 : s.sg.Number,
SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode)
: _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode)
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
for (int i = 0; i < list.Count; i++)
{
SerialNumbersExportReponse2 list2 = new SerialNumbersExportReponse2();
if (list[i] != null)
{
if (list[i].SuitNumber == list[i].SerialNumber)
{
List<string> sn = new List<string>();
sn.Add(list[i].TwoSerialNumber.Replace(list[i].SuitNumber, "").Replace(",", ""));
var serialNumbers = await GetEntityList(sn);
list2.PurchaseBillNo = list[i].PurchaseBillNo;
list2.Specifications = list[i].Specifications;
list2.MaterialNumber = list[i].MaterialNumber;
list2.MaterialName = list[i].MaterialName;
list2.BarCode = list[i].BarCode;
list2.SerialNumber = serialNumbers[0].SerialNumber;
list2.SerialNumber2 = list[i].SerialNumber;
list2.NumberCode = serialNumbers[0].NumberCode;
list2.NumberCode2 = list[i].NumberCode;
list2.Number = list[i].Number;
list2.SupplierOrOrg = list[i].SupplierOrOrg;
returnList.Add(list2);
}
}
}
return (returnList, total);
}
else
{
var list = await query.Select(s => new SerialNumbersExportReponse()
{
PurchaseBillNo= s.sg == null ? "" : s.sg.PurchaseBillNo,
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
MaterialNumber = s.serial.MaterialNumber,
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber),
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber),
SerialNumber = s.serial.SerialNumber,
NumberCode = s.serial.NumberCode,
Number = s.sg == null ? 0 : s.sg.Number,
SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode)
: _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode)
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
return (list, total);
}
}
/// <summary>
/// 根据箱Id来搜索序列号
/// </summary>
@@ -396,7 +742,7 @@ namespace BarCode.Web.Repositories
var query = _context.SerialNumbers.AsNoTracking()
.OrderByDescending(o => o.CompleteCartonTime)//以装箱时间先后排序
.Where(f => f.BoxId == dto.BoxId);
.Where(f => f.BoxId == dto.BoxId && f.IsNotCount!="1");
int total = await query.CountAsync();
var list = await query.Select(s => new SerialNumbersResponse()
@@ -411,7 +757,7 @@ namespace BarCode.Web.Repositories
SerialNumber = s.SerialNumber,
IsUseNumber = s.IsUseNumber,
NumberCode = s.NumberCode,
TwoSerialNumber=s.TwoSerialNumber.Replace(s.SerialNumber,"").Replace(",","")
TwoSerialNumber= (s.IsUseNumber==true)? s.TwoNumberCode.Replace(s.NumberCode,"").Replace(",",""): s.TwoSerialNumber.Replace(s.SerialNumber,"").Replace(",","")
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
return (list, total);
}
@@ -562,7 +908,11 @@ namespace BarCode.Web.Repositories
var entity = await query.FirstOrDefaultAsync();
if (entity == null) return null;
bool isNumber = false;
if(entity.TwoNumberCode.IndexOf(serialNumber)>=0)
{
isNumber = true;
}
////如果为单套产品,那就直接取就行了。
//if (entity.IsTwo < 2)
//{
@@ -580,7 +930,8 @@ namespace BarCode.Web.Repositories
NumberCode = entity.NumberCode,
IsTwo = entity.IsTwo,
SuitNumber = entity.SuitNumber,
TwoSerialNumber= entity.TwoSerialNumber.Replace(entity.SerialNumber,"").Replace(",","")
TwoSerialNumber= (isNumber==true)? entity.TwoNumberCode.Replace(entity.NumberCode, "").Replace(",", ""): entity.TwoSerialNumber.Replace(entity.SerialNumber,"").Replace(",","")
// TwoNumberCode = entity.TwoNumberCode.Replace(entity.NumberCode, "").Replace(",", "")
};
//}
// else//跟据套装去查对应的
@@ -645,8 +996,27 @@ namespace BarCode.Web.Repositories
/// <returns></returns>
public async Task<(object obj, int total)> GetListField(SerialNumberQueryRequest dto, LoginInDto loginInfo)
{
return await GetListAsync(dto, loginInfo);
if (dto.isTwo == 2)
{
return await GetListAsync2(dto, loginInfo);
}
else
{
return await GetListAsync(dto, loginInfo);
}
}
///// <summary>
///// 两件装条码列表导出
///// </summary>
///// <param name="dto"></param>
///// <param name="loginInfo"></param>
///// <returns></returns>
//public async Task<(object obj, int total)> GetListField2(SerialNumberQueryRequest dto, LoginInDto loginInfo)
//{
// return await GetListAsync2(dto, loginInfo);
//}
/// <summary>
/// 根据箱Id获取序列码
/// </summary>
@@ -671,6 +1041,20 @@ namespace BarCode.Web.Repositories
.ToListAsync();
}
///// <summary>
///// 跟据特定条件得到产生的序列号列表(主要是内部使用)
///// </summary>
///// <param name="boxIds"></param>
///// <returns></returns>
//public async Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber)
//{
// return await _context.SerialNumbers.AsNoTracking()
// .Where(f => f.TwoSerialNumber.Contains(suitNumber))
// .ToListAsync();
//}
/// <summary>
/// wms系统查询序列码 支持数字序列码
/// </summary>
@@ -681,8 +1065,27 @@ namespace BarCode.Web.Repositories
var entity = await _context.SerialNumbers.AsNoTracking()
.FirstOrDefaultAsync(f => serialNumbers.Equals(f.SerialNumber) || serialNumbers.Equals(f.NumberCode));
return entity;
//以上为以前的
//var entity = await _context.SerialNumbers.AsNoTracking()
//.FirstOrDefaultAsync(f => f.TwoSerialNumber.Contains(serialNumbers) || f.TwoNumberCode.Equals(serialNumbers));
//return entity;
}
/// <summary>
/// wms系统查询序列码 支持数字序列码
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public async Task<List<SerialNumbers>> GetEntityWmsBySuitNumber(string suitNumber)
{
return await _context.SerialNumbers.AsNoTracking()
.Where(f => f.TwoSerialNumber.Contains(suitNumber) || f.TwoNumberCode.Contains(suitNumber))
.ToListAsync();
}
public async Task<List<SerialNumbers>> GetEntityListContainNumber(List<string> serialNumbers)
{
return await _context.SerialNumbers.AsNoTracking()