@ -27,8 +27,12 @@ import com.epmet.commons.tools.constant.NumConstant; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.constant.StrConstant ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.dto.result.DictTreeResultDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.enums.DictTypeEnum ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.enums.OrgTypeEnum ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.exception.EpmetErrorCode ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.exception.EpmetException ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.redis.common.CustomerOrgRedis ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.redis.common.bean.AgencyInfoCache ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.redis.common.bean.GridInfoCache ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.security.user.LoginUserUtil ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.utils.ConvertUtils ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.utils.ExcelUtils ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -63,6 +67,8 @@ import org.springframework.transaction.annotation.Transactional; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  org.springframework.util.CollectionUtils ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  javax.servlet.http.HttpServletResponse ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.beans.Encoder ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.net.URLEncoder ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.util.ArrayList ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.util.HashMap ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.util.List ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -198,25 +204,30 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Override  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  void  pcWorkListExport ( PcWorkListFormDTO  formDTO ,  HttpServletResponse  response )  throws  Exception  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        String  name  =  "zxc.xlsx" ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        String  fileName  =  getFileName ( formDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ExcelWriter  excelWriter  =  null ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        try  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            // 这里 需要指定写用哪个class去写
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            excelWriter  =  EasyExcel . write ( ExcelUtils . getOutputStreamForExcel ( name , response ) ) . build ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            // 这里注意 如果同一个sheet只要创建一次
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            WriteSheet  writeSheet  =  EasyExcel . writerSheet ( "模板" ) . build ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  name  =  URLEncoder . encode ( fileName ,  "UTF-8" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            response . setCharacterEncoding ( "UTF-8" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            response . setHeader ( "Content-disposition" ,  "attachment;" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            excelWriter  =  EasyExcel . write ( ExcelUtils . getOutputStreamForExcel ( name , response ) , PcWorkListExport . class ) . build ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            // 如果同一个sheet只要创建一次
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            WriteSheet  writeSheet  =  EasyExcel . writerSheet ( name ) . build ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Integer  pageNo  =  NumConstant . ONE ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Integer  pageSize  =  NumConstant . ONE_HUNDRED ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Integer  num  =  NumConstant . ZERO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            do  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                formDTO . setPageNo ( pageNo ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                formDTO . setPageSize ( pageSize ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                List < PcWorkListExport >  data  =  ConvertUtils . sourceToTarget ( pcWorkList ( formDTO ) . getList ( ) ,  PcWorkListExport . class ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                List < PcWorkListResultDTO . PcWorkListResult >  dtos  =  pcWorkList ( formDTO ) . getList ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                dtos . forEach ( d  - >  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    d . setWorkTypeNames ( d . getWorkTypeName ( ) . toString ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                } ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                List < PcWorkListExport >  data  =  ConvertUtils . sourceToTarget ( dtos ,  PcWorkListExport . class ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                num  =  data . size ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                excelWriter . write ( data ,  writeSheet ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                pageNo + + ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            } while  ( num  >  NumConstant . ZERO  & &  num . compareTo ( pageSize )  = =  NumConstant . ZERO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  finally  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( excelWriter  ! =  null )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                excelWriter . finish ( ) ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -224,6 +235,31 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  String  getFileName ( PcWorkListFormDTO  formDTO ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      StringBuilder  name  =  new  StringBuilder ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      if  ( formDTO . getOrgType ( ) . equals ( OrgTypeEnum . GRID . getCode ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          GridInfoCache  gridInfo  =  CustomerOrgRedis . getGridInfo ( formDTO . getOrgId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          if  ( null  = =  gridInfo ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					              throw  new  EpmetException ( "查询网格信息失败..." ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          name . append ( gridInfo . getGridName ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      } else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          AgencyInfoCache  agencyInfo  =  CustomerOrgRedis . getAgencyInfo ( formDTO . getOrgId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          if  ( null  = =  agencyInfo ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					              throw  new  EpmetException ( "查询组织信息失败..." ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          name . append ( agencyInfo . getOrganizationName ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      name . append ( "例行工作列表" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      if  ( StringUtils . isNotBlank ( formDTO . getStartTime ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          name . append ( formDTO . getStartTime ( ) ) . append ( "-" ) . append ( formDTO . getEndTime ( ) ) . append ( "区间新增值" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      } else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					          name . append ( formDTO . getEndTime ( ) ) . append ( "截止累计值" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      name . append ( ".xlsx" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					      return  name . toString ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    } ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Description   处理  workTypeName  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  workTypeList