yangle
2022-12-15 ccfc7f25cbb5e78d335b44648a9964426a38a17f
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_TaxMIXController.cs
New file
@@ -0,0 +1,416 @@
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Gy_TaxMIXController : ApiController
    {
        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)
        //    {
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 0;
        //        objJsonResult.Message = "Exception!" + e.ToString();
        //        objJsonResult.data = null;
        //        return objJsonResult;
        //    }
        //}
        //#endregion
        //#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 = null;
        //    //    return objJsonResult;
        //    //}
        //    //获取最大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();
        //    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() == "")
        //            {
        //                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.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  ç¨ŽçŽ‡ç»„åˆ åˆ é™¤
        //[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))
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "HItemID为空!";
        //            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;
        //        }
        //        oCN.RunProc("delete from Gy_TaxMIX where HItemID=" + 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;
        //    }
        //}
        //#endregion
        #region ç¨ŽçŽ‡ç»„åˆ é‡‘蝶同步
        [Route("Gy_TaxMIXMain/SaveGy_TaxMIXMainListApi")]
        [HttpPost]
        public object SaveGy_TaxMIXListApi([FromBody] JObject sMainSub)
        {
            try
            {
                var model = sMainSub["model"].ToString();
                var entry = sMainSub["model"]["HENTRY"].ToString();
                model = "[" + model.ToString() + "]";
                List<ClsGy_TaxMIXMain_Model> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_TaxMIXMain_Model>>(model);
                List<ClsGy_TaxMIXSub_Model> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_TaxMIXSub_Model>>(entry);
                string sql = string.Empty;
                oCN.BeginTran();
                sql = $"delete Gy_TaxMIXMain where HItemID = {mainList[0].HItemID}";
                oCN.RunProc(sql);
                sql = $"delete Gy_TaxMIXSub where HItemID = {mainList[0].HItemID}";
                oCN.RunProc(sql);
                sql = "set identity_insert Gy_TaxMIXMain on";
                oCN.RunProc(sql);
                //主表
                oCN.RunProc($@"insert into Gy_TaxMIXMain(HItemID,HNumber,HName ,HShortNumber,HParentID ,HLevel
                                ,HEndFlag,HStopflag,HRemark ,HHelpCode ,HUseFlag
                                 ,HMakeTime ,HMakeEmp ,HCheckEmp ,HCheckTime ,HModifyEmp
                                 ,HModifyTime ,HStopEmp ,HStopTime ,HUSEORGID,HCREATEORGID)
                  values({mainList[0].HItemID},'{mainList[0].HNumber}','{mainList[0].HName}','{mainList[0].HShortNumber}',{mainList[0].HParentID},{mainList[0].HLevel}
                   ,{Convert.ToString(mainList[0].HEndFlag ? 1 : 0)},{Convert.ToString(mainList[0].HStopflag ? 1 : 0) },'{mainList[0].HRemark}','{mainList[0].HHelpCode}','{mainList[0].HUseFlag}'
                    ,'{mainList[0].HMakeTime}','{mainList[0].HMakeEmp}','{mainList[0].HCheckEmp}','{mainList[0].HCheckTime}','{mainList[0].HModifyEmp}'
                    ,'{mainList[0].HModifyTime}','{mainList[0].HStopEmp}',null,{mainList[0].HUSEORGID},{mainList[0].HCREATEORGID})", ref DBUtility.ClsPub.sExeReturnInfo);
                sql = "set identity_insert Gy_TaxMIXMain off";
                oCN.RunProc(sql);
                sql = "set identity_insert Gy_TaxMIXSub on";
                oCN.RunProc(sql);
                //保存主表
                foreach (var oSub in subList)
                {
                    oCN.RunProc($@"Insert into Gy_TaxMIXSub
                (HItemID,HTAXMIXID,HTAXBENCHMARK,FTAXRATEID)
                 values({oSub.HItemID},{oSub.HTAXMIXID},'{oSub.HTAXBENCHMARK}'
                ,{oSub.FTAXRATEID})");
                }
                sql = "set identity_insert Gy_TaxMIXSub off";
                oCN.RunProc(sql);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "单据保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}