feat(工单): 实现工单标签打印功能并优化相关逻辑

- 添加Bartender打印工具类实现工单标签打印功能
- 修改PrintTicketsByTemplate方法返回类型为string并实现完整打印逻辑
- 优化工单领料逻辑,增加原材料工单信息获取
- 调整工单查询条件,移除PlanNum>0的限制
- 修复出库单操作符赋值错误
- 优化不良品处理流程,统一使用不良库代替报废库
- 完善领料报工逻辑,增加计划数校验和原材料工单处理
This commit is contained in:
2026-02-24 15:36:35 +08:00
parent cd7580da43
commit 5011447292
11 changed files with 635 additions and 138 deletions

View File

@@ -292,6 +292,7 @@ namespace DOAN.Service.BZFM
}
}
// 出库单
public string CreateOutboundReceipt(OutboundReceiptDto parm)
{
try
@@ -377,8 +378,7 @@ namespace DOAN.Service.BZFM
{
OutboundNo = outboundNo,
BatchNo = parm.BatchNo,
StoveCode = parm.
Operator = parm.Operator,
StoveCode = parm.Operator = parm.Operator,
MaterialCode = mmMaterial.MaterialCode,
MaterialName = mmMaterial.MaterialName,
SupplierCode = mmMaterial.SupplierCode,
@@ -994,8 +994,34 @@ namespace DOAN.Service.BZFM
{
return result;
}
// 如果是出货则还要减少出货单库存和工单出货数量
Context.Ado.BeginTran();
// 如果是根据工单领料撤销,还需要调整领料记录
if (
recordOutbound.TransactionType == "领料出库"
&& !string.IsNullOrEmpty(recordOutbound.WorkorderRaw)
)
{
var workorderInfo = Context
.Queryable<ProWorkorder>()
.Where(it => it.Workorder == recordOutbound.WorkorderRaw)
.First();
if (workorderInfo == null)
{
Context.Ado.RollbackTran();
return "工单不存在";
}
workorderInfo.ShipmentNum -= Math.Abs((int)recordOutbound.Quantity);
if (workorderInfo.ShipmentNum < 0)
{
workorderInfo.ShipmentNum = 0;
}
Context
.Updateable(workorderInfo)
.UpdateColumns(it => new { it.ShipmentNum })
.ExecuteCommand();
}
// 如果是出货则还要减少出货单库存和工单出货数量
if (recordOutbound.TransactionType == "出货出库")
{
var workorderInfo = Context