From 9c634fd767aec36ef97c3a814bf7a29c67d20ee1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 29 三月 2024 10:57:35 +0800
Subject: [PATCH] 修改单据重复显示问题,增加工单源单id关联

---
 VueWebApi/DLL/DAL/PurchaseOrderDAL.cs |  189 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 186 insertions(+), 3 deletions(-)

diff --git a/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs b/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
index a5f8513..e4ecfa6 100644
--- a/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
+++ b/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
@@ -74,8 +74,7 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select case when A.status='NEW' then '鏂拌鍗�' when A.status='CHECK' then '宸插鏍�' when A.status='CLOSED' then '宸插叧闂�'  end as status,
-                            A.orderdate,A.ordercode,T.org_name as deptname,C.name as customername,A.saleorderCode,A.acceptdate,A.lm_user,A.lm_date,U.username as auditoruser,A.auditordate  
+                var sql = @"select  A.status,A.orderdate,A.ordercode,T.org_name as deptname,C.name as customername,A.saleorderCode,A.acceptdate,A.lm_user,A.lm_date,U.username as auditoruser,A.auditordate  
                             from T_PurchaseOrder A
                             left join TOrganization T on  A.departmentcode=T.org_code 
                             left join TCustomer C on A.customercode=C.code 
@@ -106,7 +105,7 @@
             try
             {
                 //鑾峰彇閲囪喘璁㈠崟鐗╂枡淇℃伅
-                sql = @"select M.partcode,M.partname,M.partspec,T.name as uomname,A.quantity,A.countarrivalquantity,A.countInquantity,
+                sql = @"select M.partcode,M.partname,M.partspec,T.name as uomname,A.quantity,A.countarrivalquantity,A.countInquantity,A.countreturnquantity,
                         A.acceptdate,S.name as housename,M.is_incheck
                         from T_PurchaseOrder_sub A
                         left join TMateriel_Info M on A.materiel_code=M.partcode
@@ -312,5 +311,189 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[閲囪喘鍒拌揣鍗曟煡璇
+        public static ToMessage PurchaseArrivalOrderSearch(string orderstatus, string mesordercode, string departmentcode, string customercode, string orderdateopendate, string orderdateclosedate, string sourceorder, string creatuser, string arrivalopendate, string arrivalclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (orderstatus != "" && orderstatus != null)
+                {
+                    search += "and A.hbillstaus=@orderstatus ";
+                    dynamicParams.Add("@orderstatus", orderstatus);
+                }
+                if (mesordercode != "" && mesordercode != null)
+                {
+                    search += "and A.hbillno like '%'+@mesordercode+'%' ";
+                    dynamicParams.Add("@mesordercode", mesordercode);
+                }
+                if (departmentcode != "" && departmentcode != null)
+                {
+                    search += "and A.hdepartmentcode=@departmentcode ";
+                    dynamicParams.Add("@departmentcode", departmentcode);
+                }
+                if (customercode != "" && customercode != null)
+                {
+                    search += "and A.hcustomercode=@customercode ";
+                    dynamicParams.Add("@customercode", customercode);
+                }
+                if (sourceorder != "" && sourceorder != null)
+                {
+                    search += "and A.hsourcebillno like '%'+@sourceorder+'%' ";
+                    dynamicParams.Add("@sourceorder", sourceorder);
+                }
+                if (orderdateopendate != "" && orderdateopendate != null)
+                {
+                    search += "and A.hdate between @orderdateopendate and @orderdateclosedate ";
+                    dynamicParams.Add("@orderdateopendate", orderdateopendate + " 00:00:00");
+                    dynamicParams.Add("@orderdateclosedate", orderdateclosedate + " 23:59:59");
+                }
+                if (creatuser != "" && creatuser != null)
+                {
+                    search += "and A.lm_user like '%'+@creatuser+'%' ";
+                    dynamicParams.Add("@creatuser", creatuser);
+                }
+                if (arrivalopendate != "" && arrivalopendate != null)
+                {
+                    search += "and A.hacceptdate between @arrivalopendate and @arrivalclosedate ";
+                    dynamicParams.Add("@arrivalopendate", arrivalopendate + " 00:00:00");
+                    dynamicParams.Add("@arrivalclosedate", arrivalclosedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.hbillstaus,A.hdate,A.hbillno,A.hdepartmentcode,T.org_name as hdepartmentname,A.hcustomercode,C.name as hcustomername,
+                            A.hsourcebillno,A.hacceptdate,A.lm_user as usercode,U.username
+                            from T_PurchaseArrivalOrder A
+                            left join TCustomer C on A.hcustomercode=C.code 
+                            left join TOrganization T on A.hdepartmentcode=T.org_code
+                            left join TUser U on A.lm_user=U.usercode
+                            where  1=1 " + 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 PurchaseArrivalOrderSubSearch(string arrivelodercode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇閲囪喘鍒拌揣鍗曠墿鏂欎俊鎭�
+                sql = @"select  S.hpartcode as partcode,M.partname,M.partspec,M.uom_code,T.name as uom_name,
+                        S.hqty,S.hinqty,S.hreturnqty,S.hacceptdate,S.hstorehousecode,K.name as hstorehousename,S.hcheckstaus
+                        from T_PurchaseArrivalOrder A
+                        left join T_PurchaseArrivalOrder_sub S on A.hbillno=S.hbillno
+                        left join TMateriel_Info M on S.hpartcode=M.partcode
+                        left join TUom T on M.uom_code=T.code
+                        left join T_Sec_Stck K on S.hstorehousecode=K.code
+                        where A.hbillno=@arrivelodercode";
+                dynamicParams.Add("@arrivelodercode", arrivelodercode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[閲囪喘鍒拌揣鍗曞叧闂璢
+        public static ToMessage ClosedPurchaseArrivalOrder(string arrivelodercode, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鏇存柊鍒拌揣鍗曠姸鎬�
+                sql = @"update T_PurchaseArrivalOrder set hbillstaus='CLOSED'  where hbillno=@arrivelodercode";
+                list.Add(new { str = sql, parm = new { arrivelodercode = arrivelodercode } });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                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 PurchaseArrivalOrderSubLabDetails(string sourceorder, string arrivelodercode, string partcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇鍒拌揣鐗╂枡瀵瑰簲鏍囩淇℃伅
+                sql = @"select C.hbarcode,A.hbillno,A.hsourcebillno,C.qualitystatus,C.hqty,C.hbatchno   
+                        from T_PurchaseArrivalOrder A
+                        inner join T_PurchaseArrivalOrder_sub B on A.hbillno=B.hbillno
+                        left  join  T_BarCodeBill C on A.hsourcebillno=C.hsourcebillno and A.hbillno=C.hbillno and B.hpartcode=C.hmaterialcode
+                        where A.hsourcebillno=@hsourcebillno and A.hbillno=@hbillno and B.hpartcode=@hpartcode";
+                dynamicParams.Add("@hsourcebillno", sourceorder);
+                dynamicParams.Add("@hbillno", arrivelodercode);
+                dynamicParams.Add("@hpartcode", partcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            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