From d6502baa8e5610c04127fbee92ff6111e40956f8 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 13 六月 2023 09:50:02 +0800
Subject: [PATCH] 生产入库、采购入库接口提交

---
 VueWebApi/DLL/DAL/ReportManagerDAL.cs |  318 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 318 insertions(+), 0 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ReportManagerDAL.cs b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
index ce31505..3903915 100644
--- a/VueWebApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
@@ -1360,5 +1360,323 @@
             return mes;
         }
         #endregion
+
+
+        #region[鐗╂祦妫�楠岃褰曟煡璇
+        public static ToMessage LogisticsCheckSearch(string checktypecode, string partcode, string partname, string partspec, string labcode, string customercode, string batchno, string checkuser, string opencheckdate, string closecheckdate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (checktypecode != "" && checktypecode != null)
+                {
+                    search += "and A.check_type=@checktypecode ";
+                    dynamicParams.Add("@checktypecode", checktypecode);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and M.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and M.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and M.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (labcode != "" && labcode != null)
+                {
+                    search += "and A.hbarcode like '%'+@labcode+'%' ";
+                    dynamicParams.Add("@labcode", labcode);
+                }
+                if (customercode != "" && customercode != null)
+                {
+                    search += "and A.customer_code=@customercode ";
+                    dynamicParams.Add("@customercode", customercode);
+                }
+                if (batchno != "" && batchno != null)
+                {
+                    search += "and R.hbatchno like '%'+@batchno+'%' ";
+                    dynamicParams.Add("@batchno", labcode);
+                }
+                if (checkuser != "" && checkuser != null)
+                {
+                    search += "and U.username like '%'+@checkuser+'%' ";
+                    dynamicParams.Add("@checkuser", checkuser);
+                }        
+                if (opencheckdate != "" && opencheckdate != null)
+                {
+                    search += "and A.lm_date between @opencheckdate and @closecheckdate ";
+                    dynamicParams.Add("@opencheckdate", opencheckdate + " 00:00:00");
+                    dynamicParams.Add("@closecheckdate", closecheckdate + " 23:59:59");
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id,A.check_type,A.check_typename,A.sampmethod,M.partcode,M.partname,M.partspec,R.hbatchno, 
+                            A.hbarcode,A.customer_code,C.name as customer_name,U.usercode,U.username,A.lm_date,A.check_result 
+                            from TStepCheckRecord A
+                            left  join TMateriel_Info M on A.partcode=M.partcode
+                            left  join T_BarCodeBill R on A.hbarcode=R.hbarcode
+                            left  join TCustomer C on A.customer_code=C.code
+                            left  join TUser U on A.check_user=U.usercode
+                            where A.check_type in('InCheck','OutCheck') " + 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 LogisticsCheckSubSearch(string checkid)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_WuLiuCheckSubSelect";
+                dynamicParams.Add("@checkid", checkid);
+                DataTable dt = DapperHelper.selectProcedure(sql, dynamicParams);
+                if (dt.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = dt;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鏃犳楠屾槑缁嗘暟鎹�!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+        #region[鐢熶骇杩涘害鎶ヨ〃]
+        public static ToMessage ProductionScheduleReportSearch(string status, string wocode, string routecode, string routename, string partcode, string partname, string partspec,string opendate,string closedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (status != "" && status != null) 
+                {
+                    switch (status)
+                    {
+                        case "START":
+                            search += "and AA.status='START' ";
+                            break;
+                        case "CLOSED":
+                            search += "and AA.status='CLOSED' ";
+                            break;
+                        default:
+                            search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+                            break;
+                    }
+                }
+                if (wocode != "" && wocode != null)
+                {
+                    search += "and AA.wo_code like '%'+@wocode+'%' ";
+                    dynamicParams.Add("@wocode", wocode);
+                }
+                if (routecode != "" && routecode != null)
+                {
+                    search += "and AA.route_code like '%'+@routecode+'%' ";
+                    dynamicParams.Add("@routecode", routecode);
+                }
+                if (routename != "" && routename != null)
+                {
+                    search += "and AA.route_name like '%'+@routename+'%' ";
+                    dynamicParams.Add("@routename", routename);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and AA.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                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 (opendate != "" && opendate != null)
+                {
+                    search += "and AA.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select  AA.saleOrderCode,AA.m_po,AA.wo_code,
+                            (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as status,
+                            AA.lm_date,AA.route_code,AA.route_name,AA.partcode,AA.partname,AA.partspec,AA.plan_qty,left(AA.concat_name,len(concat_name)-1) as concat_name  from
+                            (
+                            select E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name as route_name,P.partcode,P.partname,P.partspec,m.plan_qty,
+                            (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+                             inner join TStep S on n.step_code=S.stepcode
+                             where n.wo_code=m.wo_code for xml path('')) as concat_name
+                            from TK_Wrk_Step m
+                            inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+                            left join TKimp_Ewo E on W.m_po=E.wo
+                            inner join TMateriel_Info P on W.materiel_code=p.partcode
+                            inner join TFlw_Rout R on W.route_code=R.code
+                            group by E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name,P.partcode,P.partname,P.partspec,m.plan_qty
+                            ) 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 ProductionScheduleReportExcelSearch(string status, string wocode, string routecode, string routename, string partcode, string partname, string partspec,string opendate,string closedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (status != "" && status != null)
+                {
+                    switch (status)
+                    {
+                        case "START":
+                            search += "and AA.status='START' ";
+                            break;
+                        case "CLOSED":
+                            search += "and AA.status='CLOSED' ";
+                            break;
+                        default:
+                            search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+                            break;
+                    }
+                }
+                if (wocode != "" && wocode != null)
+                {
+                    search += "and AA.wo_code like '%'+@wocode+'%' ";
+                    dynamicParams.Add("@wocode", wocode);
+                }
+                if (routecode != "" && routecode != null)
+                {
+                    search += "and AA.route_code like '%'+@routecode+'%' ";
+                    dynamicParams.Add("@routecode", routecode);
+                }
+                if (routename != "" && routename != null)
+                {
+                    search += "and AA.route_name like '%'+@routename+'%' ";
+                    dynamicParams.Add("@routename", routename);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and AA.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                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 (opendate != "" && opendate != null)
+                {
+                    search += "and AA.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select  AA.saleOrderCode as ERP婧愬崟鍙�,AA.m_po as ERP鐢熶骇璁㈠崟,AA.wo_code as 鐢熶骇宸ュ崟鍙�,
+                            (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as 宸ュ崟鐘舵��,
+                            AA.lm_date as 鍗曟嵁鏃ユ湡,AA.route_code as 宸ヨ壓璺嚎缂栧彿,AA.route_name as 宸ヨ壓璺嚎鍚嶇О,
+                            AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.plan_qty as 浠诲姟鏁伴噺,left(AA.concat_name,len(concat_name)-1) as 鐢熶骇杩涘害  from
+                            (
+                            select E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name as route_name,P.partcode,P.partname,P.partspec,m.plan_qty,
+                            (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+                             inner join TStep S on n.step_code=S.stepcode
+                             where n.wo_code=m.wo_code for xml path('')) as concat_name
+                            from TK_Wrk_Step m
+                            inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+                            left join TKimp_Ewo E on W.m_po=E.wo
+                            inner join TMateriel_Info P on W.materiel_code=p.partcode
+                            inner join TFlw_Rout R on W.route_code=R.code
+                            group by E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name,P.partcode,P.partname,P.partspec,m.plan_qty
+                            ) 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
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3