zhongrj
2024-05-15 2c42c9540fd3e841076d14f23dad7a99439b443b
场所导出新增
5 files modified
1 files added
314 ■■■■■ changed files
src/main/java/org/springblade/modules/place/controller/PlaceController.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java 130 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml 135 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/IPlaceService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -260,6 +260,18 @@
    }
    /**
     * 导出场所信息
     */
    @GetMapping("export-place")
    @ApiOperationSupport(order = 13)
    @ApiLog("导出场所信息")
    @ApiOperation(value = "导出场所信息", notes = "传入place")
    public void exportPlace(PlaceVO place, HttpServletResponse response) {
        List<ExportPlaceExcel> list = placeService.exportPlaceList(place);
        ExcelUtil.export(response, "场所数据管理" + DateUtil.time(), "场所数据表", list, ExportPlaceExcel.class);
    }
    /**
     * 导出模板
     */
    @GetMapping("export-template")
src/main/java/org/springblade/modules/place/excel/ExportPlaceExcel.java
New file
@@ -0,0 +1,130 @@
package org.springblade.modules.place.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import org.springblade.common.excel.ExcelDictConverter;
import org.springblade.common.excel.ExcelDictItem;
import org.springblade.common.excel.ExcelDictItemLabel;
import java.io.Serializable;
/**
 * ExportPlaceExcel
 *
 * @author Chill
 */
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class ExportPlaceExcel implements Serializable {
    private static final long serialVersionUID = 2L;
    /** 场所名称 */
    @ColumnWidth(25)
    @ExcelProperty( "场所名称*")
    private String placeName;
    /** 场所负责人 */
    @ColumnWidth(15)
    @ExcelProperty( "场所负责人")
    private String principal;
    /** 场所负责人联系电话 */
    @ColumnWidth(15)
    @ExcelProperty( "场所负责人联系电话")
    private String principalPhone;
    /** 场所负责人身份证号 */
    @ColumnWidth(15)
    @ExcelProperty( "场所负责人身份证号")
    private String principalIdCard;
    /** 地址 */
    @ColumnWidth(25)
    @ExcelProperty( "地址")
    private String location;
    /** 经度 */
    @ColumnWidth(25)
    @ExcelProperty( "经度")
    private String lng;
    /** 纬度 */
    @ColumnWidth(25)
    @ExcelProperty( "纬度")
    private String lat;
    /** 街道名称 */
    @ExcelProperty( "街道名称")
    private String streetName;
    /** 社区名称 */
    @ExcelProperty( "社区名称")
    private String communityName;
    /** 网格名称 */
    @ExcelProperty( "网格名称")
    private String gridName;
//
//    /** 企业法定代表 */
//    @ColumnWidth(15)
//    @ExcelProperty( "企业法定代表")
//    private String legalPerson;
//
//    /** 法定代表联系电话 */
//    @ColumnWidth(15)
//    @ExcelProperty( "法定代表联系电话")
//    private String legalTel;
//
//    /** 企业法定代表身份证号码 */
//    @ColumnWidth(15)
//    @ExcelProperty( "企业法定代表身份证号码")
//    private String legalIdCard;
    /** 九小场所类型 */
    @ExcelProperty( value = "九小场所类型",converter = ExcelDictConverter.class)
    @ExcelDictItem(type = "nineType")
    @ExcelDictItemLabel(type = "nineType")
    private String nineType;
    /** 阵地类型 */
    @ExcelProperty( value = "阵地类型",converter = ExcelDictConverter.class)
    @ExcelDictItem(type = "frontType")
    @ExcelDictItemLabel(type = "frontType")
    private String frontType;
    /** 1:是 2:否  三级消防单位 */
    @ExcelProperty("三级消防单位(是/否)")
    private String threeFireProtection;
    /** 无诈类别 */
    @ExcelProperty(value = "无诈类别", converter = ExcelDictConverter.class)
    @ExcelDictItem(type = "noExplosionCategory")
    @ExcelDictItemLabel(type = "noExplosionCategory")
    private String noExplosionCategory;
    /** 标签分类代码 */
    @ExcelProperty( "标签分类代码")
    private String labelCode;
    /** 备注 */
    @ExcelProperty( "备注")
    private String remark;
    /** 审核状态 */
    @ExcelProperty( "审核状态")
    private String confirmFlag;
    /** 是否有二维码 */
    @ExcelProperty( "是否有二维码")
    private String source;
}
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -19,6 +19,7 @@
import org.apache.ibatis.annotations.Param;
import org.springblade.common.node.TreeStringNode;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.vo.PlaceVO;
@@ -41,7 +42,6 @@
     *
     * @param page
     * @param place
     * @param houseCodeList
     * @param regionChildCodesList
     * @param isAdministrator
     * @return
@@ -233,4 +233,14 @@
     * @return
     */
    String getCommunityCode(@Param("id") Long id);
    /**
     * 导出场所信息
     * @param place
     * @return
     */
    List<ExportPlaceExcel> exportPlaceList(@Param("place") PlaceVO place,
                                           @Param("gridCodeList") List<String> gridCodeList,
                                           @Param("regionChildCodesList") List<String> regionChildCodesList,
                                           @Param("isAdministrator") Integer isAdministrator);
}
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -944,4 +944,139 @@
        and jp.id = #{id}
    </select>
    <!--导出场所信息-->
    <select id="exportPlaceList" resultType="org.springblade.modules.place.excel.ExportPlaceExcel">
        select
        jp.id,
        jp.location,
        jp.lng,
        jp.lat,
        jp.place_name,
        jp.principal,
        jp.principal_phone,
        jp.principal_id_card,
        jp.nine_type,
        jp.front_type,
        jp.no_explosion_category,
        jp.remark,
        case when jp.source=1 then '是'
        else '否' end as source,
        case when jp.three_fire_protection=1 then '是'
        when jp.three_fire_protection=2 then '否'
        end as threeFireProtection,
        jpe.legal_person,
        jpe.legal_tel,
        jpe.legal_id_card,
        jppl.labelCode,
        br.town_name as streetName,
        br.name as communityName,
        jg.grid_name as gridName,
        case when jpe.confirm_flag = 1 then '待审核'
        when jpe.confirm_flag = 2 then '审核通过'
        when jpe.confirm_flag = 3 then '审核不通过'
        when jpe.confirm_flag = 4 then '待完善'
        end as confirmFlag
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        left join blade_region br on br.code = jpag.community_code
        left join (
            select place_id,GROUP_CONCAT(poi_code) as labelCode from jczz_place_poi_label group by place_id
        ) jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0 and jp.source!=3
        and jp.place_name != ''
        <if test="place.placeName!=null and place.placeName!=''">
            and jp.place_name like concat('%',#{place.placeName},'%')
        </if>
        <if test="place.principal!=null and place.principal!=''">
            and jp.principal like concat('%',#{place.principal},'%')
        </if>
        <if test="place.principalPhone!=null and place.principalPhone!=''">
            and jp.principal_phone like concat('%',#{place.principalPhone},'%')
        </if>
        <if test="place.houseCode!=null and place.houseCode!=''">
            and jp.house_code like concat('%',#{place.houseCode},'%')
        </if>
        <if test="place.townStreetName!=null and place.townStreetName!=''">
            and br.town_name like concat('%',#{place.townStreetName},'%')
        </if>
        <if test="place.neiName!=null and place.neiName!=''">
            and br.name like concat('%',#{place.neiName},'%')
        </if>
        <if test="place.id!=null">
            and jp.id = #{place.id}
        </if>
        <if test="place.isNine!=null">
            and jp.is_nine = #{place.isNine}
        </if>
        <if test="place.source!=null">
            and jp.source = #{place.source}
        </if>
        <if test="place.isPerfect==1">
            and jp.status = 1
        </if>
        <if test="place.isPerfect==2">
            and jp.status = 2
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="place.roleName != null and place.roleName != ''">
                    <if test="place.roleName=='wgy'">
                        <choose>
                            <when test="gridCodeList !=null and gridCodeList.size()>0">
                                and jp.grid_code in
                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jp.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                    <if test="place.roleName=='mj'">
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jpag.community_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                </when>
                <otherwise>
                    <choose>
                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                            and
                            (
                            jg.grid_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            or
                            jpag.community_code in
                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                #{code}
                            </foreach>
                            )
                        </when>
                        <otherwise>
                            and
                            (
                            jg.grid_code in ('') or jpag.community_code in ('')
                            )
                        </otherwise>
                    </choose>
                </otherwise>
            </choose>
        </if>
        order by jp.create_time desc,jp.id desc
    </select>
</mapper>
src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.common.node.TreeStringNode;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.excel.ImportPlaceExcel;
@@ -209,4 +210,11 @@
     * @return
     */
    String getCommunityCode(Long id);
    /**
     * 导出场所信息
     * @param place
     * @return
     */
    List<ExportPlaceExcel> exportPlaceList(PlaceVO place);
}
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -41,6 +41,7 @@
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.place.entity.*;
import org.springblade.modules.place.excel.ExportPlaceExcel;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.excel.ImportPlaceExcel;
@@ -1789,4 +1790,20 @@
    public String getCommunityCode(Long id) {
        return baseMapper.getCommunityCode(id);
    }
    /**
     * 导出场所信息
     * @param place
     * @return
     */
    @Override
    public List<ExportPlaceExcel> exportPlaceList(PlaceVO place) {
        // 公共参数设置
        CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
        return baseMapper.exportPlaceList(place,
            commonParamSet.getGridCodeList(),
            commonParamSet.getRegionChildCodesList(),
            commonParamSet.getIsAdministrator()
        );
    }
}