yangle
2023-02-27 1db1c64dc628d2053617ba2c3cc78fb94b518d2c
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_TaxMIXController.cs
@@ -1,4 +1,5 @@
using Model;
using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
@@ -14,334 +15,338 @@
{
    public class Gy_TaxMIXController : ApiController
    {
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        //#region  ç¨ŽçŽ‡ç»„åˆ åˆ—表
        //[Route("Gy_TaxMIX/TaxMIXList")]
        //[HttpGet]
        //public object TaxMIXList(string sWhere, string user, string Organization)
        //{
        //    try
        //    {
        //        List<object> columnNameList = new List<object>();
        //        //编辑权限
        //        //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Query", 1, false, user))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
        //        //    objJsonResult.Message = "无查看权限!";
        //        //    objJsonResult.data = null;
        //        //    return objJsonResult;
        //        //}
        //        string sql1 = string.Format(@"select * from h_v_Gy_TaxMIXList where ä½¿ç”¨ç»„织='" + Organization + "'");
        //        string sql = sql1 + sWhere;
        //        ds = oCN.RunProcReturn(sql, "h_v_Gy_TaxMIXList");
        //        //添加列名
        //        foreach (DataColumn col in ds.Tables[0].Columns)
        //        {
        //            Type dataType = col.DataType;
        //            string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
        //            columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
        //        }
        //        objJsonResult.code = "1";
        //        objJsonResult.count = 1;
        //        objJsonResult.Message = "Sucess!";
        //        objJsonResult.list = columnNameList;
        //        objJsonResult.data = ds.Tables[0];
        //        return objJsonResult;
        //    }
        //    catch (Exception e)
        #region  ç¨ŽçŽ‡ç»„åˆ åˆ—表
        [Route("Gy_TaxMIX/TaxMIXList")]
        [HttpGet]
        public object TaxMIXList(string sWhere, string user, string Organization)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Query", 1, false, user))
        //    {
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 0;
        //        objJsonResult.Message = "Exception!" + e.ToString();
                //    objJsonResult.Message = "无查看权限!";
        //        objJsonResult.data = null;
        //        return objJsonResult;
        //    }
        //}
        //#endregion
                string sql1 = string.Format(@"select * from h_v_Gy_TaxMIXList where ä½¿ç”¨ç»„织='" + Organization + "'");
        //#region  ç¨ŽçŽ‡ç»„åˆ ç¼–辑
        //[Route("Gy_TaxMIX/TaxMIXEdit")]
        //[HttpPost]
        //public object TaxMIXEdit([FromBody] JObject msg)
        //{
        //    DataSet ds;
        //    var _value = msg["msg"].ToString();
        //    string msg3 = _value.ToString();
        //    string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
        //    string msg1 = sArray[0].ToString();
        //    string msg2 = sArray[1].ToString();
        //    //string msg_HUSEORGID = sArray[2].ToString();
        //    Int64 HItemID = 0;
        //    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = sql1 + sWhere;
                ds = oCN.RunProcReturn(sql, "h_v_Gy_TaxMIXList");
        //    //编辑权限
        //    //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Edit", 1, false, msg2))
        //    //{
        //    //    objJsonResult.code = "0";
        //    //    objJsonResult.count = 0;
        //    //    objJsonResult.Message = "无保存权限!";
        //    //    objJsonResult.data = null;
        //    //    return objJsonResult;
        //    //}
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
        //    //获取最大ID值赋值
        //    //DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxRate ", "Gy_TaxRate");
        //    //if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
        //    //{
        //    //    //HItemID= Maxds.Tables[0].Rows[0]["HItemID"]
        //    //    var maxid = Convert.ToInt32((Maxds.Tables[0].Rows[0]["HItemID"].ToString()==""?0: Maxds.Tables[0].Rows[0]["HItemID"]));
        //    //    maxid += 1;
        //    //    HItemID = maxid;
        //    //}
        //    ListModels oListModels = new ListModels();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        //    try
        //    {
        //        DAL.ClsGy_TaxMIX_Ctl oBill = new DAL.ClsGy_TaxMIX_Ctl();
        //        List<Model.ClsGy_TaxMIX_Model> lsmain = new List<Model.ClsGy_TaxMIX_Model>();
        //        msg1 = msg1.Replace("\\", "");
        //        msg1 = msg1.Replace("\n", "");  //\n
        //        lsmain = oListModels.getObjectByJson_Gy_TaxMIX(msg1);
        //        foreach (Model.ClsGy_TaxMIX_Model oItem in lsmain)
        //        {
        //            if (oItem.HNumber.Trim() == "")
        #region  ç¨ŽçŽ‡ç»„åˆ ç¼–辑
        [Route("Gy_TaxMIX/TaxMIXEdit")]
        [HttpPost]
        public object TaxMIXEdit([FromBody] JObject msg)
        {
            DataSet ds;
            var _value = msg["msg"].ToString();
            string msg3 = _value.ToString();
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
            //string msg_HUSEORGID = sArray[2].ToString();
            Int64 HItemID = 0;
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            //编辑权限
            //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Edit", 1, false, msg2))
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "保存失败!代码不能为空!";
        //                objJsonResult.data = 1;
        //                return objJsonResult;
        //            }
        //            if (oItem.HName.Trim() == "")
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "保存失败!名称不能为空!";
        //                objJsonResult.data = 1;
        //                return objJsonResult;
        //            }
        //            //查询数据中是否存在重复代码
        //            ds = oCN.RunProcReturn("select * from  Gy_TaxMIX where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_TaxMIX");
        //            if (oItem.HItemID == 0)
        //            {
        //                if (ds.Tables[0].Rows.Count > 0)
        //                {
        //                    objJsonResult.code = "0";
        //                    objJsonResult.count = 0;
        //                    objJsonResult.Message = "保存失败!代码重复!";
            //    objJsonResult.Message = "无保存权限!";
        //                    objJsonResult.data = null;
        //                    return objJsonResult;
        //                }
        //            }
        //            else
            //获取最大ID值赋值
            //DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxRate ", "Gy_TaxRate");
            //if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
        //            {
        //                if (ds.Tables[0].Rows.Count > 0)
        //                {
        //                    if (ds.Tables[0].Rows[0]["HItemID"].ToString() != oItem.HItemID.ToString())
        //                    {
        //                        objJsonResult.code = "0";
        //                        objJsonResult.count = 0;
        //                        objJsonResult.Message = "保存失败!代码重复!";
        //                        objJsonResult.data = null;
        //                        return objJsonResult;
            //    //HItemID= Maxds.Tables[0].Rows[0]["HItemID"]
            //    var maxid = Convert.ToInt32((Maxds.Tables[0].Rows[0]["HItemID"].ToString()==""?0: Maxds.Tables[0].Rows[0]["HItemID"]));
            //    maxid += 1;
            //    HItemID = maxid;
        //                    }
        //                }
        //            }
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsGy_TaxMIX_Ctl oBill = new DAL.ClsGy_TaxMIX_Ctl();
                List<Model.ClsGy_TaxMIXMain_Model> lsmain = new List<Model.ClsGy_TaxMIXMain_Model>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Gy_TaxMIXMain(msg1);
                foreach (Model.ClsGy_TaxMIXMain_Model oItem in lsmain)
                {
                    if (oItem.HNumber.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!代码不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    if (oItem.HName.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!名称不能为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    //查询数据中是否存在重复代码
                    ds = oCN.RunProcReturn("select * from  Gy_TaxMIXMain where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_TaxMIXMain");
                    if (oItem.HItemID == 0)
                    {
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!代码重复!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            if (ds.Tables[0].Rows[0]["HItemID"].ToString() != oItem.HItemID.ToString())
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "保存失败!代码重复!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
        //            //新增时判断
        //            #region çˆ¶çº§æ ¡éªŒæ–¹æ³•(api调用先注释掉,)
        //            /*
        //            if (oItem.HItemID == 0)
        //            {
        //                if (ds == null || ds.Tables[0].Rows.Count > 0)
        //                {
        //                    objJsonResult.code = "0";
        //                    objJsonResult.count = 0;
        //                    objJsonResult.Message = "保存失败!代码重复!";
        //                    objJsonResult.data = 1;
        //                    return objJsonResult;
        //                }
        //                //检查父级是否存在
        //                string sParent;
        //                sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
        //                if (sParent.Trim() == "")
        //                {
        //                    oBill.oModel.HParentID = 0;
        //                }
        //                else
        //                {
        //                    if (oBill.HavParentCode(sParent.Trim(), HItemID))
        //                    {
        //                        oBill.oModel.HParentID = oBill.oModel.HItemID;
        //                    }
        //                    else
        //                    {
        //                        objJsonResult.code = "0";
        //                        objJsonResult.count = 0;
        //                        objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
        //                        objJsonResult.data = 1;
        //                        return objJsonResult;
        //                    }
        //                }
        //            }
        //            else//编辑时判断
        //            {
        //                //检查父级是否存在
        //                string sParent;
        //                sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
        //                if (sParent.Trim() == "")
        //                {
        //                    oBill.oModel.HParentID = 0;
        //                }
        //                else
        //                {
        //                    if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID))
        //                    {
        //                        oBill.oModel.HParentID = oBill.oModel.HItemID;
        //                    }
        //                    else
        //                    {
        //                        objJsonResult.code = "0";
        //                        objJsonResult.count = 0;
        //                        objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
        //                        objJsonResult.data = 1;
        //                        return objJsonResult;
        //                    }
        //                }
        //            }
        //            */
        //            #endregion
        //            //得到短代码
        //            string sShortNumber;
        //            sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
        //            if (sShortNumber.Trim() == "")
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "保存失败!短代码为空!";
        //                objJsonResult.data = 1;
        //                return objJsonResult;
        //            }
        //            //oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //组织id
        //            oItem.HShortNumber = sShortNumber;//短代码
        //            oItem.HEndFlag = true;//末级标志
        //            oItem.HLevel = 1; //等级 DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim())
        //            oBill.oModel = oItem;
        //        }
        //        //保存
        //        //保存完毕后处理
        //        bool bResult;
        //        if (oBill.oModel.HItemID == 0)
        //        {
        //            bResult = oBill.AddNew();
        //        }
        //        else
        //        {
        //            bResult = oBill.ModifyByID(oBill.oModel.HItemID);
        //        }
        //        if (bResult)
        //        {
        //            objJsonResult.code = "1";
        //            objJsonResult.count = 1;
        //            objJsonResult.Message = "保存成功!";
        //            //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
        //            objJsonResult.data = 1;
        //            return objJsonResult;
        //        }
        //        else
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
        //            objJsonResult.data = 1;
        //            return objJsonResult;
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 0;
        //        objJsonResult.Message = "保存失败!" + e.ToString();
        //        objJsonResult.data = 1;
        //        return objJsonResult;
        //    }
        //}
        //#endregion
                    //新增时判断
                    #region çˆ¶çº§æ ¡éªŒæ–¹æ³•(api调用先注释掉,)
                    /*
                    if (oItem.HItemID == 0)
                    {
                        if (ds == null || ds.Tables[0].Rows.Count > 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!代码重复!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //检查父级是否存在
                        string sParent;
                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
                        if (sParent.Trim() == "")
                        {
                            oBill.oModel.HParentID = 0;
                        }
                        else
                        {
                            if (oBill.HavParentCode(sParent.Trim(), HItemID))
                            {
                                oBill.oModel.HParentID = oBill.oModel.HItemID;
                            }
                            else
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
                                objJsonResult.data = 1;
                                return objJsonResult;
                            }
                        }
                    }
                    else//编辑时判断
                    {
                        //检查父级是否存在
                        string sParent;
                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
                        if (sParent.Trim() == "")
                        {
                            oBill.oModel.HParentID = 0;
                        }
                        else
                        {
                            if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID))
                            {
                                oBill.oModel.HParentID = oBill.oModel.HItemID;
                            }
                            else
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
                                objJsonResult.data = 1;
                                return objJsonResult;
                            }
                        }
                    }
                    */
                    #endregion
                    //得到短代码
                    string sShortNumber;
                    sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
                    if (sShortNumber.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    //oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //组织id
                    oItem.HShortNumber = sShortNumber;//短代码
                    oItem.HEndFlag = true;//末级标志
                    oItem.HLevel = 1; //等级 DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim())
                    oBill.oModel = oItem;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.oModel.HItemID == 0)
                {
                    bResult = oBill.AddNew();
                }
                else
                {
                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
                }
                if (bResult)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        //#region  ç¨ŽçŽ‡ç»„åˆ åˆ é™¤
        //[Route("Gy_TaxMIX/Delete")]
        //[HttpGet]
        //public object Delete(string HItemID, string user)
        //{
        //    DataSet ds;
        //    try
        //    {
        //        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        //        //删除权限
        //        //if (!DBUtility.ClsPub.Security_Log("Gy_TaxRate_Drop", 1, false, user))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
        //        //    objJsonResult.Message = "无删除权限";
        //        //    objJsonResult.data = null;
        //        //    return objJsonResult;
        //        //}
        //        if (string.IsNullOrWhiteSpace(HItemID))
        [Route("Gy_TaxMIX/Delete")]
        [HttpGet]
        public object Delete(string HItemID, string user)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                //删除权限
                //if (!DBUtility.ClsPub.Security_Log("Gy_TaxRate_Drop", 1, false, user))
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "HItemID为空!";
                //    objJsonResult.Message = "无删除权限";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        oCN.BeginTran();//开始事务
        //        ds = oCN.RunProcReturn("select * from Gy_TaxMIX where HItemID=" + HItemID, "Gy_TaxMIX");
        //        if (ds == null || ds.Tables[0].Rows.Count == 0)
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "没有数据,无法删除!";
        //            objJsonResult.data = null;
        //            return objJsonResult; ;
        //        }
        //        var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
        //        if (HStopflag)
        //        {
        //            oCN.RollBack();//回滚事务
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "数据已禁用无法删除!";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Gy_TaxMIXMain where HItemID=" + HItemID, "Gy_TaxMIXMain");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
                if (HStopflag)
                {
                    oCN.RollBack();//回滚事务
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "数据已禁用无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
        //        oCN.RunProc("delete from Gy_TaxMIX where HItemID=" + HItemID);
        //        oCN.Commit();//提交事务
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 1;
        //        objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
        //        objJsonResult.data = null;
        //        return objJsonResult; ;
                oCN.RunProc("delete from Gy_TaxMIXMain where HItemID=" + HItemID);
                oCN.RunProc("delete from Gy_TaxMIXSub where HTaxMixID=" + HItemID);
                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;
        //    }
        //}
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //#endregion
        #region ç¨ŽçŽ‡ç»„åˆ é‡‘蝶同步
@@ -412,5 +417,213 @@
            }
        }
        #endregion
        #region [同步基础资料]
        [Route("Gy_TaxMIX/Gy_TaxMIXViewApi")]
        [HttpGet]
        public json Gy_TaxMIXViewApi(string Number, string Type)
        {
            string sql = string.Empty;
            string sReturn = "";
            if (oSystemParameter.ShowBill(ref sReturn) == true)
            {
                //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式
                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
                {
                    #region [私有云模式,直接调用数据库存储过程更新]
                    try
                    {
                        oCN.BeginTran();
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
                        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 = Number,
                        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("BD_TAXMIX", JsonConvert.SerializeObject(json));
                    var _saveObj = JObject.Parse(_result);
                    //判断数据是否获取成功
                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "金蝶税组合同步失败jsonRoot:" + _result;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    #endregion
                    //获取数据
                    DataSet Ds;
                    Ds = oCN.RunProcReturn("select * from Gy_TaxMIXMain where HNumber = '" + Number + "'", "Gy_TaxMIXMain");
                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
                    {
                    }
                    #region [主表数据赋值]
                    var jsonData = new
                    {
                        HItemID = _saveObj["Result"]["Result"]["Id"],
                        HNumber = _saveObj["Result"]["Result"]["Number"],
                        HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
                        HShortNumber = _saveObj["Result"]["Result"]["Number"],
                        HParentID = 0,
                        HLevel = 1,
                        HEndFlag = 1,
                        HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
                        HRemark = "CLD-ERP导入",
                        HUseFlag = "已使用",
                        HUSEORGID     = 0,
                        HCREATEORGID  = 0,
                        HMakeEmp      = _saveObj["Result"]["Result"]["CreatorId_Id"],
                        HMakeTime     = _saveObj["Result"]["Result"]["CreateDate"],
                        HCheckEmp = _saveObj["Result"]["Result"]["AuditorID_Id"],
                        HCheckTime = _saveObj["Result"]["Result"]["AuditDate"],
                        HModifyEmp = _saveObj["Result"]["Result"]["ModifierId_Id"],
                        HModifyTime = _saveObj["Result"]["Result"]["FModifyDate"],
                        HStopEmp = _saveObj["Result"]["Result"]["ForbidderID_Id"],
                        HStopTime = _saveObj["Result"]["Result"]["ForbidDate"]
                    };
                    #endregion
                    // åˆ é™¤ä¸»è¡¨å¯¹åº”数据
                    sql = $"delete from Gy_TaxMIXMain where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
                    oCN.RunProc(sql);
                    sql = "set identity_insert Gy_TaxMIXMain on";
                    oCN.RunProc(sql);
                    //插入表
                    sql = $@"
                insert into Gy_TaxMIXMain
                (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
                ,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID
                ,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime)
                values
                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HUSEORGID}',
                '{jsonData.HCREATEORGID}','{jsonData.HMakeEmp}','{jsonData.HMakeTime}','{jsonData.HCheckEmp}',
                '{jsonData.HCheckTime}','{jsonData.HModifyEmp}','{jsonData.HModifyTime}','{jsonData.HStopEmp}','{jsonData.HStopTime}')";
                    oCN.RunProc(sql);
                    sql = "set identity_insert Gy_TaxMIXMain off";
                    oCN.RunProc(sql);
                    #region [子表变量]
                    var dataArr = _saveObj["Result"]["Result"]["BD_TAXMIXENTRY"];
                    #endregion
                    // åˆ é™¤å­è¡¨å¯¹åº”数据
                    sql = $"delete from Gy_TaxMIXSub where HTaxMixID = " + jsonData.HItemID;
                    oCN.RunProc(sql);
                    foreach (var oSub in dataArr)
                    {
                        #region [子表数据赋值]
                        var subData = new
                        {
                            HItemID = jsonData.HItemID,
                            HEntryID = oSub["Id"],
                            HTAXBENCHMARK = oSub["TaxBenchMark_Id"],
                            FTAXRATEID = oSub["TaxRateID_Id"],
                            FTAXBENCHMARKCORRVALUE = oSub["TaxBenchMarkCorrValue"],
                            HTaxMixID = jsonData.HItemID
                        };
                        #endregion
                        sql = "set identity_insert Gy_TaxMIXSub on";
                        oCN.RunProc(sql);
                        //插入子表
                        sql = $@"
                 insert into Gy_TaxMIXSub
                 (HItemID,HEntryID,HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID)
                 values
                 ({subData.HItemID},{subData.HEntryID},'{subData.HTAXBENCHMARK}',{subData.FTAXRATEID},'{subData.FTAXBENCHMARKCORRVALUE}',{subData.HTaxMixID})";
                        oCN.RunProc(sql);
                        sql = "set identity_insert Gy_TaxMIXSub off";
                        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
    }
}