|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | using WebAPI.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //判断是否有查询权限 | 
|---|
|  |  |  | //if (!DBUtility.ClsPub.Security_Log("Gy_Source_Query", 1, false, user)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = "无权限查询!"; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Gy_Source_Query", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无权限查询!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | string msg1 = sArray[0].ToString(); | 
|---|
|  |  |  | string msg2 = sArray[1].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ////查看权限 | 
|---|
|  |  |  | //if (!DBUtility.ClsPub.Security_Log("Gy_Source_Edit", 1, false, msg2)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = "无保存权限!"; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //查看权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Gy_Source_Edit", 1, false, msg2)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无保存权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Int64 HItemID = 0; | 
|---|
|  |  |  | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | 
|---|
|  |  |  | return model; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 生产资源 文件上传 | 
|---|
|  |  |  | [Route("Gy_Source/Gy_Source_Excel")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object Gy_Source_Excel() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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 tb2 = new DataTable("dt2"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //模板缺少列 但需要从数据库中查询出来显示在页面的字段 | 
|---|
|  |  |  | tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID | 
|---|
|  |  |  | tb2.Columns.Add("HDeptID", typeof(Int32));//部门ID | 
|---|
|  |  |  | tb2.Columns.Add("HEmpID", typeof(Int32));//负责人ID | 
|---|
|  |  |  | tb2.Columns.Add("HWorkCenterID", typeof(Int32));//工作中心ID | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加数据 | 
|---|
|  |  |  | for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | DataRow row = tb2.NewRow(); | 
|---|
|  |  |  | for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | row[j] = ExcelDs.Tables[0].Rows[i][j].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | tb2.Rows.Add(row); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var error = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询工艺路线没有的列 | 
|---|
|  |  |  | if (!tb2.Columns.Contains("组织代码")) | 
|---|
|  |  |  | error += "没有找到【组织代码】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("组织名称")) | 
|---|
|  |  |  | error += "没有找到【组织名称】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("生产资源名称")) | 
|---|
|  |  |  | error += "没有找到【生产资源名称】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("生产资源代码")) | 
|---|
|  |  |  | error += "没有找到【生产资源代码】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("部门代码")) | 
|---|
|  |  |  | error += "没有找到【部门代码】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("部门名称")) | 
|---|
|  |  |  | error += "没有找到【部门名称】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("负责人代码")) | 
|---|
|  |  |  | error += "没有找到【负责人代码】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("负责人")) | 
|---|
|  |  |  | error += "没有找到【负责人】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("工作中心代码")) | 
|---|
|  |  |  | error += "没有找到【工作中心代码】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("工作中心名称")) | 
|---|
|  |  |  | error += "没有找到【工作中心名称】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!tb2.Columns.Contains("单班工时")) | 
|---|
|  |  |  | error += "没有找到【单班工时】的标题,"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (error.Length > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = $"Excel模板存在错误,{error}\r\n"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (int i = 0; i <= tb2.Rows.Count - 1; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string HSourceName = ""; | 
|---|
|  |  |  | string HSourceNum = ""; | 
|---|
|  |  |  | string HORGNumber = ""; | 
|---|
|  |  |  | string HORGName = ""; | 
|---|
|  |  |  | string HDeptNum = ""; | 
|---|
|  |  |  | string HDeptName = ""; | 
|---|
|  |  |  | string HEmpNum = ""; | 
|---|
|  |  |  | string HEmpName = ""; | 
|---|
|  |  |  | string HCentNum = ""; | 
|---|
|  |  |  | string HCentName = ""; | 
|---|
|  |  |  | string HWorkTime = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | HSourceName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源名称"].ToString()); | 
|---|
|  |  |  | HSourceNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源代码"].ToString()); | 
|---|
|  |  |  | HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString()); | 
|---|
|  |  |  | HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString()); | 
|---|
|  |  |  | HDeptNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门代码"].ToString()); | 
|---|
|  |  |  | HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门名称"].ToString()); | 
|---|
|  |  |  | HEmpNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString()); | 
|---|
|  |  |  | HEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人"].ToString()); | 
|---|
|  |  |  | HCentNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工作中心代码"].ToString()); | 
|---|
|  |  |  | HCentName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工作中心名称"].ToString()); | 
|---|
|  |  |  | HWorkTime = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["单班工时"].ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //检查物料 | 
|---|
|  |  |  | int index = i + 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (HORGNumber != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询组织 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,组织不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询部门 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Department where  HNumber='" + HDeptNum + "'  and HUSEORGID=" + HORGid + "", "Gy_Department"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,部门:" + HDeptName + ",不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tb2.Rows[i]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询负责人 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HEmpNum + "' and HUSEORGID=" + HORGid + "", "Gy_Employee"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,负责人:" + HEmpName + ",不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询工作中心 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_WorkCenter where  HNumber='" + HCentNum + "' and HUSEORGID=" + HORGid + "", "Gy_WorkCenter"); // | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,工作中心:" + HCentName + ",不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tb2.Rows[i]["HWorkCenterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //单班工时 | 
|---|
|  |  |  | if (HWorkTime == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,单班工时不能为空!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //生产资源名称 | 
|---|
|  |  |  | if (HSourceName == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,生产资源名称不能为空!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //生产资源代码 | 
|---|
|  |  |  | if (HSourceNum == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,生产资源代码不能为空!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "第" + index + "行,组织代码为空"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = error; | 
|---|
|  |  |  | objJsonResult.data = tb2; | 
|---|
|  |  |  | 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_Source/Gy_Source_btnSave")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object Gy_Source_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(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("Gy_Source_Edit", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无保存权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 HDeptID = item["HDeptID"].ToString();//部门 | 
|---|
|  |  |  | string HEmpID = item["HEmpID"].ToString();//负责人 | 
|---|
|  |  |  | string HOrgID = item["HOrgID"].ToString();//组织ID | 
|---|
|  |  |  | string HWorkCenterID = item["HWorkCenterID"].ToString();//工作中心 | 
|---|
|  |  |  | string HsouceName = item["生产资源名称"].ToString(); | 
|---|
|  |  |  | string HsouceNum = item["生产资源代码"].ToString(); | 
|---|
|  |  |  | string HWorkTime = item["单班工时"].ToString(); | 
|---|
|  |  |  | string sShortNumber; | 
|---|
|  |  |  | sShortNumber = DBUtility.ClsPub.GetShortNumber(HsouceName);//短代码 | 
|---|
|  |  |  | if (sShortNumber.Trim() == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "保存失败!短代码为空!"; | 
|---|
|  |  |  | objJsonResult.data = 1; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int HEndFlag = 1;//末级标志 | 
|---|
|  |  |  | int HLevel = DBUtility.ClsPub.GetLevel(HsouceName); //等级 | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!DBUtility.ClsPub.AllowNumber(HsouceNum.Trim())) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
|---|
|  |  |  | objJsonResult.data = 1; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Source where HNumber='" + HsouceNum + "'", "Gy_Source"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string sql = "insert into Gy_Source(HName,HNumber,HDeptID,HEmpID,HUSEORGID,HCenterID,HWorkTimes,HShortNumber,HEndFlag,HLevel,HHelpCode,HParentID,HStopflag,HRemark,HType)" + | 
|---|
|  |  |  | $"values('{HsouceName}', '{HsouceNum}',{HDeptID}, {HEmpID}, '{HOrgID}', '{HWorkCenterID}', {HWorkTime},'{sShortNumber}',{HEndFlag},{HLevel},'',0,0,'','')"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RunProc("   update  Gy_Source set HWorkTimes=" + HWorkTime + ",HDeptID="+ HDeptID + ",HEmpID="+ HEmpID + ",HCenterID="+HWorkCenterID+"  where HNumber='" + HsouceNum +"'"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "导入成功!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LogService.Write(e); | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 生产资源 树形图 | 
|---|
|  |  |  | public class TreeModel | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public string id { get; set; } | 
|---|
|  |  |  | public string title { get; set; } | 
|---|
|  |  |  | public List<TreeModel> children = new List<TreeModel>(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | [Route("Gy_Source/Gy_SourceTreeList")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object Gy_SourceTreeList(string sWhere) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql1 = string.Format("select hitemid,hnumber,hname,HUSEORGID from Gy_Source" + sWhere + " order by hnumber"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql1, "Gy_Source"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 = 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 生产资源删除功能 | 
|---|
|  |  |  | /// </summary> | 
|---|