From 2f1e5677f07865c998d62b623cf40bf51a9e2b55 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期五, 13 一月 2023 18:52:54 +0800
Subject: [PATCH]  单据同步(收料通知单;采购订单;退料通知单;生产订单;生产用料清单;销售订单;发货通知单;退货通知单;生产汇报单)

---
 WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs          |  276 +++++
 WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs      |  382 +++++++
 WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs        |  322 ++++++
 WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs  |  341 ++++++
 WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs |  325 ++++++
 WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs        |  316 ++++++
 WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs     |  330 ++++++
 WebAPI/WebAPI.csproj                                       |    5 
 WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs     |  295 +++++
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs     |  329 ++++++
 10 files changed, 2,912 insertions(+), 9 deletions(-)

diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
index 64290a6..f2f8124 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
diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
index b791307..0ce78f0 100644
--- a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
@@ -15,6 +15,9 @@
     //鏀舵枡閫氱煡鍗旵ontroller
     public class Cg_POInStockBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
@@ -619,5 +622,384 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍗曟嵁]
+        [Route("Cg_POInStockBill/Cg_POInStockBillViewApi")]
+        [HttpGet]
+        public json Cg_POInStockBillViewApi(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_ReceiveBill", 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 EmpID = 0;
+                    Int64 DeptID = 0;
+                    Ds = oCN.RunProcReturn("select * from Cg_POInStockBillMain where HBillNo = '" + BillNo + "'", "Cg_POInStockBillMain");
+                    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());
+                        EmpID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"].ToString());
+                        DeptID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"].ToString());
+                    }                                                        
+
+                    #region [涓昏〃鏁版嵁璧嬪�糫
+                    var jsonData = new
+                    {
+                        HInterID = _saveObj["Result"]["Result"]["Id"],
+                        HYear = DateTime.Now.Year,
+                        HPeriod = DateTime.Now.Month,
+                        HBillType = 1103,
+                        HBillSubType = _saveObj["Result"]["Result"]["BusinessType"].ToString() == "CG" ? 12510 : 12511,
+                        HDate = _saveObj["Result"]["Result"]["Date"],
+                        HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+                        HBillStatus = 2,
+                        HSupID = _saveObj["Result"]["Result"]["SupplierId_Id"],
+                        HManagerID = ManagerID,
+                        HEmpID = EmpID,
+                        HDeptID = DeptID,
+                        HRemark = "CLOUD瀵煎叆",
+                        HMaker = _saveObj["Result"]["Result"]["CreatorId_Id"],
+                        HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+                        HChecker = _saveObj["Result"]["Result"]["ApproverId_Id"],
+                        HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeIdHead"],
+                        HOWNERID = _saveObj["Result"]["Result"]["OwnerIdHead_Id"],
+                        HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
+                        HPURCHASEORGID = _saveObj["Result"]["Result"]["PurOrgId_Id"],
+                        HSTOCKORGID = _saveObj["Result"]["Result"]["StockOrgId_Id"],
+                        HREQUIREORGID = _saveObj["Result"]["Result"]["DemandOrgId_Id"],
+                        HSTOCKGROUPID = _saveObj["Result"]["Result"]["StockGroupId_Id"],
+                        HSENDBILLNO = _saveObj["Result"]["Result"]["SendBillNo"],
+                        HLADBILLNO = _saveObj["Result"]["Result"]["LadBillNo"],
+                        HPURDEPTID = _saveObj["Result"]["Result"]["PurDeptId_Id"],
+                        HPURGROUPID = _saveObj["Result"]["Result"]["PurGroupId_Id"],
+                        HSUPPLYID = _saveObj["Result"]["Result"]["SupplyId_Id"],
+                        HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
+                        HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
+                        HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
+                        HSUPPLYADDRESS = _saveObj["Result"]["Result"]["SupplyAddress"],
+                        HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+                        HPROVIDERCONTACTID = _saveObj["Result"]["Result"]["ProviderContactId_Id"],
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Cg_POInStockBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Cg_PoInstockbillMain
+             (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+             ,HBillNo,HBillStatus,HSupID,HManagerID,HEmpID,HDeptID,HRemark
+             ,HMaker,HMakeDate,HChecker,HCheckDate,HOWNERTYPEID,HOWNERID
+             ,HERPInterID,HERPBillType,HPURCHASEORGID,HSTOCKORGID,HREQUIREORGID
+             ,HSTOCKGROUPID,HSENDBILLNO,HLADBILLNO,HPURDEPTID,HPURGROUPID,HSUPPLYID
+             ,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HSUPPLYADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID
+             )
+                values
+                ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},'{jsonData.HDate}','{jsonData.HBillNo}',
+                {jsonData.HBillStatus},{jsonData.HSupID},{jsonData.HManagerID},{jsonData.HEmpID},{jsonData.HDeptID},'{jsonData.HRemark}','{jsonData.HMaker}',
+                '{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HOWNERTYPEID}','{jsonData.HOWNERID}',{jsonData.HERPInterID},
+                '{jsonData.HERPBillType}',{jsonData.HPURCHASEORGID},{jsonData.HSTOCKORGID},{jsonData.HREQUIREORGID},{jsonData.HSTOCKGROUPID},'{jsonData.HSENDBILLNO}',
+                '{jsonData.HLADBILLNO}',{jsonData.HPURDEPTID},{jsonData.HPURGROUPID},{jsonData.HSUPPLYID},{jsonData.HSETTLEID},{jsonData.HCHARGEID},'{jsonData.HBUSINESSTYPE}',
+                '{jsonData.HSUPPLYADDRESS}',{jsonData.HCORRESPONDORGID},{jsonData.HPROVIDERCONTACTID})";
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["PUR_ReceiveEntry"];
+
+                    DataSet Cs;
+                    double Qty = 0;
+                    double Money = 0;
+                    Int64 WHID = 0;
+                    Int64 SPID = 0;
+                    string subRemark = "";
+                    double TaxMoney = 0;
+                    double TaxMoney_TAX = 0;
+                    double TaxRate_TAX = 0;
+                    Int64 SourceBillType = 0;
+                    Int64 POOrderInterID = 0;
+                    string POORderBillNo = "";
+                    string BatchNO = "";
+                    Int64 ERPInterID = 0;
+                    Int64 ERPEntryID = 0;
+                    double RelationQty = 0;
+                    Int64 SecUnitID = 0;
+                    Int64 PAYORGID = 0;
+                    Int64 PAYCONDITONID = 0;
+                    Int64 SETTLEORGID = 0;
+                    Int64 SETTLECURRID = 0;
+                    Int64 SETTLEMODEID = 0;
+                    Int64 EXCHANGETYPEID = 0;
+                    double EXCHANGERATE = 0;
+                    Int64 LOCALCURRID = 0;
+                    Int64 ISINCLUDEDTAX = 0;
+                    Int64 ISPRICEEXCLUDETAX = 0;
+                    Int64 PlanMode = 0;
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Cg_POInStockBillSub where HInterID = " + InterID, "Cg_POInStockBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Cg_POInStockBillSub 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());
+                            subRemark = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HRemark"]);
+                            TaxMoney = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxMoney"].ToString());
+                            TaxMoney_TAX = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxMoney_TAX"].ToString());
+                            TaxRate_TAX = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxRate_TAX"].ToString());
+                            SourceBillType = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceBillType"].ToString());
+                            POOrderInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderInterID"].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());
+                            SecUnitID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSecUnitID"].ToString());
+                            PAYORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPAYORGID"].ToString());
+                            PAYCONDITONID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPAYCONDITONID"].ToString());
+                            SETTLEORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEORGID"].ToString());
+                            SETTLECURRID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLECURRID"].ToString());
+                            SETTLEMODEID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEMODEID"].ToString());
+                            EXCHANGETYPEID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HEXCHANGETYPEID"].ToString());
+                            EXCHANGERATE = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HEXCHANGERATE"].ToString());
+                            LOCALCURRID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HLOCALCURRID"].ToString());
+                            ISINCLUDEDTAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISINCLUDEDTAX"].ToString());
+                            ISPRICEEXCLUDETAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISPRICEEXCLUDETAX"].ToString());
+                            PlanMode = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPlanMode"].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"],
+                            HMoney = Money,
+                            HWHID = WHID,
+                            HSPID = SPID,
+                            HRemark = subRemark,
+                            HTaxMoney = TaxMoney,
+                            HTaxRate = oSub["TaxRate"],
+                            HTaxMoney_TAX = TaxMoney_TAX,
+                            HTaxRate_TAX = TaxRate_TAX,
+                            HSourceInterID = oSub["SrcId"],
+                            HSourceEntryID = oSub["SrcEntryId"],
+                            HSourceBillNo = oSub["SrcBillNo"],
+                            HSourceBillType = SourceBillType,
+                            HPOOrderInterID = POOrderInterID,
+                            HPOOrderEntryID = oSub["POORDERENTRYID"],
+                            HPOORderBillNo = POORderBillNo,
+                            HAuxPropID = oSub["AuxPropId_Id"],
+                            HBatchNO = BatchNO,
+                            HMTONo = oSub["MtoNo"],
+                            HPlanMode = PlanMode,
+                            HERPInterID = ERPInterID,
+                            HERPEntryID = ERPEntryID,
+                            HRelationQty = RelationQty,
+                            HGiveAwayFlag = oSub["GiveAway"] = false ? 0 : 1,
+                            HReceiveQty = oSub["ReceiveQty"],
+                            HSecUnitID = SecUnitID,
+                            HSEQ = oSub["Seq"],
+                            HPRODUCEDATE = oSub["ProduceDate"],
+                            HEXPIRYDATE = oSub["ExpiryDate"],
+                            HSUPPLYLOT = oSub["SupplierLot"],
+                            HREQTRACENO = oSub["ReqTraceNo"],
+                            HBOMID = oSub["BomId_Id"],
+                            HSTOCKUNITID = oSub["StockUnitID_Id"],
+                            HBASEUNITID = oSub["BaseUnitId_Id"],
+                            HSTOCKSTATUSID = oSub["StockStatusId_Id"],
+                            HKEEPERTYPEID = oSub["KeeperTypeId"],
+                            HPROJECTNO = oSub["ProjectNo"],
+                            HCHECKINCOMING = oSub["CheckInComing"] = false ? 0 : 1,
+                            HTAXPRICE = oSub["TaxPrice"],
+                            HDISCOUNTRATE = oSub["DiscountRate"],
+                            HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+                            HPRICEUNITID = oSub["PriceUnitId_Id"],
+                            HPRICELISTENTRY = oSub["PriceListEntry_Id"],
+                            HTAXCOMBINATION = oSub["TaxCombination_Id"],
+                            HSAMPLEDAMAGEQTY = oSub["SampleDamageQty"],
+                            HSAMPLEDAMAGEBASEQTY = oSub["SampleDamageBaseQty"],
+                            HOWNERTYPEID = oSub["OwnerTypeId"],
+                            HOWNERID = oSub["OwnerId_Id"],
+                            HBFLOWID = oSub["FBFLowId_Id"],
+                            HPAYORGID = PAYORGID,
+                            HSETTLEORGID = SETTLEORGID,
+                            HSETTLECURRID = SETTLECURRID,
+                            HSETTLEMODEID = SETTLEMODEID,
+                            HEXCHANGETYPEID = EXCHANGETYPEID,
+                            HPAYCONDITONID = PAYCONDITONID,
+                            HEXCHANGERATE = EXCHANGERATE,
+                            HLOCALCURRID = LOCALCURRID,
+                            HISINCLUDEDTAX = ISINCLUDEDTAX,
+                            HISPRICEEXCLUDETAX = ISPRICEEXCLUDETAX,
+                            HTAXRATEID = 0,
+                            HCOSTPERCENT = 0,
+                            HCOSTAMOUNT = 0,
+                            HVAT = 0,
+                            HSELLERWITHHOLDING = 0,
+                            HBUYERWITHHOLDING = 0,
+                        };
+                        #endregion
+                        
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Cg_PoInstockbillSub
+                 (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
+                 ,HMoney,HWHID,HSPID,HRemark,HTaxMoney,HTaxRate,HTaxMoney_TAX,HTaxRate_TAX
+                 ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID,HPOOrderEntryID,HPOORderBillNo
+                 ,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID
+                 ,HRelationQty,HGiveAwayFlag,HReceiveQty,HSecUnitID
+                 ,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HSUPPLYLOT,HREQTRACENO,HBOMID,HSTOCKUNITID
+                 ,HBASEUNITID,HSTOCKSTATUSID,HKEEPERTYPEID,HPROJECTNO,HCHECKINCOMING
+                 ,HTAXPRICE,HDISCOUNTRATE,HPRICECOEFFICIENT,HPRICEUNITID,HPRICELISTENTRY
+                 ,HTAXCOMBINATION,HSAMPLEDAMAGEQTY,HSAMPLEDAMAGEBASEQTY,HOWNERTYPEID,HOWNERID,HBFLOWID
+                 ,HPAYORGID,HSETTLEORGID,HSETTLECURRID,HSETTLEMODEID,HEXCHANGETYPEID,HPAYCONDITONID
+                 ,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX
+                 ,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING
+                 )
+                 values
+                 ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+                  {subData.HMoney},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HTaxMoney},{subData.HTaxRate},{subData.HTaxMoney_TAX},
+                  {subData.HTaxRate_TAX},{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}',{subData.HSourceBillType},
+                  {subData.HPOOrderInterID},{subData.HPOOrderEntryID},'{subData.HPOORderBillNo}',{subData.HAuxPropID},'{subData.HBatchNO}',
+                  '{subData.HMTONo}',{subData.HPlanMode},{subData.HERPInterID},{subData.HERPEntryID},{subData.HRelationQty},{subData.HGiveAwayFlag},
+                  {subData.HReceiveQty},{subData.HSecUnitID},{subData.HSEQ},'{subData.HPRODUCEDATE}','{subData.HEXPIRYDATE}','{subData.HSUPPLYLOT}',
+                  '{subData.HREQTRACENO}',{subData.HBOMID},{subData.HSTOCKUNITID},{subData.HBASEUNITID},{subData.HSTOCKSTATUSID},'{subData.HKEEPERTYPEID}',
+                  '{subData.HPROJECTNO}',{subData.HCHECKINCOMING},{subData.HTAXPRICE},{subData.HDISCOUNTRATE},
+                  {subData.HPRICECOEFFICIENT},{subData.HPRICEUNITID},{subData.HPRICELISTENTRY},'{subData.HTAXCOMBINATION}',{subData.HSAMPLEDAMAGEQTY},
+                  {subData.HSAMPLEDAMAGEBASEQTY},'{subData.HOWNERTYPEID}',{subData.HOWNERID},'{subData.HBFLOWID}',{subData.HPAYORGID},{subData.HSETTLEORGID},
+                  {subData.HSETTLECURRID},{subData.HSETTLEMODEID},{subData.HEXCHANGETYPEID},{subData.HPAYCONDITONID},{subData.HEXCHANGERATE},
+                  {subData.HLOCALCURRID},{subData.HISINCLUDEDTAX},{subData.HISPRICEEXCLUDETAX},{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
diff --git a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
index 7ce37cd..0c03fca 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();
@@ -1106,6 +1108,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 = "閲戣澏鏀舵枡閫氱煡鍗曞悓姝ュけ璐sonRoot锛�" + _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
diff --git a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs
index 35d43ef..7cf9ad8 100644
--- a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.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,6 +14,8 @@
     //鐢熶骇姹囨姤Controller
     public class Sc_ICMOReportBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
 
         private json objJsonResult = new json();
@@ -710,6 +713,294 @@
             }
         }
 
-        //
+        #region [鍚屾鍗曟嵁]
+        [Route("Sc_ICMOReportBill/Sc_ICMOReportBillViewApi")]
+        [HttpGet]
+        public json Sc_ICMOReportBillViewApi(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("PRD_MORPT", 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 Sc_ICMOReportBillMain where HBillNo = '" + BillNo + "'", "Sc_ICMOReportBillMain");
+                    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 = 3711,
+                        HBillSubType = 3711,
+                        HDate = _saveObj["Result"]["Result"]["Date"],
+                        HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+                        HEmpID = 0,
+                        HEmpNumber = "",
+                        HGroupID = 0,
+                        HDeptID = 0,
+                        HDeptNumber = "",
+                        HRemark = "CLD瀵煎叆",
+                        HChecker    = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+                        HCheckDate  = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HMaker      = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+                        HMakeDate   = _saveObj["Result"]["Result"]["CreateDate"],
+                        HUpDater    = _saveObj["Result"]["Result"]["ModifierId"]["Name"],
+                        HUpDateDate = _saveObj["Result"]["Result"]["ModifyDate"],
+                        HDeleteMan  = _saveObj["Result"]["Result"]["CANCELER_Id"],
+                        HDeleteDate = _saveObj["Result"]["Result"]["CancelDate"],
+                        HMainSourceBillType    = "",
+                        HMainSourceInterID     = 0,
+                        HMainSourceEntryID     = 0,
+                        HMainSourceBillNo      = "",
+                        HPrintQty              = 0,
+                        HCheckType             = "",
+                        HERPInterID            = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType           = _saveObj["Result"]["Result"]["BillType_Id"],
+                        HPRDORGID = _saveObj["Result"]["Result"]["PrdOrgId_Id"],
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_ICMOReportBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Sc_ICMOReportBillMain
+                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HEmpID,HEmpNumber
+	            ,HGroupID,HDeptID,HDeptNumber,HRemark,HChecker,HCheckDate,HMaker,HMakeDate
+	            ,HUpDater,HUpDateDate,HDeleteMan,HDeleteDate
+	            ,HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HPrintQty,HCheckType
+	            ,HERPInterID,HERPBillType,HPRDORGID
+                 )
+                values
+                ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+                '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HEmpID},'{jsonData.HEmpNumber}',{jsonData.HGroupID},{jsonData.HDeptID},'{jsonData.HDeptNumber}','{jsonData.HRemark}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HMaker}','{jsonData.HMakeDate}','{jsonData.HUpDater}','{jsonData.HUpDateDate}','{jsonData.HDeleteMan}','{jsonData.HDeleteDate}','{jsonData.HMainSourceBillType}',{jsonData.HMainSourceInterID},{jsonData.HMainSourceEntryID},'{jsonData.HMainSourceBillNo}',{jsonData.HPrintQty},'{jsonData.HCheckType}',{jsonData.HERPInterID},'{jsonData.HERPBillType}',{jsonData.HPRDORGID})";
+
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["PRD_MORPTENTRY"];
+
+                    DataSet Cs;
+                    double RelationQty = 0;
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Sc_ICMOReportBillSub where HInterID = " + InterID, "Sc_ICMOReportBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_ICMOReportBillSub 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"],
+                            HMaterNumber       = "",
+                            HUnitID            = oSub["UnitID_Id"],
+                            HUnitNumber        = "",
+                            HQtyMust           = oSub["FinishQty"],
+                            HQty               = oSub["FinishQty"],
+                            HWorkerID          = 0,
+                            HWorkerNumber      = "",
+                            HSourceID          = 0,
+                            HSourceNumber      = "",
+                            HTimes             = oSub["StdManHour"],
+                            HBadQty            = oSub["FailQty"],
+                            HBadCount          = 0,
+                            HQPQty             = oSub["QuaQty"],
+                            HWasterQty         = 0,
+                            HRemark            = "CLOUD瀵煎叆",
+                            HSourceInterID     = oSub["SrcInterId"],
+                            HSourceEntryID     = oSub["SrcEntryId"],
+                            HSourceBillNo      = oSub["SrcBillNo"],
+                            HSourceBillType    = oSub["SrcBillType"],
+                            HICMOInterID       = oSub["MoId"],
+                            HICMOEntryID       = oSub["MoEntryId"],
+                            HICMOBillNo        = oSub["MoBillNo"],
+                            HSeOrderInterID    = 0,
+                            HSeOrderEntryID    = 0,
+                            HSeOrderBillNo     = "",
+                            HRelationQty       = oSub["BaseStockInQuaSelQty"],
+                            HRelationMoney     = 0,
+                            HSplitNO           = "",
+                            HBarCode           = "",
+                            HWhID              = oSub["StockId_Id"],
+                            HSPID              = oSub["StockLocId_Id"],
+                            HBatChNo           = oSub["Lot_Text"],
+                            HAuxPropID         = oSub["AuxPropId_Id"],
+                            HMTONo             = oSub["MtoNo"],
+                            HPlanMode          = 0,
+                            HERPInterID        = _saveObj["Result"]["Result"]["Id"],
+                            HERPEntryID = oSub["Id"],
+                            HOWNERTYPEID       = oSub["OwnerTypeId"],
+                            HISENTRUST         = oSub["IsEntrust"] = false ? 0 : 1,
+                            HSTOCKINORGID      = oSub["StockInOrgId_Id"],
+                            HOWNERID           = oSub["OwnerId_Id"],
+                            HCHECKPRODUCT      = oSub["CheckProduct"] = false ? 0 : 1,
+                            HQAIP              = oSub["QAIP"],
+                            HCOSTRATE          = oSub["CostRate"],
+                            HISBACKFLUSH       = oSub["ISBACKFLUSH"],
+                            HREQSRC            = oSub["ReqSrc"],
+                            HREQBILLNO         = oSub["ReqBillNo"],
+                            HREQBILLID         = oSub["ReqBillId"],
+                            HREQENTRYSEQ       = oSub["ReqEntrySeq"],
+                            HREQENTRYID        = oSub["ReqEntryId"],
+                            HMOMAINENTRYID     = oSub["MoMainEntryId"],
+                            HSTOCKINQUASELQTY  = oSub["BaseStockInQuaSelQty"],
+                            HPRODUCTTYPE       = oSub["ProductType"],
+                            HPROJECTNO         = oSub["ProjectNo"],
+                            HICMOENTRYSEQ      = oSub["MoEntrySeq"],
+                            HSEQ               = oSub["Seq"],
+                            HPRODUCEDATE       = oSub["ProduceDate"],
+                            HEXPIRYDATE        = oSub["ExpiryDate"],
+                            HBASEUNITID        = oSub["BaseUnitId_Id"],
+                            HDEPTID            = oSub["WorkshopId_Id"],
+                            HGroupID           = oSub["ShiftGroupId_Id"],
+                            HDESCRIPTION = ""                           
+                        };
+                        #endregion                       
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Sc_ICMOReportBillSub
+                 (HInterID,HEntryID,HMaterID,HMaterNumber,HUnitID,HUnitNumber
+	            ,HQtyMust,HQty,HWorkerID,HWorkerNumber,HSourceID,HSourceNumber,HTimes,HBadQty,HBadCount,HQPQty
+	            ,HWasterQty,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HICMOInterID,HICMOEntryID,HICMOBillNo
+	            ,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HRelationQty,HRelationMoney,HSplitNO,HBarCode
+	            ,HWhID,HSPID,HBatChNo,HAuxPropID,HMTONo,HPlanMode,HERPInterID,HERPEntryID
+	            ,HOWNERTYPEID,HISENTRUST,HSTOCKINORGID,HOWNERID,HCHECKPRODUCT,HQAIP,HCOSTRATE,HISBACKFLUSH,HREQSRC
+	            ,HREQBILLNO,HREQBILLID,HREQENTRYSEQ,HREQENTRYID,HMOMAINENTRYID,HSTOCKINQUASELQTY,HPRODUCTTYPE,HPROJECTNO
+	            ,HICMOENTRYSEQ,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HBASEUNITID,HDEPTID,HGroupID,HDESCRIPTION
+                 )
+                 values
+                 ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},'{subData.HMaterNumber}',{subData.HUnitID},'{subData.HUnitNumber}',{subData.HQtyMust},{subData.HQty},{subData.HWorkerID},'{subData.HWorkerNumber}',{subData.HSourceID},'{subData.HSourceNumber}',{subData.HTimes},{subData.HBadQty},{subData.HBadCount},{subData.HQPQty},{subData.HWasterQty},'{subData.HRemark}',{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HICMOInterID},{subData.HICMOEntryID},'{subData.HICMOBillNo}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},'{subData.HSeOrderBillNo}',{subData.HRelationQty},{subData.HRelationMoney},'{subData.HSplitNO}','{subData.HBarCode}',{subData.HWhID},{subData.HSPID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}','{subData.HPlanMode}',{subData.HERPInterID},{subData.HERPEntryID},'{subData.HOWNERTYPEID}','{subData.HISENTRUST}',{subData.HSTOCKINORGID},{subData.HOWNERID},'{subData.HCHECKPRODUCT}','{subData.HQAIP}',{subData.HCOSTRATE},'{subData.HISBACKFLUSH}','{subData.HREQSRC}','{subData.HREQBILLNO}',{subData.HREQBILLID},{subData.HREQENTRYSEQ},{subData.HREQENTRYID},{subData.HMOMAINENTRYID},{subData.HSTOCKINQUASELQTY},'{subData.HPRODUCTTYPE}','{subData.HPROJECTNO}',{subData.HICMOENTRYSEQ},{subData.HSEQ},'{subData.HPRODUCEDATE}','{subData.HEXPIRYDATE}',{subData.HBASEUNITID},{subData.HDEPTID},{subData.HGroupID},'{subData.HDESCRIPTION}'
+                  )";
+
+                        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
diff --git a/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs b/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs
index 4d2743d..be4cdc6 100644
--- a/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs
@@ -1,4 +1,5 @@
 锘縰sing Model.鐢熶骇绠$悊;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
@@ -14,6 +15,8 @@
     //鐢熶骇鐢ㄦ枡Controller
     public class Sc_PPBomBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
@@ -627,5 +630,278 @@
             }
         }
 
+        #region [鍚屾鍗曟嵁]
+        [Route("Sc_PPBomBill/Sc_PPBomBillViewApi")]
+        [HttpGet]
+        public json Sc_PPBomBillViewApi(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("PRD_PPBOM", 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 Sc_PPBomBillMain where HBillNo = '" + BillNo + "'", "Sc_PPBomBillMain");
+                    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 = 3720,
+                        HBillSubType = 3720,
+                        HDate = _saveObj["Result"]["Result"]["CreateDate"],
+                        HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+                        HBillStatus         = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2,
+                        HICMOInterID        = _saveObj["Result"]["Result"]["MoId"],
+                        HICMOEntryID        = _saveObj["Result"]["Result"]["MOEntryID"],
+                        HMaterID            = _saveObj["Result"]["Result"]["MaterialID_Id"],
+                        HUnitID             = _saveObj["Result"]["Result"]["UnitID_Id"],
+                        HQty                = _saveObj["Result"]["Result"]["Qty"],
+                        HDeptID             = _saveObj["Result"]["Result"]["WorkshopID_Id"],
+                        HMaker              = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+                        HMakeDate           = _saveObj["Result"]["Result"]["CreateDate"],
+                        HChecker            = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+                        HCheckDate          = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HSeOrderBillNo      = _saveObj["Result"]["Result"]["SALEORDERNO"],
+                        HSeOrderInterID     = _saveObj["Result"]["Result"]["SaleOrderId"],
+                        HSeOrderEntryID     = _saveObj["Result"]["Result"]["SaleOrderEntryId"],
+                        HPRDORGID           = _saveObj["Result"]["Result"]["PrdOrgId_Id"],
+                        HENTRUSTORGID       = _saveObj["Result"]["Result"]["EntrustOrgId_Id"],
+                        HPARENTOWNERID      = _saveObj["Result"]["Result"]["ParentOwnerId_Id"],
+                        HPARENTOWNERTYPEID  = _saveObj["Result"]["Result"]["ParentOwnerTypeId"],
+                        HREQSRC             = _saveObj["Result"]["Result"]["ReqSrc"],
+                        HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType              = "PPBOM",
+                        HSeOrderEntrySEQ          = _saveObj["Result"]["Result"]["SaleOrderEntrySeq"],
+                        HICMOEntrySEQ = _saveObj["Result"]["Result"]["MOEntrySeq"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_PPBomBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Sc_PPBomBillMain
+                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus,HICMOInterID,HICMOEntryID
+	            ,HMaterID,HUnitID,HQty,HDeptID,HMaker,HMakeDate,HChecker,HCheckDate
+	            ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID
+	            ,HPRDORGID,HENTRUSTORGID,HPARENTOWNERID,HPARENTOWNERTYPEID,HREQSRC
+	            ,HERPInterID,HERPBillType,HSeOrderEntrySEQ,HICMOEntrySEQ
+                 )
+                values
+                ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+                '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},{jsonData.HICMOInterID},{jsonData.HICMOEntryID},
+                {jsonData.HMaterID},{jsonData.HUnitID},{jsonData.HQty},{jsonData.HDeptID},'{jsonData.HMaker}','{jsonData.HMakeDate}','{jsonData.HChecker}',
+                '{jsonData.HCheckDate}','{jsonData.HSeOrderBillNo}',{jsonData.HSeOrderInterID},{jsonData.HSeOrderEntryID},{jsonData.HPRDORGID},
+                {jsonData.HENTRUSTORGID},{jsonData.HPARENTOWNERID},'{jsonData.HPARENTOWNERTYPEID}','{jsonData.HREQSRC}',{jsonData.HERPInterID},
+                '{jsonData.HERPBillType}',{jsonData.HSeOrderEntrySEQ},'{jsonData.HICMOEntrySEQ}')";
+
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["PPBomEntry"];
+
+                    DataSet Cs;
+                    double RelationQty = 0;
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Sc_PPBomBillSub where HInterID = " + InterID, "Sc_PPBomBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_PPBomBillSub 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["NeedQty"],
+                            HQtyMust          = oSub["NeedQty"],
+                            HWHID             = oSub["StockID_Id"],
+                            HRemark           = "CLOUD瀵煎叆",
+                            HSourceInterID    = oSub["MoId"],
+                            HSourceEntryID    = oSub["MoEntryId"],
+                            HSourceBillNo     = oSub["MoBillNo"],
+                            HSourceBillType   = 3710,
+                            HICMOInterID      = oSub["MoId"],
+                            HICMOEntryID      = oSub["MoEntryId"],
+                            HICMOBillNo       = oSub["MoBillNo"],
+                            HCHILDSUPPLYORGID = oSub["ChildSupplyOrgId_Id"],
+                            HSUPPLYORGID      = oSub["SupplyOrg_Id"],
+                            HENTRUSTPICKORGID = oSub["EntrustPickOrgId_Id"],
+                            HSRCTRANSORGID    = oSub["SrcTransOrgId_Id"],
+                            HGROUPBYOWNERID   = oSub["GroupByOwnerId_Id"],
+                            HOWNERID          = oSub["OwnerID_Id"],
+                            HOWNERTYPEID      = oSub["OwnerTypeId"],
+                            HRelationQty      = Convert.ToInt32(oSub["SelPickedQty"]) - Convert.ToInt32(oSub["SelPrcdReturnQty"]),
+                            HMoveStockQty     = oSub["SelTranslateQty"],
+                            HAuxPropID        = oSub["AuxPropID_Id"],
+                            HBatchNO          = oSub["Lot_Text"],
+                            HMTONo            = oSub["MTONO"],
+                            HQtyScrap               = Convert.ToInt32(oSub["BaseNumerator"]) / Convert.ToInt32(oSub["BaseDenominator"]),
+                            HERPInterID             = _saveObj["Result"]["Result"]["Id"],
+                            HERPEntryID             = oSub["Id"],
+                            HBackRelationQty        = oSub["WipQty"],
+                            HNumerator              = oSub["Numerator"],
+                            HDenominator             = oSub["Denominator"],
+                            HBASEUNITID             = oSub["BaseUnitID_Id"],
+                            HProcessID              = oSub["ProcessID_Id"],
+                            HICMOENTRYSEQ           = oSub["MoEntrySeq"],
+                            HPROJECTNO              = oSub["ProjectNO"],
+                            HOPERID                 = oSub["OperID"],
+                            HSEQ                    = oSub["Seq"],
+                            HSTOCKSTATUSID          = oSub["StockStatusId_Id"],
+                            HLOT                    = oSub["Lot_Id"],
+                            HOPTQUEUE               = oSub["OptQueue"],
+                            HRESERVETYPE            = oSub["ReserveType"],
+                            HSelPickedQty           = oSub["SelPickedQty"],
+                            HSELPRCDRETURNQTY = oSub["SelPrcdReturnQty"],
+                        };
+                        #endregion                       
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Sc_PPBomBillSub
+                 (HInterID,HEntryID,HMaterID,HUnitID,HQty,HQtyMust,HWHID,HRemark
+	            ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HICMOInterID,HICMOEntryID,HICMOBillNo
+	            ,HCHILDSUPPLYORGID,HSUPPLYORGID,HENTRUSTPICKORGID,HSRCTRANSORGID,HGROUPBYOWNERID,HOWNERID,HOWNERTYPEID
+	            ,HRelationQty,HMoveStockQty,HAuxPropID,HBatchNO,HMTONo,HQtyScrap,HERPInterID,HERPEntryID
+	            ,HBackRelationQty,HNumerator,HDenominator
+	            ,HBASEUNITID,HProcessID,HICMOENTRYSEQ,HPROJECTNO,HOPERID,HSEQ,HSTOCKSTATUSID
+	            ,HLOT,HOPTQUEUE,HRESERVETYPE,HSelPickedQty,HSELPRCDRETURNQTY
+                 )
+                 values
+                 ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HQtyMust},{subData.HWHID},'{subData.HRemark}',{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HICMOInterID},{subData.HICMOEntryID},'{subData.HICMOBillNo}',{subData.HCHILDSUPPLYORGID},{subData.HSUPPLYORGID},{subData.HENTRUSTPICKORGID},{subData.HSRCTRANSORGID},{subData.HGROUPBYOWNERID},{subData.HOWNERID},'{subData.HOWNERTYPEID}',{subData.HRelationQty},{subData.HMoveStockQty},{subData.HAuxPropID},'{subData.HBatchNO}','{subData.HMTONo}',{subData.HQtyScrap},{subData.HERPInterID},{subData.HERPEntryID},{subData.HBackRelationQty},'{subData.HNumerator}','{subData.HDenominator}',{subData.HBASEUNITID},{subData.HProcessID},{subData.HICMOENTRYSEQ},'{subData.HPROJECTNO}',{subData.HOPERID},{subData.HSEQ},{subData.HSTOCKSTATUSID},{subData.HLOT},{subData.HOPTQUEUE},'{subData.HRESERVETYPE}',{subData.HSelPickedQty},{subData.HSELPRCDRETURNQTY}
+                  )";
+
+                        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
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
index 23afaab..e321391 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
@@ -15,6 +15,8 @@
     //閿�鍞鍗旵ontroller
     public class Xs_SeOrderBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
@@ -431,7 +433,325 @@
             }
         }
 
+        #region [鍚屾鍗曟嵁]
+        [Route("Xs_SeOrderBill/Xs_SeOrderBillViewApi")]
+        [HttpGet]
+        public json Xs_SeOrderBillViewApi(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_SaleOrder", 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_SeOrderBillMain where HBillNo = '" + BillNo + "'", "Xs_SeOrderBillMain");
+                    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 = 1401,
+                        HBillSubType = 1401,
+                        HDate = _saveObj["Result"]["Result"]["Date"],
+                        HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+                        HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2,
+                        HAddress = _saveObj["Result"]["Result"]["ReceiveAddress"],
+                        HSSID = 0,
+                        HSSDate = _saveObj["Result"]["Result"]["Date"],
+                        HCusID = _saveObj["Result"]["Result"]["CustId_Id"],
+                        HCurID = 0,
+                        HExRate = 0,
+                        HEmpID = _saveObj["Result"]["Result"]["SalerId_Id"],
+                        HManagerID = 0,
+                        HDeptID = _saveObj["Result"]["Result"]["SaleDeptId_Id"],
+                        HExplanation = "",
+                        HRemark = "CLOUD瀵煎叆",
+                        HInnerBillNo = _saveObj["Result"]["Result"]["Note"],
+                        HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+                        HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+                        HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+                        HCloseMan = _saveObj["Result"]["Result"]["CloserId_Id"],
+                        HCloseDate = _saveObj["Result"]["Result"]["CloseDate"],
+                        HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
+                        HSALEORGID = _saveObj["Result"]["Result"]["SaleOrgId_Id"],
+                        HSALEGROUPID = _saveObj["Result"]["Result"]["SaleGroupId_Id"],
+                        HRECEIVEID = _saveObj["Result"]["Result"]["ReceiveId_Id"],
+                        HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
+                        HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
+                        HHEADLOCID = _saveObj["Result"]["Result"]["HeadLocId_Id"],
+                        HRECCONTACTID = 0,
+                        HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+                        HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],                      
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Xs_SeOrderBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Xs_SeOrderBillMain
+                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus
+	            ,HAddress,HSSID,HSSDate,HCusID,HCurID,HExRate
+	            ,HEmpID,HManagerID,HDeptID,HExplanation,HRemark,HInnerBillNo
+	            ,HChecker,HCheckDate,HMaker,HMakeDate,HCloseMan,HCloseDate
+	            ,HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID
+	            ,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE
+                 )
+                values
+                ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+                '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},'{jsonData.HAddress}',{jsonData.HSSID},'{jsonData.HSSDate}',{jsonData.HCusID},
+                {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.HCloseMan}','{jsonData.HCloseDate}',{jsonData.HERPInterID},
+                '{jsonData.HERPBillType}',{jsonData.HSALEORGID},{jsonData.HSALEGROUPID},{jsonData.HRECEIVEID},{jsonData.HSETTLEID},{jsonData.HCHARGEID},
+                {jsonData.HHEADLOCID},{jsonData.HRECCONTACTID},{jsonData.HCORRESPONDORGID},'{jsonData.HBUSINESSTYPE}')";
+
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["SaleOrderEntry"];
+
+                    DataSet Cs;
+                    double RelationQty = 0;
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Xs_SeOrderBillSub where HInterID = " + InterID, "Xs_SeOrderBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Xs_SeOrderBillSub 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"],
+                            HTaxPrice = oSub["TaxPrice"],
+                            HDiscountRate = oSub["DiscountRate"],
+                            HRelTaxPrice = 0,
+                            HMoney = 0,
+                            HTaxRate = oSub["TaxRate"],
+                            HTaxMoney = 0,
+                            HLineTotal = 0,
+                            HlineTotalBB = 0,
+                            HDate = oSub["MinPlanDeliveryDate"],
+                            HOutStockQty = oSub["StockBaseQty"],
+                            HInvoiceQty = 0,
+                            HRemark = oSub["Note"],
+                            HSourceInterID = 0,
+                            HSourceEntryID = 0,
+                            HSourceBillNo = oSub["SrcBillNo"],
+                            HSourceBillType = oSub["SrcType"],
+                            HRelationQty = Convert.ToInt32(oSub["Qty"]) - Convert.ToInt32(oSub["BaseCanOutQty"]),
+                            HPropertyID = 0,
+                            HBatChNo = oSub["Lot_Text"],
+                            HAuxPropID = oSub["AuxPropId_Id"],
+                            HMTONo = oSub["MtoNo"],
+                            HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                            HERPEntryID = oSub["Id"],
+                            HBackRelationQty = Convert.ToInt32(oSub["Qty"]) - Convert.ToInt32(oSub["BaseCanReturnQty"]),
+                            HWhID = oSub["SOStockId_Id"],
+                            HSPID = oSub["SOStockLocalId_Id"],
+                            HSTOCKORGID = oSub["StockOrgId_Id"],
+                            HOWNERID = oSub["OwnerId_Id"],
+                            HOWNERTYPEID = oSub["OwnerTypeId"],
+                            HMAPID = oSub["MapId_Id"],
+                            HSTOCKUNITID = oSub["StockUnitID_Id"],
+                            HBASEUNITID = oSub["BaseUnitId_Id"],
+                            HBFLOWID = oSub["FBFLowId_Id"],
+                            HSETTLEORGID = oSub["SettleOrgId_Id"],
+                            HTAXCOMBINATION = oSub["TaxCombination_Id"],
+                            HPRICEUNITID = oSub["PriceUnitId_Id"],
+                            HISFREE = oSub["IsFree"],
+                            HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+                            HSYSPRICE = oSub["SysPrice"],
+                            HLIMITDOWNPRICE = oSub["LimitDownPrice"],
+                            HPARENTMATID = oSub["ParentMatId_Id"],
+                            HROWTYPE = oSub["RowType"],
+                            HROWID = oSub["RowId"],
+                            HPARENTROWID = oSub["ParentRowId"],
+                            HDELIVERYCONTROL = oSub["DeliveryControl"],
+                            HLOCALCURRID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["LocalCurrId_Id"],
+                            HEXCHANGETYPEID = oSub["ExchangeTypeId_Id"],
+                            HSETTLECURRID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["SettleCurrId_Id"],
+                            HSETTLEMODEID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["SettleModeId_Id"],
+                            HRECCONDITIONID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["RecConditionId_Id"],
+                            HISINCLUDEDTAX = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["IsIncludedTax"],
+                            HISPRICEEXCLUDETAX = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["IsPriceExcludeTax"],
+                            HEXCHANGERATE = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["ExchangeRate"],
+                            HTAXRATEID = 0,
+                            HCOSTPERCENT =0,
+                            HVAT = 0,
+                            HSELLERWITHHOLDING = 0,
+                            HBUYERWITHHOLDING = 0,
+                            HPRICELISTENTRY = oSub["PriceListEntry_Id"]                           
+                        };
+                        #endregion                       
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Xs_SeOrderBillSub
+                 (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
+	            ,HTaxPrice,HDiscountRate,HRelTaxPrice,HMoney,HTaxRate,HTaxMoney
+	            ,HLineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark
+	            ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	            ,HRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
+	            ,HERPInterID,HERPEntryID,HBackRelationQty,HWhID,HSPID
+	            ,HSTOCKORGID,HOWNERID,HOWNERTYPEID,HMAPID,HSTOCKUNITID,HBASEUNITID
+	            ,HBFLOWID,HSETTLEORGID,HTAXCOMBINATION,HPRICEUNITID,HISFREE,HPRICECOEFFICIENT
+	            ,HSYSPRICE,HLIMITDOWNPRICE,HPARENTMATID,HROWTYPE,HROWID,HPARENTROWID
+	            ,HDELIVERYCONTROL,HLOCALCURRID,HEXCHANGETYPEID,HSETTLECURRID,HSETTLEMODEID
+	            ,HRECCONDITIONID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HEXCHANGERATE,HTAXRATEID
+	            ,HCOSTPERCENT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HPRICELISTENTRY
+                 )
+                 values
+                 ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+                  {subData.HTaxPrice},{subData.HDiscountRate},{subData.HRelTaxPrice},{subData.HMoney},{subData.HTaxRate},{subData.HTaxMoney},
+                  {subData.HLineTotal},{subData.HlineTotalBB},'{subData.HDate}',{subData.HOutStockQty},{subData.HInvoiceQty},'{subData.HRemark}',
+                  {subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HRelationQty},
+                  {subData.HPropertyID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID},
+                  {subData.HBackRelationQty},{subData.HWhID},{subData.HSPID},{subData.HSTOCKORGID},{subData.HOWNERID},
+                  '{subData.HOWNERTYPEID}','{subData.HMAPID}',{subData.HSTOCKUNITID},{subData.HBASEUNITID},'{subData.HBFLOWID}',                  
+                  {subData.HSETTLEORGID},{subData.HTAXCOMBINATION},{subData.HPRICEUNITID},'{subData.HISFREE}',
+                  {subData.HPRICECOEFFICIENT},{subData.HSYSPRICE},{subData.HLIMITDOWNPRICE},{subData.HPARENTMATID},'{subData.HROWTYPE}',
+                  '{subData.HROWID}','{subData.HPARENTROWID}','{subData.HDELIVERYCONTROL}',{subData.HLOCALCURRID},'{subData.HEXCHANGETYPEID}',
+                  {subData.HSETTLECURRID},{subData.HSETTLEMODEID},{subData.HRECCONDITIONID},'{subData.HISINCLUDEDTAX}','{subData.HISPRICEEXCLUDETAX}',
+                  {subData.HEXCHANGERATE},{subData.HTAXRATEID},{subData.HCOSTPERCENT},{subData.HVAT},{subData.HSELLERWITHHOLDING},
+                  {subData.HBUYERWITHHOLDING},{subData.HPRICELISTENTRY})";
+
+                        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
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs
index eb34030..0cfc2c0 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,6 +14,8 @@
     //閫�璐ч�氱煡鍗旵ontroller
     public class Xs_SeOutStockBackBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
@@ -122,7 +125,327 @@
         }
         #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
 
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
index d45f65f..691c274 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
@@ -1,4 +1,5 @@
 锘縰sing Model;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
@@ -14,6 +15,8 @@
     //鍙戣揣閫氱煡鍗旵ontroller
     public class Xs_SeOutStockBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
@@ -380,6 +383,331 @@
 
         #endregion
 
-        //
+        #region [鍚屾鍗曟嵁]
+        [Route("Xs_SeOutStockBill/Xs_SeOutStockBillViewApi")]
+        [HttpGet]
+        public json Xs_SeOutStockBillViewApi(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_DELIVERYNOTICE", 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_SeOutStockBillMain where HBillNo = '" + BillNo + "'", "Xs_SeOutStockBillMain");
+                    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 = 1402,
+                        HBillSubType = 1402,
+                        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"]["CustomerID_Id"],
+                        HManagerID = _saveObj["Result"]["Result"]["StockerID_Id"],
+                        HDeptID = _saveObj["Result"]["Result"]["DeliveryDeptID_Id"],
+                        HRemark = _saveObj["Result"]["Result"]["Note"],
+                        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"]["DeliveryOrgID_Id"],
+                        HOWNERID = _saveObj["Result"]["Result"]["OwnerIdHead_Id"],
+                        HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeIdHead"],
+                        HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType = _saveObj["Result"]["Result"]["BillTypeID_Id"],
+                        HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+                        HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+                        HChecker = _saveObj["Result"]["Result"]["ApproverID"]["Name"],
+                        HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HCloseMan = _saveObj["Result"]["Result"]["CLOSERID_Id"],
+                        HCloseDate = _saveObj["Result"]["Result"]["CLOSEDATE"],
+                        HSTOCKERGROUPID = _saveObj["Result"]["Result"]["StockerGroupID_Id"],
+                        HSALEGROUPID = _saveObj["Result"]["Result"]["SaleGroupID_Id"],
+                        HSALEDEPTID = _saveObj["Result"]["Result"]["SaleDeptID_Id"],
+                        HBUSINESSTYPE = _saveObj["Result"]["Result"]["BussinessType"],
+                        HCARRIERID = _saveObj["Result"]["Result"]["CarrierID_Id"],
+                        HRECEIVERID = _saveObj["Result"]["Result"]["ReceiverID_Id"],
+                        HSETTLEID = _saveObj["Result"]["Result"]["SettleID_Id"],
+                        HPAYERID = _saveObj["Result"]["Result"]["PayerID_Id"],
+                        HHEADLOCID = _saveObj["Result"]["Result"]["HeadLocId_Id"],
+                        HRECCONTACTID = 0,
+                        HRECEIPTCONDITIONID = _saveObj["Result"]["Result"]["FRECEIPTCONDITIONID_Id"],
+                        HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+                        HCARRIAGENO = _saveObj["Result"]["Result"]["CarriageNO"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Xs_SeOutStockBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Xs_SeOutStockBillMain
+                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus
+	            ,HCusID,HManagerID,HDeptID,HRemark,HAddress,HSSID
+	            ,HCurID,HWHID,HExRate,HEmpID,HExplanation,HInnerBillNo
+	            ,HSALEORGID,HDELIVERYORGID,HOWNERID,HOWNERTYPEID,HERPInterID,HERPBillType
+	            ,HMaker,HMakeDate,HChecker,HCheckDate,HCloseMan,HCloseDate
+	            ,HSTOCKERGROUPID,HSALEGROUPID,HSALEDEPTID,HBUSINESSTYPE,HCARRIERID,HRECEIVERID
+	            ,HSETTLEID,HPAYERID,HHEADLOCID,HRECCONTACTID,HRECEIPTCONDITIONID,HCORRESPONDORGID
+	            ,HCARRIAGENO
+                 )
+                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.HERPInterID},'{jsonData.HERPBillType}','{jsonData.HMaker}',
+                '{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HCloseMan}','{jsonData.HCloseDate}',
+                {jsonData.HSTOCKERGROUPID},{jsonData.HSALEGROUPID},{jsonData.HSALEDEPTID},'{jsonData.HBUSINESSTYPE}',{jsonData.HCARRIERID},
+                {jsonData.HRECEIVERID},{jsonData.HSETTLEID},{jsonData.HPAYERID},{jsonData.HHEADLOCID},{jsonData.HRECCONTACTID},
+                {jsonData.HRECEIPTCONDITIONID},{jsonData.HCORRESPONDORGID},'{jsonData.HCARRIAGENO}')";
+
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEENTRY"];
+
+                    DataSet Cs;
+                    double RelationQty = 0;
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Xs_SeOutStockBillSub where HInterID = " + InterID, "Xs_SeOutStockBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Xs_SeOutStockBillSub 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,
+                            HWHID = oSub["StockID_Id"],
+                            HSPID = oSub["StockLocID_Id"],
+                            HRemark = oSub["NoteEntry"],
+                            HSourceInterID = 0,
+                            HSourceEntryID = 0,
+                            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_DELIVERYNOTICEFIN"][0]["SettleOrgID_Id"],
+                            HMoveStockQty = oSub["StockBaseTransQty"],
+                            HRelationQty = oSub["StockBaseJoinOutQty"],
+                            HAuxPropID = oSub["AuxpropID_Id"],
+                            HBatchNO = oSub["Lot_Text"],
+                            HMTONo = oSub["MTONO"],
+                            HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                            HERPEntryID = oSub["Id"],
+                            HCUSTMATID = oSub["CustMatID_Id"],
+                            HBASEUNITID = oSub["BaseUnitID_Id"],
+                            HBFLOWID = oSub["FBFLowId_Id"],
+                            HOUTCONTROL = oSub["OutContROL"],
+                            HSTOCKUNITID = oSub["StockUnitID_Id"],
+                            HROWTYPE = oSub["RowType"],
+                            HROWID = oSub["RowId"],
+                            HPARENTROWID = oSub["ParentRowId"],
+                            HPARENTMATID = oSub["ParentMatId_Id"],
+                            HTAXCOMBINATION = oSub["TaxCombination_Id"],
+                            HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+                            HSYSPRICE = oSub["SysPrice"],
+                            HLIMITDOWNPRICE = oSub["LimitDownPrice"],
+                            HPRICEUNITID = oSub["PriceUnitId_Id"],
+                            HTAXPRICE = oSub["TaxPrice"],
+                            HTAXRATE = oSub["TaxRate"],
+                            HTAXNETPRICE = oSub["TaxNetPrice"],
+                            HDISCOUNTRATE = oSub["DiscountRate"],
+                            HISFREE = oSub["IsFree"],
+                            HLOCALCURRID = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["LocalCurrID_Id"],
+                            HSETTLECURRID = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["SettleCurrID_Id"],
+                            HEXCHANGETYPEID = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["ExchangeTypeID_Id"],
+                            HSETTLETYPEID = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["SettleTypeID_Id"],
+                            HRECEIPTCONDITIONID = 0,
+                            HEXCHANGERATE = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["ExchangeRate"],
+                            HISINCLUDEDTAX = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["IsIncludedTax"],
+                            HISPRICEEXCLUDETAX = _saveObj["Result"]["Result"]["SAL_DELIVERYNOTICEFIN"][0]["IsPriceExcludeTax"],
+                            HTAXRATEID = 0,
+                            HTaxRate_TAX = oSub["TaxRate"],
+                            HCOSTPERCENT = 0,
+                            HVAT = 0,
+                            HSELLERWITHHOLDING = 0,
+                            HBUYERWITHHOLDING = 0
+                        };
+                        #endregion                       
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Xs_SeOutStockBillSub
+                 (HInterID,HEntryID,HMaterID,HUnitID,HQty
+	            ,HPrice,HMoney,HWHID,HSPID,HRemark
+	            ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HSeOrderInterID,HSeOrderEntryID,HSeORderBillNo
+	            ,HOWNERID,HOWNERTYPEID,HSETTLEORGID,HMoveStockQty
+	            ,HRelationQty,HAuxPropID,HBatchNO,HMTONo,HERPInterID,HERPEntryID
+	            ,HCUSTMATID,HBASEUNITID,HBFLOWID,HOUTCONTROL
+	            ,HSTOCKUNITID,HROWTYPE,HROWID,HPARENTROWID,HPARENTMATID
+	            ,HTAXCOMBINATION,HPRICECOEFFICIENT,HSYSPRICE,HLIMITDOWNPRICE
+	            ,HPRICEUNITID,HTAXPRICE,HTAXRATE,HTAXNETPRICE,HDISCOUNTRATE,HISFREE
+	            ,HLOCALCURRID,HSETTLECURRID,HEXCHANGETYPEID,HSETTLETYPEID,HRECEIPTCONDITIONID
+	            ,HEXCHANGERATE,HISINCLUDEDTAX,HISPRICEEXCLUDETAX
+	            ,HTAXRATEID,HTaxRate_TAX,HCOSTPERCENT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING
+                 )
+                 values
+                 ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+                  {subData.HMoney},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HSourceInterID},{subData.HSourceEntryID},
+                  '{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},
+                  '{subData.HSeORderBillNo}',{subData.HOWNERID},'{subData.HOWNERTYPEID}',{subData.HSETTLEORGID},{subData.HMoveStockQty},
+                  {subData.HRelationQty},{subData.HAuxPropID},'{subData.HBatchNO}','{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID},
+                  '{subData.HCUSTMATID}',{subData.HBASEUNITID},'{subData.HBFLOWID}','{subData.HOUTCONTROL}',{subData.HSTOCKUNITID},'{subData.HROWTYPE}',
+                  '{subData.HROWID}','{subData.HPARENTROWID}','{subData.HPARENTMATID}',{subData.HTAXCOMBINATION},{subData.HPRICECOEFFICIENT},
+                  '{subData.HSYSPRICE}',{subData.HLIMITDOWNPRICE},{subData.HPRICEUNITID},{subData.HTAXPRICE},'{subData.HTAXRATE}',
+                  '{subData.HTAXNETPRICE}',{subData.HDISCOUNTRATE},'{subData.HISFREE}','{subData.HLOCALCURRID}','{subData.HSETTLECURRID}',
+                  '{subData.HEXCHANGETYPEID}','{subData.HSETTLETYPEID}','{subData.HRECEIPTCONDITIONID}',{subData.HEXCHANGERATE},'{subData.HISINCLUDEDTAX}',
+                  '{subData.HISPRICEEXCLUDETAX}',{subData.HTAXRATEID},{subData.HTaxRate_TAX},'{subData.HCOSTPERCENT}','{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
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index 3caf227..82e4b73 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -23,6 +23,9 @@
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
 
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         #region 鐢熶骇浠诲姟鍗� 淇濆瓨/缂栬緫鍔熻兘
         [Route("Sc_ICMOBill/ICMOBillEdit")]
         [HttpPost]
@@ -1080,5 +1083,331 @@
         #endregion
 
 
+        #region [鍚屾鍗曟嵁]
+        [Route("Sc_ICMOBill/Sc_ICMOBillViewApi")]
+        [HttpGet]
+        public json Sc_ICMOBillViewApi(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("PRD_MO", 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 Sc_ICMOBillMain where HBillNo = '" + BillNo + "'", "Sc_ICMOBillMain");
+                    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 = 3710,
+                        HDate = _saveObj["Result"]["Result"]["Date"],
+                        HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+                        HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2,
+                        HEMPID = 0,
+                        HRoutingInterID = 0,
+                        HPlanQty = 1,
+                        HRelationQty = 0,
+                        HPlanBeginDate = _saveObj["Result"]["Result"]["Date"],
+                        HPlanEndDate = DateTime.Now.ToString(),
+                        HBeginDate = _saveObj["Result"]["Result"]["Date"],
+                        HEndDate = DateTime.Now.ToString(),
+                        HMaterID = 0,
+                        HUnitID = 0,
+                        HBomID = 0,
+                        HBatchNo = "",
+                        HSourceInterID = 0,
+                        HSourceEntryID = 0,
+                        HSourceBillNo = "",
+                        HSourceBillType = "",
+                        HSeOrderInterID = 0,
+                        HSeOrderEntryID = 0,
+                        HSeOrderBillNo = "",
+                        HPRDORGID = _saveObj["Result"]["Result"]["PrdOrgId_Id"],
+                        HENTRUSTORGID = _saveObj["Result"]["Result"]["ENTrustOrgId_Id"],
+                        HOWNERID = _saveObj["Result"]["Result"]["OwnerId_Id"],
+                        HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeId"],
+                        HCusID = 0,
+                        HDeptID = _saveObj["Result"]["Result"]["WorkShopID_Id"].ToString() == null ? 0 : _saveObj["Result"]["Result"]["WorkShopID_Id"],
+                        HRemark = "CLOUD瀵煎叆",
+                        HMTONo = "",
+                        HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                        HERPBillType = _saveObj["Result"]["Result"]["BillType_Id"],
+                        HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+                        HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+                        HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+                        HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HBillSubType = _saveObj["Result"]["Result"]["IsRework"] = true ? 1 : 0,
+                        HISENTRUST = _saveObj["Result"]["Result"]["IsEntrust"],
+                        HISREWORK = _saveObj["Result"]["Result"]["IsRework"]                       
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_ICMOBillMain where HInterID = " + InterID;
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆涓昏〃
+                    sql = $@"
+                insert into Sc_ICMOBillMain
+                (HInterID,HYear,HPeriod,HBillType,HDate
+	            ,HBillNo,HBillStatus,HEMPID,HRoutingInterID
+	            ,HPlanQty,HRelationQty,HPlanBeginDate,HPlanEndDate,HBeginDate,HEndDate
+	            ,HMaterID,HUnitID,HBomID,HBatchNo
+	            ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo
+	            ,HPRDORGID,HENTRUSTORGID,HOWNERID,HOWNERTYPEID
+	            ,HCusID,HDeptID,HRemark,HMTONo,HERPInterID,HERPBillType
+	            ,HMaker,HMakeDate,HChecker,HCheckDate
+	            ,HBillSubType,HISENTRUST,HISREWORK
+                 )
+                values
+                ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},'{jsonData.HDate}','{jsonData.HBillNo}',
+                {jsonData.HBillStatus},{jsonData.HEMPID},{jsonData.HRoutingInterID},{jsonData.HPlanQty},{jsonData.HRelationQty},
+                '{jsonData.HPlanBeginDate}', '{jsonData.HPlanEndDate}','{jsonData.HBeginDate}','{jsonData.HEndDate}',{jsonData.HMaterID},
+                {jsonData.HUnitID},{jsonData.HBomID},'{jsonData.HBatchNo}',{jsonData.HSourceInterID},{jsonData.HSourceEntryID},
+                '{jsonData.HSourceBillNo}','{jsonData.HSourceBillType}',{jsonData.HSeOrderInterID}, {jsonData.HSeOrderEntryID},'{jsonData.HSeOrderBillNo}',
+                {jsonData.HPRDORGID},{jsonData.HENTRUSTORGID},{jsonData.HOWNERID},'{jsonData.HOWNERTYPEID}',{jsonData.HCusID},{jsonData.HDeptID},
+                '{jsonData.HRemark}','{jsonData.HMTONo}',{jsonData.HERPInterID},'{jsonData.HERPBillType}','{jsonData.HMaker}','{jsonData.HMakeDate}',
+                '{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HBillSubType}','{jsonData.HISENTRUST}','{jsonData.HISREWORK}')";
+
+                    oCN.RunProc(sql);
+
+                    #region [鐢宠瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["TreeEntity"];
+
+                    DataSet Cs;                   
+                    double RelationQty = 0;                  
+                    #endregion
+                    int i = 0;
+
+                    // 鑾峰彇瀛愯〃鏁版嵁
+                    Cs = oCN.RunProcReturn("select * from Sc_ICMOBillSub where HInterID = " + InterID, "Sc_ICMOBillSub");
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Sc_ICMOBillSub 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"],
+                            HSEQ = oSub["Seq"],
+                            HQty = oSub["Qty"],
+                            HQTYMUST = oSub["Qty"],
+                            HRelationQty = RelationQty,
+                            HRelationMoney = 0,
+                            HPlanBeginDate = oSub["IdPlanStartDate"],
+                            HPlanEndDate = oSub["PlanFinishDate"],
+                            HBeginDate = oSub["StartDate"],
+                            HEndDate = oSub["FinishDate"],
+                            HBomID = oSub["BomId_Id"],
+                            HRemark = "CLOUD瀵煎叆",
+                            HMaterID = oSub["MaterialId_Id"],
+                            HUnitID = oSub["UnitId_Id"],
+                            HWHID = oSub["StockId_Id"],
+                            HSPID = oSub["StockLocId_Id"],
+                            HPROCID = oSub["ProcessId_Id"],
+                            HDEPTID = oSub["WorkShopID_Id"],
+                            HBatchNo = oSub["Lot_Text"],
+                            HSourceInterID = oSub["SrcBillId"],
+                            HSourceEntryID = oSub["SrcBillEntryId"],
+                            HSourceBillNo = oSub["SrcBillNo"],
+                            HSourceBillType = oSub["SrcBillType"],
+                            HSeOrderInterID = oSub["SaleOrderId"],
+                            HSeOrderEntryID = oSub["SaleOrderEntryId"],
+                            HSeOrderBillNo = oSub["SaleOrderNo"],
+                            HSTOCKINORGID = oSub["StockInOrgId_Id"],
+                            HINSTOCKOWNERID = oSub["InStockOwnerId_Id"],
+                            HINSTOCKOWNERTYPEID = oSub["InStockOwnerTypeId"],
+                            HREQUESTORGID = oSub["RequestOrgId_Id"],
+                            HPlanMode = 0,
+                            HMTONo = oSub["MTONo"],
+                            HERPInterID = _saveObj["Result"]["Result"]["Id"],
+                            HERPEntryID = oSub["Id"],
+                            HSTATUS = oSub["Status"],
+                            HEntryCusID = 0,
+                            HICMOReportRelationQty = oSub["RepQuaSelAuxQty"],
+                            HAuxPropID = oSub["AuxPropId_Id"],
+                            HProdMaterCode = "",
+                            HCusShortName = "",
+                            HCusNeedMaterial = "",
+                            HPlanSendGoodsDate = "",
+                            HProdMaterName = "",
+                            HWorkRemark = "",
+                            HImportNote = "",
+                            HCusName = "",
+                            HInstockQty_Max = 0,
+                            HInstockQty_Min = 0,
+                            HPickLabel = "",
+                            HPickLabelNumber = oSub["StockInLimitH"],
+                            HCusNumber = oSub["StockInLimitL"],
+                            HINSTOCKTYPE = oSub["InStockType"],
+                            HCHECKPRODUCT = oSub["CheckProduct"],
+                            HQAIP = oSub["QAIP"],
+                            HISBACKFLUSH = oSub["ISBACKFLUSH"],
+                            HREQSRC = oSub["ReqSrc"],
+                            HSTOCKINQUASELAUXQTY = oSub["StockInQuaSelAuxQty"],
+                            HSeOrderEntrySEQ = oSub["SaleOrderEntrySeq"],
+                            HPROJECTNO = oSub["ProjectNo"],
+                            HPRODUCTTYPE = oSub["ProductType"],
+                            HCOSTRATE = oSub["CostRate"],
+                            HBASEUNITID = oSub["BaseUnitId_Id"],
+                        };
+                        #endregion                       
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Sc_ICMOBillSub
+                 (HInterID,HENTRYID,HSEQ,HQty,HQTYMUST,HRelationQty,HRelationMoney
+	            ,HPlanBeginDate,HPlanEndDate,HBeginDate,HEndDate,HBomID,HRemark
+	            ,HMaterID,HUnitID,HWHID,HSPID,HPROCID,HDEPTID,HBatchNo
+	            ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	            ,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo
+	            ,HSTOCKINORGID,HINSTOCKOWNERID,HINSTOCKOWNERTYPEID,HREQUESTORGID
+	            ,HPlanMode,HMTONo,HERPInterID,HERPEntryID,HSTATUS
+	            ,HEntryCusID,HICMOReportRelationQty,HAuxPropID,HProdMaterCode,HCusShortName
+	            ,HCusNeedMaterial,HPlanSendGoodsDate,HProdMaterName,HWorkRemark,HImportNote,HCusName
+	            ,HInstockQty_Max,HInstockQty_Min,HPickLabel,HPickLabelNumber,HCusNumber
+	            ,HINSTOCKTYPE,HCHECKPRODUCT,HQAIP,HISBACKFLUSH,HREQSRC,HSTOCKINQUASELAUXQTY
+	            ,HSeOrderEntrySEQ,HPROJECTNO,HPRODUCTTYPE,HCOSTRATE,HBASEUNITID
+                 )
+                 values
+                 ({subData.HInterID},{subData.HENTRYID},{subData.HSEQ},{subData.HQty},{subData.HQTYMUST},{subData.HRelationQty},
+                  {subData.HRelationMoney},'{subData.HPlanBeginDate}','{subData.HPlanEndDate}','{subData.HBeginDate}','{subData.HEndDate}',{subData.HBomID},
+                  '{subData.HRemark}',{subData.HMaterID},{subData.HUnitID},{subData.HWHID},{subData.HSPID},{subData.HPROCID},{subData.HDEPTID},
+                  '{subData.HBatchNo}',{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',
+                  {subData.HSeOrderInterID},{subData.HSeOrderEntryID},'{subData.HSeOrderBillNo}',{subData.HSTOCKINORGID},{subData.HINSTOCKOWNERID},
+                  '{subData.HINSTOCKOWNERTYPEID}',{subData.HREQUESTORGID},'{subData.HPlanMode}','{subData.HMTONo}',{subData.HERPInterID},
+                  {subData.HERPEntryID},{subData.HSTATUS},{subData.HEntryCusID},{subData.HICMOReportRelationQty},{subData.HAuxPropID},                  
+                  '{subData.HProdMaterCode}','{subData.HCusShortName}','{subData.HCusNeedMaterial}','{subData.HPlanSendGoodsDate}',
+                  '{subData.HProdMaterName}','{subData.HWorkRemark}','{subData.HImportNote}','{subData.HCusName}',{subData.HInstockQty_Max},
+                  {subData.HInstockQty_Min},'{subData.HPickLabel}',{subData.HPickLabelNumber},{subData.HCusNumber},'{subData.HINSTOCKTYPE}',
+                  '{subData.HCHECKPRODUCT}','{subData.HQAIP}','{subData.HISBACKFLUSH}','{subData.HREQSRC}',{subData.HSTOCKINQUASELAUXQTY},
+                  {subData.HSeOrderEntrySEQ},'{subData.HPROJECTNO}','{subData.HPRODUCTTYPE}',{subData.HCOSTRATE},{subData.HBASEUNITID})";
+
+                        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
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 89666f3..85c001b 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -397,11 +397,11 @@
     <Compile Include="Controllers\MJGL\Sc_MouldScrapRequestBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldStatusChangeBillController.cs" />
     <Compile Include="Controllers\Pay_ReportController.cs" />
+    <Compile Include="Controllers\SBGL\SBTC\Sb_EquipStockInCheckBillController.cs" />
+    <Compile Include="Controllers\SBGL\SBTC\Sb_EquipWorkBeforeCheckBillController.cs" />
     <Compile Include="Controllers\SBGL\Sb_EquipSparepartsBillController.cs" />
     <Compile Include="Controllers\SBGL\Sb_EquipSparepartsChangeBillController.cs" />
     <Compile Include="Controllers\SBGL\Sb_EquipStatusChangeBillController.cs" />
-    <Compile Include="Controllers\SBGL\SBTC\Sb_EquipStockInCheckBillController.cs" />
-    <Compile Include="Controllers\SBGL\SBTC\Sb_EquipWorkBeforeCheckBillController.cs" />
     <Compile Include="Controllers\SBGL\Sb_EquipWorkBeforeCheckBillController.cs" />
     <Compile Include="Controllers\SBGL\Sb_EquipStockInCheckBillController.cs" />
     <Compile Include="Controllers\SCGL\Sc_ComplementGoodBill_ZXBZController.cs" />
@@ -958,7 +958,6 @@
     <Folder Include="Views\Sb_EquipStatusChangeBill\" />
     <Folder Include="Views\Sb_EquipStockInCheckBill\" />
     <Folder Include="Views\Sb_EquipWorkBeforeCheckBill\" />
-    <Folder Include="Views\Sb_EquipStockInCheckBill\" />
     <Folder Include="Views\Sc_CallGoodsBackRequestBill\" />
     <Folder Include="Views\Sc_ComplementGoodBill\" />
     <Folder Include="Views\Sc_ComplementGoodBill_ZXBZ\" />

--
Gitblit v1.9.1