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_POInStockBackBillController.cs | 341 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 340 insertions(+), 1 deletions(-)
diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
index 64290a6..5c8ea36 100644
--- a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
@@ -1,4 +1,5 @@
锘縰sing Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
using Pub_Class;
using System;
using System.Collections;
@@ -13,6 +14,9 @@
//閫�鏂欓�氱煡鍗旵ontroller
public class Cg_POInStockBackBillController : ApiController
{
+ //鑾峰彇绯荤粺鍙傛暟
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
@@ -118,7 +122,342 @@
}
+ #region [鍚屾鍗曟嵁]
+ [Route("Cg_POInStockBackBill/Cg_POInStockBackBillViewApi")]
+ [HttpGet]
+ public json Cg_POInStockBackBillViewApi(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("SCP_MRAPP", 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;
+ Int64 ManagerID = 0;
+ Int64 REQUIREORGID = 0;
+ Int64 CORRESPONDORGID = 0;
+ string ERPBillType = "";
+ string REPLENISHMODE = "";
+ Ds = oCN.RunProcReturn("select * from Cg_POInStockBackBillMain where HBillNo = '" + BillNo + "'", "Cg_POInStockBackBillMain");
+ 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());
+ ManagerID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"].ToString());
+ REQUIREORGID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HREQUIREORGID"].ToString());
+ CORRESPONDORGID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HCORRESPONDORGID"].ToString());
+ ERPBillType = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HERPBillType"]);
+ REPLENISHMODE = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HREPLENISHMODE"]);
+ }
+
+ #region [涓昏〃鏁版嵁璧嬪�糫
+ var jsonData = new
+ {
+ HInterID = _saveObj["Result"]["Result"]["Id"],
+ HYear = DateTime.Now.Year,
+ HPeriod = DateTime.Now.Month,
+ HBillType = 1105,
+ HBillSubType = _saveObj["Result"]["Result"]["BusinessType"].ToString() == "CG" ? 12510 : 12511,
+ HDate = _saveObj["Result"]["Result"]["FDate"],
+ HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+ HBillStatus = 2,
+ HSupID = _saveObj["Result"]["Result"]["SUPPLIERID_Id"],
+ HManagerID = ManagerID,
+ HDeptID = _saveObj["Result"]["Result"]["APPDEPTID_Id"],
+ HRemark = _saveObj["Result"]["Result"]["FRemarks"],
+ 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 = ERPBillType,
+ HPURCHASEORGID = _saveObj["Result"]["Result"]["PURCHASEORGID_Id"],
+ HAPPORGID = _saveObj["Result"]["Result"]["APPORGID_Id"],
+ HREQUIREORGID = REQUIREORGID,
+ HCORRESPONDORGID = CORRESPONDORGID,
+ HRMREASON = _saveObj["Result"]["Result"]["RMREASON"],
+ HRMTYPE = _saveObj["Result"]["Result"]["RMTYPE"],
+ HRMMODE = _saveObj["Result"]["Result"]["RMMODE"],
+ HREPLENISHMODE = REPLENISHMODE,
+ HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
+ };
+ #endregion
+ // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+ sql = $"delete from Cg_POInStockBackBillMain where HInterID = " + InterID;
+ oCN.RunProc(sql);
+
+ //鎻掑叆涓昏〃
+ sql = $@"
+ insert into Cg_POInStockBackBillMain
+ (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+ ,HBillNo,HBillStatus,HSupID,HManagerID,HDeptID,HRemark
+ ,HMaker,HMakeDate,HChecker,HCheckDate,HERPInterID,HERPBillType
+ ,HPURCHASEORGID,HAPPORGID,HREQUIREORGID,HCORRESPONDORGID
+ ,HRMREASON,HRMTYPE,HRMMODE,HREPLENISHMODE,HBUSINESSTYPE
+ )
+ values
+ ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},'{jsonData.HDate}',
+ '{jsonData.HBillNo}',{jsonData.HBillStatus},{jsonData.HSupID},{jsonData.HManagerID},{jsonData.HDeptID},'{jsonData.HRemark}',
+ '{jsonData.HMaker}', '{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}',{jsonData.HERPInterID},
+ '{jsonData.HERPBillType}',{jsonData.HPURCHASEORGID},{jsonData.HAPPORGID},{jsonData.HREQUIREORGID},{jsonData.HCORRESPONDORGID},
+ '{jsonData.HRMREASON}','{jsonData.HRMTYPE}','{jsonData.HRMMODE}', '{jsonData.HREPLENISHMODE}','{jsonData.HBUSINESSTYPE}')";
+
+ oCN.RunProc(sql);
+
+ #region [鐢宠瀛愯〃鍙橀噺]
+ var dataArr = _saveObj["Result"]["Result"]["PUR_MRAPPENTRY"];
+
+ DataSet Cs;
+ double Qty = 0;
+ double Money = 0;
+ Int64 WHID = 0;
+ Int64 SPID = 0;
+ Int64 SourceBillType = 0;
+ Int64 POOrderInterID = 0;
+ Int64 POOrderEntryID = 0;
+ string POORderBillNo = "";
+ string BatchNO = "";
+ Int64 ERPInterID = 0;
+ Int64 ERPEntryID = 0;
+ double RelationQty = 0;
+ Int64 SETTLEORGID = 0;
+ Int64 ISPRICEEXCLUDETAX = 0;
+ Int64 PlanMode = 0;
+ Int64 SourceInterID = 0;
+ Int64 SourceEntryID = 0;
+ string SourceBillNo = "";
+ string MTONo = "";
+ Int64 PURUNITID = 0;
+ string CONTRACTNO = "";
+ string REQTRACENO = "";
+ string BFLOWID = "";
+ Int64 GIVEAWAY = 0;
+ Int64 PURBASEQTY = 0;
+ Int64 RETURNSTOCKJNBASEQTY = 0;
+ Int64 BASEUNITQTY = 0;
+ Int64 PRICECOEFFICIENT = 0;
+ #endregion
+ int i = 0;
+
+ // 鑾峰彇瀛愯〃鏁版嵁
+ Cs = oCN.RunProcReturn("select * from Cg_POInStockBackBillSub where HInterID = " + InterID, "Cg_POInStockBackBillSub");
+ // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+ sql = $"delete from Cg_POInStockBackBillSub 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)
+ {
+ Qty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HQty"].ToString());
+ Money = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HMoney"].ToString());
+ WHID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HWHID"].ToString());
+ SPID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSPID"].ToString());
+ SourceBillType = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceBillType"].ToString());
+ POOrderInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderInterID"].ToString());
+ POOrderEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderEntryID"].ToString());
+ POORderBillNo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HPOORderBillNo"]);
+ BatchNO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HBatchNO"]);
+ ERPInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPInterID"].ToString());
+ ERPEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPEntryID"].ToString());
+ RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString());
+ SETTLEORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEORGID"].ToString());
+ ISPRICEEXCLUDETAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISPRICEEXCLUDETAX"].ToString());
+ PlanMode = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPlanMode"].ToString());
+ SourceInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceInterID"].ToString());
+ SourceEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceEntryID"].ToString());
+ SourceBillNo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HSourceBillNo"]);
+ MTONo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HMTONo"]);
+ PURUNITID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPURUNITID"].ToString());
+ CONTRACTNO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HCONTRACTNO"]);
+ REQTRACENO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HREQTRACENO"]);
+ BFLOWID = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HBFLOWID"]);
+ GIVEAWAY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HGIVEAWAY"].ToString());
+ PURBASEQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPURBASEQTY"].ToString());
+ RETURNSTOCKJNBASEQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HRETURNSTOCKJNBASEQTY"].ToString());
+ BASEUNITQTY = ClsPub.isLong(Cs.Tables[0].Rows[i]["HBASEUNITQTY"].ToString());
+ PRICECOEFFICIENT = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPRICECOEFFICIENT"].ToString());
+
+ i++;
+ }
+
+ var subData = new
+ {
+ HInterID = _saveObj["Result"]["Result"]["Id"],
+ HEntryID = oSub["Id"],
+ HMaterID = oSub["MATERIALID_Id"],
+ HUnitID = oSub["UnitID_Id"],
+ HQty = Qty,
+ HPrice = oSub["PRICE_F"],
+ HMoney = Money,
+ HTaxRate = oSub["TAXRATE"],
+ HWHID = WHID,
+ HSPID = SPID,
+ HRemark = oSub["FRemarks"],
+ HSourceInterID = SourceInterID,
+ HSourceEntryID = SourceEntryID,
+ HSourceBillNo = SourceBillNo,
+ HSourceBillType = SourceBillType,
+ HPOOrderInterID = POOrderInterID,
+ HPOOrderEntryID = POOrderEntryID,
+ HPOORderBillNo = POORderBillNo,
+ HRelationQty = RelationQty,
+ HAuxPropID = oSub["AUXPROPID_Id"],
+ HBatchNO = BatchNO,
+ HMTONo = MTONo,
+ HPlanMode = PlanMode,
+ HERPInterID = ERPInterID,
+ HERPEntryID = ERPEntryID,
+ HBASEUNITID = oSub["MATERIALID"]["MaterialBase"][0]["BaseUnitId_Id"],
+ HPURUNITID = PURUNITID,
+ HCONTRACTNO = CONTRACTNO,
+ HREQTRACENO = REQTRACENO,
+ HBFLOWID = BFLOWID,
+ HGIVEAWAY = GIVEAWAY,
+ HPURBASEQTY = PURBASEQTY,
+ HRETURNSTOCKJNBASEQTY = RETURNSTOCKJNBASEQTY,
+ HBASEUNITQTY = BASEUNITQTY,
+ HPRICEUNITID = oSub["PRICEUNITID_F_Id"],
+ HAPPROVEPRICE = oSub["APPROVEPRICE_F"],
+ HPRICECOEFFICIENT = PRICECOEFFICIENT,
+ HLOCALCURRID = _saveObj["Result"]["Result"]["PUR_MRAPPFIN"][0]["LOCALCURRID_Id"],
+ HEXCHANGETYPEID = _saveObj["Result"]["Result"]["PUR_MRAPPFIN"][0]["ExchangeTypeId_Id"],
+ HSETTLEORGID = SETTLEORGID,
+ HISPRICEEXCLUDETAX = ISPRICEEXCLUDETAX
+ };
+ #endregion
+
+ //鎻掑叆瀛愯〃
+ sql = $@"
+ insert into Cg_POInStockBackBillSub
+ (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HMoney,HTaxRate,HWHID,HSPID,HRemark
+ ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+ ,HPOOrderInterID,HPOOrderEntryID,HPOORderBillNo
+ ,HRelationQty,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID
+ ,HBASEUNITID,HPURUNITID,HCONTRACTNO,HREQTRACENO,HBFLOWID,HGIVEAWAY
+ ,HPURBASEQTY,HRETURNSTOCKJNBASEQTY,HBASEUNITQTY
+ ,HPRICEUNITID,HAPPROVEPRICE,HPRICECOEFFICIENT
+ ,HLOCALCURRID,HEXCHANGETYPEID,HSETTLEORGID,HISPRICEEXCLUDETAX
+ )
+ values
+ ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+ {subData.HMoney},{subData.HTaxRate},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HSourceInterID},
+ {subData.HSourceEntryID},'{subData.HSourceBillNo}',{subData.HSourceBillType},{subData.HPOOrderInterID},{subData.HPOOrderEntryID},
+ '{subData.HPOORderBillNo}',{subData.HRelationQty},{subData.HAuxPropID},'{subData.HBatchNO}','{subData.HMTONo}',{subData.HPlanMode},
+ {subData.HERPInterID},{subData.HERPEntryID},{subData.HBASEUNITID},{subData.HPURUNITID},'{subData.HCONTRACTNO}','{subData.HREQTRACENO}',
+ '{subData.HBFLOWID}',{subData.HGIVEAWAY},{subData.HPURBASEQTY},{subData.HRETURNSTOCKJNBASEQTY},{subData.HBASEUNITQTY},
+ {subData.HPRICEUNITID},{subData.HAPPROVEPRICE},{subData.HPRICECOEFFICIENT},{subData.HLOCALCURRID},{subData.HEXCHANGETYPEID},
+ {subData.HSETTLEORGID},{subData.HISPRICEEXCLUDETAX})";
+
+ 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