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