diff --git a/ZR.Admin.WebApi/Controllers/mes/qc/FQC/CRUD/QcQualityStatisticsFirstController.cs b/ZR.Admin.WebApi/Controllers/mes/qc/FQC/CRUD/QcQualityStatisticsFirstController.cs
new file mode 100644
index 00000000..3792017a
--- /dev/null
+++ b/ZR.Admin.WebApi/Controllers/mes/qc/FQC/CRUD/QcQualityStatisticsFirstController.cs
@@ -0,0 +1,109 @@
+using Microsoft.AspNetCore.Mvc;
+using ZR.Admin.WebApi.Extensions;
+using ZR.Admin.WebApi.Filters;
+using ZR.Service.mes.qc.IService;
+using ZR.Model.MES.qc.DTO;
+using ZR.Model.MES.qc;
+
+//创建时间:2024-04-11
+namespace ZR.Admin.WebApi.Controllers
+{
+ ///
+ /// 质量统计-首检
+ ///
+ [Verify]
+ [Route("mes/qc/FQC/QcQualityStatisticsFirst")]
+ public class QcQualityStatisticsFirstController : BaseController
+ {
+ ///
+ /// 质量统计-首检接口
+ ///
+ private readonly IQcQualityStatisticsFirstService _QcQualityStatisticsFirstService;
+
+ public QcQualityStatisticsFirstController(IQcQualityStatisticsFirstService QcQualityStatisticsFirstService)
+ {
+ _QcQualityStatisticsFirstService = QcQualityStatisticsFirstService;
+ }
+
+ ///
+ /// 查询质量统计-首检列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "hidepage:qcqualitystatisticsfirst:list")]
+ public IActionResult QueryQcQualityStatisticsFirst([FromQuery] QcQualityStatisticsFirstQueryDto parm)
+ {
+ var response = _QcQualityStatisticsFirstService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询质量统计-首检详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "hidepage:qcqualitystatisticsfirst:query")]
+ public IActionResult GetQcQualityStatisticsFirst(string Id)
+ {
+ var response = _QcQualityStatisticsFirstService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加质量统计-首检
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "hidepage:qcqualitystatisticsfirst:add")]
+ [Log(Title = "质量统计-首检", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddQcQualityStatisticsFirst([FromBody] QcQualityStatisticsFirstDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _QcQualityStatisticsFirstService.AddQcQualityStatisticsFirst(modal);
+
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 更新质量统计-首检
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "hidepage:qcqualitystatisticsfirst:edit")]
+ [Log(Title = "质量统计-首检", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateQcQualityStatisticsFirst([FromBody] QcQualityStatisticsFirstDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _QcQualityStatisticsFirstService.UpdateQcQualityStatisticsFirst(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除质量统计-首检
+ ///
+ ///
+ [HttpDelete("{ids}")]
+ [ActionPermissionFilter(Permission = "hidepage:qcqualitystatisticsfirst:delete")]
+ [Log(Title = "质量统计-首检", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteQcQualityStatisticsFirst(string ids)
+ {
+ long[] idsArr = Tools.SpitLongArrary(ids);
+ if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+
+ var response = _QcQualityStatisticsFirstService.Delete(idsArr);
+
+ return ToResponse(response);
+ }
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
index ac4e68f0..3bac6e71 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
@@ -169,6 +169,24 @@ namespace ZR.Admin.WebApi.Controllers
return SUCCESS(WmOutOrderPlanList);
}
+ ///
+ /// 持久化存储出货单的出货计划
+ ///
+ ///
+ ///
+ [HttpGet("persistenceOutorderplan")]
+ public IActionResult PersistenceOutorderplan(string shipment_num)
+ {
+ if (shipment_num == null)
+ {
+ return SUCCESS(null);
+ }
+ int result= _WmOutOrderService.PersistenceOutorderplan(shipment_num);
+
+ return SUCCESS(result);
+
+ }
+
///
/// 5 成品出库
///
diff --git a/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-质量统计-首检-0411092559.zip b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-质量统计-首检-0411092559.zip
new file mode 100644
index 00000000..f87013e6
Binary files /dev/null and b/ZR.Admin.WebApi/wwwroot/Generatecode/ZrAdmin.NET-质量统计-首检-0411092559.zip differ
diff --git a/ZR.Model/MES/qc/DTO/QcQualityStatisticsFirstDto.cs b/ZR.Model/MES/qc/DTO/QcQualityStatisticsFirstDto.cs
new file mode 100644
index 00000000..bc3e621d
--- /dev/null
+++ b/ZR.Model/MES/qc/DTO/QcQualityStatisticsFirstDto.cs
@@ -0,0 +1,132 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace ZR.Model.MES.qc.DTO
+{
+ ///
+ /// 质量统计-首检输入输出对象
+ ///
+ public class QcQualityStatisticsFirstDto
+ {
+ [Required(ErrorMessage = "id不能为空")]
+ public string Id { get; set; }
+
+ public string WorkorderId { get; set; }
+
+ public string FinishedPartNumber { get; set; }
+
+ public string ProductDescription { get; set; }
+
+ public string Color { get; set; }
+
+ public int? RequireNumber { get; set; }
+
+ public string Team { get; set; }
+
+ public int? QualifiedNumber { get; set; }
+
+ public decimal QualifiedRate { get; set; }
+
+ public int? PaoguangTotal { get; set; }
+
+ public int? DamoTotal { get; set; }
+
+ public int? BaofeiTotal { get; set; }
+
+ public DateTime? StartTime { get; set; }
+
+ public DateTime? EndTime { get; set; }
+
+ public string Remark { get; set; }
+
+ public int? PaintSuokong { get; set; }
+
+ public int? PaintZhengkong { get; set; }
+
+ public int? PaintShiguang { get; set; }
+
+ public int? PaintSecha { get; set; }
+
+ public int? PaintDianzi { get; set; }
+
+ public int? PaintOther { get; set; }
+
+ public int? DeviceShuiban { get; set; }
+
+ public int? DeviceZandian { get; set; }
+
+ public int? DeviceBianxing { get; set; }
+
+ public int? DeviceYouzhu { get; set; }
+
+ public int? DeviceTuoluo { get; set; }
+
+ public int? DeviceZhuangshang { get; set; }
+
+ public int? DeviceOther { get; set; }
+
+ public int? BlankMaoci { get; set; }
+
+ public int? BlankSuoyin { get; set; }
+
+ public int? BlankCanshuang { get; set; }
+
+ public int? BlankShaying { get; set; }
+
+ public int? BlankZangdian { get; set; }
+
+ public int? BlankDamo { get; set; }
+
+ public int? ProgramLiuguang { get; set; }
+
+ public int? ProgramSeqiqueqi { get; set; }
+
+ public int? ProgramQingqiqueqi { get; set; }
+
+ public int? ProgramJupi { get; set; }
+
+ public int? ProgramOther { get; set; }
+
+ public int? TeamTuoluocanshuang { get; set; }
+
+ public int? TeamQingqiqikuai { get; set; }
+
+ public int? TeamSeqiqikuai { get; set; }
+
+ public int? TeamFahua { get; set; }
+
+ public int? TeamLiangbang { get; set; }
+
+ public int? TeamPenglou { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+
+ public string UpdatedBy { get; set; }
+
+ public DateTime? CreatedTime { get; set; }
+
+ public string CreatedBy { get; set; }
+
+ public int? Remark2 { get; set; }
+
+
+
+ }
+ ///
+ /// 质量统计-首检查询对象
+ ///
+ public class QcQualityStatisticsFirstQueryDto : PagerInfo
+ {
+ public string WorkorderId { get; set; }
+
+ public string FinishedPartNumber { get; set; }
+
+ public string ProductDescription { get; set; }
+
+ public string Team { get; set; }
+
+ public DateTime starttime { get; set; }
+ public DateTime endtime { get; set; }
+ }
+
+
+}
\ No newline at end of file
diff --git a/ZR.Service/mes/qc/IService/IQcQualityStatisticsFirstService.cs b/ZR.Service/mes/qc/IService/IQcQualityStatisticsFirstService.cs
new file mode 100644
index 00000000..c7a71c4f
--- /dev/null
+++ b/ZR.Service/mes/qc/IService/IQcQualityStatisticsFirstService.cs
@@ -0,0 +1,24 @@
+using System;
+using ZR.Model;
+using ZR.Model.Dto;
+using System.Collections.Generic;
+using ZR.Model.MES.qc;
+using ZR.Model.MES.qc.DTO;
+
+namespace ZR.Service.mes.qc.IService
+{
+ ///
+ /// 质量统计-首检service接口
+ ///
+ public interface IQcQualityStatisticsFirstService : IBaseService
+ {
+ PagedInfo GetList(QcQualityStatisticsFirstQueryDto parm);
+
+ QcQualityStatisticsFirst GetInfo(string Id);
+
+ QcQualityStatisticsFirst AddQcQualityStatisticsFirst(QcQualityStatisticsFirst parm);
+
+ int UpdateQcQualityStatisticsFirst(QcQualityStatisticsFirst parm);
+
+ }
+}
diff --git a/ZR.Service/mes/qc/QcQualityStatisticsFirstService.cs b/ZR.Service/mes/qc/QcQualityStatisticsFirstService.cs
new file mode 100644
index 00000000..c1fc9914
--- /dev/null
+++ b/ZR.Service/mes/qc/QcQualityStatisticsFirstService.cs
@@ -0,0 +1,134 @@
+using System;
+using SqlSugar;
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+
+using ZR.Repository;
+using System.Linq;
+using ZR.Service.mes.qc.IService;
+using ZR.Model.MES.qc;
+using ZR.Model.MES.qc.DTO;
+using ZR.Model;
+
+namespace ZR.Service.mes.qc
+{
+ ///
+ /// 质量统计-首检Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IQcQualityStatisticsFirstService), ServiceLifetime = LifeTime.Transient)]
+ public class QcQualityStatisticsFirstService : BaseService, IQcQualityStatisticsFirstService
+ {
+ ///
+ /// 查询质量统计-首检列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(QcQualityStatisticsFirstQueryDto parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.WorkorderId), it => it.WorkorderId == parm.WorkorderId)
+ .AndIF(!string.IsNullOrEmpty(parm.FinishedPartNumber), it => it.FinishedPartNumber == parm.FinishedPartNumber)
+ .AndIF(!string.IsNullOrEmpty(parm.ProductDescription), it => it.ProductDescription.Contains(parm.ProductDescription))
+ .AndIF(!string.IsNullOrEmpty(parm.Team), it => it.Team == parm.Team)
+ .AndIF(parm.starttime> new DateTime(2000, 1, 1), it => it.CreatedTime>=parm.starttime)
+ .AndIF(parm.endtime> new DateTime(2000, 1, 1), it => it.CreatedTime<=parm.endtime)
+ ;
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .ToPage(parm);
+
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public QcQualityStatisticsFirst GetInfo(string Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加质量统计-首检
+ ///
+ ///
+ ///
+ public QcQualityStatisticsFirst AddQcQualityStatisticsFirst(QcQualityStatisticsFirst model)
+ {
+ return Context.Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改质量统计-首检
+ ///
+ ///
+ ///
+ public int UpdateQcQualityStatisticsFirst(QcQualityStatisticsFirst model)
+ {
+ return Update(model, true);
+ //var response = Update(w => w.Id == model.Id, it => new QcQualityStatisticsFirst()
+ //{
+ // FinishedPartNumber = model.FinishedPartNumber,
+ // ProductDescription = model.ProductDescription,
+ // Color = model.Color,
+ // RequireNumber = model.RequireNumber,
+ // Team = model.Team,
+ // QualifiedNumber = model.QualifiedNumber,
+ // QualifiedRate = model.QualifiedRate,
+ // PaoguangTotal = model.PaoguangTotal,
+ // DamoTotal = model.DamoTotal,
+ // BaofeiTotal = model.BaofeiTotal,
+ // StartTime = model.StartTime,
+ // EndTime = model.EndTime,
+ // Remark = model.Remark,
+ // PaintSuokong = model.PaintSuokong,
+ // PaintZhengkong = model.PaintZhengkong,
+ // PaintShiguang = model.PaintShiguang,
+ // PaintSecha = model.PaintSecha,
+ // PaintDianzi = model.PaintDianzi,
+ // PaintOther = model.PaintOther,
+ // DeviceShuiban = model.DeviceShuiban,
+ // DeviceZandian = model.DeviceZandian,
+ // DeviceBianxing = model.DeviceBianxing,
+ // DeviceYouzhu = model.DeviceYouzhu,
+ // DeviceTuoluo = model.DeviceTuoluo,
+ // DeviceZhuangshang = model.DeviceZhuangshang,
+ // DeviceOther = model.DeviceOther,
+ // BlankMaoci = model.BlankMaoci,
+ // BlankSuoyin = model.BlankSuoyin,
+ // BlankCanshuang = model.BlankCanshuang,
+ // BlankShaying = model.BlankShaying,
+ // BlankZangdian = model.BlankZangdian,
+ // BlankDamo = model.BlankDamo,
+ // ProgramLiuguang = model.ProgramLiuguang,
+ // ProgramSeqiqueqi = model.ProgramSeqiqueqi,
+ // ProgramQingqiqueqi = model.ProgramQingqiqueqi,
+ // ProgramJupi = model.ProgramJupi,
+ // ProgramOther = model.ProgramOther,
+ // TeamTuoluocanshuang = model.TeamTuoluocanshuang,
+ // TeamQingqiqikuai = model.TeamQingqiqikuai,
+ // TeamSeqiqikuai = model.TeamSeqiqikuai,
+ // TeamFahua = model.TeamFahua,
+ // TeamLiangbang = model.TeamLiangbang,
+ // TeamPenglou = model.TeamPenglou,
+ // UpdatedTime = model.UpdatedTime,
+ // UpdatedBy = model.UpdatedBy,
+ // CreatedTime = model.CreatedTime,
+ // CreatedBy = model.CreatedBy,
+ // Remark2 = model.Remark2,
+ //});
+ //return response;
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
index a1dd5e81..d1de2339 100644
--- a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
+++ b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
@@ -32,6 +32,8 @@ namespace ZR.Service.mes.wms.IService
List Generate_outorderplan(string shipment_num);
+ int PersistenceOutorderplan(string shipment_num);
+
(int, int) DoMaterialOut(WmDoMaterialOut_Dto doMaterialOut, string Createby);
diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
index c3206711..0475eb0f 100644
--- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
+++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
@@ -196,6 +196,14 @@ namespace ZR.Service.mes.wms
{
model.Id = SnowFlakeSingle.Instance.NextId().ToString();//也可以在程序中直接获取ID
}
+ if(string.IsNullOrEmpty(model.PackageCode))
+ {
+ model.PackageCode=model.PackageCodeClient;
+ }
+ if (string.IsNullOrEmpty(model.PackageCodeOriginal))
+ {
+ model.PackageCodeOriginal = model.PackageCodeClient;
+ }
return Context.Insertable(model).ExecuteReturnEntity();
}
diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs
index d00ac87f..42596e73 100644
--- a/ZR.Service/mes/wms/WmOutOrderService.cs
+++ b/ZR.Service/mes/wms/WmOutOrderService.cs
@@ -567,5 +567,20 @@ namespace ZR.Service.mes.wms
}
}
+
+
+ ///
+ /// 持久化存储
+ ///
+ ///
+ ///
+ ///
+ public int PersistenceOutorderplan(string shipment_num)
+ {
+ throw new NotImplementedException();
+ }
+
+
+
}
}
\ No newline at end of file