|  |  |  | @ -14,6 +14,8 @@ using Newtonsoft.Json.Linq; | 
			
		
	
		
			
				
					|  |  |  |  | using FactorySystemApi.Plm_Formula; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Linq; | 
			
		
	
		
			
				
					|  |  |  |  | using SqlSugar; | 
			
		
	
		
			
				
					|  |  |  |  | using Aspose.Cells; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Web; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
	
		
			
				
					|  |  |  | @ -145,18 +147,18 @@ namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  |                                     TeamworkBll.CreateProductView(teamwork, null, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                     // 20230726 不论新增或暂存,都在创建协同时生成成品事项 | 
			
		
	
		
			
				
					|  |  |  |  |                                     //BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                     //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  |                                     BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                     BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                     //开始BOM下载 | 
			
		
	
		
			
				
					|  |  |  |  |                                     DockGetBomData(teamwork.FID, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                                 } | 
			
		
	
		
			
				
					|  |  |  |  |                                 else { | 
			
		
	
		
			
				
					|  |  |  |  |                                     TeamworkBll.CreateProductView(teamwork, materialList, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                                      | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                     // 20230726 不论新增或暂存,都在创建协同时生成成品事项 | 
			
		
	
		
			
				
					|  |  |  |  |                                     //BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                     //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  |                                     BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                     BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                     TeamworkBll.HasMaterialTestCode(teamwork); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -189,10 +191,10 @@ namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  |                             else | 
			
		
	
		
			
				
					|  |  |  |  |                             { | 
			
		
	
		
			
				
					|  |  |  |  |                                 // 20230726 不论新增或暂存,都在创建协同时生成成品事项 | 
			
		
	
		
			
				
					|  |  |  |  |                                 //TFS_FTeamwork teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId); | 
			
		
	
		
			
				
					|  |  |  |  |                                 //TeamworkBll.CreateProductView(teamwork, null, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                                 //BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                 //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  |                                 TFS_FTeamwork teamwork = BaseBll.GetTempModel<TFS_FTeamwork>(teamId); | 
			
		
	
		
			
				
					|  |  |  |  |                                 TeamworkBll.CreateProductView(teamwork, null, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                                 BaseBll.CreateTaskData(teamwork.FID, user.FID, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); | 
			
		
	
		
			
				
					|  |  |  |  |                                 BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                 BaseBll.CreateTaskData(teamId, user.FID, ((int)Constant.TaskType.配方选择).ToString()); | 
			
		
	
		
			
				
					|  |  |  |  |                                 BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.协同发起, 1, 1); | 
			
		
	
	
		
			
				
					|  |  |  | @ -236,13 +238,20 @@ namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  |                         List<TFS_Material> materialList = TeamworkBll.CheckMaterialListByTest(teamwork.FTestCode, teamwork.FVersionCode); | 
			
		
	
		
			
				
					|  |  |  |  |                         if (materialList.Count == 0) | 
			
		
	
		
			
				
					|  |  |  |  |                         { | 
			
		
	
		
			
				
					|  |  |  |  |                             TeamworkBll.CreateProductView(teamwork, null, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                             if (!TeamworkBll.UpdateProductView(teamwork, user.FID)) | 
			
		
	
		
			
				
					|  |  |  |  |                             { | 
			
		
	
		
			
				
					|  |  |  |  |                                 TeamworkBll.CreateProductView(teamwork, null, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                             }                             | 
			
		
	
		
			
				
					|  |  |  |  |                             //开始BOM下载 | 
			
		
	
		
			
				
					|  |  |  |  |                             DockGetBomData(teamwork.FID, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                         else | 
			
		
	
		
			
				
					|  |  |  |  |                         { | 
			
		
	
		
			
				
					|  |  |  |  |                             TeamworkBll.CreateProductView(teamwork, materialList, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                             if (!TeamworkBll.UpdateProductView(teamwork, user.FID)) | 
			
		
	
		
			
				
					|  |  |  |  |                             { | 
			
		
	
		
			
				
					|  |  |  |  |                                 TeamworkBll.CreateProductView(teamwork, materialList, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                             TeamworkBll.HasMaterialTestCode(teamwork); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                             /** | 
			
		
	
	
		
			
				
					|  |  |  | @ -267,6 +276,7 @@ namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  |                             //BaseBll.UpdateTeamProcess(teamId, (int)Constant.ProcessType.成品视图, 2, 1); | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                         TeamworkBll.ChangeTeamProcess(teamId); | 
			
		
	
		
			
				
					|  |  |  |  |                         TeamworkBll.CloseUpdateTeamTask(teamId); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 apiResult.Data = inParam["FID"]; | 
			
		
	
	
		
			
				
					|  |  |  | @ -795,6 +805,75 @@ namespace FactorySystemApi.Controllers | 
			
		
	
		
			
				
					|  |  |  |  |             return ""; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         /// <summary> | 
			
		
	
		
			
				
					|  |  |  |  |         /// 获取JObject值 | 
			
		
	
		
			
				
					|  |  |  |  |         /// </summary> | 
			
		
	
		
			
				
					|  |  |  |  |         [HttpPost] | 
			
		
	
		
			
				
					|  |  |  |  |         public ApiResult UploadTeamworkFile() | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             ApiResult apiResult = new ApiResult(); | 
			
		
	
		
			
				
					|  |  |  |  |             string filePath = ""; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             return ExceptionHelper.TryReturnException(() => | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 var files = HttpContext.Current.Request.Files; | 
			
		
	
		
			
				
					|  |  |  |  |                 if (files != null && files.Count > 0) | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     ApiAuthInfo authInfo = Request.Properties["token"] as ApiAuthInfo; | 
			
		
	
		
			
				
					|  |  |  |  |                     string[] exts = ".xlsx,.xls".Split(','); | 
			
		
	
		
			
				
					|  |  |  |  |                     string saveBase = string.Format("/Upload/{0}/" + authInfo.FID + "/", "Teamwork"); | 
			
		
	
		
			
				
					|  |  |  |  |                     saveBase = System.Web.Hosting.HostingEnvironment.MapPath(saveBase); | 
			
		
	
		
			
				
					|  |  |  |  |                     if (!Directory.Exists(saveBase)) Directory.CreateDirectory(saveBase); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     for (int i = 0; i < files.Count; i++) | 
			
		
	
		
			
				
					|  |  |  |  |                     { | 
			
		
	
		
			
				
					|  |  |  |  |                         string ext = Path.GetExtension(files[i].FileName).ToLower(); | 
			
		
	
		
			
				
					|  |  |  |  |                         if (Array.IndexOf(exts, ext) != -1) | 
			
		
	
		
			
				
					|  |  |  |  |                         { | 
			
		
	
		
			
				
					|  |  |  |  |                             filePath = saveBase + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + i + ext; | 
			
		
	
		
			
				
					|  |  |  |  |                             files[i].SaveAs(filePath); | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                         ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo; | 
			
		
	
		
			
				
					|  |  |  |  |                         //apiResult.Data = CheckUploadFile(fileList, FFuncType, user.FID); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             }, apiResult, Request); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         /// <summary> | 
			
		
	
		
			
				
					|  |  |  |  |         /// 批量上传协同信息 | 
			
		
	
		
			
				
					|  |  |  |  |         /// </summary> | 
			
		
	
		
			
				
					|  |  |  |  |         public int ReadTeamworkExcel(string file) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             int teams = 0; | 
			
		
	
		
			
				
					|  |  |  |  |             Workbook wb = new Workbook("file"); | 
			
		
	
		
			
				
					|  |  |  |  |             Worksheet ws = wb.Worksheets[0]; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             // 遍历工作表中的所有单元格,读取其中的数据 | 
			
		
	
		
			
				
					|  |  |  |  |             for (int row = 1; row <= ws.Cells.MaxDataRow; row++) | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 //ws.Cells[row, 0].Value; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 Dictionary<string, object> inParam = new Dictionary<string, object>(); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FMaterialType", "ZMAT"); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FSaleCode", ws.Cells[row, 0].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FPackCode", ws.Cells[row, 1].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FCreateFactoryID", ws.Cells[row, 2].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FMaterialGroup", ws.Cells[row, 3].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FTestCode", ws.Cells[row, 4].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FWeightUnit", ws.Cells[row, 5].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FFormulaName", ws.Cells[row, 6].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FState", ws.Cells[row, 7].Value); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FFormulaID", ""); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FVersionCode", ""); | 
			
		
	
		
			
				
					|  |  |  |  |                 inParam.Add("FFormulaTestCode", ""); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             return teams; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         #endregion | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         #region 内部方法 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |