From 7edf17664b1e3ae4843c9a382e5f1a1a1f538e32 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 30 十一月 2022 15:58:37 +0800
Subject: [PATCH] 富尔达看板增加序号列

---
 VueWebApi/DLL/DAL/ReportManagerDAL.cs |   89 ++++++++++++++++++++++++++++----------------
 1 files changed, 57 insertions(+), 32 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ReportManagerDAL.cs b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
index 1ff7101..79558d7 100644
--- a/VueWebApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
@@ -221,7 +221,7 @@
 
 
         #region[鐝粍宸ヨ祫鎶ヨ〃璁板綍鏌ヨ]
-        public static ToMessage GroupSalaryReportSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string username, string operopendate, string operclosedate, int startNum, int endNum, string prop, string order)
+        public static ToMessage GroupSalaryReportSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string username, string operopendate, string operclosedate,string rejectstepcode, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -264,11 +264,16 @@
                 }
                 if (operopendate != "" && operopendate != null)
                 {
-                    search += "and A.lm_date between @operopendate and @operclosedate ";
+                    search += "and B.report_date between @operopendate and @operclosedate ";
                     dynamicParams.Add("@operopendate", operopendate + " 00:00:00");
                     dynamicParams.Add("@operclosedate", operclosedate + " 23:59:59");
                 }
-
+                if (rejectstepcode != "" && rejectstepcode != null) 
+                {
+                    string[] s1 = Array.ConvertAll<string, string>(rejectstepcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                    search+= "and A.step_code not in @s1";
+                    dynamicParams.Add("@s1", s1);
+                }
                 if (search == "")
                 {
                     search = "and 1=1 ";
@@ -276,10 +281,11 @@
                 search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select distinct A.id,A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,A.task_qty,G.group_code,G.group_name,A.good_qty,isnull(S.unprice,0) as unprice,A.good_qty*isnull(S.unprice,0) as usermoney,U.username as lm_user,A.lm_date  
+                var sql = @"select distinct A.id,A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,A.task_qty,G.group_code,G.group_name,A.good_qty,
+                            isnull(S.unprice,0) as unprice,A.good_qty*isnull(S.unprice,0) as usermoney,U.username as lm_user,A.lm_date,B.report_date   
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
-                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
+                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code 
                             left  join TK_Wrk_Man K on A.wo_code=K.wo_code
                             left  join TGroup G on B.usergroup_code=G.group_code
                             left  join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
@@ -333,7 +339,7 @@
         #endregion
 
         #region[鐝粍宸ヨ祫鎶ヨ〃璁板綍瀵煎嚭]
-        public static ToMessage GroupSalaryReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string username, string operopendate, string operclosedate)
+        public static ToMessage GroupSalaryReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string username, string operopendate, string operclosedate,string rejectstepcode)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -376,11 +382,16 @@
                 }
                 if (operopendate != "" && operopendate != null)
                 {
-                    search += "and A.lm_date between @operopendate and @operclosedate ";
+                    search += "and B.report_date between @operopendate and @operclosedate ";
                     dynamicParams.Add("@operopendate", operopendate + " 00:00:00");
                     dynamicParams.Add("@operclosedate", operclosedate + " 23:59:59");
                 }
-
+                if (rejectstepcode != "" && rejectstepcode != null)
+                {
+                    string[] s1 = Array.ConvertAll<string, string>(rejectstepcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                    search += "and A.step_code not in @s1";
+                    dynamicParams.Add("@s1", s1);
+                }
                 if (search == "")
                 {
                     search = "and 1=1 ";
@@ -390,10 +401,10 @@
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select distinct A.wo_code as 宸ュ崟缂栧彿,M.partcode as 浜у搧缂栫爜,M.partname as 浜у搧鍚嶇О,M.partspec as 浜у搧瑙勬牸,
                             T.stepcode as 宸ュ簭缂栫爜,T.stepname as 宸ュ簭鍚嶇О,A.task_qty as 浠诲姟鏁伴噺,G.group_code as 鐝粍缂栫爜,G.group_name as 鐝粍鍚嶇О,
-                            A.good_qty as 鎶ュ伐鏁伴噺,isnull(S.unprice,0) as 宸ュ簭鍗曚环,A.good_qty*isnull(S.unprice,0) as 璁′欢宸ヨ祫,U.username as 鎿嶄綔浜哄憳,A.lm_date as 鎿嶄綔鏃堕棿 
+                            A.good_qty as 鎶ュ伐鏁伴噺,isnull(S.unprice,0) as 宸ュ簭鍗曚环,A.good_qty*isnull(S.unprice,0) as 璁′欢宸ヨ祫,U.username as 鎿嶄綔浜哄憳,A.lm_date as 鎿嶄綔鏃堕棿,B.report_date as 鎶ュ伐鏃堕棿 
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
-                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
+                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code 
                             left  join TK_Wrk_Man K on A.wo_code=K.wo_code
                             left  join TGroup G on B.usergroup_code=G.group_code
                             left  join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
@@ -430,42 +441,42 @@
             {
                 if (wocode != "" && wocode != null)
                 {
-                    search += "and A.wo_code like '%'+@wocode+'%' ";
+                    search += "and AA.wo_code like '%'+@wocode+'%' ";
                     dynamicParams.Add("@wocode", wocode);
                 }
                 if (partcode != "" && partcode != null)
                 {
-                    search += "and M.partcode like '%'+@partcode+'%' ";
+                    search += "and AA.partcode like '%'+@partcode+'%' ";
                     dynamicParams.Add("@partcode", partcode);
                 }
                 if (partname != "" && partname != null)
                 {
-                    search += "and M.partname like '%'+@partname+'%' ";
+                    search += "and AA.partname like '%'+@partname+'%' ";
                     dynamicParams.Add("@partname", partname);
                 }
                 if (partspec != "" && partspec != null)
                 {
-                    search += "and M.partspec like '%'+@partspec+'%' ";
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
                     dynamicParams.Add("@partspec", partspec);
                 }
                 if (stepname != "" && stepname != null)
                 {
-                    search += "and T.stepname like '%'+@stepname+'%' ";
+                    search += "and AA.stepname like '%'+@stepname+'%' ";
                     dynamicParams.Add("@stepname", stepname);
                 }
                 if (groupcode != "" && groupcode != null)
                 {
-                    search += "and G.group_code=@groupcode ";
+                    search += "and AA.group_code=@groupcode ";
                     dynamicParams.Add("@groupcode", groupcode);
                 }
                 if (reportname != "" && reportname != null)
                 {
-                    search += "and U.username like '%'+@reportname+'%' ";
+                    search += "and AA.username like '%'+@reportname+'%' ";
                     dynamicParams.Add("@reportname", reportname);
                 }
                 if (reportopendate != "" && reportopendate != null)
                 {
-                    search += "and B.report_date between @reportopendate and @reportclosedate ";
+                    search += "and AA.report_date between @reportopendate and @reportclosedate ";
                     dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
                     dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
                 }
@@ -477,16 +488,24 @@
                 search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,A.task_qty,G.group_code,G.group_name,B.report_qty,isnull(S.unprice,0) as unprice,B.report_qty*isnull(S.unprice,0) as usermoney,U.username as lm_user,B.report_date  
+                var sql = @"select AA.wo_code,AA.partcode,AA.partname,AA.partspec,AA.stepcode,AA.stepname,
+                            AA.task_qty,AA.group_code,AA.group_name,AA.report_qty,AA.unprice,
+                            AA.moneys/colum as usermoney,AA.username,AA.report_date,colum
+                            from (
+                            select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,
+                            A.task_qty,G.group_code,G.group_name,B.report_qty,isnull(S.unprice,0) as unprice,
+                            B.report_qty*isnull(S.unprice,0) as moneys,U.username,B.report_date,
+                            (select distinct count(*)   from TK_Wrk_RecordSub S  where S.m_id=B.m_id) as colum
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
-                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
+                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code 
                             left  join TK_Wrk_Man K on A.wo_code=K.wo_code
                             left  join TGroup G on B.usergroup_code=G.group_code
                             left  join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
                             left  join TMateriel_Info M on A.materiel_code=M.partcode
                             left  join TStep T on A.step_code=T.stepcode
                             left  join TUser U on B.report_person=U.usercode
+                            ) as AA
                             where " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -514,42 +533,42 @@
             {
                 if (wocode != "" && wocode != null)
                 {
-                    search += "and A.wo_code like '%'+@wocode+'%' ";
+                    search += "and AA.wo_code like '%'+@wocode+'%' ";
                     dynamicParams.Add("@wocode", wocode);
                 }
                 if (partcode != "" && partcode != null)
                 {
-                    search += "and M.partcode like '%'+@partcode+'%' ";
+                    search += "and AA.partcode like '%'+@partcode+'%' ";
                     dynamicParams.Add("@partcode", partcode);
                 }
                 if (partname != "" && partname != null)
                 {
-                    search += "and M.partname like '%'+@partname+'%' ";
+                    search += "and AA.partname like '%'+@partname+'%' ";
                     dynamicParams.Add("@partname", partname);
                 }
                 if (partspec != "" && partspec != null)
                 {
-                    search += "and M.partspec like '%'+@partspec+'%' ";
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
                     dynamicParams.Add("@partspec", partspec);
                 }
                 if (stepname != "" && stepname != null)
                 {
-                    search += "and T.stepname like '%'+@stepname+'%' ";
+                    search += "and AA.stepname like '%'+@stepname+'%' ";
                     dynamicParams.Add("@stepname", stepname);
                 }
                 if (groupcode != "" && groupcode != null)
                 {
-                    search += "and G.group_code=@groupcode ";
+                    search += "and AA.group_code=@groupcode ";
                     dynamicParams.Add("@groupcode", groupcode);
                 }
                 if (reportname != "" && reportname != null)
                 {
-                    search += "and U.username like '%'+@reportname+'%' ";
+                    search += "and AA.username like '%'+@reportname+'%' ";
                     dynamicParams.Add("@reportname", reportname);
                 }
                 if (reportopendate != "" && reportopendate != null)
                 {
-                    search += "and B.report_date between @reportopendate and @reportclosedate ";
+                    search += "and AA.report_date between @reportopendate and @reportclosedate ";
                     dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
                     dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
                 }
@@ -561,18 +580,24 @@
                 search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select distinct A.wo_code as 宸ュ崟缂栧彿,M.partcode as 浜у搧缂栫爜,M.partname as 浜у搧鍚嶇О,M.partspec as 浜у搧瑙勬牸,T.stepcode as 宸ュ簭缂栫爜,T.stepname as 宸ュ簭鍚嶇О,
-                            A.task_qty as 浠诲姟鏁伴噺,G.group_code as 鐢熶骇鐝粍缂栫爜,G.group_name as 鐢熶骇鐝粍鍚嶇О,B.report_qty as 鎶ュ伐鏁伴噺,isnull(S.unprice,0) as 宸ュ簭鍗曚环,
-                            B.report_qty*isnull(S.unprice,0) as 璁′欢宸ヨ祫,U.username as 鎶ュ伐浜哄憳,B.report_date as 鎶ュ伐鏃堕棿  
+                var sql = @"select AA.wo_code as 宸ュ崟缂栧彿,AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.stepcode as 宸ュ簭缂栫爜,AA.stepname as 宸ュ簭鍚嶇О,
+                            AA.task_qty as 浠诲姟鏁伴噺,AA.group_code as 鐢熶骇鐝粍缂栫爜,AA.group_name as 鐢熶骇鐝粍鍚嶇О,AA.report_qty as 鎶ュ伐鏁伴噺,AA.unprice as 宸ュ簭鍗曚环,
+                            AA.moneys/colum as 璁′欢宸ヨ祫,AA.username as 鎶ュ伐浜哄憳,AA.report_date as 鎶ュ伐鏃堕棿,colum as 鐝粍鎶ュ伐浜烘暟
+                            from (
+                            select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,
+                            A.task_qty,G.group_code,G.group_name,B.report_qty,isnull(S.unprice,0) as unprice,
+                            B.report_qty*isnull(S.unprice,0) as moneys,U.username,B.report_date,
+                            (select distinct count(*)   from TK_Wrk_RecordSub S  where S.m_id=B.m_id) as colum
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
-                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
+                            inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code 
                             left  join TK_Wrk_Man K on A.wo_code=K.wo_code
                             left  join TGroup G on B.usergroup_code=G.group_code
                             left  join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
                             left  join TMateriel_Info M on A.materiel_code=M.partcode
                             left  join TStep T on A.step_code=T.stepcode
                             left  join TUser U on B.report_person=U.usercode
+                            ) as AA
                             where " + search;
                 DataTable data = DapperHelper.selectdata(sql, dynamicParams);
                 data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�

--
Gitblit v1.9.3