diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs
new file mode 100644
index 00000000..4cdd6589
--- /dev/null
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankInventoryController.cs
@@ -0,0 +1,136 @@
+using Microsoft.AspNetCore.Mvc;
+using ZR.Model.Dto;
+using ZR.Service.Business.IBusinessService;
+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;
+
+//创建时间:2024-05-13
+namespace ZR.Admin.WebApi.Controllers
+{
+ ///
+ /// 毛坯库存表
+ ///
+ [Verify]
+ [Route("/mes/wm/WmBlankInventory")]
+ public class WmBlankInventoryController : BaseController
+ {
+ ///
+ /// 毛坯库存表接口
+ ///
+ private readonly IWmBlankInventoryService _WmBlankInventoryService;
+
+ public WmBlankInventoryController(IWmBlankInventoryService WmBlankInventoryService)
+ {
+ _WmBlankInventoryService = WmBlankInventoryService;
+ }
+
+ ///
+ /// 查询毛坯库存表列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:list")]
+ public IActionResult QueryWmBlankInventory([FromQuery] WmBlankInventoryQueryDto parm)
+ {
+ var response = _WmBlankInventoryService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询毛坯库存表详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:query")]
+ public IActionResult GetWmBlankInventory(string Id)
+ {
+ var response = _WmBlankInventoryService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加毛坯库存表
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:add")]
+ [Log(Title = "毛坯库存表", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddWmBlankInventory([FromBody] WmBlankInventoryDto parm)
+ {
+ try
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _WmBlankInventoryService.AddWmBlankInventory(modal);
+
+ return SUCCESS(response);
+ }
+ catch (Exception ex)
+ {
+ return ToResponse(new ApiResult(500, ex.Message, null));
+ }
+
+ }
+
+ ///
+ /// 更新毛坯库存表
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:edit")]
+ [Log(Title = "毛坯库存表", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateWmBlankInventory([FromBody] WmBlankInventoryDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _WmBlankInventoryService.UpdateWmBlankInventory(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除毛坯库存表
+ ///
+ ///
+ [HttpDelete("{ids}")]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:delete")]
+ [Log(Title = "毛坯库存表", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteWmBlankInventory(string ids)
+ {
+ string[] idsArr = ids.Split(',');
+ if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+
+ var response = _WmBlankInventoryService.Delete(idsArr);
+
+ return ToResponse(response);
+ }
+
+
+ ///
+ /// 物料清单数据同步
+ ///
+ ///
+ [HttpPost("synchronousMaterial")]
+ [ActionPermissionFilter(Permission = "business:wmblankinventory:add")]
+ [Log(Title = "物料清单数据同步", BusinessType = BusinessType.INSERT)]
+ public IActionResult SynchronousMaterial([FromBody] WmBlankInventoryDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _WmBlankInventoryService.AddWmBlankInventory(modal);
+
+ return SUCCESS(response);
+
+ }
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs
new file mode 100644
index 00000000..4f5275dc
--- /dev/null
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs
@@ -0,0 +1,111 @@
+using Microsoft.AspNetCore.Mvc;
+using ZR.Model.Dto;
+using ZR.Service.Business.IBusinessService;
+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;
+
+//创建时间:2024-05-13
+namespace ZR.Admin.WebApi.Controllers
+{
+ ///
+ /// 毛坯库存库存变动记录表
+ ///
+ [Verify]
+ [Route("/mes/wm/WmBlankRecord")]
+ public class WmBlankRecordController : BaseController
+ {
+ ///
+ /// 毛坯库存库存变动记录表接口
+ ///
+ private readonly IWmBlankRecordService _WmBlankRecordService;
+
+ public WmBlankRecordController(IWmBlankRecordService WmBlankRecordService)
+ {
+ _WmBlankRecordService = WmBlankRecordService;
+ }
+
+ ///
+ /// 查询毛坯库存库存变动记录表列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "business:wmblankrecord:list")]
+ public IActionResult QueryWmBlankRecord([FromQuery] WmBlankRecordQueryDto parm)
+ {
+ var response = _WmBlankRecordService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询毛坯库存库存变动记录表详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "business:wmblankrecord:query")]
+ public IActionResult GetWmBlankRecord(string Id)
+ {
+ var response = _WmBlankRecordService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加毛坯库存库存变动记录表
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "business:wmblankrecord:add")]
+ [Log(Title = "毛坯库存库存变动记录表", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddWmBlankRecord([FromBody] WmBlankRecordDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _WmBlankRecordService.AddWmBlankRecord(modal);
+
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 更新毛坯库存库存变动记录表
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "business:wmblankrecord:edit")]
+ [Log(Title = "毛坯库存库存变动记录表", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateWmBlankRecord([FromBody] WmBlankRecordDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _WmBlankRecordService.UpdateWmBlankRecord(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除毛坯库存库存变动记录表
+ ///
+ ///
+ [HttpDelete("{ids}")]
+ [ActionPermissionFilter(Permission = "business:wmblankrecord:delete")]
+ [Log(Title = "毛坯库存库存变动记录表", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteWmBlankRecord(string ids)
+ {
+ string[] idsArr = ids.Split(',');
+ if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+
+ var response = _WmBlankRecordService.Delete(idsArr);
+
+ return ToResponse(response);
+ }
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存库存变动记录表-0513140439.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存库存变动记录表-0513140439.zip
new file mode 100644
index 00000000..7e132c55
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存库存变动记录表-0513140439.zip differ
diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存表-0513140434.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存表-0513140434.zip
new file mode 100644
index 00000000..864ffebf
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-毛坯库存表-0513140434.zip differ
diff --git a/ZR.Admin.WebApi/导出统计报表-2024051114234102ae279d-bb09-4390-90e0-490342e8ebb4.xlsx b/ZR.Admin.WebApi/导出统计报表-2024051114234102ae279d-bb09-4390-90e0-490342e8ebb4.xlsx
new file mode 100644
index 00000000..3871a89d
Binary files /dev/null and b/ZR.Admin.WebApi/导出统计报表-2024051114234102ae279d-bb09-4390-90e0-490342e8ebb4.xlsx differ
diff --git a/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs
new file mode 100644
index 00000000..47b69532
--- /dev/null
+++ b/ZR.Model/MES/wms/Dto/WmBlankInventoryDto.cs
@@ -0,0 +1,73 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace ZR.Model.MES.wms.Dto
+{
+ ///
+ /// 毛坯库存表查询对象
+ ///
+ public class WmBlankInventoryQueryDto : PagerInfo
+ {
+ public string BlankNum { get; set; }
+ public int? Type { get; set; }
+ public int? Status { get; set; }
+ }
+
+ ///
+ /// 毛坯库存表输入输出对象
+ ///
+ public class WmBlankInventoryDto
+ {
+ // [Required(ErrorMessage = "主键不能为空")]
+ public string Id { get; set; }
+
+ public string FkPaintId { get; set; }
+
+ public string BlankNum { get; set; }
+
+ ///
+ /// 单位
+ ///
+ public string Unit { get; set; }
+ ///
+ /// 颜色
+ ///
+ public string Color { get; set; }
+ ///
+ /// 规格
+ ///
+ public string Specification { get; set; }
+ ///
+ /// 描述
+ ///
+ public string Description { get; set; }
+ ///
+ /// 版本号
+ ///
+ public string Version { get; set; }
+
+ public int? Quantity { get; set; }
+
+ public int? MaxNum { get; set; }
+
+ public int? MinNum { get; set; }
+
+ public int? WarnNum { get; set; }
+
+ public int? Type { get; set; }
+
+ public int? Status { 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/Dto/WmBlankRecordDto.cs b/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs
new file mode 100644
index 00000000..445d4a0d
--- /dev/null
+++ b/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs
@@ -0,0 +1,43 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace ZR.Model.MES.wms.Dto
+{
+ ///
+ /// 毛坯库存库存变动记录表查询对象
+ ///
+ public class WmBlankRecordQueryDto : PagerInfo
+ {
+ }
+
+ ///
+ /// 毛坯库存库存变动记录表输入输出对象
+ ///
+ public class WmBlankRecordDto
+ {
+ [Required(ErrorMessage = "主键不能为空")]
+ public string Id { get; set; }
+
+ public string FkBlankInventoryId { get; set; }
+
+ public string BlankNum { get; set; }
+
+ public int? ChangeQuantity { get; set; }
+
+ public decimal Type { get; set; }
+
+ public decimal Status { 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/WmBlankInventory.cs b/ZR.Model/MES/wms/WmBlankInventory.cs
new file mode 100644
index 00000000..7daec9cd
--- /dev/null
+++ b/ZR.Model/MES/wms/WmBlankInventory.cs
@@ -0,0 +1,91 @@
+
+namespace ZR.Model.MES.wms
+{
+ ///
+ /// 毛坯库存表
+ ///
+ [SugarTable("wm_blank_inventory")]
+ public class WmBlankInventory
+ {
+ ///
+ /// 主键
+ ///
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
+ public string Id { get; set; }
+
+ ///
+ /// 油漆id
+ ///
+ [SugarColumn(ColumnName = "fk_paint_id")]
+ public string FkPaintId { get; set; }
+
+ ///
+ /// 毛坯号
+ ///
+ [SugarColumn(ColumnName = "blank_num")]
+ public string BlankNum { get; set; }
+
+ ///
+ /// 库存数量
+ ///
+ public int? Quantity { get; set; }
+
+ ///
+ /// 最大库存
+ ///
+ [SugarColumn(ColumnName = "max_num")]
+ public int? MaxNum { get; set; }
+
+ ///
+ /// 最小库存
+ ///
+ [SugarColumn(ColumnName = "min_num")]
+ public int? MinNum { get; set; }
+
+ ///
+ /// 预警库存
+ ///
+ [SugarColumn(ColumnName = "warn_num")]
+ public int? WarnNum { get; set; }
+
+ ///
+ /// 类别
+ ///
+ public int? Type { get; set; }
+
+ ///
+ /// 状态
+ ///
+ public int? Status { 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.Model/MES/wms/WmBlankRecord.cs b/ZR.Model/MES/wms/WmBlankRecord.cs
new file mode 100644
index 00000000..ada05def
--- /dev/null
+++ b/ZR.Model/MES/wms/WmBlankRecord.cs
@@ -0,0 +1,74 @@
+
+namespace ZR.Model.MES.wms
+{
+ ///
+ /// 毛坯库存库存变动记录表
+ ///
+ [SugarTable("wm_blank_record")]
+ public class WmBlankRecord
+ {
+ ///
+ /// 主键
+ ///
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
+ public string Id { get; set; }
+
+ ///
+ /// 毛坯库存主键
+ ///
+ [SugarColumn(ColumnName = "fk_blank_inventory_id")]
+ public string FkBlankInventoryId { get; set; }
+
+ ///
+ /// 毛坯号
+ ///
+ [SugarColumn(ColumnName = "blank_num")]
+ public string BlankNum { get; set; }
+
+ ///
+ /// 变动数量
+ ///
+ [SugarColumn(ColumnName = "change_quantity")]
+ public int? ChangeQuantity { get; set; }
+
+ ///
+ /// 类别
+ ///
+ public decimal Type { get; set; }
+
+ ///
+ /// 状态
+ ///
+ public decimal Status { 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/IWmBlankInventoryService.cs b/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs
new file mode 100644
index 00000000..bec77ab2
--- /dev/null
+++ b/ZR.Service/mes/wms/IService/IWmBlankInventoryService.cs
@@ -0,0 +1,24 @@
+using System;
+using ZR.Model;
+using ZR.Model.Dto;
+using ZR.Model.MES.wms;
+using System.Collections.Generic;
+using ZR.Model.MES.wms.Dto;
+
+namespace ZR.Service.mes.wms.IService
+{
+ ///
+ /// 毛坯库存表service接口
+ ///
+ public interface IWmBlankInventoryService : IBaseService
+ {
+ PagedInfo GetList(WmBlankInventoryQueryDto parm);
+
+ WmBlankInventory GetInfo(string Id);
+
+ WmBlankInventory AddWmBlankInventory(WmBlankInventory parm);
+
+ int UpdateWmBlankInventory(WmBlankInventory parm);
+
+ }
+}
diff --git a/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs b/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs
new file mode 100644
index 00000000..fe4cda6b
--- /dev/null
+++ b/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs
@@ -0,0 +1,24 @@
+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 IWmBlankRecordService : IBaseService
+ {
+ PagedInfo GetList(WmBlankRecordQueryDto parm);
+
+ WmBlankRecord GetInfo(string Id);
+
+ WmBlankRecord AddWmBlankRecord(WmBlankRecord parm);
+
+ int UpdateWmBlankRecord(WmBlankRecord parm);
+
+ }
+}
diff --git a/ZR.Service/mes/wms/WmBlankInventoryService.cs b/ZR.Service/mes/wms/WmBlankInventoryService.cs
new file mode 100644
index 00000000..356d0007
--- /dev/null
+++ b/ZR.Service/mes/wms/WmBlankInventoryService.cs
@@ -0,0 +1,121 @@
+using System;
+using SqlSugar;
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using ZR.Model;
+using ZR.Model.Dto;
+using ZR.Model.MES.wms;
+using ZR.Repository;
+using System.Linq;
+using ZR.Service.mes.wms.IService;
+using ZR.Model.MES.wms.Dto;
+
+namespace ZR.Service.mes.wms
+{
+ ///
+ /// 毛坯库存表Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IWmBlankInventoryService), ServiceLifetime = LifeTime.Transient)]
+ public class WmBlankInventoryService : BaseService, IWmBlankInventoryService
+ {
+ ///
+ /// 查询毛坯库存表列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(WmBlankInventoryQueryDto parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.BlankNum), it => it.BlankNum.Contains(parm.BlankNum))
+ .AndIF(parm.Status > -1, it => it.Status == parm.Status)
+ .AndIF(parm.Type > 0, it => it.Type == parm.Type)
+ ;
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .OrderByDescending(it=>it.UpdatedTime)
+ .ToPage(parm);
+ if (response.Result.Count > 0)
+ {
+ foreach (WmBlankInventoryDto item in response.Result)
+ {
+ WmMaterial material = Context.Queryable()
+ .Where(it => it.BlankNum == item.BlankNum)
+ .Where(it => it.Remarks == "毛坯")
+ .First();
+ if (material == null)
+ {
+ item.Description = "此毛坯号不在物料清单内!";
+ continue;
+ }
+ item.Color = material.Color;
+ item.Unit = material.Unit;
+ item.Version = material.Version;
+ item.Specification = material.Specification;
+ item.Description = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ }
+ }
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public WmBlankInventory GetInfo(string Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加毛坯库存表
+ ///
+ ///
+ ///
+ public WmBlankInventory AddWmBlankInventory(WmBlankInventory model)
+ {
+ bool hasRecord = Context.Queryable()
+ .Where(it => it.BlankNum == model.BlankNum)
+ .Any();
+ if(hasRecord)
+ {
+ throw new Exception("毛坯仓库已有相同毛坯号记录");
+ }
+ model.Id = SnowFlakeSingle.Instance.NextId().ToString();
+ return Context.Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改毛坯库存表
+ ///
+ ///
+ ///
+ public int UpdateWmBlankInventory(WmBlankInventory model)
+ {
+ //var response = Update(w => w.Id == model.Id, it => new WmBlankInventory()
+ //{
+ // BlankNum = model.BlankNum,
+ // Quantity = model.Quantity,
+ // MaxNum = model.MaxNum,
+ // MinNum = model.MinNum,
+ // WarnNum = model.WarnNum,
+ // Type = model.Type,
+ // Status = model.Status,
+ // 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
diff --git a/ZR.Service/mes/wms/WmBlankRecordService.cs b/ZR.Service/mes/wms/WmBlankRecordService.cs
new file mode 100644
index 00000000..1a8279b2
--- /dev/null
+++ b/ZR.Service/mes/wms/WmBlankRecordService.cs
@@ -0,0 +1,87 @@
+using System;
+using SqlSugar;
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using ZR.Model;
+using ZR.Model.Dto;
+using ZR.Repository;
+using ZR.Service.Business.IBusinessService;
+using System.Linq;
+using ZR.Service.mes.wms.IService;
+using ZR.Model.MES.wms;
+using ZR.Model.MES.wms.Dto;
+
+namespace ZR.Service.mes.wms
+{
+ ///
+ /// 毛坯库存库存变动记录表Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IWmBlankRecordService), ServiceLifetime = LifeTime.Transient)]
+ public class WmBlankRecordService : BaseService, IWmBlankRecordService
+ {
+ ///
+ /// 查询毛坯库存库存变动记录表列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(WmBlankRecordQueryDto parm)
+ {
+ var predicate = Expressionable.Create();
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .ToPage(parm);
+
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public WmBlankRecord GetInfo(string Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加毛坯库存库存变动记录表
+ ///
+ ///
+ ///
+ public WmBlankRecord AddWmBlankRecord(WmBlankRecord model)
+ {
+ return Context.Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改毛坯库存库存变动记录表
+ ///
+ ///
+ ///
+ public int UpdateWmBlankRecord(WmBlankRecord model)
+ {
+ //var response = Update(w => w.Id == model.Id, it => new WmBlankRecord()
+ //{
+ // BlankNum = model.BlankNum,
+ // ChangeQuantity = model.ChangeQuantity,
+ // Type = model.Type,
+ // Status = model.Status,
+ // 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
diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
index b11391a5..7d802202 100644
--- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
+++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
@@ -258,6 +258,13 @@ namespace ZR.Service.mes.wms
{
model.PackageCodeOriginal = model.PackageCodeClient;
}
+ bool hasRecord = Context.Queryable()
+ .Where(it => it.PackageCodeClient == model.PackageCodeClient)
+ .Any();
+ if (hasRecord)
+ {
+ throw new Exception("成品仓库已有相同批次号记录");
+ }
return Context.Insertable(model).ExecuteReturnEntity();
}