2
schangxiang@126.com
2024-06-22 b87302f2fc46913b73561f9f996bce3f33a48f1c
iWara.SCADA.Code/iWare.Wms.Application/Service/Pda/PdaService.cs
@@ -18,6 +18,7 @@
    //[Route("api")]
    [ApiDescriptionSettings("Pda相关接口", Name = "PdaService", Order = 100)]
    [Route("api/[Controller]")]
    [DisableOpLog]
    public class PdaService : IDynamicApiController, ITransient
    {
        private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep;
@@ -221,6 +222,7 @@
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpGet("getWorkPieceProcess")]
        [DisableOpLog]
        public async Task<WorkPieceProcessPdaOutput> getWorkPieceProcess([FromQuery] WorkPieceProcessPdaSearch input)
        {
            var workPieceProcesss = await _workPieceProcessRep.DetachedEntities
@@ -411,12 +413,17 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet("getWorkPieceByOP80NewCode")]
        [DisableOpLog]
        public async Task<WorkPieceInfoOutput> getWorkPieceByOP80NewCode([FromQuery] WorkPieceByOP80NewCodeInputSearch input)
        {
            if (string.IsNullOrEmpty(input.OP80NewCode))
            {
                throw Oops.Oh($"请输入OP80打印成品码或二维码!");
                throw Oops.Oh($"请输入成品码或工件码!");
            }
            if (input.OP80NewCode.Length > 22)
            {
                throw Oops.Oh($"工件码或成品码{input.OP80NewCode}长度不正确!");
            }
            string OP80NewCode = input.OP80NewCode.Trim();
            var workPieceInfo = await _workPieceInfoRep.DetachedEntities
@@ -447,6 +454,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 +473,7 @@
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost("outBoundWorkPiece")]
        [UnitOfWork]
        public async Task<string> outBoundWorkPiece([FromBody] OutBoundInput input)
        {
@@ -474,6 +492,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 +517,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 "出库成功";