产线下拉

This commit is contained in:
quowingwang 2025-11-25 09:32:28 +08:00
parent b53d40e9bd
commit 4f448a5f83
15 changed files with 137 additions and 20 deletions

View File

@ -112,7 +112,18 @@ namespace MDM.Controllers.Plant
return ToResponse(response);
}
/// <summary>
/// 查询所有产线信息下拉列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("getAllLine")]
[ActionPermissionFilter(Permission = "business:plantproductlinebody:list")]
public IActionResult GetAllLine()
{
var response = _PlantProductlinebodyService.GetAllLine();
return SUCCESS(response);
}
}

View File

@ -50,4 +50,15 @@ namespace MDM.Model.Plant.Dto
}
//下拉列表用
public class LinePullDownDto()
{
// 对应前端的value建议用产线编码作为值
public string value { get; set; }
// 对应前端的label显示产线名称
public string label { get; set; }
}
}

View File

@ -19,5 +19,7 @@ namespace MDM.Services.IPlantService
int UpdatePlantProductlinebody(PlantProductlinebody parm);
List<LinePullDownDto> GetAllLine();
}
}

View File

@ -87,5 +87,16 @@ namespace MDM.Services.Plant
return Update(model, true);
}
public List<LinePullDownDto> GetAllLine()
{
var lineOptions = Queryable()
.Select(it => new LinePullDownDto
{
value = it.LineCode, // value绑定产线编码唯一标识
label = it.LineName // label显示产线名称
})
.ToList(); // 执行查询并转换为列表
return lineOptions;
}
}
}

View File

@ -100,7 +100,7 @@ namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
}
/// <summary>
/// 扫码新增工单主表
/// 扫流卡码新增工单主表
/// </summary>
/// <returns></returns>
[HttpPost("createWorkOrderBySacnCode")]

View File

@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Service.Mes.IMesService.WorkOrderInfo;
using RIZO.Service.Mes.WorkOrderInfo;
//创建时间2025-11-12
namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
@ -122,5 +123,18 @@ namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
true
);
}
/// <summary>
/// 扫零件筐码新增工单从表
/// </summary>
/// <returns></returns>
[HttpPost("createWorkOrderItemBySacnCode")]
[Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)]
public IActionResult CreateWorkOrderItemBySacnCode([FromBody] PartsBasketCard partsBasketCard)
{
var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(partsBasketCard);
return SUCCESS(response);
}
}
}

View File

@ -13,12 +13,7 @@ namespace RIZO.Model.Mes.Dto.MasterData
/// </summary>
public class PlcFirstCodeDto
{
[Required(ErrorMessage = "Id不能为空")]
public long Id { get; set; }
public string LineCode { get; set; }
public string Feature { get; set; }
public string Character { get; set; }
public string FirstCode { get; set; }

View File

@ -16,8 +16,6 @@ namespace RIZO.Model.Mes.Dto.WorkOrderInfo
public int TotalQty { get; set; }
//批次号
public string BatchNumber { get; set; }
public string LineCode { get; set; }
public string LineName { get; set; }
public string UserId { get; set; }
public string UserName { get; set; }

View File

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RIZO.Model.Mes.Dto.WorkOrderInfo
{
public class PartsBasketCard
{
//工单编码
public string WorkOrderCode { get; set; }
//零件框码
public string PartsBasketNo { get; set; }
//工艺特性(自乳化,后乳化四级、后乳化四级)
public string Character { get; set; }
//是否清洗
public int IfClean { get; set; }
public string UserId { get; set; }
public string UserName { get; set; }
}
}

View File

@ -52,6 +52,9 @@ namespace RIZO.Model.Mes.Dto.WorkOrderInfo
public string UpdateName { get; set; }
[ExcelColumn(Name = "更新时间")]
public DateTime? UpdateTime { get; set; }
[ExcelColumn(Name = "工艺特性")]
public string Character { get; set; }
[ExcelColumn(Name = "是否清洗")]
public int IfClean { get; set; }
}
}

View File

@ -14,15 +14,9 @@ namespace RIZO.Model.Mes.MasterData
public long Id { get; set; }
/// <summary>
/// 产线编码
/// 工艺特性
/// </summary>
[SugarColumn(ColumnName = "line_code")]
public string LineCode { get; set; }
/// <summary>
/// 灵敏度等级
/// </summary>
public string Feature { get; set; }
public string Character { get; set; }
/// <summary>
/// PLC通讯首位编码

View File

@ -115,5 +115,18 @@ namespace RIZO.Model.Mes.WorkOrderInfo
/// </summary>
[SugarColumn(ColumnName = "identification_code")]
public string IdentificationCode { get; set; }
/// <summary>
/// 工艺特性
/// </summary>
[SugarColumn(ColumnName = "character")]
public string Character { get; set; }
/// <summary>
/// 是否清洗0否1是
/// </summary>
[SugarColumn(ColumnName = "ifClean")]
public int IfClean { get; set; }
}
}

View File

@ -1,6 +1,7 @@
using Infrastructure.Model;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using Aliyun.OSS;
namespace RIZO.Service.Mes.IMesService.WorkOrderInfo
{
@ -19,6 +20,8 @@ namespace RIZO.Service.Mes.IMesService.WorkOrderInfo
WorkOrderItem AddWorkOrderItem(WorkOrderItem parm);
int UpdateWorkOrderItem(WorkOrderItem parm);
WorkOrderItem CreateWorkOrderItemBySacnCode(PartsBasketCard partsBasketCard);
}
}

View File

@ -1,6 +1,7 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.MasterData;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Repository;
using RIZO.Service.Mes.IMesService.WorkOrderInfo;
@ -13,6 +14,7 @@ namespace RIZO.Service.Mes.WorkOrderInfo
[AppService(ServiceType = typeof(IWorkOrderItemService), ServiceLifetime = LifeTime.Transient)]
public class WorkOrderItemService : BaseService<WorkOrderItem>, IWorkOrderItemService
{
private PlcFirstCodeService plcFirstCodeService = new PlcFirstCodeService();
/// <summary>
/// 查询工单从表(存储工单所需物料明细及物料流转状态)列表
/// </summary>
@ -114,5 +116,43 @@ namespace RIZO.Service.Mes.WorkOrderInfo
return predicate;
}
public WorkOrderItem CreateWorkOrderItemBySacnCode(PartsBasketCard partsBasketCard)
{
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.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

@ -18,7 +18,6 @@ namespace RIZO.Service.Mes.WorkOrderInfo
[AppService(ServiceType = typeof(IWorkOrderService), ServiceLifetime = LifeTime.Transient)]
public class WorkOrderService : BaseService<WorkOrder>, IWorkOrderService
{
private PlcFirstCodeService plcFirstCodeService = new PlcFirstCodeService();
private WorkOrderItemService workOrderItemService = new WorkOrderItemService();
/// <summary>