扫码创建工单明细

This commit is contained in:
quowingwang 2025-11-26 14:21:26 +08:00
parent f30ca78717
commit 3006f2574f
4 changed files with 78 additions and 43 deletions

View File

@ -131,10 +131,10 @@ namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
/// <returns></returns>
[HttpPost("createWorkOrderItemBySacnCode")]
[Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)]
public IActionResult CreateWorkOrderItemBySacnCode(string json)
public ApiResult CreateWorkOrderItemBySacnCode(string json)
{
var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(json);
return SUCCESS(response);
return response;
}
}
}

View File

@ -20,7 +20,7 @@ namespace RIZO.Service.Mes.IMesService.WorkOrderInfo
WorkOrderItem AddWorkOrderItem(WorkOrderItem parm);
int UpdateWorkOrderItem(WorkOrderItem parm);
WorkOrderItem CreateWorkOrderItemBySacnCode(string json);
ApiResult CreateWorkOrderItemBySacnCode(string json);
}

View File

@ -1,5 +1,6 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using Infrastructure.Model;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.MasterData;
using RIZO.Model.Mes.WorkOrderInfo;
@ -120,47 +121,74 @@ namespace RIZO.Service.Mes.WorkOrderInfo
return predicate;
}
public WorkOrderItem CreateWorkOrderItemBySacnCode(string json)
public ApiResult CreateWorkOrderItemBySacnCode(string json)
{
PartsBasketCard partsBasketCard = JsonConvert.DeserializeObject<PartsBasketCard>(json);
string plcCode = "";
PlcFirstCode plcFirstCode = plcFirstCodeService.Queryable()
.Where(it => it.Character == partsBasketCard.Character).First();
string strPlcFirstCode = "";
if (plcFirstCode != null)
try
{
strPlcFirstCode = plcFirstCode.FirstCode;
if (string.IsNullOrWhiteSpace(json))
{
return ApiResult.Error(400, "扫码数据为空,请重新扫码");
}
//字符串转对象
PartsBasketCard partsBasketCard = new PartsBasketCard();
try
{
partsBasketCard = JsonConvert.DeserializeObject<PartsBasketCard>(json);
}
catch (Exception ex)
{
return ApiResult.Error(400, "扫码数据格式错误,无法解析");
}
string plcCode = "";
PlcFirstCode plcFirstCode = plcFirstCodeService.Queryable()
.Where(it => it.Character == partsBasketCard.Character).First();
string strPlcFirstCode = "";
if (plcFirstCode != null)
{
strPlcFirstCode = plcFirstCode.FirstCode;
}
int Sequcence = 1;
WorkOrderItem workOrderItem = Queryable()
.Where(it => it.WorkOrderCode == partsBasketCard.WorkOrderCode).OrderByDescending(it => it.Sequcence).First();
if (workOrderItem != null)
{
Sequcence = workOrderItem.Sequcence;
Sequcence += 1;
}
string formattedSequence = Sequcence.ToString("D2");
string strWorkOrderItemCode = partsBasketCard.WorkOrderCode + formattedSequence;
plcCode = strPlcFirstCode + strWorkOrderItemCode;
WorkOrderItem workOrderItem1 = new WorkOrderItem();
workOrderItem1.WorkOrderCode = partsBasketCard.WorkOrderCode;
workOrderItem1.WorkOrderItemCode = strWorkOrderItemCode;
workOrderItem1.PlcCode = plcCode;
workOrderItem1.LineCode = partsBasketCard.LineCode;
workOrderItem1.LineName = partsBasketCard.LineName;
workOrderItem1.ProcessCode = partsBasketCard.ProcessCode;
workOrderItem1.ProcessName = partsBasketCard.ProcessName;
workOrderItem1.Character = partsBasketCard.Character;
workOrderItem1.IfClean = partsBasketCard.IfClean;
workOrderItem1.CreateBy = partsBasketCard.UserId;
workOrderItem1.CreateName = partsBasketCard.UserName;
workOrderItem1.UpdateBy = partsBasketCard.UserId;
workOrderItem1.UpdateName = partsBasketCard.UserName;
workOrderItem1.CreateTime = DateTime.Now;
workOrderItem1.UpdateTime = DateTime.Now;
workOrderItem1.Sequcence = Sequcence;
int iFlag = Insert(workOrderItem1);
if (iFlag > 0)
{
return ApiResult.Success(workOrderItem1);
}
else
{
return ApiResult.Error("工单明细创建失败");
}
}
int Sequcence = 1;
WorkOrderItem workOrderItem = Queryable()
.Where(it => it.WorkOrderCode == partsBasketCard.WorkOrderCode).OrderByDescending(it => it.Sequcence).First();
if (workOrderItem != null)
catch (Exception ex)
{
Sequcence = workOrderItem.Sequcence;
Sequcence += 1;
return ApiResult.Error("工单明细创建失败" + ex.ToString());
}
string formattedSequence = Sequcence.ToString("D2");
string strWorkOrderItemCode = partsBasketCard.WorkOrderCode + formattedSequence;
plcCode = strPlcFirstCode + strWorkOrderItemCode;
WorkOrderItem workOrderItem1 = new WorkOrderItem();
workOrderItem1.WorkOrderCode = partsBasketCard.WorkOrderCode;
workOrderItem1.WorkOrderItemCode = strWorkOrderItemCode;
workOrderItem1.PlcCode = plcCode;
workOrderItem1.LineCode = partsBasketCard.LineCode;
workOrderItem1.LineName = partsBasketCard.LineName;
workOrderItem1.ProcessCode = partsBasketCard.ProcessCode;
workOrderItem1.ProcessName = partsBasketCard.ProcessName;
workOrderItem1.Character = partsBasketCard.Character;
workOrderItem1.IfClean = partsBasketCard.IfClean;
workOrderItem1.CreateBy = partsBasketCard.UserId;
workOrderItem1.CreateName = partsBasketCard.UserName;
workOrderItem1.UpdateBy = partsBasketCard.UserId;
workOrderItem1.UpdateName = partsBasketCard.UserName;
workOrderItem1.CreateTime = DateTime.Now;
workOrderItem1.UpdateTime = DateTime.Now;
workOrderItem1.Sequcence = Sequcence;
int iFlag = Insert(workOrderItem1);
return workOrderItem1;
}
}

View File

@ -197,17 +197,24 @@ namespace RIZO.Service.Mes.WorkOrderInfo
//orderInfoNew.UpdateName = parm.UserName;
orderInfoNew.CreateTime = DateTime.Now;
orderInfoNew.UpdateTime = DateTime.Now;
int iFlag = Update(orderInfoNew);
int iFlag = Insert(orderInfoNew);
if (iFlag > 0)
{
return ApiResult.Success(orderInfoNew);
}
else
{
return ApiResult.Error("工单创建失败" );
}
}
else
{
orderInfoNew = WorkOrder;
return ApiResult.Success(WorkOrder);
}
return ApiResult.Success(orderInfoNew);
}
catch (Exception ex)
{
return ApiResult.Error("工单创建失败");
return ApiResult.Error("工单创建失败"+ex.ToString());
}
}