Browse Source

Merge branch 'dev_DY_CC' of http://dev.ccwin-in.com:3000/BoXu.Zheng/WZC2 into dev_DY_CC

dev_DY_CC
郑勃旭 1 year ago
parent
commit
505a4cdc22
  1. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs
  2. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/DTOs/ThirdLocationNoteDTO.cs
  3. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/Inputs/ThirdLocationNoteEditInput.cs
  4. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/Inputs/ThirdLocationNoteImportInput.cs
  5. 225
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  6. 58
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  7. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs
  8. 9
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs
  9. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs
  10. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ThirdLocationNotes/ThirdLocationNote.cs
  11. 14
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Notes/ThirdLocationNoteAutoMapperProfile.cs
  12. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs

@ -72,7 +72,7 @@ public class TestService:ApplicationService
{ {
ReusltObject reuslt=new ReusltObject(); ReusltObject reuslt=new ReusltObject();
reuslt.Code = "0"; reuslt.Code = "1";
reuslt.Message = "操作成功"; reuslt.Message = "操作成功";
reuslt.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); reuslt.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/DTOs/ThirdLocationNoteDTO.cs

@ -13,6 +13,7 @@ public class ThirdLocationNoteDTO : SfsStoreDTOBase<ThirdLocationNoteDetailDTO>,
[Display(Name = "任务ID")] [Display(Name = "任务ID")]
public string JobNumber { get; set; } public string JobNumber { get; set; }
/// <summary> /// <summary>
/// 车间 /// 车间
/// </summary> /// </summary>

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/Inputs/ThirdLocationNoteEditInput.cs

@ -28,6 +28,7 @@ public class ThirdLocationNoteEditInput : SfsStoreCreateOrUpdateInputBase
[Required(ErrorMessage = "{0}是必填项")] [Required(ErrorMessage = "{0}是必填项")]
public string JobNumber { get; set; } public string JobNumber { get; set; }
/// <summary> /// <summary>
/// 车间 /// 车间
/// </summary> /// </summary>

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/ThirdLocationNotes/Inputs/ThirdLocationNoteImportInput.cs

@ -10,6 +10,7 @@ public class ThirdLocationNoteImportInput : SfsStoreImportInputBase, IHasJobNumb
[Display(Name = "任务ID")] [Display(Name = "任务ID")]
public string JobNumber { get; set; } public string JobNumber { get; set; }
/// <summary> /// <summary>
/// 车间 /// 车间
/// </summary> /// </summary>

225
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs

@ -204,116 +204,121 @@ public class CoatingIssueJobAppService
} }
[HttpPost("sync-issue-job-stereo")] //[HttpPost("sync-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input) //public virtual async Task<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input)
{ //{
ReusltObject ret=new ReusltObject(); // ReusltObject ret=new ReusltObject();
ret.Code = "1"; // ret.Code = "1";
ret.Message = "操作成功"; // ret.Message = "操作成功";
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); // ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
List<IssueJobToRestoDetailDTO> IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>(); // List<IssueJobToRestoDetailDTO> IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>();
IssueJobToRestoDTO main=new IssueJobToRestoDTO(); // IssueJobToRestoDTO main=new IssueJobToRestoDTO();
main.OperatorName=CurrentUser.UserName; // main.OperatorName=CurrentUser.UserName;
foreach (var job in input) // foreach (var job in input)
{ // {
foreach (var jobitem in job.Details) // foreach (var jobitem in job.Details)
{ // {
IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO() // IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO()
{ // {
Count=jobitem.HandledToQty, // Count=jobitem.HandledToQty,
ProductNo=jobitem.ItemCode, // ProductNo=jobitem.ItemCode,
NeedSite=jobitem.HandledToLocationCode, // NeedSite=jobitem.HandledToLocationCode,
WorkNo=job.Number, // WorkNo=job.Number,
TaskNo=job.Number // TaskNo=job.Number
}); // });
} // }
} // }
main.Details=IssueJobToRestoDetailDTOs; // main.Details=IssueJobToRestoDetailDTOs;
#region // #region
IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); // IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient());
ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); // ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false);
#endregion // #endregion
return ret; // return ret;
} //}
[HttpPost("receive-issue-job-stereo")] //[HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input) //public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input)
{ //{
List<string> errors = new List<string>(); // List<string> errors = new List<string>();
var ret=new ReusltObject() // var ret=new ReusltObject()
{ // {
Code = "1", // Code = "1",
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), // OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = "操作成功" // Message = "操作成功"
}; // };
try // try
{ // {
if (input.Jobs.Count > 0) // if (input.Jobs.Count > 0)
{ // {
var inputs = input.Jobs; // var inputs = input.Jobs;
var numbers = inputs.Select(p => p.JobNumber); // var numbers = inputs.Select(p => p.JobNumber);
var query = _repository.WithDetails() // var query = _repository.WithDetails()
.Where(p => numbers.Contains(p.Number)); // .Where(p => numbers.Contains(p.Number));
var entities = query.ToList(); // var entities = query.ToList();
if (input.Jobs.Count == entities.Count) { // if (input.Jobs.Count == entities.Count) {
errors.Add("出库任务和WMS出库任务不符,请核对! \n"); // errors.Add("出库任务和WMS出库任务不符,请核对! \n");
} // }
var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities); // var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities);
foreach (var itm in dtos) // foreach (var itm in dtos)
{ // {
var first = inputs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number); // var first = inputs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number);
List<CoatingIssueJobDetailDTO> details = new List<CoatingIssueJobDetailDTO>();
foreach (var detail in first.Details) // var itmDetails = itm.Details;
{ // List<CoatingIssueJobDetailDTO> details = new List<CoatingIssueJobDetailDTO>();
CoatingIssueJobDetailDTO dto = new CoatingIssueJobDetailDTO(); // foreach (var detail in first.Details)
dto.HandledFromLocationCode = detail.FromLocationCode; // {
dto.HandledToLocationCode = detail.ToLocationCode; // var entity=itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode);
dto.ItemCode = detail.ItemCode; // CoatingIssueJobDetailDTO dto = new CoatingIssueJobDetailDTO();
dto.RecommendFromQty = detail.Qty; // dto.HandledFromLocationCode = entity.HandledFromContainerCode;
dto.RecommendToQty = detail.Qty; // dto.HandledToLocationCode = entity.HandledToLocationCode;
dto.HandledFromQty = detail.Qty; // dto.ItemCode = detail.ItemCode;
dto.HandledToQty = detail.Qty; // dto.RecommendFromQty = detail.Qty;
details.Add(dto); // dto.RecommendToQty = detail.Qty;
} // dto.HandledFromQty = detail.Qty;
itm.Details = details; // dto.HandledToQty = detail.Qty;
} // details.Add(dto);
} // }
else // itm.Details = details;
{ // await CompleteAsync(itm.Id, itm).ConfigureAwait(false);
errors.Add("立体库确认单据里无数据! \n"); // }
}
} // }
catch (Exception ex) // else
{ // {
ret=new ReusltObject() // errors.Add("立体库确认单据里无数据! \n");
{ // }
Code = "2", // }
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), // catch (Exception ex)
Message = ex.Message // {
}; // ret=new ReusltObject()
return ret; // {
} // Code = "2",
// OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
if (errors.Count > 0) // Message = ex.Message
{ // };
// return ret;
ret= new ReusltObject() // }
{
Code = "2", // if (errors.Count > 0)
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), // {
Message = string.Join(",",errors.ToArray())
}; // ret= new ReusltObject()
} // {
return ret; // Code = "2",
} // OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
// Message = string.Join(",",errors.ToArray())
// };
// }
// return ret;
//}

58
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks; using System.Threading.Tasks;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
@ -22,6 +23,7 @@ using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy;
using Win_in.Sfs.Wms.Store.Notes; using Win_in.Sfs.Wms.Store.Notes;
using Win_in.Sfs.Wms.Store.Options; using Win_in.Sfs.Wms.Store.Options;
using static IdentityModel.ClaimComparer; using static IdentityModel.ClaimComparer;
using static Volo.Abp.Identity.Settings.IdentitySettingNames;
namespace Win_in.Sfs.Wms.Store.Application; namespace Win_in.Sfs.Wms.Store.Application;
@ -368,10 +370,15 @@ public class KittingIssueJobAppService
/// <summary>
/// 立体库同步
/// </summary>
/// <param name="input"></param>
/// <param name="p_loc"></param>
/// <returns></returns>
[HttpPost("sync-issue-job-stereo")]
public async Task<ReusltObject> SyncIssueJobStereoAsync(List<KittingIssueJobDTO> input,string p_loc)
private async Task<ReusltObject> SyncIssueJobStereoAsync(List<KittingIssueJobDTO> input,string p_loc)
{ {
ReusltObject ret = new ReusltObject(); ReusltObject ret = new ReusltObject();
ret.Code = "1"; ret.Code = "1";
@ -397,15 +404,29 @@ public class KittingIssueJobAppService
} }
} }
main.Details = IssueJobToRestoDetailDTOs; main.Details = IssueJobToRestoDetailDTOs;
var httpclient = _httpClientFactory.CreateClient();
#if DEBUG #if DEBUG
string json= System.Text.Json.JsonSerializer.Serialize(main); string json= System.Text.Json.JsonSerializer.Serialize(main);
_options.Value.Address = "http://localhost:59094/CargoState/SyncCoatingJobStereo";//测试地址 _options.Value.Address = "http://localhost:59094/";//测试地址
_options.Value.Token = "";//测试token
_options.Value.UserName = "";//测试用户名
_options.Value.Password = "";//测试密码
#endif #endif
if (!string.IsNullOrEmpty(_options.Value.Token))
{
var token = _options.Value.Token;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer",token );
}
if (!string.IsNullOrEmpty(_options.Value.UserName) && !string.IsNullOrEmpty(_options.Value.Password))
{
var username = _options.Value.UserName;
var password = _options.Value.Password;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username}:{password}")));
}
#region IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, httpclient);
IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient());
ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false);
} }
catch(Exception ex) { catch(Exception ex) {
@ -414,14 +435,11 @@ public class KittingIssueJobAppService
ret.Message=ex.Message; ret.Message=ex.Message;
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
} }
#endregion
return ret; return ret;
} }
[HttpPost("receive-issue-job-stereo")] [HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveIssueJobStereoAsync(IssueRequestFromRestoDTO input) public virtual async Task<ReusltObject> SyncReciveIssueJobStereoAsync(IssueRequestFromRestoDTO input)
{ {
@ -446,18 +464,11 @@ public class KittingIssueJobAppService
var query = _repository.WithDetails() var query = _repository.WithDetails()
.Where(p => numbers.Contains(p.Number)); .Where(p => numbers.Contains(p.Number));
var entities = query.ToList(); var entities = query.ToList();
var dtos = ObjectMapper.Map<List<KittingIssueJob>, List<KittingIssueJobDTO>>(entities); var dtos = ObjectMapper.Map<List<KittingIssueJob>, List<KittingIssueJobDTO>>(entities);
if (input.Jobs.Count == entities.Count) if (input.Jobs.Count == entities.Count)
{ {
errors.Add("提交出库任务和WMS出库任务不符,请核对! \n"); errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n");
} }
foreach (var itm in dtos) foreach (var itm in dtos)
{ {
var first = jobs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number); var first = jobs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number);
@ -465,17 +476,20 @@ public class KittingIssueJobAppService
List<KittingIssueJobDetailDTO> details = new List<KittingIssueJobDetailDTO>(); List<KittingIssueJobDetailDTO> details = new List<KittingIssueJobDetailDTO>();
foreach (var detail in first.Details) foreach (var detail in first.Details)
{ {
var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode);
KittingIssueJobDetailDTO dto = new KittingIssueJobDetailDTO(); KittingIssueJobDetailDTO dto = new KittingIssueJobDetailDTO();
dto.HandledFromLocationCode = detail.FromLocationCode; dto.HandledFromLocationCode = entity.HandledFromLocationCode;
dto.HandledToLocationCode = detail.ToLocationCode; dto.HandledToLocationCode = entity.HandledToLocationCode;
dto.ItemCode = detail.ItemCode; dto.ItemCode = detail.ItemCode;
dto.RecommendFromQty = detail.Qty; dto.RecommendFromQty = detail.Qty;
dto.RecommendToQty = detail.Qty; dto.RecommendToQty = detail.Qty;
dto.HandledFromQty = detail.Qty; dto.HandledFromQty = detail.Qty;
dto.HandledToQty = detail.Qty; dto.HandledToQty = detail.Qty;
dto.Status =entity.Status;
details.Add(dto); details.Add(dto);
} }
itm.Details = details; itm.Details = details;
await CompleteAsync(itm.Id, itm).ConfigureAwait(false);
} }
} }
else else

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs

@ -95,7 +95,7 @@ namespace MyNamespace
var urlBuilder_ = new System.Text.StringBuilder(); var urlBuilder_ = new System.Text.StringBuilder();
if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl);
// Operation Path: "CargoState/SyncIssueJobStereo" // Operation Path: "CargoState/SyncIssueJobStereo"
urlBuilder_.Append("CargoState/SyncIssueJobStereo");//修改路由 urlBuilder_.Append("CargoState/SyncIssueJobStereo");//修改路由按需求
PrepareRequest(client_, request_, urlBuilder_); PrepareRequest(client_, request_, urlBuilder_);

9
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs

@ -174,15 +174,6 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
return newDetail; return newDetail;
} }
protected override UnplannedIssueRequest ModifyEntityBeforeAgree(UnplannedIssueRequest obj)
{
if (obj.UnplannedIssueType == EnumUnplannedIssueType.Wip)
{
obj.DirectCreateNote = true; //线边 直接生成记录
}
return obj;
}
#region 赋值 #region 赋值
/// <summary> /// <summary>

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

@ -142,14 +142,6 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
return dictionary; return dictionary;
} }
protected override UnplannedReceiptRequest ModifyEntityBeforeAgree(UnplannedReceiptRequest obj)
{
if (obj.UnplannedReceiptType == EnumUnplannedReceiptType.Wip)
{
obj.DirectCreateNote = true;
}
return obj;
}
#region 赋值 #region 赋值

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ThirdLocationNotes/ThirdLocationNote.cs

@ -17,6 +17,7 @@ public class ThirdLocationNote : SfsStoreAggregateRootBase<ThirdLocationNoteDeta
[IgnoreUpdate] [IgnoreUpdate]
public string JobNumber { get; set; } public string JobNumber { get; set; }
/// <summary> /// <summary>
/// 车间 /// 车间
/// </summary> /// </summary>

14
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Notes/ThirdLocationNoteAutoMapperProfile.cs

@ -1,6 +1,7 @@
using AutoMapper; using AutoMapper;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Win_in.Sfs.Wms.Inventory.Application.Contracts; using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Event; namespace Win_in.Sfs.Wms.Store.Event;
@ -17,6 +18,19 @@ public partial class StoreEventAutoMapperProfile : Profile
.Ignore(x => x.ExtraProperties) .Ignore(x => x.ExtraProperties)
.Ignore(x => x.TransSubType) .Ignore(x => x.TransSubType)
; ;
CreateMap<ThirdLocationNote, TransferNoteDTO>()
.ForMember(dest => dest.Type, opts => opts.MapFrom(src => src.RequestType))
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.CallServerName)
.Ignore(x => x.CallBusinessType)
.Ignore(x => x.CallRequestNumber)
.Ignore(x => x.CallJobNumber)
;
CreateMap<ThirdLocationNoteDetail, TransferNoteDetailDTO>()
.Ignore(x => x.Reason)
;
} }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/ThirdLocationNoteEventHandler.cs

@ -40,7 +40,7 @@ namespace Win_in.Sfs.Wms.Store.Event.DataExchanges
protected override async Task AddExchangeDataAsync(List<ThirdLocationNote> entities) protected override async Task AddExchangeDataAsync(List<ThirdLocationNote> entities)
{ {
var dtos = ObjectMapper.Map<List<ThirdLocationNote>, List<ThirdLocationNoteDTO>>(entities); var dtos = ObjectMapper.Map<List<ThirdLocationNote>, List<TransferNoteDTO>>(entities);
foreach (var detail in dtos.SelectMany(dto => dto.Details)) foreach (var detail in dtos.SelectMany(dto => dto.Details))
{ {
await detail.TrySetLocationAsync(LocationAclService).ConfigureAwait(false); await detail.TrySetLocationAsync(LocationAclService).ConfigureAwait(false);

Loading…
Cancel
Save