| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| using Pub_Class; | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Data.SqlClient; | 
| using System.Web.Http; | 
| using WebAPI.Models; | 
| using System.Text.RegularExpressions; | 
| using SyntacticSugar.constant; | 
| using System.Web; | 
| using WebAPI.Controllers.SCGL.日计划管理; | 
| //using WebAPI.WebBLL.JCJM.GYZL; | 
| //using WebAPI.WebBLL.JCJM.IMPL; | 
| using System.IO; | 
| namespace WebAPI.Controllers | 
| { | 
|     public class Gy_CustomerController : ApiController | 
|     { | 
|         //获取系统参数 | 
|         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|   | 
|         private json objJsonResult = new json(); | 
|         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|         //private Gy_CustomerService customerService = new Gy_CustomerImpl(); | 
|         DataSet ds; | 
|   | 
|         #region 返回客户列表 | 
|         /// <summary> | 
|         /// 返回客户列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/list")] | 
|         [HttpGet] | 
|         public object list(string sWhere, string user, string Organization) | 
|         { | 
|             try | 
|             { | 
|                 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 = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 string sql1 = ""; | 
|                 //客户制定 | 
|                 string sErr = ""; | 
|                 if (oSystemParameter.ShowBill(ref sErr)) | 
|                 { | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "乔一") | 
|                     { | 
|                          sql1 = string.Format(@"select * from h_v_Gy_CustomerList where 1=1"); | 
|                     } | 
|                     else | 
|                     { | 
|                          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 | 
|                 { | 
|                     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) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 客户分页列表 | 
|         [Route("Gy_Customer/page")] | 
|         [HttpGet] | 
|         public json Gy_CustomerPage(string sWhere, string user, int page, int size, string Organization) | 
|         { | 
|             DataSet ds; | 
|             json res = new json(); | 
|             try | 
|             { | 
|                 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 = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //客户制定 | 
|                 string sErr = ""; | 
|                 if (oSystemParameter.ShowBill(ref sErr)) | 
|                 { | 
|                     if (oSystemParameter.omodel.WMS_CampanyName != "乔一") | 
|                     {  | 
|                         sWhere += ("and 组织名称 = '" + Organization + "'"); | 
|                     } | 
|                 } | 
|   | 
|   | 
|                 sWhere = sWhere.Replace("'", "''"); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Gy_CustomerList " + page + "," + size + ",''", "h_p_Gy_CustomerList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn("exec h_p_Gy_CustomerList " + page + "," + size + ",'" + sWhere + "'", "h_p_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列对象的列名 | 
|                 } | 
|   | 
|                 res.code = CodeConstant.SUCCEED; | 
|                 res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); | 
|                 res.Message = "Sucess!"; | 
|                 res.list = columnNameList; | 
|                 res.data = ds.Tables[0]; | 
|                 return res; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 res.code = CodeConstant.FAIL; | 
|                 res.count = CountConstant.FAIL; | 
|                 res.Message = "Exception!" + e.ToString(); | 
|                 res.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|   | 
|         #region 客户子表[关联用户] 查询 | 
|         /// <summary> | 
|         /// 返回客户子表[关联用户]列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/RelationUserlist")] | 
|         [HttpGet] | 
|         public object RelationUserlist(Int64 HCusID) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|   | 
|                 string sql = "select * from h_v_Gy_Customer_RelationUsers_Query where HCusID = " + HCusID + " order by 用户编码 asc"; | 
|                 ds = oCN.RunProcReturn(sql, "h_v_Gy_Customer_RelationUsers_Query"); | 
|   | 
|                 //添加列名 | 
|                 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) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 客户列表修改按钮方法 | 
|         /// <summary> | 
|         /// 客户列表修改按钮方法 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/xg")] | 
|         [HttpGet] | 
|         public object xg(long HInterID) | 
|         { | 
|             try | 
|             { | 
|                 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.HMateOutEmp 领用人, | 
|                                             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 = ""; | 
|                 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_Customer/getMaxCusNumber")] | 
|         [HttpGet] | 
|         public object getMaxCusNumber() | 
|         { | 
|             try | 
|             { | 
|                 string sql = "select top(1) * from Gy_Customer order by HNumber desc"; | 
|                 ds = oCN.RunProcReturn(sql, "Gy_Customer"); | 
|   | 
|                 if (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 = ""; | 
|                     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 获取最大资料ID参数 | 
|         /// <summary> | 
|         /// 获取最大基础资料ID | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/GetMAXBillID")] | 
|         [HttpGet] | 
|         public object GetMAXBillID() | 
|         { | 
|             try | 
|             { | 
|                 ds = oCN.RunProcReturn("select max(hitemid)+1 hitemid from Gy_Customer", "Gy_Customer"); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = ""; | 
|                 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_Customer/getMaxNum")] | 
|         [HttpGet] | 
|         public object getMaxNum(int HCusTypeID, string user, string Organization) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (HCusTypeID == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有选择具体分类!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     ds = oCN.RunProcReturn(@"select * from h_v_Gy_CustomerList where 组织名称='" + Organization + "'" + "and HCusTypeID = '" + HCusTypeID + "'" + " order by 客户代码 desc", "h_v_Gy_CustomerList"); | 
|                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "没有找到该分类的客户编码请使用普通新增"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     string HNumber = ds.Tables[0].Rows[0]["客户代码"].ToString(); | 
|                     // 使用正则表达式找到数字部分  (?<=\D)是一个零宽断言,表示前面的字符不是数字 (\d+)$表示后面跟着一连串字符串知道末尾 | 
|                     Match match = Regex.Match(HNumber, @"(\d+)$"); | 
|                     if (match.Success) | 
|                     { | 
|                         string prefix = HNumber.Substring(0, HNumber.Length - match.Length); // 提取前缀   | 
|                         int number = int.Parse(match.Value); // 解析数字   | 
|                         // 数字+1   | 
|                         number++; | 
|                         // 格式化数字,保持原长度   | 
|                         string formattedNumber = number.ToString().PadLeft(match.Length, '0'); | 
|                         // 重新组合字符串   | 
|                         string result = prefix + formattedNumber; | 
|   | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "success"; | 
|                         objJsonResult.data = result; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         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 | 
|   | 
|         #region 客户列表树形结构 | 
|         /// <summary> | 
|         /// 客户列表树形结构 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/LoadTree")] | 
|         [HttpGet] | 
|         public object LoadTree_Json(string sWhere) | 
|         { | 
|             SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); | 
|             //ds = oCN.RunProcReturn("select * from h_v_IF_GroupList " + sWhere, "h_v_IF_GroupList"); | 
|             ds = oCN.RunProcReturn("select * from h_v_CustomerLoadTree", "h_v_CustomerLoadTree"); | 
|             if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "false!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 新增单据 | 
|         /// <summary> | 
|         /// 新增单据-保存按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/AddBill")] | 
|         [HttpPost] | 
|         public object AddBill([FromBody] JObject oMain) | 
|         { | 
|             try | 
|             { | 
|                 var _value = oMain["oMain"].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); | 
|   | 
|                 long HItemID = list[0].HItemID; | 
|                 string HNumber = list[0].HNumber; | 
|                 string HName = list[0].HName; | 
|                 string HShortNumber = list[0].HShortNumber; | 
|                 long HLevel = list[0].HLevel; | 
|                 string HEndFlag = list[0].HEndFlag; | 
|                 long HParentID = list[0].HParentID; | 
|                 string HRemark = list[0].HRemark; | 
|                 string HStopflag = list[0].HStopFlag; | 
|                 string HHelpCode = list[0].HHelpCode; | 
|                 string HShortName = list[0].HShortName; | 
|                 string HAddress = list[0].HAddress; | 
|                 string HLinkMan = list[0].HLinkMan; | 
|                 string HLinkPhone = list[0].HLinkPhone; | 
|                 string HMobilePhone = list[0].HMobilePhone; | 
|                 string HFax = list[0].HFax; | 
|                 string HPostalCode = list[0].HPostalCode; | 
|                 string HEmail = list[0].HEmail; | 
|                 string HBank = list[0].HBank; | 
|                 string HBankAccount = list[0].HBankAccount; | 
|                 string HTaxNum = list[0].HTaxNum; | 
|                 double HTaxRate = list[0].HTaxRate; | 
|                 string HCountry = list[0].HCountry; | 
|                 string HCorMan = list[0].HCorMan; | 
|                 string HEnglishName = list[0].HEnglishName; | 
|                 string HEnglishAddress = list[0].HEnglishAddress; | 
|                 long HCurID = list[0].HCurID; | 
|                 long HSSID = list[0].HSSID; | 
|                 long HAreaID = list[0].HAreaID; | 
|                 string HCusStatus = list[0].HCusStatus; | 
|                 long HCusTypeID = list[0].HCusTypeID; | 
|                 string HUseFlag = list[0].HUseFlag; | 
|                 long HCreditDate = list[0].HCreditDate; | 
|                 long HCreditRatingDate = list[0].HCreditRatingDate; | 
|                 long HMaxCredRatingDate = list[0].HMaxCreditRatingDate; | 
|                 double HMonthUseQty = list[0].HMonthUseQty; | 
|                 double HForecastCreditRating = list[0].HForecastCreditRating; | 
|                 long HCreditLevelID = list[0].HCreditLevelID; | 
|                 double HCountAccrualRating = list[0].HCountAccrualRating; | 
|                 double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating; | 
|                 double HCreditRating = list[0].HCreditRating; | 
|                 double HMaxCreditRating = list[0].HMaxCreditRating; | 
|                 long HEmpID = list[0].HEmpID; | 
|                 long HERPItemID = list[0].HERPItemID; | 
|                 DateTime HMakeTime = list[0].HMakeTime; | 
|                 long HCreateOrgID = list[0].HCREATEORGID; | 
|                 long HUseOrgID = list[0].HUSEORGID; | 
|                 string HMateOutEmp = list[0].HMateOutEmp; | 
|                 //DateTime HDeleteDate = list[0].HDeleteDate; | 
|   | 
|   | 
|                 if (!DBUtility.ClsPub.AllowNumber(HNumber)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|   | 
|                 //若MAINDI重复则重新获取 | 
|                 oCN.BeginTran(); | 
|                 //主表 | 
|                 oCN.RunProc("Insert into Gy_Customer " + | 
|                     " (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,HCREATEORGID,HUSEORGID,HMateOutEmp) " + | 
|                     " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID + | 
|                     ", " + HLevel + ",1,'" + 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 + "," + HMaxCredRatingDate + | 
|                     "," + HMonthUseQty + "," + HForecastCreditRating + "," + HCreditLevelID + "," + HCountAccrualRating + | 
|                     "," + HSubsidyAccrualRating + "," + HCreditRating + "," + HMaxCreditRating + | 
|                     ", " + HCusTypeID + ","+ HCreateOrgID + ","+ HUseOrgID + ",'"+ HMateOutEmp + "')"); | 
|                 //修改上级为非末级代码 | 
|                 oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                 //保存后控制 | 
|                 string sql = "select * from Gy_Customer where HNumber = '" + HNumber + "' and HName = '" + HName + "' and HUSEORGID = " + HUseOrgID; | 
|                 ds = oCN.RunProcReturn(sql, "Gy_Customer"); | 
|                 HItemID = Int64.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString()); | 
|                 ds = oCN.RunProcReturn("exec h_p_Gy_Customer_AfterSaveCtrl " + HItemID, "h_p_Gy_Customer_AfterSaveCtrl"); | 
|                 if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "Exception!" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 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; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 保存客户列表 | 
|         /// <summary> | 
|         /// 保存客户列表 | 
|         /// </summary> | 
|         /// <param name="oMain"></param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Customer/SaveGy_CustomerListApi")] | 
|         [HttpPost] | 
|         public object SaveGy_CustomerListApi([FromBody] JObject oMain) | 
|         { | 
|             try | 
|             { | 
|                 var model = oMain["model"].ToString(); | 
|                 LogService.Write("客户:" + model); | 
|                 var custLocationModel = oMain["model"]["HCustLocationEntry"].ToString(); | 
|                 var custContactModel = oMain["model"]["HCustContactEntry"].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); | 
|                 List<Model.ClsGy_COMMONCONTACT_Model> custContactls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_COMMONCONTACT_Model>>(custContactModel); | 
|                 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); | 
|   | 
|                 LogService.Write("客户:" + "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 + ")"); | 
|                 //主表_客户 | 
|                 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,HERPItemID) " + | 
|                     " 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 + "," + lsmain[0].HItemID + ")"); | 
|                 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); | 
|   | 
|                 //客户_收货方联系人 | 
|                 sql = $"delete Gy_COMMONCONTACT where HCUSTID = {lsmain[0].HItemID}"; | 
|                 oCN.RunProc(sql); | 
|                 sql = "set identity_insert Gy_COMMONCONTACT on"; | 
|                 oCN.RunProc(sql); | 
|                 foreach (var item in custContactls) | 
|                 { | 
|                     sql = $@"insert into Gy_COMMONCONTACT(HItemID,HCUSTID,HNumber,HName,HShortNumber,HParentID,HLevel,HEndFlag,HStopflag, | 
|                     HRemark,HHelpCode,HUseFlag,HMakeTime,HMakeEmp,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime, | 
|                     HUSEORGID,HCREATEORGID) | 
|                   values({item.HItemID},{item.HCUSTID},'{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}','{item.HStopTime}',{item.HUSEORGID},{item.HCREATEORGID})"; | 
|                     oCN.RunProc(sql); | 
|                 } | 
|                 sql = "set identity_insert Gy_COMMONCONTACT 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; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 修改单据-保存按钮 | 
|         /// <summary> | 
|         /// 修改单据-保存按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/AddBill1")] | 
|         [HttpPost] | 
|         public object AddBill1([FromBody] JObject oMain) | 
|         { | 
|   | 
|             try | 
|             { | 
|   | 
|                 DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl(); | 
|                 DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View(); | 
|   | 
|                 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();//id | 
|                 string msg4 = sArray[2].ToString();//当前用户 | 
|                 string msg5 = sArray[3].ToString();//权限模块代码 | 
|                 //反序列化 | 
|                 msg2 = "[" + msg2.ToString() + "]"; | 
|                 List<Customer> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(msg2); | 
|   | 
|                 long HItemID = int.Parse(msg3); | 
|                 string HNumber = list[0].HNumber; | 
|                 string HName = list[0].HName; | 
|                 string HShortNumber = list[0].HShortNumber; | 
|                 long HLevel = list[0].HLevel; | 
|                 string HEndFlag = list[0].HEndFlag; | 
|                 long HParentID = list[0].HParentID; | 
|                 string HRemark = list[0].HRemark; | 
|                 string HStopflag = list[0].HStopFlag; | 
|                 string HHelpCode = list[0].HHelpCode; | 
|                 string HShortName = list[0].HShortName; | 
|                 string HAddress = list[0].HAddress; | 
|                 string HLinkMan = list[0].HLinkMan; | 
|                 string HLinkPhone = list[0].HLinkPhone; | 
|                 string HMobilePhone = list[0].HMobilePhone; | 
|                 string HFax = list[0].HFax; | 
|                 string HPostalCode = list[0].HPostalCode; | 
|                 string HEmail = list[0].HEmail; | 
|                 string HBank = list[0].HBank; | 
|                 string HBankAccount = list[0].HBankAccount; | 
|                 string HTaxNum = list[0].HTaxNum; | 
|                 double HTaxRate = list[0].HTaxRate; | 
|                 string HCountry = list[0].HCountry; | 
|                 string HCorMan = list[0].HCorMan; | 
|                 string HEnglishName = list[0].HEnglishName; | 
|                 string HEnglishAddress = list[0].HEnglishAddress; | 
|                 long HCurID = list[0].HCurID; | 
|                 long HSSID = list[0].HSSID; | 
|                 long HAreaID = list[0].HAreaID; | 
|                 string HCusStatus = list[0].HCusStatus; | 
|                 long HCusTypeID = list[0].HCusTypeID; | 
|                 string HUseFlag = list[0].HUseFlag; | 
|                 long HCreditDate = list[0].HCreditDate; | 
|                 long HCreditRatingDate = list[0].HCreditRatingDate; | 
|                 long HMaxCredRatingDate = list[0].HMaxCreditRatingDate; | 
|                 double HMonthUseQty = list[0].HMonthUseQty; | 
|                 double HForecastCreditRating = list[0].HForecastCreditRating; | 
|                 long HCreditLevelID = list[0].HCreditLevelID; | 
|                 double HCountAccrualRating = list[0].HCountAccrualRating; | 
|                 double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating; | 
|                 double HCreditRating = list[0].HCreditRating; | 
|                 double HMaxCreditRating = list[0].HMaxCreditRating; | 
|                 long HEmpID = list[0].HEmpID; | 
|                 long HERPItemID = list[0].HERPItemID; | 
|                 DateTime HMakeTime = list[0].HMakeTime; | 
|                 long HCreateOrgID = list[0].HCREATEORGID; | 
|                 long HUseOrgID = list[0].HUSEORGID; | 
|                 string HMateOutEmp = list[0].HMateOutEmp; | 
|   | 
|                 //判断权限 | 
|                 if (!ClsPub.Security_Log(msg5, 1, false, msg4)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有找到该功能模块!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 if (!DBUtility.ClsPub.AllowNumber(HNumber)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|   | 
|                 //若MAINDI重复则重新获取 | 
|                 oCN.BeginTran(); | 
|                 //主表 | 
|                 oCN.RunProc("Update Gy_Customer set " + | 
|                     " HNumber='" + HNumber + "'" + | 
|                     ",HName='" + HName + "'" + | 
|                     ",HShortNumber='" + HShortNumber + "'" + | 
|                     ",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 + "'" + | 
|                     ",HMateOutEmp='"+ HMateOutEmp+ | 
|                     "',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); | 
|                 //将上级 为非末级 | 
|                 oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 // | 
|   | 
|                 //保存后控制 | 
|                 ds = oCN.RunProcReturn("exec h_p_Gy_Customer_AfterSaveCtrl " + HItemID, "h_p_Gy_Customer_AfterSaveCtrl"); | 
|                 if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "Exception!" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|   | 
|                 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; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         # region 客户列表删除按钮 | 
|         /// <summary> | 
|         /// 客户列表删除按钮 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Gy_Customer/Delete_Json")] | 
|         [HttpGet] | 
|         public object Delete_Json(long HItemID, string User, string ModRightNameDelete) | 
|         { | 
|             DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl(); | 
|             DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View(); | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有删除权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 if (oDeptHlp.GetInfoByID(HItemID)) | 
|                 { | 
|                     if (oDept.HavChildCodes(HItemID)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "此项目存在子项目,不能删除!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //删除前判断是否 已使用 20141020 | 
|                     if (oDeptHlp.omodel.HUseFlag != "未使用") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "此项目已使用或者未检测,不能删除!请重新检测再删除!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     // | 
|                     try | 
|                     { | 
|                         if (oDept.DeleteByID(HItemID)) | 
|                         { | 
|                             //写入日志 | 
|                             ClsPub.Add_Log("", "删除项目,代码:" + oDeptHlp.omodel.HNumber + ",名称:" + oDeptHlp.omodel.HName, ClsPub.CurUserName); | 
|                             //更新上级为 末级 | 
|                             objJsonResult.code = "1"; | 
|                             objJsonResult.count = 1; | 
|                             objJsonResult.Message = "删除成功"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                         else | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "删除失败"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     catch (Exception e) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "删除失败,该客户存在关联的销售订单、销售出库单、生产订单,或程序错误。"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                      | 
|                 } | 
|                 //ds = oCN.RunProcReturn("delete from Gy_Department where HItemID =  " + HItemID, "Gy_Department"); | 
|   | 
|                 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 | 
|   | 
|         #region 客户审核、反审核 | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Customer/AuditGy_Customer")] | 
|         [HttpGet] | 
|         public object AuditGy_Customer(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Check", 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 var ds = oCN.RunProcReturn("select * from Gy_Customer where HItemID=" + HInterID, "Gy_Customer"); | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     if (IsAudit == 0)  //审核判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsAudit == 1) //反审核判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|   | 
|                 if (IsAudit == 0)  //审核判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Customer set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "审核成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 if (IsAudit == 1) //反审核判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Customer set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "反审核成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 oCN.Commit(); | 
|   | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 客户禁用、反禁用 | 
|         /// <summary> | 
|         ///  | 
|         /// </summary> | 
|         /// <param name="HInterID">单据ID</param> | 
|         /// <param name="IsStop">禁用(0),反禁用(1)</param> | 
|         /// <param name="CurUserName">审核人</param> | 
|         /// <returns></returns> | 
|         [Route("Gy_Customer/StopGy_Customer")] | 
|         [HttpGet] | 
|         public object StopGy_Customer(int HInterID, int IsStop, string CurUserName) | 
|         { | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Stop", 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "禁用失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 var ds = oCN.RunProcReturn("select * from Gy_Customer where HItemID=" + HInterID, "Gy_Material"); | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     if (IsStop == 0)  //禁用判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据已禁用!不能再次禁用!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     if (IsStop == 1) //反禁用判断 | 
|                     { | 
|                         if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "单据未禁用!不需要反禁用!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据不存在!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|   | 
|                 if (IsStop == 0)  //禁用判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Customer set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "禁用成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 if (IsStop == 1) //反禁用判断 | 
|                 { | 
|                     oCN.RunProc("update Gy_Customer set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID); | 
|   | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "反禁用成功"; | 
|                     objJsonResult.data = null; | 
|                 } | 
|                 oCN.Commit(); | 
|   | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region [同步基础资料] | 
|         [Route("Gy_Customer/Gy_CustomerViewApi")] | 
|         [HttpGet] | 
|         public json Gy_CustomerViewApi(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_Customer", 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_Customer where HNumber = '" + Number + "'", "Gy_Customer"); | 
|                     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"], | 
|                         HERPItemID = _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      = "已使用", | 
|                         HMakeTime     = _saveObj["Result"]["Result"]["CreateDate"], | 
|                         HCREATEORGID  = _saveObj["Result"]["Result"]["CreateOrgId_Id"], | 
|                         HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"], | 
|                     }; | 
|                     #endregion | 
|                     // 删除主表对应数据 | 
|                     sql = $"delete from Gy_Customer where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'"; | 
|                     oCN.RunProc(sql); | 
|   | 
|                     sql = "set identity_insert Gy_Customer on"; | 
|                     oCN.RunProc(sql); | 
|   | 
|                     //插入表 | 
|                     sql = $@" | 
|                 insert into Gy_Customer | 
|                 (HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID | 
|                 ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID | 
|                  ) | 
|                 values | 
|                 ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}', | 
|                 '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID})"; | 
|   | 
|                     oCN.RunProc(sql); | 
|   | 
|                     sql = "set identity_insert Gy_Customer 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 | 
|   | 
|         #region 客户分类 树形图(根据代码展开树状图) | 
|   | 
|         [Route("Gy_BadReason/Gy_CusrTypeTreeList")] | 
|         [HttpGet] | 
|         public object Gy_CusrTypeTreeList() | 
|         { | 
|             try | 
|             { | 
|                 string sql1 = string.Format("select hitemid,hnumber,hname from Gy_MaterType order by hnumber"); | 
|   | 
|                 ds = oCN.RunProcReturn(sql1, "Gy_MaterType"); | 
|   | 
|                 List<TreeModel> treeModels = new List<TreeModel>(); | 
|                 TreeModel first = new TreeModel(); | 
|                 first.id = "0"; | 
|                 first.title = "客户分类设置"; | 
|                 treeModels.Add(first); | 
|   | 
|                 foreach (DataRow row in ds.Tables[0].Rows) | 
|                 { | 
|                     var strLen = row["hnumber"].ToString().Split('.'); | 
|                     if (strLen.Length == 1) | 
|                     { | 
|                         TreeModel tree = new TreeModel(); | 
|                         tree.id = row["hitemid"].ToString(); | 
|                         tree.title = row["hname"].ToString(); | 
|                         treeModels[0].children.Add(tree); | 
|                     } | 
|                 } | 
|                 digui(ds.Tables[0], treeModels[0].children, 2); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 根据父id和等级获得树状图递归 | 
|   | 
|         [Route("Gy_BadReason/Gy_CusTypeTreeListByLevel")] | 
|         [HttpGet] | 
|         public object Gy_CusTypeTreeListByLevel() | 
|         { | 
|             try | 
|             { | 
|                 string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_CusType order by hnumber "); | 
|   | 
|                 ds = oCN.RunProcReturn(sql1, "Gy_CusType"); | 
|   | 
|                 List<TreeModel> treeModels = new List<TreeModel>(); | 
|                 TreeModel first = new TreeModel(); | 
|                 first.id = "0"; | 
|                 first.title = "客户分类设置"; | 
|                 treeModels.Add(first); | 
|   | 
|                 foreach (DataRow row in ds.Tables[0].Rows) | 
|                 { | 
|                     var HLevel = (int)row["hlevel"]; | 
|                     if (HLevel == 1) | 
|                     { | 
|                         TreeModel tree = new TreeModel(); | 
|                         tree.id = row["hitemid"].ToString(); | 
|                         tree.title = row["hname"].ToString(); | 
|                         treeModels[0].children.Add(tree); | 
|                     } | 
|                 } | 
|                 getTreeByLevel(ds.Tables[0], treeModels[0].children, 2); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); | 
|                 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_Customer/Gy_Process_Excel")] | 
|         //[HttpPost] | 
|         //public json Gy_Department_Excel() | 
|         //{ | 
|         //    json res = new json(); | 
|         //    try | 
|         //    { | 
|         //        //获取文件名称 | 
|         //        var file = HttpContext.Current.Request.Files[0]; | 
|         //        //获取文件物理路径 | 
|         //        string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName); | 
|         //        //保存文件 | 
|         //        file.SaveAs(ExcelPath); | 
|   | 
|         //        NpoiHelper np = new NpoiHelper(); | 
|         //        DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0"); | 
|         //        //删除文件 | 
|         //        File.Delete(ExcelPath); | 
|         //        DataTable provisional = customerService.UploadExcel(ExcelDs);              | 
|                  | 
|         //        res.code = CodeConstant.SUCCEED; | 
|         //        res.count = CountConstant.SUCCEED; | 
|         //        res.Message = "上传成功"; | 
|         //        res.data = provisional; | 
|         //        return res; | 
|         //    } | 
|         //    catch (Exception e) | 
|         //    { | 
|         //        res.code = "0"; | 
|         //        res.count = 0; | 
|         //        res.Message = "Exception!" + e.ToString(); | 
|         //        res.data = null; | 
|         //        return res; | 
|         //    } | 
|         //} | 
|   | 
|         /// <summary> | 
|         /// 判断当前职员是否存在 | 
|         /// </summary> | 
|         /// <param name="HEmpNumber"></param> | 
|         /// <param name="HEmpName"></param> | 
|         /// <returns></returns> | 
|         //private bool JudgeEmp(string HEmpNumber, string HEmpName) | 
|         //{ | 
|         //    if (!String.IsNullOrEmpty(HEmpNumber) && !String.IsNullOrEmpty(HEmpName)) | 
|         //    { | 
|         //        DataSet emp = oCN.RunProcReturn("select * from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee"); | 
|         //        return emp.Tables[0].Rows.Count <= EmptyConstant.EMPTY ? true : false; | 
|         //    } | 
|         //    return false; | 
|         //} | 
|   | 
|         /// <summary> | 
|         /// 判断列 | 
|         /// </summary> | 
|         /// <param name="provisional"></param> | 
|         /// <returns></returns> | 
|         private static string JudgmentColumns(DataTable provisional) | 
|         { | 
|             var error = ""; | 
|   | 
|             //查询没有的列 | 
|             if (!provisional.Columns.Contains("部门代码")) | 
|                 error += "没有找到【部门代码】的标题,"; | 
|   | 
|             if (!provisional.Columns.Contains("部门名称")) | 
|                 error += "没有找到【部门名称】的标题,"; | 
|             return error; | 
|         } | 
|         #endregion | 
|   | 
|         #region 物料分类 树形图(根据代码展开树状图) | 
|   | 
|         public void getTreeByLevel(DataTable dt, List<TreeModel> tree, int num) | 
|         { | 
|             for (int m = 0; m < tree.Count; m++) | 
|             { | 
|                 tree[m].children = new List<TreeModel>(); | 
|                 for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 | 
|                 { | 
|                     var HLevel = (int)dt.Rows[i]["hlevel"]; | 
|                     var HParentID = dt.Rows[i]["hparentid"].ToString(); | 
|                     if (HLevel == num && HParentID == tree[m].id) | 
|                     { | 
|                         TreeModel tbjson = new TreeModel(); | 
|                         tbjson.id = dt.Rows[i]["hitemid"].ToString(); | 
|                         tbjson.title = dt.Rows[i]["hname"].ToString(); | 
|                         tree[m].children.Add(tbjson); | 
|                     } | 
|                 } | 
|                 for (int i = 0; i < tree[m].children.Count; i++) | 
|                 { | 
|                     getTreeByLevel(dt, tree[m].children, num + 1);//再次用子集去循环,拿出子集的子集 | 
|                 } | 
|             } | 
|         } | 
|         public class TreeModel | 
|         { | 
|             public string id { get; set; } | 
|             public string title { get; set; } | 
|             public List<TreeModel> children = new List<TreeModel>(); | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 递归函数 | 
|         /// <summary> | 
|         /// 递归函数 | 
|         /// </summary> | 
|         public void digui(DataTable dt, List<TreeModel> tree, int num) | 
|         { | 
|             for (int m = 0; m < tree.Count; m++) | 
|             { | 
|                 tree[m].children = new List<TreeModel>(); | 
|                 for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 | 
|                 { | 
|                     var strLen = dt.Rows[i]["hnumber"].ToString().Split('.'); | 
|                     if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + ".")) | 
|                     { | 
|                         TreeModel tbjson = new TreeModel(); | 
|                         tbjson.id = dt.Rows[i]["hitemid"].ToString(); | 
|                         tbjson.title = dt.Rows[i]["hname"].ToString(); | 
|                         tree[m].children.Add(tbjson); | 
|                     } | 
|                 } | 
|                 var strLens = tree[m].id.Split('.'); | 
|                 for (int i = 0; i < tree[m].children.Count; i++) | 
|                 { | 
|                     digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集 | 
|                 } | 
|             } | 
|   | 
|         } | 
|   | 
|     } | 
|     #endregion | 
| } |