From 4bf757527c81f678d2bb94cb32fdf4bf0b48c7bc Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Fri, 30 Aug 2024 16:36:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=92=E5=85=A5=E5=B7=A5=E5=8D=95=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MES/product/ProWorkorderController.cs | 16 ++++- DOAN.Model/MES/product/Dto/ProWorkorderDto.cs | 2 +- .../product/IService/IProWorkorderService.cs | 4 ++ .../MES/product/ProWorkorderService.cs | 60 +++++++++++++++---- 4 files changed, 67 insertions(+), 15 deletions(-) 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