From 3e7cd972559c3dc767a63f5c4ba363d5043a9ce1 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Fri, 22 Mar 2024 08:54:11 +0800 Subject: [PATCH 1/9] =?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=E8=B4=A7=E7=89=A9=E8=AE=B0=E5=BD=95:init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmGoodsOutProductionController.cs | 16 +-- ZR.Model/MES/wms/WmGoodsOutRecord.cs | 114 ++++++++++++++++++ .../IService/IWmGoodsOutProductionService.cs | 8 +- .../mes/wms/WmGoodsOutProductionService.cs | 12 +- 4 files changed, 132 insertions(+), 18 deletions(-) create mode 100644 ZR.Model/MES/wms/WmGoodsOutRecord.cs diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs index 0a366b0b..c2191ce2 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs @@ -33,7 +33,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("list")] - [ActionPermissionFilter(Permission = "business:wmgoodsoutproduction:list")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:list")] public IActionResult QueryWmGoodsOutProduction([FromQuery] WmGoodsOutProductionQueryDto parm) { var response = _WmGoodsOutProductionService.GetList(parm); @@ -47,12 +47,12 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - [ActionPermissionFilter(Permission = "business:wmgoodsoutproduction:query")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:query")] public IActionResult GetWmGoodsOutProduction(string Id) { var response = _WmGoodsOutProductionService.GetInfo(Id); - var info = response.Adapt(); + var info = response.Adapt(); return SUCCESS(info); } @@ -61,11 +61,11 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPost] - [ActionPermissionFilter(Permission = "business:wmgoodsoutproduction:add")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:add")] [Log(Title = "出库货物记录表", BusinessType = BusinessType.INSERT)] public IActionResult AddWmGoodsOutProduction([FromBody] WmGoodsOutProductionDto parm) { - var modal = parm.Adapt().ToCreate(HttpContext); + var modal = parm.Adapt().ToCreate(HttpContext); var response = _WmGoodsOutProductionService.AddWmGoodsOutProduction(modal); @@ -77,11 +77,11 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpPut] - [ActionPermissionFilter(Permission = "business:wmgoodsoutproduction:edit")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:edit")] [Log(Title = "出库货物记录表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmGoodsOutProduction([FromBody] WmGoodsOutProductionDto parm) { - var modal = parm.Adapt().ToUpdate(HttpContext); + var modal = parm.Adapt().ToUpdate(HttpContext); var response = _WmGoodsOutProductionService.UpdateWmGoodsOutProduction(modal); return ToResponse(response); @@ -92,7 +92,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// [HttpDelete("{ids}")] - [ActionPermissionFilter(Permission = "business:wmgoodsoutproduction:delete")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:delete")] [Log(Title = "出库货物记录表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmGoodsOutProduction(string ids) { diff --git a/ZR.Model/MES/wms/WmGoodsOutRecord.cs b/ZR.Model/MES/wms/WmGoodsOutRecord.cs new file mode 100644 index 00000000..49c51062 --- /dev/null +++ b/ZR.Model/MES/wms/WmGoodsOutRecord.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using SqlSugar; +namespace ZR.Model.MES.wms +{ + /// + /// 出库货物记录表 + /// + [SugarTable("wm_goods_out_record")] + public class WmGoodsOutRecord + { + /// + /// 雪花id + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public string Id { get; set; } + + /// + /// 成品库当前货物表主键 + /// + [SugarColumn(ColumnName = "fk_now_production_id")] + public string FkNowProductionId { get; set; } + + /// + /// 出库单号 + /// + [SugarColumn(ColumnName = "fk_out_order_id")] + public string FkOutOrderId { get; set; } + + /// + /// 箱子编号(MES) + /// + [SugarColumn(ColumnName = "package_code")] + public string PackageCode { get; set; } + + /// + /// 箱子编号(客户) + /// + [SugarColumn(ColumnName = "package_code_client")] + public string PackageCodeClient { get; set; } + + /// + /// 箱子编号(原始码) + /// + [SugarColumn(ColumnName = "package_code_original")] + public string PackageCodeOriginal { get; set; } + + /// + /// 库位编号 + /// + [SugarColumn(ColumnName = "location_code")] + public string LocationCode { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 箱子中货物数量(理论) + /// + [SugarColumn(ColumnName = "goods_num_logic")] + public int? GoodsNumLogic { get; set; } + + /// + /// 箱子中货物数量(实际) + /// + [SugarColumn(ColumnName = "goods_num_action")] + public int? GoodsNumAction { get; set; } + + /// + /// 入库时间 + /// + [SugarColumn(ColumnName = "entry_warehouse_time")] + public DateTime? EntryWarehouseTime { get; set; } + + /// + /// 出库时间 + /// + [SugarColumn(ColumnName = "out_time")] + public DateTime? OutTime { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "uPDATED_BY")] + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "uPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "cREATED_BY")] + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "cREATED_TIME")] + public DateTime? CreatedTime { get; set; } + + } +} \ No newline at end of file diff --git a/ZR.Service/mes/wms/IService/IWmGoodsOutProductionService.cs b/ZR.Service/mes/wms/IService/IWmGoodsOutProductionService.cs index 7b119d3a..e64c0d81 100644 --- a/ZR.Service/mes/wms/IService/IWmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/IService/IWmGoodsOutProductionService.cs @@ -10,15 +10,15 @@ namespace ZR.Service.mes.wms.IService /// /// 出库货物记录表service接口 /// - public interface IWmGoodsOutProductionService : IBaseService + public interface IWmGoodsOutProductionService : IBaseService { PagedInfo GetList(WmGoodsOutProductionQueryDto parm); - WmGoodsOutProduction GetInfo(string Id); + WmGoodsOutRecord GetInfo(string Id); - WmGoodsOutProduction AddWmGoodsOutProduction(WmGoodsOutProduction parm); + WmGoodsOutRecord AddWmGoodsOutProduction(WmGoodsOutRecord parm); - int UpdateWmGoodsOutProduction(WmGoodsOutProduction parm); + int UpdateWmGoodsOutProduction(WmGoodsOutRecord parm); } } diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index d062e0ee..fc7a40e6 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -17,7 +17,7 @@ namespace ZR.Service.Business /// 出库货物记录表Service业务层处理 /// [AppService(ServiceType = typeof(IWmGoodsOutProductionService), ServiceLifetime = LifeTime.Transient)] - public class WmGoodsOutProductionService : BaseService, IWmGoodsOutProductionService + public class WmGoodsOutProductionService : BaseService, IWmGoodsOutProductionService { /// /// 查询出库货物记录表列表 @@ -26,11 +26,11 @@ namespace ZR.Service.Business /// public PagedInfo GetList(WmGoodsOutProductionQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create(); var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } @@ -41,7 +41,7 @@ namespace ZR.Service.Business /// /// /// - public WmGoodsOutProduction GetInfo(string Id) + public WmGoodsOutRecord GetInfo(string Id) { var response = Queryable() .Where(x => x.Id == Id) @@ -55,7 +55,7 @@ namespace ZR.Service.Business /// /// /// - public WmGoodsOutProduction AddWmGoodsOutProduction(WmGoodsOutProduction model) + public WmGoodsOutRecord AddWmGoodsOutProduction(WmGoodsOutRecord model) { return Context.Insertable(model).ExecuteReturnEntity(); } @@ -65,7 +65,7 @@ namespace ZR.Service.Business /// /// /// - public int UpdateWmGoodsOutProduction(WmGoodsOutProduction model) + public int UpdateWmGoodsOutProduction(WmGoodsOutRecord model) { //var response = Update(w => w.Id == model.Id, it => new WmGoodsOutProduction() //{ From 6e27c0eb94e2f0353c13ad31ea153fd0bbcac116 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Fri, 22 Mar 2024 09:29:40 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E6=A8=A1=E5=9D=97=5F?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E8=B4=A7=E7=89=A9=E8=A1=A8=EF=BC=9Ainit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmGoodsNowProductionController.cs | 110 ++++++++++++++++++ .../ZrAdmin.NET-出库货物记录表-0322091020.zip | Bin 0 -> 9324 bytes ...rAdmin.NET-成品库当前货物表-0322091432.zip | Bin 0 -> 9072 bytes .../MES/wms/Dto/WmGoodsNowProductionDto.cs | 52 +++++++++ .../IService/IWmGoodsNowProductionService.cs | 25 ++++ .../mes/wms/WmGoodsNowProductionService.cs | 89 ++++++++++++++ 6 files changed, 276 insertions(+) create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-出库货物记录表-0322091020.zip create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-成品库当前货物表-0322091432.zip create mode 100644 ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs create mode 100644 ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs create mode 100644 ZR.Service/mes/wms/WmGoodsNowProductionService.cs diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs new file mode 100644 index 00000000..93baa9f6 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs @@ -0,0 +1,110 @@ +using Microsoft.AspNetCore.Mvc; + +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.Business.IBusinessService; + +//创建时间:2024-03-22 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 成品库当前货物表 + /// + [Verify] + [Route("/mes/wm/WmGoodsNowProduction")] + public class WmGoodsNowProductionController : BaseController + { + /// + /// 成品库当前货物表接口 + /// + private readonly IWmGoodsNowProductionService _WmGoodsNowProductionService; + + public WmGoodsNowProductionController(IWmGoodsNowProductionService WmGoodsNowProductionService) + { + _WmGoodsNowProductionService = WmGoodsNowProductionService; + } + + /// + /// 查询成品库当前货物表列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:list")] + public IActionResult QueryWmGoodsNowProduction([FromQuery] WmGoodsNowProductionQueryDto parm) + { + var response = _WmGoodsNowProductionService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询成品库当前货物表详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:query")] + public IActionResult GetWmGoodsNowProduction(string Id) + { + var response = _WmGoodsNowProductionService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加成品库当前货物表 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:add")] + [Log(Title = "成品库当前货物表", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmGoodsNowProduction([FromBody] WmGoodsNowProductionDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmGoodsNowProductionService.AddWmGoodsNowProduction(modal); + + return SUCCESS(response); + } + + /// + /// 更新成品库当前货物表 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:edit")] + [Log(Title = "成品库当前货物表", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmGoodsNowProduction([FromBody] WmGoodsNowProductionDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmGoodsNowProductionService.UpdateWmGoodsNowProduction(modal); + + return ToResponse(response); + } + + /// + /// 删除成品库当前货物表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:delete")] + [Log(Title = "成品库当前货物表", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmGoodsNowProduction(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _WmGoodsNowProductionService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-出库货物记录表-0322091020.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-出库货物记录表-0322091020.zip new file mode 100644 index 0000000000000000000000000000000000000000..8e473e960bf24cda2dfa4a250416be0e8fc19851 GIT binary patch literal 9324 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 N{F@^!Px_C${{>mZ(#ik; literal 0 HcmV?d00001 diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-成品库当前货物表-0322091432.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-成品库当前货物表-0322091432.zip new file mode 100644 index 0000000000000000000000000000000000000000..ced6fcf0756560e37ba4e0a6d5820f39f0b51bd8 GIT binary patch literal 9072 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 + /// 成品库当前货物表查询对象 + /// + public class WmGoodsNowProductionQueryDto : PagerInfo + { + } + + /// + /// 成品库当前货物表输入输出对象 + /// + public class WmGoodsNowProductionDto + { + [Required(ErrorMessage = "雪花id不能为空")] + public string Id { get; set; } + + [Required(ErrorMessage = "箱子编号(MES)不能为空")] + public string PackageCode { get; set; } + + [Required(ErrorMessage = "箱子编号(客户)不能为空")] + public string PackageCodeClient { get; set; } + + public string PackageCodeOriginal { get; set; } + + [Required(ErrorMessage = "库位编号不能为空")] + public string LocationCode { get; set; } + + public string Partnumber { get; set; } + + public int? GoodsNumLogic { get; set; } + + public int? GoodsNumAction { get; set; } + + public DateTime? EntryWarehouseTime { get; set; } + + public string Remark { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs new file mode 100644 index 00000000..e9b25ab9 --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs @@ -0,0 +1,25 @@ +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.Business.IBusinessService +{ + /// + /// 成品库当前货物表service接口 + /// + public interface IWmGoodsNowProductionService : IBaseService + { + PagedInfo GetList(WmGoodsNowProductionQueryDto parm); + + WmGoodsNowProduction GetInfo(string Id); + + WmGoodsNowProduction AddWmGoodsNowProduction(WmGoodsNowProduction parm); + + int UpdateWmGoodsNowProduction(WmGoodsNowProduction parm); + + } +} diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs new file mode 100644 index 00000000..e6014436 --- /dev/null +++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs @@ -0,0 +1,89 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model; +using ZR.Repository; +using ZR.Service.Business.IBusinessService; +using System.Linq; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.Business +{ + /// + /// 成品库当前货物表Service业务层处理 + /// + [AppService(ServiceType = typeof(IWmGoodsNowProductionService), ServiceLifetime = LifeTime.Transient)] + public class WmGoodsNowProductionService : BaseService, IWmGoodsNowProductionService + { + /// + /// 查询成品库当前货物表列表 + /// + /// + /// + public PagedInfo GetList(WmGoodsNowProductionQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public WmGoodsNowProduction GetInfo(string Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加成品库当前货物表 + /// + /// + /// + public WmGoodsNowProduction AddWmGoodsNowProduction(WmGoodsNowProduction model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改成品库当前货物表 + /// + /// + /// + public int UpdateWmGoodsNowProduction(WmGoodsNowProduction model) + { + //var response = Update(w => w.Id == model.Id, it => new WmGoodsNowProduction() + //{ + // PackageCode = model.PackageCode, + // PackageCodeClient = model.PackageCodeClient, + // PackageCodeOriginal = model.PackageCodeOriginal, + // LocationCode = model.LocationCode, + // Partnumber = model.Partnumber, + // GoodsNumLogic = model.GoodsNumLogic, + // GoodsNumAction = model.GoodsNumAction, + // EntryWarehouseTime = model.EntryWarehouseTime, + // Remark = model.Remark, + // UpdatedBy = model.UpdatedBy, + // UpdatedTime = model.UpdatedTime, + // CreatedBy = model.CreatedBy, + // CreatedTime = model.CreatedTime, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file From 5a51afb8a8d894544c3d11c5ca824c46eb73b242 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Fri, 22 Mar 2024 09:53:34 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=5F?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=A8=A1=E5=9D=97=EF=BC=9A=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/mes/wms/WMentryWarehousing_productService.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs index 74427e2d..bf434038 100644 --- a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs +++ b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs @@ -65,12 +65,10 @@ namespace ZR.Service.mes.wms wmGood.GoodsNumLogic = Context.Queryable() .Where(it => it.WorkOrderNum == workorder_id) .Count(); - + wmGood.GoodsNumAction= wmGood.GoodsNumLogic; wmGood.EntryWarehouseTime = DateTime.Now; wmGood.CreatedBy = createName; wmGood.CreatedTime = DateTime.Now; - - preparegoodsList.Add(wmGood); From f7eb497570b62185339dce265af29fe93e4dccd3 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Fri, 22 Mar 2024 09:53:34 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=5F?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=A8=A1=E5=9D=97=EF=BC=9A=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/mes/wms/WmGoodsNowProductionController.cs | 2 +- ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs | 2 +- ZR.Service/mes/wms/WmGoodsNowProductionService.cs | 5 +++-- ZR.Service/mes/wms/WmGoodsOutProductionService.cs | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs index 93baa9f6..b053f3cc 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs @@ -4,7 +4,7 @@ using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; -using ZR.Service.Business.IBusinessService; +using ZR.Service.mes.wms.IService; //创建时间:2024-03-22 namespace ZR.Admin.WebApi.Controllers diff --git a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs index e9b25ab9..a9027a61 100644 --- a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; -namespace ZR.Service.Business.IBusinessService +namespace ZR.Service.mes.wms.IService { /// /// 成品库当前货物表service接口 diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs index e6014436..67116052 100644 --- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs @@ -4,12 +4,13 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; using ZR.Model; using ZR.Repository; -using ZR.Service.Business.IBusinessService; + using System.Linq; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; +using ZR.Service.mes.wms.IService; -namespace ZR.Service.Business +namespace ZR.Service.mes.wms { /// /// 成品库当前货物表Service业务层处理 diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index fc7a40e6..b0a7242b 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -11,7 +11,7 @@ using ZR.Service.mes.wms.IService; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; -namespace ZR.Service.Business +namespace ZR.Service.mes.wms { /// /// 出库货物记录表Service业务层处理 From 1272af598915addcbbaf629972a787a082e449af Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Sat, 23 Mar 2024 14:31:50 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86:?= =?UTF-8?q?=E5=BA=93=E4=BD=8D=EF=BC=9Aupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/Enums/BusinessType.cs | 4 + .../mes/wms/WMlocationInfoController.cs | 4 +- .../mes/wms/WmGoodsNowProductionController.cs | 2 +- .../mes/wms/WmGoodsOutProductionController.cs | 2 +- .../mes/wms/WmMaterialController.cs | 14 +++ .../mes/wms/WmOutOrderController.cs | 39 +++++++++ .../Filters/GlobalActionMonitor.cs | 14 ++- ZR.Admin.WebApi/Program.cs | 7 +- .../MES/wms/Dto/ResultionPackageCodeDto.cs | 2 +- .../MES/wms/Dto/WmGoodsNowProductionDto.cs | 36 +++++++- .../MES/wms/Dto/WmGoodsOutProductionDto.cs | 35 ++++++++ ZR.Model/MES/wms/Dto/WmOutOrderDto.cs | 19 ++++- ZR.Model/MES/wms/WmCustom.cs | 1 + ZR.Model/MES/wms/WmInfo.cs | 10 +++ .../mes/wms/IService/IWmMaterialService.cs | 2 + .../mes/wms/IService/IWmOutOrderService.cs | 5 ++ ZR.Service/mes/wms/WMExitwarehouseService.cs | 2 +- .../wms/WMentryWarehousing_productService.cs | 14 +-- ZR.Service/mes/wms/WMlocationInfoService.cs | 2 +- .../mes/wms/WmGoodsNowProductionService.cs | 6 +- .../mes/wms/WmGoodsOutProductionService.cs | 7 +- ZR.Service/mes/wms/WmMaterialService.cs | 12 +++ ZR.Service/mes/wms/WmOutOrderService.cs | 85 +++++++++++++++++-- 23 files changed, 294 insertions(+), 30 deletions(-) diff --git a/Infrastructure/Enums/BusinessType.cs b/Infrastructure/Enums/BusinessType.cs index a4f09e1c..d8ad67c3 100644 --- a/Infrastructure/Enums/BusinessType.cs +++ b/Infrastructure/Enums/BusinessType.cs @@ -54,5 +54,9 @@ /// 清空数据 /// CLEAN = 9, + /// + /// 查询 + /// + QUERY = 10, } } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WMlocationInfoController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WMlocationInfoController.cs index f1bab376..9360fa52 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WMlocationInfoController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WMlocationInfoController.cs @@ -26,9 +26,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms /// /// [HttpGet("production_warehouse_info")] - public IActionResult Queryproduction_warehouse_info(string shelf = "", int layer = 0, int pageNum = 0, int pageSize = 0) + public IActionResult Queryproduction_warehouse_info(string shelf , int? layer , int pageNum = 0, int pageSize = 0) { - (List, int) data = wm_locationInfoService.Getwminfo_product(shelf, layer, pageNum, pageSize); + (List, int) data = wm_locationInfoService.Getwminfo_product(shelf, layer??0, pageNum, pageSize); return ToResponse(new ApiResult(200, "success", data)); } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs index b053f3cc..9cc54e90 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs @@ -95,7 +95,7 @@ namespace ZR.Admin.WebApi.Controllers [Log(Title = "成品库当前货物表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmGoodsNowProduction(string ids) { - int[] idsArr = Tools.SpitIntArrary(ids); + long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _WmGoodsNowProductionService.Delete(idsArr); diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs index c2191ce2..adfe188e 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs @@ -96,7 +96,7 @@ namespace ZR.Admin.WebApi.Controllers [Log(Title = "出库货物记录表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmGoodsOutProduction(string ids) { - int[] idsArr = Tools.SpitIntArrary(ids); + long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _WmGoodsOutProductionService.Delete(idsArr); diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs index ec6ea1d0..fddfb89f 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs @@ -107,6 +107,20 @@ namespace ZR.Admin.WebApi.Controllers } + [HttpGet("getInfoByPatchCode")] + [Log(Title = "物料记录表", BusinessType = BusinessType.QUERY)] + public IActionResult GetInfoByPatchCode(string patchCode) + { + if (string.IsNullOrEmpty(patchCode)) + { + return SUCCESS(null); + } + WmGoodsNowProduction nowProduction= _WmMaterialService.GetInfoByPatchCode(patchCode); + return SUCCESS(nowProduction); + } + + + } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs index 95c6631d..d0577566 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs @@ -6,6 +6,7 @@ using ZR.Service.mes.wms.IService; using ZR.Model.MES.wms.Dto; using ZR.Model.MES.wms; using ZR.Service.mes.wms; +using static System.Runtime.InteropServices.JavaScript.JSType; //创建时间:2024-03-18 namespace ZR.Admin.WebApi.Controllers @@ -150,6 +151,8 @@ namespace ZR.Admin.WebApi.Controllers List data = _WmOutOrderService.Queryoutoder_matrials(shipment_num); return SUCCESS(data); } + + /// /// 生成出货单的出货计划 /// @@ -166,7 +169,43 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(WmOutOrderPlanList); } + /// + /// 5 成品出库 + /// + /// + /// + /// + /// + [HttpPost("doMaterialOut")] + public IActionResult DoMaterialOut([FromBody] WmDoMaterialOut_Dto doMaterialOut) + { + if(doMaterialOut == null||doMaterialOut.ShipmentNum==null) + { + return SUCCESS(null); + } + (int,int) data= _WmOutOrderService.DoMaterialOut(doMaterialOut, HttpContext.GetName()); + + return SUCCESS(data); + } + + + /// + /// 6 出库单完成 + /// + /// + /// + [HttpGet("over_outorderplan")] + public IActionResult OverOutorderplan(string shipment_num) + { + if (shipment_num == null) + { + return SUCCESS(null); + } + + bool status = _WmOutOrderService.OverOutorderplan(shipment_num); + return SUCCESS(status); + } } } \ No newline at end of file diff --git a/ZR.Admin.WebApi/Filters/GlobalActionMonitor.cs b/ZR.Admin.WebApi/Filters/GlobalActionMonitor.cs index aa55e686..b5740f70 100644 --- a/ZR.Admin.WebApi/Filters/GlobalActionMonitor.cs +++ b/ZR.Admin.WebApi/Filters/GlobalActionMonitor.cs @@ -34,9 +34,16 @@ namespace ZR.Admin.WebApi.Filters { ApiResult response = new(); response.Code = (int)ResultCode.PARAM_ERROR; - + // todo 模型校验 + /* + 在.Net Core的时代中,框架会帮你自动验证model的state,也就是ModelState。 + 框架会为你自动注册ModelStateInvalidFilter, + 这个会运行在OnActionExecuting事件里面。 + */ var values = context.ModelState.Values; - //todo 在干啥??? + + // return next(); + foreach (var item in values) { foreach (var err in item.Errors) @@ -64,7 +71,8 @@ namespace ZR.Admin.WebApi.Filters } /// - /// OnActionExecuted是在Action中的代码执行之后运行的方法。 + /// 写入操作日志 + /// OnActionExecuted是在Action中的代码执行之后运行的方法。 /// /// public override void OnResultExecuted(ResultExecutedContext context) diff --git a/ZR.Admin.WebApi/Program.cs b/ZR.Admin.WebApi/Program.cs index c0b0a795..ddc59da6 100644 --- a/ZR.Admin.WebApi/Program.cs +++ b/ZR.Admin.WebApi/Program.cs @@ -2,6 +2,7 @@ using AspNetCoreRateLimit; using Infrastructure; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.DataProtection; +using Microsoft.AspNetCore.Mvc; using Microsoft.IdentityModel.Tokens; using System.Text.Json.Serialization; using ZR.Admin.WebApi.AutoMapperProfile; @@ -92,7 +93,11 @@ builder.Services.AddMvc(options => builder.Services.AddSwaggerConfig(); builder.Services.AddAutoMapper(typeof(AutoMapperProfile)); - +//关闭参数自动校验,我们需要返回自定义的格式 +builder.Services.Configure((o) => +{ + o.SuppressModelStateInvalidFilter = true; +}); var app = builder.Build(); InternalApp.ServiceProvider = app.Services; InternalApp.Configuration = builder.Configuration; diff --git a/ZR.Model/MES/wms/Dto/ResultionPackageCodeDto.cs b/ZR.Model/MES/wms/Dto/ResultionPackageCodeDto.cs index 2c8d30de..fc2658de 100644 --- a/ZR.Model/MES/wms/Dto/ResultionPackageCodeDto.cs +++ b/ZR.Model/MES/wms/Dto/ResultionPackageCodeDto.cs @@ -28,7 +28,7 @@ namespace ZR.Model.MES.wms.Dto /// /// 数量 /// - public string Quantity { get; set; } + public int? Quantity { get; set; } /// /// 生产时间 diff --git a/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs b/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs index c4b45140..0d99bbd1 100644 --- a/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs +++ b/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs @@ -7,6 +7,36 @@ namespace ZR.Model.MES.wms.Dto /// public class WmGoodsNowProductionQueryDto : PagerInfo { + public string Id { get; set; } + + + public string PackageCode { get; set; } + + + public string PackageCodeClient { get; set; } + + public string PackageCodeOriginal { get; set; } + + + public string LocationCode { get; set; } + + public string Partnumber { get; set; } + + public int? GoodsNumLogic { get; set; } + + public int? GoodsNumAction { get; set; } + + public DateTime? EntryWarehouseTime { get; set; } + + public string Remark { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } } /// @@ -17,15 +47,15 @@ namespace ZR.Model.MES.wms.Dto [Required(ErrorMessage = "雪花id不能为空")] public string Id { get; set; } - [Required(ErrorMessage = "箱子编号(MES)不能为空")] + public string PackageCode { get; set; } - [Required(ErrorMessage = "箱子编号(客户)不能为空")] + public string PackageCodeClient { get; set; } public string PackageCodeOriginal { get; set; } - [Required(ErrorMessage = "库位编号不能为空")] + public string LocationCode { get; set; } public string Partnumber { get; set; } diff --git a/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs b/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs index 8094957d..8701623d 100644 --- a/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs +++ b/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs @@ -7,6 +7,41 @@ namespace ZR.Model.MES.wms.Dto /// public class WmGoodsOutProductionQueryDto : PagerInfo { + + public string Id { get; set; } + + public string FkNowProductionId { get; set; } + + public string FkOutOrderId { get; set; } + + public string PackageCode { get; set; } + + + public string PackageCodeClient { get; set; } + + public string PackageCodeOriginal { get; set; } + + public string LocationCode { get; set; } + + public string Partnumber { get; set; } + + public int? GoodsNumLogic { get; set; } + + public int? GoodsNumAction { get; set; } + + public DateTime? EntryWarehouseTime { get; set; } + + public DateTime? OutTime { get; set; } + + public string Remark { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } } /// diff --git a/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs b/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs index ba220f43..981312d1 100644 --- a/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs +++ b/ZR.Model/MES/wms/Dto/WmOutOrderDto.cs @@ -68,6 +68,23 @@ namespace ZR.Model.MES.wms.Dto } + // 出货到出货记录表 + public class WmDoMaterialOut_Dto + { + /// + /// 出库单号 + /// + public string ShipmentNum { get; set; } + + /// + /// 批次号 + /// + public string[] PatchCode { get; set; } + + + } + + + - } \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmCustom.cs b/ZR.Model/MES/wms/WmCustom.cs index be91ec97..76cb175d 100644 --- a/ZR.Model/MES/wms/WmCustom.cs +++ b/ZR.Model/MES/wms/WmCustom.cs @@ -37,6 +37,7 @@ namespace ZR.Model.MES.wms /// /// 备注 /// + [SugarColumn(ColumnName = "remark")] public string Remark { get; set; } /// diff --git a/ZR.Model/MES/wms/WmInfo.cs b/ZR.Model/MES/wms/WmInfo.cs index 0164207b..33f2e16a 100644 --- a/ZR.Model/MES/wms/WmInfo.cs +++ b/ZR.Model/MES/wms/WmInfo.cs @@ -40,6 +40,16 @@ namespace ZR.Model.MES.wms /// [SugarColumn(ColumnName = "location")] public string Location { get; set; } + + + /// + /// 备注 + /// + [SugarColumn(ColumnName = "remark")] + public string Remark { get; set; } + + + /// /// 创建人 /// diff --git a/ZR.Service/mes/wms/IService/IWmMaterialService.cs b/ZR.Service/mes/wms/IService/IWmMaterialService.cs index 0f745359..7d981b76 100644 --- a/ZR.Service/mes/wms/IService/IWmMaterialService.cs +++ b/ZR.Service/mes/wms/IService/IWmMaterialService.cs @@ -20,5 +20,7 @@ namespace ZR.Service.mes.wms.IService int UpdateWmMaterial(WmMaterial parm); + WmGoodsNowProduction GetInfoByPatchCode(string patchCode); + } } diff --git a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs index fe5045fb..6e26ca1f 100644 --- a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs +++ b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs @@ -31,5 +31,10 @@ namespace ZR.Service.mes.wms.IService List Generate_outorderplan(string shipment_num); + (int, int) DoMaterialOut(WmDoMaterialOut_Dto doMaterialOut, string Createby); + + + bool OverOutorderplan(string shipment_num); + } } diff --git a/ZR.Service/mes/wms/WMExitwarehouseService.cs b/ZR.Service/mes/wms/WMExitwarehouseService.cs index 2f4d1a36..c5de5806 100644 --- a/ZR.Service/mes/wms/WMExitwarehouseService.cs +++ b/ZR.Service/mes/wms/WMExitwarehouseService.cs @@ -76,7 +76,7 @@ namespace ZR.Service.mes.wms resultionPackageCode.ProductionTime = "20" + workoderidid.Substring(0, 6); //todo 解析箱子中产品数量 string product_num = splitstr[3].Substring(4); - resultionPackageCode.Quantity = product_num; + resultionPackageCode.Quantity = int.Parse(product_num); //todo 产品描述 partnumber // ProWorklplan_v2 plan= Context.Queryable().Where(it => it.Partnumber == partnumber).First(); //if(plan != null) diff --git a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs index bf434038..ad804ecd 100644 --- a/ZR.Service/mes/wms/WMentryWarehousing_productService.cs +++ b/ZR.Service/mes/wms/WMentryWarehousing_productService.cs @@ -62,9 +62,11 @@ namespace ZR.Service.mes.wms string workorder_id = resultionPackage.WorkoderID; - wmGood.GoodsNumLogic = Context.Queryable() - .Where(it => it.WorkOrderNum == workorder_id) - .Count(); + //wmGood.GoodsNumLogic = Context.Queryable() + // .Where(it => it.WorkOrderNum == workorder_id) + // .Count(); + + wmGood.GoodsNumLogic = (resultionPackage.Quantity)??0; wmGood.GoodsNumAction= wmGood.GoodsNumLogic; wmGood.EntryWarehouseTime = DateTime.Now; wmGood.CreatedBy = createName; @@ -217,7 +219,7 @@ namespace ZR.Service.mes.wms resultionPackageCode.ProductionTime="20"+ workoderidid.Substring(0,6); //todo 解析箱子中产品数量 string product_num = splitstr[3].Substring(4); - resultionPackageCode.Quantity = product_num; + resultionPackageCode.Quantity = int.Parse(product_num); //todo 产品描述 partnumber // ProWorklplan_v2 plan= Context.Queryable().Where(it => it.Partnumber == partnumber).First(); //if(plan != null) @@ -228,7 +230,9 @@ namespace ZR.Service.mes.wms // { // resultionPackageCode.ProductionDescribe = "生产计划无此零件号"; // } - ProWorkorder_v2 workorder= Context.Queryable().Where(it => it.FinishedPartNumber == partnumber).First(); + ProWorkorder_v2 workorder= Context.Queryable() + .Where(it => it.FinishedPartNumber == partnumber) + .First(); if (workorder != null) { diff --git a/ZR.Service/mes/wms/WMlocationInfoService.cs b/ZR.Service/mes/wms/WMlocationInfoService.cs index fa759a8b..dfed8e5d 100644 --- a/ZR.Service/mes/wms/WMlocationInfoService.cs +++ b/ZR.Service/mes/wms/WMlocationInfoService.cs @@ -40,7 +40,7 @@ namespace ZR.Service.mes.wms { int totalNum = 0; var predicate = Expressionable.Create() - .AndIF(!string.IsNullOrEmpty(shelf), it => it.Shelf == shelf) + .AndIF(!string.IsNullOrEmpty(shelf), it => it.Shelf.Contains(shelf)) .AndIF(layer > 0, it => it.Layer == layer) .ToExpression(); List product_wminfoList = Context.Queryable().Where(predicate).ToPageList(pageNum, pageSize, ref totalNum); diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs index 67116052..70dfaeec 100644 --- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs @@ -25,7 +25,11 @@ namespace ZR.Service.mes.wms /// public PagedInfo GetList(WmGoodsNowProductionQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber.Contains(parm.Partnumber)) + .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient), it => it.PackageCodeClient.Contains(parm.PackageCodeClient)) + .AndIF(!string.IsNullOrEmpty(parm.LocationCode), it => it.LocationCode.Contains(parm.LocationCode)) + ; var response = Queryable() .Where(predicate.ToExpression()) diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index b0a7242b..78ada568 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -26,7 +26,12 @@ namespace ZR.Service.mes.wms /// public PagedInfo GetList(WmGoodsOutProductionQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Partnumber),it=>it.Partnumber.Contains(parm.Partnumber)) + .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient),it=>it.PackageCodeClient.Contains(parm.PackageCodeClient)) + .AndIF(!string.IsNullOrEmpty(parm.LocationCode),it=>it.LocationCode.Contains(parm.LocationCode)) + .AndIF(!string.IsNullOrEmpty(parm.FkOutOrderId),it=>it.FkOutOrderId.Contains(parm.FkOutOrderId)) + ; var response = Queryable() .Where(predicate.ToExpression()) diff --git a/ZR.Service/mes/wms/WmMaterialService.cs b/ZR.Service/mes/wms/WmMaterialService.cs index e844ea36..0ccc5caf 100644 --- a/ZR.Service/mes/wms/WmMaterialService.cs +++ b/ZR.Service/mes/wms/WmMaterialService.cs @@ -104,5 +104,17 @@ namespace ZR.Service.mes.wms return Update(model, true); } + /// + /// 通过外箱标签解析后得到的批次号,获取货物仓库内的货物信息 + /// + /// + /// + /// + public WmGoodsNowProduction GetInfoByPatchCode(string patchCode) + { + return Context.Queryable() + .Where(it => it.PackageCodeClient == patchCode).First(); + + } } } \ No newline at end of file diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index c59db9fe..fdda9514 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -65,9 +65,13 @@ namespace ZR.Service.mes.wms 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); + if(material != null) + { + WmMaterialQuery_stockQuantityDto2 dto2 = material.Adapt(); + dto2.requireOutNum = moItem.OuthouseNum; + Material_stock.Add(dto2); + } + } wmOutOrderItem.MaterialList = Material_stock; } @@ -347,10 +351,10 @@ namespace ZR.Service.mes.wms List wmGoodsNowsList = Context.Queryable().Where(it => it.Partnumber == partnumber) .OrderByDescending(it => it.PackageCodeClient).ToList(); - foreach(var witem in wmGoodsNowsList) + foreach (var witem in wmGoodsNowsList) { int accumulation_num = 0; - if (require_num>= accumulation_num) + if (require_num >= accumulation_num) { WmOutOrderPlan orderPlan = new WmOutOrderPlan(); orderPlan.FkOutOrderId = shipment_num; @@ -358,13 +362,13 @@ namespace ZR.Service.mes.wms orderPlan.Patchcode = witem.PackageCodeClient; orderPlan.MaterialCode = witem.Partnumber; orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum =int.Parse( witem.PackageCodeClient.Split("_")[1] ); + orderPlan.PackageNum = int.Parse(witem.PackageCodeClient.Split("_")[1]); orderPlan.RequireNum = require_num; orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); wmOutOrderPlans.Add(orderPlan); - accumulation_num = accumulation_num+ witem.GoodsNumLogic??0; - + accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; + } else { //超了 @@ -391,6 +395,71 @@ namespace ZR.Service.mes.wms } + /// + /// 根据出库单号与货物批次号,向出库记录添加数据,并且成品库表数据删除 + /// + /// + /// + public (int,int) DoMaterialOut(WmDoMaterialOut_Dto doMaterialOut, string Createby) + { + int sum_delete = 0; + int sum_insert = 0; + string shipnumber = doMaterialOut.ShipmentNum; + if(doMaterialOut.PatchCode!=null&& doMaterialOut.PatchCode.Length > 0) + { + foreach(var item in doMaterialOut.PatchCode) + { + UseTran2(() => + { + WmGoodsOutRecord record = new WmGoodsOutRecord(); + record.Id = SnowFlakeSingle.Instance.NextId().ToString(); + WmGoodsNowProduction nowProduction = Context.Queryable() + .Where(it => it.PackageCodeClient == item).First(); + + if (nowProduction != null) + { + record.FkNowProductionId = nowProduction.Id; + record.PackageCodeClient= nowProduction.PackageCodeClient; + record.PackageCode = nowProduction.PackageCode; + record.PackageCodeOriginal = nowProduction.PackageCodeOriginal; + record.LocationCode = nowProduction.LocationCode; + record.Partnumber = nowProduction.Partnumber; + record.GoodsNumLogic = nowProduction.GoodsNumLogic; + record.GoodsNumAction = nowProduction.GoodsNumAction; + record.EntryWarehouseTime = nowProduction.EntryWarehouseTime; + record.OutTime = DateTime.Now; + record.CreatedTime = DateTime.Now; + record.CreatedBy = Createby; + record.FkOutOrderId = shipnumber; + sum_insert= Context.Insertable(record).ExecuteCommand(); + sum_delete+= Context.Deleteable() + .Where(it => it.PackageCodeClient == item) + .ExecuteCommand(); + } + + + }); + + } + } + return (sum_delete, sum_insert); + } + + public bool OverOutorderplan(string shipment_num) + { + int reult= Context.Updateable().Where(it=>it.ShipmentNum==shipment_num) + .SetColumns(it => it.Type == 2) + .ExecuteCommand(); + if(reult>0) + { + return true; + } + else + { + return false; + } + } + /// /// 传入批次号 解析出时间 BNW240318007_105 /// From bc500a125ac48116d74a593e90452207f8ac0af2 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Sat, 23 Mar 2024 15:19:58 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=5F?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=EF=BC=9A=E5=87=BA=E5=BA=93=E8=AE=A1?= =?UTF-8?q?=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/mes/wms/WmOutOrderService.cs | 74 +++++++++---------------- 1 file changed, 27 insertions(+), 47 deletions(-) diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index fdda9514..40ef0bf3 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -295,62 +295,24 @@ namespace ZR.Service.mes.wms string partnumber = material.Partnumber; - /*此物料下的最早列表 - List wmGoodsNows = Context.Queryable().Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.EntryWarehouseTime).ToList(); - if (wmGoodsNows != null && wmGoodsNows.Count > 0) - { - - foreach (var witem in wmGoodsNows) - { - if (require_num >= witem.GoodsNumLogic) - { // 取出同一批次下列表 - string patchcode = witem.PackageCodeClient.Split("_")[0]; - List Samebatch_wmGoodsNows = Context.Queryable() - .Where(it => it.Partnumber == partnumber) - .Where(it => it.PackageCodeClient.StartsWith(patchcode)).ToList(); - 出货计划 - WmOutOrderPlan orderPlan = new WmOutOrderPlan(); - - orderPlan.FkOutOrderId = shipment_num; - - orderPlan.Patchcode = witem.PackageCodeClient; - orderPlan.MaterialCode = witem.Partnumber; - orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum = 1; - orderPlan.RequireNum = require_num; - orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); + // 该物料下 ,现有货物列表 + List wmGoodsNowsList = Context.Queryable() + .Where(it => it.Partnumber == partnumber) + .OrderByDescending(it => it.PackageCodeClient) + .ToList(); - wmOutOrderPlans.Add(orderPlan); + + - } - else - { - 一个箱子就可以做一个出货计划 - WmOutOrderPlan orderPlan = new WmOutOrderPlan(); - - orderPlan.FkOutOrderId = shipment_num; - - orderPlan.Patchcode = witem.PackageCodeClient; - orderPlan.MaterialCode = witem.Partnumber; - orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum = 1; - orderPlan.RequireNum = require_num; - orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); - } - } - }*/ - List wmGoodsNowsList = Context.Queryable().Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.PackageCodeClient).ToList(); foreach (var witem in wmGoodsNowsList) { int accumulation_num = 0; @@ -370,8 +332,26 @@ namespace ZR.Service.mes.wms accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; } - else - { //超了 + else + { + // 超过要用零头箱 + if(require_num- accumulation_num<= witem.GoodsNumLogic) + { + WmOutOrderPlan orderPlan = new WmOutOrderPlan(); + orderPlan.FkOutOrderId = shipment_num; + + orderPlan.Patchcode = witem.PackageCodeClient; + orderPlan.MaterialCode = witem.Partnumber; + orderPlan.WarehouseCode = witem.LocationCode; + orderPlan.PackageNum = int.Parse(witem.PackageCodeClient.Split("_")[1]); + orderPlan.RequireNum = require_num; + orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); + wmOutOrderPlans.Add(orderPlan); + + accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; + + } + break; } } From 4bf469a5c4f3060456071ef3cc7ed70ca25c8a65 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 26 Mar 2024 14:19:01 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9A=E5=87=BA=E8=B4=A7=E8=AE=A1=E5=88=92=EF=BC=9Aupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmOutOrderController.cs | 3 +- ZR.Admin.WebApi/appsettings.development.json | 6 +- ZR.Model/MES/wms/WmOutOrderPlan.cs | 5 + ZR.Service/mes/wms/WmOutOrderService.cs | 118 ++++++++++-------- 4 files changed, 75 insertions(+), 57 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs index d0577566..bc903795 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs @@ -165,7 +165,8 @@ namespace ZR.Admin.WebApi.Controllers { return SUCCESS(null); } - List WmOutOrderPlanList= _WmOutOrderService.Generate_outorderplan(shipment_num); + // TODO 1.返回值修改为 对象 返回是否可生成计划,计划结果:{canPlan:true,resultList:[]} + List WmOutOrderPlanList = _WmOutOrderService.Generate_outorderplan(shipment_num); return SUCCESS(WmOutOrderPlanList); } diff --git a/ZR.Admin.WebApi/appsettings.development.json b/ZR.Admin.WebApi/appsettings.development.json index cb3bc60b..b2849816 100644 --- a/ZR.Admin.WebApi/appsettings.development.json +++ b/ZR.Admin.WebApi/appsettings.development.json @@ -11,12 +11,14 @@ { //本地连接服务器 - // "Conn": "Data Source=localhost;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;", + // 干巷服务器 + "Conn": "Data Source=192.168.60.251;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", //内网连接服务器 - "Conn": "Data Source=192.168.0.36;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", + //"Conn": "Data Source=192.168.0.36;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", "Type": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4, "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true diff --git a/ZR.Model/MES/wms/WmOutOrderPlan.cs b/ZR.Model/MES/wms/WmOutOrderPlan.cs index a82e0b7b..d79c7522 100644 --- a/ZR.Model/MES/wms/WmOutOrderPlan.cs +++ b/ZR.Model/MES/wms/WmOutOrderPlan.cs @@ -27,6 +27,11 @@ namespace ZR.Model.MES.wms /// [SugarColumn(ColumnName = "patchcode")] public string Patchcode { get; set; } + + /// + /// 短批次号 + /// + public string Patchcode_short { get; set; } /// /// 物料号 /// diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index 40ef0bf3..2bebd353 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -10,6 +10,9 @@ using Mapster; using System.Collections.Generic; using System.Data; using JinianNet.JNTemplate.Dynamic; +using System.Linq; +using System.Security.Cryptography.Xml; +using System.Collections; namespace ZR.Service.mes.wms { @@ -65,13 +68,13 @@ namespace ZR.Service.mes.wms foreach (var moItem in moList) { WmMaterial material = Context.Queryable().Where(it => it.Id == moItem.FkMaterialId).First(); - if(material != null) + if (material != null) { WmMaterialQuery_stockQuantityDto2 dto2 = material.Adapt(); dto2.requireOutNum = moItem.OuthouseNum; Material_stock.Add(dto2); } - + } wmOutOrderItem.MaterialList = Material_stock; } @@ -248,19 +251,17 @@ namespace ZR.Service.mes.wms ProductName = m.ProductName, //需求零件数 RequireOutNum = mo.OuthouseNum - - }).ToList(); if (stockList != null && stockList.Count > 0) { foreach (var stock in stockList) { //现有箱数 - stock.PackageNum = Context.Queryable().Where(it => it.Partnumber == shipment_num).Count(); + stock.PackageNum = Context.Queryable().Where(it => it.Partnumber == stock.Partnumber).Count(); //现有零件数 - int? num = Context.Queryable().Where(it => it.Partnumber == shipment_num).Sum(it => it.GoodsNumLogic); - stock.PackageNum = num ?? 0; + int? num = Context.Queryable().Where(it => it.Partnumber == stock.Partnumber).Sum(it => it.GoodsNumLogic); + stock.ItemNum = num ?? 0; } } @@ -280,11 +281,15 @@ namespace ZR.Service.mes.wms public List Generate_outorderplan(string shipment_num) { - List wmOutOrderPlans = new List(); + List wmOutOrderPlans = new List(); // 获取当前出货单下的物料信息 List materialQuery_Prints = this.Queryoutoder_matrials(shipment_num); if (materialQuery_Prints != null && materialQuery_Prints.Count > 0) { + // TODO 1.判断能否完整出货 + + // TODO 2.生成出货单 + foreach (var material in materialQuery_Prints) { //todo 判断要出多少货 按照最早工单和批次号 进行出货(重要算法) @@ -293,24 +298,18 @@ namespace ZR.Service.mes.wms // 物料号 string partnumber = material.Partnumber; + // 原始编号 + // 该物料下 ,现有货物列表 + + List wmGoodsNowsList = Context.Queryable() + .Where(it => it.Partnumber == partnumber) + .OrderByDescending(it => it.PackageCodeClient) + .ToList(); + // TODO 1.根据入库时间,进行排序 - // 该物料下 ,现有货物列表 - List wmGoodsNowsList = Context.Queryable() - .Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.PackageCodeClient) - .ToList(); - - - - - - - - - - - + // TODO 2.根据排序结果,检查数量是否达标(require_num<=accumulation_num)向最终结果数组进行添加 + List< WmGoodsNowProduction > planList = new List(); foreach (var witem in wmGoodsNowsList) @@ -328,27 +327,27 @@ namespace ZR.Service.mes.wms orderPlan.RequireNum = require_num; orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); wmOutOrderPlans.Add(orderPlan); - - accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; - + // 实际值计算 + accumulation_num = accumulation_num + witem.GoodsNumAction ?? 0; } - else - { + else + { // 超过要用零头箱 - if(require_num- accumulation_num<= witem.GoodsNumLogic) + if (require_num - accumulation_num <= witem.GoodsNumAction) { WmOutOrderPlan orderPlan = new WmOutOrderPlan(); orderPlan.FkOutOrderId = shipment_num; orderPlan.Patchcode = witem.PackageCodeClient; + orderPlan.Patchcode_short = witem.PackageCodeClient.Split("_")[0]; orderPlan.MaterialCode = witem.Partnumber; orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum = int.Parse(witem.PackageCodeClient.Split("_")[1]); - orderPlan.RequireNum = require_num; + orderPlan.PackageNum = 1; //短批次需求累加 + orderPlan.RequireNum = require_num; //总需求 orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); wmOutOrderPlans.Add(orderPlan); - accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; + accumulation_num = accumulation_num + witem.GoodsNumAction ?? 0; } @@ -356,18 +355,29 @@ namespace ZR.Service.mes.wms } } - - - + // todo 把该物料下的箱子 按照短批次号 进行分组聚合 + + if (wmOutOrderPlans.Count > 0) + { + var item = wmOutOrderPlans.GroupBy(it => it.Patchcode_short).Select(g => new + { + FkOutOrderId = g.Max(p => p.FkOutOrderId), + Patchcode = g.Max(p => p.Patchcode), + Patchcode_short = g.Max(p => p.Patchcode_short), + WarehouseCode = g.Max(p => p.WarehouseCode), + PackageNum = g.Count(), + RequireNum = g.Max(p => p.RequireNum), + Patchtime = g.Max(p => p.Patchtime), + }); + wmOutOrderPlans.Clear(); + wmOutOrderPlans.Add(item.Adapt()); + } } - - - } foreach (var witem in wmOutOrderPlans) { - witem.Outorder = wmOutOrderPlans.IndexOf(witem); + witem.Outorder = wmOutOrderPlans.IndexOf(witem) + 1; } @@ -380,14 +390,14 @@ namespace ZR.Service.mes.wms /// /// /// - public (int,int) DoMaterialOut(WmDoMaterialOut_Dto doMaterialOut, string Createby) + public (int, int) DoMaterialOut(WmDoMaterialOut_Dto doMaterialOut, string Createby) { int sum_delete = 0; int sum_insert = 0; string shipnumber = doMaterialOut.ShipmentNum; - if(doMaterialOut.PatchCode!=null&& doMaterialOut.PatchCode.Length > 0) + if (doMaterialOut.PatchCode != null && doMaterialOut.PatchCode.Length > 0) { - foreach(var item in doMaterialOut.PatchCode) + foreach (var item in doMaterialOut.PatchCode) { UseTran2(() => { @@ -399,7 +409,7 @@ namespace ZR.Service.mes.wms if (nowProduction != null) { record.FkNowProductionId = nowProduction.Id; - record.PackageCodeClient= nowProduction.PackageCodeClient; + record.PackageCodeClient = nowProduction.PackageCodeClient; record.PackageCode = nowProduction.PackageCode; record.PackageCodeOriginal = nowProduction.PackageCodeOriginal; record.LocationCode = nowProduction.LocationCode; @@ -411,26 +421,26 @@ namespace ZR.Service.mes.wms record.CreatedTime = DateTime.Now; record.CreatedBy = Createby; record.FkOutOrderId = shipnumber; - sum_insert= Context.Insertable(record).ExecuteCommand(); - sum_delete+= Context.Deleteable() + sum_insert = Context.Insertable(record).ExecuteCommand(); + sum_delete += Context.Deleteable() .Where(it => it.PackageCodeClient == item) .ExecuteCommand(); } - - + + }); - + } } return (sum_delete, sum_insert); } - public bool OverOutorderplan(string shipment_num) + public bool OverOutorderplan(string shipment_num) { - int reult= Context.Updateable().Where(it=>it.ShipmentNum==shipment_num) - .SetColumns(it => it.Type == 2) - .ExecuteCommand(); - if(reult>0) + int reult = Context.Updateable().Where(it => it.ShipmentNum == shipment_num) + .SetColumns(it => it.Type == 2) + .ExecuteCommand(); + if (reult > 0) { return true; } From 6386aef7cf286149224902d87fce927701fa7910 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 26 Mar 2024 15:03:49 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9A=E5=87=BA=E8=B4=A7=E8=AE=A1=E5=88=92=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/appsettings.development.json | 6 +++--- .../ZrAdmin.NET-盘点记录-0326150209.zip | Bin 0 -> 8550 bytes ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs | 2 +- ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs | 8 ++++---- .../mes/wms/WmGoodsNowProductionService.cs | 4 ++++ .../mes/wms/WmGoodsOutProductionService.cs | 4 ++++ 6 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-盘点记录-0326150209.zip diff --git a/ZR.Admin.WebApi/appsettings.development.json b/ZR.Admin.WebApi/appsettings.development.json index b2849816..62b9f040 100644 --- a/ZR.Admin.WebApi/appsettings.development.json +++ b/ZR.Admin.WebApi/appsettings.development.json @@ -14,9 +14,9 @@ // "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;", + "Conn": "Data Source=47.116.122.230;Port=3307;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", // 干巷服务器 - "Conn": "Data Source=192.168.60.251;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", + // "Conn": "Data Source=192.168.60.251;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", //内网连接服务器 //"Conn": "Data Source=192.168.0.36;Port=3306;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", "Type": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4, @@ -28,7 +28,7 @@ //代码生成数据库配置 "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 - "Conn": "Data Source=192.168.0.36;Port=3306;User ID=root;Password=123456;Initial Catalog={dbName};", + "Conn": "Data Source=47.116.122.230;Port=3307;User ID=root;Password=123456;Initial Catalog={dbName};", "DbType": 0, "IsAutoCloseConnection": true, "DbName": "ZrAdmin" //代码生成默认连接数据库 diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-盘点记录-0326150209.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-盘点记录-0326150209.zip new file mode 100644 index 0000000000000000000000000000000000000000..f51977ea830d38ed611c3254097e0069cf2727a3 GIT binary patch literal 8550 zcmbVyWmFyOwk*Nj-3jil!QI^#wr~gwx8P22g1fs1cS3M?cMTp0?w5Pc+b?(LopZ+- zum5%T=$d1E)%Eq9Rjn)s0f`9)1_lcz?(U(@WMj?K@eT}(9vTb`{q3rggAKD5NX*jA z@dNlPn-~7U|sNF zU^H)J>#8!TnK`;znV2z)x;RrY4Z5JaRH`uxqluYR`Lae* z)`(ug+YHa0onr?tYd%o@d@{r0454e)&EM-JAQ7I0xSNX=F|L=-3s6ai!P;lDbgElgJNgc{f@Q z1wc&qD&d0LcMa^3z5NcKwNWcibckJqsX!s7HOXIuI%YoO-VjM87m7#DUBrXl({r0G z6-r`e2d!ifbJJzsizkG>+5@>FeIjQT5_6h*RDo@z^Zwns1@hjOdjfi1L-i&XZacHS zm3RAGnI)WdPl3G5R=QxUU<{c`U4nVsJVO>pK33`*i_2)xGlGC%e%_eF2zY~}-%f41 zEbT#^4KmZOyD3!KfML-}X|o+E{S8QPSyfd~tCdV)La}A5@zS&%P5#9keK$I_kLH2# zuMv0t=o8qZmK&d|E6ekfxr6hO^X`1P6SuXy^fg5-+8ZsKHe)`-xv09P%K*TXSR&m~ zsSAV#-A)U}cAkv8o&MsM)7=OD2j0a;((FpPW}AqnV<9$=ahB;+=L}_K)7FbGSey&M zNfYbL6%p-CFPhy2n1d%*9VB-IWOf}P`>VX@%qKzIPM(*I=rF20GAf!50i7}G(J{M~*6EJkAI-zCzT5%0L`>6M8GNMWN=~}SjFqT40;dpm?M-a<`>$ORY|8p)mf&Xme~m+B=6tOLeDE- z6qgcIuxk&_a<@lbUYy#WQXTKp-NKea?&$>*iH(~?kkdUMs&fI>R;zpjNJ#>xpfeM7SJK%g=*12@_l?NS>fHV9@?)A@8T6J3)O`Amu#>j*(Ms1bn#;3Lsw!@ z?0ieRybYgUSg=z-(R$61GzL`+A^GnwcvKS$YYtA@GrK}YkJU^ihJskDnoNNhDM{V9 zpPy9Bjd1005hX&53{pU$kt=5UZCzU4=e1_KaxXrTnAP}%@4^wK3CqE+Xewj5>^XtI ztat)o!>zTVm!TPfL*mL``S#-Va3lR)hd8Jz1}^!E)EX>2uicoppUZ4*=d!!b)|ofX z@MmlM)t6J=uY=6IIF46zA!xUWT~h41*Yo^>BQn}>P_?iS*nKF_HWJxe7Ln>cFQ*K7 zqm>v&A?Be-i4t^LrPq>U>)b*xrl_wWK`CZ?(@tU*TrzUp^-2J%g$3 z9jBIb`e6-WM7^gIeqntMK1EDZ(8Em*d?jgB;exsudw0e)A z>*6k|y5QWrPOWMu{l2x1E-A_(oCw+3U3A&mBDDm(Fu0xq9orwg@Er}ZLC;=3+J5tL zusd8VX$Q`*kay+!noQP${?OU*HUqGo`3et}3qfRBt$#JnTWh1sw#IO10X3Ch7-M?!IAv<1}d*?m+LSt3SqH!Q1BZ9}Oi(C9F!a#ja zhiki0S37}>SGKR!Oq8K0QIElvlu14>vn*pH53L=sKnK!NZBS=x;oAW&?xtk+bSFzan&Sl3#|1C*23i1XaP3ow0-FuICQ)yuAOjrW0_vPoU z2fM$^-LRHxO#Q8`T6>c`)j#E~U}tJ(!z}J>_pkK*cKJ=%nepAS5Ui*nKM@|0KLwnv zg-d891kCG}2Q+cuEtqi+#hKE|9ZH~*2t#%U(p*_zYm00YxsvqQtR2CN=JO)Tr!cu6JzDBoz_f*3L3NFiQfNUiT><^$t2c-4{ zz33E~`XuYbQsMc4{hgOtej*)Qa4@h0*gtsr2Rr|A>wV*;GU4>&j4%dg*i z>+6y#$Kv)Rh|fB=Zd;Uml5Ijni2%?EtnSMC+CbR&-~f|SOn@d=UD}x6=HQRZ&Dy;K zK8|CpSEOqKyT^$SUFnQ3PQDB&uR{0djrqcAL7V|U9IKdylxiwuf@oV1V)BBvWRVc(2_KW(Cs5~+JIDOmOr&- zHjd9TE1h#N+v-F{78MYdUym-_slw=D}?U1 z?~9RMSAMYn?4m<1YB0s(CRjbbX`eO3$buG1F)da)OmZ+?$)_)CJ_KZf+@!r)*EY>h z|M>0-w0YSd~2nQ{~Bf7e$TPiP7QHwiajitA-B?>LhA|{rI$Wv z7>gPkfw6`zgBTrqTq%?jp&*YSA=Ch z;F)Wj?ht1QP{cb=TYb2jm&Kn8NDqs->iBHG+{G{Ao<&yLMl;u55pJ?6@?iP&HjA zCWH0$_wfcorEm_RK>t`wvJ1wfO@j90QFKaB#360IQg^7G$n420{;HD%(ksg2!+w9v z^E)GqodjQY)e%Nj^Xvr5JJq@bvki@vptfhrV3=pFOT zKsjYD_U}c#3^u-g*iBuk5jQC&cuz!s=jh9TO!EC(uZzb0e@D%~IC8Zzb94I5(r*DU zxw@Fm>4Kav2hd*5=w3sC^k$hXZq!4I4#=7CFmVZLm^}WABzg%Qt@>-A`XzLx`@h^OOA_5MxA@NXGNod>y0B-y1YD5i(biJG} zRa#h0rD;W?@-FC~0gWFg!%FC)RqWj1Ss5_o-$x7f3B3r^s7XT&Ss;ylRL8pc_0C&! zP<{%uSoaP4g=AKv7#dW9NY=J?V>)v#n{6vv4^WLmkPlMJSm5Fo(atx>C5wG=?W2bU69Y`($~N*D@=XJE}M=nfwp|5wd)jA9RPGGEV>?Qc$WMY;Yf4dN^WVA8u#{=wWk3n&9-KZ zLz?6a{o!R+Vxd^z<=xWA$|E*y&(N<#3W2#@UK3p|wL3sq)egQ#T$iURG{b`KRNqE1@x<)2i$v*nx`QrEp75{wjrca z$nMJthS_1Ag8^>T6T*+|OdOYP$n3L;S>f8U-S`NJ*p8ezzBVaAy*_M7JSvS%bsL>FIep2PS$Mi`7++qNLzf_P6xFuh z^Z7Z<%&cpWzNfxazq!l|Mr;sZrKdj1fqAo9v?q&sf@h$_y8p$;`N!ZTV*xDJV2hXi zc|4e^4$UAte_BCX43izd{~U7!b!trsYSl6@ZJPYRFS{M}ncNE_RBnkUG~Lgrs0$9( z%Td9->KvmXA|y$d+tLcs6@lfaim4DBUg_B)NRAw9;zr$`@CJeyHv523TBcAxjO(Xe z9p6|ElonT?2(F$V-IqmJXPNbg=5UF}%`3AksDk&I^Lg|OfrS&>?sDwvDd@_$QmN0% z-Y3f(%~dApMtup^t@RH5_DHxeRaB9z!V!zsW}FOxW>+$BBRVhp^$J9i5ziDK)nsd# z%akw<_%tP=`jP-iT5Kh@;F^R)a&i6P^AyYQK<#bvr_mZ+5XvfmtxTL1^G-#<4vZ&f z7*xT(=8T|2ywOZRHXIPB-)4YvJl-@Iq!h$4Bs(AOisUWw7Q+hpZCQ)?-iQnU@~|J!`FnGip+%y zq`5VwR{(T!C#<2eHLl4>KV!1101AZQ1V>bbn@1< zm~<9gb2mEG;P#AkYgaA~@CP+y`ShygBCDbAhwHLaFXmJ*!WXFsq%r8gWGR#mk9}o9 zuT9hpw`SF6u}G7R$Tvm^M_M!=<-kQyRhe>c9auLJ^HZU2cBHm3W<#L;CC5b$njW(&WA06ww#)P4v)h3!FTmAiu72?3X+6dLX*sQ<18UMm_r>1X4#{)2QjqJGj8bq7 z5^O5R-M-B24Sp5^%tCU`8GHlWMCmkmK;H)f`lhE~45Kp3BrX8m)MxbXP3Cl_&Qk4P z&iaLqKhMf5CD1|Mcwf<`*f35x!Da}SyBTPX`PLt0>q4vqrWboOb)pH_e1N9n$>K zCQMiY1mIn_V&-Sye^lP@!XDKrjop5+G4EnbAwx};iUs}@xqp&8heN9#mGxW2JoZF3}Mzs_Ss4i znDA;0vfcf$E(Kf|L-8N%i;~!@u9%U>;3L(Cr+O%>a{*AzT@qy&j-6Efn7Lzx_`N!+ zm2qFcpvjn0XpJ(!7VTbP(K+HM4^?rnrt7B0ae^@o=0qVHcQUC38A$IR5=mO^AM`Tl zL7zlc1w_G?tC362IE8;W1}-cu?ozt%tZ`)^JJa}+F2TUPJGm>OLrKdu+exb+%uv9i zoN0d%cO9j|IAm(m+O0k@2oli|U`RK01KJLrA?$c>*tTb-NuY*ocdmWfn6MZXsLX_S zA5HoR)y#qCp3v^M79igO&S?B9A7genER;dd+G@>5Sp4P8&itMd6S|(t-~llLh1bAz zy^AjBwmdFeG!vXIWUa7hnXU$D7Kl%}s92Uuna~qXd6QZSaH$q))EKgiR9B}LZfBIq zWQl+}RTC1qSk@81$aoz#1bmA=_^$I#rPdT8N_P=+x1QD ziO`Zkro#;~epG*l*my8)%L$(iNsGM|7bPcg=1w<%(&OE5U>u4ECZve$5xeHRjP=OF z7G;>=!vz8Qm92OI?sM!oTp6unw0xwmszuPgYxQcH1*? zhx|NREMmNB!RlWXO2Hw81u4EU^3n~S(>z)8v%6Nrb6zB;q@r1$IFD zptiUsdB({2EWqT};L)(!Qxz)n%E_M73-G2V5WlR^zZ9diDJ^hocJA8a)#t-0T_4zp z1jk1ntm?2%)kJ>PN}&C0UMOn{lPoQ)`h9OY&{w zRgpfOHta^KEy%vVnN2FE;8nz}dO*aP(BD`km^uD%BSCehI7tyNdEf!ZDN!>?M6ER9 zct7di0VDl$x`}|EUZ8|K+kPRwrN6gehVwb%)Us>QVaMwH)n}Cp1?@@*iE_uxC+_?$ zseA{H3HI-U>9;xme;ogBO#SEce`cM(A3lAv4*t{R^H0=2W1QcpmQepd{r?Vi{;c$; zgZ#Ua7TiB7{Re*XpO}BTpT9AGz9qtMYw}Ob|J4iq6Z22k>o=y{+xY*l*7-m4!2YcB zr|I*%PCfEJ>ilId{Cf-NPsl$#ir public class WmGoodsNowProductionDto { - [Required(ErrorMessage = "雪花id不能为空")] + public string Id { get; set; } diff --git a/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs b/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs index 8701623d..a12160a8 100644 --- a/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs +++ b/ZR.Model/MES/wms/Dto/WmGoodsOutProductionDto.cs @@ -49,22 +49,22 @@ namespace ZR.Model.MES.wms.Dto /// public class WmGoodsOutProductionDto { - [Required(ErrorMessage = "雪花id不能为空")] + public string Id { get; set; } public string FkNowProductionId { get; set; } public string FkOutOrderId { get; set; } - [Required(ErrorMessage = "箱子编号(MES)不能为空")] + public string PackageCode { get; set; } - [Required(ErrorMessage = "箱子编号(客户)不能为空")] + public string PackageCodeClient { get; set; } public string PackageCodeOriginal { get; set; } - [Required(ErrorMessage = "库位编号不能为空")] + public string LocationCode { get; set; } public string Partnumber { get; set; } diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs index 70dfaeec..0819f86f 100644 --- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs @@ -60,6 +60,10 @@ namespace ZR.Service.mes.wms /// public WmGoodsNowProduction AddWmGoodsNowProduction(WmGoodsNowProduction model) { + if (string.IsNullOrEmpty(model.Id)) + { + model.Id = SnowFlakeSingle.Instance.NextId().ToString();//也可以在程序中直接获取ID + } return Context.Insertable(model).ExecuteReturnEntity(); } diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index 78ada568..ffe0c5b3 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -62,6 +62,10 @@ namespace ZR.Service.mes.wms /// public WmGoodsOutRecord AddWmGoodsOutProduction(WmGoodsOutRecord model) { + if (string.IsNullOrEmpty(model.Id)) + { + model.Id= SnowFlakeSingle.Instance.NextId().ToString();//也可以在程序中直接获取ID + } return Context.Insertable(model).ExecuteReturnEntity(); } From e620e3d8b98fb72456fc814b94f61c0ed08d2e2e Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Tue, 26 Mar 2024 15:21:21 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9Achecklog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmCheckLogController.cs | 110 ++++++++++++++++++ ZR.Model/MES/wms/Dto/WmCheckLogDto.cs | 46 ++++++++ ZR.Model/MES/wms/WmCheckLog.cs | 87 ++++++++++++++ .../mes/wms/IService/IWmCheckLogService.cs | 24 ++++ ZR.Service/mes/wms/WmCheckLogService.cs | 89 ++++++++++++++ 5 files changed, 356 insertions(+) create mode 100644 ZR.Admin.WebApi/Controllers/mes/wms/WmCheckLogController.cs create mode 100644 ZR.Model/MES/wms/Dto/WmCheckLogDto.cs create mode 100644 ZR.Model/MES/wms/WmCheckLog.cs create mode 100644 ZR.Service/mes/wms/IService/IWmCheckLogService.cs create mode 100644 ZR.Service/mes/wms/WmCheckLogService.cs diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmCheckLogController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmCheckLogController.cs new file mode 100644 index 00000000..0b47c870 --- /dev/null +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmCheckLogController.cs @@ -0,0 +1,110 @@ +using Microsoft.AspNetCore.Mvc; + +using ZR.Admin.WebApi.Extensions; +using ZR.Admin.WebApi.Filters; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; +using ZR.Service.Business.IBusinessService; + +//创建时间:2024-03-26 +namespace ZR.Admin.WebApi.Controllers +{ + /// + /// 盘点记录 + /// + [Verify] + [Route("/mes/wm//WmCheckLog")] + public class WmCheckLogController : BaseController + { + /// + /// 盘点记录接口 + /// + private readonly IWmCheckLogService _WmCheckLogService; + + public WmCheckLogController(IWmCheckLogService WmCheckLogService) + { + _WmCheckLogService = WmCheckLogService; + } + + /// + /// 查询盘点记录列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "business:wmchecklog:list")] + public IActionResult QueryWmCheckLog([FromQuery] WmCheckLogQueryDto parm) + { + var response = _WmCheckLogService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询盘点记录详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "business:wmchecklog:query")] + public IActionResult GetWmCheckLog(int Id) + { + var response = _WmCheckLogService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加盘点记录 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "business:wmchecklog:add")] + [Log(Title = "盘点记录", BusinessType = BusinessType.INSERT)] + public IActionResult AddWmCheckLog([FromBody] WmCheckLogDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _WmCheckLogService.AddWmCheckLog(modal); + + return SUCCESS(response); + } + + /// + /// 更新盘点记录 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "business:wmchecklog:edit")] + [Log(Title = "盘点记录", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateWmCheckLog([FromBody] WmCheckLogDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _WmCheckLogService.UpdateWmCheckLog(modal); + + return ToResponse(response); + } + + /// + /// 删除盘点记录 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:wmchecklog:delete")] + [Log(Title = "盘点记录", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteWmCheckLog(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _WmCheckLogService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/Dto/WmCheckLogDto.cs b/ZR.Model/MES/wms/Dto/WmCheckLogDto.cs new file mode 100644 index 00000000..de222317 --- /dev/null +++ b/ZR.Model/MES/wms/Dto/WmCheckLogDto.cs @@ -0,0 +1,46 @@ +using System.ComponentModel.DataAnnotations; + +namespace ZR.Model.MES.wms.Dto +{ + /// + /// 盘点记录查询对象 + /// + public class WmCheckLogQueryDto : PagerInfo + { + } + + /// + /// 盘点记录输入输出对象 + /// + public class WmCheckLogDto + { + public int? Id { get; set; } + + public string FkGoodsNowProduction { get; set; } + + public string Partnumber { get; set; } + + public string PackageCodeClient { get; set; } + + public decimal OldValue { get; set; } + + public decimal NewValue { get; set; } + + public int? Type { get; set; } + + public decimal Value { get; set; } + + public string Remark { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + + + } +} \ No newline at end of file diff --git a/ZR.Model/MES/wms/WmCheckLog.cs b/ZR.Model/MES/wms/WmCheckLog.cs new file mode 100644 index 00000000..3048eedd --- /dev/null +++ b/ZR.Model/MES/wms/WmCheckLog.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using SqlSugar; +namespace ZR.Model.MES.wms +{ + /// + /// 盘点记录 + /// + [SugarTable("wm_check_log")] + public class WmCheckLog + { + /// + /// 主键 + /// + public int? Id { get; set; } + + /// + /// 成品库主键id + /// + [SugarColumn(ColumnName = "fk_goods_now_production")] + public string FkGoodsNowProduction { get; set; } + + /// + /// 零件号 + /// + public string Partnumber { get; set; } + + /// + /// 批次号 + /// + [SugarColumn(ColumnName = "package_code_client")] + public string PackageCodeClient { get; set; } + + /// + /// 原数值 + /// + [SugarColumn(ColumnName = "old_value")] + public decimal OldValue { get; set; } + + /// + /// 修改后 + /// + [SugarColumn(ColumnName = "new_value")] + public decimal NewValue { get; set; } + + /// + /// 修改类型;1-添加2-减少 + /// + public int? Type { get; set; } + + /// + /// 修改数值 + /// + public decimal Value { get; set; } + + /// + /// 备注 + /// + public string Remark { 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; } + + } +} \ No newline at end of file diff --git a/ZR.Service/mes/wms/IService/IWmCheckLogService.cs b/ZR.Service/mes/wms/IService/IWmCheckLogService.cs new file mode 100644 index 00000000..2bc42c6f --- /dev/null +++ b/ZR.Service/mes/wms/IService/IWmCheckLogService.cs @@ -0,0 +1,24 @@ +using System; +using ZR.Model; + +using System.Collections.Generic; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.Business.IBusinessService +{ + /// + /// 盘点记录service接口 + /// + public interface IWmCheckLogService : IBaseService + { + PagedInfo GetList(WmCheckLogQueryDto parm); + + WmCheckLog GetInfo(int Id); + + WmCheckLog AddWmCheckLog(WmCheckLog parm); + + int UpdateWmCheckLog(WmCheckLog parm); + + } +} diff --git a/ZR.Service/mes/wms/WmCheckLogService.cs b/ZR.Service/mes/wms/WmCheckLogService.cs new file mode 100644 index 00000000..46b6c819 --- /dev/null +++ b/ZR.Service/mes/wms/WmCheckLogService.cs @@ -0,0 +1,89 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using ZR.Model; + +using ZR.Repository; +using ZR.Service.Business.IBusinessService; +using System.Linq; +using ZR.Model.MES.wms; +using ZR.Model.MES.wms.Dto; + +namespace ZR.Service.Business +{ + /// + /// 盘点记录Service业务层处理 + /// + [AppService(ServiceType = typeof(IWmCheckLogService), ServiceLifetime = LifeTime.Transient)] + public class WmCheckLogService : BaseService, IWmCheckLogService + { + /// + /// 查询盘点记录列表 + /// + /// + /// + public PagedInfo GetList(WmCheckLogQueryDto parm) + { + var predicate = Expressionable.Create(); + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public WmCheckLog GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加盘点记录 + /// + /// + /// + public WmCheckLog AddWmCheckLog(WmCheckLog model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改盘点记录 + /// + /// + /// + public int UpdateWmCheckLog(WmCheckLog model) + { + //var response = Update(w => w.Id == model.Id, it => new WmCheckLog() + //{ + // FkGoodsNowProduction = model.FkGoodsNowProduction, + // Partnumber = model.Partnumber, + // PackageCodeClient = model.PackageCodeClient, + // OldValue = model.OldValue, + // NewValue = model.NewValue, + // Type = model.Type, + // Value = model.Value, + // Remark = model.Remark, + // CreatedBy = model.CreatedBy, + // CreatedTime = model.CreatedTime, + // UpdatedBy = model.UpdatedBy, + // UpdatedTime = model.UpdatedTime, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file