毛坯出库功能添加

This commit is contained in:
2025-10-15 14:36:29 +08:00
parent 893bffa431
commit 52e8ae5b40
4 changed files with 124 additions and 1 deletions

View File

@@ -171,6 +171,29 @@ namespace ZR.Admin.WebApi.Controllers
} }
} }
/// <summary>
/// PDA毛坯出库
/// </summary>
/// <returns></returns>
[HttpPost("PDABlankOutbound")]
[AllowAnonymous]
[Log(Title = "PDA毛坯出库", BusinessType = BusinessType.UPDATE)]
public IActionResult PDABlankOutbound([FromBody] BlankInventoryOutboundDto parm)
{
try
{
var modal = parm.Adapt<BlankInventoryOutboundDto>().ToCreate(HttpContext);
int successNum = _WmBlankInventoryService.PDABlankOutbound(modal);
return ToResponse(new ApiResult(200, "出库成功,已出库:" + successNum + "条毛坯记录!", "出库成功"));
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "出库失败"));
}
}
/// <summary> /// <summary>
/// PDA毛坯标签解析 /// PDA毛坯标签解析
/// </summary> /// </summary>

View File

@@ -104,4 +104,23 @@ namespace ZR.Model.MES.wms.Dto
public DateTime? UpdatedTime { get; set; } public DateTime? UpdatedTime { get; set; }
} }
/// <summary>
/// 毛坯库存出库
/// </summary>
public class BlankInventoryOutboundDto
{
public List<ResultionPackageCodeDto> PackageList { get; set; } = new List<ResultionPackageCodeDto>();
// 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; }
}
} }

View File

@@ -36,6 +36,12 @@ namespace ZR.Service.mes.wms.IService
/// <returns></returns> /// <returns></returns>
public int PDABlankWarehousing(BlankInventoryWarehousingDto warehousingDto); public int PDABlankWarehousing(BlankInventoryWarehousingDto warehousingDto);
/// <summary>
/// PDA-扫码毛坯入库
/// </summary>
/// <returns></returns>
public int PDABlankOutbound(BlankInventoryOutboundDto outboundDto);
/// <summary> /// <summary>
/// PDA-毛坯标签解析 /// PDA-毛坯标签解析
/// </summary> /// </summary>

View File

@@ -320,7 +320,7 @@ namespace ZR.Service.mes.wms
Type = 1, Type = 1,
Status = 1, Status = 1,
ActionTime = nowTime, ActionTime = nowTime,
Remark = $"PDA毛坯入库,批次号:{packageInfo.PatchCode}", Remark = $"PDA毛坯扫码入库,批次号:{packageInfo.PatchCode}",
CreatedBy = warehousingDto.CreatedBy, CreatedBy = warehousingDto.CreatedBy,
CreatedTime = nowTime CreatedTime = nowTime
}; };
@@ -343,6 +343,79 @@ namespace ZR.Service.mes.wms
} }
} }
/// <summary>
/// PDA扫码出库
/// </summary>
/// <param name="outboundDto"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public int PDABlankOutbound(BlankInventoryOutboundDto outboundDto)
{
try
{
DateTime nowTime = DateTime.Now;
int result = 0;
List<WmBlankInventory> updateWmBlankInventories = new();
List<WmBlankRecord> addWmBlankRecourds = new();
// 检查是否返工件
int BackType = outboundDto.IsBack == 0 ? 1 : 2;
List<ResultionPackageCodeDto> packageList = outboundDto.PackageList;
if (packageList.Count == 0)
{
throw new Exception("无箱标签传入");
}
foreach (ResultionPackageCodeDto packageInfo in packageList)
{
// 库存变动
WmBlankInventory wmBlankInventory = Context
.Queryable<WmBlankInventory>()
.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);
}
}
/// <summary> /// <summary>
/// PDA 标签解析 /// PDA 标签解析
/// </summary> /// </summary>
@@ -362,5 +435,7 @@ namespace ZR.Service.mes.wms
throw new Exception("毛坯标签解析异常:" + ex.Message); throw new Exception("毛坯标签解析异常:" + ex.Message);
} }
} }
} }
} }