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 |  404 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 401 insertions(+), 3 deletions(-)

diff --git a/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs b/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
index b5719ed..e4ecfa6 100644
--- a/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
+++ b/VueWebApi/DLL/DAL/PurchaseOrderDAL.cs
@@ -74,13 +74,12 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 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 
                             left join TUser U on A.auditorusercode=U.usercode
-                            where  T.description='D' and C.mtype='WG' " + search;
+                            where  1=1 " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -97,5 +96,404 @@
             return mes;
         }
         #endregion
+
+        #region[閲囪喘璁㈠崟鏄庣粏]
+        public static ToMessage PurchaseOrderSubSearch(string purodercode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇閲囪喘璁㈠崟鐗╂枡淇℃伅
+                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
+                        left join TUom T on M.uom_code=T.code
+                        left join T_Sec_Stck S on A.warehousecode=S.code
+                        where A.purchaseorder_code=@purodercode";
+                dynamicParams.Add("@purodercode", purodercode);
+                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 DeletePurchaseOrder(string po)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇鏄惁鐢熸垚浜嗛噰璐埌璐у崟
+                sql = @"select *  from T_PurchaseArrivalOrder where hsourcebillno=@po";
+                dynamicParams.Add("@po", po);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠閲囪喘璁㈠崟宸茬敓鎴愬埌璐у崟!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒犻櫎閲囪喘璁㈠崟涓昏〃
+                sql = @"delete T_PurchaseOrder  where ordercode=@po";
+                list.Add(new { str = sql, parm = new { po = po } });
+
+                //鍒犻櫎閲囪喘璁㈠崟瀛愯〃
+                sql = @"delete T_PurchaseOrder_sub  where purchaseorder_code=@po";
+                list.Add(new { str = sql, parm = new { po = po } });
+
+                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 VerifyPurchaseOrder(string po,string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鏇存柊閲囪喘璁㈠崟涓昏〃瀹℃牳浜恒�佸鏍告椂闂�
+                sql = @"update T_PurchaseOrder set auditorusercode=@username,auditordate=@lm_date  where ordercode=@po";
+                list.Add(new { str = sql, parm = new { username= username,po = po, lm_date = DateTime.Now.ToString() } });
+
+                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 ReversVerifyPurchaseOrder(string po, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇鏄惁鐢熸垚浜嗛噰璐埌璐у崟
+                sql = @"select *  from T_PurchaseArrivalOrder where hsourcebillno=@po";
+                dynamicParams.Add("@po", po);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠閲囪喘璁㈠崟宸茬敓鎴愬埌璐у崟!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鏇存柊閲囪喘璁㈠崟涓昏〃瀹℃牳浜恒�佸鏍告椂闂�
+                sql = @"update T_PurchaseOrder set auditorusercode=@username,auditordate=@lm_date  where ordercode=@po";
+                list.Add(new { str = sql, parm = new { username="",po = po, lm_date ="" } });
+
+                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 ClosedPurchaseOrder(string po, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鏇存柊閲囪喘璁㈠崟鐘舵��
+                sql = @"update T_PurchaseOrder set status='CLOSED'  where ordercode=@po";
+                list.Add(new { str = sql, parm = new { po = po} });
+                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 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