Files
shanghaigangxiangtuzhuangMES/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs
赵正易 893bffa431 feat(wms): 添加PDA毛坯入库功能及标签解析
- 在ResultionPackageCodeDto中添加BlankNumber字段用于存储毛坯号
- 新增IWmBlankInventoryService接口方法PDABlankWarehousing和ResolutionPackage
- 实现毛坯标签解析逻辑ResolutionPackagecode4
- 添加BlankInventoryWarehousingDto用于毛坯入库数据传输
- 在WmBlankInventoryController中新增PDA入库和标签解析API
- 实现WmBlankInventoryService中PDA入库核心逻辑
2025-10-14 19:36:07 +08:00

200 lines
6.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Microsoft.AspNetCore.Mvc;
using ZR.Admin.WebApi.Extensions;
using ZR.Admin.WebApi.Filters;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Service.mes.wms.IService;
//创建时间2024-05-13
namespace ZR.Admin.WebApi.Controllers
{
/// <summary>
/// 毛坯库存表
/// </summary>
[Verify]
[Route("/mes/wm/WmBlankInventory")]
public class WmBlankInventoryController : BaseController
{
/// <summary>
/// 毛坯库存表接口
/// </summary>
private readonly IWmBlankInventoryService _WmBlankInventoryService;
public WmBlankInventoryController(IWmBlankInventoryService WmBlankInventoryService)
{
_WmBlankInventoryService = WmBlankInventoryService;
}
/// <summary>
/// 查询毛坯库存表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
[ActionPermissionFilter(Permission = "business:wmblankinventory:list")]
public IActionResult QueryWmBlankInventory([FromQuery] WmBlankInventoryQueryDto parm)
{
var response = _WmBlankInventoryService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询毛坯库存表详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "business:wmblankinventory:query")]
public IActionResult GetWmBlankInventory(string Id)
{
var response = _WmBlankInventoryService.GetInfo(Id);
var info = response.Adapt<WmBlankInventory>();
return SUCCESS(info);
}
/// <summary>
/// 添加毛坯库存表
/// </summary>
/// <returns></returns>
[HttpPost]
[ActionPermissionFilter(Permission = "business:wmblankinventory:add")]
[Log(Title = "毛坯库存表", BusinessType = BusinessType.INSERT)]
public IActionResult AddWmBlankInventory([FromBody] WmBlankInventoryDto parm)
{
try
{
var modal = parm.Adapt<WmBlankInventory>().ToCreate(HttpContext);
var response = _WmBlankInventoryService.AddWmBlankInventory(modal);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, null));
}
}
/// <summary>
/// 更新毛坯库存表
/// </summary>
/// <returns></returns>
[HttpPut]
[ActionPermissionFilter(Permission = "business:wmblankinventory:edit")]
[Log(Title = "毛坯库存表", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateWmBlankInventory([FromBody] WmBlankInventoryDto parm)
{
var modal = parm.Adapt<WmBlankInventory>().ToUpdate(HttpContext);
var response = _WmBlankInventoryService.UpdateWmBlankInventory(modal);
return ToResponse(response);
}
/// <summary>
/// 删除毛坯库存表
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "business:wmblankinventory:delete")]
[Log(Title = "毛坯库存表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteWmBlankInventory(string ids)
{
string[] idsArr = ids.Split(',');
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _WmBlankInventoryService.Delete(idsArr);
return ToResponse(response);
}
/// <summary>
/// 物料清单数据同步
/// </summary>
/// <returns></returns>
[HttpPost("synchronousMaterial")]
[ActionPermissionFilter(Permission = "business:wmblankinventory:add")]
[Log(Title = "物料清单数据同步", BusinessType = BusinessType.INSERT)]
public IActionResult SynchronousMaterial([FromBody] WmBlankInventorySynchronousDto parm)
{
try
{
var modal = parm.Adapt<WmBlankInventory>().ToCreate(HttpContext);
int successNum = _WmBlankInventoryService.SynchronousMaterial(modal);
return ToResponse(new ApiResult(200, "同步成功,已同步:" + successNum + "组毛坯记录!", "同步成功"));
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "同步失败"));
}
}
/// <summary>
/// 查询毛坯库存零件数
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("getPartNumber")]
public IActionResult GetPartNumber()
{
var response = _WmBlankInventoryService.GetPartNumber();
return SUCCESS(response);
}
/// <summary>
/// PDA毛坯入库
/// </summary>
/// <returns></returns>
[HttpPost("PDABlankWarehousing")]
[AllowAnonymous]
[Log(Title = "PDA毛坯入库", BusinessType = BusinessType.UPDATE)]
public IActionResult PDABlankWarehousing([FromBody] BlankInventoryWarehousingDto parm)
{
try
{
var modal = parm.Adapt<BlankInventoryWarehousingDto>().ToCreate(HttpContext);
int successNum = _WmBlankInventoryService.PDABlankWarehousing(modal);
return ToResponse(new ApiResult(200, "入库成功,已入库:" + successNum + "条毛坯记录!", "入库成功"));
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "入库失败"));
}
}
/// <summary>
/// PDA毛坯标签解析
/// </summary>
/// <returns></returns>
[HttpGet("PDABlankResolutionPackage")]
[AllowAnonymous]
[Log(Title = "PDA毛坯入库", BusinessType = BusinessType.UPDATE)]
public IActionResult PDABlankResolutionPackage(string code)
{
try
{
if (string.IsNullOrEmpty(code)) {
return ToResponse(new ApiResult(500, "传入标签为空", "传入标签为空"));
}
var response = _WmBlankInventoryService.ResolutionPackage(code);
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "入库失败"));
}
}
}
}