From 30091220a09acb060269784dbee1a3ab799bc663 Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期二, 07 二月 2023 17:39:03 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs | 319 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 319 insertions(+), 0 deletions(-)
diff --git a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
index e5b8fb5..2431640 100644
--- a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
@@ -15,6 +15,8 @@
//閲囪喘璁㈠崟Controller
public class Cg_POOrderBillController : ApiController
{
+ //鑾峰彇绯荤粺鍙傛暟
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
@@ -960,6 +962,7 @@
{
try
{
+ //LogService.Write("閲囪喘璁㈠崟鍚屾,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + sMainSub.ToString());
var model = sMainSub["model"].ToString();
var entry = sMainSub["model"]["HENTRY"].ToString();
@@ -1022,6 +1025,8 @@
}
catch (Exception e)
{
+ LogService.Write("閲囪喘璁㈠崟鍚屾寮傚父,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + e.Message.ToString());
+
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -1102,6 +1107,320 @@
}
}
+ #region [鍚屾鍗曟嵁]
+ [Route("Cg_POOrderBill/Cg_POOrderBillViewApi")]
+ [HttpGet]
+ public json Cg_POOrderBillViewApi(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("PUR_PurchaseOrder", JsonConvert.SerializeObject(json));
+ var _saveObj = JObject.Parse(_result);
+ //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+ if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "閲戣澏閲囪喘璁㈠崟鍚屾澶辫触jsonRoot锛�" + _result;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ #endregion
+ //鑾峰彇涓昏〃鏁版嵁
+ DataSet Ds;
+ Int64 InterID = 0;
+ Ds = oCN.RunProcReturn("select * from Cg_POOrderBillMain where HBillNo = '" + BillNo + "'", "Cg_POOrderBillMain");
+ 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 = 1102,
+ HBillSubType = 1102,
+ HDate = _saveObj["Result"]["Result"]["Date"],
+ HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+ HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2 ,
+ HAddress = "",
+ HSSID = 0,
+ HSSDate = _saveObj["Result"]["Result"]["Date"],
+ HPSStyleID = 0,
+ HSupID = _saveObj["Result"]["Result"]["SupplierId_Id"],
+ HCurID = 0,
+ HExRate = 0,
+ HEmpID = _saveObj["Result"]["Result"]["PurchaserId_Id"],
+ HManagerID = 0,
+ HDeptID = _saveObj["Result"]["Result"]["PurchaseDeptId_Id"],
+ HExplanation = "CLOUD瀵煎叆",
+ HRemark = "CLOUD瀵煎叆",
+ HInnerBillNo = _saveObj["Result"]["Result"]["BillNo"],
+ HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+ HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+ HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+ HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+ HERPInterID = _saveObj["Result"]["Result"]["Id"],
+ HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
+ HPURCHASEORGID = _saveObj["Result"]["Result"]["PurchaseOrgId_Id"],
+ HPURCHASERGROUPID = _saveObj["Result"]["Result"]["PurchaserGroupId_Id"],
+ HPROVIDERID = _saveObj["Result"]["Result"]["ProviderId_Id"],
+ HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
+ HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
+ HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
+ HPROVIDERADDRESS = _saveObj["Result"]["Result"]["ProviderAddress"],
+ HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+ HPROVIDERCONTACTID = _saveObj["Result"]["Result"]["ProviderContactId_Id"]
+ };
+ #endregion
+ // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+ sql = $"delete from Cg_POOrderBillMain where HInterID = " + InterID;
+ oCN.RunProc(sql);
+
+ //鎻掑叆涓昏〃
+ sql = $@"
+ insert into Cg_POOrderBillMain
+ (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+ ,HBillNo,HBillStatus,HAddress,HSSID,HSSDate,HPSStyleID
+ ,HSupID,HCurID,HExRate,HEmpID,HManagerID,HDeptID
+ ,HExplanation,HRemark,HInnerBillNo
+ ,HChecker,HCheckDate,HMaker,HMakeDate
+ ,HERPInterID,HERPBillType,HPURCHASEORGID,HPURCHASERGROUPID,HPROVIDERID,HSETTLEID
+ ,HCHARGEID,HBUSINESSTYPE,HPROVIDERADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID
+ )
+ values
+ ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+ '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},'{jsonData.HAddress}',{jsonData.HSSID},
+ '{jsonData.HSSDate}',{jsonData.HPSStyleID},{jsonData.HSupID},{jsonData.HCurID},{jsonData.HExRate},{jsonData.HEmpID},{jsonData.HManagerID},
+ {jsonData.HDeptID},'{jsonData.HExplanation}','{jsonData.HRemark}','{jsonData.HInnerBillNo}','{jsonData.HChecker}',
+ '{jsonData.HCheckDate}','{jsonData.HMaker}','{jsonData.HMakeDate}',{jsonData.HERPInterID},'{jsonData.HERPBillType}',
+ {jsonData.HPURCHASEORGID},{jsonData.HPURCHASERGROUPID},'{jsonData.HPROVIDERID}',{jsonData.HSETTLEID},{jsonData.HCHARGEID},
+ '{jsonData.HBUSINESSTYPE}','{jsonData.HPROVIDERADDRESS}',{jsonData.HCORRESPONDORGID},{jsonData.HPROVIDERCONTACTID})";
+
+ oCN.RunProc(sql);
+
+ #region [鐢宠瀛愯〃鍙橀噺]
+ var dataArr = _saveObj["Result"]["Result"]["POOrderEntry"];
+
+ DataSet Cs;
+ double RelationQty = 0;
+ #endregion
+ int i = 0;
+
+ // 鑾峰彇瀛愯〃鏁版嵁
+ Cs = oCN.RunProcReturn("select * from Cg_POOrderBillSub where HInterID = " + InterID, "Cg_POOrderBillSub");
+ // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+ sql = $"delete from Cg_POOrderBillSub 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"],
+ HTaxRate_TAX = oSub["TaxRate"],
+ HTaxMoney_TAX = oSub["TaxAmount"],
+ HTaxPrice = oSub["TaxPrice"],
+ HDiscountRate = oSub["DiscountRate"],
+ HRelTaxPrice = 0,
+ HMoney = oSub["Amount"],
+ HTaxRate = oSub["TaxRate"],
+ HTaxMoney = oSub["TaxAmount"],
+ HLineTotal = 0,
+ HlineTotalBB = 0,
+ HDate = oSub["DeliveryDate"],
+ HInStockQty = 0,
+ HInvoiceQty = 0,
+ HRemark = oSub["Note"],
+ HSeOrderBillNo = "",
+ HSeOrderInterID = 0,
+ HSeOrderEntryID = 0,
+ HSourceInterID = 0,
+ HSourceEntryID = 0,
+ HSourceBillNo = "",
+ HSourceBillType = "",
+ HRelationQty = oSub["JOINQTY"],
+ HBackRelationQty = oSub["STOCKRETQTY"],
+ HPropertyID = 0,
+ HBatChNo = oSub["FLot_Text"],
+ HAuxPropID = oSub["AuxPropId_Id"],
+ HMTONo = oSub["MtoNo"],
+ HERPInterID = _saveObj["Result"]["Result"]["Id"],
+ HERPEntryID = oSub["Id"],
+ HSEQ = oSub["Seq"],
+ HRECEIVEDEPTID = oSub["ReceiveDeptId_Id"],
+ HSUPPLIERLOT = oSub["SupplierLot"],
+ HBOMID = oSub["BomId_Id"],
+ HSTOCKUNITID = oSub["StockUnitID_Id"],
+ HBASEUNITID = oSub["BaseUnitId_Id"],
+ HBFLOWID = oSub["FBFLowId_Id"],
+ HGIVEAWAY = oSub["GiveAway"],
+ HROWTYPE = oSub["RowType"],
+ HBASEUNITQTY = oSub["BaseUnitQty"],
+ HSTOCKBASEQTY = oSub["StockBaseQty"],
+ HREQTRACENO = oSub["ReqTraceNo"],
+ HMATERIALDESC = oSub["MultiLanguageText"][0]["MaterialDesc"],
+ HRECEIVEORGID = oSub["ReceiveOrgId_Id"],
+ HREQUIREORGID = oSub["RequireOrgId_Id"],
+ HTAXNETPRICE = oSub["TaxNetPrice"],
+ HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+ HTAXCOMBINATION = oSub["FTaxCombination_Id"],
+ HPRICEUNITID = oSub["PriceUnitId_Id"],
+ HPRICELISTENTRY = oSub["PriceListEntry_Id"],
+ HPAYORGID = oSub["PayOrgId_Id"],
+ HSETTLEMODEID = oSub["EntrySettleModeId_Id"],
+ HSETTLECURRID = 0,
+ HEXCHANGETYPEID = 0,
+ HPAYCONDITIONID = 0,
+ HEXCHANGERATE = 0,
+ HLOCALCURRID = 0,
+ HISINCLUDEDTAX = 0,
+ HISPRICEEXCLUDETAX = 0,
+ HSETTLEORGID = oSub["SettleOrgId_Id"],
+ HTAXRATEID = oSub["POORDERENTRY_TAX"][0]["TaxRateId_Id"],
+ HCOSTPERCENT = oSub["POORDERENTRY_TAX"][0]["CostPercent"],
+ HCOSTAMOUNT = oSub["POORDERENTRY_TAX"][0]["CostAmount"],
+ HVAT = oSub["POORDERENTRY_TAX"][0]["VAT"],
+ HSELLERWITHHOLDING = oSub["POORDERENTRY_TAX"][0]["SellerWithholding"],
+ HBUYERWITHHOLDING = oSub["POORDERENTRY_TAX"][0]["BuyerWithholding"],
+ };
+ #endregion
+
+ //鎻掑叆瀛愯〃
+ sql = $@"
+ insert into Cg_POOrderBillSub
+ (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxRate_TAX,HTaxMoney_TAX
+ ,HTaxPrice,HDiscountRate,HRelTaxPrice,HMoney,HTaxRate,HTaxMoney
+ ,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty,HRemark
+ ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+ ,HRelationQty,HBackRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
+ ,HERPInterID,HERPEntryID,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID
+ ,HSTOCKUNITID,HBASEUNITID,HBFLOWID,HGIVEAWAY,HROWTYPE,HBASEUNITQTY
+ ,HSTOCKBASEQTY,HREQTRACENO,HMATERIALDESC,HRECEIVEORGID,HREQUIREORGID
+ ,HTAXNETPRICE,HPRICECOEFFICIENT,HTAXCOMBINATION,HPRICEUNITID,HPRICELISTENTRY,HPAYORGID
+ ,HSETTLEMODEID,HSETTLECURRID,HEXCHANGETYPEID,HPAYCONDITIONID,HEXCHANGERATE,HLOCALCURRID
+ ,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HSETTLEORGID
+ ,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING
+ )
+ values
+ ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+ {subData.HTaxRate_TAX},{subData.HTaxMoney_TAX},{subData.HTaxPrice},{subData.HDiscountRate},{subData.HRelTaxPrice},{subData.HMoney},{subData.HTaxRate},{subData.HTaxMoney},{subData.HLineTotal},{subData.HlineTotalBB},'{subData.HDate}',{subData.HInStockQty},{subData.HInvoiceQty},'{subData.HRemark}','{subData.HSeOrderBillNo}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HRelationQty},{subData.HBackRelationQty},{subData.HPropertyID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID},{subData.HSEQ},{subData.HRECEIVEDEPTID},'{subData.HSUPPLIERLOT}',{subData.HBOMID},{subData.HSTOCKUNITID},{subData.HBASEUNITID},'{subData.HBFLOWID}','{subData.HGIVEAWAY}','{subData.HROWTYPE}',{subData.HBASEUNITQTY},{subData.HSTOCKBASEQTY},'{subData.HREQTRACENO}','{subData.HMATERIALDESC}',{subData.HRECEIVEORGID},{subData.HREQUIREORGID},{subData.HTAXNETPRICE},'{subData.HPRICECOEFFICIENT}','{subData.HTAXCOMBINATION}',{subData.HPRICEUNITID},'{subData.HPRICELISTENTRY}',{subData.HPAYORGID},{subData.HSETTLEMODEID},{subData.HSETTLECURRID},'{subData.HEXCHANGETYPEID}',{subData.HPAYCONDITIONID},{subData.HEXCHANGERATE},{subData.HLOCALCURRID},{subData.HISINCLUDEDTAX},{subData.HISPRICEEXCLUDETAX},{subData.HSETTLEORGID},{subData.HTAXRATEID},'{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
+
}
}
\ No newline at end of file
--
Gitblit v1.9.1