using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.Controllers
{
[ApiExplorerSettings(GroupName = "统计报表")]
[ApiController]
[Route("api/[controller]")]
[ChannelActionFilter]
public class ReportManagerController : Controller
{
//定义全局信息返回变量
ToMessage mes = new ToMessage();
RedisCommon redis = new RedisCommon();
#region[生产进度报表]
///
/// 生产进度报表
///
/// 工单状态
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 单据日期
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "ProductionScheduleReportSearch")]
[HttpGet]
public JsonResult ProductionScheduleReportSearch(int page, int rows, string prop, string order, string status = null, string wocode = null,string wkshopcode=null, string partcode = null, string partname = null, string partspec = null, string lm_date = null)
{
string opendate = ""; //开始时间
string closedate = ""; //结束时间
if (lm_date != "" && lm_date != null)
{
opendate = lm_date.Split('~')[0].ToString();
closedate = lm_date.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.ProductionScheduleReportSearch(status, wkshopcode, wocode,partcode, partname, partspec, opendate, closedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[生产进度报表导出]
///
/// 生产进度报表导出
///
/// 工单状态
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 单据日期
///
[Route(template: "ProductionScheduleReportExcelSearch")]
[HttpGet]
public JsonResult ProductionScheduleReportExcelSearch(string status = null, string wkshopcode = null, string wocode = null,string partcode = null, string partname = null, string partspec = null, string lm_date = null)
{
string opendate = ""; //开始时间
string closedate = ""; //结束时间
if (lm_date != "" && lm_date != null)
{
opendate = lm_date.Split('~')[0].ToString();
closedate = lm_date.Split('~')[1].ToString();
}
mes = ReportManagerBLL.ProductionScheduleReportExcelSearch(status, wkshopcode,wocode, partcode, partname, partspec, opendate, closedate);
return Json(mes);
}
#endregion
#region[班组工资报表记录查询]
///
/// 班组工资报表记录查询
///
/// 计算方式(逐道/末道)
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 生产班组
/// 操作人员
/// 操作时间
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "GroupSalaryReportSearch")]
[HttpGet]
public JsonResult GroupSalaryReportSearch(int page, int rows, string prop, string order, string compute,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string groupcode = null, string username = null, string operdate = null)
{
string operopendate = ""; //报工开始时间
string operclosedate = ""; //报工结束时间
if (operdate != "" && operdate != null)
{
operopendate = operdate.Split('~')[0].ToString();
operclosedate = operdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.GroupSalaryReportSearch(compute, wkshopcode, wocode, partcode, partname, partspec, stepname, groupcode, username, operopendate, operclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[班组工资报表记录查看报工人员]
///
/// 班组工资报表记录查看报工人员
///
/// 报工记录主表id
///
[Route(template: "GroupSalaryReportSearchUser")]
[HttpGet]
public JsonResult GroupSalaryReportSearchUser(string id)
{
mes = ReportManagerBLL.GroupSalaryReportSearchUser(id);
return Json(mes);
}
#endregion
#region[班组工资报表记录导出]
///
/// 班组工资报表记录查询
///
/// 计算方式(逐道/末道)
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 生产班组
/// 操作人员
/// 操作时间
///
[Route(template: "GroupSalaryReportExcelSearch")]
[HttpGet]
public JsonResult GroupSalaryReportExcelSearch(string compute,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string groupcode = null, string username = null, string operdate = null)
{
string operopendate = ""; //报工开始时间
string operclosedate = ""; //报工结束时间
if (operdate != "" && operdate != null)
{
operopendate = operdate.Split('~')[0].ToString();
operclosedate = operdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.GroupSalaryReportExcelSearch(compute,wkshopcode, wocode, partcode, partname, partspec, stepname, groupcode, username, operopendate, operclosedate);
return Json(mes);
}
#endregion
#region[人员工资明细报表]
///
/// 人员工资明细报表
///
/// 计算方式(逐道/末道)
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序编号
/// 工序名称
/// 报工人员
/// 报工时间
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "PeopleSalaryReportSearch")]
[HttpGet]
public JsonResult PeopleSalaryReportSearch(int page, int rows, string prop, string order, string compute,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null,string stepcode=null, string stepname = null, string reportname = null, string reportdate = null)
{
string reportopendate = ""; //报工开始时间
string reportclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportopendate = reportdate.Split('~')[0].ToString();
reportclosedate = reportdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.PeopleSalaryReportSearch(compute, wkshopcode, wocode, partcode, partname, partspec, stepcode, stepname, reportname, reportopendate, reportclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[人员工资明细报表导出]
///
/// 人员工资明细报表导出
///
/// 计算方式(逐道/末道)
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序编号
/// 工序名称
/// 报工人员
/// 报工时间
///
[Route(template: "PeopleSalaryReportExcelSearch")]
[HttpGet]
public JsonResult PeopleSalaryReportExcelSearch(string compute,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null,string stepcode=null, string stepname = null, string reportname = null, string reportdate = null)
{
string reportopendate = ""; //报工开始时间
string reportclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportopendate = reportdate.Split('~')[0].ToString();
reportclosedate = reportdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.PeopleSalaryReportExcelSearch(compute, wkshopcode, wocode, partcode, partname, partspec,stepcode,stepname, reportname, reportopendate, reportclosedate);
return Json(mes);
}
#endregion
#region[委外报表记录查询]
///
/// 委外报表记录查询
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 供方名称
/// 操作类型
/// 收料时间
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "OutSourceReportSearch")]
[HttpGet]
public JsonResult OutSourceReportSearch(int page, int rows, string prop, string order,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string suppername = null, string type = null, string receivdate = null)
{
string receivopendate = ""; //收料开始时间
string receivclosedate = ""; //收料结束时间
if (receivdate != "" && receivdate != null)
{
receivopendate = receivdate.Split('~')[0].ToString();
receivclosedate = receivdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.OutSourceReportSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, suppername, type, receivopendate, receivclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[委外报表记录导出]
///
/// 委外报表记录导出
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 供方名称
/// 操作类型
/// 收料时间
///
[Route(template: "OutSourceReportExcelSearch")]
[HttpGet]
public JsonResult OutSourceReportExcelSearch(string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string suppername = null, string type = null, string receivdate = null)
{
string receivopendate = ""; //收料开始时间
string receivclosedate = ""; //收料结束时间
if (receivdate != "" && receivdate != null)
{
receivopendate = receivdate.Split('~')[0].ToString();
receivclosedate = receivdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.OutSourceReportExcelSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, suppername, type, receivopendate, receivclosedate);
return Json(mes);
}
#endregion
#region[不良明细报表]
///
/// 不良明细报表
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 缺陷代码
/// 缺陷名称
/// 报工人员
/// 报工时间
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "DefectDetailsReportSearch")]
[HttpGet]
public JsonResult DefectDetailsReportSearch(int page, int rows, string prop, string order,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string defectcode = null, string defectname = null, string reportname = null, string reportdate = null)
{
string reportopendate = ""; //报工开始时间
string reportclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportopendate = reportdate.Split('~')[0].ToString();
reportclosedate = reportdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.DefectDetailsReportSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, defectcode, defectname, reportname, reportopendate, reportclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[不良明细报表导出]
///
/// 不良明细报表导出
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 缺陷代码
/// 缺陷名称
/// 报工人员
/// 报工时间
///
[Route(template: "DefectDetailsReportExcelSearch")]
[HttpGet]
public JsonResult DefectDetailsReportExcelSearch(string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string defectcode = null, string defectname = null, string reportname = null, string reportdate = null)
{
string reportopendate = ""; //报工开始时间
string reportclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportopendate = reportdate.Split('~')[0].ToString();
reportclosedate = reportdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.DefectDetailsReportExcelSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, defectcode, defectname, reportname, reportopendate, reportclosedate);
return Json(mes);
}
#endregion
#region[维修明细报表]
///
/// 维修明细报表
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 操作类型
/// 缺陷名称
/// 维修人员
/// 维修时间
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "MaintenanceDetailsReportSearch")]
[HttpGet]
public JsonResult MaintenanceDetailsReportSearch(int page, int rows, string prop, string order,string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string style = null, string defectname = null, string repairname = null, string repairdate = null)
{
string repairopendate = ""; //维修开始时间
string repairclosedate = ""; //维修结束时间
if (repairdate != "" && repairdate != null)
{
repairopendate = repairdate.Split('~')[0].ToString();
repairclosedate = repairdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.MaintenanceDetailsReportSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, style, defectname, repairname, repairopendate, repairclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[维修明细报表导出]
///
/// 维修明细报表导出
///
/// 车间编号
/// 工单编号
/// 产品编码
/// 产品名称
/// 规格型号
/// 工序名称
/// 操作类型
/// 缺陷名称
/// 维修人员
/// 维修时间
///
[Route(template: "MaintenanceDetailsReportExcelSearch")]
[HttpGet]
public JsonResult MaintenanceDetailsReportExcelSearch(string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string style = null, string defectname = null, string repairname = null, string repairdate = null)
{
string repairopendate = ""; //维修开始时间
string repairclosedate = ""; //维修结束时间
if (repairdate != "" && repairdate != null)
{
repairopendate = repairdate.Split('~')[0].ToString();
repairclosedate = repairdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.MaintenanceDetailsReportExcelSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, style, defectname, repairname, repairopendate, repairclosedate);
return Json(mes);
}
#endregion
#region[报工记录列表数据查询]
///
/// 报工记录列表数据查询
///
/// 车间编码
/// 工单编号
/// 产品编码
/// 产品名称
/// 产品规格
/// 报工工序
/// 报工设备
/// 报工人员
/// 报工时间
/// 页码
/// 每页条数
/// 排序字段
/// 排序规则
///
[Route(template: "MesOrderStepReportSearch")]
[HttpGet]
public JsonResult MesOrderStepReportSearch(string wkshopcode = null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null, string stepname = null,string eqpcode=null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
{
string reportdateopendate = ""; //报工开始时间
string reportdateclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportdateopendate = reportdate.Split('~')[0].ToString();
reportdateclosedate = reportdate.Split('~')[1].ToString();
}
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ReportManagerBLL.MesOrderStepReportSearch(wkshopcode, wo_code, partnumber, partname, partspec, stepname,eqpcode, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[报工记录列表数据导出]
///
/// 报工记录列表数据导出
///
/// 车间编码
/// 工单编号
/// 产品编码
/// 产品名称
/// 产品规格
/// 报工工序
/// 报工设备
/// 报工人员
/// 报工时间
///
[Route(template: "MesOrderStepReportExcelSearch")]
[HttpGet]
public JsonResult MesOrderStepReportExcelSearch(string wkshopcode = null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null, string stepname = null, string eqpcode = null, string reportuser = null, string reportdate = null)
{
string reportdateopendate = ""; //报工开始时间
string reportdateclosedate = ""; //报工结束时间
if (reportdate != "" && reportdate != null)
{
reportdateopendate = reportdate.Split('~')[0].ToString();
reportdateclosedate = reportdate.Split('~')[1].ToString();
}
mes = ReportManagerBLL.MesOrderStepReportExcelSearch(wkshopcode, wo_code, partnumber, partname, partspec, stepname, eqpcode, reportuser, reportdateopendate, reportdateclosedate);
return Json(mes);
}
#endregion
}
}