|  |  | 
 |  |  | 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 | 
 |  |  | 
 |  |  |  | 
 |  |  |         private json objJsonResult = new json(); | 
 |  |  |         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |         //private Gy_CustomerService customerService = new Gy_CustomerImpl(); | 
 |  |  |         DataSet ds; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 返回客户列表 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 返回客户列表 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 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> | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 客户列表修改按钮方法 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 客户列表修改按钮方法 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 获取当前最大的客户代码 | 
 |  |  |         [Route("Gy_Customer/getMaxCusNumber")] | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 获取最大资料ID参数 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 获取最大基础资料ID | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 客户根据分类获取最大客户编码 | 
 |  |  |         [Route("Gy_Customer/getMaxNum")] | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 客户列表树形结构 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 客户列表树形结构 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 新增单据 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 新增单据-保存按钮 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 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) | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 修改单据-保存按钮 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 修改单据-保存按钮 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         # region 客户列表删除按钮 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 客户列表删除按钮 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 客户审核、反审核 | 
 |  |  |         /// <summary> | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region [同步基础资料] | 
 |  |  |         [Route("Gy_Customer/Gy_CustomerViewApi")] | 
 |  |  |         [HttpGet] | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |          #region 客户分类 树形图(根据代码展开树状图) | 
 |  |  |         #region 客户分类 树形图(根据代码展开树状图) | 
 |  |  |  | 
 |  |  |         [Route("Gy_BadReason/Gy_CusrTypeTreeList")] | 
 |  |  |         [HttpGet] | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_CusType order by hnumber"); | 
 |  |  |                 string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_CusType order by hnumber "); | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql1, "Gy_CusType"); | 
 |  |  |  | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #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 物料分类 树形图(根据代码展开树状图) | 
 |  |  |  | 
 |  |  | 
 |  |  |                     getTreeByLevel(dt, tree[m].children, num + 1);//再次用子集去循环,拿出子集的子集 | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         public class TreeModel | 
 |  |  |         { | 
 |  |  | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 递归函数 | 
 |  |  |         /// <summary> | 
 |  |  |         /// 递归函数 | 
 |  |  |         /// </summary> | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |     #endregion | 
 |  |  | } |