public ActionResult GetDemissionInfoByID(ProcessIDTraConfigVM searchParm, Page page) { var apiUrl = string.Format("ProcessIDTRSConfig/GetProcessIDConfigDataAPI"); HttpResponseMessage responMessage = APIHelper.APIPostAsync(searchParm, page, apiUrl); //HttpResponseMessage responMessage = APIHelper.APIGetAsync(apiUrl); var result = responMessage.Content.ReadAsStringAsync().Result; return(Content(result, "application/json")); }
public string ImportProcessIDTraConfig(HttpPostedFileBase uploadName) { string errorInfo = string.Empty; using (var xlPackage = new ExcelPackage(uploadName.InputStream)) { var worksheet = xlPackage.Workbook.Worksheets.FirstOrDefault(); int totalRows = worksheet.Dimension.End.Row; int totalColumns = worksheet.Dimension.End.Column; if (worksheet == null) { errorInfo = "没有worksheet内容"; return(errorInfo); } //确定专案 var FlowChatMasterHead = new[] { "客户", "专案", "生产阶段", "部件", }; var iRow = 1; bool isExcelError = false; for (var i = 1; i <= FlowChatMasterHead.Length; i++) { if (worksheet.Cells[iRow, i].Value != null && !String.IsNullOrEmpty(worksheet.Cells[iRow, i].Value.ToString())) { var resultsheet = worksheet.Cells[1, i].Value.ToString(); var hasItem = FlowChatMasterHead.FirstOrDefault(m => m.Contains(resultsheet)); if (hasItem == null) { isExcelError = true; break; } } else { isExcelError = true; break; } } if (isExcelError) { errorInfo = "Excel格式不正确"; return(errorInfo); } //头样式设置 var propertiesHead = new[] { "PIS-绑定序号", "PIS-制程名字", "MES-不良数流水号", "MES-领料数流水号", "MES-良品数流水号", "MES-返工返修流水号", "颜色", "是否启用", "是否同步NG", "备注信息", }; //1 验证表头 for (int i = 1; i <= propertiesHead.Length; i++) { if (worksheet.Cells[3, i].Value != null && !string.IsNullOrWhiteSpace(worksheet.Cells[3, i].Value.ToString())) { var resultsheet = worksheet.Cells[3, i].Value.ToString(); var hasItem = propertiesHead.FirstOrDefault(m => m.Contains(resultsheet)); if (hasItem == null) { isExcelError = true; break; } } else { isExcelError = true; break; } } if (isExcelError) { errorInfo = "Excel格式不正确"; return(errorInfo); } iRow = 2; string BU_D_Name = ExcelHelper.ConvertColumnToString(worksheet.Cells[iRow, ExcelHelper.GetColumnIndex(FlowChatMasterHead, "客户")].Value); string Project_Name = ExcelHelper.ConvertColumnToString(worksheet.Cells[iRow, ExcelHelper.GetColumnIndex(FlowChatMasterHead, "专案")].Value); string Product_Phase = ExcelHelper.ConvertColumnToString(worksheet.Cells[iRow, ExcelHelper.GetColumnIndex(FlowChatMasterHead, "生产阶段")].Value); string Part_Types = ExcelHelper.ConvertColumnToString(worksheet.Cells[iRow, ExcelHelper.GetColumnIndex(FlowChatMasterHead, "部件")].Value); int FlowChartMaster_UID = 0; if (!string.IsNullOrEmpty(BU_D_Name) && !string.IsNullOrEmpty(Project_Name) && !string.IsNullOrEmpty(Part_Types) && !string.IsNullOrEmpty(Product_Phase)) { //获取对应的FlowCharMaster var flowChartMasterIDAPI = string.Format("FlowChart/GetFlowChartMasterID?BU_D_Name={0}&Project_Name={1}&Part_Types={2}&Product_Phase={3}", BU_D_Name, Project_Name, Part_Types, Product_Phase); HttpResponseMessage plantsmessage = APIHelper.APIGetAsync(flowChartMasterIDAPI); var flowChartMasterID = plantsmessage.Content.ReadAsStringAsync().Result; FlowChartMaster_UID = int.Parse(flowChartMasterID); if (int.Parse(flowChartMasterID) == 0) { return(string.Format("未找到对应:客户:{0},专案:{1},部件类型:{2},生产阶段:{3}", BU_D_Name, Project_Name, Part_Types, Product_Phase)); } } var ProIDTraConfList = new List <ProcessIDTraConfigVM>(); for (int i = 4; i <= totalRows; i++) { var PIS_ProcessID = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 1].Value); var PIS_ProcessName = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 2].Value); var MES_NgID = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 3].Value); var MES_PickingID = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 4].Value); var MES_GoodProductID = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 5].Value); var MES_ReworkID = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 6].Value); var Color = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 7].Value); var IsEnable = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 8].Value); var IsSyncNG = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 9].Value); var ReMark = ExcelHelper.ConvertColumnToString(worksheet.Cells[i, 10].Value); #region 验证栏位 if (string.IsNullOrEmpty(PIS_ProcessID)) { errorInfo = string.Format("第[{0}]PIS-绑定序号", i); return(errorInfo); } //Product_Date = Convert.ToDateTime(worksheet.Cells[iRow, 3].Value); if (string.IsNullOrEmpty(PIS_ProcessName.ToString())) { errorInfo = string.Format("第[{0}]PIS-制程名字", i); return(errorInfo); } if (string.IsNullOrEmpty(MES_NgID)) { errorInfo = string.Format("第[{0}]MES-不良数流水号", i); return(errorInfo); } if (string.IsNullOrEmpty(MES_PickingID)) { errorInfo = string.Format("第[{0}]MES-领料数流水号", i); return(errorInfo); } if (string.IsNullOrEmpty(MES_NgID)) { errorInfo = string.Format("第[{0}]MES_NG数流水号", i); return(errorInfo); } if (string.IsNullOrEmpty(MES_GoodProductID)) { errorInfo = string.Format("第[{0}]MES_不良数流水号", i); return(errorInfo); } if (string.IsNullOrEmpty(MES_ReworkID)) { errorInfo = string.Format("第[{0}]MES-返工返修流水号", i); return(errorInfo); } if (string.IsNullOrEmpty(Color)) { errorInfo = string.Format("第[{0}]颜色", i); return(errorInfo); } if (string.IsNullOrEmpty(IsEnable)) { errorInfo = string.Format("第[{0}] 是否启用", i); return(errorInfo); } if (string.IsNullOrEmpty(IsSyncNG)) { errorInfo = string.Format("第[{0}]MES-是否同步NG", i); return(errorInfo); } #endregion ProcessIDTraConfigVM item = new ProcessIDTraConfigVM(); item.Binding_Seq = int.Parse(PIS_ProcessID); item.PIS_ProcessName = PIS_ProcessName; item.MES_NgID = MES_NgID; item.MES_PickingID = MES_PickingID; item.MES_ReworkID = MES_ReworkID; item.Modified_UID = this.CurrentUser.GetUserInfo.Account_UID; item.Modified_Date = DateTime.Now; item.ReMark = ReMark; item.FlowChart_Master_UID = FlowChartMaster_UID; item.Color = Color; item.MES_GoodProductID = MES_GoodProductID; item.IsEnabled = int.Parse(IsEnable) == 1 ? true : false; item.IsSyncNG = int.Parse(IsSyncNG) == 1 ? true : false; ProIDTraConfList.Add(item); } if (ProIDTraConfList.Distinct().Count() != totalRows - 3) { errorInfo = "导入的Excel有重复行"; return(errorInfo); } //检查数据库是否有重复 string json = JsonConvert.SerializeObject(ProIDTraConfList); //var checkApiUrl = string.Format("ProcessIDTRSConfig/IsExist"); //HttpResponseMessage checkResponMessage = APIHelper.APIPostAsync(json, checkApiUrl); ////var IsExist = checkResponMessage.Content.ReadAsStringAsync().Result; //if (IsExist == "True") //{ // errorInfo = "导入的Excel有重复行"; // return errorInfo; //} var apiUrl = string.Format("ProcessIDTRSConfig/AddProcessIDTRSConfigAPI"); HttpResponseMessage responMessage = APIHelper.APIPostAsync(json, apiUrl); var result = responMessage.Content.ReadAsStringAsync().Result; if (result.Contains("SUCCESS")) { return("SUCCESS"); } else { return(result); } } }