huanghongfa
2021-03-30 2d983da4ecb32acc20a534f28bce2fff1e7963da
实有人口模板导出
7个文件已修改
2个文件已删除
702 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java 168 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/excel/CustomSheetWriteHandler.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/model/dto/ExcelExportDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/utils/ExportExcelUtil.java 430 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/utils/ExportExcelWrapper.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommonDataApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -346,7 +346,7 @@
     * @param comMngRealCompanyBelongsDTO
     * @return
     */
    @GetMapping("/common/data/company/belongs")
    @PostMapping("/common/data/company/belongs")
    R belongsComMngRealCompany(@RequestBody ComMngRealCompanyBelongsDTO comMngRealCompanyBelongsDTO);
@@ -1603,4 +1603,5 @@
     */
    @PostMapping("/common/data/population/editTag")
    R editTagPopulation(ComMngPopulationTagDTO populationTagDTO);
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
@@ -48,30 +48,7 @@
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.11-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.11-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.11-beta2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-excelant</artifactId>
            <version>3.11-beta2</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommonDataApi.java
@@ -26,8 +26,6 @@
import com.panzhihua.community_backstage.easyexcel.UploadEexcelUserDTOListener;
import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
import com.panzhihua.community_backstage.model.dto.ExcelExportDto;
import com.panzhihua.community_backstage.utils.ExportExcelUtil;
import com.panzhihua.community_backstage.utils.ExportExcelWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -536,7 +534,7 @@
    @ApiOperation(value = "实有单位归属地", response = ComMngRealCompanyVO.class)
    @GetMapping("/company/belongs")
    @PostMapping("/company/belongs")
    public R belongsComMngRealCompany(@RequestBody ComMngRealCompanyBelongsDTO comMngRealCompanyBelongsDTO) {
        return communityService.belongsComMngRealCompany(comMngRealCompanyBelongsDTO);
    }
@@ -724,34 +722,154 @@
        return communityService.editTagPopulation(populationTagDTO);
    }
    @ApiOperation(value = "实有人口导入模板")
    @PostMapping("/population/export")
    public void exportPopulation(HttpServletRequest request, HttpServletResponse response) {
//    @ApiOperation(value = "实有人口导入模板")
//    @PostMapping("/population/export")
//    public void exportPopulation(HttpServletRequest request, HttpServletResponse response) {
//        //获取登陆用户
//        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
//        //获取登陆用户绑定社区id
//        Long communityId = loginUserInfo.getCommunityId();
//        //创建Excel工具类对象
//        ExportExcelWrapper<ExcelExportDto> util = new ExportExcelWrapper<>();
//        //创建示范数据对象list
//        List<ExcelExportDto> list = new ArrayList<>();
//        //创建表头数组集合
//        String[] columnNames = new String[50];
//        //加载默认表头数据
//        for (int i = 0; i < ExportExcelUtil.ExportField.length; i++) {
//            columnNames[i] = ExportExcelUtil.ExportField[i];
//        }
//        //查询当前社区标签列表
//        R tagsResult = userService.listTags(communityId);
//        if(Constants.SUCCESS.equals(tagsResult.getCode())){
//            List<String> TagsList = (List<String>)tagsResult.getData();
//            //动态加载标签列表到表头
//            for (int i = 0; i < TagsList.size(); i++) {
//                columnNames[ExportExcelUtil.ExportField.length + i] = TagsList.get(i) + "(是或否)";
//            }
//        }
//        //导出模板
//        util.exportExcel("实有人口导入模板", "实有人口导入模板", columnNames, list, response, ExportExcelUtil.EXCEl_FILE_2007);
//    }
    @ApiOperation(value = "下载居民导入模板")
    @GetMapping("/population/export")
    public R exportPopulation() {
        //获取登陆用户
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        //获取登陆用户绑定社区id
        Long communityId = loginUserInfo.getCommunityId();
        //创建Excel工具类对象
        ExportExcelWrapper<ExcelExportDto> util = new ExportExcelWrapper<>();
        //创建示范数据对象list
        List<ExcelExportDto> list = new ArrayList<>();
        //创建表头数组集合
        String[] columnNames = new String[50];
        //加载默认表头数据
        for (int i = 0; i < ExportExcelUtil.ExportField.length; i++) {
            columnNames[i] = ExportExcelUtil.ExportField[i];
        }
        //查询当前社区标签列表
        R tagsResult = userService.listTags(communityId);
        if(Constants.SUCCESS.equals(tagsResult.getCode())){
            List<String> TagsList = (List<String>)tagsResult.getData();
            //动态加载标签列表到表头
            for (int i = 0; i < TagsList.size(); i++) {
                columnNames[ExportExcelUtil.ExportField.length + i] = TagsList.get(i) + "(是或否)";
        //生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
        String ftpUrl = "/mnt/data/web/excel/";
        String name = "实有人口导入模板.xlsx";
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            boolean existDir = sftp.isExistDir(ftpUrl + name);
            if (!existDir) {
                String property = System.getProperty("user.dir");
                String fileName = property + File.separator + name;
                // 这里 需要指定写用哪个class去写
                InputStream inputStream = null;
                try {
                    List<List<String>> list = new ArrayList<>();
                    list = dataFilling();
                    //查询当前社区标签列表
                    R tagsResult = userService.listTags(communityId);
                    if(Constants.SUCCESS.equals(tagsResult.getCode())){
                        List<String> TagsList = (List<String>)tagsResult.getData();
                        //动态加载标签列表到表头
                        for (int i = 0; i < TagsList.size(); i++) {
                            List<String> head = new ArrayList<>();
                            head.add(TagsList.get(i));
                            list.add(head);
                        }
                    }
                    List<List<Object>> dataList = new ArrayList<>();
                    List<Object> data = new ArrayList<>();
                    data.add("张三");
                    data.add("男");
                    data.add(25);
                    data.add("是");
                    data.add("樱花街");
                    data.add(115);
                    data.add("15栋");
                    data.add(10);
                    data.add(1001);
                    data.add("汉族");
                    data.add("群众");
                    data.add("513421199508187219");
                    data.add("13768548521");
                    dataList.add(data);
                    EasyExcel.write(fileName).head(list).sheet("实有人口导入模板").doWrite(dataList);
                    File file = new File(fileName);
                    inputStream = new FileInputStream(file);
                    sftp.uploadMore(ftpUrl, name, inputStream);
                    sftp.logout();
                    inputStream.close();
                    String absolutePath = file.getAbsolutePath();
                    boolean delete = file.delete();
                    log.info("删除excel【{}】结果【{}】", absolutePath, delete);
                } finally {
                    // 千万别忘记finish 会帮忙关闭流
                    if (inputStream != null) {
                        inputStream.close();
                    }
                }
            }
            return R.ok(excelUrl + "实有人口导入模板.xlsx");
        } catch (Exception e) {
            e.printStackTrace();
            log.error("文件传输失败【{}】", e.getMessage());
            return R.fail();
        }
        //导出模板
        util.exportExcel("实有人口导入模板", "实有人口导入模板", columnNames, list, response, ExportExcelUtil.EXCEl_FILE_2007);
    }
    private List<List<String>> dataFilling(){
        List<List<String>> list = new ArrayList<List<String>>();
        List<String> head0 = new ArrayList<String>();
        head0.add("家庭成员");
        List<String> head1 = new ArrayList<String>();
        head1.add("性别");
        List<String> head2 = new ArrayList<String>();
        head2.add("年龄");
        List<String> head3 = new ArrayList<String>();
        head3.add("是否租住");
        List<String> head4 = new ArrayList<String>();
        head4.add("街路巷");
        List<String> head5 = new ArrayList<String>();
        head5.add("门牌号");
        List<String> head6 = new ArrayList<String>();
        head6.add("楼排号");
        List<String> head7 = new ArrayList<String>();
        head7.add("单元号");
        List<String> head8 = new ArrayList<String>();
        head8.add("户室");
        List<String> head10 = new ArrayList<String>();
        head10.add("民族");
        List<String> head11 = new ArrayList<String>();
        head11.add("政治面貌");
        List<String> head12 = new ArrayList<String>();
        head12.add("身份证");
        List<String> head13 = new ArrayList<String>();
        head13.add("联系方式");
        list.add(head0);
        list.add(head1);
        list.add(head2);
        list.add(head3);
        list.add(head4);
        list.add(head5);
        list.add(head6);
        list.add(head7);
        list.add(head8);
        list.add(head10);
        list.add(head11);
        list.add(head12);
        list.add(head13);
        return list;
    }
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/excel/CustomSheetWriteHandler.java
@@ -30,22 +30,18 @@
        // 区间设置 第一列第一行和第二行的数据。由于第一行是头,所以第一、二行的数据实际上是第二三行
        CellRangeAddressList cellRangeAddressList = new CellRangeAddressList(1, 2000, 2, 2);
        CellRangeAddressList cellRangeAddressList1 = new CellRangeAddressList(1, 2000, 5 ,5);
        CellRangeAddressList cellRangeAddressList2 = new CellRangeAddressList(1, 2000, 12 ,12);
        CellRangeAddressList cellRangeAddressList3 = new CellRangeAddressList(1, 2000, 14 ,22);
        CellRangeAddressList cellRangeAddressList1 = new CellRangeAddressList(1, 2000, 4 ,4);
        CellRangeAddressList cellRangeAddressList2 = new CellRangeAddressList(1, 2000, 11 ,11);
        DataValidationHelper helper = writeSheetHolder.getSheet().getDataValidationHelper();
        DataValidationConstraint constraint = helper.createExplicitListConstraint(new String[] {"是", "否"});
        DataValidationConstraint constraint1 = helper.createExplicitListConstraint(new String[] {"党员", "团员","群众"});
        DataValidation dataValidation = helper.createValidation(constraint, cellRangeAddressList);
        DataValidation dataValidation1 = helper.createValidation(constraint1, cellRangeAddressList1);
        DataValidation dataValidation2= helper.createValidation(constraint, cellRangeAddressList2);
        DataValidation dataValidation3= helper.createValidation(constraint, cellRangeAddressList3);
        DataValidationConstraint constraint1 = helper.createExplicitListConstraint(new String[] {"中共党员","中共预备党员","共青团员","民革党员","民盟盟员","民建会员","农工党党员","致公党党员","九三学社社员","台盟盟员","无党派人士","群众"});
        DataValidationConstraint constraint2 = helper.createExplicitListConstraint(new String[] {"男", "女","未知"});
        DataValidation dataValidation = helper.createValidation(constraint2, cellRangeAddressList);
        DataValidation dataValidation1 = helper.createValidation(constraint, cellRangeAddressList1);
        DataValidation dataValidation2= helper.createValidation(constraint1, cellRangeAddressList2);
        writeSheetHolder.getSheet().addValidationData(dataValidation);
        writeSheetHolder.getSheet().addValidationData(dataValidation1);
        writeSheetHolder.getSheet().addValidationData(dataValidation2);
        writeSheetHolder.getSheet().addValidationData(dataValidation3);
    }
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/model/dto/ExcelExportDto.java
@@ -1,5 +1,6 @@
package com.panzhihua.community_backstage.model.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
@@ -8,53 +9,66 @@
    /**
     * 家庭成员
     */
    @ExcelProperty("家庭成员")
    private String name = "张三";
    /**
     * 性别
     */
    @ExcelProperty("性别")
    private String sex = "男";
    /**
     * 年龄
     */
    @ExcelProperty("年龄")
    private String age = "25";
    /**
     * 是否租住
     */
    @ExcelProperty("是否租住")
    private String isRent = "是";
    /**
     * 街路巷
     */
    @ExcelProperty("街路巷")
    private String road = "樱花街";
    /**
     * 门牌号
     */
    @ExcelProperty("门牌号")
    private String doorNo = "115";
    /**
     * 楼排号
     */
    @ExcelProperty("楼排号")
    private String floor = "15栋";
    /**
     * 单元号
     */
    @ExcelProperty("单元号")
    private String unitNo = "10";
    /**
     * 户室
     */
    @ExcelProperty("户室")
    private String houseNo = "1001";
    /**
     * 民族
     */
    @ExcelProperty("民族")
    private String nation = "汉族";
    /**
     * 政治面貌
     */
    @ExcelProperty("政治面貌")
    private String politicalOutlook = "群众";
    /**
     * 身份证
     */
    @ExcelProperty("身份证")
    private String cardNo = "513421199508187219";
    /**
     * 联系方式
     */
    @ExcelProperty("联系方式")
    private String phone = "13768548521";
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/utils/ExportExcelUtil.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/utils/ExportExcelWrapper.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommonDataApi.java
@@ -132,7 +132,7 @@
        return comMngRealCompanyService.detailComMngRealCompany(id);
    }
    @GetMapping("/company/belongs")
    @PostMapping("/company/belongs")
    public R belongsComMngRealCompany(@RequestBody ComMngRealCompanyBelongsDTO comMngRealCompanyBelongsDTO) {
        return comMngRealCompanyService.belongsComMngRealCompany(comMngRealCompanyBelongsDTO);
    }
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1542,7 +1542,7 @@
    @Override
    public R listTags(Long communityId) {
        List<String> list=new ArrayList<>();
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sysFlag",1).or().eq("communityId",communityId));
        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag",1).or().eq("community_id",communityId));
        if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
            list=comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
        }