From 213dc0460253b8231954d28b70901a8d22ecfb79 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 30 八月 2023 08:45:46 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/SRM-WEBAPI
---
WebAPI/Controllers/POInStockController.cs | 95 +++++++++++++++++++++++++++++++++++++++++------
1 files changed, 83 insertions(+), 12 deletions(-)
diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs
index 897ddbf..d95f29e 100644
--- a/WebAPI/Controllers/POInStockController.cs
+++ b/WebAPI/Controllers/POInStockController.cs
@@ -10,6 +10,7 @@
using System.Linq;
using System.Net;
using System.Net.Http;
+using System.Text.RegularExpressions;
using System.Web;
using System.Web.Http;
using WebAPI.Code;
@@ -324,7 +325,7 @@
oItem.HMainSourceInterID = oItem.HInterID;
oItem.HInterID = 0;
//oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
- if (FCusName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤
+ if (FCusName.Contains("瀹夌憺")) //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤
{
if (DBUtility.ClsPub.isStrNull(oItem.HDHDate) == "")
{
@@ -358,8 +359,43 @@
int i = 0;
foreach (Model.ClsCg_POInStockBillSub oItemSub in ls)
{
- //鍒ゆ柇閲囪喘璁㈠崟鐘舵��
- objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString());
+ if (FCusName.Contains("鍑礉濂堢壒")) //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤
+ {
+ if (oItemSub.HBatChNo.Length < 8 || Regex.IsMatch(oItemSub.HBatChNo, @"^[0-9]+$") == false)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛� 鐢熶骇鏃ユ湡D/C 鏍煎紡閿欒鏃犳硶淇濆瓨锛佹纭牸寮忎负8浣嶆暟鐨勭函鏁板瓧鏃ユ湡";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ //鑾峰彇骞存湀鏃�
+ string year = oItemSub.HBatChNo.Substring(0, 4);
+ string month = oItemSub.HBatChNo.Substring(4, 2);
+ string day = oItemSub.HBatChNo.Substring(6, 2);
+
+ //楠岃瘉鍚堟硶鎬�
+ if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛� 鐢熶骇鏃ユ湡D/C 鏃ユ湡涓嶅悎娉曟棤娉曚繚瀛橈紒姝g‘鏍煎紡涓�8浣嶆暟鐨勭函鏁板瓧鏃ユ湡";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ if (Convert.ToInt32(month) > 12 || Convert.ToInt32(day) > 31)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛� 鐢熶骇鏃ユ湡D/C 鏃ユ湡涓嶅悎娉曟棤娉曚繚瀛橈紒";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ }
+ //鍒ゆ柇閲囪喘璁㈠崟鐘舵��
+ objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString());
if (objJsonResult.code == "0")
return objJsonResult;
//澧炲姞鍒ゆ柇 閫佽揣鏁伴噺瓒呭嚭閲囪喘璁㈠崟鏁伴噺
@@ -372,7 +408,7 @@
objJsonResult.data = 1;
return objJsonResult;
}
- if (oItemSub.HQty > oItemSub.HRQty)
+ if (Convert.ToDecimal(oItemSub.HQty) > Convert.ToDecimal(oItemSub.HRQty))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -382,7 +418,7 @@
}
oItemSub.HEntryID = i;
oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
- oItemSub.HRemark = "";
+ //oItemSub.HRemark = "";
oItemSub.HCloseMan = "";
oItemSub.HCloseType = false;
oBill.DetailColl.Add(oItemSub);
@@ -426,6 +462,7 @@
return objJsonResult;
}
}
+
/// <summary>
/// 閫佽揣鍗曞垪琛�
/// </summary>
@@ -773,11 +810,13 @@
}
else
{
- sql = string.Format(@"
+ //鐟炵惇瀛楁
+ sql = string.Format(@"
SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER AS FSETTLEORGNUMBER,
E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID
,CU.FNUMBER AS FUNITNUMBER,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER
+,B.HExpressNumberSub,B.HExpressSupplierSub,B.HRemark,B.HPlanArrivalDate,B.HBoxNumber,B.HBatChNo,D.FBILLTYPEID
FROM CG_POINSTOCKBILLSUB B
JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
@@ -827,6 +866,24 @@
fTypeName = "SLD04_SYS";
ywTypeName = "ZCCG";
}
+ if (FCusName == "鍑礉濂堢壒")
+ {
+ //1鍘�
+ if (dr["FBILLTYPEID"].ToString() == "60cfe60fa16dd8")
+ {
+ fTypeName = "SLD08_SYS";
+ }
+ //2鍘�
+ if (dr["FBILLTYPEID"].ToString() == "60cfe634a1708f")
+ {
+ fTypeName = "SLD09_SYS";
+ }
+ //3鍘�
+ if (dr["FBILLTYPEID"].ToString() == "83d822ca3e374b4ab01e5dd46a0062bd")
+ {
+ fTypeName = "SLD01_SYS";
+ }
+ }
model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = fTypeName }); //鍗曟嵁绫诲瀷
model.Add("FBusinessType", ywTypeName); //涓氬姟绫诲瀷
model.Add("FBILLNO", dr["HBillNo"].ToString()); //鍗曟嵁缂栧彿
@@ -860,6 +917,13 @@
FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环
FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环
FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼
+ FentityModel.Add("FLot", new JObject() { ["Fnumber"] = item["HBatChNo"].ToString() }); // 鎵瑰彿
+
+ FentityModel.Add("F_bsv_Text1", item["HExpressSupplierSub"].ToString());//鐗╂祦鍗曚綅 (鐟炵惇)
+ FentityModel.Add("F_bsv_Text2", item["HExpressNumberSub"].ToString());//鐗╂祦鍗曞彿 (鐟炵惇)
+ FentityModel.Add("FDescription", item["HRemark"].ToString());//琛ㄤ綋澶囨敞 (鐟炵惇)
+ FentityModel.Add("F_bsv_dhrq", item["HPlanArrivalDate"].ToString());//鍒拌揣鏃ユ湡 (鐟炵惇)
+ FentityModel.Add("F_bsv_xh", item["HBoxNumber"].ToString());//绠卞彿 (鐟炵惇)
JArray Fentity2 = new JArray();
JObject FentityModel2 = new JObject();
@@ -899,7 +963,8 @@
return objjson;
}
//LogService.Write("jsonRoot:" + jsonRoot.ToString());
- var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString());
+ var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString());
+
//LogService.Write(result);
if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE")
{
@@ -936,6 +1001,10 @@
}
}
+
+ ////鏇存柊鐗╂祦瀛楁 锛堢憺涓庣惇锛�
+ //oCn.RunProc("exec h_p_Cg_LocalToKingDee_POInStock " + HBillNo + "," + HInterID);
+
//鏇存柊涓昏〃鐘舵�� 瀹℃牳
sql = string.Format(@"update Cg_POInStockBillMain set
HBillStatus = 2 ,
@@ -984,8 +1053,8 @@
SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
int HInterID = 0;
string sql = "select HInterID from CG_POINSTOCKBILLMAIN where HBILLNO = '" + HBillNo + "'";
- if (type == "Print")
- sql += " and HBillStatus = '2' ";//鎵撳嵃鍒ゆ柇鏄惁瀹℃牳
+ //if (type == "Print")
+ // sql += " and HBillStatus = '2' ";//鎵撳嵃鍒ゆ柇鏄惁瀹℃牳
DataTable dt = oCn.RunProcReturn(sql, "HInterID").Tables[0];
if (dt.Rows.Count > 0)
HInterID = Convert.ToInt32(dt.Rows[0]["HInterID"]);
@@ -1192,17 +1261,19 @@
var HinterID = mylist[i].ToString();
oCn.RunProc($"exec h_p_SRM_UpDatePPBomRelationQty {HinterID}");
}
+
//鍒ゆ柇鏈叧鑱旀暟閲忔槸鍚︿负0
- DataSet ds = oCn.RunProcReturn($"select * from H_v_SRM_POOrderBillList where hsubid in ({string.Join(", ", entryList)}) ", "H_v_SRM_POOrderBillList");
+ //瀹夌憺锛欰IS20220914133941 鐟炰笌鐞細AIS20220308151944 鏈湴锛欰IS20210811135644 澶忓疂锛欰IS20211130140219 鍑礉锛欰IS20210820164804
+ DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,鍗曟嵁鍙�,鐗╂枡缂栫爜 from H_v_SRM_POOrderBillList t1 left join AIS20210820164804..T_PUR_POORDERENTRY_R q on q.FENTRYID=t1.HEntryID where hentryid in ({string.Join(", ", entryList)}) ", "H_v_SRM_POOrderBillList");
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
- DataRow[] dr = dt.Select("鏈叧鑱旀暟閲� = " + 0);
+ DataRow[] dr = dt.Select("hqty <=" + 0);
if (dr.Count() > 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
- objJsonResult.Message = $"璇锋鏌ユ暟鎹紝鍗曟嵁鍙凤細{dr[0]["鍗曟嵁鍙�"]},鐗╂枡浠g爜锛歿dr[0]["鐗╂枡浠g爜"]},鏈叧鑱旀暟閲忎负0锛屽凡鍏ㄩ儴鐢熸垚閫佽揣鍗曪紒";
+ objJsonResult.Message = $"璇锋鏌ユ暟鎹紝鍗曟嵁鍙凤細{dr[0]["鍗曟嵁鍙�"]},鐗╂枡缂栫爜锛歿dr[0]["鐗╂枡缂栫爜"]},鍙互鍙戣揣鏁伴噺涓�0锛屽凡鍏ㄩ儴鐢熸垚閫佽揣鍗曪紒";
objJsonResult.data = null;
return objJsonResult;
}
--
Gitblit v1.9.1