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/POInStockController.cs | 533 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 416 insertions(+), 117 deletions(-) diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs index cc585db..3e2bb42 100644 --- a/WebAPI/Controllers/POInStockController.cs +++ b/WebAPI/Controllers/POInStockController.cs @@ -37,7 +37,7 @@ { try { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //鍐欏叆 System_Log 鎿嶄綔鏃ュ織琛� WebAPIController.Add_Log("閫佽揣鍗曟墦鍗�", CurUserName, "閫佽揣鍗曟墦鍗�"); oCn.RunProc("exec H_p_SRM_POInStockBill_PrintQty " + msg.ToString()); @@ -68,6 +68,8 @@ try { DataSet ds = new DataSet(); + DataSet da = new DataSet(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); if (DBUtility.ClsPub.isLong(sMsg) == 0) { objjson.code = "0"; @@ -85,20 +87,35 @@ return objjson; } string HBillNo, HInnerBillNo, HDate; + string HInterID = "-1"; HBillNo = DBUtility.ClsPub.CreateBillCode_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo, true); HInnerBillNo = DBUtility.ClsPub.CreateBillCode_SRMProd("777", ref DBUtility.ClsPub.sExeReturnInfo, true);//閫佽揣鍗曞彿 HDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); + + da = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillID '" + 1103 + "'", "h_p_Xt_GetMaxBillID"); + if (da == null || da.Tables[0].Rows.Count == 0) + { + HInterID = "1"; + } + else + { + HInterID = ClsPub.isStrNull(da.Tables[0].Rows[0]["HBillNo"]); + } + + //HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); //鍒涘缓涓存椂琛� DataTable dt = new DataTable(); //鍒涘缓琛ㄤ腑鐨勫垪 dt.Columns.Add("HBillNo", typeof(string));//娣诲姞鍒� dt.Columns.Add("HInnerBillNo", typeof(string));//娣诲姞鍒� dt.Columns.Add("HDate", typeof(string));//娣诲姞鍒� + dt.Columns.Add("HInterID", typeof(string));//娣诲姞鍒� DataRow row = dt.NewRow(); //缁欏垪璧嬪�� row["HBillNo"] = HBillNo; row["HInnerBillNo"] = HInnerBillNo; row["HDate"] = HDate; + row["HInterID"] = HInterID; //鎶婃湁鍊肩殑鍒楁坊鍔犲埌琛� dt.Rows.Add(row); //鎶婅〃娣诲姞鍒癲ataset @@ -256,7 +273,7 @@ try { string sql = $"update銆�Cg_POInStockBillMain銆� set HDeliveryNo ='{HDeliveryNo}' where HInterID in ({HmainId})"; - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); oCn.RunProc(sql); objJsonResult.code = "1"; @@ -283,13 +300,19 @@ [HttpPost] public object SaverPOInStock([FromBody] JObject msg) { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; + string HOpType = ""; + if (sArray.Length > 2) + { + HOpType = sArray[2].ToString(); + } + ListModels oListModels = new ListModels(); try { @@ -300,9 +323,11 @@ msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_POInStockMain(msg2); + + /* 娣诲姞缂栬緫鍔熻兘鍚庡睆钄� string billno = lsmain[0].HBillNo; string yzsql = $"select count(*) as rows from Cg_POInStockBillMain where HBillNo = '{billno}'"; - DataTable yzdt = oCn.RunProcReturn(yzsql, "yzds").Tables[0]; + DataTable yzdt = oCn.RunProcReturn(yzsql, "yzds").Tables[0]; if (Convert.ToInt32(yzdt.Rows[0][0]) > 0) { objJsonResult.code = "0"; @@ -311,6 +336,8 @@ objJsonResult.data = 1; return objJsonResult; } + */ + //鏍规嵁鏀舵枡閫氱煡鍗曞彿鏍¢獙鏄惁宸茬敓鎴� //string jysql = $"select * from ": foreach (Model.ClsCg_POInStockBillMain oItem in lsmain) @@ -323,7 +350,7 @@ oItem.HCurID = 1; oItem.HExRate = 1; oItem.HMainSourceInterID = oItem.HInterID; - oItem.HInterID = 0; + //oItem.HInterID = 0; //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); if (FCusName.Contains("瀹夌憺")) //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤 { @@ -394,8 +421,10 @@ // } //} - //鍒ゆ柇閲囪喘璁㈠崟鐘舵�� - objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString()); + + //鍒ゆ柇閲囪喘璁㈠崟鐘舵�� + objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString()); + if (objJsonResult.code == "0") return objJsonResult; //澧炲姞鍒ゆ柇 閫佽揣鏁伴噺瓒呭嚭閲囪喘璁㈠崟鏁伴噺 @@ -427,16 +456,21 @@ //淇濆瓨 //淇濆瓨瀹屾瘯鍚庡鐞� bool bResult; - if (oBill.omodel.HInterID == 0) - { - bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); - } - else + + //oCn.BeginTran(); //寮�濮嬩簨鐗� + + if (HOpType.ToString() == "edit"/*oBill.omodel.HInterID != 0 && oBill.omodel.HInterID.ToString() != null && oBill.omodel.HInterID.ToString() != "undefined"*/) { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } + else + { + bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + } if (bResult) { + //oCn.Commit(); //鎻愪氦浜嬬墿 + objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; @@ -446,6 +480,8 @@ } else { + //oCn.RollBack(); //鍥炴粴浜嬬墿 + objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo; @@ -455,6 +491,7 @@ } catch (Exception e) { + //oCn.RollBack(); //鍥炴粴浜嬬墿 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString(); @@ -475,17 +512,17 @@ //閫佽揣鍗曞垪琛� public object GetPOInStockBill([FromBody] JObject msg) { - string HSupNo = msg["HSupNo"].ToString(); string sqlWhere = msg["sqlWhere"].ToString(); + string HSupIDs = msg["HSupIDs"].ToString(); string sqlWhere = msg["sqlWhere"].ToString(); try { Stopwatch sw = new Stopwatch(); sw.Start();//寮�濮嬭鏃� string VsWhere = ""; string PcWhere = ""; - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet ds; //鍏朵粬杩囨护 - string sql = " Where hsupid in (select HSupID from h_v_Gy_UserSupplierList where 鐢ㄦ埛 =^^" + HSupNo.Trim() + "^^) " + sqlWhere; + string sql = " Where hsupid in (" + HSupIDs.Trim() + ")" + sqlWhere; //杞崲鐗规畩瀛楃 if (Common.SQLtoChange(sql, ref VsWhere, ref PcWhere) == false) { @@ -496,7 +533,7 @@ return objjson; } //鑾峰彇鎬昏鏁� - Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POInStockBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo); + //Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POInStockBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo); //鑾峰彇杩斿洖鏁版嵁 ds = oCn.RunProcReturn("exec H_p_SRM_POInStockBillList '" + PcWhere + "'", "H_p_SRM_POInStockBillList"); @@ -639,9 +676,9 @@ public object AuditPOInStockBill(string HInterID, string CurUserName, string HBillNo) { json objjson = new json(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try - { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + { //閲囪喘璁㈠崟 鐢熸垚閫佽揣鍗曞垪琛� if (!String.IsNullOrEmpty(HBillNo)) HInterID = GetHinterIDByBillNo(HBillNo, "Aduit").ToString(); @@ -662,36 +699,73 @@ //var HValue = oCn.RunProcReturn(parameterSql, "dt").Tables[0].Rows[0][0].ToString(); string HValue = "Y"; string CustomFields = "";//鑷畾涔夊瓧娈� + + oCn.BeginTran(); //寮�濮嬩簨鐗� + if (HValue == "Y") { - if (FCusName == "澶忓疂鐢靛櫒") + //==================================== Begin 閫佽揣鍗曞鏍稿墠鎺у埗 Begin ==================================== + DataSet ds; + + string[] sArray = HInterID.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); + + for (int i = 0; i < sArray.Length; i++) { - 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,D.F_XBKF_COMBO1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER,D.F_XBKF_BASE1,isnull(T5.FNUMBER,'') AS FRECEIVEMENNUMBER -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 -LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID -LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID -JOIN {0}..T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID -JOIN {0}..T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID -LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID -LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID -LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052 -LEFT JOIN {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID -LEFT JOIN {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID -LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID -JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID -LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID - WHERE b.hinterid in ({1}) and M.HERPInterID = 0 -", kdTbaleName, HInterID); + ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_BeforeCheckCtrl " + sArray[i] + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_BeforeCheckCtrl"); + if (ds == null) + { + oCn.RollBack(); //鍥炴粴浜嬬墿 + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒鏃犳暟鎹繑鍥�"; + objjson.data = null; + return objjson; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + oCn.RollBack(); //鍥炴粴浜嬬墿 + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]); + objjson.data = null; + return objjson; + } + } + + //====================================== End 閫佽揣鍗曞鏍稿墠鎺у埗 End ====================================== + if (FCusName == "澶忓疂鐢靛櫒") + { +// 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,D.F_XBKF_COMBO1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER,D.F_XBKF_BASE1,isnull(T5.FNUMBER,'') AS FRECEIVEMENNUMBER +//,C.FGiveAway AS FGiveAway +//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 +//LEFT JOIN {0}.T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID +//LEFT JOIN {0}.T_BD_UNIT CU ON C.FUNITID =CU.FUNITID +//JOIN {0}.T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID +//LEFT JOIN {0}.T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID +//JOIN {0}.T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID +//LEFT JOIN {0}.T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID +//LEFT JOIN {0}.T_PUR_POORDER D ON C.FID =D.FID +//LEFT JOIN {0}.h_v_T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID +//LEFT JOIN {0}.T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052 +//LEFT JOIN {0}.V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID +//LEFT JOIN {0}.T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID +//LEFT JOIN {0}.T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID +//LEFT JOIN {0}.T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID +//JOIN {0}.T_PUR_POORDERFIN E ON C.FID =E.FID +//LEFT JOIN {0}.T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID +// WHERE b.hinterid in ({1}) and M.HERPInterID = 0 +//", kdTbaleName, HInterID); +// dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; + + sql = string.Format($"exec h_p_Cg_POInStock_GetInfoToERP '{HInterID}'"); dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; + if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) @@ -749,6 +823,7 @@ FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环 FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环 FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼 + FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//鏄惁璧犲搧 JArray Fentity2 = new JArray(); JObject FentityModel2 = new JObject(); @@ -829,6 +904,7 @@ ,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 ,isnull(VW.FNUMBER,'') AS FReceiverNUMBER,isnull(B.HKFDate,'') As FProduceDate,B.HTAXPRICE_T AS F_AAAA_PRICE1 +,C.FGiveAway AS FGiveAway 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 @@ -895,6 +971,11 @@ //3鍘� if (dr["FBILLTYPEID"].ToString() == "83d822ca3e374b4ab01e5dd46a0062bd") { + fTypeName = "SLD10_SYS"; + } + //鏍囧噯閲囪喘璁㈠崟 + if (dr["FBILLTYPEID"].ToString() == "65a5124e3be263") + { fTypeName = "SLD01_SYS"; } model.Add("FReceiverId", new JObject() { ["Fnumber"] = dr["FReceiverNUMBER"].ToString() }); //鏀舵枡鍛� @@ -928,10 +1009,7 @@ FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//婧愬崟鍗曞彿 FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 - FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid - FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环 - FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环 - FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼 + FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid FentityModel.Add("FLot", new JObject() { ["Fnumber"] = item["HBatChNo"].ToString() }); // 鎵瑰彿 FentityModel.Add("FProduceDate", item["FProduceDate"].ToString());//鐢熶骇鏃ユ湡 FentityModel.Add("F_aaaa_Price1", item["F_aaaa_Price1"].ToString());//鍚◣閲嶉噺鍗曚环/鍚� @@ -941,7 +1019,10 @@ FentityModel.Add("FDescription", item["HRemark"].ToString());//琛ㄤ綋澶囨敞 (鐟炵惇) FentityModel.Add("F_bsv_dhrq", item["HPlanArrivalDate"].ToString());//鍒拌揣鏃ユ湡 (鐟炵惇) FentityModel.Add("F_bsv_xh", item["HBoxNumber"].ToString());//绠卞彿 (鐟炵惇) - + FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环 + FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环 + FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼 + FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//鏄惁璧犲搧 JArray Fentity2 = new JArray(); JObject FentityModel2 = new JObject(); FentityModel2.Add("FDetailEntity_Link_FRULEID", "PUR_PurchaseOrder-PUR_ReceiveBill"); @@ -1018,31 +1099,37 @@ } else { - 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 -LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID -LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID -JOIN {0}..T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID -JOIN {0}..T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID -LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID -LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID -LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052 -LEFT JOIN {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID -LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID -LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID -JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID -LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID - WHERE b.hinterid in ({1}) and M.HERPInterID = 0 -", kdTbaleName, HInterID, CustomFields); +// 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,case when B.HRemark = 'CLOUD瀵煎叆' then '' else B.HRemark end HRemark,B.HPlanArrivalDate,B.HBoxNumber,B.HBatChNo,D.FBILLTYPEID +//,CU2.FNUMBER AS FPRICEUNITNUMBER +//,C.FGiveAway AS FGiveAway +//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 +//LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID +//LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID +//JOIN {0}..T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID +//LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID +//JOIN {0}..T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID +//LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID +//LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID +//LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID +//LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052 +//LEFT JOIN {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID +//LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID +//LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID +//JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID +//LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID +//LEFT JOIN {0}..T_PUR_POORDERENTRY_F CF ON C.FID = CF.FID AND C.FENTRYID = CF.FENTRYID +//LEFT JOIN {0}..T_BD_UNIT CU2 ON CF.FPRICEUNITID =CU2.FUNITID +// WHERE b.hinterid in ({1}) and M.HERPInterID = 0 +//", kdTbaleName, HInterID, CustomFields); + + sql = string.Format($"exec h_p_Cg_POInStock_GetInfoToERP '{HInterID}'"); dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; if (dt.Rows.Count > 0) { @@ -1110,9 +1197,16 @@ FentityModel.Add("F_bsv_Text1", item["HExpressSupplierSub"].ToString());//鐗╂祦鍗曚綅 (鐟炵惇) FentityModel.Add("F_bsv_Text2", item["HExpressNumberSub"].ToString());//鐗╂祦鍗曞彿 (鐟炵惇) - FentityModel.Add("FDescription", item["HRemark"].ToString());//琛ㄤ綋澶囨敞 (鐟炵惇) + FentityModel.Add("FDescription", item["HRemark"].ToString());//琛ㄤ綋鎻忚堪 (鐟炵惇) + + if (FCusName == "娣诲悍绉戞妧") + { + FentityModel.Add("F_RXSD_TEXT_QTR", item["HPOOREntryRemark"].ToString());//琛ㄤ綋澶囨敞 + } + FentityModel.Add("F_bsv_dhrq", item["HPlanArrivalDate"].ToString());//鍒拌揣鏃ユ湡 (鐟炵惇) FentityModel.Add("F_bsv_xh", item["HBoxNumber"].ToString());//绠卞彿 (鐟炵惇) + FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//鏄惁璧犲搧 JArray Fentity2 = new JArray(); JObject FentityModel2 = new JObject(); @@ -1151,12 +1245,13 @@ objjson.data = null; return objjson; } - //LogService.Write("jsonRoot:" + jsonRoot.ToString()); + LogService.Write("jsonRoot:" + jsonRoot.ToString()); var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString()); //LogService.Write(result); if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE") { + LogService.Write("SRM-鏀舵枡閫氱煡鍗曞鏍稿け璐SON锛�" + jsonRoot.ToString()); //鏇存柊閫佽揣鍗� 涓昏〃 ERP鍗曟嵁鍙� 浠ュ強 ERP涓诲唴鐜� string FBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); string FID = JObject.Parse(result)["Result"]["Id"].ToString(); @@ -1174,6 +1269,8 @@ } else { + LogService.Write("SRM-鏀舵枡閫氱煡鍗曞鏍稿け璐SON锛�" + jsonRoot.ToString() ); + objjson.code = "0"; objjson.count = 0; objjson.Message = result; @@ -1188,7 +1285,30 @@ LogService.Write("鏀舵枡閫氱煡鍗曞鏍告棤鏁版嵁锛�" + sql); } } - + //==================================== Begin 閫佽揣鍗曞鏍稿悗鎺у埗 Begin ==================================== + for (int i = 0; i < sArray.Length; i++) + { + ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_AfterCheckCtrl " + sArray[i] + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_AfterCheckCtrl"); + if (ds == null) + { + oCn.RollBack(); //鍥炴粴浜嬬墿 + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳鍚庡垽鏂け璐ワ紒鏃犳暟鎹繑鍥�"; + objjson.data = null; + return objjson; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + oCn.RollBack(); //鍥炴粴浜嬬墿 + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]); + objjson.data = null; + return objjson; + } + } + //====================================== End 閫佽揣鍗曞鏍稿悗鎺у埗 End ====================================== } ////鏇存柊鐗╂祦瀛楁 锛堢憺涓庣惇锛� @@ -1201,6 +1321,9 @@ HCheckDate = getdate() where HInterID in ({1})", CurUserName, HInterID); oCn.RunProc(sql); + + oCn.Commit(); //鎻愪氦浜嬬墿 + objjson.code = "1"; objjson.count = 1; objjson.Message = "鎿嶄綔鎴愬姛"; @@ -1209,7 +1332,7 @@ } catch (Exception ex) { - + oCn.RollBack(); //鍥炴粴浜嬬墿 objjson.code = "0"; objjson.count = 0; objjson.Message = "鎿嶄綔澶辫触" + ex.Message.ToString(); @@ -1237,9 +1360,46 @@ objjson.data = HinterID; return objjson; } + + [Route("DeAuditPOInStockBill")] + [HttpGet] + public object DeAuditPOInStockBill(string HInterID,string HBillNo, string CurUserName) + { + json objjson = new json(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + + //==================================== Begin 鍙嶅鏍搁�佽揣鍗� Begin ==================================== + DataSet ds; + + ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_DeAudit " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_DeAudit"); + if (ds == null) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛佹棤鏁版嵁杩斿洖"; + objjson.data = null; + return objjson; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鍙嶅鏍稿け璐ワ紒" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]); + objjson.data = null; + return objjson; + } + //====================================== End 鍙嶅鏍搁�佽揣鍗� End ====================================== + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "鎿嶄綔鎴愬姛"; + objjson.data = ""; + return objjson; + } + public int GetHinterIDByBillNo(string HBillNo, string type) { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); int HInterID = 0; string sql = "select HInterID from CG_POINSTOCKBILLMAIN where HBILLNO = '" + HBillNo + "'"; //if (type == "Print") @@ -1257,11 +1417,11 @@ try { DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill(); - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //鑾峰彇瀹㈡埛鍚嶇О string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); //澶忓疂闇�瑕佸厛鍦ㄩ噾铦跺垹闄ゆ敹鏂欓�氱煡鍗曞悗鎵嶈兘鍦ㄤ緵搴斿晢鍗忓悓骞冲彴鍒犻櫎閫佽揣鍗� - if (FCusName == "澶忓疂鐢靛櫒") + if (FCusName == "澶忓疂鐢靛櫒" || FCusName == "娣诲悍绉戞妧") { string sqlBeforeDel = $"exec h_p_SRM_POInStockBeforeDelCtrl " + HInterID; @@ -1460,9 +1620,12 @@ /// <returns></returns> public object TestSaverPOInStock(string ids, string entryids) { + //List<string> mylist = new List<string>(ids.Split(','));//.Distinct() + //List<string> entryList = new List<string>(entryids.Split(','));//.Distinct() + List<string> mylist = new List<string>(ids.Split(',').Distinct()); List<string> entryList = new List<string>(entryids.Split(',').Distinct()); - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); if (FCusName == "澶忓疂鐢靛櫒" && mylist.Count > 1) { @@ -1474,28 +1637,66 @@ } try { + DataSet ds2; + oCn.BeginTran(); //寮�濮嬩簨鐗� + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曞彉鏇村崟 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 objJsonResult = TestPOOrder(entryids); if (objJsonResult.code == "0") return objJsonResult; + //if (mylist.Count != entryList.Count) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "涓诲唴鐮佷笌瀛愬唴鐮佹暟閲忎笉涓�鑷达紒"; + // objJsonResult.data = null; + // return objJsonResult; + //} + for (int i = 0;i < mylist.Count;i++) + { + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗曞墠鎺у埗 + string sql = "exec h_p_SRM_POOrderBill_BeforePushDownCtrl " + mylist[i] + "," + entryList[i]; + ds2 = oCn.RunProcReturn(sql, "h_p_SRM_POOrderBill_BeforePushDownCtrl"); + + if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") + { + LogService.Write("閫佽揣鏁伴噺鍚屾杩涘叆鍥炴粴"); + oCn.RollBack(); //鍥炴粴浜嬬墿 + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HRemarkBack"]); + objjson.data = null; + return objjson; + } + } + for (int i = 0; i < mylist.Count; i++) { //鏇存柊鍏宠仈鏁伴噺 var HinterID = mylist[i].ToString(); var HEntryID = entryList[i].ToString(); + LogService.Write("閫佽揣鏁伴噺鍚屾锛� exec h_p_SRM_UpDatePPBomRelationQty" + HinterID + "," + HEntryID); oCn.RunProc($"exec h_p_SRM_UpDatePPBomRelationQty {HinterID},{HEntryID},{i+1}"); } //鍒ゆ柇鏈叧鑱旀暟閲忔槸鍚︿负0 - //瀹夌憺锛欰IS20220914133941 鐟炰笌鐞細AIS20220308151944 鏈湴锛欰IS20210811135644 澶忓疂锛欰IS20211130140219 鍑礉锛欰IS20210820164804 - DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,q.FRemainReceiveQty as 鍓╀綑鏀舵枡鏁伴噺,T1.hrelationqty as 宸插彂璐ф暟閲�,T1.hqty as 璁㈠崟鏁伴噺,鍗曟嵁鍙�,鐗╂枡缂栫爜 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"); + //瀹夌憺锛欰IS20220914133941 鐟炰笌鐞細AIS20220308151944 鏈湴锛欰IS20210811135644 澶忓疂锛歴rv_lnk.AIS20211130140219.dbo. 鍑礉锛欰IS20210820164804 娣诲悍锛欰IS20240809105013 + //DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,q.FRemainReceiveQty as 鍓╀綑鏀舵枡鏁伴噺,T1.hrelationqty as 宸插彂璐ф暟閲�,T1.hqty as 璁㈠崟鏁伴噺,鍗曟嵁鍙�,鐗╂枡缂栫爜 from H_v_SRM_POOrderBillList t1 left join AIS20210811135644..T_PUR_POORDERENTRY_R q on q.FENTRYID=t1.HEntryID where hentryid in ({string.Join(", ", entryList)})", "H_v_SRM_POOrderBillList"); + + var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); + + string sql2 = string.Format(@"select T1.hqty - T1.hrelationqty + q.FMRBQTY as hqty, q.FRemainReceiveQty as 鍓╀綑鏀舵枡鏁伴噺, T1.hrelationqty as 宸插彂璐ф暟閲�, T1.hqty as 璁㈠崟鏁伴噺, 鍗曟嵁鍙�, 鐗╂枡缂栫爜 from H_v_SRM_POOrderBillList_JY t1 left join {0}.T_PUR_POORDERENTRY_R q with(nolock) on q.FENTRYID = t1.HEntryID where hentryid in ({1})", kdTbaleName, string.Join(", ", entryList)); + + DataSet ds = oCn.RunProcReturn(sql2, "H_v_SRM_POOrderBillList"); + DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { DataRow[] dr = dt.Select("hqty <=" + 0); if (dr.Count() > 0) { + oCn.RollBack();//鍥炴粴浜嬪姟 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = $"璇锋鏌ユ暟鎹紝鍗曟嵁鍙凤細{dr[0]["鍗曟嵁鍙�"]},鐗╂枡缂栫爜锛歿dr[0]["鐗╂枡缂栫爜"]},鍙互鍙戣揣鏁伴噺涓�0锛屽凡鍏ㄩ儴鐢熸垚閫佽揣鍗曪紒,璁㈠崟鏁伴噺锛歿Convert.ToDouble(dr[0]["璁㈠崟鏁伴噺"]).ToString("f2")},宸插彂璐ф暟閲忥細{Convert.ToDouble(dr[0]["宸插彂璐ф暟閲�"]).ToString("f2")},鍓╀綑鏀舵枡鏁伴噺锛歿Convert.ToDouble(dr[0]["鍓╀綑鏀舵枡鏁伴噺"]).ToString("f2")}"; @@ -1503,6 +1704,9 @@ return objJsonResult; } } + + oCn.Commit(); //鎻愪氦浜嬬墿 + objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "鎿嶄綔鎴愬姛!"; @@ -1526,20 +1730,39 @@ /// <returns></returns> public JsonResult TestPOOrder(string entryids) { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try { + //鑾峰彇绯荤粺鍙傛暟--瀹㈡埛鍚嶇О + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); + string sql = ""; //楠岃瘉閲戣澏閲囪喘璁㈠崟鏄惁瀛樺湪 - string sql = string.Format(@" -select M.HBillNo,B.HMaterID,E.HNumber,E.HName -FROM Cg_POOrderBillSub B -JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID -JOIN Gy_Material E ON B.HMaterID = E.HItemID -LEFT JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID -WHERE ISNULL(C.FENTRYID,0) = 0 -AND B.HEntryID in ({0})" - , entryids, kdTbaleName); + if (FCusName == "澶忓疂鐢靛櫒") + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + LEFT JOIN {1}.T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + WHERE ISNULL(C.FENTRYID,0) = 0 + AND B.HEntryID in ({0})" + , entryids, kdTbaleName); + } + else + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + LEFT JOIN {1}..T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + WHERE ISNULL(C.FENTRYID,0) = 0 + AND B.HEntryID in ({0})" + , entryids, kdTbaleName); + } + DataSet ds = oCn.RunProcReturn(sql, "temp"); if (ds.Tables[0].Rows.Count > 0) { @@ -1550,18 +1773,37 @@ return objJsonResult; } + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曞彉鏇村崟 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 - sql = string.Format(@" -select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO -FROM Cg_POOrderBillSub B -JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID -JOIN Gy_Material E ON B.HMaterID = E.HItemID -JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID -LEFT join {1}..T_PUR_POCHANGEENTRY D ON C.FENTRYID = D.FOFENTRYID -LEFT join {1}..T_PUR_POCHANGE F ON D.FID = F.FID -where b.HEntryID in ({0}) -and F.FDOCUMENTSTATUS <> 'C'" - , entryids, kdTbaleName); + if (FCusName == "澶忓疂鐢靛櫒") + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + JOIN {1}.T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + LEFT join {1}.T_PUR_POCHANGEENTRY D with(nolock) ON C.FENTRYID = D.FOFENTRYID + LEFT join {1}.T_PUR_POCHANGE F with(nolock) ON D.FID = F.FID + where b.HEntryID in ({0}) + and F.FDOCUMENTSTATUS <> 'C'" + , entryids, kdTbaleName); + } + else + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + JOIN {1}..T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + LEFT join {1}..T_PUR_POCHANGEENTRY D with(nolock) ON C.FENTRYID = D.FOFENTRYID + LEFT join {1}..T_PUR_POCHANGE F with(nolock) ON D.FID = F.FID + where b.HEntryID in ({0}) + and F.FDOCUMENTSTATUS <> 'C'" + , entryids, kdTbaleName); + } + ds = oCn.RunProcReturn(sql, "temp"); if (ds.Tables[0].Rows.Count > 0) { @@ -1572,17 +1814,35 @@ return objJsonResult; } + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曟柊鍙樻洿鍗� 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 - sql = string.Format(@" -select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO -FROM Cg_POOrderBillSub B -JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID -JOIN Gy_Material E ON B.HMaterID = E.HItemID -JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID -LEFT join {1}..t_PUR_XPOOrderENTRY D ON C.FENTRYID = D.FPKIDX -LEFT join {1}..t_PUR_XPOOrder F ON D.FID = F.FID -where F.FDOCUMENTSTATUS <> 'C' and b.HEntryID in ({0}) " - , entryids, kdTbaleName); + if (FCusName == "澶忓疂鐢靛櫒") + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + JOIN {1}.T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + LEFT join {1}.t_PUR_XPOOrderENTRY D with(nolock) ON C.FENTRYID = D.FPKIDX + LEFT join {1}.t_PUR_XPOOrder F with(nolock) ON D.FID = F.FID + where F.FDOCUMENTSTATUS <> 'C' and b.HEntryID in ({0}) " + , entryids, kdTbaleName); + } + else + { + sql = string.Format(@" + select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO + FROM Cg_POOrderBillSub B with(nolock) + JOIN Cg_POOrderBillMAIN M with(nolock) ON B.HINTERID = M.HINTERID + JOIN Gy_Material E with(nolock) ON B.HMaterID = E.HItemID + JOIN {1}..T_PUR_POORDERENTRY C with(nolock) ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID + LEFT join {1}..t_PUR_XPOOrderENTRY D with(nolock) ON C.FENTRYID = D.FPKIDX + LEFT join {1}..t_PUR_XPOOrder F with(nolock) ON D.FID = F.FID + where F.FDOCUMENTSTATUS <> 'C' and b.HEntryID in ({0}) " + , entryids, kdTbaleName); + } + ds = oCn.RunProcReturn(sql, "temp"); if (ds.Tables[0].Rows.Count > 0) { @@ -1622,7 +1882,7 @@ { try { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //鏌ヨ涓昏〃 DataSet Ds; Ds = oCn.RunProcReturn(" exec h_p_SRM_POInStockBillMain_ForWeb " + lngBillKey.ToString() + ",'" + HBillType + "'", "h_p_SRM_POInStockBillMain_ForWeb"); @@ -1655,7 +1915,7 @@ string s = ""; try { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //鏌ヨ涓昏〃 DataSet Ds; Ds = oCn.RunProcReturn(" exec h_p_SRM_POInStockBillSub_ForWeb '" + lngBillKey2 + "','" + HBillType + "'", "h_p_SRM_POInStockBillSub_ForWeb"); @@ -1674,6 +1934,45 @@ } } + #region 閫佽揣鍗曠紪杈戣幏鍙栧崟鎹暟鎹� + [Route("Cg_POInStockBill/cx")] + [HttpGet] + public object Cg_POInStockBill_cx(long HInterID) + { + try + { + //鏌ヨ涓昏〃 + DataSet ds; + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + + ds = oCn.RunProcReturn("select * from h_v_SRM_POInStockBillEdit where hmainid =" + HInterID, "h_v_SRM_POInStockBillEdit"); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "false锛佹病鏈夎繑鍥為�佽揣鍗曚俊鎭紝璇锋牳瀵归�佽揣鍗曟槸鍚﹀瓨鍦�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鑾峰彇閫佽揣鍗曚俊鎭紓甯�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion } } \ No newline at end of file -- Gitblit v1.9.1