From 92a765acc908b10affb08db65e3a0cefa9ae7efb Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期五, 20 十月 2023 14:17:50 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs |  811 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 791 insertions(+), 20 deletions(-)

diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
index 33967aa..1254742 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,8 +14,11 @@
     //閫�鏂欓�氱煡鍗旵ontroller
     public class Cg_POInStockBackBillController : ApiController
     {
-        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+         //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public DAL.ClsCg_POInStockBackBill BillOld = new DAL.ClsCg_POInStockBackBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -81,30 +85,31 @@
 
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList " + sWhere, "h_v_IF_POInStockBackBillList");
+                    ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList order by hmainid desc", "h_v_IF_POInStockBackBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_IF_POInStockBackBillList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere+ " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBackBillList");
                 }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
-                {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
-                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
             }
             catch (Exception e)
             {
@@ -117,7 +122,773 @@
         }
 
 
+        #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
+
+        #region 閫�鏂欓�氱煡鍗� 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Cg_POInStockBackBill/AuditCg_POInStockBackBill")]
+        [HttpGet]
+        public object AuditCg_POInStockBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBackBill_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;
+                BillOld.MvarItemKey = "Cg_POInStockBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.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("Cg_POInStockBackBill/CloseCg_POInStockBackBill")]
+        [HttpGet]
+        public object CloseCg_POInStockBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBackBill_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;
+                BillOld.MvarItemKey = "Cg_POInStockBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.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("Cg_POInStockBackBill/DropCg_POInStockBackBill")]
+        [HttpGet]
+        public object DropCg_POInStockBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBackBill_Drop", 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;
+                BillOld.MvarItemKey = "Cg_POInStockBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.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