@ -14,6 +14,7 @@ using Newtonsoft.Json.Linq;
 
			
		
	
		
			
				
					using  FactorySystemApi.Plm_Formula ;  
			
		
	
		
			
				
					using  System.Linq ;  
			
		
	
		
			
				
					using  SqlSugar ;  
			
		
	
		
			
				
					using  System.Globalization ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					namespace  FactorySystemApi.Controllers  
			
		
	
		
			
				
					{  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -40,6 +41,114 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					            InsertField  =  UpdateField  =  "" ; 
 
			
		
	
		
			
				
					        } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        /// <summary> 
 
			
		
	
		
			
				
					        /// 更新试验号 
 
			
		
	
		
			
				
					        /// </summary> 
 
			
		
	
		
			
				
					        /// <param name="inParam"></param> 
 
			
		
	
		
			
				
					        /// <returns></returns> 
 
			
		
	
		
			
				
					        //public ApiResult EditFTestCode(Dictionary<string, object> inParam)  
 
			
		
	
		
			
				
					        //{ 
 
			
		
	
		
			
				
					        //    int teamId = 0; 
 
			
		
	
		
			
				
					        //    ApiResult apiResult = new ApiResult(); 
 
			
		
	
		
			
				
					        //    return ExceptionHelper.TryReturnException(() => { 
 
			
		
	
		
			
				
					        //        if (inParam.ContainsKey("FTestCode") && inParam.ContainsKey("FNewTestCode") && inParam.ContainsKey("FCreateFactoryID"))  
 
			
		
	
		
			
				
					        //        { 
 
			
		
	
		
			
				
					        //            inParam.TryGetValue("FState", out object state); 
 
			
		
	
		
			
				
					        //            if (null == state) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam["FState"] = state = 1; 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            inParam.Remove("FID"); 
 
			
		
	
		
			
				
					        //            ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo; 
 
			
		
	
		
			
				
					        //            if (inParam.ContainsKey("FAddUser")) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam["FAddUser"] = user.FID; 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            else 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Add("FAddUser", user.FID); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            if (inParam.ContainsKey("FEditUser")) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam["FEditUser"] = user.FID; 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            else 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Add("FEditUser", user.FID); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            if (inParam.ContainsKey("FEditDate")) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam["FEditDate"] = DateTime.Now; 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            else 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Add("FEditDate", DateTime.Now); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //            TFS_Factory factory = BaseBll.GetTempModel<TFS_Factory>(int.Parse(inParam["FCreateFactoryID"].ToString())); 
 
			
		
	
		
			
				
					        //            if (inParam.ContainsKey("FCreateFactoryID")) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Remove("FCreateFactoryID"); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            inParam.Add("FCreateFactoryID", factory.FID); 
 
			
		
	
		
			
				
					        //            inParam.Add("FCreateFactoryCode", factory.FCode); 
 
			
		
	
		
			
				
					        //            inParam.Add("FCreateFactoryType", factory.FType); 
 
			
		
	
		
			
				
					        //            if (factory.FType != (int)Constant.FactoryType.单工厂) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                factory = BaseBll.GetTempModel<TFS_Factory>(factory.FFactoryID); 
 
			
		
	
		
			
				
					        //                inParam.Add("FProdFactoryID", factory.FID); 
 
			
		
	
		
			
				
					        //                inParam.Add("FProdFactoryCode", factory.FCode); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            else 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Add("FProdFactoryID", factory.FID); 
 
			
		
	
		
			
				
					        //                inParam.Add("FProdFactoryCode", factory.FCode); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //            if (!inParam.ContainsKey("FSaleCode")) 
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                inParam.Add("FSaleCode", ""); 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //            //创建 TFS_HalfMaterialFTeamwork  
 
			
		
	
		
			
				
					        //            teamId = BaseBll.InsertDataModel(inParam, "TFS_HalfMaterialFTeamwork"); 
 
			
		
	
		
			
				
					        //            //更新试验号 
 
			
		
	
		
			
				
					        //            List<TFS_Material> editMaterialList = MaterialTeamworkBll.UpdateFormula(inParam["FTestCode"].ToString(), inParam["FNewTestCode"].ToString(), teamId); 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //            if (teamId > 0)  
 
			
		
	
		
			
				
					        //            { 
 
			
		
	
		
			
				
					        //                //创建流程 
 
			
		
	
		
			
				
					        //                int resultProcessCreate = MaterialTeamworkBll.CreateProcessData(teamId, user.FID); 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //                TFS_HalfMaterialFTeamwork teamwork = BaseBll.GetTempModel<TFS_HalfMaterialFTeamwork>(teamId); 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //                MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID); 
 
			
		
	
		
			
				
					        //                //开始BOM下载 
 
			
		
	
		
			
				
					        //                int dow = DockGetBomData(teamwork.FID, user.FID); 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //                //判断是否有新的BOM物料,  
 
			
		
	
		
			
				
					        //                if (dow > 0 || editMaterialList.Count() > 0) 
 
			
		
	
		
			
				
					        //                { 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        //                    BaseBll.CreateTaskData2(teamwork.FID, user.FID, "1"); //新增物料分类事项 
 
			
		
	
		
			
				
					        //                    BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialProcessType.物料分类, 2, 1); // 更新物料分类流程 
 
			
		
	
		
			
				
					        //                } 
 
			
		
	
		
			
				
					        //                else 
 
			
		
	
		
			
				
					        //                { 
 
			
		
	
		
			
				
					        //                    BaseBll.DeleteDataById(teamId, "TFS_HalfMaterialFTeamwork", true); 
 
			
		
	
		
			
				
					        //                    apiResult.Error("未能找到物料"); 
 
			
		
	
		
			
				
					        //                } 
 
			
		
	
		
			
				
					        //            } 
 
			
		
	
		
			
				
					        //        } 
 
			
		
	
		
			
				
					        //        else 
 
			
		
	
		
			
				
					        //        { 
 
			
		
	
		
			
				
					        //            apiResult.Error("保存失败"); 
 
			
		
	
		
			
				
					        //        } 
 
			
		
	
		
			
				
					        //    }, apiResult, Request, inParam); 
 
			
		
	
		
			
				
					        //} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        /// <summary> 
 
			
		
	
		
			
				
					        /// 获取子项集合 
 
			
		
	
		
			
				
					        /// </summary> 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -149,7 +258,7 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					                        //创建 TFS_FTeamwork  
 
			
		
	
		
			
				
					                        int  teamId  =  BaseBll . InsertDataModel ( inParam ,  "TFS_HalfMaterialFTeamwork" ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        List < TFS_Material >  editMaterialList  =  MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) ,  inParam [ "FNewTestCode" ] . ToString ( ) ,  teamId ; 
 
			
		
	
		
			
				
					                        List < TFS_Material >  editMaterialList  =  MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) ,  inParam [ "FNewTestCode" ] . ToString ( ) ,  teamId , factory . FID  ); 
 
			
		
	
		
			
				
					                        ids  =  editMaterialList . Select ( m  = >  m . FID ) . Distinct ( ) . ToList ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        apiResult . Data  =  teamId ; 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -165,20 +274,38 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					                                { 
 
			
		
	
		
			
				
					                                    TFS_HalfMaterialFTeamwork  teamwork  =  BaseBll . GetTempModel < TFS_HalfMaterialFTeamwork > ( teamId ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                    MaterialTeamworkBll . CreateProductView ( teamwork ,  editMaterialList ,  user . FID ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                    //if (editMaterialList.Count() == 0)  
 
			
		
	
		
			
				
					                                    //{ 
 
			
		
	
		
			
				
					                                    //    MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); 
 
			
		
	
		
			
				
					                                    //} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                    //if (editMaterialList.Count() == 0) 
 
			
		
	
		
			
				
					                                    //{ 
 
			
		
	
		
			
				
					                                    //    //MaterialTeamworkBll.CreateProductView(teamwork, null, user.FID); 
 
			
		
	
		
			
				
					                                    //    TFS_Material material = editMaterialList.Find(s => s.FType == "20");//默认取第一个20的,  
 
			
		
	
		
			
				
					                                    //    if (material == null) material = editMaterialList.FirstOrDefault(); 
 
			
		
	
		
			
				
					                                    //    db.Updateable<TFS_HalfMaterialFTeamwork>(new { FMaterialHalfIDs = material.FID }).Where(s => s.FID == teamwork.FID).ExecuteCommand(); 
 
			
		
	
		
			
				
					                                    //} 
 
			
		
	
		
			
				
					                                    //else 
 
			
		
	
		
			
				
					                                    //{ 
 
			
		
	
		
			
				
					                                    //    //MaterialTeamworkBll.CreateProductView(teamwork, editMaterialList, user.FID); 
 
			
		
	
		
			
				
					                                    //} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                    //开始BOM下载 
 
			
		
	
		
			
				
					                                    int  dow =  DockGetBomData ( teamwork . FID ,  user . FID ) ; 
 
			
		
	
		
			
				
					                                    if  ( dow  >  0 ) 
 
			
		
	
		
			
				
					                                    if  ( dow  >  0  | |  editMaterialList . Count ( ) > 0  ) 
 
			
		
	
		
			
				
					                                    { 
 
			
		
	
		
			
				
					                                        MaterialTeamworkBll . HasMaterialTestCode ( teamwork ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                                        BaseBll . CreateTaskData2 ( teamwork . FID ,  user . FID ,  "1" ) ;  //新增物料分类事项 
 
			
		
	
		
			
				
					                                        BaseBll . UpdateTeamProcess2 ( teamId ,  ( int ) Constant . HalfMaterialProcessType . 物 料 分 类 ,  2 ,  1 ) ;  // 更新物料分类流程 
 
			
		
	
		
			
				
					                                    } 
 
			
		
	
		
			
				
					                                    else 
 
			
		
	
		
			
				
					                                    { 
 
			
		
	
		
			
				
					                                        BaseBll . CreateTaskData2 ( teamId ,  user . FID ,  ( ( int ) Constant . HalfMaterialTask . BOM 下 载 ) . ToString ( ) ) ; 
 
			
		
	
		
			
				
					                                        BaseBll . UpdateTeamProcess2 ( teamId ,  ( int ) Constant . HalfMaterialTask . 物 料 分 类 ,  1 ,  1 ) ; 
 
			
		
	
		
			
				
					                                        BaseBll . DeleteDataById ( teamId ,  "TFS_HalfMaterialFTeamwork" ,  true ) ; 
 
			
		
	
		
			
				
					                                        apiResult . Error ( "未能找到物料" ) ; 
 
			
		
	
		
			
				
					                                        //BaseBll.CreateTaskData2(teamId, user.FID, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); 
 
			
		
	
		
			
				
					                                        //BaseBll.UpdateTeamProcess2(teamId, (int)Constant.HalfMaterialTask.物料分类, 1, 1); 
 
			
		
	
		
			
				
					                                    } 
 
			
		
	
		
			
				
					                                  
 
			
		
	
		
			
				
					                                } 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -199,7 +326,7 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					                    catch  ( Exception  ex ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        //失败则把修改的更新回去 
 
			
		
	
		
			
				
					                        MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) ,  inParam [ "FNewTestCode" ] . ToString ( ) , 0 , string . Join ( "," , ids ) ) ; 
 
			
		
	
		
			
				
					                        MaterialTeamworkBll . UpdateFormula ( inParam [ "FTestCode" ] . ToString ( ) ,  inParam [ "FNewTestCode" ] . ToString ( ) , 0 , 0 , string . Join ( "," , ids ) ) ; 
 
			
		
	
		
			
				
					                        throw ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					            
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -554,7 +681,7 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                TFS_Formula  formula  =  BaseBll . GetTempModel < TFS_Formula > ( string . Format ( "FTestCode='{0}'" ,  teamwork . FNewTestCode ) ) ; 
 
			
		
	
		
			
				
					                OAService  oAService  =  new  OAService ( ) ; 
 
			
		
	
		
			
				
					                specifList [ 0 ] . Code  =  teamwork . F TestCode; 
 
			
		
	
		
			
				
					                specifList [ 0 ] . Code  =  teamwork . F New TestCode; 
 
			
		
	
		
			
				
					                specifList [ 0 ] . Version  =  formula . FVersionCode ; 
 
			
		
	
		
			
				
					                RestResult  restResult  =  oAService . GetSpecificationsList ( specifList . ToArray ( ) ) ; 
 
			
		
	
		
			
				
					                string  bomStr  =  restResult . data  = =  null  ?  "[]"  :  restResult . data . ToString ( ) ; 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -597,36 +724,18 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					                        BaseBll . CreateTaskData2 ( teamwork . FID ,  userId ,  "1" ) ;  //新增物料分类事项 
 
			
		
	
		
			
				
					                        BaseBll . UpdateTeamProcess2 ( teamId ,  ( int ) Constant . HalfMaterialProcessType . 物 料 分 类 ,  2 ,  1 ) ;  // 更新物料分类流程 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        ////协同发起事项 
 
			
		
	
		
			
				
					                        //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.协同发起, 3, 2); 
 
			
		
	
		
			
				
					                        //BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.成品视图, 2, 1); 
 
			
		
	
		
			
				
					                        //if (teamwork.FPackID == -1) 
 
			
		
	
		
			
				
					                        //{ 
 
			
		
	
		
			
				
					                        //    BaseBll.CreateTaskData(teamwork.FID, userId, "9");//新增新包材事项 
 
			
		
	
		
			
				
					                        //    BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 2, 1); 
 
			
		
	
		
			
				
					                        //} 
 
			
		
	
		
			
				
					                        //else 
 
			
		
	
		
			
				
					                        //{ 
 
			
		
	
		
			
				
					                        //    BaseBll.UpdateTeamProcess(teamwork.FID, (int)Constant.ProcessType.组装BOM包含新包材, 3, 2); 
 
			
		
	
		
			
				
					                        //} 
 
			
		
	
		
			
				
					                        ////成品视图 
 
			
		
	
		
			
				
					                        //BaseBll.CreateTaskData(teamwork.FID, userId, "3", teamwork.FCreateFactoryID + "," + teamwork.FProdFactoryID); 
 
			
		
	
		
			
				
					                        ////补充包材规格 
 
			
		
	
		
			
				
					                        //BaseBll.CreateTaskData(teamwork.FID, userId, "14"); 
 
			
		
	
		
			
				
					                        ////成品视图物料组复核,有权限的所有 
 
			
		
	
		
			
				
					                        //BaseBll.CreateTaskData(teamwork.FID, userId, "12"); 
 
			
		
	
		
			
				
					                        OperateLogBll . Add ( teamwork . FID ,  2 ,  "BOM下载成功" ,  userId ) ; 
 
			
		
	
		
			
				
					                        HalfMaterialTeamworkBll . ChangeTeamProcess ( teamwork . FID ) ; 
 
			
		
	
		
			
				
					                        result  =  1 ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                
 
			
		
	
		
			
				
					                
 
			
		
	
		
			
				
					                    , 
 
			
		
	
		
			
				
					                    
 
			
		
	
		
			
				
					                    
 
			
		
	
		
			
				
					                    
 
			
		
	
		
			
				
					                
 
			
		
	
		
			
				
					                //else 
 
			
		
	
		
			
				
					                //{ 
 
			
		
	
		
			
				
					                //    OperateLogBll.Add(teamwork.FID, 2, "BOM下载失败,  
 
			
		
	
		
			
				
					                //    BaseBll.CreateTaskData2(teamwork.FID, userId, ((int)Constant.HalfMaterialTask.BOM下载).ToString()); 
 
			
		
	
		
			
				
					                //    BaseBll.UpdateTeamProcess2(teamwork.FID, (int)Constant.HalfMaterialTask.物料分类, 2, 1); 
 
			
		
	
		
			
				
					                //    HalfMaterialTeamworkBll.ChangeTeamProcess(teamwork.FID); 
 
			
		
	
		
			
				
					                //} 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            catch  ( Exception  ex ) 
 
			
		
	
		
			
				
					            { 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -797,280 +906,287 @@ namespace FactorySystemApi.Controllers
 
			
		
	
		
			
				
					        /// </summary> 
 
			
		
	
		
			
				
					        private  void  CreateExeclFile ( int  intType ,  string  savePath ,  string  selectSql ,  string  whereSql ,  string  joinSql ,  string  teamId ,  string  halfId ) 
 
			
		
	
		
			
				
					        { 
 
			
		
	
		
			
				
					            List < TFS_ViewFieldInfo >  filedList  =  MaterialTeamworkBll . GetTeamworkViewField ( intType ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            List < string >  fieldLists  =  new  List < string >  {  "父项编码" ,  "父项描述" ,  "基本数量"  } ; 
 
			
		
	
		
			
				
					            foreach  ( TFS_ViewFieldInfo  field  in  filedList ) 
 
			
		
	
		
			
				
					            try 
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                if  ( string . IsNullOrEmpty ( field . FField ) ) 
 
			
		
	
		
			
				
					                List < TFS_ViewFieldInfo >  filedList  =  MaterialTeamworkBll . GetTeamworkViewField ( intType ) ; 
 
			
		
	
		
			
				
					                List < string >  fieldLists  =  new  List < string >  {  "父项编码" ,  "父项描述" ,  "基本数量"  } ; 
 
			
		
	
		
			
				
					                foreach  ( TFS_ViewFieldInfo  field  in  filedList ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    string  str  =  field . FDefault ; 
 
			
		
	
		
			
				
					                    if  ( fieldLists . Contains ( field . FName ) )  
 
			
		
	
		
			
				
					                    if  ( string . IsNullOrEmpty ( field . FField ) ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        str = field . FDefault . Replace ( "a.FTeamID" ,  "a.FHalfMaterialTeamID" ) ; 
 
			
		
	
		
			
				
					                        string  str  =  field . FDefault ; 
 
			
		
	
		
			
				
					                        if  ( fieldLists . Contains ( field . FName ) ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            str  =  field . FDefault . Replace ( "a.FTeamID" ,  "a.FHalfMaterialTeamID" ) ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        selectSql  + =  string . Format ( "'{0}' as '{1}'" ,  string . IsNullOrEmpty ( field . FDefault )  ?  ""  :  str ,  field . FName ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    selectSql  + =  string . Format ( "'{0}' as '{1}'" ,  string . IsNullOrEmpty ( field . FDefault )  ?  ""  :  str ,  field . FName ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                else 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    string  str  =  field . FField ; 
 
			
		
	
		
			
				
					                    if  ( fieldLists . Contains ( field . FName ) ) 
 
			
		
	
		
			
				
					                    else 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        str  =  field . FField . Replace ( "a.FTeamID" ,  "a.FHalfMaterialTeamID" ) ; 
 
			
		
	
		
			
				
					                        string  str  =  field . FField ; 
 
			
		
	
		
			
				
					                        if  ( fieldLists . Contains ( field . FName ) ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            str  =  field . FField . Replace ( "a.FTeamID" ,  "a.FHalfMaterialTeamID" ) ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        selectSql  + =  string . Format ( "isnull({0},'') as '{1}'" ,  str ,  field . FName ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    selectSql  + =  string . Format ( "isnull({0},'') as '{1}'" ,  str ,  field . FName ) ; 
 
			
		
	
		
			
				
					                    selectSql  + =  " ,"; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                selectSql  + =  "," ; 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            selectSql  =  selectSql . Replace ( "@FTeamID@" ,  teamId ) ; 
 
			
		
	
		
			
				
					            selectSql  =  selectSql . Replace ( "@FMaterialID@" ,  halfId ) ; 
 
			
		
	
		
			
				
					            DataTable  dataList  =  new  DataTable ( ) ; 
 
			
		
	
		
			
				
					            if  ( intType  = =  ( int ) Constant . TeamViewType . 组 装 BOM 视 图 ) 
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                dataList  =  MaterialTeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  whereSql ,  joinSql ) ; 
 
			
		
	
		
			
				
					                dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                DataTable  dataList2  =  dataList . Copy ( ) ; 
 
			
		
	
		
			
				
					                List < bool >  hasField  =  new  List < bool > ( ) ; 
 
			
		
	
		
			
				
					                hasField . Add ( dataList . Columns . Contains ( "BOM用途" ) ) ; 
 
			
		
	
		
			
				
					                hasField . Add ( dataList . Columns . Contains ( "子项序号" ) ) ; 
 
			
		
	
		
			
				
					                hasField . Add ( dataList . Columns . Contains ( "组件损耗率" ) ) ; 
 
			
		
	
		
			
				
					                hasField . Add ( dataList . Columns . Contains ( "固定损耗数量" ) ) ; 
 
			
		
	
		
			
				
					                int  rowCount  =  dataList . Rows . Count ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                //生产组装BOM处理 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                selectSql  =  selectSql . Replace ( "@FTeamID@" ,  teamId ) ; 
 
			
		
	
		
			
				
					                selectSql  =  selectSql . Replace ( "@FMaterialID@" ,  string . IsNullOrWhiteSpace ( halfId )  ?  "-1"  :  halfId ) ; 
 
			
		
	
		
			
				
					                DataTable  dataList  =  new  DataTable ( ) ; 
 
			
		
	
		
			
				
					                if  ( intType  = =  ( int ) Constant . TeamViewType . 组 装 BOM 视 图 ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    if  ( hasField [ 0 ] )  dataList . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 1 ] )  dataList . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 2 ] )  dataList . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 3 ] )  dataList . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                    dataList . Rows [ i ] [ "可选文本" ]  =  "生产组装BOM" ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    dataList  =  MaterialTeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  whereSql ,  joinSql ) ; 
 
			
		
	
		
			
				
					                    dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    DataTable  dataList2  =  dataList . Copy ( ) ; 
 
			
		
	
		
			
				
					                    List < bool >  hasField  =  new  List < bool > ( ) ; 
 
			
		
	
		
			
				
					                    hasField . Add ( dataList . Columns . Contains ( "BOM用途" ) ) ; 
 
			
		
	
		
			
				
					                    hasField . Add ( dataList . Columns . Contains ( "子项序号" ) ) ; 
 
			
		
	
		
			
				
					                    hasField . Add ( dataList . Columns . Contains ( "组件损耗率" ) ) ; 
 
			
		
	
		
			
				
					                    hasField . Add ( dataList . Columns . Contains ( "固定损耗数量" ) ) ; 
 
			
		
	
		
			
				
					                    int  rowCount  =  dataList . Rows . Count ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                //计划组装BOM处理 
 
			
		
	
		
			
				
					                DataTable  dataList3  =  dataList2 . Copy ( ) ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    if  ( hasField [ 1 ] ) 
 
			
		
	
		
			
				
					                    //生产组装BOM处理 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 0 ] )  dataList . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] )  dataList . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 2 ] )  dataList . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ] )  dataList . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        dataList . Rows [ i ] [ "可选文本" ]  =  "生产组装BOM" ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    //计划组装BOM处理 
 
			
		
	
		
			
				
					                    DataTable  dataList3  =  dataList2 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ]  & &  ! string . IsNullOrEmpty ( dataList2 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) )  & &  ! dataList2 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) . Equals ( "0" ) ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ i ] [ "组件数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ i ] [ "固定损耗数量" ]  =  "X" ; 
 
			
		
	
		
			
				
					                            if  ( hasField [ 1 ] )  dataList3 . Rows [ i ] [ "子项序号" ]  =  ( i  +  rowCount  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ i ] [ "可选文本" ]  =  "计划组装BOM" ; 
 
			
		
	
		
			
				
					                            dataList2 . ImportRow ( dataList3 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ i ] [ "可选文本" ]  =  "计划组装BOM" ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    if  ( hasField [ 3 ]  & &  ! string . IsNullOrEmpty ( dataList2 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) )  & &  ! dataList2 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) . Equals ( "0" ) )  
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  dataList2 . Rows . Count ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "组件数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "固定损耗数量" ]  =  "X" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] )  dataList3 . Rows [ i ] [ "子项序号" ]  =  ( i  +  rowCount  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "可选文本" ]  =  "计划组装BOM" ; 
 
			
		
	
		
			
				
					                        dataList2 . ImportRow ( dataList3 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                        if  ( i  = =  0 )  dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                        dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    dataList2 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                    dataList2 . Rows [ i ] [ "可选文本" ]  =  "计划组装BOM" ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  dataList2 . Rows . Count ;  i + + ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    if  ( i  = =  0 )  dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                    dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            else  if  ( intType  = =  ( int ) Constant . TeamViewType . 配 方 视 图 ) 
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                //原始配方 
 
			
		
	
		
			
				
					                DataTable  dataList1  =  MaterialTeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  whereSql ) ; 
 
			
		
	
		
			
				
					                TFS_HalfMaterialFTeamwork  teamwork  =  BaseBll . GetTempModel < TFS_HalfMaterialFTeamwork > ( "FID="  +  teamId ) ; 
 
			
		
	
		
			
				
					                List < BomFormulaDto >  bfList  =  JsonConvert . DeserializeObject < List < BomFormulaDto > > ( teamwork . FBomFormula ) ; 
 
			
		
	
		
			
				
					                //SetBFData(null, bfList, dataList1); 
 
			
		
	
		
			
				
					                List < string >  forIdList  =  teamwork . FMaterialFormulaIDs . Split ( ',' ) . ToList ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                DataTable  tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					                DataTable  totalTable  =  tempTable . Copy ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                List < DataRow >  rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  1 ) ; 
 
			
		
	
		
			
				
					                foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                else  if  ( intType  = =  ( int ) Constant . TeamViewType . 配 方 视 图 ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  2 ) ; 
 
			
		
	
		
			
				
					                totalTable . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  3 ) ; 
 
			
		
	
		
			
				
					                totalTable . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "3.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					                    //原始配方 
 
			
		
	
		
			
				
					                    DataTable  dataList1  =  MaterialTeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  whereSql ) ; 
 
			
		
	
		
			
				
					                    TFS_HalfMaterialFTeamwork  teamwork  =  BaseBll . GetTempModel < TFS_HalfMaterialFTeamwork > ( "FID="  +  teamId ) ; 
 
			
		
	
		
			
				
					                    List < BomFormulaDto >  bfList  =  JsonConvert . DeserializeObject < List < BomFormulaDto > > ( teamwork . FBomFormula ) ; 
 
			
		
	
		
			
				
					                    //SetBFData(null, bfList, dataList1); 
 
			
		
	
		
			
				
					                    List < string >  forIdList  =  teamwork . FMaterialFormulaIDs . Split ( ',' ) . ToList ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                dataList  =  totalTable ; 
 
			
		
	
		
			
				
					                dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    DataTable  tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					                    DataTable  totalTable  =  tempTable . Copy ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                / * dataList1 . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                List < bool >  hasField  =  new  List < bool > 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    dataList1 . Columns . Contains ( "BOM用途" ) , 
 
			
		
	
		
			
				
					                    dataList1 . Columns . Contains ( "子项序号" ) , 
 
			
		
	
		
			
				
					                    dataList1 . Columns . Contains ( "组件损耗率" ) , 
 
			
		
	
		
			
				
					                    dataList1 . Columns . Contains ( "固定损耗数量" ) , 
 
			
		
	
		
			
				
					                    dataList1 . Columns . Contains ( "BOM项目文本2" ) 
 
			
		
	
		
			
				
					                } ; 
 
			
		
	
		
			
				
					                int  rowCount  =  dataList1 . Rows . Count ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    //if (hasField[0]) dataList1.Rows[i]["BOM用途"] = "1"; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 1 ] )  dataList1 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 2 ] )  dataList1 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 3 ] )  dataList1 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 4 ] )  dataList1 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                    dataList1 . Rows [ i ] [ "可选文本" ]  =  "原始BOM配方" ; 
 
			
		
	
		
			
				
					                    dataList . ImportRow ( dataList1 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList1 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                dataList  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                //生产配方 
 
			
		
	
		
			
				
					                DataTable  dataList2  =  TeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  joinSql . Trim ( ',' ) ) ; 
 
			
		
	
		
			
				
					                SetBFData ( null ,  bfList ,  dataList2 ) ; 
 
			
		
	
		
			
				
					                dataList2 . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                DataTable  dataList3  =  dataList2 . Copy ( ) ; 
 
			
		
	
		
			
				
					                string  fuIds  =  "" ; 
 
			
		
	
		
			
				
					                dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                rowCount  =  dataList2 . Rows . Count ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    if  ( hasField [ 0 ] )  dataList2 . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 1 ] )  dataList2 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 2 ] )  dataList2 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 3 ] )  dataList2 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 4 ] ) 
 
			
		
	
		
			
				
					                    List < DataRow >  rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  1 ) ; 
 
			
		
	
		
			
				
					                    foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( ! string . IsNullOrEmpty ( dataList3 . Rows [ i ] [ "BOM项目文本2" ] . ToString ( ) ) ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            fuIds  + =  dataList3 . Rows [ i ] [ "BOM项目文本2" ] . ToString ( )  +  "," ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                        tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                        totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    dataList2 . Rows [ i ] [ "可选文本" ]  =  "生产BOM配方" ; 
 
			
		
	
		
			
				
					                    dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                if  ( ! string . IsNullOrEmpty ( fuIds ) ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    joinSql  =  string . Format ( "TFS_ViewMaterial.FMaterialID in({0}) and " ,  fuIds . Trim ( ',' ) )  +  joinSql . Substring ( joinSql . IndexOf ( "TFS_ViewMaterial.FFactoryID" ) ) ; 
 
			
		
	
		
			
				
					                    DataTable  tempList  =  TeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  joinSql . Trim ( ',' ) ) ; 
 
			
		
	
		
			
				
					                    tempList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    foreach  ( DataRow  dr  in  tempList . Rows ) 
 
			
		
	
		
			
				
					                    tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  2 ) ; 
 
			
		
	
		
			
				
					                    totalTable . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                    foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        dataList2 . ImportRow ( dr ) ; 
 
			
		
	
		
			
				
					                        dataList3 . ImportRow ( dr ) ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 0 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "BOM用途" ]  =  "1" ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "子项序号" ]  =  dataList2 . Rows . Count  *  10 ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "子项序号" ]  =  dataList2 . Rows . Count  *  10 ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        if  ( hasField [ 2 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                        totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    tempTable  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    rowList  =  SetXHData ( null ,  bfList ,  dataList1 ,  forIdList ,  3 ) ; 
 
			
		
	
		
			
				
					                    totalTable . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                    foreach  ( var  item  in  rowList ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        tempTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                        totalTable . Rows . Add ( item . ItemArray ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    tempTable . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( tempTable ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "3.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    tempTable . Rows . Clear ( ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    dataList  =  totalTable ; 
 
			
		
	
		
			
				
					                    dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    / * dataList1 . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    List < bool >  hasField  =  new  List < bool > 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        dataList1 . Columns . Contains ( "BOM用途" ) , 
 
			
		
	
		
			
				
					                        dataList1 . Columns . Contains ( "子项序号" ) , 
 
			
		
	
		
			
				
					                        dataList1 . Columns . Contains ( "组件损耗率" ) , 
 
			
		
	
		
			
				
					                        dataList1 . Columns . Contains ( "固定损耗数量" ) , 
 
			
		
	
		
			
				
					                        dataList1 . Columns . Contains ( "BOM项目文本2" ) 
 
			
		
	
		
			
				
					                    } ; 
 
			
		
	
		
			
				
					                    int  rowCount  =  dataList1 . Rows . Count ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        //if (hasField[0]) dataList1.Rows[i]["BOM用途"] = "1"; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] )  dataList1 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 2 ] )  dataList1 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ] )  dataList1 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 4 ] )  dataList1 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                        dataList1 . Rows [ i ] [ "可选文本" ]  =  "原始BOM配方" ; 
 
			
		
	
		
			
				
					                        dataList . ImportRow ( dataList1 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList1 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    dataList  =  dataList1 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    //生产配方 
 
			
		
	
		
			
				
					                    DataTable  dataList2  =  TeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  joinSql . Trim ( ',' ) ) ; 
 
			
		
	
		
			
				
					                    SetBFData ( null ,  bfList ,  dataList2 ) ; 
 
			
		
	
		
			
				
					                    dataList2 . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    DataTable  dataList3  =  dataList2 . Copy ( ) ; 
 
			
		
	
		
			
				
					                    string  fuIds  =  "" ; 
 
			
		
	
		
			
				
					                    dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                    rowCount  =  dataList2 . Rows . Count ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( hasField [ 0 ] )  dataList2 . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] )  dataList2 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 2 ] )  dataList2 . Rows [ i ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ] )  dataList2 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 4 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                            if  ( ! string . IsNullOrEmpty ( dataList3 . Rows [ i ] [ "BOM项目文本2" ] . ToString ( ) ) ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                fuIds  + =  dataList3 . Rows [ i ] [ "BOM项目文本2" ] . ToString ( )  +  "," ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "可选文本" ]  =  "生产BOM配方" ; 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                        dataList . ImportRow ( dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] ) ; 
 
			
		
	
		
			
				
					                        dataList2 . Rows [ i ] [ "可选文本" ]  =  "生产BOM配方" ; 
 
			
		
	
		
			
				
					                        dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                //计划配方 
 
			
		
	
		
			
				
					                dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                rowCount  =  dataList3 . Rows . Count ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    if  ( hasField [ 0 ] )  dataList3 . Rows [ i ] [ "BOM用途" ]  =  "1" ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 1 ] )  dataList3 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                    if  ( hasField [ 3 ] ) 
 
			
		
	
		
			
				
					                    if  ( ! string . IsNullOrEmpty ( fuIds ) ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( ! string . IsNullOrEmpty ( dataList3 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) ) ) 
 
			
		
	
		
			
				
					                        joinSql  =  string . Format ( "TFS_ViewMaterial.FMaterialID in({0}) and " ,  fuIds . Trim ( ',' ) )  +  joinSql . Substring ( joinSql . IndexOf ( "TFS_ViewMaterial.FFactoryID" ) ) ; 
 
			
		
	
		
			
				
					                        DataTable  tempList  =  TeamworkBll . GetTeamworkViewData2 ( selectSql . Trim ( ',' ) ,  joinSql . Trim ( ',' ) ) ; 
 
			
		
	
		
			
				
					                        tempList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                        foreach  ( DataRow  dr  in  tempList . Rows ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            DataRow  dr  =  dataList3 . Copy ( ) . Rows [ i ] ; 
 
			
		
	
		
			
				
					                            dr [ "组件数量" ]  =  dataList3 . Rows [ i ] [ "固定损耗数量" ] ; 
 
			
		
	
		
			
				
					                            dr [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                            dr [ "固定损耗数量" ]  =  "X" ; 
 
			
		
	
		
			
				
					                            if  ( hasField [ 4 ] )  dr [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                            if  ( hasField [ 1 ] )  dr [ "子项序号" ]  =  ( dataList3 . Rows . Count  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                            dr [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                            dataList2 . ImportRow ( dr ) ; 
 
			
		
	
		
			
				
					                            dataList3 . ImportRow ( dr ) ; 
 
			
		
	
		
			
				
					                            if  ( hasField [ 0 ] ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                                dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "BOM用途" ]  =  "1" ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            if  ( hasField [ 1 ] ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "子项序号" ]  =  dataList2 . Rows . Count  *  10 ; 
 
			
		
	
		
			
				
					                                dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "子项序号" ]  =  dataList2 . Rows . Count  *  10 ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            if  ( hasField [ 2 ] ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                                dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            if  ( hasField [ 3 ] ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            if  ( hasField [ 4 ] ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                                dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] [ "可选文本" ]  =  "生产BOM配方" ; 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ dataList3 . Rows . Count  -  1 ] [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                            dataList . ImportRow ( dataList2 . Rows [ dataList2 . Rows . Count  -  1 ] ) ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 4 ] )  dataList3 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    dataList3 . Rows [ i ] [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList3 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "3.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                rowCount  =  dataList3 . Rows . Count ; 
 
			
		
	
		
			
				
					                for  ( int  i  =  0 ;  i  <  rowCount ;  i + + )  {  dataList . ImportRow ( dataList3 . Rows [ i ] ) ;  } * / 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            else 
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                dataList  =  MaterialTeamworkBll . GetTeamworkViewData ( selectSql . Trim ( ',' ) ,  whereSql ,  joinSql ) ; 
 
			
		
	
		
			
				
					                dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                if  ( intType  = =  ( int ) Constant . TeamViewType . 生 产 版 本 视 图 ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    int  rowCount  =  dataList . Rows . Count ; 
 
			
		
	
		
			
				
					                    bool  isChange  =  dataList . Columns . Contains ( "BOM用途" ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                    DataTable  dataList2  =  dataList . Copy ( ) ; 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    //计划配方 
 
			
		
	
		
			
				
					                    dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                    rowCount  =  dataList3 . Rows . Count ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( isChange  & &  dataList2 . Rows [ i ] [ "BOM用途" ] . ToString ( )  = =  "1" ) 
 
			
		
	
		
			
				
					                        if  ( hasField [ 0 ] )  dataList3 . Rows [ i ] [ "BOM用途" ]  =  "1" ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 1 ] )  dataList3 . Rows [ i ] [ "子项序号" ]  =  ( i  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                        if  ( hasField [ 3 ] ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            dataList2 . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                            if  ( ! string . IsNullOrEmpty ( dataList3 . Rows [ i ] [ "固定损耗数量" ] . ToString ( ) ) ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                DataRow  dr  =  dataList3 . Copy ( ) . Rows [ i ] ; 
 
			
		
	
		
			
				
					                                dr [ "组件数量" ]  =  dataList3 . Rows [ i ] [ "固定损耗数量" ] ; 
 
			
		
	
		
			
				
					                                dr [ "组件损耗率" ]  =  "" ; 
 
			
		
	
		
			
				
					                                dr [ "固定损耗数量" ]  =  "X" ; 
 
			
		
	
		
			
				
					                                if  ( hasField [ 4 ] )  dr [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                                if  ( hasField [ 1 ] )  dr [ "子项序号" ]  =  ( dataList3 . Rows . Count  +  1 )  *  10 ; 
 
			
		
	
		
			
				
					                                dr [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                                dataList3 . ImportRow ( dr ) ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                            dataList3 . Rows [ i ] [ "固定损耗数量" ]  =  "" ; 
 
			
		
	
		
			
				
					                            if  ( hasField [ 4 ] )  dataList3 . Rows [ i ] [ "BOM项目文本2" ]  =  "" ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        dataList3 . Rows [ i ] [ "可选文本" ]  =  "计划BOM配方" ; 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                    NPOIHelper . ExportDTtoExcel ( dataList3 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "3.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                    rowCount  =  dataList3 . Rows . Count ; 
 
			
		
	
		
			
				
					                    for  ( int  i  =  0 ;  i  <  rowCount ;  i + + )  {  dataList . ImportRow ( dataList3 . Rows [ i ] ) ;  } * / 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                else 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    dataList  =  MaterialTeamworkBll . GetTeamworkViewData ( selectSql . Trim ( ',' ) ,  whereSql ,  joinSql ) ; 
 
			
		
	
		
			
				
					                    dataList . Columns . Remove ( "FMaterialID" ) ; 
 
			
		
	
		
			
				
					                    if  ( intType  = =  ( int ) Constant . TeamViewType . 生 产 版 本 视 图 ) 
 
			
		
	
		
			
				
					                    { 
 
			
		
	
		
			
				
					                        if  ( i  = =  0 )  dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                        dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                        NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "1.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                        int  rowCount  =  dataList . Rows . Count ; 
 
			
		
	
		
			
				
					                        bool  isChange  =  dataList . Columns . Contains ( "BOM用途" ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                        DataTable  dataList2  =  dataList . Copy ( ) ; 
 
			
		
	
		
			
				
					                        for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            if  ( isChange  & &  dataList2 . Rows [ i ] [ "BOM用途" ] . ToString ( )  = =  "1" ) 
 
			
		
	
		
			
				
					                            { 
 
			
		
	
		
			
				
					                                dataList2 . Rows [ i ] [ "BOM用途" ]  =  "Y" ; 
 
			
		
	
		
			
				
					                            } 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                        NPOIHelper . ExportDTtoExcel ( dataList2 ,  "Sheet1" ,  savePath . Replace ( ".xlsx" ,  "2.xlsx" ) ) ; 
 
			
		
	
		
			
				
					                        for  ( int  i  =  0 ;  i  <  rowCount ;  i + + ) 
 
			
		
	
		
			
				
					                        { 
 
			
		
	
		
			
				
					                            if  ( i  = =  0 )  dataList . Rows . Add ( "[换色]" ) ; 
 
			
		
	
		
			
				
					                            dataList . ImportRow ( dataList2 . Rows [ i ] ) ; 
 
			
		
	
		
			
				
					                        } 
 
			
		
	
		
			
				
					                    } 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                if  ( intType  = =  ( int ) Constant . TeamViewType . 物 料 视 图 ) 
 
			
		
	
		
			
				
					                { 
 
			
		
	
		
			
				
					                    //處理名字點 
 
			
		
	
		
			
				
					                } 
 
			
		
	
		
			
				
					                NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath ) ; 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            if  ( intType  = =  ( int ) Constant . TeamViewType . 物 料 视 图 ) 
 
			
		
	
		
			
				
					            catch ( Exception  ex  ) 
 
			
		
	
		
			
				
					            { 
 
			
		
	
		
			
				
					                //處理名字點 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					                throw ; 
 
			
		
	
		
			
				
					            } 
 
			
		
	
		
			
				
					            NPOIHelper . ExportDTtoExcel ( dataList ,  "Sheet1" ,  savePath ) ; 
 
			
		
	
		
			
				
					        } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        /// <summary>