|  |  | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Pub_Class; | 
 |  |  | using SyntacticSugar.constant; | 
 |  |  | using System; | 
 |  |  | using System.Collections; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | using System.Data; | 
 |  |  | using System.Data.SqlClient; | 
 |  |  | using System.IO; | 
 |  |  | using System.Web; | 
 |  |  | using System.Web.Http; | 
 |  |  | using WebAPI.Controllers.SCGL.日计划管理; | 
 |  |  | using WebAPI.Models; | 
 |  |  | namespace WebAPI.Controllers | 
 |  |  | { | 
 |  |  | 
 |  |  |                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0 && ds != null) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "Sucess!"; | 
 |  |  |                     objJsonResult.data = ds.Tables[0]; | 
 |  |  |                     objJsonResult.list = columnNameList; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "没有查询到部门数据,请联系系统管理员进行核对"; | 
 |  |  |                     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; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 部门 树形图 | 
 |  |  |         public class TreeModel | 
 |  |  |         { | 
 |  |  |             public string id { get; set; } | 
 |  |  |             public string title { get; set; } | 
 |  |  |             public List<TreeModel> children = new List<TreeModel>(); | 
 |  |  |         } | 
 |  |  |         [Route("Gy_Department/Gy_DepartmentTreeList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Gy_DepartmentTreeList(string sWhere) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Department where 1=1 " + sWhere + " order by hnumber"); | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql1, "Gy_Department"); | 
 |  |  |  | 
 |  |  |                 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["hitemid"].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 = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <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 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         #region 设备分布 生产资源对应的订单  | 
 |  |  |  | 
 |  |  |         [Route("Sc_OrderStateDistribution/Sc_OrderStateDistribution_Souce")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Sc_OrderStateDistribution_Souce(string sWhere,string user,int OrganizationID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string sql1 = string.Format("exec h_p_sc_HDeptSouceMOList {0},{1}", sWhere, OrganizationID); | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql1, "h_p_sc_HDeptSouceMOList"); | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 根据基础资料ID 查找记录 | 
 |  |  |         ///参数:string sql。 | 
 |  |  | 
 |  |  |                 oCN.RunProc("Insert Into Gy_Department " + | 
 |  |  |               "(HItemID,HNumber,HShortNumber,HName,HParentID" + | 
 |  |  |               ",HLevel,HEndFlag,HRemark,HStopFlag,HUseFlag" + | 
 |  |  |               ",HCREATEORGID,HUSEORGID"+ | 
 |  |  |               ",HCREATEORGID,HUSEORGID,HERPItemID" + | 
 |  |  |               ") " + | 
 |  |  |               " values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HShortNumber + "','" + lsmain[0].HName + "',0" + | 
 |  |  |               ",'',0,'" + lsmain[0].HRemark + "',0,''" + | 
 |  |  |               "," + lsmain[0].HCreateOrgID + "," + lsmain[0].HUseOrgID + "" + | 
 |  |  |               "," + lsmain[0].HCreateOrgID + "," + lsmain[0].HUseOrgID + "," + lsmain[0].HItemID + | 
 |  |  |             ") "); | 
 |  |  |                 sql = "set identity_insert Gy_Department off"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  | 
 |  |  |                ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID | 
 |  |  |                  ) | 
 |  |  |                 values | 
 |  |  |                 ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}', | 
 |  |  |                 ({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); | 
 |  |  | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 部门审核、反审核 | 
 |  |  |         /// <summary> | 
 |  |  |         ///  | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Gy_Department/AuditGy_Department")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object AuditGy_MaterType(int HInterID, int IsAudit, string CurUserName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Department_Check", 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "审核失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var ds = oCN.RunProcReturn("select * from Gy_Department where HItemID=" + HInterID, "Gy_Department"); | 
 |  |  |                 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_Department 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_Department 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_Department/StopGy_Department")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object StopGy_MaterType(int HInterID, int IsStop, string CurUserName) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 //审核权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second("Gy_Department_Stop", 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "禁用失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var ds = oCN.RunProcReturn("select * from Gy_Department where HItemID=" + HInterID, "Gy_Department"); | 
 |  |  |                 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_Department 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_Department 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_Department/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 = new DataTable("dt2"); | 
 |  |  |  | 
 |  |  |         //        //添加列名 | 
 |  |  |         //        for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) | 
 |  |  |         //        { | 
 |  |  |         //            provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); | 
 |  |  |         //        } | 
 |  |  |  | 
 |  |  |         //        //添加数据 | 
 |  |  |         //        for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) | 
 |  |  |         //        { | 
 |  |  |         //            DataRow row = provisional.NewRow(); | 
 |  |  |         //            for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) | 
 |  |  |         //            { | 
 |  |  |         //                row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); | 
 |  |  |         //            } | 
 |  |  |         //            provisional.Rows.Add(row); | 
 |  |  |         //        } | 
 |  |  |  | 
 |  |  |         //        //判断列 | 
 |  |  |         //        string error = JudgmentColumns(provisional); | 
 |  |  |         //        if (error.Length > 0) | 
 |  |  |         //        { | 
 |  |  |         //            res.code = "0"; | 
 |  |  |         //            res.count = 0; | 
 |  |  |         //            res.Message = $"Excel模板存在错误,{error}\r\n"; | 
 |  |  |         //            res.data = null; | 
 |  |  |         //            return res; | 
 |  |  |         //        } | 
 |  |  |  | 
 |  |  |         //        for (int i = 0; i <= provisional.Rows.Count - 1; i++) | 
 |  |  |         //        { | 
 |  |  |         //            string HNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["部门代码"].ToString()); | 
 |  |  |         //            string HName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["部门名称"].ToString()); | 
 |  |  |         //            string HEmpNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["负责人代码"].ToString()); | 
 |  |  |         //            string HEmpName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["负责人名称"].ToString()); | 
 |  |  |         //            string HBarCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["条形码"].ToString()); | 
 |  |  |         //            string HHelpCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["助记码"]); | 
 |  |  |         //            string HRemark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["备注"].ToString()); | 
 |  |  |  | 
 |  |  |         //            //判断负责人是否存在 | 
 |  |  |         //            if (JudgeEmp(HEmpNumber, HEmpName)) | 
 |  |  |         //            { | 
 |  |  |         //                res.code = CodeConstant.FAIL; | 
 |  |  |         //                res.count = CountConstant.FAIL; | 
 |  |  |         //                res.Message = "当前职员不存在"; | 
 |  |  |         //                res.data = null; | 
 |  |  |         //                return res; | 
 |  |  |         //            } | 
 |  |  |         //            //获取真实行数 | 
 |  |  |         //            int line = i + 1; | 
 |  |  |         //        } | 
 |  |  |  | 
 |  |  |         //        res.code = "1"; | 
 |  |  |         //        res.count = 1; | 
 |  |  |         //        res.Message = error; | 
 |  |  |         //        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 部门列表 导入(保存) | 
 |  |  |         [Route("Gy_Department/Gy_Process_btnSave")] | 
 |  |  |         [HttpPost] | 
 |  |  |         public object Gy_InspectBasis_btnSave([FromBody] JObject sMainSub) | 
 |  |  |         { | 
 |  |  |             var _value = sMainSub["sMainSub"].ToString(); | 
 |  |  |             string msg1 = _value.ToString(); | 
 |  |  |             string[] sArray = msg1.Split(new string[] { "&和" }, StringSplitOptions.RemoveEmptyEntries); | 
 |  |  |             string msg2 = sArray[0].ToString(); | 
 |  |  |             string user = sArray[1].ToString(); | 
 |  |  |             string organ = sArray[2].ToString(); | 
 |  |  |             json res = new json(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Gy_Group_Edit", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     res.code = "0"; | 
 |  |  |                     res.count = 0; | 
 |  |  |                     res.Message = "无保存权限!"; | 
 |  |  |                     res.data = null; | 
 |  |  |                     return res; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2); | 
 |  |  |                 List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); | 
 |  |  |  | 
 |  |  |                 foreach (JObject item in Excel) | 
 |  |  |                 { | 
 |  |  |                     Dictionary<string, string> dic = new Dictionary<string, string>(); | 
 |  |  |                     foreach (var itm in item.Properties()) | 
 |  |  |                     { | 
 |  |  |                         dic.Add(itm.Name, itm.Value.ToString()); | 
 |  |  |                     } | 
 |  |  |                     list.Add(dic); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 int i = 1; | 
 |  |  |                 foreach (Dictionary<string, string> item in list) | 
 |  |  |                 { | 
 |  |  |                     string HNumber = item["部门代码"].ToString(); | 
 |  |  |                     string HName = item["部门名称"].ToString(); | 
 |  |  |                     string HEmpNumber = item["负责人代码"].ToString(); | 
 |  |  |                     string HEmpName = item["负责人名称"].ToString(); | 
 |  |  |                     string HBarCode = item["条形码"].ToString(); | 
 |  |  |                     string HHelpCode = item["助记码"].ToString(); | 
 |  |  |                     string HRemark = item["备注"].ToString(); | 
 |  |  |                     int HEmpID = 0; | 
 |  |  |                     if (!String.IsNullOrEmpty(HEmpName) && !String.IsNullOrEmpty(HEmpNumber)) | 
 |  |  |                     { | 
 |  |  |                         DataSet emp = oCN.RunProcReturn("select HItemID from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee"); | 
 |  |  |                         HEmpID = (int)emp.Tables[0].Rows[0]["HItemID"]; | 
 |  |  |                     } | 
 |  |  |                     string sShortNumber; | 
 |  |  |                     sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码 | 
 |  |  |                     if (sShortNumber.Trim() == "") | 
 |  |  |                     { | 
 |  |  |                         res.code = "0"; | 
 |  |  |                         res.count = 0; | 
 |  |  |                         res.Message = "保存失败!短代码为空!"; | 
 |  |  |                         res.data = 1; | 
 |  |  |                         return res; | 
 |  |  |                     } | 
 |  |  |                     int HEndFlag = 1;//末级标志 | 
 |  |  |                     int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim())) | 
 |  |  |                     { | 
 |  |  |                         res.code = "0"; | 
 |  |  |                         res.count = 0; | 
 |  |  |                         res.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
 |  |  |                         res.data = 1; | 
 |  |  |                         return res; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     ds = oCN.RunProcReturn("select * from Gy_Department where HNumber='" + HNumber + "'", "Gy_InspectInstruMent"); | 
 |  |  |  | 
 |  |  |                     if (ds.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |  | 
 |  |  |                         string sql = "insert into Gy_Department (HName,HNumber,HShortNumber,HLevel,HHelpCode,HParentID,HStopflag,HEndFlag,HRemark,HUseFlag, HUSEORGID, HCREATEORGID, HEmpID, HBarCodeForBase)" + | 
 |  |  |                             $"values('{HName}', '{HNumber}', '{sShortNumber}',{HLevel},'',0,'0','0','{HRemark}', '未使用', '{organ}', '{organ}', '{HEmpID}', '{HBarCode}')"; | 
 |  |  |                         oCN.RunProc(sql); | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         oCN.RunProc("update Gy_Department  set  HName ='" + HName + "' , HHelpCode = '" + HHelpCode + " ', HBarCodeForBase = '" + HBarCode + "', HEmpID = '" + HEmpID + "', HModifyEmp = '" + user + "', HModifyTime = '" + System.DateTime.Now.ToString("G") + "' where HNumber= '" + HNumber + "'"); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     i++; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |  | 
 |  |  |                 res.code = "1"; | 
 |  |  |                 res.count = 1; | 
 |  |  |                 res.Message = "导入成功!"; | 
 |  |  |                 res.data = null; | 
 |  |  |                 return res; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 LogService.Write(e); | 
 |  |  |                 res.code = "0"; | 
 |  |  |                 res.count = 0; | 
 |  |  |                 res.Message = "Exception!" + e.ToString(); | 
 |  |  |                 res.data = null; | 
 |  |  |                 return res; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |     } | 
 |  |  | } |