From cd1c62ccfd8cf9c582686b6aec02d394a9f4528e Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期日, 29 六月 2025 19:00:15 +0800
Subject: [PATCH] 保存送货单方法外取消事务;生成送货单前校验完善实物回滚;验证采购订单方法添加防死锁;采购订单列表分页查询;物料标准包装模块;
---
WebAPI/Controllers/POOrderController.cs | 189 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 147 insertions(+), 42 deletions(-)
diff --git a/WebAPI/Controllers/POOrderController.cs b/WebAPI/Controllers/POOrderController.cs
index 0fb66d7..dc131e7 100644
--- a/WebAPI/Controllers/POOrderController.cs
+++ b/WebAPI/Controllers/POOrderController.cs
@@ -1,4 +1,5 @@
锘縰sing DBUtility;
+using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SQLHelper;
using System;
@@ -18,7 +19,7 @@
{
private JsonResult objJsonResult = new JsonResult();
private json objjson = new json();
- SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
/// <summary>
/// 閲囪喘鍗曞垪琛�
@@ -28,61 +29,52 @@
/// <param name="OnePage"></param>
/// <returns></returns>
[Route("GetPOOrderBill")]
- [HttpGet]
+ [HttpPost]
//閲囪喘璁㈠崟鍒楄〃
- public object GetPOOrderBill(string HSupNo, string sqlWhere)
+ public object GetPOOrderBill([FromBody] JObject msg)
{
- string msg = "";
+ string HSupIDs = msg["HSupIDs"].ToString(); string sqlWhere = msg["sqlWhere"].ToString();
+ //string msg = "";
try
{
string VsWhere = "";
string PcWhere = "";
- SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds;
- //鍏朵粬杩囨护
- if (msg.Trim() == "")
- {
- msg = " Where hsupid in (select HSupID from h_v_Gy_UserSupplierList where 鐢ㄦ埛 = ^^" + HSupNo.Trim() + "^^) " + sqlWhere;
- // msg = " Where hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)";
- }
- else
- {
- msg += " and hsupid in (select HSupID from h_v_Gy_UserSupplierList where 鐢ㄦ埛 =^^" + HSupNo.Trim() + "^^) " + sqlWhere;
- //msg = msg + " and hsupid in (select HItemID from h_v_IF_Supplier where hnumber=^^" + HSupNo.Trim() + "^^) " + sqlWhere;
- // msg = msg + " Where hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)";
- }
+ string sql = " Where hsupid in (" + HSupIDs.Trim() + ")" + sqlWhere;
//杞崲鐗规畩瀛楃
- if (Common.SQLtoChange(msg, ref VsWhere, ref PcWhere) == false)
+ if (Common.SQLtoChange(sql, ref VsWhere, ref PcWhere) == false)
{
objjson.code = "0";
objjson.count = 0;
- objjson.Message = "鑾峰彇澶辫触";
+ objjson.Message = "杞崲鐗规畩瀛楃澶辫触";
objjson.data = null;
return objjson;
}
//鑾峰彇鎬昏鏁�
//Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POOrderBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo);
//鑾峰彇杩斿洖鏁版嵁
- string sql = "exec H_p_SRM_POOrderBillList '" + PcWhere + "'";
- LogService.WriteAsync(sql);
-
+ //sql = "exec H_P_REALESEPOORDER";
+ //sql = "exec H_P_REALESEPOORDER";
+ //oCn.RunProc(sql);
+ sql = "exec H_p_SRM_POOrderBillList '" + PcWhere + "'";
+ //LogService.WriteAsync(sql);
ds = oCn.RunProcReturn("exec H_p_SRM_POOrderBillList '" + PcWhere + "'", "H_p_SRM_POOrderBillList");
- if (ds == null || ds.Tables[0].Rows.Count == 0)
+ //娣诲姞鍒楀悕
+ List<object> columnNameList = new List<object>();
+ foreach (DataColumn col in ds.Tables[0].Columns)
{
- objjson.code = "0";
- objjson.count = 0;
- objjson.Message = "鏃犳暟鎹�";
- objjson.data = null;
- return objjson;
+ Type dataType = col.DataType;
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
}
- else
- {
- objjson.code = "0";
- objjson.count = 10000;
- objjson.Message = "鑾峰彇鎴愬姛";
- objjson.data = ds.Tables[0];
- return objjson;
- }
+ objjson.code = "0";
+ objjson.count = 10000;
+ objjson.Message = "鑾峰彇鎴愬姛";
+ objjson.data = ds.Tables[0];
+ objjson.list = columnNameList;
+ return objjson;
+
}
catch (Exception e)
{
@@ -94,6 +86,67 @@
}
}
+
+ #region
+
+ [Route("GetPOOrderBillList_byPage")]
+ [HttpPost]
+ //閲囪喘璁㈠崟鍒楄〃
+ public object GetPOOrderBillList_byPage([FromBody] JObject msg)
+ {
+ string HSupIDs = msg["HSupIDs"].ToString();
+ string sqlWhere = msg["sqlWhere"].ToString();
+ string page = msg["page"].ToString();
+ string size = msg["size"].ToString();
+ string Organization = msg["Organization"].ToString();
+ try
+ {
+ string VsWhere = "";
+ string PcWhere = "";
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+ DataSet ds;
+ string sql = " Where hsupid in (" + HSupIDs.Trim() + ")" + sqlWhere;
+ //杞崲鐗规畩瀛楃
+ if (Common.SQLtoChange(sql, ref VsWhere, ref PcWhere) == false)
+ {
+ objjson.code = "0";
+ objjson.count = 0;
+ objjson.Message = "杞崲鐗规畩瀛楃澶辫触";
+ objjson.data = null;
+ return objjson;
+ }
+
+ sql = "exec h_p_SRM_POOrderBillListByPage " + page + "," + size + ",'" + Organization + "','" + PcWhere + "'";
+
+ ds = oCn.RunProcReturn(sql, "h_p_SRM_POOrderBillListByPage");
+ //娣诲姞鍒楀悕
+ List<object> columnNameList = new List<object>();
+ foreach (DataColumn col in ds.Tables[0].Columns)
+ {
+ Type dataType = col.DataType;
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
+ objjson.code = "1";
+ objjson.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+ objjson.Message = "鑾峰彇鎴愬姛";
+ objjson.data = ds.Tables[0];
+ objjson.list = columnNameList;
+ return objjson;
+
+ }
+ catch (Exception e)
+ {
+ objjson.code = "0";
+ objjson.count = 0;
+ objjson.Message = "鑾峰彇澶辫触" + e.ToString();
+ objjson.data = null;
+ return objjson;
+ }
+
+ }
+ #endregion
+
/// <summary>
/// 閲囪喘璁㈠崟琛ㄥご淇℃伅
/// </summary>
@@ -195,21 +248,26 @@
return objjson;
}
}
-
-
-
[Route("POOrderAccept")]
- [HttpGet]
+ [HttpPost]
/// <summary>
/// 璁㈠崟鎺ュ彈
/// </summary>
/// <param name="HInterID"></param>
/// <returns></returns>
- public object POOrderAccept(string HInterID, string HBillNo, string HUser)
+ public object POOrderAccept([FromBody] JObject oData)
{
+ var _value = oData["oData"].ToString();
+ string msg1 = _value.ToString();
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string HInter = sArray[0].ToString();
+ string HInterID = HInter.Replace("\"", ""); //鍐呯爜
+ string HBillNo = sArray[1].ToString().Replace("\"", "");
+ string HUser = sArray[2].ToString(); //鐢ㄦ埛鍚�
+
try
{
- if (DBUtility.ClsPub.isLong(HInterID) == 0)
+ if (DBUtility.ClsPub.isStrNull(HInterID) == "")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -217,6 +275,7 @@
objJsonResult.data = null;
return objJsonResult;
}
+
DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();
oBill.WebAccept(DBUtility.ClsPub.isLong(HInterID), DBUtility.ClsPub.isStrNull(HBillNo), DBUtility.ClsPub.isStrNull(HUser), ref DBUtility.ClsPub.sExeReturnInfo);
objJsonResult.code = "0";
@@ -308,5 +367,51 @@
return objJsonResult;
}
}
+
+ [Route("Cg_Poorder/UpdateSupSendGoodsDateRemark")]
+ [HttpGet]
+ /// <summary>
+ /// 鏇存柊鍥炲浜ゆ湡 -- 鍑礉濂堢壒
+ /// </summary>
+ /// <param name=""></param>
+ /// <returns></returns>
+ public object UpdateSupSendGoodsDateRemark(string HInterID, string HEntryID,string HSupSendGoodsDateRemark)
+ {
+ try
+ {
+ if (HInterID == null || HInterID == "" || HInterID == "undefined" || HEntryID == null || HEntryID == "" || HEntryID == "undefined")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鎿嶄綔澶辫触锛佷富鍐呯爜鎴栧瓙鍐呯爜涓虹┖";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ string sql = "";
+
+ sql = "update Cg_POOrderBillSub set HSupSendGoodsDateRemark = '" + HSupSendGoodsDateRemark + "' where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+ oCn.RunProc(sql);
+
+ //鍑礉濂堢壒
+ sql = "update AIS20210820164804..T_PUR_POORDERENTRY set F_aaaa_gysjqhf = '" + HSupSendGoodsDateRemark + "' where FID = " + HInterID + " and FENTRYID = " + HEntryID;
+ oCn.RunProc(sql);
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鎿嶄綔鎴愬姛锛�";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "澶辫触锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
}
}
\ No newline at end of file
--
Gitblit v1.9.1