From da8375c5a0ca2fe1000690fb27186169a003d367 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 09 十二月 2022 17:59:34 +0800
Subject: [PATCH] 111

---
 WebAPI/Controllers/BaseSet/Gy_CustomerController.cs |  207 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 168 insertions(+), 39 deletions(-)

diff --git a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
index 660e6e1..4962247 100644
--- a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing 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 瀹㈡埛浠g爜 ", "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 瀹㈡埛浠g爜 ";
+                    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));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                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 瀹㈡埛浠g爜,c.HName 瀹㈡埛鍚嶇О,c.HHelpCode  鍔╄鐮�,c.HShortName 绠�绉�,c.HAddress 鍦板潃,c.HLinkMan 鑱旂郴浜�,c.HLinkPhone 鑱旂郴鐢佃瘽
+                                            ,c.HMobilePhone 鎵嬫満,c.HFax 浼犵湡,c.HPostalCode 閭紪,c.HEmail 鐢靛瓙閭欢,c.HCorMan 娉曚汉浠h〃,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 + "'" +
@@ -285,6 +315,88 @@
         }
 
 
+
+        [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>
         /// 淇敼鍗曟嵁-淇濆瓨鎸夐挳
         ///鍙傛暟锛歴tring sql銆�
@@ -304,10 +416,10 @@
                 var _value = oMain["oMain"].ToString();
                 string msg1 = _value.ToString();
                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();
-                string msg4 = sArray[2].ToString();
-                string msg5 = sArray[3].ToString();
+                string msg2 = sArray[0].ToString();//琛ㄥ崟
+                string msg3 = sArray[1].ToString();//id
+                string msg4 = sArray[2].ToString();//褰撳墠鐢ㄦ埛
+                string msg5 = sArray[3].ToString();//鏉冮檺妯″潡浠g爜
                 //鍙嶅簭鍒楀寲
                 msg2 = "[" + msg2.ToString() + "]";
                 List<Customer> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(msg2);
@@ -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,14 +493,6 @@
                     return objJsonResult;
                 }
 
-                if (oDept.HavSameNumber(HItemID, HNumber))
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "浠g爜閲嶅锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
 
 
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
@@ -398,7 +502,32 @@
                     " HNumber='" + HNumber + "'" +
                     ",HName='" + HName + "'" +
                     ",HShortNumber='" + HShortNumber + "'" +
-                    ",HParentID=" + HParentID +
+                    ",HLevel ='" + HLevel + "'" +
+                    ",HEndFlag  ='" + HEndFlag + "'" +
+                    ",HParentID='" + HParentID + "'" +
+                    ",HStopflag ='" + HStopflag + "'" +
+                    ",HHelpCode ='" + HHelpCode + "'" +
+                    ",HShortName ='" + HShortName + "'" +
+                    ",HAddress ='" + HAddress + "'" +
+                    ",HLinkMan ='" + HLinkMan + "'" +
+                    ",HLinkPhone ='" + HLinkPhone + "'" +
+                    ",HMobilePhone ='" + HMobilePhone + "'" +
+                    ",HFax ='" + HFax + "'" +
+                    ",HPostalCode ='" + HPostalCode + "'" +
+                    ",HEmail ='" + HEmail + "'" +
+                    ",HBank ='" + HBank + "'" +
+                    ",HBankAccount ='" + HBankAccount + "'" +
+                    ",HTaxNum ='" + HTaxNum + "'" +
+                    ",HTaxRate ='" + HTaxRate + "'" +
+                    ",HCountry ='" + HCountry + "'" +
+                    ",HEnglishName ='" + HEnglishName + "'" +
+                    ",HCorMan ='" + HCorMan + "'" +
+                    ",HEnglishAddress ='" + HEnglishAddress + "'" +
+                    ",HCurID  ='" + HCurID + "'" +
+                    ",HSSID  ='" + HSSID + "'" +
+                    ",HAreaID  ='" + HAreaID + "'" +
+                    ",HCusStatus  ='" + HCusStatus + "'" +
+                    ",HCusTypeID  ='" + HCusTypeID + "'" +
                     ",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -438,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;

--
Gitblit v1.9.1