From 39c09dede499f7ba23bcd26b17b2199a31bddccc Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 28 8月 2024 11:10:53 +0800 Subject: [PATCH] 出库执行 哟花 --- iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineDto.cs | 36 ++ iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Map/WorkPieceUnLineMapper.cs | 18 + iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceOutboundRecord.cs | 65 +++++ iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/Dto/WorkPieceByOP80NewCodeInput.cs | 17 + iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs | 50 ++- iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineInput.cs | 113 ++++++++ iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml | 180 +++++++++++++ iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceProcess.cs | 9 iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs | 10 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineOutput.cs | 37 ++ iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs | 3 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/WorkPieceUnLineService.cs | 113 ++++++++ iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceUnLine.cs | 56 ++++ iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs | 10 iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/IWorkPieceUnLineService.cs | 17 + 15 files changed, 710 insertions(+), 24 deletions(-) diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/Dto/WorkPieceByOP80NewCodeInput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/Dto/WorkPieceByOP80NewCodeInput.cs index 705825a..568d469 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/Dto/WorkPieceByOP80NewCodeInput.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/Dto/WorkPieceByOP80NewCodeInput.cs @@ -4,6 +4,7 @@ using System.Text; using System.Threading.Tasks; using iWare.Wms.Core; +using iWare.Wms.Core.Enum; namespace iWare.Wms.Application { /// <summary> @@ -27,7 +28,7 @@ /// <summary> /// 宸ヤ欢鏁版嵁 /// </summary> - public List<WorkPieceInfoOutput> WorkPieceInfoLst { get; set; } + public List<OutBoundDetailsInput> WorkPieceInfoLst { get; set; } /// <summary> /// 瀵嗙爜 /// </summary> @@ -35,5 +36,17 @@ } - + /// <summary> + /// 鍑哄簱鎵ц杈撳叆鏄庣粏鍙傛暟 + /// </summary> + public class OutBoundDetailsInput + { + /// <summary> + /// 宸ヤ欢OP80鐮� + /// </summary> + public string OP80NewCode { get; set; } + + } + + } diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs index 8d5a7b4..48ddb7f 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs @@ -32,12 +32,14 @@ private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; private readonly IRepository<WorkPieceInfoLog, MasterDbContextLocator> _workPieceInfoLogRep; private readonly IRepository<WorkPieceOutbound, MasterDbContextLocator> _workPieceOutboundRep; + private readonly IRepository<WorkPieceUnLine, MasterDbContextLocator> _workPieceUnLineRep; /// <summary> /// 璁惧鍩虹淇℃伅鏋勯�犲嚱鏁� /// </summary> /// <param name="equipmentBaseInfoRep"></param> public PdaService( + IRepository<WorkPieceUnLine, MasterDbContextLocator> workPieceUnLineRep, IRepository<EquipmentBaseInfo, MasterDbContextLocator> equipmentBaseInfoRep, IRepository<V_GetEquipmentAlert, MasterDbContextLocator> v_GetEquipmentAlert, IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> equipmentCurrentMonitorRep, @@ -50,6 +52,7 @@ IRepository<WorkPieceOutbound, MasterDbContextLocator> workPieceOutboundRep ) { + _workPieceUnLineRep = workPieceUnLineRep; _equipmentBaseInfoRep = equipmentBaseInfoRep; _v_GetEquipmentAlertRep = v_GetEquipmentAlert; _equipmentCurrentMonitorRep = equipmentCurrentMonitorRep; @@ -489,39 +492,27 @@ throw Oops.Oh("宸ヤ欢鍑哄簱澶辫触锛氭暟鎹笉鑳戒负绌猴紒"); } - List<WorkPieceInfoOutput> WorkPieceInfoLst = input.WorkPieceInfoLst; + List<OutBoundDetailsInput> WorkPieceInfoLst = input.WorkPieceInfoLst; var addOutBoundList = new List<WorkPieceOutbound>(); - var queryWorkPieceIDList = WorkPieceInfoLst.Select(x => x.WorkPieceID).ToList(); - List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync(); + var queryOP80NewCodeList = WorkPieceInfoLst.Select(x => x.OP80NewCode).ToList(); + List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryOP80NewCodeList.Contains(w.OP80NewCode) && w.IsDeleted == false).ToListAsync(); - List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync(); + List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryOP80NewCodeList.Contains(w.OP80NewCode) && w.IsDeleted == false).ToListAsync(); foreach (var item in WorkPieceInfoLst) { - var itemModel = db_itemModelList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID); + var itemModel = db_itemModelList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode); if (itemModel != null) { //itemModel.IsDeleted = true; //itemModel.Remark = itemModel.Remark ?? "" + "浜屾鍙戣揣鑷姩鎾ら攢鍙戣揣"; //await _workPieceOutboundRep.UpdateAsync(itemModel); var createitme = itemModel.CreatedTime == null ? "" : (((DateTimeOffset)itemModel.CreatedTime).UtcDateTime.ToString("yyyy-MM-dd HH:mm:ss")); - throw Oops.Oh($"宸ヤ欢{itemModel.WorkPieceID}宸插嚭搴擄紝鍑哄簱鏃堕棿:{createitme}"); + throw Oops.Oh($"鎴愬搧鐮亄itemModel.OP80NewCode}宸插嚭搴擄紝鍑哄簱鏃堕棿:{createitme}"); } - var outBoundLog = new WorkPieceOutbound - { - WorkPieceID = item.WorkPieceID, - OP80NewCode = item.OP80NewCode, - WorkPieceOutboundTime = DateTime.Now, - WorkPieceOutboundUserId = CurrentUserInfo.UserId, - WorkPieceOutboundUserName = CurrentUserInfo.Name, - CreatedUserId = CurrentUserInfo.UserId, - CreatedUserName = CurrentUserInfo.Name, - }; - addOutBoundList.Add(outBoundLog); - - var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID); + var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.OP80NewCode == item.OP80NewCode); if (workPiece != null) { workPiece.OutPerson = CurrentUserInfo.Name; @@ -531,6 +522,19 @@ await _workPieceInfoRep.UpdateAsync(workPiece); } + var outBoundLog = new WorkPieceOutbound + { + WorkPieceID = workPiece?.WorkPieceID, + OP80NewCode = item.OP80NewCode, + WorkPieceOutboundTime = DateTime.Now, + WorkPieceOutboundUserId = CurrentUserInfo.UserId, + WorkPieceOutboundUserName = CurrentUserInfo.Name, + CreatedUserId = CurrentUserInfo.UserId, + CreatedUserName = CurrentUserInfo.Name, + }; + addOutBoundList.Add(outBoundLog); + + } await _workPieceOutboundRep.InsertAsync(addOutBoundList); return "鍑哄簱鎴愬姛"; @@ -553,5 +557,13 @@ return db_itemModelList.Count().ToString(); } + + #region 鏂扮増 涓嬬嚎銆佸嚭搴撴墽琛� + + + + + #endregion + } } diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs index 9961ca5..20385cb 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/Dto/WorkPieceProcessOutput.cs @@ -27,7 +27,15 @@ public class WorkPieceProcessOutput { - + /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥犵被鍨嬶紝鏋氫妇QualityNoOkEnum 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public string QualityNoOkReason { get; set; } /// <summary> diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs index deb9131..10079e9 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceProcess/WorkPieceProcessService.cs @@ -94,7 +94,8 @@ && process.StartTime <= (input.StartTimeEndTime.HasValue ? input.StartTimeEndTime : DateTime.MaxValue) select new WorkPieceProcessOutput { - + QualityNoOk = process.QualityNoOk, + QualityNoOkReason = process.QualityNoOkReason, Id = process.Id, WorkPieceID = process.WorkPieceID, EquipmentID = process.EquipmentID, diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineDto.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineDto.cs new file mode 100644 index 0000000..7bcbce7 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineDto.cs @@ -0,0 +1,36 @@ +锘縰sing iWare.Wms.Core.Util.LowCode.Dto; +using Microsoft.EntityFrameworkCore; +using System; +using System.ComponentModel.DataAnnotations; + +namespace iWare.Wms.Application +{ + /// <summary> + /// 宸ヤ欢鍑哄簱淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WorkPieceUnLineDto + { + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + public string WorkPieceID { get; set; } + + /// <summary> + /// OP80鎵撶爜 + /// </summary> + public string OP80NewCode { get; set; } + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public string CarNo { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long Id { get; set; } + + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineInput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineInput.cs new file mode 100644 index 0000000..2033196 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineInput.cs @@ -0,0 +1,113 @@ +锘縰sing iWare.Wms.Core; +using iWare.Wms.Core.Service; +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations; + +namespace iWare.Wms.Application +{ + + /// <summary> + /// 宸ヤ欢鍑哄簱淇℃伅鏌ヨ鍙傛暟 + /// </summary> + public class WorkPieceUnLineSearch : PageInputBase + { + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + public virtual string WorkPieceID { get; set; } + + /// <summary> + /// OP80鎵撶爜 + /// </summary> + public virtual string OP80NewCode { get; set; } + + /// <summary> + /// 宸ヤ欢鍑哄簱寮�濮嬫椂闂� + /// </summary> + public virtual DateTime? StartTimeBeginTime { get; set; } + + /// <summary> + /// 宸ヤ欢鍑哄簱缁撴潫鏃堕棿 + /// </summary> + public virtual DateTime? StartTimeEndTime { get; set; } + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public string CarNo { get; set; } + + /// <summary> + /// 鍑哄簱浜哄悕绉� + /// </summary> + public virtual string WorkPieceUnLineUserName { get; set; } + + } + + /// <summary> + /// 宸ヤ欢鍑哄簱淇℃伅杈撳叆鍙傛暟 + /// </summary> + public class WorkPieceUnLineInput + { + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + public virtual string WorkPieceID { get; set; } + + /// <summary> + /// OP80鎵撶爜 + /// </summary> + public virtual string OP80NewCode { get; set; } + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public virtual string CarNo { get; set; } + + } + + public class AddWorkPieceUnLineInput : WorkPieceUnLineInput + { + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + [Required(ErrorMessage = "宸ヤ欢鍙蜂笉鑳戒负绌�")] + public override string WorkPieceID { get; set; } + + /// <summary> + /// OP80鎵撶爜 + /// </summary> + [Required(ErrorMessage = "OP80鎵撶爜涓嶈兘涓虹┖")] + public override string OP80NewCode { get; set; } + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public override string CarNo { get; set; } + + } + + public class DeleteWorkPieceUnLineInput : BaseId + { + } + + public class UpdateWorkPieceUnLineInput : WorkPieceUnLineInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long Id { get; set; } + + } + + public class QueryeWorkPieceUnLineInput : BaseId + { + + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineOutput.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineOutput.cs new file mode 100644 index 0000000..11c5bf3 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Dto/WorkPieceUnLineOutput.cs @@ -0,0 +1,37 @@ +锘縰sing iWare.Wms.Core.Util.LowCode.Dto; +using Microsoft.EntityFrameworkCore; +using System; +using System.ComponentModel.DataAnnotations; + +namespace iWare.Wms.Application +{ + /// <summary> + /// 宸ヤ欢鍑哄簱淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WorkPieceUnLineOutput + { + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + public string WorkPieceID { get; set; } + + /// <summary> + /// OP80鎵撶爜 + /// </summary> + public string OP80NewCode { get; set; } + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public string CarNo { get; set; } + + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long Id { get; set; } + + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/IWorkPieceUnLineService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/IWorkPieceUnLineService.cs new file mode 100644 index 0000000..6d3f805 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/IWorkPieceUnLineService.cs @@ -0,0 +1,17 @@ +锘縰sing iWare.Wms.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace iWare.Wms.Application +{ + public interface IWorkPieceUnLineService + { + //Task Add(AddWorkPieceUnLineInput input); + //Task Delete(DeleteWorkPieceUnLineInput input); + //Task<WorkPieceUnLineOutput> Get([FromQuery] QueryeWorkPieceUnLineInput input); + //Task<List<WorkPieceUnLineOutput>> List([FromQuery] WorkPieceUnLineInput input); + //Task<PageResult<WorkPieceUnLineOutput>> Page([FromQuery] WorkPieceUnLineSearch input); + //Task Update(UpdateWorkPieceUnLineInput input); + } +} \ No newline at end of file diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Map/WorkPieceUnLineMapper.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Map/WorkPieceUnLineMapper.cs new file mode 100644 index 0000000..16f8570 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/Map/WorkPieceUnLineMapper.cs @@ -0,0 +1,18 @@ +锘縰sing Mapster; +using iWare.Wms.Core; + +namespace iWare.Wms.Application +{ + public class WorkPieceUnLineMapper : IRegister + { + public void Register(TypeAdapterConfig config) + { + config.ForType<AddWorkPieceUnLineInput, WorkPieceUnLine>() + ; + config.ForType<UpdateWorkPieceUnLineInput, WorkPieceUnLine>() + ; + config.ForType<WorkPieceUnLine, WorkPieceUnLineOutput>() + ; + } + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/WorkPieceUnLineService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/WorkPieceUnLineService.cs new file mode 100644 index 0000000..dc880c8 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceUnLine/WorkPieceUnLineService.cs @@ -0,0 +1,113 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.Extras.iWare.Wms.Util.LowCode.Front.Code; +using Furion.FriendlyException; +using iWare.Wms.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; + +namespace iWare.Wms.Application +{ + /// <summary> + /// 宸ヤ欢鍑哄簱涓嬬嚎淇℃伅鏈嶅姟 + /// </summary> + //[Route("api")] + [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WorkPieceUnLine", Order = 100)] + [Route("api/[Controller]")] + [DisableOpLog] + public class WorkPieceUnLineService : IWorkPieceUnLineService, IDynamicApiController, ITransient + { + private readonly IRepository<WorkPieceUnLine, MasterDbContextLocator> _WorkPieceUnLineRep; + private readonly IRepository<WorkPieceInfo, MasterDbContextLocator> _workPieceInfoRep; + + public WorkPieceUnLineService( + IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep, + IRepository<WorkPieceUnLine, MasterDbContextLocator> WorkPieceUnLineRep + ) + { + _workPieceInfoRep = workPieceInfoRep; + _WorkPieceUnLineRep = WorkPieceUnLineRep; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("page")] + public async Task<PageResult<WorkPieceUnLineOutput>> Page([FromQuery] WorkPieceUnLineSearch input) + { + var WorkPieceUnLines = await _WorkPieceUnLineRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.WorkPieceID), u => u.WorkPieceID.Contains(input.WorkPieceID)) + .Where(!string.IsNullOrEmpty(input.OP80NewCode), u => u.OP80NewCode.Contains(input.OP80NewCode)) + .Where(!string.IsNullOrEmpty(input.StartTimeBeginTime.ToString()), u => u.CreatedTime >= input.StartTimeBeginTime) + .Where(!string.IsNullOrEmpty(input.StartTimeEndTime.ToString()), u => u.CreatedTime <= input.StartTimeEndTime) + .OrderBy(PageInputOrder.OrderBuilder<WorkPieceUnLineSearch>(input)) + .ProjectToType<WorkPieceUnLineOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return WorkPieceUnLines; + } + + + /// <summary> + /// 鑾峰彇宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("detail")] + public async Task<WorkPieceUnLineOutput> Get([FromQuery] QueryeWorkPieceUnLineInput input) + { + return (await _WorkPieceUnLineRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WorkPieceUnLineOutput>(); + } + + /// <summary> + /// 鑾峰彇宸ヤ欢鍑哄簱涓嬬嚎淇℃伅鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("list")] + public async Task<List<WorkPieceUnLineOutput>> List([FromQuery] WorkPieceUnLineInput input) + { + return await _WorkPieceUnLineRep.DetachedEntities.ProjectToType<WorkPieceUnLineOutput>().ToListAsync(); + } + + /// <summary> + /// 鎾ら攢宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("revoke")] + [UnitOfWork] + public async Task Revoke(List<DeleteWorkPieceUnLineInput> input) + { + foreach (var item in input) + { + var WorkPieceUnLine = await _WorkPieceUnLineRep.FirstOrDefaultAsync(u => u.Id == item.Id); + if (WorkPieceUnLine == null) + { + throw Oops.Oh("宸ヤ欢鍑哄簱涓嬬嚎淇℃伅涓嶅瓨鍦�"); + } + WorkPieceUnLine.IsDeleted = true; + WorkPieceUnLine.Remark = WorkPieceUnLine.Remark ?? "" + "鎾ら攢鍙戣揣"; + await _WorkPieceUnLineRep.UpdateAsync(WorkPieceUnLine); + + var workPiece = await _workPieceInfoRep.FirstOrDefaultAsync(u => u.WorkPieceID == WorkPieceUnLine.WorkPieceID); + if (workPiece != null) + { + workPiece.OutPerson = CurrentUserInfo.Name; + workPiece.OutRemark = "鎾ら攢宸ヤ欢鍑哄簱涓嬬嚎"; + workPiece.OutTime = DateTime.Now; + workPiece.IsOut = false; + + await _workPieceInfoRep.UpdateAsync(workPiece); + } + } + + } + + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml index 06e4f2b..eab78d6 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml +++ b/iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml @@ -296,7 +296,7 @@ 璁惧鍩虹淇℃伅绠$悊鏈嶅姟 </summary> </member> - <member name="M:iWare.Wms.Application.Service.Pda.PdaService.#ctor(Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentBaseInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.V_GetEquipmentAlert,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentCurrentMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceProcess,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.SysDictData,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.SysDictType,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceOutbound,Furion.DatabaseAccessor.MasterDbContextLocator})"> + <member name="M:iWare.Wms.Application.Service.Pda.PdaService.#ctor(Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceUnLine,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentBaseInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.V_GetEquipmentAlert,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentCurrentMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceProcess,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.SysDictData,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.SysDictType,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceOutbound,Furion.DatabaseAccessor.MasterDbContextLocator})"> <summary> 璁惧鍩虹淇℃伅鏋勯�犲嚱鏁� </summary> @@ -5106,6 +5106,16 @@ <member name="P:iWare.Wms.Application.OutBoundInput.Password"> <summary> 瀵嗙爜 + </summary> + </member> + <member name="T:iWare.Wms.Application.OutBoundDetailsInput"> + <summary> + 鍑哄簱鎵ц杈撳叆鏄庣粏鍙傛暟 + </summary> + </member> + <member name="P:iWare.Wms.Application.OutBoundDetailsInput.OP80NewCode"> + <summary> + 宸ヤ欢OP80鐮� </summary> </member> <member name="T:iWare.Wms.Application.ProductionPlanInfoDto"> @@ -15258,6 +15268,16 @@ 宸ヤ欢鍔犲伐杩芥函杈撳嚭鍙傛暟 </summary> </member> + <member name="P:iWare.Wms.Application.WorkPieceProcessOutput.QualityNoOk"> + <summary> + 璐ㄩ噺涓嶅悎鏍煎師鍥犵被鍨嬶紝鏋氫妇QualityNoOkEnum 銆怑ditby shaocx,2024-06-26銆� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceProcessOutput.QualityNoOkReason"> + <summary> + 璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + </summary> + </member> <member name="P:iWare.Wms.Application.WorkPieceProcessOutput.WorkPieceID"> <summary> 宸ヤ欢鍙� @@ -15753,6 +15773,164 @@ <param name="input"></param> <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> </member> + <member name="T:iWare.Wms.Application.WorkPieceUnLineDto"> + <summary> + 宸ヤ欢鍑哄簱淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineDto.WorkPieceID"> + <summary> + 宸ヤ欢鍙� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineDto.OP80NewCode"> + <summary> + OP80鎵撶爜 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineDto.CarNo"> + <summary> + 灏忚溅鐮� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineDto.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:iWare.Wms.Application.WorkPieceUnLineSearch"> + <summary> + 宸ヤ欢鍑哄簱淇℃伅鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.WorkPieceID"> + <summary> + 宸ヤ欢鍙� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.OP80NewCode"> + <summary> + OP80鎵撶爜 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.StartTimeBeginTime"> + <summary> + 宸ヤ欢鍑哄簱寮�濮嬫椂闂� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.StartTimeEndTime"> + <summary> + 宸ヤ欢鍑哄簱缁撴潫鏃堕棿 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.CarNo"> + <summary> + 灏忚溅鐮� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineSearch.WorkPieceUnLineUserName"> + <summary> + 鍑哄簱浜哄悕绉� + </summary> + </member> + <member name="T:iWare.Wms.Application.WorkPieceUnLineInput"> + <summary> + 宸ヤ欢鍑哄簱淇℃伅杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineInput.WorkPieceID"> + <summary> + 宸ヤ欢鍙� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineInput.OP80NewCode"> + <summary> + OP80鎵撶爜 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineInput.CarNo"> + <summary> + 灏忚溅鐮� + </summary> + </member> + <member name="P:iWare.Wms.Application.AddWorkPieceUnLineInput.WorkPieceID"> + <summary> + 宸ヤ欢鍙� + </summary> + </member> + <member name="P:iWare.Wms.Application.AddWorkPieceUnLineInput.OP80NewCode"> + <summary> + OP80鎵撶爜 + </summary> + </member> + <member name="P:iWare.Wms.Application.AddWorkPieceUnLineInput.CarNo"> + <summary> + 灏忚溅鐮� + </summary> + </member> + <member name="P:iWare.Wms.Application.UpdateWorkPieceUnLineInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:iWare.Wms.Application.WorkPieceUnLineOutput"> + <summary> + 宸ヤ欢鍑哄簱淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineOutput.WorkPieceID"> + <summary> + 宸ヤ欢鍙� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineOutput.OP80NewCode"> + <summary> + OP80鎵撶爜 + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineOutput.CarNo"> + <summary> + 灏忚溅鐮� + </summary> + </member> + <member name="P:iWare.Wms.Application.WorkPieceUnLineOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:iWare.Wms.Application.WorkPieceUnLineService"> + <summary> + 宸ヤ欢鍑哄簱涓嬬嚎淇℃伅鏈嶅姟 + </summary> + </member> + <member name="M:iWare.Wms.Application.WorkPieceUnLineService.Page(iWare.Wms.Application.WorkPieceUnLineSearch)"> + <summary> + 鍒嗛〉鏌ヨ宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:iWare.Wms.Application.WorkPieceUnLineService.Get(iWare.Wms.Application.QueryeWorkPieceUnLineInput)"> + <summary> + 鑾峰彇宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:iWare.Wms.Application.WorkPieceUnLineService.List(iWare.Wms.Application.WorkPieceUnLineInput)"> + <summary> + 鑾峰彇宸ヤ欢鍑哄簱涓嬬嚎淇℃伅鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:iWare.Wms.Application.WorkPieceUnLineService.Revoke(System.Collections.Generic.List{iWare.Wms.Application.DeleteWorkPieceUnLineInput})"> + <summary> + 鎾ら攢宸ヤ欢鍑哄簱涓嬬嚎淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> <member name="T:iWare.Wms.Application.YieldAnalysisDto"> <summary> 浜х嚎浜ч噺缁熻杈撳嚭鍙傛暟 diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs index d34e15a..60d148a 100644 --- a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs +++ b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs @@ -14,6 +14,16 @@ public class WorkPieceInfo : DEntityBase { /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥犵被鍨嬶紝鏋氫妇QualityNoOkEnum 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public string QualityNoOkReason { get; set; } + + /// <summary> /// 宸ヤ欢鍙� /// </summary> [Comment("宸ヤ欢鍙�")] diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceOutboundRecord.cs b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceOutboundRecord.cs new file mode 100644 index 0000000..d4aaca1 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceOutboundRecord.cs @@ -0,0 +1,65 @@ +锘縰sing Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +/* +* @author : http://www.chiner.com.cn +* @date : 2024-1-9 +* @desc : 宸ヤ欢鍑哄簱璁板綍琛� +*/ +namespace iWare.Wms.Core +{ + /// <summary> + /// 宸ヤ欢鍑哄簱璁板綍琛� + /// </summary> + [Table("WorkPieceOutboundRecord")] + [Comment("宸ヤ欢鍑哄簱璁板綍琛�")] + public class WorkPieceOutboundRecord : DEntityBase + { + + /// <summary> + /// 鎿嶄綔绫诲瀷 (涓嬬嚎銆佹挙閿�涓嬬嚎銆佸嚭搴撱�佹挙閿�鍑哄簱) + /// </summary> + [Comment("鎿嶄綔绫诲瀷")] + [MaxLength(500)] + public string OperationType { get; set; } + + + /// <summary> + /// 鎴愬搧鐮� + /// </summary> + [Comment("鎴愬搧鐮�")] + [Required] + [MaxLength(255)] + public string OP80NewCode { get; set; } + + + + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + [Comment("宸ヤ欢鍙�")] + [MaxLength(32)] + public string WorkPieceID { get; set; } + + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public string CarNo { get; set; } + + + /// <summary> + /// 澶囨敞 + /// </summary> + [Comment("澶囨敞")] + [MaxLength(500)] + public string Remark { get; set; } + } +} diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceProcess.cs b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceProcess.cs index eda16eb..db4a95a 100644 --- a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceProcess.cs +++ b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceProcess.cs @@ -21,6 +21,15 @@ [Comment("宸ヤ欢鍔犲伐灞ュ巻琛�")] public class WorkPieceProcess : DEntityBase { + /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥犵被鍨嬶紝鏋氫妇QualityNoOkEnum 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public int? QualityNoOk { get; set; } + + /// <summary> + /// 璐ㄩ噺涓嶅悎鏍煎師鍥� 銆怑ditby shaocx,2024-06-26銆� + /// </summary> + public string QualityNoOkReason { get; set; } /// <summary> /// 宸ヤ欢鍙� diff --git a/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceUnLine.cs b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceUnLine.cs new file mode 100644 index 0000000..d258d07 --- /dev/null +++ b/iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceUnLine.cs @@ -0,0 +1,56 @@ +锘縰sing Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +/* +* @author : http://www.chiner.com.cn +* @date : 2024-1-9 +* @desc : 宸ヤ欢鍑哄簱琛� +*/ +namespace iWare.Wms.Core +{ + /// <summary> + /// 宸ヤ欢涓嬬嚎琛� + /// </summary> + [Table("WorkPieceUnLine")] + [Comment("宸ヤ欢涓嬬嚎琛�")] + public class WorkPieceUnLine : DEntityBase + { + + /// <summary> + /// 鎴愬搧鐮� + /// </summary> + [Comment("鎴愬搧鐮�")] + [Required] + [MaxLength(255)] + public string OP80NewCode { get; set; } + + /// <summary> + /// 宸ヤ欢鍙� + /// </summary> + [Comment("宸ヤ欢鍙�")] + [MaxLength(32)] + public string WorkPieceID { get; set; } + + + + /// <summary> + /// 灏忚溅鐮� + /// </summary> + [Comment("灏忚溅鐮�")] + [MaxLength(32)] + public string CarNo { get; set; } + + + /// <summary> + /// 澶囨敞 + /// </summary> + [Comment("澶囨敞")] + [MaxLength(500)] + public string Remark { get; set; } + } +} -- Gitblit v1.9.3