111
王 垚
2022-12-24 3878611cba9734824ddc9cb205da396efbe2f487
WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
@@ -25,36 +26,45 @@
        /// </summary>
        [Route("Gy_Customer/list")]
        [HttpGet]
        public object list(string sWhere)
        public object list(string sWhere, string user, string Organization)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Gy_CustomerList " + sWhere, "h_v_Gy_CustomerList");
                }
                else
                {
                    string sql1 = "select * from h_v_Gy_CustomerList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_CustomerList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Crm_CustomerFileList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!";
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql1 = string.Format(@"select * from h_v_Gy_CustomerList where 组织名称='" + Organization + "'");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn(sql1 + sWhere + " order by 客户代码 ", "h_v_Gy_CustomerList");
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                    string sql = sql1 + sWhere + " order by 客户代码 ";
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_CustomerList");
                }
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -77,8 +87,17 @@
        {
            try
            {
                ds = oCN.RunProcReturn("select * from Gy_Customer where HItemID=" + HInterID, "Gy_Customer");
                string sql = string.Format(@"select  c.HItemID,c.HNumber 客户代码,c.HName 客户名称,c.HHelpCode  助记码,c.HShortName 简称,c.HAddress 地址,c.HLinkMan 联系人,c.HLinkPhone 联系电话
                                            ,c.HMobilePhone 手机,c.HFax 传真,c.HPostalCode 邮编,c.HEmail 电子邮件,c.HCorMan 法人代表,c.HBank 开户银行,c.HBankAccount 银行账号,
                                            c.HTaxNum 税务登记号,c.HTaxRate 增值税率,c.HEnglishName 英文名称,c.HEngLishAddress 英文地址,c.HCountry 国家,c.HCusStatus 客户状态
                                            ,c.HStopflag 禁用标志,c.HRemark 备注,c.HAreaID 地区ID,a.HName 地区名称,c.HCurID 默认货币ID,r.HName 默认货币,
                                            c.HSSID 结算方式ID,s.HName 结算方式,c.HCusTypeID 客户分类ID,t.HName 客户分类 from Gy_Customer c
                                            left join Gy_AreaSet a on c.HAreaID=a.HItemID
                                            left join Gy_Currency r on c.HCurID=r.HItemID
                                            left  join Gy_SettleStyle s on c.HSSID=s.HItemID
                                            left  join Gy_CusType t on c.HCusTypeID=t.HItemID
                                            where c.HItemID='" + HInterID + "'");
                ds = oCN.RunProcReturn(sql, "Gy_Customer");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
@@ -167,14 +186,25 @@
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string msg3 = _value.ToString();
                string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg1 = sArray[0].ToString();
                string msg2 = sArray[1].ToString();
                //反序列化
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl();
                DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Edit", 1, false, msg2))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<Customer> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(msg1);
@@ -255,7 +285,7 @@
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" +
                    ",HCusTypeID) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID +
                    ", " + HLevel + ",0,0,'" + HRemark + "'" +
                    ", " + HLevel + ",0,'" + HStopflag + "','" + HRemark + "'" +
                    ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" +
                    ",'" + HFax + "','" + HPostalCode + "','" + HEmail + "','" + HBank + "','" + HBankAccount + "'" +
                    ",'" + HTaxNum + "'," + HTaxRate + ",'" + HCountry + "','" + HCorMan + "','" + HEnglishName + "'" +
@@ -283,6 +313,88 @@
                return objJsonResult;
            }
        }
        [Route("Gy_Customer/SaveGy_CustomerListApi")]
        [HttpPost]
        public object SaveGy_CustomerListApi([FromBody] JObject oMain)
        {
            try
            {
                var model = oMain["model"].ToString();
                var custLocationModel = oMain["model"]["HCustLocationEntry"].ToString();
                //反序列化
                model = "[" + model + "]";
                List<Customer> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(model);
                List<Model.ClsGy_CustLocation_Model> custLocationls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_CustLocation_Model>>(custLocationModel);
                string sql = string.Empty;
                oCN.BeginTran();
                sql = $"delete gy_Customer where HItemID = {lsmain[0].HItemID}";
                oCN.RunProc(sql);
                sql = "set identity_insert gy_Customer on";
                oCN.RunProc(sql);
                //主表_客户
                oCN.RunProc("Insert into Gy_Customer " +
                    " (HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark" +
                    ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
                    ",HFax,HPostalCode,HEmail,HBank,HBankAccount" +
                    ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" +
                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HCusStatus" +
                    ",HEmpID,HCreditDate,HCreditRatingDate,HMaxCreditRatingDate" +
                    ",HMonthUseQty,HForecastCreditRating,HCreditLevelID,HCountAccrualRating" +
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" +
                    ",HCusTypeID) " +
                    " Values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HName + "','" + lsmain[0].HHelpCode + "','" + lsmain[0].HShortNumber + "'," + lsmain[0].HParentID +
                    ", " + lsmain[0].HLevel + ",0,'" + lsmain[0].HStopFlag + "','" + lsmain[0].HRemark + "'" +
                    ",'" + lsmain[0].HShortName + "','" + lsmain[0].HAddress + "','" + lsmain[0].HLinkMan + "','" + lsmain[0].HLinkPhone + "','" + lsmain[0].HMobilePhone + "'" +
                    ",'" + lsmain[0].HFax + "','" + lsmain[0].HPostalCode + "','" + lsmain[0].HEmail + "','" + lsmain[0].HBank + "','" + lsmain[0].HBankAccount + "'" +
                    ",'" + lsmain[0].HTaxNum + "'," + lsmain[0].HTaxRate + ",'" + lsmain[0].HCountry + "','" + lsmain[0].HCorMan + "','" + lsmain[0].HEnglishName + "'" +
                    ",'" + lsmain[0].HEnglishAddress + "'," + lsmain[0].HCurID + "," + lsmain[0].HSSID + "," + lsmain[0].HAreaID + ",'" + lsmain[0].HCusStatus + "'" +
                    "," + lsmain[0].HEmpID + "," + lsmain[0].HCreditDate + "," + lsmain[0].HCreditRatingDate + "," + lsmain[0].HMaxCreditRatingDate +
                    "," + lsmain[0].HMonthUseQty + "," + lsmain[0].HForecastCreditRating + "," + lsmain[0].HCreditLevelID + "," + lsmain[0].HCountAccrualRating +
                    "," + lsmain[0].HSubsidyAccrualRating + "," + lsmain[0].HCreditRating + "," + lsmain[0].HMaxCreditRating +
                    ", " + lsmain[0].HCusTypeID + ")");
                sql = "set identity_insert gy_Customer off";
                oCN.RunProc(sql);
                //客户_交货地点
                sql = $"delete Gy_CustLocation where HItemID = {lsmain[0].HItemID}";
                oCN.RunProc(sql);
                sql = "set identity_insert Gy_CustLocation on";
                oCN.RunProc(sql);
                foreach (var item in custLocationls)
                {
                    sql = $@"insert into Gy_CustLocation(HItemID,HEntryID,HNumber,HName ,HShortNumber,HParentID ,HLevel
                                ,HEndFlag,HStopflag,HRemark ,HHelpCode ,HUseFlag
                                 ,HMakeTime ,HMakeEmp ,HCheckEmp ,HCheckTime ,HModifyEmp
                                 ,HModifyTime ,HStopEmp ,HStopTime ,HUSEORGID,HCREATEORGID)
                  values({item.HItemID},{item.HENTRYID},'{item.HNumber}','{item.HName}','{item.HShortNumber}',{item.HParentID},{item.HLevel}
           ,{Convert.ToString(item.HEndFlag ? 1 : 0)},{Convert.ToString(item.HStopflag ? 1 : 0) },'{item.HRemark}','{item.HHelpCode}','{item.HUseFlag}'
            ,'{item.HMakeTime}','{item.HMakeEmp}','{item.HCheckEmp}','{item.HCheckTime}','{item.HModifyEmp}'
            ,'{item.HModifyTime}','{item.HStopEmp}',null,{item.HUSEORGID},{item.HCREATEORGID})";
                    oCN.RunProc(sql);
                }
                sql = "set identity_insert Gy_CustLocation 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 = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
@@ -362,7 +474,7 @@
                //判断权限
                if (!ClsPub.Security_Log(msg5, 1, true, msg4))
                if (!ClsPub.Security_Log(msg5, 1, false, msg4))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -381,7 +493,7 @@
                    return objJsonResult;
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
@@ -390,8 +502,8 @@
                    " HNumber='" + HNumber + "'" +
                    ",HName='" + HName + "'" +
                    ",HShortNumber='" + HShortNumber + "'" +
                    ",HLevel ='"+ HLevel + "'" +
                    ",HEndFlag  ='" + HEndFlag  + "'" +
                    ",HLevel ='" + HLevel + "'" +
                    ",HEndFlag  ='" + HEndFlag + "'" +
                    ",HParentID='" + HParentID + "'" +
                    ",HStopflag ='" + HStopflag + "'" +
                    ",HHelpCode ='" + HHelpCode + "'" +
@@ -455,7 +567,7 @@
            DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View();
            try
            {
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, User))
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;