From 0a56001e1b8e9ae7d2f39c982912cd6d10c22032 Mon Sep 17 00:00:00 2001
From: cwjbxqmz <1134865194@qq.com>
Date: 星期二, 06 二月 2024 11:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs |  781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 767 insertions(+), 14 deletions(-)

diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
index d45f65f..b139a93 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,7 +15,10 @@
     //鍙戣揣閫氱煡鍗旵ontroller
     public class Xs_SeOutStockBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public DAL.ClsXs_SeOutStockBill BillOld = new DAL.ClsXs_SeOutStockBill();
 
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -32,7 +36,7 @@
             try
             {
 
-                ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBillList where HitemID=" + HInterID, "h_v_IF_SeOutStockBillList");
+                ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBillList where hmainid=" + HInterID, "h_v_IF_SeOutStockBillList");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
@@ -230,7 +234,9 @@
                 long HCusID = mainList[0].HCusID; //瀹㈡埛
                 string HAddress = mainList[0].HAddress;//鍦板潃
                 long HSSID = mainList[0].HSSID;//缁撶畻鏂瑰紡
-
+                long HConveyTypeID = mainList[0].HConveyTypeID;//杩愯緭鏂瑰紡
+                long HConveyCompID = mainList[0].HConveyCompID;//杩愯緭鍏徃
+                long HConveyMoney = (long)mainList[0].HConveyMoney;//杩愯垂
                 long HDFflag = Convert.ToInt32(mainList[0].HDFflag); //鏄惁鍨粯
 
 
@@ -252,36 +258,94 @@
                 long HDELIVERYORGID = mainList[0].HDELIVERYORGID;
                 long HOWNERID = mainList[0].HOWNERID;
                 string HOWNERTYPEID = mainList[0].HOWNERTYPEID;
+                string HLinkMan = mainList[0].HLinkMan;
+                string HLinkPhone = mainList[0].HLinkPhone;
+                string HSeOrderBillNo_M = mainList[0].HSeOrderBillNo_M;
 
                 ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_SeOutStockBillList");
 
+
+               
+
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�=========================================
+                    string HBillNote = "";
+                    ds = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBill_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Xs_SeOutStockBill_BeforeSaveCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:淇濆瓨鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+
                     //涓昏〃
-                    oCN.RunProc(@"Insert Into Xs_SeOutStockBillMain   
+                    string sql = $@"Insert Into Xs_SeOutStockBillMain   
                         (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
 	                    ,HCusID,HManagerID,HDeptID,HRemark,HMaker,HMakeDate
-	                    ,HAddress,HSSID,HCurID,HWHID,HExRate,HEmpID,HExplanation,HInnerBillNo
-	                    ,HSALEORGID,HDELIVERYORGID,HOWNERID,HOWNERTYPEID
+	                    ,HAddress,HSSID,HCurID,HWHID,HExRate,HEmpID,HExplanation,HInnerBillNo,HSeOrderBillNo_M
+	                    ,HConveyTypeID,HConveyCompID,HConveyMoney,HLinkMan,HLinkPhone 
+                        ,HSALEORGID,HDELIVERYORGID,HOWNERID,HOWNERTYPEID
 	                    ,HChecker,HCheckDate,HCloseMan,HCloseDate,HERPInterID,HERPBillType,HDFflag)
                         values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1402 + "','" +
                     1402 + "','" + HDate + "','" + HBillNo + "'," + HBillStatus + "," + HCusID +
                     "," + HManagerID + "," + HDeptID + ",'" + HRemark + "','" + HMaker + "','" + HMakeDate +
                     "','" + HAddress + "'," + HSSID + "," + HCurID + "," + HWHID + "," + HExRate + "," + HEmpID + ",'" +
-                    HExplanation + "','" + HInnerBillNo + "'," + HSALEORGID + "," + HDELIVERYORGID + "," + HOWNERID + ",'"
+                    HExplanation + "','" + HInnerBillNo + "','" + HSeOrderBillNo_M + "','" + HConveyTypeID + "','" + HConveyCompID + "','" + HConveyMoney + "','" + HLinkMan + "','" + HLinkPhone + "'," + HSALEORGID + "," + HDELIVERYORGID + "," + HOWNERID + ",'"
                     + HOWNERTYPEID + "','" + HChecker + "','" + HCheckDate + "','" + HCloseMan + "','" + HCloseDate + "'," + HERPInterID +
-                    ",'" + HERPBillType + "'," + HDFflag + ")");
+                    ",'" + HERPBillType + "'," + HDFflag + ")";
+
+                    oCN.RunProc(sql);
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
                 { //淇敼
-                    oCN.RunProc("update Xs_SeOutStockBillMain  set " +
-                                "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" + "' where HInterID=" + HInterID);
+                    string sql = $@"update Xs_SeOutStockBillMain  set " +
+                                "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" +
+                                 ",HCurID=" + HCurID + ", HWHID = " + HWHID
+                                 + ",HExRate=" + HExRate + ",HEmpID=" + HEmpID + ",HSeOrderBillNo_M=" + HSeOrderBillNo_M + ",HManagerID=" + HManagerID + ",HDeptID=" + HDeptID + ",HOWNERID=" + HOWNERID
+                                 + ",HAddress='" + HAddress + "'where HInterID=" + HInterID;
+                    oCN.RunProc(sql);
 
                     //鍒犻櫎瀛愯〃
                     oCN.RunProc("delete from Xs_SeOutStockBillSub where HInterID='" + HInterID + "'");
                 }
                 //淇濆瓨瀛愯〃
                 objJsonResult = AddBillSub(msg3, HInterID, OperationType);
+
+
+                //淇濆瓨鍚庢帶鍒�=========================================
+                 ds = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "h_p_Xs_SeOutStockBill_AfterSaveCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:淇濆瓨鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
 
                 if (objJsonResult.code == "0")
                 {
@@ -313,6 +377,7 @@
             List<ClsXs_SeOutStockBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOutStockBillSub>>(msg3);
 
             int i = 0;
+            IList list = DetailColl;
             foreach (ClsXs_SeOutStockBillSub oSub in DetailColl)
             {
                 i++;
@@ -361,14 +426,16 @@
                     NewHEntryID += 1;
                 }
 
-                oCN.RunProc($@"Insert into Xs_SeOutStockBillSub 
+                string 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
+	            ,HOWNERID,HOWNERTYPEID,HMoveStockQty
 	            ,HRelationQty,HAuxPropID,HBatchNO,HMTONo,HERPInterID,HERPEntryID) 
                  values({HInterID},{NewHEntryID},{oSub.HMaterID},{oSub.HUnitID},{oSub.HQty}
-                ,{oSub.HPrice},{oSub.HMoney},{oSub.HWHID},{oSub.HSPID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HSeOrderInterID},{oSub.HSeOrderEntryID},'{oSub.HSeORderBillNo}',{oSub.HOWNERID},'{oSub.HOWNERTYPEID}',{oSub.HSETTLEORGID},{oSub.HMoveStockQty},{oSub.HRelationQty}
-                ,{oSub.HAuxPropID},'{oSub.HBatchNO}','{oSub.HMTONo}',{oSub.HERPInterID},{oSub.HERPEntryID})");
+                ,{oSub.HPrice},{oSub.HMoney},{oSub.HWHID},{oSub.HSPID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HSeOrderInterID},{oSub.HSeOrderEntryID},'{oSub.HSeORderBillNo}',{oSub.HOWNERID},'{oSub.HOWNERTYPEID}',{oSub.HMoveStockQty},{oSub.HRelationQty}
+                ,{oSub.HAuxPropID},'{oSub.HBatchNO}','{oSub.HMTONo}',{oSub.HERPInterID},{oSub.HERPEntryID})";
+
+                oCN.RunProc(sql);
             }
 
             objJsonResult.code = "1";
@@ -380,6 +447,692 @@
 
         #endregion
 
-        //
+        #region [鍚屾鎻掍欢]
+        [Route("Xs_SeOutStockBill/Xs_SeOutStockBillSaveApi")]
+        [HttpPost]
+        public object Xs_SeOutStockBillSaveApi([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                //LogService.Write("鍙戣揣閫氱煡鍗曞悓姝�,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + sMainSub.ToString());
+                var model = sMainSub["model"].ToString();
+                var entry = sMainSub["model"]["HENTRY"].ToString();
+
+                LogService.Write("鍙戣揣閫氱煡鍗曞悓姝� sMainSub:" + sMainSub);
+                model = "[" + model.ToString() + "]";
+                List<ClsXs_SeOutStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOutStockBillMain>>(model);
+                List<ClsXs_SeOutStockBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOutStockBillSub>>(entry);
+                string sql = string.Empty;
+                oCN.BeginTran();
+                sql = $"delete Xs_SeOutStockBillMain where HinterID = {mainList[0].HInterID}";
+                oCN.RunProc(sql);
+                sql = $"delete Xs_SeOutStockBillSub where HinterID = {mainList[0].HInterID}";
+                oCN.RunProc(sql);
+                //涓昏〃
+                oCN.RunProc(@"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(" + mainList[0].HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1402 + "','" +
+                    mainList[0].HBillSubType + "','" + mainList[0].HDate + "','" + mainList[0].HBillNo + "','" + mainList[0].HBillStatus + "'," + mainList[0].HCusID +
+                    "," + mainList[0].HManagerID + "," + mainList[0].HDeptID + ",'" + mainList[0].HRemark + "','" + mainList[0].HAddress + "'," + mainList[0].HSSID +
+                    "," + mainList[0].HCurID + "," + mainList[0].HWHID + "," + mainList[0].HExRate + "," + mainList[0].HEmpID + ",'" + mainList[0].HExplanation + "','"  + mainList[0].HInnerBillNo + "'," + mainList[0].HSALEORGID + "," + mainList[0].HDELIVERYORGID + "," + mainList[0].HOWNERID + ",'" +
+                    mainList[0].HOWNERTYPEID + "'," + mainList[0].HERPInterID + ",'" + mainList[0].HERPBillType + "','" + mainList[0].HMaker + "','" + mainList[0].HMakeDate + "','"
+                    + mainList[0].HChecker + "','" + mainList[0].HCheckDate + "','" + mainList[0].HCloseMan + "','" + mainList[0].HCloseDate + "'," + mainList[0].HSTOCKERGROUPID + ","
+                    + mainList[0].HSALEGROUPID + "," + mainList[0].HSALEDEPTID + ",'" + mainList[0].HBUSINESSTYPE + "'," + mainList[0].HCARRIERID + "," + mainList[0].HRECEIVERID + "," + mainList[0].HSETTLEID + "," + mainList[0].HPAYERID + "," + mainList[0].HHEADLOCID + "," + mainList[0].HRECCONTACTID + "," + mainList[0].HRECEIPTCONDITIONID + "," + mainList[0].HCORRESPONDORGID + ",'" + mainList[0].HCARRIAGENO + "'" + ")");
+                //淇濆瓨涓昏〃
+                foreach (var oSub in subList)
+                {
+                    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('{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}','{oSub.HMoney}','{oSub.HWHID}','{oSub.HSPID}','{oSub.HRemark}','{oSub.HSourceInterID}',
+'{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HSeOrderInterID}','{oSub.HSeOrderEntryID}','{oSub.HSeORderBillNo}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HSETTLEORGID}','{oSub.HMoveStockQty}',
+'{oSub.HRelationQty}','{oSub.HAuxPropID}','{oSub.HBatchNO}','{oSub.HMTONo}','{oSub.HERPInterID}',
+'{oSub.HERPEntryID}','{oSub.HCUSTMATID}','{oSub.HBASEUNITID}','{oSub.HBFLOWID}','{oSub.HOUTCONTROL}','{oSub.HSTOCKUNITID}','{oSub.HROWTYPE}',
+'{oSub.HROWID}','{oSub.HPARENTROWID}',
+'{oSub.HPARENTMATID}','{oSub.HTAXCOMBINATION}','{oSub.HPRICECOEFFICIENT}','{oSub.HSYSPRICE}','{oSub.HLIMITDOWNPRICE}','{oSub.HPRICEUNITID}','{oSub.HTAXPRICE}','{oSub.HTAXRATE}','{oSub.HTAXNETPRICE}','{oSub.HDISCOUNTRATE}','{oSub.HISFREE}',
+'{oSub.HLOCALCURRID}','{oSub.HSETTLECURRID}','{oSub.HEXCHANGETYPEID}','{oSub.HSETTLETYPEID}','{oSub.HRECEIPTCONDITIONID}','{oSub.HEXCHANGERATE}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HTAXRATEID}',
+'{oSub.HTaxRate_TAX}','{oSub.HCOSTPERCENT}','{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}')";
+                    oCN.RunProc(sql);
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鍙戣揣閫氱煡鍗曞悓姝ュ紓甯�,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + e.Message.ToString());
+
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #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
+
+        #region 鍙戣揣閫氱煡鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Xs_SeOutStockBill/CheckXs_SeOutStockBill")]
+        [HttpGet]
+        public object CheckXs_SeOutStockBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //瀹℃牳鍓嶆帶鍒�
+                    DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBill_BeforeCheckCtrl  " + HInterID.ToString() + ",'" + user + "'", "h_p_Xs_SeOutStockBill_BeforeCheckCtrl");
+                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍙嶅鏍稿墠鎺у埗
+                    DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Xs_SeOutStockBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Xs_SeOutStockBill_BeforeUnCheckCtrl");
+                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        //if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 1;
+                        //    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍙戣揣閫氱煡鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Xs_SeOutStockBill/CloseXs_SeOutStockBill")]
+        [HttpGet]
+        public object CloseXs_SeOutStockBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍙戣揣閫氱煡鍗曚綔搴�/鍙嶄綔搴熷姛鑳�
+        [Route("Xs_SeOutStockBill/CancellXs_SeOutStockBill")]
+        [HttpGet]
+        public object CancellXs_SeOutStockBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Xs_SeOutStockBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1