diff --git a/MDM/Controllers/Plant/PlantProductlinebodyController.cs b/MDM/Controllers/Plant/PlantProductlinebodyController.cs
index 408eb2c..ce130cd 100644
--- a/MDM/Controllers/Plant/PlantProductlinebodyController.cs
+++ b/MDM/Controllers/Plant/PlantProductlinebodyController.cs
@@ -112,7 +112,18 @@ namespace MDM.Controllers.Plant
return ToResponse(response);
}
-
+ ///
+ /// 查询所有产线信息下拉列表
+ ///
+ ///
+ ///
+ [HttpGet("getAllLine")]
+ [ActionPermissionFilter(Permission = "business:plantproductlinebody:list")]
+ public IActionResult GetAllLine()
+ {
+ var response = _PlantProductlinebodyService.GetAllLine();
+ return SUCCESS(response);
+ }
}
diff --git a/MDM/Models/Plant/Dto/PlantProductlinebodyDto.cs b/MDM/Models/Plant/Dto/PlantProductlinebodyDto.cs
index b1b667a..cddda70 100644
--- a/MDM/Models/Plant/Dto/PlantProductlinebodyDto.cs
+++ b/MDM/Models/Plant/Dto/PlantProductlinebodyDto.cs
@@ -50,4 +50,15 @@ namespace MDM.Model.Plant.Dto
}
+
+
+ //下拉列表用
+ public class LinePullDownDto()
+ {
+ // 对应前端的value(建议用产线编码作为值)
+ public string value { get; set; }
+
+ // 对应前端的label(显示产线名称)
+ public string label { get; set; }
+ }
}
\ No newline at end of file
diff --git a/MDM/Services/Plant/IService/IPlantProductlinebodyService.cs b/MDM/Services/Plant/IService/IPlantProductlinebodyService.cs
index 0a821c7..1dbad96 100644
--- a/MDM/Services/Plant/IService/IPlantProductlinebodyService.cs
+++ b/MDM/Services/Plant/IService/IPlantProductlinebodyService.cs
@@ -19,5 +19,7 @@ namespace MDM.Services.IPlantService
int UpdatePlantProductlinebody(PlantProductlinebody parm);
+ List GetAllLine();
+
}
}
diff --git a/MDM/Services/Plant/PlantProductlinebodyService.cs b/MDM/Services/Plant/PlantProductlinebodyService.cs
index e7b2a04..4bf6f2d 100644
--- a/MDM/Services/Plant/PlantProductlinebodyService.cs
+++ b/MDM/Services/Plant/PlantProductlinebodyService.cs
@@ -87,5 +87,16 @@ namespace MDM.Services.Plant
return Update(model, true);
}
+ public List GetAllLine()
+ {
+ var lineOptions = Queryable()
+ .Select(it => new LinePullDownDto
+ {
+ value = it.LineCode, // value绑定产线编码(唯一标识)
+ label = it.LineName // label显示产线名称
+ })
+ .ToList(); // 执行查询并转换为列表
+ return lineOptions;
+ }
}
}
\ No newline at end of file
diff --git a/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderController.cs b/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderController.cs
index e35e4e2..b1c5f0f 100644
--- a/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderController.cs
+++ b/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderController.cs
@@ -100,7 +100,7 @@ namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
}
///
- /// 扫码新增工单主表
+ /// 扫流卡码新增工单主表
///
///
[HttpPost("createWorkOrderBySacnCode")]
diff --git a/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderItemController.cs b/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderItemController.cs
index 7133d13..cda5077 100644
--- a/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderItemController.cs
+++ b/RIZO.Admin.WebApi/Controllers/Mes/WorkOrderInfo/WorkOrderItemController.cs
@@ -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
);
}
+
+
+ ///
+ /// 扫零件筐码新增工单从表
+ ///
+ ///
+ [HttpPost("createWorkOrderItemBySacnCode")]
+ [Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)]
+ public IActionResult CreateWorkOrderItemBySacnCode([FromBody] PartsBasketCard partsBasketCard)
+ {
+ var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(partsBasketCard);
+ return SUCCESS(response);
+ }
}
}
\ No newline at end of file
diff --git a/RIZO.Model/Mes/Dto/MasterData/PlcFirstCodeDto.cs b/RIZO.Model/Mes/Dto/MasterData/PlcFirstCodeDto.cs
index ed43070..2b69fed 100644
--- a/RIZO.Model/Mes/Dto/MasterData/PlcFirstCodeDto.cs
+++ b/RIZO.Model/Mes/Dto/MasterData/PlcFirstCodeDto.cs
@@ -13,12 +13,7 @@ namespace RIZO.Model.Mes.Dto.MasterData
///
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; }
diff --git a/RIZO.Model/Mes/Dto/WorkOrderInfo/FlowCard.cs b/RIZO.Model/Mes/Dto/WorkOrderInfo/FlowCard.cs
index b69b814..37e771e 100644
--- a/RIZO.Model/Mes/Dto/WorkOrderInfo/FlowCard.cs
+++ b/RIZO.Model/Mes/Dto/WorkOrderInfo/FlowCard.cs
@@ -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; }
diff --git a/RIZO.Model/Mes/Dto/WorkOrderInfo/PartsBasketCard.cs b/RIZO.Model/Mes/Dto/WorkOrderInfo/PartsBasketCard.cs
new file mode 100644
index 0000000..ee78df8
--- /dev/null
+++ b/RIZO.Model/Mes/Dto/WorkOrderInfo/PartsBasketCard.cs
@@ -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; }
+ }
+}
diff --git a/RIZO.Model/Mes/Dto/WorkOrderInfo/WorkOrderItemDto.cs b/RIZO.Model/Mes/Dto/WorkOrderInfo/WorkOrderItemDto.cs
index 00a1e29..19c870b 100644
--- a/RIZO.Model/Mes/Dto/WorkOrderInfo/WorkOrderItemDto.cs
+++ b/RIZO.Model/Mes/Dto/WorkOrderInfo/WorkOrderItemDto.cs
@@ -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; }
}
}
\ No newline at end of file
diff --git a/RIZO.Model/Mes/MasterData/PlcFirstCode.cs b/RIZO.Model/Mes/MasterData/PlcFirstCode.cs
index 004d354..6e68e24 100644
--- a/RIZO.Model/Mes/MasterData/PlcFirstCode.cs
+++ b/RIZO.Model/Mes/MasterData/PlcFirstCode.cs
@@ -14,15 +14,9 @@ namespace RIZO.Model.Mes.MasterData
public long Id { get; set; }
///
- /// 产线编码
+ /// 工艺特性
///
- [SugarColumn(ColumnName = "line_code")]
- public string LineCode { get; set; }
-
- ///
- /// 灵敏度等级
- ///
- public string Feature { get; set; }
+ public string Character { get; set; }
///
/// PLC通讯首位编码
diff --git a/RIZO.Model/Mes/WorkOrderInfo/WorkOrderItem.cs b/RIZO.Model/Mes/WorkOrderInfo/WorkOrderItem.cs
index 663c75f..d59dfff 100644
--- a/RIZO.Model/Mes/WorkOrderInfo/WorkOrderItem.cs
+++ b/RIZO.Model/Mes/WorkOrderInfo/WorkOrderItem.cs
@@ -115,5 +115,18 @@ namespace RIZO.Model.Mes.WorkOrderInfo
///
[SugarColumn(ColumnName = "identification_code")]
public string IdentificationCode { get; set; }
+
+ ///
+ /// 工艺特性
+ ///
+ [SugarColumn(ColumnName = "character")]
+ public string Character { get; set; }
+
+ ///
+ /// 是否清洗(0否,1是)
+ ///
+ [SugarColumn(ColumnName = "ifClean")]
+ public int IfClean { get; set; }
+
}
}
\ No newline at end of file
diff --git a/RIZO.Service/Mes/IMesService/WorkOrderInfo/IWorkOrderItemService.cs b/RIZO.Service/Mes/IMesService/WorkOrderInfo/IWorkOrderItemService.cs
index 053c5cc..19da7d4 100644
--- a/RIZO.Service/Mes/IMesService/WorkOrderInfo/IWorkOrderItemService.cs
+++ b/RIZO.Service/Mes/IMesService/WorkOrderInfo/IWorkOrderItemService.cs
@@ -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);
+
}
}
diff --git a/RIZO.Service/Mes/WorkOrderInfo/WorkOrderItemService.cs b/RIZO.Service/Mes/WorkOrderInfo/WorkOrderItemService.cs
index c556118..01cf056 100644
--- a/RIZO.Service/Mes/WorkOrderInfo/WorkOrderItemService.cs
+++ b/RIZO.Service/Mes/WorkOrderInfo/WorkOrderItemService.cs
@@ -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, IWorkOrderItemService
{
+ private PlcFirstCodeService plcFirstCodeService = new PlcFirstCodeService();
///
/// 查询工单从表(存储工单所需物料明细及物料流转状态)列表
///
@@ -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;
+ }
+
}
}
\ No newline at end of file
diff --git a/RIZO.Service/Mes/WorkOrderInfo/WorkOrderService.cs b/RIZO.Service/Mes/WorkOrderInfo/WorkOrderService.cs
index 5f7a351..8b63337 100644
--- a/RIZO.Service/Mes/WorkOrderInfo/WorkOrderService.cs
+++ b/RIZO.Service/Mes/WorkOrderInfo/WorkOrderService.cs
@@ -18,7 +18,6 @@ namespace RIZO.Service.Mes.WorkOrderInfo
[AppService(ServiceType = typeof(IWorkOrderService), ServiceLifetime = LifeTime.Transient)]
public class WorkOrderService : BaseService, IWorkOrderService
{
- private PlcFirstCodeService plcFirstCodeService = new PlcFirstCodeService();
private WorkOrderItemService workOrderItemService = new WorkOrderItemService();
///