using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using VueWebApi.DLL.BLL; using VueWebApi.Tools; namespace VueWebApi.Controllers { [RoutePrefix(prefix: "api/ReportManager")] [ControllerGroup("报表管理", "在线接口")] [ChannelActionFilter] public class ReportManagerController : ApiController { //定义全局信息返回变量 ToMessage mes = new ToMessage(); RedisHelper redis = new RedisHelper(); #region[委外报表记录查询] /// /// 委外报表记录查询 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 供方名称 /// 操作类型 /// 收料时间 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "OutSourceReportSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[委外报表记录导出] /// /// 委外报表记录导出 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 供方名称 /// 操作类型 /// 收料时间 /// [Route(template: "OutSourceReportExcelSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[班组工资报表记录查询] /// /// 班组工资报表记录查询 /// /// 计算方式(逐道/末道) /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 生产班组 /// 操作人员 /// 操作时间 /// 剔除工序(固定薪资工序不参与计算) /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "GroupSalaryReportSearch")] [HttpGet] public HttpResponseMessage 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 rejectstepcode=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, rejectstepcode, startNum, endNum, prop, order); return TJson.toJson(mes); } #endregion #region[班组工资报表记录查看报工人员] /// /// 班组工资报表记录查看报工人员 /// /// 报工记录主表id /// [Route(template: "GroupSalaryReportSearchUser")] [HttpGet] public HttpResponseMessage GroupSalaryReportSearchUser(string id) { mes = ReportManagerBLL.GroupSalaryReportSearchUser(id); return TJson.toJson(mes); } #endregion #region[班组工资报表记录导出] /// /// 班组工资报表记录查询 /// /// 计算方式(逐道/末道) /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 生产班组 /// 操作人员 /// 操作时间 /// 剔除工序(固定薪资工序不参与计算) /// [Route(template: "GroupSalaryReportExcelSearch")] [HttpGet] public HttpResponseMessage 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 rejectstepcode=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, rejectstepcode); return TJson.toJson(mes); } #endregion #region[人员工资明细报表] /// /// 人员工资明细报表 /// /// 计算方式(逐道/末道) /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 生产班组 /// 报工人员 /// 报工时间 /// 剔除工序(固定薪资工序不参与计算) /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "PeopleSalaryReportSearch")] [HttpGet] public HttpResponseMessage PeopleSalaryReportSearch(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 reportname = null, string reportdate = null,string rejectstepcode=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, stepname, groupcode, reportname, reportopendate, reportclosedate, rejectstepcode, startNum, endNum, prop, order); return TJson.toJson(mes); } #endregion #region[人员工资明细报表导出] /// /// 人员工资明细报表导出 /// /// 计算方式(逐道/末道) /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 生产班组 /// 报工人员 /// 报工时间 /// 剔除工序(固定薪资工序不参与计算) /// [Route(template: "PeopleSalaryReportExcelSearch")] [HttpGet] public HttpResponseMessage PeopleSalaryReportExcelSearch(string compute,string wocode = null, string partcode = null, string partname = null, string partspec = null, string stepname = null, string groupcode = null, string reportname = null, string reportdate = null,string rejectstepcode=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, stepname, groupcode, reportname, reportopendate, reportclosedate, rejectstepcode); return TJson.toJson(mes); } #endregion #region[不良明细报表] /// /// 不良明细报表 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 缺陷代码 /// 缺陷名称 /// 报工人员 /// 报工时间 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "DefectDetailsReportSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[不良明细报表导出] /// /// 不良明细报表导出 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 缺陷代码 /// 缺陷名称 /// 报工人员 /// 报工时间 /// [Route(template: "DefectDetailsReportExcelSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[品质异常排行报表(取报工不良记录缺陷分组汇总条数)] /// /// 品质异常排行报表 /// /// [Route(template: "QuaneryDefectReportSearch")] [HttpGet] public HttpResponseMessage QuaneryDefectReportSearch() { mes = ReportManagerBLL.QuaneryDefectReportSearch(); return TJson.toJson(mes); } #endregion #region[维修明细报表] /// /// 维修明细报表 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 操作类型 /// 缺陷名称 /// 维修人员 /// 维修时间 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "MaintenanceDetailsReportSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[维修明细报表导出] /// /// 维修明细报表导出 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 规格型号 /// 工序名称 /// 操作类型 /// 缺陷名称 /// 维修人员 /// 维修时间 /// [Route(template: "MaintenanceDetailsReportExcelSearch")] [HttpGet] public HttpResponseMessage 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 TJson.toJson(mes); } #endregion #region[生产进度报表] /// /// 生产进度报表 /// /// 工单状态 /// 工单编号 /// 工艺路线编码 /// 工艺路线名称 /// 产品编码 /// 产品名称 /// 规格型号 /// 单据日期 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "ProductionScheduleReportSearch")] [HttpGet] public HttpResponseMessage ProductionScheduleReportSearch(int page, int rows, string prop, string order, string status = null, string wocode = null, string routecode = null, string routename = 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, routecode, routename, partcode, partname, partspec, opendate, closedate, startNum, endNum, prop, order); return TJson.toJson(mes); } #endregion #region[生产进度报表导出] /// /// 生产进度报表导出 /// /// 工单状态 /// 工单编号 /// 工艺路线编码 /// 工艺路线名称 /// 产品编码 /// 产品名称 /// 规格型号 /// 单据日期 /// [Route(template: "ProductionScheduleReportExcelSearch")] [HttpGet] public HttpResponseMessage ProductionScheduleReportExcelSearch(string status = null, string wocode = null, string routecode = null, string routename = 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, routecode, routename, partcode, partname, partspec, opendate, closedate); return TJson.toJson(mes); } #endregion } }