From f0ea80c00fa82199413b291f596af2e8e02af851 Mon Sep 17 00:00:00 2001
From: yxj <1qaz@123>
Date: 星期四, 02 六月 2022 16:52:01 +0800
Subject: [PATCH] 新增其他入库校验扫码模块调用方法
---
DLL/Pub_Class.dll | 0
CLOUDWEB/WebService1.asmx.cs | 335 ++++++++++++++++++++++++++++++++++++++++++++++++-------
2 files changed, 290 insertions(+), 45 deletions(-)
diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 3897992..1529889 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -27377,7 +27377,7 @@
#endregion
- #region 鍏跺畠鍏ュ簱CLOUD *New
+ #region 鍏朵粬鍏ュ簱CLOUD *New
//鐢熸垚鍏ュ簱鍗�
[WebMethod]
@@ -27639,6 +27639,216 @@
catch (Exception e)
{
sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+ oCn.RollBack();
+ return false;
+ }
+ }
+
+ #endregion
+
+ #region 鍏朵粬鍏ュ簱 鏍¢獙妯″紡*
+
+ //鏍¢獙鍏跺畠鍏ュ簱
+ [WebMethod]
+ public bool set_SaveOtherInBill_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
+ {
+ if (set_SaveOtherInBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
+ {
+ //涓婁紶鎴愬姛
+ return true;
+ }
+ else
+ {
+ //涓婁紶澶辫触
+ sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+ return false;
+ }
+ }
+
+ public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
+ {
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+ //鑾峰彇绯荤粺鍙傛暟
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+ if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+ {
+ sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+ return false;
+ }
+ //涓婁紶鍓嶅垽鏂�
+ DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck");
+ if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+ {
+ sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+ return false;
+ }
+ else
+ {
+ if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+ {
+ sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+ return false;
+ }
+ }
+
+ try
+ {
+ oCn.BeginTran();
+ //鍐欏叆鏉$爜鍑哄叆搴撹〃
+ oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+ //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+ if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+ {
+ sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+ return false;
+ }
+
+ //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+ string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+ string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+ DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
+ if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
+ {
+ }
+ else
+ {
+ sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
+ sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
+ }
+
+ if (oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+ {
+ string HReturn;
+ ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+ string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+ bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+ if (bLogin)
+ {
+ //鎻愪氦鍗曟嵁
+ string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+ var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+ new object[] { "STK_MISCELLANEOUS", sJson2 });
+ //瀹℃牳鍗曟嵁
+ string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+ var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+ new object[] { "STK_MISCELLANEOUS", sJson3 });
+
+ HReturn = result3.ToString();
+
+ if (HReturn.Contains("\"IsSuccess\":false") == true)
+ {
+ sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn;
+ oCn.RollBack();
+ return false;
+ }
+ else
+ {
+ oCn.Commit();
+ return true;
+ }
+ }
+ else
+ {
+ sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+ oCn.RollBack();
+ return false;
+ }
+ }
+ else
+ {
+ //鏍规嵁TMP琛� 杩斿洖 淇敼淇℃伅
+ DataSet Ds2;
+ Ds2 = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBillCheck");
+ if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0)
+ {
+ sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+ oCn.RollBack();
+ return false;
+ }
+ else
+ {
+ string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[\"FBillEntry\",\"FQty\"]," +
+ "\"NeedReturnFields\":[],\"IsDeleteEntry\":\"false\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+ "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+ "\"Model\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[0].Rows[0]["FID"]) + "\"," +
+ "\"FEntity\":[";
+ string sJson_Entry = "";
+ for (int i = 0; i < Ds2.Tables[1].Rows.Count; i++)
+ {
+ if (sJson_Entry != "")
+ {
+ sJson_Entry = sJson_Entry + " , ";
+ }
+
+ sJson_Entry = sJson_Entry + "{" +
+ "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," +
+ "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FQty"]) + "\"," +
+ "}";
+ }
+ string sJson_End = " ] }}";
+ string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+ //楠岃瘉鐢ㄦ埛淇℃伅
+ string HReturn;
+ ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+ string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+ bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+ if (bLogin)
+ {
+ //淇敼鍗曟嵁
+ var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+ new object[] { "STK_MISCELLANEOUS", sJson });
+
+ HReturn = result.ToString();
+
+ if (HReturn.Contains("\"IsSuccess\":false") == true)
+ {
+ sErrMsg = "淇敼鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+ oCn.RollBack();
+ return false;
+ }
+ else
+ {
+ HReturn = "";
+ //鎻愪氦鍗曟嵁
+ string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+ var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+ new object[] { "STK_MISCELLANEOUS", sJson2 });
+ //瀹℃牳鍗曟嵁
+ string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+ var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+ new object[] { "STK_MISCELLANEOUS", sJson3 });
+
+ HReturn = result3.ToString();
+
+ if (HReturn.Contains("\"IsSuccess\":false") == true)
+ {
+ sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+ oCn.RollBack();
+ return false;
+ }
+ else
+ {
+ //閲嶆柊鍚屾鍏朵粬鍏ュ簱鍗�
+ oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherIn '" + oMain.HBillNo + "'");
+ oCn.Commit();
+ return true;
+ }
+ }
+ }
+ else
+ {
+ sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+ oCn.RollBack();
+ return false;
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
oCn.RollBack();
return false;
}
@@ -36013,6 +36223,43 @@
#endregion
+ #region 鎵弿鍗曟嵁鏉$爜 *鏍¢獙妯″紡
+
+ [WebMethod]
+ public Model.ClsKf_ICStockBill_WMS get_BillBarCode_BillCheck(string HBillNo, string HBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg)
+ {
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+ Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+ //灏嗗崟鎹俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+ DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_BillCheck");
+ if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+ {
+ sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+ return null;
+ }
+ else
+ {
+ if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+ {
+ oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
+ oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
+ oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+ oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
+ oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
+ oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
+ oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]);
+ return oBar;
+ }
+ else
+ {
+ sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+ return null;
+ }
+ }
+ }
+
+ #endregion
+
#region 鎵弿鍗曟嵁鏉$爜 棰嗘枡鍑哄簱 *鏍¢獙妯″紡
[WebMethod]
@@ -36452,14 +36699,19 @@
double sRelQty = 0;
string sBillTypeOneScan = ""; //鏄惁鍚敤涓�娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
- if (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y")
+ if (HBillType == "1203" && oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan == "Y")
{
- //鍏朵粬鍑哄簱鍗�
+ //鍏朵粬鍏ュ簱鍗�
sBillTypeOneScan = "Y";
}
else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
{
//棰嗘枡鍑哄簱鍗�
+ sBillTypeOneScan = "Y";
+ }
+ else if (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y")
+ {
+ //鍏朵粬鍑哄簱鍗�
sBillTypeOneScan = "Y";
}
@@ -36513,8 +36765,22 @@
sRelQty = omodel_View.HQty;
}
+ //鍏朵粬鍏ュ簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鍏朵粬鍏ュ簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+ if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+ {
+ if (omodel_View.HSourceQty == 0)
+ {
+ sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+ return false;
+ }
+ else if (sRelQty > omodel_View.HSourceQty)
+ {
+ sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+ return false;
+ }
+ }
//棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
- if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+ else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
{
if (omodel_View.HSourceQty == 0)
{
@@ -36558,8 +36824,22 @@
sRelQty = omodel_View.HQty;
}
+ //鍏朵粬鍏ュ簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鍏朵粬鍏ュ簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+ if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+ {
+ if (omodel_View.HSourceQty == 0)
+ {
+ sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+ return false;
+ }
+ else if (sRelQty > omodel_View.HSourceQty)
+ {
+ sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+ return false;
+ }
+ }
//棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
- if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+ else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
{
if (omodel_View.HSourceQty == 0)
{
@@ -36975,51 +37255,16 @@
//鍗曟嵁鏉$爜
else if (sBarBillType == "婧愬崟鏉$爜")
{
- DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
-
- if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+ oBar = get_BillBarCode_BillCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
+ if (oBar == null)
{
- sErrMsg = "鎵�鎵崟鎹潯鐮佷笉灞炰簬褰撳墠妯″潡锛�";
+ sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
return null;
}
else
{
- sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
- //鍏朵粬鍑哄簱鍗� 婧愬崟锛氬叾浠栧嚭搴撳崟
- if (sBarBillName == "鍏朵粬鍑哄簱鍗�" && HBillType == "1206")
- {
- oBar = get_BillBarCode_OtherOutCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
- if (oBar == null)
- {
- sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
- return null;
- }
- else
- {
- oBar.HBarType = "鍗曟嵁鏉$爜";
- return oBar;
- }
- }
- //棰嗘枡鍑哄簱鍗� 婧愬崟锛氶鏂欏嚭搴撳崟
- else if (sBarBillName == "棰嗘枡鍑哄簱鍗�" && HBillType == "1204")
- {
- oBar = get_BillBarCode_MateOutCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
- if (oBar == null)
- {
- sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
- return null;
- }
- else
- {
- oBar.HBarType = "鍗曟嵁鏉$爜";
- return oBar;
- }
- }
- else
- {
- sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝鎵�鎵潯鐮佸墠缂�涓嶅睘浜庡綋鍓嶆ā鍧楀崟鎹彿鍓嶇紑锛�";
- return null;
- }
+ oBar.HBarType = "鍗曟嵁鏉$爜";
+ return oBar;
}
}
else
diff --git a/DLL/Pub_Class.dll b/DLL/Pub_Class.dll
index 9fecc4d..06df0a6 100644
--- a/DLL/Pub_Class.dll
+++ b/DLL/Pub_Class.dll
Binary files differ
--
Gitblit v1.9.1