Browse Source

解决冲突

dev_DY_CC
郑勃旭 1 year ago
parent
commit
32d27e4cbc
  1. 83
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs
  2. 1
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/InjectionMoldingTaskAgentModule.cs
  3. 1
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.csproj
  4. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/appsettings.json
  5. 17
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/IInjectionRequestAppService.cs
  6. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs

83
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs

@ -62,34 +62,17 @@ public class InjectionMoldingRequestReader : IReader
public virtual async Task<List<IncomingFromExternal>> ReadAsync() public virtual async Task<List<IncomingFromExternal>> ReadAsync()
{ {
try try
{ {
// 创建 SfsStoreRequestInputBase 对象以设定作业条件 // 获取注塑叫料任务数量
var jobCondition = new SfsStoreRequestInputBase(); var count = await _injectionRequest.GetCountAsync().ConfigureAwait(false);
Filter filter = new Filter() List<InjectionRequestEditInput> joblist = new List<InjectionRequestEditInput>();
{ if (count == 0)
Action = "<>",
Column = "RequestStatus",
Logic = EnumFilterLogic.And.ToString(),
Value = (EnumRequestStatus.Completed).ToString()
};
// 添加筛选条件:请求状态不等于已完成
jobCondition.Condition.Filters.Add(filter);
filter = new Filter()
{
Action = "==",
Column = "Type",
Logic = EnumFilterLogic.And.ToString(),
Value = "Vision"
};
// 添加筛选条件:类型为 Vision
jobCondition.Condition.Filters.Add(filter);
// 通过筛选条件获取作业列表
var jobs = await _injectionRequest.GetAllListByFilterAsync(jobCondition).ConfigureAwait(false);
List<InjectionIssueRequestEditInput> joblist = new List<InjectionIssueRequestEditInput>();
if (jobs.Count == 0)
{ {
// 调用 ReaderCameraApi 方法获取摄像头信息 // 调用 ReaderCameraApi 方法获取摄像头信息
string camera = await ReaderCameraApi().ConfigureAwait(false); string camera = await ReaderCameraApi().ConfigureAwait(false);
List<InjectionIssueRequest> cameraList = new List<InjectionIssueRequest>(); List<InjectionIssueRequest> cameraList = new List<InjectionIssueRequest>();
@ -97,23 +80,40 @@ public class InjectionMoldingRequestReader : IReader
if (camera == "Error occured") if (camera == "Error occured")
{ {
// 记录错误日志并返回空列表 // 记录错误日志并返回空列表
_logger.LogError($"没有读取到摄像头信息{DateTime.Now},请检查网络"); _logger.LogInformation($"没有读取到摄像头信息{DateTime.Now},请检查网络");
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
} }
// 将摄像头信息转换为注塑叫料明细任务数据 //将摄像头信息转换为注塑叫料明细任务数据
cameraList = System.Text.Json.JsonSerializer.Deserialize<List<InjectionIssueRequest>>(camera); cameraList = System.Text.Json.JsonSerializer.Deserialize<List<InjectionRequest>>(camera);
InjectionIssueRequestEditInput input = new InjectionIssueRequestEditInput(); //测试数据
List<InjectionIssueRequestDetailInput> injectionRequestDetails = new List<InjectionIssueRequestDetailInput>(); //var cameraList = new List<InjectionRequest>()
//{
// new InjectionRequest() { ItemCode = "THILDD0A542AG", ToLocCode = "ZSXB2", Qty = 100 },
// };
InjectionRequestEditInput input = new InjectionRequestEditInput();
input.Worker = "Vision";
input.Type = "Vision";
input.AutoSubmit = true;
input.ActiveDate = DateTime.Now;
input.UseOnTheWayLocation = false;
input.Remark = "视觉叫料";
List<InjectionRequestDetailInput> injectionRequestDetails = new List<InjectionRequestDetailInput>();
foreach (var job in cameraList) foreach (var job in cameraList)
{ {
var detailInput = new InjectionRequestDetailInput()
var detailInput = new InjectionIssueRequestDetailInput()
{ {
ItemCode = job.ItemCode, ItemCode = job.ItemCode,
ToLocationCode = job.ToLocCode, ToLocationCode = job.ToLocCode,
Qty = job.Qty, Qty = job.Qty,
RecommendType = EnumRecommendType.W,
IssuedQty = 0,
ReceivedQty = 0,
Status = EnumStatus.Open,
RequestStatus = EnumRequestStatus.New,
}; };
// 添加注塑叫料明细任务数据 // 添加注塑叫料明细任务数据
injectionRequestDetails.Add(detailInput); injectionRequestDetails.Add(detailInput);
@ -126,7 +126,7 @@ public class InjectionMoldingRequestReader : IReader
// 记录错误日志并返回空列表 // 记录错误日志并返回空列表
foreach (var error in errors) foreach (var error in errors)
{ {
_logger.LogError(error); _logger.LogInformation(error);
} }
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
@ -134,19 +134,16 @@ public class InjectionMoldingRequestReader : IReader
// 创建新的注塑请求并将数据写入数据库 // 创建新的注塑请求并将数据写入数据库
await _injectionRequest.CreateAsync(input).ConfigureAwait(false); await _injectionRequest.CreateAsync(input).ConfigureAwait(false);
} }
} else
// 捕获特定异常并记录日志
catch (AbpException ex)
{ {
_logger.LogError(ex.Message); _logger.LogInformation("注塑叫料任务已存在,无需读取");
} }
catch (JsonException ex)
{
_logger.LogError(ex.Message);
} }
// 捕获特定异常并记录日志
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex.Message); _logger.LogInformation(ex.Message);
} }
// 返回空列表 // 返回空列表
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
@ -173,6 +170,7 @@ public class InjectionMoldingRequestReader : IReader
request.ItemDesc1 = itm.Desc1; request.ItemDesc1 = itm.Desc1;
request.ItemDesc2 = itm.Desc2; request.ItemDesc2 = itm.Desc2;
request.ItemName = itm.Name; request.ItemName = itm.Name;
request.Uom = itm.BasicUom;
} }
// 获取对应库位信息 // 获取对应库位信息
var loc = await _locService.GetByCodeAsync(request.ToLocationCode).ConfigureAwait(false); var loc = await _locService.GetByCodeAsync(request.ToLocationCode).ConfigureAwait(false);
@ -184,6 +182,7 @@ public class InjectionMoldingRequestReader : IReader
request.ToLocationGroup = loc.LocationGroupCode; request.ToLocationGroup = loc.LocationGroupCode;
request.ToLocationErpCode = loc.ErpLocationCode; request.ToLocationErpCode = loc.ErpLocationCode;
request.ToWarehouseCode = loc.WarehouseCode; request.ToWarehouseCode = loc.WarehouseCode;
request.ToLocationArea = loc.AreaCode;
} }
} }
// 返回错误列表 // 返回错误列表

1
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/InjectionMoldingTaskAgentModule.cs

@ -36,6 +36,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent;
[DependsOn( [DependsOn(
typeof(StoreApplicationContractsModule), typeof(StoreApplicationContractsModule),
typeof(InventoryApplicationContractsModule), typeof(InventoryApplicationContractsModule),
typeof(BasedataApplicationContractsModule),
typeof(LabelApplicationContractsModule), typeof(LabelApplicationContractsModule),
//typeof(DataExchangeDomainModule), //typeof(DataExchangeDomainModule),
//typeof(DataExchangeEntityFrameworkCoreModule), //typeof(DataExchangeEntityFrameworkCoreModule),

1
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.csproj

@ -20,6 +20,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\Modules\BaseData\src\Win_in.Sfs.Basedata.Application.Contracts\Win_in.Sfs.Basedata.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\Modules\Label\src\Win_in.Sfs.Label.Application.Contracts\Win_in.Sfs.Label.Application.Contracts.csproj" /> <ProjectReference Include="..\..\..\Modules\Label\src\Win_in.Sfs.Label.Application.Contracts\Win_in.Sfs.Label.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\Modules\Shared\src\Win_in.Sfs.Shared.Host\Win_in.Sfs.Shared.Host.csproj" /> <ProjectReference Include="..\..\..\Modules\Shared\src\Win_in.Sfs.Shared.Host\Win_in.Sfs.Shared.Host.csproj" />
<ProjectReference Include="..\..\..\Modules\Store\src\Win_in.Sfs.Wms.Store.Application.Contracts\Win_in.Sfs.Wms.Store.Application.Contracts.csproj" /> <ProjectReference Include="..\..\..\Modules\Store\src\Win_in.Sfs.Wms.Store.Application.Contracts\Win_in.Sfs.Wms.Store.Application.Contracts.csproj" />

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/appsettings.json

@ -40,8 +40,12 @@
}, },
"Store": { "Store": {
"BaseUrl": "http://localhost:59095/" "BaseUrl": "http://localhost:59095/"
},
"BaseData": {
"BaseUrl": "http://localhost:59094/"
} }
}, },

17
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/MaterialRequests/InjectionRequests/IInjectionRequestAppService.cs

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public interface IInjectionRequestAppService
: ISfsStoreRequestMasterAppServiceBase<InjectionRequestDTO, SfsStoreRequestInputBase, InjectionRequestEditInput, InjectionRequestDetailDTO, SfsStoreRequestInputBase>
{
Task<InjectionRequestDTO> CreateAndHandleAsync(InjectionRequestEditInput input);
Task<int> GetCountAsync();
}

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs

@ -19,6 +19,7 @@ using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
@ -306,5 +307,17 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase<Inj
return location; return location;
} }
/// <summary>
/// 获取已完成的叫料单数量
/// </summary>
/// <returns></returns>
[HttpGet("get-completed-injection-request-count")]
public async Task<int> GetCountAsync()
{
//枚举类型查不到改成SQL查询
var query = _repository.GetDbSet().FromSqlRaw(" select * from Store_InjectionRequest where Type='Vision' and RequestStatus<>'Completed'");
return await query.CountAsync().ConfigureAwait(false);
}
#endregion #endregion
} }

Loading…
Cancel
Save