This commit is contained in:
qianhao.xu
2024-12-10 14:57:07 +08:00
parent 2303bd4363
commit ccbf33c140
13 changed files with 386 additions and 452 deletions

View File

@@ -1,42 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using DOAN.Admin.WebApi.Filters;
using DOAN.Service.MES.bigScreen.IService;
using DOAN.Infrastructure;
namespace DOAN.WebApi.Controllers.MES.BigScreen
{
/// <summary>
/// 设备台账
/// </summary>
[Verify]
[Route("mes/bigscreen/materialprogress")]
public class MaterialProgressScreenController : BaseController
{
private readonly IMaterialProgressService materialProgressService;
public MaterialProgressScreenController(IMaterialProgressService materialProgressService)
{
this.materialProgressService = materialProgressService;
}
/// <summary>
/// 查看备料进度大屏
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
/// <exception cref="CustomException"></exception>
[HttpGet("view_Material_paration_progress")]
public IActionResult ViewMaterialParationProgress(DateTime dateTime)
{
dateTime = ConvertDateTime.ConvertLocalDate(dateTime);
if (dateTime == DateTime.MinValue) { throw new CustomException("dateTime 为空"); }
var response = materialProgressService.ViewMaterialParationProgress(dateTime);
return SUCCESS(response);
}
}
}

View File

@@ -1,148 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using DOAN.Admin.WebApi.Filters;
using DOAN.Service.MES.bigScreen.IService;
using DOAN.Infrastructure;
using DOAN.Model.MES.bigscreen.Dto;
using DOAN.Model.mes.echarts;
namespace DOAN.WebApi.Controllers.MES.BigScreen
{
/// <summary>
/// 生产大屏2 version 2
/// </summary>
[AllowAnonymous]
[Route("mes/bigscreen/product2")]
public class Product2Controller : BaseController
{
private readonly IProduct2BigScreenService productBigScreenService;
public Product2Controller(IProduct2BigScreenService _product2BigScreenService)
{
productBigScreenService = _product2BigScreenService;
}
/// <summary>
/// 数字牌
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle01")]
public IActionResult GetMoudle01()
{
var response = productBigScreenService.GetMoudle01();
return SUCCESS(response);
}
/// <summary>
/// 班组进度统计
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle02")]
public IActionResult GetMoudle02()
{
var response = productBigScreenService.GetMoudle02();
return SUCCESS(response);
}
/// <summary>
/// 昨天 班组报工数 和计划数对比
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle03")]
public IActionResult GetMoudle03()
{
var response = productBigScreenService.GetMoudle03();
return SUCCESS(response);
}
/// <summary>
/// 昨天 班组报工数 和计划数对比 折线图 不完成TOP
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle09")]
public IActionResult GetMoudle09()
{
var response = productBigScreenService.GetMoudle09();
return SUCCESS(response);
}
/// <summary>
/// 上周 班组报工数 和计划数对比
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle04")]
public IActionResult GetMoudle04()
{
var response = productBigScreenService.GetMoudle04();
return SUCCESS(response);
}
/// <summary>
/// 上周 班组报工数 和计划数对比 折线图 不完成TOP
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle10")]
public IActionResult GetMoudle10()
{
var response = productBigScreenService.GetMoudle10();
return SUCCESS(response);
}
/// <summary>
/// 今天异常工单
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle05")]
public IActionResult GetMoudle05()
{
var response = productBigScreenService.GetMoudle05();
return SUCCESS(response);
}
/// <summary>
/// 本月 工单达成率
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle06")]
public IActionResult GetMoudle06()
{
var response = productBigScreenService.GetMoudle06();
return SUCCESS(response);
}
/// <summary>
/// 本月 生产产品 top10
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle07")]
public IActionResult GetMoudle07()
{
var response = productBigScreenService.GetMoudle07();
return SUCCESS(response);
}
/// <summary>
/// 本月 报工不满原因 top10
/// </summary>
/// <returns></returns>
[HttpGet("getMoudle77")]
public IActionResult GetMoudle77()
{
var response = productBigScreenService.GetMoudle77();
return SUCCESS(response);
}
[HttpGet("getMoudle08")]
public IActionResult GetMoudle08()
{
var response = productBigScreenService.GetMoudle08();
return SUCCESS(response);
}
}
}

View File

@@ -1,120 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using DOAN.Admin.WebApi.Filters;
using DOAN.Service.MES.bigScreen.IService;
using DOAN.Infrastructure;
using DOAN.Model.MES.bigscreen.Dto;
using DOAN.Model.mes.echarts;
namespace DOAN.WebApi.Controllers.MES.BigScreen
{
/// <summary>
/// 生产大屏
/// </summary>
[AllowAnonymous]
[Route("mes/bigscreen/product")]
public class ProductController : BaseController
{
private readonly IProductBigScreenService productBigScreenService;
public ProductController(IProductBigScreenService _productBigScreenService)
{
productBigScreenService = _productBigScreenService;
}
// GET ProductBigScreenMoudle01Dto
/// <summary>
/// 获取产量
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle01")]
public IActionResult GetMoudle01()
{
ProductBigScreenMoudle01Dto response = productBigScreenService.GetMoudle01();
return SUCCESS(response);
}
/// <summary>
/// 前7日产量趋势统计图 (折线图)
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle02")]
public IActionResult GetMoudle02()
{
EchartsOptions response= productBigScreenService.GetMoudle02();
return SUCCESS(response);
}
/// <summary>
/// 前7日工单趋势统计图 (直方图)
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle03")]
public IActionResult GetMoudle03()
{
EchartsOptions response= productBigScreenService.GetMoudle03();
return SUCCESS(response);
}
/// <summary>
/// 今日超时工单占比
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle04")]
public IActionResult GetMoudle04()
{
EchartsOptions response= productBigScreenService.GetMoudle04();
return SUCCESS(response);
}
/// <summary>
/// 前七日工单异常分布占比
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle05")]
public IActionResult GetMoudle05()
{
EchartsOptions response= productBigScreenService.GetMoudle05();
return SUCCESS(response);
}
/// <summary>
/// 获取今日工单列表
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle06")]
public IActionResult GetMoudle06()
{
var response= productBigScreenService.GetMoudle06();
return SUCCESS(response);
}
/// <summary>
/// 获取今日异常工单列表
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle07")]
public IActionResult GetMoudle07()
{
var response= productBigScreenService.GetMoudle07();
return SUCCESS(response);
}
/// <summary>
/// 获取昨天工单报工数
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle08")]
public IActionResult GetMoudle08()
{
var response= productBigScreenService.GetMoudle08();
return SUCCESS(response);
}
}
}

View File

@@ -1,141 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using DOAN.Admin.WebApi.Filters;
using DOAN.Service.MES.bigScreen.IService;
using DOAN.Infrastructure;
namespace DOAN.WebApi.Controllers.MES.BigScreen
{
/// <summary>
/// 质量大屏
/// </summary>
[AllowAnonymous]
[Route("mes/bigscreen/quality")]
public class QualityController : BaseController
{
private readonly IQualityBigScreenService bigScreenService;
public QualityController(IQualityBigScreenService bigScreenService)
{
this.bigScreenService=bigScreenService;
}
/// <summary>
/// 获取数字翻牌器
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle01")]
public IActionResult GetMoudle00()
{
var response = bigScreenService.GetMoudle00();
return SUCCESS(response);
}
/// <summary>
/// 获取昨天 IQC list
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle02")]
public IActionResult GetMoudle10()
{
var response = bigScreenService.GetMoudle10();
return SUCCESS(response);
}
/// <summary>
/// 获取昨日IQC 缺陷饼图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle03")]
public IActionResult GetMoudle01()
{
var response = bigScreenService.GetMoudle01();
return SUCCESS(response);
}
/// <summary>
/// 获取本月 IQC 缺陷折线图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle04")]
public IActionResult GetMoudle04()
{
var response = bigScreenService.GetMoudle04();
return SUCCESS(response);
}
/// <summary>
/// 获取昨天 IPQC list
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle05")]
public IActionResult GetMoudle11()
{
var response = bigScreenService.GetMoudle11();
return SUCCESS(response);
}
/// <summary>
/// 获取昨日IPQC 缺陷饼图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle06")]
public IActionResult GetMoudle02()
{
var response = bigScreenService.GetMoudle02();
return SUCCESS(response);
}
/// <summary>
/// 获取本月 IPQC 缺陷折线图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle07")]
public IActionResult GetMoudle05()
{
var response = bigScreenService.GetMoudle05();
return SUCCESS(response);
}
/// <summary>
/// 获取昨天 FQC list
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle08")]
public IActionResult GetMoudle12()
{
var response = bigScreenService.GetMoudle12();
return SUCCESS(response);
}
/// <summary>
/// 获取今日FQC 缺陷饼图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle09")]
public IActionResult GetMoudle03()
{
var response = bigScreenService.GetMoudle03();
return SUCCESS(response);
}
/// <summary>
/// 获取本月 FQC 缺陷折线图
/// </summary>
/// <returns></returns>
[HttpGet("get_moudle10")]
public IActionResult GetMoudle06()
{
var response = bigScreenService.GetMoudle06();
return SUCCESS(response);
}
}
}

View File

@@ -17,6 +17,7 @@
"IsAutoCloseConnection": true,
"DbName": "bzfm_mes" //代码生成默认连接数据库,Oracle库是实例的名称
},
"ShowDbLog": true, //是否打印db日志
"urls": "http://localhost:8888", //项目启动url如果改动端口前端对应devServer也需要进行修改
"corsUrls": [ "http://localhost:8887", "http://localhost:8886", "http://localhost:9090", "http://localhost:8080" ] //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开
}

View File

@@ -17,6 +17,7 @@
"IsAutoCloseConnection": true,
"DbName": "bzfm_mes" //代码生成默认连接数据库,Oracle库是实例的名称
},
"ShowDbLog": false, //是否打印db日志
"urls": "http://0.0.0.0:8888", //项目启动url如果改动端口前端对应devServer也需要进行修改
"corsUrls": [ "http://localhost:8887", "http://localhost:8886", "http://localhost:9090", "http://localhost:8080" ] //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开
}

View File

@@ -18,7 +18,7 @@
"TokenType": "Bearer"
},
"InjectClass": [ "DOAN.Repository", "DOAN.Service", "DOAN.Tasks", "DOAN.ServiceCore" ], //自动注入类
"ShowDbLog": true, //是否打印db日志
"InitDb": false, //(新建项目的时候需要)是否初始化db
"DemoMode": false, //是否演示模式
"SingleLogin": false, //是否允许多设备/浏览器登录

View File

@@ -0,0 +1,73 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOAN.Model.MES.bigscreen.Dto
{
public class MaterialProgressDto
{
public DateTime Date { get; set; }
/// <summary>
/// 产线 code
/// </summary>
public string LineCode { get; set; }
/// <summary>
/// 产线 name
/// </summary>
public string LineName { get; set; }
public List<MaterialInfo> materialInfos { get; set; }
}
public class MaterialProgressDto2
{
public DateTime Date { get; set; }
/// <summary>
/// 产线 code
/// </summary>
public string LineCode { get; set; }
/// <summary>
/// 产线 name
/// </summary>
public string LineName { get; set; }
public string MaterialCode { get; set; }
public string MaterialName { get; set; }
public decimal PlanNum { get; set; }
public decimal ActualNum { get; set; }
}
public class MaterialInfo
{
public string MaterialCode { get; set; }
public string MaterialName { get; set; }
public decimal PlanNum { get; set; }
public decimal ActualNum { get; set; }
}
}

View File

@@ -0,0 +1,114 @@
namespace DOAN.Model.MES.bigscreen.Dto
{
public class ProductBigScreenMoudle01Dto
{
/// <summary>
/// 当日产量
/// </summary>
public int TodayOutputQuantity { get; set; }
/// <summary>
/// 当日工单
/// </summary>
public int TodayWorkOrderQuantity { get; set; }
/// <summary>
/// 当周产量
/// </summary>
public int WeekOutputQuantity { get; set; }
/// <summary>
/// 当周工单
/// </summary>
public int WeekWorkOrderQuantity { get; set; }
/// <summary>
/// 今天异常工单数
/// </summary>
public int TodayExceptionWorkOrderQuantity { get; set; }
/// <summary>
/// 本周异常工单数
/// </summary>
public int WeekExceptionWorkOrderQuantity { get; set; }
}
public class ProductBigScreenMoudle02Dto
{
/// <summary>
/// 今日班组数
/// </summary>
public int TodayGroupQuantity { get; set; }
/// <summary>
/// 今日产线数
/// </summary>
public int TodayLineQuantity { get; set; }
/// <summary>
/// 今天计划数
/// </summary>
public int TodayPlanQuantity { get; set; }
/// <summary>
/// 今日实际产量数
/// </summary>
public int TodayActionProductionQuantity { get; set; }
/// <summary>
/// 今日产成品种类数
/// </summary>
public int TodayProductTypeQuantity { get; set; }
/// <summary>
/// 七日计划变更数
/// </summary>
public int SevenDaysPriorPlanQuantity { get; set; }
}
/// <summary>
/// 今日班组产量进度
/// </summary>
public class TodayGroupProductionProgress
{
//组code
public string GroupCode { get; set; }
//计划数
public int PlanQuantity { get; set; }
/// <summary>
///报工数
/// </summary>
public int ReportQuantity { get; set; }
}
public class TodayExceptionWorkOrder
{
/// <summary>
/// 工单号
/// </summary>
public string workorder { get; set; }
/// <summary>
/// 描述
/// </summary>
public string description { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
namespace DOAN.Model.MES.bigscreen.Dto
{
/// <summary>
/// 数字翻牌器
/// </summary>
public class QualityBigScreenDto
{
/// <summary>
/// 本周IQC
/// </summary>
public decimal WeekIQCquantity { get; set; }
/// <summary>
/// 本月IQC
/// </summary>
public decimal MonthIQCquantity { get; set; }
/// <summary>
/// 本周IPQC
/// </summary>
public decimal WeekIPQCquantity { get; set; }
/// <summary>
/// 本月IPQC
/// </summary>
public decimal MonthIPQCquantity { get; set; }
/// <summary>
/// 本月FQC
/// </summary>
public decimal WeekFQCquantity { get; set; }
/// <summary>
/// 本月FQC
/// </summary>
public decimal MonthFQCquantity { get; set; }
}
/// <summary>
/// 缺陷list
/// </summary>
public class DefectBigScreenDto
{
/// <summary>
/// 产线
/// </summary>
public string LineCode { get; set; }
/// <summary>
/// 缺陷描述
/// </summary>
public string DefectDesciption { get; set; }
/// <summary>
/// 缺陷数量
/// </summary>
public decimal DefectQuantity { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
namespace DOAN.Model.MES.bigscreen.Dto;
public class WorkOrderBigScreenDto
{
/// <summary>
/// 工单号
/// </summary>
public string Workorder { get; set; }
/// <summary>
/// 产品名称
/// </summary>
public string ProductionName { get; set; }
/// <summary>
/// 存货编码
/// </summary>
public string ProductionCode { get; set; }
/// <summary>
/// 派发数量
/// </summary>
public int? DispatchNum { get; set; }
/// <summary>
/// 完成数量
/// </summary>
public int? FinishedNum { get; set; }
/// <summary>
/// 状态
/// </summary>
public int? Status { get; set; }
}

View File

@@ -0,0 +1,98 @@
using Newtonsoft.Json.Converters;
namespace DOAN.Model.mes.echarts
{
/// <summary>
/// echarts 通用Options返回值
/// </summary>
public class EchartsOptions
{
public EchartsTitle Title { get; set; } = null;
public EchartsXAxis XAxis { get; set; } = null;
public EchartsYAxis YAxis { get; set; } = null;
public List<EchartsSeries> Series { get; set; } = new List<EchartsSeries>();
}
/// <summary>
/// echarts图表标题
///</summary>
public class EchartsTitle
{
public EchartsTitle(string Text,string SubText)
{
this.Text = Text;
this.SubText = SubText;
}
public EchartsTitle(){}
public string Text { get; set; } = string.Empty;
public string SubText { get; set; } = string.Empty;
}
/// <summary>
/// echarts X轴
///</summary>
public class EchartsXAxis
{
public List<string> Data { get; set; } = new List<string>();
// public string[] Data { get; set; } =Array.Empty<string>();
// value 数值轴,适用于连续数据 category 类目轴,适用于离散的类目数据 time 时间轴,适用于连续的时序数据 log 对数轴。适用于对数数据
public string Type { get; set; } = "category";
public string Max { get; set; }
public string Min { get; set; }
}
/// <summary>
/// echarts Y轴
///</summary>
public class EchartsYAxis
{
public List<string> Data { get; set; } = new List<string>();
// value 数值轴,适用于连续数据 category 类目轴,适用于离散的类目数据 time 时间轴,适用于连续的时序数据 log 对数轴。适用于对数数据
public string Type { get; set; } = "category";
public string Max { get; set; }
public string Min { get; set; }
}
/// <summary>
/// echarts图表series返回值
///</summary>
public class EchartsSeries
{
/// <summary>
/// 标签名称
/// </summary>
public string Name { get; set; } = "category";
/// <summary>
/// bar-柱状图 line-折线图 EchartsSeriesType enum结构
/// </summary>
public string Type { get; set; } = "bar";
/// <summary>
/// 参数值
/// </summary>
public List<EchartsSeriesData> Data { get; set; } = new List<EchartsSeriesData>();
}
/// <summary>
/// echarts图表series返回值内容
///</summary>
public class EchartsSeriesData
{
/// <summary>
/// 标签名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 参数值
/// </summary>
public decimal Value { get; set; } = new decimal();
}
}