1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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[生产进度报表]
        /// <summary>
        /// 生产进度报表
        /// </summary>
        /// <param name="status">工单状态</param>
        /// <param name="wocode">工单编号</param>
        /// /// <param name="wkshopcode">车间编号</param>
        /// /// <param name="wkshopname">车间名称</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">规格型号</param>
        /// <param name="lm_date">单据日期</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [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[生产进度报表导出]
        /// <summary>
        /// 生产进度报表导出
        /// </summary>
        /// <param name="status">工单状态</param>
        /// <param name="wocode">工单编号</param>
        /// /// <param name="wkshopcode">车间编号</param>
        /// /// <param name="wkshopname">车间名称</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">规格型号</param>
        /// <param name="lm_date">单据日期</param>
        /// <returns></returns>
        [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
    }
}