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