diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs index bdf1f045..44bf4f47 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs @@ -171,6 +171,29 @@ namespace ZR.Admin.WebApi.Controllers } } + /// + /// PDA毛坯出库 + /// + /// + [HttpPost("PDABlankOutbound")] + [AllowAnonymous] + [Log(Title = "PDA毛坯出库", BusinessType = BusinessType.UPDATE)] + public IActionResult PDABlankOutbound([FromBody] BlankInventoryOutboundDto parm) + { + try + { + var modal = parm.Adapt().ToCreate(HttpContext); + + int successNum = _WmBlankInventoryService.PDABlankOutbound(modal); + + return ToResponse(new ApiResult(200, "出库成功,已出库:" + successNum + "条毛坯记录!", "出库成功")); + } + catch (Exception ex) + { + return ToResponse(new ApiResult(500, ex.Message, "出库失败")); + } + } + /// /// PDA毛坯标签解析 /// diff --git a/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs index c2d822b8..fce26a57 100644 --- a/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs +++ b/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs @@ -104,4 +104,23 @@ namespace ZR.Model.MES.wms.Dto public DateTime? UpdatedTime { get; set; } } + + /// + /// 毛坯库存出库 + /// + public class BlankInventoryOutboundDto + { + public List PackageList { get; set; } = new List(); + + // 1-返工件 对应数据库type=2 0-非返工件 对应数据库type=1 + public int IsBack { get; set; } = 1; + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + } } diff --git a/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs b/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs index 47f1bf57..0e552759 100644 --- a/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs +++ b/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs @@ -36,6 +36,12 @@ namespace ZR.Service.mes.wms.IService /// public int PDABlankWarehousing(BlankInventoryWarehousingDto warehousingDto); + /// + /// PDA-扫码毛坯入库 + /// + /// + public int PDABlankOutbound(BlankInventoryOutboundDto outboundDto); + /// /// PDA-毛坯标签解析 /// diff --git a/ZR.Service/mes/wms/WmBlankInventoryService.cs b/ZR.Service/mes/wms/WmBlankInventoryService.cs index 56c8efdc..2dda87ae 100644 --- a/ZR.Service/mes/wms/WmBlankInventoryService.cs +++ b/ZR.Service/mes/wms/WmBlankInventoryService.cs @@ -320,7 +320,7 @@ namespace ZR.Service.mes.wms Type = 1, Status = 1, ActionTime = nowTime, - Remark = $"PDA毛坯入库,批次号:{packageInfo.PatchCode}", + Remark = $"PDA毛坯扫码入库,批次号:{packageInfo.PatchCode}", CreatedBy = warehousingDto.CreatedBy, CreatedTime = nowTime }; @@ -343,6 +343,79 @@ namespace ZR.Service.mes.wms } } + /// + /// PDA扫码出库 + /// + /// + /// + /// + public int PDABlankOutbound(BlankInventoryOutboundDto outboundDto) + { + try + { + DateTime nowTime = DateTime.Now; + int result = 0; + List updateWmBlankInventories = new(); + List addWmBlankRecourds = new(); + // 检查是否返工件 + int BackType = outboundDto.IsBack == 0 ? 1 : 2; + List packageList = outboundDto.PackageList; + if (packageList.Count == 0) + { + throw new Exception("无箱标签传入"); + } + foreach (ResultionPackageCodeDto packageInfo in packageList) + { + // 库存变动 + WmBlankInventory wmBlankInventory = Context + .Queryable() + .Where(it => it.Type == BackType) + .Where(it => it.Status == 1) + .Where(it => it.BlankNum == packageInfo.BlankNumber) + .First(); + if (wmBlankInventory == null) + { + throw new Exception("毛坯库中暂无此毛坯"); + } + wmBlankInventory.Quantity -= packageInfo.Quantity; + wmBlankInventory.UpdatedTime = nowTime; + wmBlankInventory.UpdatedBy = outboundDto.CreatedBy; + updateWmBlankInventories.Add(wmBlankInventory); + // 记录添加 + WmBlankRecord wmBlankRecord = + new() + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + FkBlankInventoryId = wmBlankInventory.Id, + BlankNum = wmBlankInventory.BlankNum, + ChangeQuantity = packageInfo.Quantity, + // 1-入库 2-出库 3=盘点 + Type = 2, + Status = 1, + ActionTime = nowTime, + Remark = $"PDA毛坯扫码出库,批次号:{packageInfo.PatchCode}", + CreatedBy = outboundDto.CreatedBy, + CreatedTime = nowTime + }; + addWmBlankRecourds.Add(wmBlankRecord); + } + Context.Ado.BeginTran(); + result = Context.Updateable(updateWmBlankInventories).ExecuteCommand(); + if (result > 0) + { + //添加库存记录 + Context.Insertable(addWmBlankRecourds).ExecuteCommand(); + } + Context.Ado.CommitTran(); + return result; + } + catch (Exception ex) + { + Context.Ado.RollbackTran(); + throw new Exception(ex.Message); + } + } + /// /// PDA 标签解析 /// @@ -362,5 +435,7 @@ namespace ZR.Service.mes.wms throw new Exception("毛坯标签解析异常:" + ex.Message); } } + + } }