public void Delete(AscmDiscreteJobs ascmDiscreteJobs) { try { YnDaoHelper.GetInstance().nHibernateHelper.Delete<AscmDiscreteJobs>(ascmDiscreteJobs); } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmDiscreteJobs)", ex); throw ex; } }
public ContentResult ImportWipDiscreteJobsEditSave(AscmDiscreteJobs ascmDiscreteJobs_Model, int? id) { JsonObjectResult jsonObjectResult = new JsonObjectResult(); try { string userName = string.Empty; if (User.Identity.IsAuthenticated) { userName = User.Identity.Name; } AscmDiscreteJobs ascmDiscreteJobs = null; if (id.HasValue) { ascmDiscreteJobs = AscmDiscreteJobsService.GetInstance().Get(id.Value); ascmDiscreteJobs.modifyUser = userName; ascmDiscreteJobs.modifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); } //if (!string.IsNullOrEmpty(ascmDiscreteJobs_Model.tip)) ascmDiscreteJobs.tip = ascmDiscreteJobs_Model.tip; if (id.HasValue) { object object1 = YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select count(*) from AscmDiscreteJobs where jobId = '" + ascmDiscreteJobs_Model.jobId + "' and id <> " + id.Value); if (object1 == null) throw new Exception("查询异常!"); int iCount = 0; if (int.TryParse(object1.ToString(), out iCount) && iCount > 0) throw new Exception("已经存在此排产单信息【" + ascmDiscreteJobs_Model.jobId + "】!"); AscmDiscreteJobsService.GetInstance().Update(ascmDiscreteJobs); } jsonObjectResult.result = true; jsonObjectResult.message = ""; jsonObjectResult.id = ascmDiscreteJobs.id.ToString(); jsonObjectResult.entity = ascmDiscreteJobs; } catch (Exception ex) { jsonObjectResult.result = false; jsonObjectResult.message = ex.Message; } string sReturn = JsonConvert.SerializeObject(jsonObjectResult); return Content(sReturn); }
public ContentResult ImportWipDiscreteJobs(HttpPostedFileBase fileImport, AscmDiscreteJobs ascmDiscreteJobs_Model) { JsonObjectResult jsonObjectResult = new JsonObjectResult(); string sError = ""; DataTable dt = new DataTable(); int colsCount = 0; colsCount = int.TryParse(AscmCommonHelperService.DiscreteJobsImportParam.ToString(), out colsCount) ? colsCount : 8; StringBuilder sb = new StringBuilder(); string userName = string.Empty; string userRole = string.Empty; if (User.Identity.IsAuthenticated) { userName = User.Identity.Name; } userRole = AscmUserInfoService.GetInstance().GetUserRoleName(userName); try { for (int i = 0; i < colsCount; i++) { dt.Columns.Add("第" + i.ToString() + "列"); } if (fileImport != null) { string fileName = fileImport.FileName; string fileExtension = System.IO.Path.GetExtension(fileName).ToLower(); if (fileExtension != ".xls" && fileExtension != ".xlsx") throw new Exception("仅支持Excel-2003|Excel-2007的格式"); using (Stream stream = fileImport.InputStream) { NPOI.SS.UserModel.IWorkbook wb = NPOI.SS.UserModel.WorkbookFactory.Create(stream); ISheet sheet = wb.GetSheet("Sheet1"); IEnumerator rows = sheet.GetRowEnumerator(); while (rows.MoveNext()) { DataRow dr = dt.NewRow(); NPOI.SS.UserModel.IRow row = (NPOI.SS.UserModel.IRow)rows.Current; if (row.RowNum != 0) { List<NPOI.SS.UserModel.ICell> iCellList = new List<NPOI.SS.UserModel.ICell>(); for (int i = 0; i < colsCount; i++) { NPOI.SS.UserModel.ICell iCell = row.GetCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK); iCellList.Add(iCell); } for (int i = 0; i < dt.Columns.Count; i++) { if (iCellList[i] != null) dr[i] = iCellList[i].ToString(); } dt.Rows.Add(dr); } sb.Append(dr[0].ToString()); } } if (dt.Rows.Count > 0) { List<AscmDiscreteJobs> list = new List<AscmDiscreteJobs>(); foreach (DataRow dr in dt.Rows) { //判断该排产单是否存在 object object1 = YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select count(*) from AscmDiscreteJobs where jobId = '" + dr[0].ToString() + "'"); if (object1 == null) throw new Exception("导入排产作业查询异常!"); int iCount = 0; object object2 = YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select count(*) from AscmWipEntities where name = '" + dr[0].ToString() + "'"); if (object2 == null) throw new Exception("ERP下载作业查询异常!"); int wipEntityId = AscmWipEntitiesService.GetInstance().GetWipEntityId(dr[0].ToString()); int iTotal = 0; if ((int.TryParse(object1.ToString(), out iCount) && iCount == 0) && (int.TryParse(object2.ToString(), out iTotal) && iTotal > 0)) { //数据赋值 AscmDiscreteJobs ascmDiscreteJobs = new AscmDiscreteJobs(); int maxId = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmDiscreteJobs") + list.Count; ascmDiscreteJobs.id = ++maxId; ascmDiscreteJobs.jobId = dr[0].ToString(); ascmDiscreteJobs.jobDate = Convert.ToDateTime(ExcelUtils.ParseDateTime(dr[1].ToString())).Date.ToString("yyyy-MM-dd"); ascmDiscreteJobs.jobInfoId = dr[2].ToString(); ascmDiscreteJobs.jobDesc = dr[3].ToString(); ascmDiscreteJobs.count = Convert.ToInt32(dr[4].ToString()); ascmDiscreteJobs.productLine = dr[5].ToString().Substring(0, dr[5].ToString().IndexOf("(")); int length = dr[5].ToString().IndexOf("(") + 1; int ilength = dr[5].ToString().IndexOf(")") - dr[5].ToString().IndexOf("(") - 1; ascmDiscreteJobs.sequence = dr[5].ToString().Substring(dr[5].ToString().IndexOf("(") + 1, dr[5].ToString().IndexOf(")") - dr[5].ToString().IndexOf("(") - 1); ascmDiscreteJobs.tip = dr[6].ToString(); ascmDiscreteJobs.status = 1; ascmDiscreteJobs.identificationId = ascmDiscreteJobs_Model.identificationId; ascmDiscreteJobs.onlineTime = dr[7].ToString(); ascmDiscreteJobs.time = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.createUser = userName; ascmDiscreteJobs.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.modifyUser = userName; ascmDiscreteJobs.modifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.workerId = userName; //吴华允于2015年7月28日添加 ascmDiscreteJobs.personName = ascmDiscreteJobs_Model.personName; string dateTime = DateTime.Now.Date.ToString("yyyy-MM-dd"); int maxWhich = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(which) from AscmDiscreteJobs where workerId = '" + userName + "' and time like '" + dateTime + "%' and status = 2"); ascmDiscreteJobs.which = ++maxWhich; ascmDiscreteJobs.wipEntityId = wipEntityId; list.Add(ascmDiscreteJobs); } else if ((int.TryParse(object1.ToString(), out iCount) && iCount > 0) && (int.TryParse(object2.ToString(), out iTotal) && iTotal > 0)) { sError += "已存在该排产作业号[" + dr[0].ToString() + "] <br />"; } else if ((int.TryParse(object1.ToString(), out iCount) && iCount == 0) && (int.TryParse(object2.ToString(), out iTotal) && iTotal == 0)) { if (!string.IsNullOrEmpty(dr[0].ToString())) sError += "不存在ERP作业号[" + dr[0].ToString() + "] <br />"; } } if (list != null && list.Count > 0) { AscmDiscreteJobsService.GetInstance().Save(list); jsonObjectResult.result = true; } jsonObjectResult.message = sError; } } } catch (Exception ex) { jsonObjectResult.result = false; jsonObjectResult.message = ex.Message; } string sReturn = JsonConvert.SerializeObject(jsonObjectResult); return Content(sReturn); }
public void Update(AscmDiscreteJobs ascmDiscreteJobs) { try { using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction()) { try { YnDaoHelper.GetInstance().nHibernateHelper.Update<AscmDiscreteJobs>(ascmDiscreteJobs); tx.Commit();//正确执行提交 } catch (Exception ex) { tx.Rollback();//回滚 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmDiscreteJobs)", ex); throw ex; } } } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Save AscmDiscreteJobs)", ex); throw ex; } }
public ContentResult DiscreteJobsSave(HttpPostedFileBase fileLoad, AscmDiscreteJobs ascmDiscreteJobs_Model, int? id) { JsonObjectResult jsonObjectResult = new JsonObjectResult(); DataTable dt = null; StringBuilder sb = new StringBuilder(); try { string userName = string.Empty; string userRole = string.Empty; if (User.Identity.IsAuthenticated) { userName = User.Identity.Name; List<YnRole> listYnRole = YnRoleService.GetInstance().GetListInUser(userName); foreach (YnRole role in listYnRole) { if (role.name == "总装排产员" || role.name == "电装排产员") { userRole = role.name; } } } AscmDiscreteJobs ascmDiscreteJobs = null; //string fileUrl = ""; if (fileLoad != null) { string fileName = fileLoad.FileName; string fileExtension = System.IO.Path.GetExtension(fileName).ToLower(); if (fileExtension != ".xls") throw new Exception("仅支持Excel-2003的格式"); #region //上传Excel文件 //string serverPath = Server.MapPath(Request.ApplicationPath); //string serverDirectory = System.IO.Path.Combine(serverPath, "_data\\UnloadingExcelFile"); //if (!Directory.Exists(serverDirectory)) //{ // Directory.CreateDirectory(serverDirectory); //} //string serverFileName = System.IO.Path.GetFileNameWithoutExtension(fileName) + "_" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + fileExtension; //string serverFilePath = System.IO.Path.Combine(serverDirectory, serverFileName); //fileLoad.SaveAs(serverFilePath); //fileUrl = (Request.ApplicationPath == "/" ? "" : Request.ApplicationPath) + "/_data/UnloadingExcelFile/" + serverFileName; //通过文件流转换byte[]最终转换为读取Excel文件数据的内存流 //FileStream fileStream = new FileStream(fileLoad.FileName, FileMode.Open, FileAccess.Read, FileShare.Read); //byte[] bytes = new byte[fileStream.Length]; //fileStream.Read(bytes, 0, bytes.Length); //fileStream.Close(); #endregion Stream stream = fileLoad.InputStream; byte[] bytes = new byte[fileLoad.ContentLength]; stream.Read(bytes, 0, bytes.Length); stream.Close(); try { using (MemoryStream memoryStream = new MemoryStream(bytes)) { dt = ExcelUtils.TranslateToTable(memoryStream, "sheet1"); } //int icount = dt.Rows.Count; //得到Excel的行数 if (dt.Rows.Count > 0) { List<string> ListString = new List<string>(); foreach (DataRow dr in dt.Rows) { //判断该排产单是否存在 object object1 = YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select count(*) from AscmDiscreteJobs where jobId = '" + dr[0].ToString() + "'"); if (object1 == null) throw new Exception("查询异常!"); int iCount = 0; object object2 = YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select count(*) from AscmWipEntities where name = '" + dr[0].ToString() + "'"); if (object2 == null) throw new Exception("查询异常!"); int iTotal = 0; if ((int.TryParse(object1.ToString(), out iCount) && iCount == 0) && (int.TryParse(object2.ToString(), out iTotal) && iTotal > 0)) { //数据赋值 ascmDiscreteJobs = new AscmDiscreteJobs(); int maxId = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmDiscreteJobs"); ascmDiscreteJobs.id = ++maxId; ascmDiscreteJobs.jobId = dr[0].ToString(); ascmDiscreteJobs.jobDate = Convert.ToDateTime(ExcelUtils.ParseDateTime(dr[1].ToString())).Date.ToString("yyyy-MM-dd"); ascmDiscreteJobs.jobInfoId = dr[2].ToString(); ascmDiscreteJobs.jobDesc = dr[3].ToString(); ascmDiscreteJobs.count = Convert.ToInt32(dr[4].ToString()); ascmDiscreteJobs.productLine = dr[5].ToString().Substring(0, dr[5].ToString().IndexOf("(")); int length = dr[5].ToString().IndexOf("(") + 1; int ilength = dr[5].ToString().IndexOf(")") - dr[5].ToString().IndexOf("(") - 1; ascmDiscreteJobs.sequence = dr[5].ToString().Substring(dr[5].ToString().IndexOf("(") + 1, dr[5].ToString().IndexOf(")") - dr[5].ToString().IndexOf("(") - 1); ascmDiscreteJobs.tip = dr[6].ToString(); ascmDiscreteJobs.status = 1; if (userRole == "总装排产员") { ascmDiscreteJobs.identificationId = 1; } else if (userRole == "电装排产员") { ascmDiscreteJobs.identificationId = 2; } else { ascmDiscreteJobs.identificationId = 0; } if (ascmDiscreteJobs.identificationId == 2) { ascmDiscreteJobs.onlineTime = "上午"; } else { ascmDiscreteJobs.onlineTime = dr[7].ToString(); } ascmDiscreteJobs.time = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.createUser = userName; ascmDiscreteJobs.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.modifyUser = userName; ascmDiscreteJobs.modifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); ascmDiscreteJobs.workerId = userName; string dateTime = DateTime.Now.Date.ToString("yyyy-MM-dd"); int maxWhich = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(which) from AscmDiscreteJobs where workerId = '" + userName + "' and time like '" + dateTime + "%' and status = 2"); ascmDiscreteJobs.which = ++maxWhich; AscmDiscreteJobsService.GetInstance().Save(ascmDiscreteJobs); } else if ((int.TryParse(object1.ToString(), out iCount) && iCount > 0) || (int.TryParse(object2.ToString(), out iTotal) && iTotal == 0)) { ListString.Add(dr[0].ToString()); } } if (ListString.Count > 0) { foreach (string item in ListString) { if (!string.IsNullOrEmpty(sb.ToString())) sb.Append(","); sb.Append(item.ToString()); } } } } catch (Exception ex) { throw ex; } } jsonObjectResult.result = true; jsonObjectResult.message = sb.ToString(); } catch (Exception ex) { jsonObjectResult.message = ex.Message; } string sReturn = JsonConvert.SerializeObject(jsonObjectResult); return Content(sReturn); }
public AscmDiscreteJobs containsJob(List<AscmDiscreteJobs> listJobs, AscmDiscreteJobs job) { if (listJobs.Count == 0) return null; foreach (AscmDiscreteJobs item in listJobs) { if (item.jobId == job.jobId) return item; } return null; }