From ac59c97c74eba764e956c844f5030d66263fce48 Mon Sep 17 00:00:00 2001 From: gcw_MV9p2JJN Date: Thu, 16 Oct 2025 19:51:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E8=AE=A1=E5=88=92=E8=BE=BE=E6=88=90?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProPlanAchievementrateController.cs | 110 ++++++++++ .../DOANAdmin.NET-工艺路线表-0919171640.zip | Bin 8178 -> 0 bytes .../DOANAdmin.NET-工艺路线表-0919171714.zip | Bin 8178 -> 0 bytes .../product/Dto/ProPlanAchievementrateDto.cs | 88 ++++++++ .../MES/product/ProPlanAchievementrate.cs | 207 ++++++++++++++++++ .../IProPlanAchievementrateService.cs | 24 ++ .../product/ProPlanAchievementrateService.cs | 111 ++++++++++ 7 files changed, 540 insertions(+) create mode 100644 DOAN.Admin.WebApi/Controllers/MES/product/ProPlanAchievementrateController.cs delete mode 100644 DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171640.zip delete mode 100644 DOAN.Admin.WebApi/wwwroot/Generatecode/DOANAdmin.NET-工艺路线表-0919171714.zip create mode 100644 DOAN.Model/MES/product/Dto/ProPlanAchievementrateDto.cs create mode 100644 DOAN.Model/MES/product/ProPlanAchievementrate.cs create mode 100644 DOAN.Service/MES/product/IService/IProPlanAchievementrateService.cs create mode 100644 DOAN.Service/MES/product/ProPlanAchievementrateService.cs 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 2bccfb7a11e2c12a63b1b1de0bba456e985751b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8178 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 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 a880acf799dc25f02897e532d16949f39c33ac00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8178 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
%L$unLB*%BI z{xb;fXXap>6oofgv2nBTKfk-ckvS#`$$w2y+K1Wi)YZn^HwAfBfa)FDSUhuV^9($=Fe6->F0|1;aoc^sb!n4}l1aH4qd` z#iJ>PqvfzEHy`m+<*wf|0MEK)s=7^5b^=pL&ZUxh93*;rx}o~W4=aR^?7T{sq*_Tv z5$DvxrMv1Q6^G-|2Qmre+f$A+SSp1rSMwOe-+SRO-eHqb=UamX!g1>yY*LY9Cp*8# zjNiAPm_@9Kcuy_q%r8pw@M^y*?M0rXt3sJY)!p<24l!j$L$Is|mwV;JqP(J5Nv+q- z*^ccAc}>Y!bxbF#i9|pxz=ZZQ6ks99_Pw+4*#?%>Ln> zDvQt|OlWRA0t&l>M4uET=lg)g6FdYORWc_*+L|vUZQq?Irxk+qQla)pLK>u*@U7FU zw!6m|C<_qlAHl`X4=F3kjUF+LkwnNpGRfS?rCHyG))wc<% zFw|q--`~(;si+kp zhpb^h$tq}7NdZ%~dIz=)Zn`zf6JL5ZxthNtK z?*qDiU6^P+)psZ-I??ZFA3wJgUyfEs9SFi%_d|Ck%upqI_CT9|I7Vwe7{54cam@mV zet@E)d_y6zZdA5GfuHAkhBi5`uM@&~yB(np{UMU1wqjbXh1W;0=+>>AEGdog9Gfx! zeXn?*rbSnx1g?S>OT)Y2mMLXODrIbU9lj?K6?q6qEWrP4V!n(A|LyuWmget)emBH^ zMR|Og82=yavEKoH_XU0dXu|vn@c-`;{0{p2PVyJ13c{bD|H+2(_wc{(xqgM$eVNz( zb!h)5{Qqw2^?Uf=wLL2$?!N%W&6^Vd 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