@ -2205,4 +2205,281 @@ public class EnforcementCheckStatisticsImpl implements EnforcementCheckStatistic
}
return searchType ;
}
@Override
public void ZFJDM ( HttpServletResponse response , EnforcementCheckStatistics enforcementCheckStatistics , List < String > inOrderList , Map < String , List < EnforcementCheckStatistics > > list , List < EnterpriseStreet > enterpriseStreet ) throws ParseException , IOException {
//创建HSSFWorkbook对象(excel文档对象)
HSSFWorkbook wb = new HSSFWorkbook ( ) ;
//建立新的sheet对象(sheet:表单)
HSSFSheet sheet = wb . createSheet ( "行政执法检查统计" ) ;
//自适应列宽
sheet . setDefaultColumnWidth ( 20 ) ; //全局
sheet . setColumnWidth ( 0 , 2500 ) ; //某列
sheet . setColumnWidth ( 1 , 2500 ) ;
//在sheet里创建第一行,参数为excel行数,0~65535
HSSFRow row1 = sheet . createRow ( 0 ) ;
row1 . setHeightInPoints ( 60 ) ;
//字体样式
HSSFFont font1 = wb . createFont ( ) ;
font1 . setFontName ( "微软雅黑" ) ;
font1 . setBold ( true ) ;
font1 . setFontHeightInPoints ( ( short ) 16 ) ;
HSSFFont font2 = wb . createFont ( ) ;
font2 . setFontName ( "微软雅黑" ) ;
font2 . setBold ( true ) ;
font2 . setFontHeightInPoints ( ( short ) 11 ) ;
HSSFFont font3 = wb . createFont ( ) ;
font3 . setFontName ( "微软雅黑" ) ;
font3 . setFontHeightInPoints ( ( short ) 11 ) ;
//第一行样式
HSSFCellStyle styleRow1 = wb . createCellStyle ( ) ;
styleRow1 . setFillForegroundColor ( IndexedColors . GREY_25_PERCENT . getIndex ( ) ) ;
styleRow1 . setWrapText ( true ) ; //换行
styleRow1 . setFillPattern ( FillPatternType . SOLID_FOREGROUND ) ;
styleRow1 . setAlignment ( HorizontalAlignment . CENTER ) ;
styleRow1 . setVerticalAlignment ( VerticalAlignment . CENTER ) ;
styleRow1 . setBorderTop ( BorderStyle . THIN ) ; //边框默认黑色
styleRow1 . setBorderRight ( BorderStyle . THIN ) ;
styleRow1 . setBorderBottom ( BorderStyle . THIN ) ;
styleRow1 . setBorderLeft ( BorderStyle . THIN ) ;
styleRow1 . setFont ( font1 ) ;
//第二行样式
HSSFCellStyle styleRow2 = wb . createCellStyle ( ) ;
styleRow2 . setWrapText ( true ) ; //换行
styleRow2 . setFillForegroundColor ( IndexedColors . GREY_25_PERCENT . getIndex ( ) ) ;
styleRow2 . setFillPattern ( FillPatternType . SOLID_FOREGROUND ) ;
styleRow2 . setAlignment ( HorizontalAlignment . CENTER ) ;
styleRow2 . setVerticalAlignment ( VerticalAlignment . CENTER ) ;
styleRow2 . setBorderTop ( BorderStyle . THIN ) ;
styleRow2 . setBorderRight ( BorderStyle . THIN ) ;
styleRow2 . setBorderBottom ( BorderStyle . THIN ) ;
styleRow2 . setBorderLeft ( BorderStyle . THIN ) ;
styleRow2 . setFont ( font2 ) ;
//内容样式
HSSFCellStyle styleRow3 = wb . createCellStyle ( ) ;
styleRow3 . setAlignment ( HorizontalAlignment . CENTER ) ;
styleRow3 . setVerticalAlignment ( VerticalAlignment . CENTER ) ;
styleRow3 . setBorderTop ( BorderStyle . THIN ) ;
styleRow3 . setBorderRight ( BorderStyle . THIN ) ;
styleRow3 . setBorderBottom ( BorderStyle . THIN ) ;
styleRow3 . setBorderLeft ( BorderStyle . THIN ) ;
styleRow3 . setFont ( font3 ) ;
//创建单元格,参数为列数,0~255
HSSFCell cell1 = row1 . createCell ( 0 ) ;
//修改单元格内容
//(统计范围:8月14日至9月23日 统计时间:2024年9月23日 11时30分 企业赋码总数量:10697家)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
SimpleDateFormat sYear = new SimpleDateFormat ( "yyyy" ) ;
SimpleDateFormat sMonther = new SimpleDateFormat ( "MM" ) ;
SimpleDateFormat sDay = new SimpleDateFormat ( "dd" ) ;
String strStart = sMonther . format ( simpleDateFormat . parse ( enforcementCheckStatistics . getStartTime ( ) ) ) + "月" + sDay . format ( simpleDateFormat . parse ( enforcementCheckStatistics . getStartTime ( ) ) ) + "日" ;
String strEnd = sMonther . format ( simpleDateFormat . parse ( enforcementCheckStatistics . getEndTime ( ) ) ) + "月" + sDay . format ( simpleDateFormat . parse ( enforcementCheckStatistics . getEndTime ( ) ) ) + "日" ;
String strNow = sYear . format ( enforcementCheckStatistics . getNowTime ( ) ) + "年" + sMonther . format ( enforcementCheckStatistics . getNowTime ( ) ) + "月" + sDay . format ( enforcementCheckStatistics . getNowTime ( ) ) + "日 " + enforcementCheckStatistics . getNowTime ( ) . getHours ( ) + "时" + enforcementCheckStatistics . getNowTime ( ) . getMinutes ( ) + "分" ;
cell1 . setCellValue ( "行政执法检查统计\n(统计范围:" + strStart + "至" + strEnd + " 统计时间:" + strNow + " 企业赋码总数量:" + enterpriseStreet . size ( ) + "家)" ) ;
//将单元格样式应用到该单元格
cell1 . setCellStyle ( styleRow1 ) ;
//合并单元格--CellRangeAddress(起始行,结束行,起始列,结束列)
sheet . addMergedRegion ( new CellRangeAddress ( 0 , 0 , 0 , 11 ) ) ;
//在sheet里创建第二行
HSSFRow row2 = sheet . createRow ( 1 ) ;
List < String > headRow2List = new ArrayList < > ( ) ;
Collections . addAll ( headRow2List , "序号" , "区域" , "企业" , "执法主体" , "执法人员" , "检查事项" , "执法检查次数" ,
"2次及以下" , "3至4次\n(黄色)" , "5至6次\n(橙色)" , "7次及以上\n(红色)" , "备注" ) ;
setStyle ( headRow2List , row2 , styleRow2 ) ;
int rowNum = 1 ;
//遍历地区list
for ( int i = 0 ; i < inOrderList . size ( ) ; i + + ) {
String area = inOrderList . get ( i ) ; //取出地区名
if ( ( list . get ( area ) ! = null ) & & ( ! list . get ( area ) . isEmpty ( ) ) ) { //判断该区执法记录是否为空
List < EnforcementCheckStatistics > e = list . get ( area ) ;
if ( e . size ( ) > 1 ) { //当该区执法记录大于两条时才合并序号、区列
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , rowNum + e . size ( ) , 0 , 0 ) ) ;
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , rowNum + e . size ( ) , 1 , 1 ) ) ;
hbStyle ( rowNum + 1 , rowNum + e . size ( ) , 0 , 0 , sheet ) ;
hbStyle ( rowNum + 1 , rowNum + e . size ( ) , 1 , 1 , sheet ) ;
}
//非空时将执法以企业划分<企业税号,合计>
Map < String , Long > qyGroup1 = e . stream ( ) . collect ( Collectors . groupingBy ( ( m - > m . getEnterpriseNumber ( ) = = null ?
"" : m . getEnterpriseNumber ( ) ) , Collectors . counting ( ) ) ) ;
//将以企业分好组的数据取出
Map < String , List < EnforcementCheckStatistics > > qyGroup2 = e . stream ( ) . collect ( Collectors . groupingBy ( m - > m . getEnterpriseNumber ( ) = = null ?
"" : m . getEnterpriseNumber ( ) ) ) ;
for ( String k : qyGroup2 . keySet ( ) ) { //同企业内遍历执法
//if分组数<2则后续无需遍历
if ( qyGroup1 . get ( k ) < 2 ) {
HSSFRow row = sheet . createRow ( + + rowNum ) ;
List < String > cellList = new ArrayList < > ( ) ;
Collections . addAll ( cellList , "" + ( i + 1 ) , area , qyGroup2 . get ( k ) . get ( 0 ) . getEnterpriseName ( ) , qyGroup2 . get ( k ) . get ( 0 ) . getBureauDeptName ( ) ,
qyGroup2 . get ( k ) . get ( 0 ) . getLawEnforcerTwo ( ) , qyGroup2 . get ( k ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"1" , "" , "" , "" , qyGroup2 . get ( k ) . get ( 0 ) . getRemark ( ) ) ;
//setStyle(cellList,row,styleRow3);
setStyle1 ( i + 1 , area , qyGroup2 . get ( k ) . get ( 0 ) . getEnterpriseName ( ) , qyGroup2 . get ( k ) . get ( 0 ) . getBureauDeptName ( ) ,
qyGroup2 . get ( k ) . get ( 0 ) . getLawEnforcerTwo ( ) , qyGroup2 . get ( k ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 , 1 , 0 , 0 , 0 ,
qyGroup2 . get ( k ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else {
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 2 , 2 ) ) ; //合并企业
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 7 , 7 ) ) ;
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 8 , 8 ) ) ;
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 9 , 9 ) ) ;
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 10 , 10 ) ) ;
hbStyle ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 2 , 2 , sheet ) ;
hbStyle ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 7 , 7 , sheet ) ;
hbStyle ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 8 , 8 , sheet ) ;
hbStyle ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 9 , 9 , sheet ) ;
hbStyle ( rowNum + 1 , ( int ) ( rowNum + qyGroup1 . get ( k ) ) , 10 , 10 , sheet ) ;
//以同企业内,以执法分组
Map < String , Long > zfGroup1 = qyGroup2 . get ( k ) . stream ( ) . collect ( Collectors . groupingBy ( ( m - > m . getBureauDeptId ( ) = = null ?
"" : m . getBureauDeptId ( ) ) , Collectors . counting ( ) ) ) ;
Map < String , List < EnforcementCheckStatistics > > zfGroup2 = qyGroup2 . get ( k ) . stream ( ) . collect ( Collectors . groupingBy ( m - > m . getBureauDeptId ( ) = = null ?
"" : m . getBureauDeptId ( ) ) ) ;
for ( String zf : zfGroup2 . keySet ( ) ) {
//if 分组数<2则后续无需遍历
if ( zfGroup1 . get ( zf ) < 2 ) {
HSSFRow row = sheet . createRow ( + + rowNum ) ;
List < String > cellList = new ArrayList < > ( ) ;
if ( qyGroup1 . get ( k ) < 3 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" + qyGroup1 . get ( k ) , "" , "" , "" , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 , qyGroup1 . get ( k ) ,
0 , 0 , 0 , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 3 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 4 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" + qyGroup1 . get ( k ) , "" , "" , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , qyGroup1 . get ( k ) , 0 , 0 , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 5 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 6 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" , "" + qyGroup1 . get ( k ) , "" , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , 0 , qyGroup1 . get ( k ) , 0 , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" , "" , "" + qyGroup1 . get ( k ) , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , zfGroup2 . get ( zf ) . get ( 0 ) . getEnterpriseName ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getBureauDeptName ( ) ,
zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcerTwo ( ) , zfGroup2 . get ( zf ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , 0 , 0 , qyGroup1 . get ( k ) , zfGroup2 . get ( zf ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
}
//setStyle(cellList,row,styleRow3);
} else {
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + zfGroup1 . get ( zf ) ) , 3 , 3 ) ) ; //合并执法
hbStyle ( rowNum + 1 , ( int ) ( rowNum + zfGroup1 . get ( zf ) ) , 3 , 3 , sheet ) ;
//以同企业、执法内,以执法人员分组
Map < String , Long > ryGroup1 = zfGroup2 . get ( zf ) . stream ( ) . collect ( Collectors . groupingBy ( ( m - > m . getLawEnforcerTwo ( ) = = null ?
"" : m . getLawEnforcerTwo ( ) ) , Collectors . counting ( ) ) ) ;
Map < String , List < EnforcementCheckStatistics > > ryGroup2 = zfGroup2 . get ( zf ) . stream ( ) . collect ( Collectors . groupingBy ( m - > m . getLawEnforcerTwo ( ) = = null ?
"" : m . getLawEnforcerTwo ( ) ) ) ;
for ( String ry : ryGroup2 . keySet ( ) ) {
if ( ryGroup1 . get ( ry ) < 2 ) {
HSSFRow row = sheet . createRow ( + + rowNum ) ;
List < String > cellList = new ArrayList < > ( ) ;
if ( qyGroup1 . get ( k ) < 3 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" + qyGroup1 . get ( k ) , "" , "" , "" , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
qyGroup1 . get ( k ) , 0 , 0 , 0 , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 3 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 4 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" + qyGroup1 . get ( k ) , "" , "" , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , qyGroup1 . get ( k ) , 0 , 0 , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 5 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 6 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" , "" + qyGroup1 . get ( k ) , "" , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , 0 , qyGroup1 . get ( k ) , 0 , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , "1" ,
"" , "" , "" , "" + qyGroup1 . get ( k ) , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , ryGroup2 . get ( ry ) . get ( 0 ) . getEnterpriseName ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getBureauDeptName ( ) ,
ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcerTwo ( ) , ryGroup2 . get ( ry ) . get ( 0 ) . getLawEnforcementItem ( ) , 1 ,
0 , 0 , 0 , qyGroup1 . get ( k ) , ryGroup2 . get ( ry ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
}
//setStyle(cellList,row,styleRow3);
} else {
sheet . addMergedRegion ( new CellRangeAddress ( rowNum + 1 , ( int ) ( rowNum + ryGroup1 . get ( ry ) ) , 4 , 4 ) ) ; //合并人员
hbStyle ( rowNum + 1 , ( int ) ( rowNum + ryGroup1 . get ( ry ) ) , 4 , 4 , sheet ) ;
//以同企业、执法、执法人员内,以执法事项分组
Map < String , Long > sxGroup1 = ryGroup2 . get ( ry ) . stream ( ) . collect ( Collectors . groupingBy ( ( m - > m . getLawEnforcementItem ( ) = = null ?
"" : m . getLawEnforcementItem ( ) ) , Collectors . counting ( ) ) ) ;
Map < String , List < EnforcementCheckStatistics > > sxGroup2 = ryGroup2 . get ( ry ) . stream ( ) . collect ( Collectors . groupingBy ( m - > m . getLawEnforcementItem ( ) = = null ?
"" : m . getLawEnforcementItem ( ) ) ) ;
for ( String sx : sxGroup2 . keySet ( ) ) {
HSSFRow row = sheet . createRow ( + + rowNum ) ;
List < String > cellList = new ArrayList < > ( ) ;
if ( qyGroup1 . get ( k ) < 3 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) + "" ,
"" + qyGroup1 . get ( k ) , "" , "" , "" , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) ,
qyGroup1 . get ( k ) , 0 , 0 , 0 , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 3 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 4 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) + "" ,
"" , "" + qyGroup1 . get ( k ) , "" , "" , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) ,
0 , qyGroup1 . get ( k ) , 0 , 0 , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else if ( 5 < = qyGroup1 . get ( k ) & & qyGroup1 . get ( k ) < = 6 ) {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) + "" ,
"" , "" , "" + qyGroup1 . get ( k ) , "" , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) ,
0 , 0 , qyGroup1 . get ( k ) , 0 , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
} else {
Collections . addAll ( cellList , "" + ( i + 1 ) , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) + "" ,
"" , "" , "" , "" + qyGroup1 . get ( k ) , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) ) ;
setStyle1 ( i + 1 , area , sxGroup2 . get ( sx ) . get ( 0 ) . getEnterpriseName ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getBureauDeptName ( ) ,
sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcerTwo ( ) , sxGroup2 . get ( sx ) . get ( 0 ) . getLawEnforcementItem ( ) , sxGroup1 . get ( sx ) ,
0 , 0 , 0 , qyGroup1 . get ( k ) , sxGroup2 . get ( sx ) . get ( 0 ) . getRemark ( ) , row , styleRow3 ) ;
}
//setStyle(cellList,row,styleRow3);
if ( sxGroup1 . get ( sx ) > = 2 ) {
sheet . addMergedRegion ( new CellRangeAddress ( rowNum , ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) , 5 , 5 ) ) ; //合并事项
sheet . addMergedRegion ( new CellRangeAddress ( rowNum , ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) , 6 , 6 ) ) ;
hbStyle ( rowNum , ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) , 5 , 5 , sheet ) ;
hbStyle ( rowNum , ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) , 6 , 6 , sheet ) ;
hbStyle ( rowNum , ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) , 11 , 11 , sheet ) ;
rowNum = ( int ) ( rowNum - 1 + sxGroup1 . get ( sx ) ) ;
}
}
}
}
}
}
}
}
} else {
rowNum + + ;
HSSFRow row = sheet . createRow ( rowNum ) ;
List < String > cellList = new ArrayList < > ( ) ;
Collections . addAll ( cellList , "" + ( i + 1 ) , area , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" ) ;
setStyle ( cellList , row , styleRow3 ) ;
}
}
String fileName = "执法监督码" + strStart + "至" + strEnd + "使用情况.xls" ;
response . setCharacterEncoding ( "UTF-8" ) ;
response . setContentType ( "application/vnd.ms-excel" ) ;
response . setHeader ( "Content-disposition" , "attachment;filename=" + fileName ) ;
response . flushBuffer ( ) ;
wb . write ( response . getOutputStream ( ) ) ;
wb . close ( ) ;
}
}