From c98af02dd7bf50587aeb85781708164ecc8c5004 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 21 三月 2025 13:09:27 +0800
Subject: [PATCH] 1.增加报工记录报表接口

---
 VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs            |   15 +++
 VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs            |  167 +++++++++++++++++++++++++++++++++
 VueWebCoreApi/Controllers/ReportManagerController.cs |   67 +++++++++++++
 3 files changed, 249 insertions(+), 0 deletions(-)

diff --git a/VueWebCoreApi/Controllers/ReportManagerController.cs b/VueWebCoreApi/Controllers/ReportManagerController.cs
index 295a109..eeb72f5 100644
--- a/VueWebCoreApi/Controllers/ReportManagerController.cs
+++ b/VueWebCoreApi/Controllers/ReportManagerController.cs
@@ -438,5 +438,72 @@
             return Json(mes);
         }
         #endregion
+
+
+        #region[鎶ュ伐璁板綍鍒楄〃鏁版嵁鏌ヨ]
+        /// <summary>
+        /// 鎶ュ伐璁板綍鍒楄〃鏁版嵁鏌ヨ
+        /// </summary>
+        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+        /// <param name="wo_code">宸ュ崟缂栧彿</param>
+        /// <param name="partnumber">浜у搧缂栫爜</param>
+        /// <param name="partname">浜у搧鍚嶇О</param>
+        /// <param name="partspec">浜у搧瑙勬牸</param>
+        /// <param name="stepname">鎶ュ伐宸ュ簭</param>
+        /// <param name="eqpcode">鎶ュ伐璁惧</param>
+        /// <param name="reportuser">鎶ュ伐浜哄憳</param>
+        /// <param name="reportdate">鎶ュ伐鏃堕棿</param>
+        /// <param name="page">椤电爜</param>
+        /// <param name="rows">姣忛〉鏉℃暟</param>
+        /// <param name="prop">鎺掑簭瀛楁</param>
+        /// <param name="order">鎺掑簭瑙勫垯</param>
+        /// <returns></returns>
+        [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[鎶ュ伐璁板綍鍒楄〃鏁版嵁瀵煎嚭]
+        /// <summary>
+        /// 鎶ュ伐璁板綍鍒楄〃鏁版嵁瀵煎嚭
+        /// </summary>
+        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+        /// <param name="wo_code">宸ュ崟缂栧彿</param>
+        /// <param name="partnumber">浜у搧缂栫爜</param>
+        /// <param name="partname">浜у搧鍚嶇О</param>
+        /// <param name="partspec">浜у搧瑙勬牸</param>
+        /// <param name="stepname">鎶ュ伐宸ュ簭</param>
+        /// <param name="eqpcode">鎶ュ伐璁惧</param>
+        /// <param name="reportuser">鎶ュ伐浜哄憳</param>
+        /// <param name="reportdate">鎶ュ伐鏃堕棿</param>
+        /// <returns></returns>
+        [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
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
index ae772bc..a5a66f7 100644
--- a/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
@@ -104,5 +104,20 @@
             return ReportManagerDAL.MaintenanceDetailsReportExcelSearch(wkshopcode,wocode, partcode, partname, partspec, stepname, style, defectname, repairname, repairopendate, repairclosedate);
         }
         #endregion
+
+
+        #region[鎶ュ伐璁板綍鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+        public static ToMessage MesOrderStepReportSearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string eqpcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+        {
+            return ReportManagerDAL.MesOrderStepReportSearch(wkshopcode, wo_code, partnumber, partname, partspec, stepname, eqpcode, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[鎶ュ伐璁板綍鍒楄〃鏁版嵁瀵煎嚭]
+        public static ToMessage MesOrderStepReportExcelSearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string eqpcode, string reportuser, string reportdateopendate, string reportdateclosedate)
+        {
+            return ReportManagerDAL.MesOrderStepReportExcelSearch(wkshopcode, wo_code, partnumber, partname, partspec, stepname, eqpcode, reportuser, reportdateopendate, reportdateclosedate);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
index 76ad447..0ccd33a 100644
--- a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
@@ -1311,5 +1311,172 @@
             return mes;
         }
         #endregion
+
+
+        #region[鎶ュ伐璁板綍鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
+        public static ToMessage MesOrderStepReportSearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string eqpcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and AA.wkshp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                if (wo_code != "" && wo_code != null)
+                {
+                    search += "and AA.wo_code like '%'+@wo_code+'%' ";
+                    dynamicParams.Add("@wo_code", wo_code);
+                }
+                if (partnumber != "" && partnumber != null)
+                {
+                    search += "and AA.partnumber like '%'+@partnumber+'%' ";
+                    dynamicParams.Add("@partnumber", partnumber);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and AA.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (stepname != "" && stepname != null)
+                {
+                    search += "and AA.stepname like '%'+@stepname+'%' ";
+                    dynamicParams.Add("@stepname", stepname);
+                }
+                if (eqpcode != "" && eqpcode != null)
+                {
+                    search += "and AA.eqp_code=@eqp_code ";
+                    dynamicParams.Add("@eqp_code", eqpcode);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and AA.usercode like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (reportdateopendate != "" && reportdateopendate != null)
+                {
+                    search += "and AA.report_date between @reportdateopendate and @reportdateclosedate ";
+                    dynamicParams.Add("@reportdateopendate", reportdateopendate + " 00:00:00");
+                    dynamicParams.Add("@reportdateclosedate", reportdateclosedate + " 23:59:59");
+                }
+
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *  from h_v_MesOrderStepReportSearch as AA where " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鎶ュ伐璁板綍鍒楄〃鏁版嵁瀵煎嚭]
+        public static ToMessage MesOrderStepReportExcelSearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string eqpcode, string reportuser, string reportdateopendate, string reportdateclosedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and AA.wkshp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                if (wo_code != "" && wo_code != null)
+                {
+                    search += "and AA.wo_code like '%'+@wo_code+'%' ";
+                    dynamicParams.Add("@wo_code", wo_code);
+                }
+                if (partnumber != "" && partnumber != null)
+                {
+                    search += "and AA.partnumber like '%'+@partnumber+'%' ";
+                    dynamicParams.Add("@partnumber", partnumber);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and AA.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (stepname != "" && stepname != null)
+                {
+                    search += "and AA.stepname like '%'+@stepname+'%' ";
+                    dynamicParams.Add("@stepname", stepname);
+                }
+                if (eqpcode != "" && eqpcode != null)
+                {
+                    search += "and AA.eqp_code=@eqp_code ";
+                    dynamicParams.Add("@eqp_code", eqpcode);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and AA.usercode like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (reportdateopendate != "" && reportdateopendate != null)
+                {
+                    search += "and AA.report_date between @reportdateopendate and @reportdateclosedate ";
+                    dynamicParams.Add("@reportdateopendate", reportdateopendate + " 00:00:00");
+                    dynamicParams.Add("@reportdateclosedate", reportdateclosedate + " 23:59:59");
+                }
+
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鑷埗鎶ュ伐澶栧崗鏀舵枡鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select AA.wo_code as '宸ュ崟缂栧彿',AA.partnumber as '浜у搧缂栫爜',AA.partname as '浜у搧鍚嶇О',AA.partspec as '瑙勬牸鍨嬪彿',AA.wkshp_name as '杞﹂棿鍚嶇О',AA.task_qty as '浠诲姟鏁伴噺',
+                          AA.stepname as '宸ュ簭鍚嶇О',(case when AA.steptype='Z' then '鑷埗' else '澶栧崗' end) as '宸ュ簭绫诲瀷',(case when AA.eqp_code is null  then AA.eqp_name else AA.wx_name end) as '璁惧/渚涘簲鍟�',
+                          AA.usergroup_name as '鎶ュ伐鐝粍',AA.username as '鎶ュ伐浜哄憳',AA.report_qty as '鍚堟牸鏁伴噺',AA.ng_qty as '涓嶈壇鏁伴噺',AA.laborbad_qty as '宸ュ簾鏁伴噺',AA.materielbad_qty as '鏂欏簾鏁伴噺',
+                          AA.report_date as '鎶ュ伐鏃堕棿'
+                          from h_v_MesOrderStepReportSearch as AA where " + search;
+                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+                data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+                string msg = DownLoad.DataTableToExcel(data, "鎶ュ伐璁板綍鎶ヨ〃");
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = msg;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.3