From 19d0afadbe1c90e227b852db0a97ae413e90691f Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期日, 29 九月 2024 19:13:25 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs | 866 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 864 insertions(+), 2 deletions(-) diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs index eb34030..513009d 100644 --- a/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs @@ -1,4 +1,5 @@ -锘縰sing Newtonsoft.Json.Linq; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; @@ -13,7 +14,10 @@ //閫�璐ч�氱煡鍗旵ontroller public class Xs_SeOutStockBackBillController : ApiController { + //鑾峰彇绯荤粺鍙傛暟 + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); public DBUtility.ClsPub.Enum_BillStatus BillStatus; + public DAL.ClsXs_SeOutStockBackBill BillOld = new DAL.ClsXs_SeOutStockBackBill(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); @@ -31,7 +35,8 @@ { try { - //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + List < object > columnNameList = new List<object>() +; //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBackBillQuery", 1, false, user)) { objJsonResult.code = "0"; @@ -51,6 +56,12 @@ string sql = sql1 + sWhere+ " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_IF_SeOutStockBackBillList"); } + foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢� + { + Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺� // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆 + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } //if (ds.Tables[0].Rows.Count != 0 || ds != null) //{ @@ -58,6 +69,7 @@ objJsonResult.count = 1; objJsonResult.Message = "Sucess锛�"; objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴�� return objJsonResult; //} //else @@ -100,9 +112,68 @@ return objJsonResult; } + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + oCN.BeginTran(); + + var ds = oCN.RunProcReturn("select * from Xs_SeOutStockBackBillMain where HInterID=" + HInterID, "Xs_SeOutStockBackBillMain"); + //鍒犻櫎鍓嶆帶鍒� + DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBackBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Xs_SeOutStockBackBill_BeforeDelCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + oCN.RunProc("Delete From Xs_SeOutStockBackBillMain where HInterID = " + HInterID); oCN.RunProc("Delete From Xs_SeOutStockBackBillSub where HInterID = " + HInterID); + + //鍒犻櫎鍚庢帶鍒� + DataSet EndDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBackBill_AfterDelCtrl " + HInterID.ToString() + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + user + "'", " h_p_Xs_SeOutStockBackBill_AfterDelCtrl"); + if (EndDs == null || EndDs.Tables.Count == 0 || EndDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎鍚庡垽鏂け璐ワ紒"; + objJsonResult.data = null; + oCN.RollBack(); + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(EndDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(EndDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; @@ -122,7 +193,798 @@ } #endregion + #region [鍚屾鍗曟嵁] + [Route("Xs_SeOutStockBackBill/Xs_SeOutStockBackBillViewApi")] + [HttpGet] + public json Xs_SeOutStockBackBillViewApi(string BillNo, string BillType) + { + string sql = string.Empty; + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡 + if (oSystemParameter.omodel.WMS_CloudMode == "Y") + { + #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩 + try + { + oCN.BeginTran(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal"); + if (DS == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍚屾澶辫触"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "ERP涓笉瀛樺湪璇ュ崟鎹彿"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + #endregion + } + else + { + #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩 + var json = new + { + CreateOrgId = 0, + Number = BillNo, + Id = "" + }; + #region [閲戣澏閮ㄥ垎] + //鐧诲綍閲戣澏 + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + //鍒ゆ柇鏄惁鐧诲綍鎴愬姛 + if (isSuccess < 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = loginRet; + objJsonResult.data = null; + return objJsonResult; + } + //鏌ョ湅 鑾峰彇鏁版嵁 + var _result = InvokeHelper.View("SAL_RETURNNOTICE", JsonConvert.SerializeObject(json)); + var _saveObj = JObject.Parse(_result); + //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛 + if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏閫�璐ч�氱煡鍗曞悓姝ュけ璐sonRoot锛�" + _result; + objJsonResult.data = null; + return objJsonResult; + } + + #endregion + //鑾峰彇涓昏〃鏁版嵁 + DataSet Ds; + Int64 InterID = 0; + Ds = oCN.RunProcReturn("select * from Xs_SeOutStockBackBillMain where HBillNo = '" + BillNo + "'", "Xs_SeOutStockBackBillMain"); + if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0) + { + InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); + } + + #region [涓昏〃鏁版嵁璧嬪�糫 + var jsonData = new + { + HInterID = _saveObj["Result"]["Result"]["Id"], + HYear = DateTime.Now.Year, + HPeriod = DateTime.Now.Month, + HBillType = 1403, + HBillSubType = 1403, + HDate = _saveObj["Result"]["Result"]["Date"], + HBillNo = _saveObj["Result"]["Result"]["BillNo"], + HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2 , + HCusID = _saveObj["Result"]["Result"]["RetcustId_Id"], + HManagerID = _saveObj["Result"]["Result"]["StockerId_Id"], + HDeptID = _saveObj["Result"]["Result"]["Sledeptid_Id"], + HRemark = "CLD瀵煎叆", + HAddress = _saveObj["Result"]["Result"]["ReceiveAddress"], + HSSID = 0, + HCurID = 0, + HWHID = 0, + HExRate = 1, + HEmpID = _saveObj["Result"]["Result"]["SalesManId_Id"], + HExplanation = "", + HInnerBillNo = "", + HSALEORGID = _saveObj["Result"]["Result"]["SaleOrgId_Id"], + HDELIVERYORGID = _saveObj["Result"]["Result"]["RetorgId_Id"], + HOWNERID = _saveObj["Result"]["Result"]["OwnerIdHead_Id"], + HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeIdHead"], + HMaker = _saveObj["Result"]["Result"]["FCreatorId"]["Name"], + HMakeDate = _saveObj["Result"]["Result"]["FCreateDate"], + HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"], + HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"], + HERPInterID = _saveObj["Result"]["Result"]["Id"], + HERPBillType = _saveObj["Result"]["Result"]["BillTypeID_Id"], + HSETTLECUSID = _saveObj["Result"]["Result"]["SettleCusId_Id"], + HPAYCUSID = _saveObj["Result"]["Result"]["PayCusId_Id"], + HRECEIVECUSID = _saveObj["Result"]["Result"]["ReceiveCusId_Id"], + HSALEGROUPID = _saveObj["Result"]["Result"]["SaleGroupId_Id"], + HHEADLOCID = _saveObj["Result"]["Result"]["HeadLocId_Id"], + HRECCONTACTID = 0, + HRETURNREASON = _saveObj["Result"]["Result"]["ReturnReason_Id"], + HRETDEPTID = _saveObj["Result"]["Result"]["RetDeptId_Id"], + HDESCRIPTION = _saveObj["Result"]["Result"]["Description"], + HBUSINESSTYPE = _saveObj["Result"]["Result"]["BussinessType"], + }; + #endregion + // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁 + sql = $"delete from Xs_SeOutStockBackBillMain where HInterID = " + InterID; + oCN.RunProc(sql); + + //鎻掑叆涓昏〃 + sql = $@" + insert into Xs_SeOutStockBackBillMain + (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate + ,HBillNo,HBillStatus + ,HCusID,HManagerID,HDeptID,HRemark + ,HAddress,HSSID,HCurID,HWHID,HExRate,HEmpID,HExplanation,HInnerBillNo + ,HSALEORGID,HDELIVERYORGID,HOWNERID,HOWNERTYPEID + ,HMaker,HMakeDate,HChecker,HCheckDate,HERPInterID,HERPBillType + ,HSETTLECUSID,HPAYCUSID,HRECEIVECUSID,HSALEGROUPID,HHEADLOCID,HRECCONTACTID + ,HRETURNREASON,HRETDEPTID,HDESCRIPTION,HBUSINESSTYPE + ) + values + ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType}, + '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},{jsonData.HCusID},{jsonData.HManagerID}, + {jsonData.HDeptID},'{jsonData.HRemark}','{jsonData.HAddress}',{jsonData.HSSID},{jsonData.HCurID},{jsonData.HWHID},{jsonData.HExRate}, + {jsonData.HEmpID},'{jsonData.HExplanation}','{jsonData.HInnerBillNo}',{jsonData.HSALEORGID},{jsonData.HDELIVERYORGID}, + '{jsonData.HOWNERID}','{jsonData.HOWNERTYPEID}','{jsonData.HMaker}','{jsonData.HMakeDate}','{jsonData.HChecker}', + '{jsonData.HCheckDate}',{jsonData.HERPInterID},'{jsonData.HERPBillType}',{jsonData.HSETTLECUSID},{jsonData.HPAYCUSID}, + {jsonData.HRECEIVECUSID},{jsonData.HSALEGROUPID},{jsonData.HHEADLOCID},{jsonData.HRECCONTACTID},'{jsonData.HRETURNREASON}', + {jsonData.HRETDEPTID},'{jsonData.HDESCRIPTION}','{jsonData.HBUSINESSTYPE}')"; + + oCN.RunProc(sql); + + #region [鐢宠瀛愯〃鍙橀噺] + var dataArr = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEENTRY"]; + + DataSet Cs; + double RelationQty = 0; + #endregion + int i = 0; + + // 鑾峰彇瀛愯〃鏁版嵁 + Cs = oCN.RunProcReturn("select * from Xs_SeOutStockBackBillSub where HInterID = " + InterID, "Xs_SeOutStockBackBillSub"); + // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁 + sql = $"delete from Xs_SeOutStockBackBillSub where HInterID = " + InterID; + oCN.RunProc(sql); + + foreach (var oSub in dataArr) + { + #region [瀛愯〃鏁版嵁璧嬪�糫 + + if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0) + { + RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString()); + + i++; + } + + var subData = new + { + HInterID = _saveObj["Result"]["Result"]["Id"], + HEntryID = oSub["Id"], + HMaterID = oSub["MaterialId_Id"], + HUnitID = oSub["UnitID_Id"], + HQty = oSub["Qty"], + HPrice = oSub["Price"], + HMoney = 0, + HTaxMoney = 0, + HTaxPrice = oSub["TaxPrice"], + HWHID = oSub["StockId_Id"], + HRemark = "CLOUD瀵煎叆", + HSourceInterID = oSub["FEntity_Link"][0]["SBillId"], + HSourceEntryID = oSub["FEntity_Link"][0]["SId"], + HSourceBillNo = oSub["SrcBillNo"], + HSourceBillType = oSub["SrcType"], + HSeOrderInterID = 0, + HSeOrderEntryID = oSub["SOEntryId"], + HSeORderBillNo = oSub["OrderNo"], + HOWNERID = oSub["OwnerID_Id"], + HOWNERTYPEID = oSub["OwnerTypeID"], + HSETTLEORGID = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["SettleOrgId_Id"], + HRelationQty = oSub["JoinRetQty"], + HAuxPropID = oSub["AuxpropId_Id"], + HBatchNO = oSub["Lot_Text"], + HMTONo = oSub["MtoNo"], + HERPInterID = _saveObj["Result"]["Result"]["Id"], + HERPEntryID = oSub["Id"], + HSOBILLTYPEID = oSub["SOBILLTYPEID_Id"], + HRMTYPE = oSub["RmType_Id"], + HSTOCKUNITID = oSub["StockUnitID_Id"], + HBASEUNITID = oSub["MaterialId"]["MaterialBase"][0]["BaseUnitId_Id"], + HDELIVERYDATE = oSub["Deliverydate"], + HDESCRIPTION = oSub["Description"], + HMAPID = oSub["MapId_Id"], + HPARENTMATID = oSub["ParentMatId_Id"], + HISRETURNCHECK = oSub["IsReturnCheck"], + HROWTYPE = oSub["RowType"], + HROWID = oSub["RowId"], + HPARENTROWID = oSub["ParentRowId"], + HTAXCOMBINATION = oSub["TaxCombination_Id"], + HPRICEUNITID = oSub["PriceUnitId_Id"], + HTaxRate = oSub["TaxRate"], + HPRICECOEFFICIENT = oSub["PriceCoefficient"], + HSYSPRICE = oSub["SysPrice"], + HLIMITDOWNPRICE = oSub["LimitDownPrice"], + HDISCOUNTRATE = oSub["DiscountRate"], + HISFREE = oSub["IsFree"], + HSETTLETYPEID = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["SettleTypeId_Id"], + HCHAGECONDITION = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["ChageCondition_Id"], + HSETTLECURRID = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["SettleCurrId_Id"], + HLOCALCURRID = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["LocalCurrId_Id"], + HEXCHANGETYPEID = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["ExchangeTypeId_Id"], + HISINCLUDEDTAX = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["IsIncludedTax"], + HISPRICEEXCLUDETAX = _saveObj["Result"]["Result"]["SAL_RETURNNOTICEFIN"][0]["IsPriceExcludeTax"], + HTAXRATEID = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["TaxRateId_Id"], + HTaxRate_TAX = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["TaxRate"], + HTAXAMOUNT_TAX = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["TaxAmount"], + HCOSTPERCENT = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["CostPercent"], + HCOSTAMOUNT = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["CostAmount"], + HVAT = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["VAT"], + HSELLERWITHHOLDING = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["SellerWithholding"], + HBUYERWITHHOLDING = oSub["SAL_RETURNNOTICEENTRYTAX"][0]["BuyerWithholding"], + }; + #endregion + + //鎻掑叆瀛愯〃 + sql = $@" + insert into Xs_SeOutStockBackBillSub + (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice + ,HMoney,HTaxMoney,HTaxPrice,HWHID,HRemark + ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HSeOrderInterID,HSeOrderEntryID,HSeORderBillNo + ,HOWNERID,HOWNERTYPEID,HSETTLEORGID + ,HRelationQty,HAuxPropID,HBatchNO,HMTONo,HERPInterID,HERPEntryID + ,HSOBILLTYPEID,HRMTYPE,HSTOCKUNITID,HBASEUNITID,HDELIVERYDATE,HDESCRIPTION + ,HMAPID,HPARENTMATID,HISRETURNCHECK,HROWTYPE,HROWID,HPARENTROWID + ,HTAXCOMBINATION,HPRICEUNITID,HTaxRate,HPRICECOEFFICIENT,HSYSPRICE,HLIMITDOWNPRICE + ,HDISCOUNTRATE,HISFREE,HSETTLETYPEID,HCHAGECONDITION,HSETTLECURRID + ,HLOCALCURRID,HEXCHANGETYPEID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX + ,HTAXRATEID,HTaxRate_TAX,HTAXAMOUNT_TAX,HCOSTPERCENT,HCOSTAMOUNT + ,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING + ) + values + ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice}, + {subData.HMoney},{subData.HTaxMoney},{subData.HTaxPrice},{subData.HWHID},'{subData.HRemark}',{subData.HSourceInterID}, + {subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},'{subData.HSeORderBillNo}', + {subData.HOWNERID},'{subData.HOWNERTYPEID}',{subData.HSETTLEORGID},{subData.HRelationQty},{subData.HAuxPropID}, + '{subData.HBatchNO}','{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID}, + '{subData.HSOBILLTYPEID}','{subData.HRMTYPE}',{subData.HSTOCKUNITID},{subData.HBASEUNITID},'{subData.HDELIVERYDATE}', + '{subData.HDESCRIPTION}','{subData.HMAPID}',{subData.HPARENTMATID},'{subData.HISRETURNCHECK}','{subData.HROWTYPE}', + '{subData.HROWID}','{subData.HPARENTROWID}','{subData.HTAXCOMBINATION}',{subData.HPRICEUNITID}, + {subData.HTaxRate},'{subData.HPRICECOEFFICIENT}',{subData.HSYSPRICE},{subData.HLIMITDOWNPRICE},{subData.HDISCOUNTRATE}, + '{subData.HISFREE}',{subData.HSETTLETYPEID},'{subData.HCHAGECONDITION}',{subData.HSETTLECURRID},{subData.HLOCALCURRID}, + '{subData.HEXCHANGETYPEID}','{subData.HISINCLUDEDTAX}','{subData.HISPRICEEXCLUDETAX}',{subData.HTAXRATEID},{subData.HTaxRate_TAX}, + {subData.HTAXAMOUNT_TAX},{subData.HCOSTPERCENT},{subData.HCOSTAMOUNT},'{subData.HVAT}','{subData.HSELLERWITHHOLDING}', + '{subData.HBUYERWITHHOLDING}')"; + + oCN.RunProc(sql); + } + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + + #endregion + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁璇诲彇澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閫�璐ч�氱煡鍗曞鏍�/鍙嶅鏍稿姛鑳� + [Route("Xs_SeOutStockBackBill/CheckXs_SeOutStockBackBill")] + [HttpGet] + public object CheckXs_SeOutStockBackBill(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBackBill_Check", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳潈闄愬鏍�!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 瀹℃牳 2 鍙嶅鏍� + if (Type == 1) + { + //瀹℃牳鍓嶆帶鍒� + DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBackBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Xs_SeOutStockBackBill_BeforeCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + + if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBackBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + + //鍙嶅鏍稿墠鎺у埗 + DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBackBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Xs_SeOutStockBackBill_BeforeUnCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + + if (BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBackBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo)) + { + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl"); + //if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 1; + // objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]); + // objJsonResult.data = null; + // return objJsonResult; + //} + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎵ц鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閫�璐ч�氱煡鍗曞叧闂�/鍙嶅叧闂姛鑳� + [Route("Xs_SeOutStockBackBill/CloseXs_SeOutStockBackBill")] + [HttpGet] + public object CloseXs_SeOutStockBackBill(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBackBill_Close", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳潈闄愬叧闂�!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 鍏抽棴 2 鍙嶅叧闂� + if (Type == 1) + { + if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎵ц鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閫�璐ч�氱煡鍗曚綔搴�/鍙嶄綔搴熷姛鑳� + [Route("Xs_SeOutStockBackBill/CancellXs_SeOutStockBackBill")] + [HttpGet] + public object CancellXs_SeOutStockBackBill(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBackBill_Delete", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳潈闄愪綔搴�!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 浣滃簾 2 鍙嶄綔搴� + if (Type == 1) + { + if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎵ц鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閫�璐ч�氱煡 + /// <summary> + /// 淇濆瓨閫�璐ч�氱煡鍗� + /// </summary> + /// <param name="msg"></param> + /// <returns></returns> + [Route("Xs_SeOutStockBackBill/SaveXs_SeOutStockBackBillList")] + [HttpPost] + public object SaveXs_SeOutStockBackBillList([FromBody] JObject msg) + { + 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 user = sArray[2].ToString(); + string OperationType = sArray[3].ToString(); + + string UserName = ""; + ListModels oListModels = new ListModels(); + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBackBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄�"; + objJsonResult.data = null; + return objJsonResult; + } + DAL.ClsXs_SeOutStockBackBillForLayUI oBill = new DAL.ClsXs_SeOutStockBackBillForLayUI(); + List<Model.ClsXs_SeOutStockBackBillMain> lsmain = new List<Model.ClsXs_SeOutStockBackBillMain>(); + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); //\n + lsmain = oListModels.getSeOutStockBackBillMainByJson(msg2); + foreach (Model.ClsXs_SeOutStockBackBillMain oItem in lsmain) + { + //oItem.HMaker = ""; + UserName = oItem.HMaker; + oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); + oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); + oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); + oItem.HBillType = "1403"; + oItem.HBillSubType = "1403"; + oItem.HBillStatus = 0; + oItem.HPeriod = 0; + oItem.HMaker = user; + oItem.HMainSourceInterID = oItem.HInterID; + + //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); + if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�"; + objJsonResult.data = 1; + return objJsonResult; + } + oBill.omodel = oItem; + } + //琛ㄤ綋鏁版嵁 + //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆� + msg3 = msg3.Substring(1, msg3.Length - 2); + msg3 = msg3.Replace("\\", ""); + msg3 = msg3.Replace("\n", ""); //\n + //msg2 = msg2.Replace("'", "鈥�"); + List<Model.ClsXs_SeOutStockBackBillSub> ls = new List<Model.ClsXs_SeOutStockBackBillSub>(); + ls = oListModels.getSeOutStockBackBillSubByJson(msg3); + int i = 0; + foreach (Model.ClsXs_SeOutStockBackBillSub oItemSub in ls) + { + i++; + oItemSub.HSourceEntryID = 0; + oItemSub.HSourceInterID = 0; + oItemSub.HEntryID = i; + // DBUtility.ClsPub.isDate(DateTime.Now); + oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); + oItemSub.HCloseType = false; + oItemSub.HSourceBillNo = ""; + oItemSub.HSourceBillType = ""; + oItemSub.HRelationQty = 0; + oItemSub.HRelationMoney = 0; + oItemSub.HCloseMan = ""; + //oItemSub.HRemark = ""; + oBill.DetailColl.Add(oItemSub); + + } + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + + //淇濆瓨 + //淇濆瓨瀹屾瘯鍚庡鐞� + bool bResult; + if (Convert.ToInt32(OperationType) == 1) + { + // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + } + else + { + bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); + } + if (bResult) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; + //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�"); + objJsonResult.data = 1; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = 1; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString(); + objJsonResult.data = 1; + return objJsonResult; + } + } + #endregion + + /// <summary> + /// 鏍规嵁ID 鏌ユ壘璁板綍 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("Xs_SeOutStockBackBill/cx")] + [HttpGet] + public object cx(long HInterID) + { + try + { + ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBackBillList where hmainid=" + HInterID, "h_v_IF_SellOutBillList"); + 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 = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } } } \ No newline at end of file -- Gitblit v1.9.1