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(); RedisHelper redis = new RedisHelper(); #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 wkshopname=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, wocode, wkshopcode,wkshopname, 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 wocode = null, string wkshopcode = null, string wkshopname = 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, wocode, wkshopcode, wkshopname, 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 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, 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 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, 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 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, 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 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, 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 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(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 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(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 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(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 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(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 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(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 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(wocode, partcode, partname, partspec, stepname, style, defectname, repairname, repairopendate, repairclosedate); return Json(mes); } #endregion } }