From bf4e606977d29ac2f1a43ee1561954b1eb18578f Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 19 Mar 2024 11:08:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E6=A8=A1=E5=9D=97=5F?= =?UTF-8?q?=E5=87=BA=E5=BA=93:=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/CustomException/ResultCode.cs | 2 +- .../mes/wms/WmMaterialController.cs | 6 +- .../mes/wms/WmOutOrderController.cs | 141 +++++++++++ ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 1 + ZR.Admin.WebApi/appsettings.development.json | 2 +- .../ZrAdmin.NET-客户信息-0317153123.zip | Bin 7827 -> 0 bytes .../ZrAdmin.NET-物料记录表-0316162215.zip | Bin 9313 -> 0 bytes ZR.Model/MES/wms/Dto/WmMaterialDto.cs | 35 +++ ZR.Model/MES/wms/Dto/WmOutOrderDto.cs | 71 ++++++ ZR.Model/MES/wms/WmGoodsNowProduction.cs | 9 +- ZR.Model/MES/wms/WmMaterialOutorder.cs | 59 +++++ ZR.Model/MES/wms/WmOutOrder.cs | 161 ++++++------- .../mes/wms/IService/IWmOutOrderService.cs | 30 +++ .../wms/WMentryWarehousing_productService.cs | 1 + ZR.Service/mes/wms/WmOutOrderService.cs | 224 ++++++++++++++++++ 15 files changed, 641 insertions(+), 101 deletions(-) create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs delete mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-客户信息-0317153123.zip delete mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-物料记录表-0316162215.zip create mode 100644 ZR.Model/MES/wms/Dto/WmOutOrderDto.cs create mode 100644 ZR.Model/MES/wms/WmMaterialOutorder.cs create mode 100644 ZR.Service/mes/wms/IService/IWmOutOrderService.cs create mode 100644 ZR.Service/mes/wms/WmOutOrderService.cs diff --git a/Infrastructure/CustomException/ResultCode.cs b/Infrastructure/CustomException/ResultCode.cs index 58739e4c..95ad884b 100644 --- a/Infrastructure/CustomException/ResultCode.cs +++ b/Infrastructure/CustomException/ResultCode.cs @@ -7,7 +7,7 @@ namespace Infrastructure [Description("success")] SUCCESS = 200, - [Description("没有更多数据")] + [Description("传入参数为空")] NO_DATA = 210, [Description("参数错误")] diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs index 7164cd19..ec6ea1d0 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs @@ -53,8 +53,8 @@ namespace ZR.Admin.WebApi.Controllers { var response = _WmMaterialService.GetInfo(Id); - var info = response.Adapt(); - return SUCCESS(info); + + return SUCCESS(response); } /// @@ -101,7 +101,7 @@ namespace ZR.Admin.WebApi.Controllers if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _WmMaterialService.Delete(idsArr); + var response = _WmMaterialService.Delete(idsArr); return ToResponse(response); } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs new file mode 100644 index 00000000..bbb11512 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs @@ -0,0 +1,141 @@ +using Microsoft.AspNetCore.Mvc; +using ZR.Model.Dto; +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Service.mes.wms.IService; +using ZR.Model.MES.wms.Dto; +using ZR.Model.MES.wms; +using ZR.Service.mes.wms; + +//创建时间:2024-03-18 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 出货单(物料+客户) + /// + [Verify] + [Route("mes/wm/WmOutOrder")] + public class WmOutOrderController : BaseController + { + /// + /// 出货单(物料+客户)接口 + /// + private readonly IWmOutOrderService _WmOutOrderService; + + public WmOutOrderController(IWmOutOrderService WmOutOrderService) + { + _WmOutOrderService = WmOutOrderService; + } + + /// + /// 查询出货单(物料+客户)列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmoutorder:list")] + public IActionResult QueryWmOutOrder([FromQuery] WmOutOrderQueryDto parm) + { + var response = _WmOutOrderService.GetList(parm); + + return SUCCESS(response); + } + + + /// + /// 查询出货单(物料+客户)详情 + /// + /// + /// + [HttpGet("{ShipmentNum}")] + [ActionPermissionFilter(Permission = "business:wmoutorder:query")] + public IActionResult GetWmOutOrder(string ShipmentNum) + { + var response = _WmOutOrderService.GetInfo(ShipmentNum); + return SUCCESS(response); + } + + /// + /// 添加出货单(物料+客户) + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmoutorder:add")] + [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmOutOrder([FromBody] WmOutOrder_materialDto parm) + { + if(parm == null) + { + return SUCCESS(null); + } + var modal = parm.ToCreate(HttpContext); + + var response = _WmOutOrderService.AddWmOutOrder(modal); + + return SUCCESS(response); + } + + /// + /// 更新出货单(物料+客户) + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmoutorder:edit")] + [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmOutOrder([FromBody] WmOutOrderDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmOutOrderService.UpdateWmOutOrder(modal); + + return ToResponse(response); + } + + /// + /// 删除出货单(物料+客户) + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmoutorder:delete")] + [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmOutOrder(string ids) + { + + if (string.IsNullOrEmpty(ids)) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + + var response = _WmOutOrderService.Delete(ids.Split(",")); + + return ToResponse(response); + } + + /// + /// 获取客户信息 + /// + /// + [HttpGet("getcustom_list")] + public IActionResult GetWmOutOrder() + { + List customs= _WmOutOrderService.GetCustominfo(); + + return SUCCESS(customs); + } + + /// + /// 查询物料记录表列表 + /// + /// + /// + [HttpGet("getmaterial_list")] + + public IActionResult QueryWmMaterial([FromQuery] WmMaterialQueryDto parm) + { + var response = _WmOutOrderService.GetmaterialList(parm); + return SUCCESS(response); + } + + + + + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index e4f213a0..986c743b 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -48,6 +48,7 @@ + diff --git a/ZR.Admin.WebApi/appsettings.development.json b/ZR.Admin.WebApi/appsettings.development.json index 16cd819c..820527f3 100644 --- a/ZR.Admin.WebApi/appsettings.development.json +++ b/ZR.Admin.WebApi/appsettings.development.json @@ -11,7 +11,7 @@ { //外网连接服务器 - "Conn": "Data Source=127.0.0.1;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", + "Conn": "Data Source=localhost;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", //外网连接服务器 //"Conn": "Data Source=47.116.122.230;Port=3307;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-客户信息-0317153123.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-客户信息-0317153123.zip deleted file mode 100644 index 73777ba743b156edaf8279f6375679364d3bd278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7827 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 diff --git a/ZR.Model/MES/wms/Dto/WmMaterialDto.cs b/ZR.Model/MES/wms/Dto/WmMaterialDto.cs index 630e54aa..5dfe2ab2 100644 --- a/ZR.Model/MES/wms/Dto/WmMaterialDto.cs +++ b/ZR.Model/MES/wms/Dto/WmMaterialDto.cs @@ -48,6 +48,38 @@ namespace ZR.Model.MES.wms.Dto public DateTime? UpdatedTime { get; set; } } + /// + /// 带库存记录的物料库存表 + /// + public class WmMaterialQuery_stockQuantityDto : WmMaterialQueryDto + { + /// + /// 库存数量 + /// + public int stockQuantity { get; set; } + + /// + /// 需要出货数量 + /// + public int requireOutNum { get; set; } + + } + + /// + /// 带需要出货数量的物料库存表 + /// + public class WmMaterialQuery_stockQuantityDto2 : WmMaterialQueryDto + { + + + /// + /// 需要出货数量 + /// + public int requireOutNum { get; set; } + + } + + /// /// 物料记录表输入输出对象 /// @@ -95,4 +127,7 @@ namespace ZR.Model.MES.wms.Dto } + + + } \ No newline at end of file diff --git a/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs b/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs new file mode 100644 index 00000000..71c71885 --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs @@ -0,0 +1,71 @@ +using System.ComponentModel.DataAnnotations; + +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 出货单(物料+客户)查询对象 + /// + public class WmOutOrderQueryDto : PagerInfo + { + } + + /// + /// 出货单(物料+客户)输入输出对象 + /// + public class WmOutOrderDto + { + + public string ShipmentNum { get; set; } + + public string CustomId { get; set; } + + public string CustomNo { get; set; } + + public string CustomName { get; set; } + + public string CustomAddress { get; set; } + + public string Remarks { get; set; } + + public int Type { get; set; } + + public int? Status { get; set; } + + public int? Year { get; set; } + + public int? Week { get; set; } + + public int? Date { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + + + } + /// + /// 出货单(物料+客户)输入输出对象 + /// + public class WmOutOrder_materialDto : WmOutOrderDto + { + //带出货数量的物料表 + public List MaterialList { get; set; } + + + } + /// + /// 出货单_物料——数量 + /// + public class WmOutOrder_material_num : WmOutOrderDto + { + //带出货数量的物料表 + public List MaterialList { get; set; } + + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmGoodsNowProduction.cs b/ZR.Model/MES/wms/WmGoodsNowProduction.cs index 5d0d7d0f..38753efc 100644 --- a/ZR.Model/MES/wms/WmGoodsNowProduction.cs +++ b/ZR.Model/MES/wms/WmGoodsNowProduction.cs @@ -27,12 +27,19 @@ namespace ZR.Model.MES.wms public string PackageCodeClient { get; set; } /// - /// 箱子编号 (批次号) + /// 箱子编号 (原始) /// [SugarColumn(ColumnName = "package_code_original")] public string PackageCodeOriginal { get; set; } + /// + /// 零件号 + /// + [SugarColumn(ColumnName = "partnumber")] + public string Partnumber { get; set; } + + /// /// 库位编号 /// diff --git a/ZR.Model/MES/wms/WmMaterialOutorder.cs b/ZR.Model/MES/wms/WmMaterialOutorder.cs new file mode 100644 index 00000000..8451c663 --- /dev/null +++ b/ZR.Model/MES/wms/WmMaterialOutorder.cs @@ -0,0 +1,59 @@ +namespace ZR.Model.MES.wms +{ + /// + /// 物料表和出库单关联表 + /// + [SugarTable("wm_material_outorder")] + public class WmMaterialOutorder + { + /// + /// Id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + /// + /// 物料表主键 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_material_id")] + public string FkMaterialId { get; set; } + + /// + /// 出货单id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_outorder_id")] + public string FkOutorderId { get; set; } + + + /// + /// 出货数量 + /// + [SugarColumn(ColumnName = "outhouse_num")] + public int OuthouseNum { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "CREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "CREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "UPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "UPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + } +} diff --git a/ZR.Model/MES/wms/WmOutOrder.cs b/ZR.Model/MES/wms/WmOutOrder.cs index 8facbd8b..fb4e853e 100644 --- a/ZR.Model/MES/wms/WmOutOrder.cs +++ b/ZR.Model/MES/wms/WmOutOrder.cs @@ -1,129 +1,100 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using SqlSugar; + namespace ZR.Model.MES.wms { /// /// 出货单(物料+客户) - /// + /// [SugarTable("wm_out_order")] public class WmOutOrder { + + //[Navigate(NavigateType.OneToMany, nameof(WmMaterialOutorder.FkOutorderId))]//BookA表中的studenId + //public List Books { get; set; }//注意禁止给books手动赋值 + + /// - /// 主键G - /// - [SugarColumn(ColumnName="id" ,IsPrimaryKey = true )] - public string Id { get; set; } - /// - /// 出货单号(雪花算法) - /// - [SugarColumn(ColumnName="shipment_num" )] - public string ShipmentNum { get; set; } + /// 出库单号(EG+时间) + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "shipment_num")] + public string ShipmentNum { get; set; } + /// /// 客户id - /// - [SugarColumn(ColumnName="custom_id" )] - public string CustomId { get; set; } + /// + [SugarColumn(ColumnName = "custom_id")] + public string CustomId { get; set; } + /// /// 客户代码 - /// - [SugarColumn(ColumnName="custom_no" )] - public string CustomNo { get; set; } + /// + [SugarColumn(ColumnName = "custom_no")] + public string CustomNo { get; set; } + /// /// 客户名称 - /// - [SugarColumn(ColumnName="custom_name" )] - public string CustomName { get; set; } + /// + [SugarColumn(ColumnName = "custom_name")] + public string CustomName { get; set; } + /// /// 客户地址 - /// - [SugarColumn(ColumnName="custom_address" )] - public string CustomAddress { get; set; } - /// - /// 物料号(零件号) - /// - [SugarColumn(ColumnName="partnumber" )] - public string Partnumber { get; set; } - /// - /// 单位 - /// - [SugarColumn(ColumnName="unit" )] - public string Unit { get; set; } - /// - /// 产品描述(产品名称) - /// - [SugarColumn(ColumnName="product_name" )] - public string ProductName { get; set; } - /// - /// 产品颜色 - /// - [SugarColumn(ColumnName="color" )] - public string Color { get; set; } - /// - /// 规格(左右脚) - /// - [SugarColumn(ColumnName="specification" )] - public string Specification { get; set; } - /// - /// 显示描述(产品描述+颜色+规格) - /// - [SugarColumn(ColumnName="description" )] - public string Description { get; set; } - /// - /// 版本号 - /// - [SugarColumn(ColumnName="version" )] - public string Version { get; set; } + /// + [SugarColumn(ColumnName = "custom_address")] + public string CustomAddress { get; set; } + /// /// 备注 - /// - [SugarColumn(ColumnName="remarks" )] - public string Remarks { get; set; } + /// + public string Remarks { get; set; } + /// - /// 状态(0-不可见 1-可见) - /// - [SugarColumn(ColumnName="status" )] - public int? Status { get; set; } + /// 出库单状态(1-出库中 2-出库完成 3-弃用) + /// + public int Type { get; set; } + + /// + /// 状态(0-停用 1-启用) + /// + public int? Status { get; set; } + /// /// 年 - /// - [SugarColumn(ColumnName="year" )] - public int? Year { get; set; } + /// + public int? Year { get; set; } + /// /// 周 - /// - [SugarColumn(ColumnName="week" )] - public int? Week { get; set; } + /// + public int? Week { get; set; } + /// /// 日 - /// - [SugarColumn(ColumnName="date" )] - public int? Date { get; set; } - /// - /// 要货数量 - /// - [SugarColumn(ColumnName="number" )] - public int? Number { get; set; } + /// + public int? Date { get; set; } + /// /// 创建人 - /// - [SugarColumn(ColumnName="CREATED_BY" )] - public string CreatedBy { get; set; } + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + /// /// 创建时间 - /// - [SugarColumn(ColumnName="CREATED_TIME" )] - public DateTime? CreatedTime { get; set; } + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + /// /// 更新人 - /// - [SugarColumn(ColumnName="UPDATED_BY" )] - public string UpdatedBy { get; set; } + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + /// /// 更新时间 - /// - [SugarColumn(ColumnName="UPDATED_TIME" )] - public DateTime? UpdatedTime { get; set; } + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + } -} +} \ No newline at end of file diff --git a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs new file mode 100644 index 00000000..e7e2c98e --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs @@ -0,0 +1,30 @@ +using System; +using ZR.Model; +using ZR.Model.Dto; + +using System.Collections.Generic; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.mes.wms.IService +{ + /// + /// 出货单(物料+客户)service接口 + /// + public interface IWmOutOrderService : IBaseService + { + PagedInfo GetList(WmOutOrderQueryDto parm); + + WmOutOrder_material_num GetInfo(string ShipmentNum); + + WmOutOrder AddWmOutOrder(WmOutOrder_materialDto parm); + + int UpdateWmOutOrder(WmOutOrder parm); + + + List GetCustominfo(); + + (List, int) GetmaterialList(WmMaterialQueryDto parm); + + } +} diff --git a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs index 85e55f47..9cfc528f 100644 --- a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs +++ b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs @@ -54,6 +54,7 @@ namespace ZR.Service.mes.wms wmGood.PackageCode = Getpack_no(resultionPackage.WorkoderID, flow_num.ToString("000")); wmGood.PackageCodeClient = resultionPackage.PatchCode; + wmGood.Partnumber = resultionPackage.PartNumner; wmGood.PackageCodeOriginal = resultionPackage.originalCode; wmGood.LocationCode = wmgoods.location; diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs new file mode 100644 index 00000000..92d9850a --- /dev/null +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -0,0 +1,224 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using ZR.Model; +using ZR.Repository; +using ZR.Service.mes.wms.IService; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using Mapster; +using System.Collections.Generic; + +namespace ZR.Service.mes.wms +{ + /// + /// 出货单(物料+客户)Service业务层处理 + /// + [AppService(ServiceType = typeof(IWmOutOrderService), ServiceLifetime = LifeTime.Transient)] + public class WmOutOrderService : BaseService, IWmOutOrderService + { + /// + /// 查询出货单(物料+客户)列表 + /// + /// + /// + public PagedInfo GetList(WmOutOrderQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public WmOutOrder_material_num GetInfo(string ShipmentNum) + { + + WmOutOrder WmOutOrderList = Context.Queryable() + .Where(it => it.ShipmentNum == ShipmentNum) + .First(); + + WmOutOrder_material_num wmOutOrderItem = null; + + if (WmOutOrderList != null) + { + wmOutOrderItem = WmOutOrderList.Adapt(); + + List moList = Context.Queryable() + .Where(it => it.FkOutorderId == WmOutOrderList.ShipmentNum) + .ToList(); + + if (moList != null && moList.Count > 0) + { + List Material_stock = new List(); + + foreach (var moItem in moList) + { + WmMaterial material = Context.Queryable().Where(it => it.Id == moItem.FkMaterialId).First(); + WmMaterialQuery_stockQuantityDto2 dto2 = material.Adapt(); + dto2.requireOutNum = moItem.OuthouseNum; + Material_stock.Add(dto2); + } + wmOutOrderItem.MaterialList = Material_stock; + } + } + + + + return wmOutOrderItem; + } + + /// + /// 添加出货单(物料+客户) + /// + /// + /// + public WmOutOrder AddWmOutOrder(WmOutOrder_materialDto model) + { + string today_id = "EG" + DateTime.Now.ToString("yyMMdd"); + string last_outorder_ShipmentNum = Context.Queryable().Where(it => it.ShipmentNum.StartsWith(today_id)).Max(it => it.ShipmentNum); + if (string.IsNullOrEmpty(last_outorder_ShipmentNum)) + { + model.ShipmentNum = today_id + "001"; + + } + else + { + int flow = int.Parse(last_outorder_ShipmentNum.Substring(last_outorder_ShipmentNum.Length - 3, 3)) + 1; + model.ShipmentNum = today_id + flow.ToString("000"); + + } + WmOutOrder wmOutOrder = model.Adapt(); + + // 关联表也要新增 + if (model.MaterialList != null) + { + if (model.MaterialList.Count > 0) + { + List materialOutorderList = new List(); + + foreach (var item in model.MaterialList) + { + WmMaterialOutorder materialOutorder = new WmMaterialOutorder(); + materialOutorder.FkMaterialId = item.Id; + materialOutorder.FkOutorderId = model.ShipmentNum; + materialOutorder.OuthouseNum = item.requireOutNum; + materialOutorder.CreatedBy = model.CreatedBy; + materialOutorder.CreatedTime = DateTime.Now; + materialOutorderList.Add(materialOutorder); + }; + int result = Context.Insertable(materialOutorderList).ExecuteCommand(); + } + + } + + return Context.Insertable(wmOutOrder).ExecuteReturnEntity(); + } + + /// + /// 修改出货单(物料+客户) + /// + /// + /// + public int UpdateWmOutOrder(WmOutOrder model) + { + //var response = Update(w => w.ShipmentNum == model.ShipmentNum, it => new WmOutOrder() + //{ + // CustomNo = model.CustomNo, + // CustomName = model.CustomName, + // CustomAddress = model.CustomAddress, + // Remarks = model.Remarks, + // Type = model.Type, + // Status = model.Status, + // Year = model.Year, + // Week = model.Week, + // Date = model.Date, + // CreatedBy = model.CreatedBy, + // CreatedTime = model.CreatedTime, + // UpdatedBy = model.UpdatedBy, + // UpdatedTime = model.UpdatedTime, + //}); + //return response; + return Update(model, true); + } + + + + + /// + /// 获取用户信息 + /// + /// + public List GetCustominfo() + { + + return Context.Queryable().ToList(); + + } + + /// + /// 查询物料记录表列表 + /// + /// + /// + public (List, int) GetmaterialList(WmMaterialQueryDto parm) + { + int total = 0; + var predicate = Expressionable.Create() + .AndIF(parm.Partnumber != null, it => it.Partnumber.Contains(parm.Partnumber)) + .AndIF(parm.U8InventoryCode != null, it => it.U8InventoryCode.Contains(parm.U8InventoryCode)) + .AndIF(parm.ProductName != null, it => it.ProductName.Contains(parm.ProductName)) + .AndIF(parm.Color != null, it => it.Color.Contains(parm.Color)) + .AndIF(parm.Specification != null, it => it.Specification.Contains(parm.Specification)) + .AndIF(parm.Description != null, it => it.Description.Contains(parm.Description)) + .AndIF(parm.Search1 != null, it => it.Search1.Contains(parm.Search1) || it.Search2.Contains(parm.Search1)) + .AndIF(parm.Status > -1, it => it.Status == parm.Status); + + + List materialList = Context.Queryable() + .Where(predicate.ToExpression()).OrderByDescending(it => it.CreatedTime) + .ToPageList(parm.PageNum, parm.PageSize, ref total); + + + List material_stockQuantity_list = new List(); + + + if (materialList.Count > 0) + { + foreach (WmMaterial item in materialList) + { + + WmMaterialQuery_stockQuantityDto wmMaterialQuery_Stock_item = item.Adapt(); + + int material_num = 0; + List productioList = Context + .Queryable() + .Where(it => it.Partnumber == item.Partnumber) + .ToList(); + + if (productioList.Count > 0) + { + foreach (var product in productioList) + { + material_num = material_num + (int)product.GoodsNumLogic; + } + } + wmMaterialQuery_Stock_item.stockQuantity = material_num; + material_stockQuantity_list.Add(wmMaterialQuery_Stock_item); + + + } + } + return (material_stockQuantity_list, total); + } + + } +} \ No newline at end of file