2
schangxiang@126.com
2024-06-20 90b264c675155d6fb921d256f2de48ad398845c6
2
已修改3个文件
96 ■■■■ 文件已修改
iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
@@ -447,6 +447,16 @@
                    OP80NewCode = OP80NewCode,
                };
            }
            //判断是否已经出库
            List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.DetachedEntities.Where(w => (w.WorkPieceID == OP80NewCode || w.OP80NewCode == OP80NewCode) && w.IsDeleted == false).ToListAsync();
            if (db_itemModelList != null && db_itemModelList.Count > 0)
            {
                var itemModel = db_itemModelList.First();
                var createitme = itemModel.CreatedTime == null ? "" : (((DateTimeOffset)itemModel.CreatedTime).UtcDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
                throw Oops.Oh($"工件{itemModel.WorkPieceID}已出库,出库时间:{createitme}");
            }
            return workPieceInfo;
        }
@@ -456,6 +466,7 @@
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("outBoundWorkPiece")]
        [UnitOfWork]
        public async Task<string> outBoundWorkPiece([FromBody] OutBoundInput input)
        {
@@ -474,6 +485,8 @@
            var queryWorkPieceIDList = WorkPieceInfoLst.Select(x => x.WorkPieceID).ToList();
            List<WorkPieceOutbound> db_itemModelList = await _workPieceOutboundRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync();
            List<WorkPieceInfo> db_WorkPieceInfoList = await _workPieceInfoRep.Where(w => queryWorkPieceIDList.Contains(w.WorkPieceID) && w.IsDeleted == false).ToListAsync();
            foreach (var item in WorkPieceInfoLst)
            {
@@ -497,6 +510,17 @@
                    CreatedUserName = CurrentUserInfo.Name,
                };
                addOutBoundList.Add(outBoundLog);
                var workPiece = db_WorkPieceInfoList.FirstOrDefault(w => w.WorkPieceID == item.WorkPieceID);
                if (workPiece != null)
                {
                    workPiece.OutPerson = CurrentUserInfo.Name;
                    workPiece.OutRemark = "撤销工件出库";
                    workPiece.OutTime = DateTime.Now;
                    workPiece.IsOut = false;
                    await _workPieceInfoRep.UpdateAsync(workPiece);
                }
            }
            await _workPieceOutboundRep.InsertAsync(addOutBoundList);
            return "出库成功";
iWara.SCADA.Code/iWare.Wms.Application/Service/WorkPieceOutbound/WorkPieceOutboundService.cs
@@ -21,13 +21,15 @@
    [DisableOpLog]
    public class WorkPieceOutboundService : IWorkPieceOutboundService, IDynamicApiController, ITransient
    {
        private readonly IRepository<WorkPieceOutbound,MasterDbContextLocator> _workPieceOutboundRep;
        private readonly IRepository<WorkPieceOutbound, MasterDbContextLocator> _workPieceOutboundRep;
        private readonly IRepository<WorkPieceInfo, MasterDbContextLocator> _workPieceInfoRep;
        public WorkPieceOutboundService(
            IRepository<WorkPieceOutbound,MasterDbContextLocator> workPieceOutboundRep
            IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep,
            IRepository<WorkPieceOutbound, MasterDbContextLocator> workPieceOutboundRep
        )
        {
            _workPieceInfoRep = workPieceInfoRep;
            _workPieceOutboundRep = workPieceOutboundRep;
        }
@@ -86,7 +88,7 @@
            if (!isExist) throw Oops.Oh(ErrorCode.D3000);
            var workPieceOutbound = input.Adapt<WorkPieceOutbound>();
            await _workPieceOutboundRep.UpdateAsync(workPieceOutbound,ignoreNullValues:true);
            await _workPieceOutboundRep.UpdateAsync(workPieceOutbound, ignoreNullValues: true);
        }
        /// <summary>
@@ -117,19 +119,32 @@
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("revoke")]
        [UnitOfWork]
        public async Task Revoke(List<DeleteWorkPieceOutboundInput> input)
        {
            foreach (var item in input) {
            foreach (var item in input)
            {
                var workPieceOutbound = await _workPieceOutboundRep.FirstOrDefaultAsync(u => u.Id == item.Id);
                if (workPieceOutbound == null)
                {
                    throw Oops.Oh("工件出库信息不存在");
                }
                workPieceOutbound.IsDeleted = true;
                workPieceOutbound.Remark = workPieceOutbound.Remark??""+"撤销发货";
                workPieceOutbound.Remark = workPieceOutbound.Remark ?? "" + "撤销发货";
                await _workPieceOutboundRep.UpdateAsync(workPieceOutbound);
                var workPiece = await _workPieceInfoRep.FirstOrDefaultAsync(u => u.WorkPieceID == workPieceOutbound.WorkPieceID);
                if (workPiece != null)
                {
                    workPiece.OutPerson = CurrentUserInfo.Name;
                    workPiece.OutRemark = "撤销工件出库";
                    workPiece.OutTime = DateTime.Now;
                    workPiece.IsOut = false;
                    await _workPieceInfoRep.UpdateAsync(workPiece);
                }
            }
        }
    }
iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/WorkPieceInfo.cs
@@ -79,12 +79,12 @@
        [Comment("工序开始时间")]
        public DateTime? WorkingProcedureStartTime { get; set; }
        [Comment("工序结束时间")]
        public DateTime? WorkingProcedureEndTime{get; set;}
        public DateTime? WorkingProcedureEndTime { get; set; }
            /// <summary>
            /// 当前工序加工时长
            /// </summary>
            [Comment("当前工序加工时长")]
        /// <summary>
        /// 当前工序加工时长
        /// </summary>
        [Comment("当前工序加工时长")]
        public int? ProcessingDurationForCurrent { get; set; }
        /// <summary>
@@ -103,7 +103,7 @@
        /// 工序下线时间
        /// </summary>
        [Comment("工序下线时间")]
        public DateTime? WorkPieceLastOfflineTime   { get; set; }
        public DateTime? WorkPieceLastOfflineTime { get; set; }
        /// <summary>
        /// 数量
@@ -231,5 +231,36 @@
        /// </summary>
        [Comment("完成时间")]
        public DateTime? CompleteTime { get; set; }
        #region 出库相关
        /// <summary>
        /// 是否出库
        /// </summary>
        [Comment("是否出库")]
        public bool? IsOut { get; set; }
        /// <summary>
        /// 出库人
        /// </summary>
        [Comment("出库人")]
        [MaxLength(255)]
        public string OutPerson { get; set; }
        /// <summary>
        /// 出库备注
        /// </summary>
        [Comment("出库备注")]
        [MaxLength(255)]
        public string OutRemark { get; set; }
        /// <summary>
        /// 出库时间
        /// </summary>
        [Comment("出库时间")]
        public DateTime? OutTime { get; set; }
        #endregion
    }
}