diff --git a/DOAN.Admin.WebApi/Controllers/MES/product/ProPlanAchievementrateController.cs b/DOAN.Admin.WebApi/Controllers/MES/product/ProPlanAchievementrateController.cs new file mode 100644 index 0000000..4c9536f --- /dev/null +++ b/DOAN.Admin.WebApi/Controllers/MES/product/ProPlanAchievementrateController.cs @@ -0,0 +1,110 @@ +using Microsoft.AspNetCore.Mvc; +using DOAN.Model.Dto; +using DOAN.Service.MES.product.IService; +using DOAN.Service.MES.product; +using DOAN.Admin.WebApi.Filters; +using DOAN.Model.MES.product.Dto; +using DOAN.Model.MES.product; + +//创建时间:2025-10-16 +namespace DOAN.Admin.WebApi.Controllers +{ + /// + /// 日计划达成率 + /// + [Verify] + [Route("mes/productManagement/ProPlanAchievementrate")] + public class ProPlanAchievementrateController : BaseController + { + /// + /// 日计划达成率接口 + /// + private readonly IProPlanAchievementrateService _ProPlanAchievementrateService; + + public ProPlanAchievementrateController(IProPlanAchievementrateService ProPlanAchievementrateService) + { + _ProPlanAchievementrateService = ProPlanAchievementrateService; + } + + /// + /// 查询日计划达成率列表 + /// + /// + /// + [HttpGet("list")] + [ActionPermissionFilter(Permission = "productManagement:proplanachievementrate:list")] + public IActionResult QueryProPlanAchievementrate([FromQuery] ProPlanAchievementrateQueryDto parm) + { + var response = _ProPlanAchievementrateService.GetList(parm); + return SUCCESS(response); + } + + + /// + /// 查询日计划达成率详情 + /// + /// + /// + [HttpGet("{Id}")] + [ActionPermissionFilter(Permission = "productManagement:proplanachievementrate:query")] + public IActionResult GetProPlanAchievementrate(int Id) + { + var response = _ProPlanAchievementrateService.GetInfo(Id); + + var info = response.Adapt(); + return SUCCESS(info); + } + + /// + /// 添加日计划达成率 + /// + /// + [HttpPost] + [ActionPermissionFilter(Permission = "productManagement:proplanachievementrate:add")] + [Log(Title = "日计划达成率", BusinessType = BusinessType.INSERT)] + public IActionResult AddProPlanAchievementrate([FromBody] ProPlanAchievementrateDto parm) + { + var modal = parm.Adapt().ToCreate(HttpContext); + + var response = _ProPlanAchievementrateService.AddProPlanAchievementrate(modal); + + return SUCCESS(response); + } + + /// + /// 更新日计划达成率 + /// + /// + [HttpPut] + [ActionPermissionFilter(Permission = "productManagement:proplanachievementrate:edit")] + [Log(Title = "日计划达成率", BusinessType = BusinessType.UPDATE)] + public IActionResult UpdateProPlanAchievementrate([FromBody] ProPlanAchievementrateDto parm) + { + var modal = parm.Adapt().ToUpdate(HttpContext); + var response = _ProPlanAchievementrateService.UpdateProPlanAchievementrate(modal); + + return ToResponse(response); + } + + /// + /// 删除日计划达成率 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "productManagement:proplanachievementrate:delete")] + [Log(Title = "日计划达成率", BusinessType = BusinessType.DELETE)] + public IActionResult DeleteProPlanAchievementrate(string ids) + { + int[] idsArr = Tools.SpitIntArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + + var response = _ProPlanAchievementrateService.Delete(idsArr); + + return ToResponse(response); + } + + + + + } +} \ No newline at end of file diff --git a/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171640.zip b/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171640.zip deleted file mode 100644 index 2bccfb7..0000000 Binary files a/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171640.zip and /dev/null differ diff --git a/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171714.zip b/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171714.zip deleted file mode 100644 index a880acf..0000000 Binary files a/DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171714.zip and /dev/null differ diff --git a/DOAN.Model/MES/product/Dto/ProPlanAchievementrateDto.cs b/DOAN.Model/MES/product/Dto/ProPlanAchievementrateDto.cs new file mode 100644 index 0000000..62fccdb --- /dev/null +++ b/DOAN.Model/MES/product/Dto/ProPlanAchievementrateDto.cs @@ -0,0 +1,88 @@ +using System.ComponentModel.DataAnnotations; + +namespace DOAN.Model.MES.product.Dto +{ + /// + /// 日计划达成率查询对象 + /// + public class ProPlanAchievementrateQueryDto : PagerInfo + { + public string Project { get; set; } + } + + /// + /// 日计划达成率输入输出对象 + /// + public class ProPlanAchievementrateDto + { + [Required(ErrorMessage = "自增主键不能为空")] + public int Id { get; set; } + + public string Project { get; set; } + + public string AgroupMonitor { get; set; } + + public int? AgroupProductNum { get; set; } + + public int? AgroupStandardYield { get; set; } + + public int? AgroupPlanNum { get; set; } + + public decimal AgroupCompletionRate { get; set; } + + public string BgroupMonitor { get; set; } + + public int? BgroupProductNum { get; set; } + + public int? BgroupStandardYield { get; set; } + + public int? BgroupPlanNum { get; set; } + + public decimal BgroupCompletionRate { get; set; } + + public int? SummaryActualNum { get; set; } + + public int? SummaryPlanNum { get; set; } + + public decimal SummaryPlanAchievementRate { get; set; } + + public int? DownQuality { get; set; } + + public int? DownSuppler { get; set; } + + public int? DownDeviceFailure { get; set; } + + public int? DownDeviceDebug { get; set; } + + public int? DownLogisticsWaitMaterial { get; set; } + + public int? DownLackMaterial { get; set; } + + public int? DownProject { get; set; } + + public int? DownInjection { get; set; } + + public int? DownAssembly { get; set; } + + public int? AllLineStopTime { get; set; } + + public string MainProblemDescription { get; set; } + + public string Strategy { get; set; } + + public string ResponsiblePerson { get; set; } + + public DateTime? RecordDate { 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/DOAN.Model/MES/product/ProPlanAchievementrate.cs b/DOAN.Model/MES/product/ProPlanAchievementrate.cs new file mode 100644 index 0000000..69f8f2e --- /dev/null +++ b/DOAN.Model/MES/product/ProPlanAchievementrate.cs @@ -0,0 +1,207 @@ + +namespace DOAN.Model.MES.product +{ + /// + /// 日计划达成率 + /// + [SugarTable("pro_plan_achievementrate")] + public class ProPlanAchievementrate + { + /// + /// 自增主键 + /// + [SugarColumn(IsPrimaryKey = true, IsIdentity = false)] + public int Id { get; set; } + + /// + /// 项目号(线别) + /// + public string Project { get; set; } + + /// + /// A班组长 + /// + [SugarColumn(ColumnName = "agroup_monitor")] + public string AgroupMonitor { get; set; } + + /// + /// A班生产数量 + /// + [SugarColumn(ColumnName = "agroup_product_num")] + public int? AgroupProductNum { get; set; } + + /// + /// A班标准班产 + /// + [SugarColumn(ColumnName = "agroup_standard_yield")] + public int? AgroupStandardYield { get; set; } + + /// + /// A班计划数量 + /// + [SugarColumn(ColumnName = "agroup_plan_num")] + public int? AgroupPlanNum { get; set; } + + /// + /// A班完成率 + /// + [SugarColumn(ColumnName = "agroup_completion_rate")] + public decimal AgroupCompletionRate { get; set; } + + /// + /// B班组长 + /// + [SugarColumn(ColumnName = "bgroup_monitor")] + public string BgroupMonitor { get; set; } + + /// + /// B班生产数量 + /// + [SugarColumn(ColumnName = "bgroup_product_num")] + public int? BgroupProductNum { get; set; } + + /// + /// B班标准班产 + /// + [SugarColumn(ColumnName = "bgroup_standard_yield")] + public int? BgroupStandardYield { get; set; } + + /// + /// B班计划数量 + /// + [SugarColumn(ColumnName = "bgroup_plan_num")] + public int? BgroupPlanNum { get; set; } + + /// + /// B班完成率 + /// + [SugarColumn(ColumnName = "bgroup_completion_rate")] + public decimal BgroupCompletionRate { get; set; } + + /// + /// 日汇总-实际数 + /// + [SugarColumn(ColumnName = "summary_actual_num")] + public int? SummaryActualNum { get; set; } + + /// + /// 日汇总-计划数 + /// + [SugarColumn(ColumnName = "summary_plan_num")] + public int? SummaryPlanNum { get; set; } + + /// + /// 日汇总-计划达成率 + /// + [SugarColumn(ColumnName = "summary_plan_achievement_rate")] + public decimal SummaryPlanAchievementRate { get; set; } + + /// + /// 质量问题 + /// + [SugarColumn(ColumnName = "down_quality")] + public int? DownQuality { get; set; } + + /// + /// 供应商问题 + /// + [SugarColumn(ColumnName = "down_suppler")] + public int? DownSuppler { get; set; } + + /// + /// 设备故障 + /// + [SugarColumn(ColumnName = "down_device_failure")] + public int? DownDeviceFailure { get; set; } + + /// + /// 设备调试 + /// + [SugarColumn(ColumnName = "down_device_debug")] + public int? DownDeviceDebug { get; set; } + + /// + /// 物流待料 + /// + [SugarColumn(ColumnName = "down_logistics_wait_material")] + public int? DownLogisticsWaitMaterial { get; set; } + + /// + /// 缺货待料 + /// + [SugarColumn(ColumnName = "down_lack_material")] + public int? DownLackMaterial { get; set; } + + /// + /// 项目 + /// + [SugarColumn(ColumnName = "down_project")] + public int? DownProject { get; set; } + + /// + /// 注塑 + /// + [SugarColumn(ColumnName = "down_injection")] + public int? DownInjection { get; set; } + + /// + /// 装配 + /// + [SugarColumn(ColumnName = "down_assembly")] + public int? DownAssembly { get; set; } + + /// + /// 总停线时间 + /// + [SugarColumn(ColumnName = "all_line_stop_time")] + public int? AllLineStopTime { get; set; } + + /// + /// 主要问题描述 + /// + [SugarColumn(ColumnName = "main_problem_description")] + public string MainProblemDescription { get; set; } + + /// + /// 策略 + /// + public string Strategy { get; set; } + + /// + /// 责任人 + /// + [SugarColumn(ColumnName = "responsible_person")] + public string ResponsiblePerson { get; set; } + + /// + /// 记录日期 + /// + [SugarColumn(ColumnName = "record_date")] + public DateTime? RecordDate { 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/DOAN.Service/MES/product/IService/IProPlanAchievementrateService.cs b/DOAN.Service/MES/product/IService/IProPlanAchievementrateService.cs new file mode 100644 index 0000000..d6f7dbe --- /dev/null +++ b/DOAN.Service/MES/product/IService/IProPlanAchievementrateService.cs @@ -0,0 +1,24 @@ +using System; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.product; +using DOAN.Model.MES.product.Dto; +using System.Collections.Generic; + +namespace DOAN.Service.MES.product.IService +{ + /// + /// 日计划达成率service接口 + /// + public interface IProPlanAchievementrateService : IBaseService + { + PagedInfo GetList(ProPlanAchievementrateQueryDto parm); + + ProPlanAchievementrate GetInfo(int Id); + + ProPlanAchievementrate AddProPlanAchievementrate(ProPlanAchievementrate parm); + + int UpdateProPlanAchievementrate(ProPlanAchievementrate parm); + + } +} diff --git a/DOAN.Service/MES/product/ProPlanAchievementrateService.cs b/DOAN.Service/MES/product/ProPlanAchievementrateService.cs new file mode 100644 index 0000000..0ac32bb --- /dev/null +++ b/DOAN.Service/MES/product/ProPlanAchievementrateService.cs @@ -0,0 +1,111 @@ +using System; +using SqlSugar; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using DOAN.Model; +using DOAN.Model.Dto; +using DOAN.Model.MES.product; +using DOAN.Model.MES.product.Dto; +using DOAN.Repository; +using DOAN.Service.MES.product.IService; +using System.Linq; +namespace DOAN.Service.MES.product +{ + /// + /// 日计划达成率Service业务层处理 + /// + [AppService(ServiceType = typeof(IProPlanAchievementrateService), ServiceLifetime = LifeTime.Transient)] + public class ProPlanAchievementrateService : BaseService, IProPlanAchievementrateService + { + /// + /// 查询日计划达成率列表 + /// + /// + /// + public PagedInfo GetList(ProPlanAchievementrateQueryDto parm) + { + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Project), it => it.Project.Contains(parm.Project)) + + ; + + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); + + return response; + } + + + /// + /// 获取详情 + /// + /// + /// + public ProPlanAchievementrate GetInfo(int Id) + { + var response = Queryable() + .Where(x => x.Id == Id) + .First(); + + return response; + } + + /// + /// 添加日计划达成率 + /// + /// + /// + public ProPlanAchievementrate AddProPlanAchievementrate(ProPlanAchievementrate model) + { + return Context.Insertable(model).ExecuteReturnEntity(); + } + + /// + /// 修改日计划达成率 + /// + /// + /// + public int UpdateProPlanAchievementrate(ProPlanAchievementrate model) + { + //var response = Update(w => w.Id == model.Id, it => new ProPlanAchievementrate() + //{ + // Project = model.Project, + // AgroupMonitor = model.AgroupMonitor, + // AgroupProductNum = model.AgroupProductNum, + // AgroupStandardYield = model.AgroupStandardYield, + // AgroupPlanNum = model.AgroupPlanNum, + // AgroupCompletionRate = model.AgroupCompletionRate, + // BgroupMonitor = model.BgroupMonitor, + // BgroupProductNum = model.BgroupProductNum, + // BgroupStandardYield = model.BgroupStandardYield, + // BgroupPlanNum = model.BgroupPlanNum, + // BgroupCompletionRate = model.BgroupCompletionRate, + // SummaryActualNum = model.SummaryActualNum, + // SummaryPlanNum = model.SummaryPlanNum, + // SummaryPlanAchievementRate = model.SummaryPlanAchievementRate, + // DownQuality = model.DownQuality, + // DownSuppler = model.DownSuppler, + // DownDeviceFailure = model.DownDeviceFailure, + // DownDeviceDebug = model.DownDeviceDebug, + // DownLogisticsWaitMaterial = model.DownLogisticsWaitMaterial, + // DownLackMaterial = model.DownLackMaterial, + // DownProject = model.DownProject, + // DownInjection = model.DownInjection, + // DownAssembly = model.DownAssembly, + // AllLineStopTime = model.AllLineStopTime, + // MainProblemDescription = model.MainProblemDescription, + // Strategy = model.Strategy, + // ResponsiblePerson = model.ResponsiblePerson, + // RecordDate = model.RecordDate, + // CreatedBy = model.CreatedBy, + // CreatedTime = model.CreatedTime, + // UpdatedBy = model.UpdatedBy, + // UpdatedTime = model.UpdatedTime, + //}); + //return response; + return Update(model, true); + } + + } +} \ No newline at end of file