diff --git a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
index ee70309..92d01e8 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/product/ProWorkorderController.cs
@@ -11,6 +11,8 @@ using DOAN.Model.System;
using MiniExcelLibs;
using DOAN.Model.System.Dto;
using DOAN.Model;
+using DOAN.Model.MES.base_.Dto;
+using Microsoft.AspNetCore.Http;
//创建时间:2024-07-16
namespace DOAN.Admin.WebApi.Controllers
@@ -127,7 +129,7 @@ namespace DOAN.Admin.WebApi.Controllers
return SUCCESS(response);
}
///
- /// 插入工单
+ /// 插入工单/或者新增工单
///
///
/// 1成功 0失败
@@ -218,5 +220,17 @@ namespace DOAN.Admin.WebApi.Controllers
return ExportExcel(result.Item2, result.Item1);
}
+ //TODO 获取物料
+ [HttpPost("get_material")]
+ public IActionResult GetMaterialInfo([FromBody] BaseMaterialListQueryDto query)
+ {
+ if (query == null)
+ {
+ return SUCCESS(null);
+ }
+ var response = _ProWorkorderService.GetMaterialInfo(query);
+ return SUCCESS(response);
+
+ }
}
}
\ No newline at end of file
diff --git a/DOAN.Model/MES/product/Dto/ProWorkorderDto.cs b/DOAN.Model/MES/product/Dto/ProWorkorderDto.cs
index d8bb219..eb61a9c 100644
--- a/DOAN.Model/MES/product/Dto/ProWorkorderDto.cs
+++ b/DOAN.Model/MES/product/Dto/ProWorkorderDto.cs
@@ -147,7 +147,7 @@ namespace DOAN.Model.MES.product.Dto
///
/// 下一个工单号
///
- [Required]
+
public string next_id { get; set; }
public string Id { get; set; }
diff --git a/DOAN.Service/MES/product/IService/IProWorkorderService.cs b/DOAN.Service/MES/product/IService/IProWorkorderService.cs
index 6f8f0ba..72fef23 100644
--- a/DOAN.Service/MES/product/IService/IProWorkorderService.cs
+++ b/DOAN.Service/MES/product/IService/IProWorkorderService.cs
@@ -7,6 +7,8 @@ using DOAN.Model.System.Dto;
using DOAN.Model.System;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using DOAN.Model.MES.base_;
+using DOAN.Model.MES.base_.Dto;
namespace DOAN.Service.MES.product.IService
@@ -34,5 +36,7 @@ namespace DOAN.Service.MES.product.IService
public PagedInfo WorkOrderExport(DateTime exportTime, PagerInfo pager);
+ List GetMaterialInfo(BaseMaterialListQueryDto query);
+
}
}
diff --git a/DOAN.Service/MES/product/ProWorkorderService.cs b/DOAN.Service/MES/product/ProWorkorderService.cs
index 818ca28..e66a1aa 100644
--- a/DOAN.Service/MES/product/ProWorkorderService.cs
+++ b/DOAN.Service/MES/product/ProWorkorderService.cs
@@ -26,6 +26,8 @@ using Microsoft.AspNetCore.Components.Forms;
using System.Globalization;
using System.ComponentModel;
using NPOI.Util;
+using DOAN.Model.MES.base_.Dto;
+using Aliyun.OSS;
namespace DOAN.Service.MES.product
{
@@ -69,8 +71,8 @@ namespace DOAN.Service.MES.product
MaterialName = m.Name,
- Specification= m.Specification,
- Unit= m.Unit,
+ Specification = m.Specification,
+ Unit = m.Unit,
}, true);
var query2 = Context.Queryable(query1).LeftJoin((q, r) => q.RouteId == r.Code)
.Select((q, r) => new ProWorkorderDto3()
@@ -187,7 +189,7 @@ namespace DOAN.Service.MES.product
///
- /// 插入工单
+ /// 插入工单、新增工单
///
///
///
@@ -197,20 +199,36 @@ namespace DOAN.Service.MES.product
int result = 0;
proWorkorder.Id = XueHua;
proWorkorder.WorkorderDate = proWorkorder.WorkorderDate.Value.Date;
- UseTran2(() =>
+ if(!string.IsNullOrEmpty(next_id))
{
- int sortNum = Context.Queryable().Where(it => it.Id == next_id).Select(it => it.Sort.Value).First();
- Context.Updateable()
- .Where(it => it.WorkorderDate == proWorkorder.WorkorderDate)
- .Where(it => it.Sort >= sortNum)
- .SetColumns(it => new ProWorkorder() { Sort = it.Sort + 10 })
- .ExecuteCommand();
- proWorkorder.Sort = sortNum;
+ UseTran2(() =>
+ {
+
+ int sortNum = Context.Queryable().Where(it => it.Id == next_id).Select(it => it.Sort.Value).First();
+ Context.Updateable()
+ .Where(it => it.WorkorderDate == proWorkorder.WorkorderDate)
+ .Where(it => it.Sort >= sortNum)
+ .SetColumns(it => new ProWorkorder() { Sort = it.Sort + 10 })
+ .ExecuteCommand();
+ proWorkorder.Sort = sortNum;
+ proWorkorder.Status = 1;
+
+ Context.Insertable(proWorkorder).ExecuteCommand();
+
+ });
+ }
+ else
+ {
+ int sortNum = Context.Queryable().Max(it => it.Sort.Value);
+
+ proWorkorder.Sort = sortNum+10;
proWorkorder.Status = 1;
Context.Insertable(proWorkorder).ExecuteCommand();
+ }
+
+
- });
Generate_workorder(new ProWorkorderQueryDto2()
{
WorkorderDate = proWorkorder.WorkorderDate.Value
@@ -474,7 +492,7 @@ namespace DOAN.Service.MES.product
//NPOI.SS.UserModel.ICell currentCell_04 = currentRow.GetCell(3);
//workorder.Unit = currentCell_04.ToString();
-
+
NPOI.SS.UserModel.ICell currentCell_06 = currentRow.GetCell(5);
@@ -531,6 +549,22 @@ namespace DOAN.Service.MES.product
return Context.Queryable().Where(it => it.WorkorderDate == exportTime).ToPage(pager);
}
+ ///
+ /// 获取物料信息
+ ///
+ ///
+ ///
+ public List GetMaterialInfo(BaseMaterialListQueryDto parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.Name), it => it.Name.Contains(parm.Name))
+ .AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code))
+ .AndIF(!string.IsNullOrEmpty(parm.FkMaterialTypeCode), it => it.FkMaterialTypeCode.Contains(parm.FkMaterialTypeCode));
+
+ return Context.Queryable()
+ .Where(predicate.ToExpression()).ToList();
+
+ }
}
}
\ No newline at end of file