feat(包装标签): 新增产线产品托盘配置功能并优化标签打印逻辑

实现产线产品托盘配置管理功能,包括接口、模型和服务层
优化包装标签打印逻辑,支持根据托盘配置自动分段打印满箱和零头箱标签
新增多个辅助方法创建不同类型的标签DTO
修复当没有托盘配置时使用默认单个标签打印的逻辑
This commit is contained in:
2025-10-27 22:21:21 +08:00
parent b4c3af0e75
commit 8737002eef
6 changed files with 652 additions and 69 deletions

View File

@@ -0,0 +1,109 @@
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;
//创建时间2025-10-27
namespace ZR.Admin.WebApi.Controllers
{
/// <summary>
///
/// </summary>
//[Verify]
[Route("/mes/wm/WmMaterialPackage")]
public class WmMaterialPackageController : BaseController
{
/// <summary>
/// 接口
/// </summary>
private readonly IWmMaterialPackageService _WmMaterialPackageService;
public WmMaterialPackageController(IWmMaterialPackageService WmMaterialPackageService)
{
_WmMaterialPackageService = WmMaterialPackageService;
}
/// <summary>
/// 查询列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
//[ActionPermissionFilter(Permission = "business:wmmaterialpackage:list")]
public IActionResult QueryWmMaterialPackage([FromQuery] WmMaterialPackageQueryDto parm)
{
var response = _WmMaterialPackageService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
//[ActionPermissionFilter(Permission = "business:wmmaterialpackage:query")]
public IActionResult GetWmMaterialPackage(int Id)
{
var response = _WmMaterialPackageService.GetInfo(Id);
var info = response.Adapt<WmMaterialPackage>();
return SUCCESS(info);
}
/// <summary>
/// 添加
/// </summary>
/// <returns></returns>
[HttpPost]
//[ActionPermissionFilter(Permission = "business:wmmaterialpackage:add")]
[Log(Title = "", BusinessType = BusinessType.INSERT)]
public IActionResult AddWmMaterialPackage([FromBody] WmMaterialPackageDto parm)
{
var modal = parm.Adapt<WmMaterialPackage>().ToCreate(HttpContext);
var response = _WmMaterialPackageService.AddWmMaterialPackage(modal);
return SUCCESS(response);
}
/// <summary>
/// 更新
/// </summary>
/// <returns></returns>
[HttpPut]
//[ActionPermissionFilter(Permission = "business:wmmaterialpackage:edit")]
[Log(Title = "", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateWmMaterialPackage([FromBody] WmMaterialPackageDto parm)
{
var modal = parm.Adapt<WmMaterialPackage>().ToUpdate(HttpContext);
var response = _WmMaterialPackageService.UpdateWmMaterialPackage(modal);
return ToResponse(response);
}
/// <summary>
/// 删除
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
//[ActionPermissionFilter(Permission = "business:wmmaterialpackage:delete")]
[Log(Title = "", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteWmMaterialPackage(string ids)
{
int[] idsArr = Tools.SpitIntArrary(ids);
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _WmMaterialPackageService.Delete(idsArr);
return ToResponse(response);
}
}
}