Commit f836c470 authored by 韩桐桐's avatar 韩桐桐

feat(jyjc):定(首)检验列表导出功能

parent b4d1a7f3
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipDto;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -107,6 +108,8 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
Long queryAllPendingAndFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
Long queryAllFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
List<JyjcInspectionApplicationVo> queryExportInIds(@Param("ids") List<String> ids);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
......@@ -16,4 +17,6 @@ public interface IJyjcInspectionApplicationService {
Boolean deleteBatchData(List<Long> sequenceNbr);
Page<JyjcInspectionApplicationModel> queryForPageList(Page<JyjcInspectionApplication> page, JyjcInspectionApplicationModel model);
void export(HttpServletResponse response, List<String> ids);
}
package com.yeejoin.amos.boot.module.jyjc.api.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class JyjcInspectionApplicationVo {
@ExcelProperty(value = "报检单编号", index = 0)
String applicationNo;
@ExcelProperty(value = "报检日期", index = 1)
String applicationDate;
@ExcelProperty(value = "检验类型", index = 2)
String inspectionType;
@ExcelProperty(value = "报检单位", index = 3)
String applicationUnitName;
@ExcelProperty(value = "检验检测机构", index = 4)
String inspectionUnitName;
@ExcelProperty(value = "设备种类", index = 5)
String equipClassify;
@ExcelProperty(value = "办理状态", index = 6)
String statusName;
@ExcelProperty(value = "办理日期", index = 7)
String acceptDate;
}
\ No newline at end of file
......@@ -61,21 +61,23 @@
order by tzjia.application_no desc
</select>
<sql id="page-list">
SELECT tzjia.*,
case
when tzjia.plan_data<![CDATA[ <>]]> '' then TRUE
else false END as isExistPlanData,
cdd1.NAME AS inspectionClassify,
cdd3.NAME AS inspectionType,
(SELECT name FROM "tz_equipment_category" ca where ca.code = tzjia.equip_classify) AS equipClassify,
cdd2.NAME AS statusName
FROM tz_jyjc_inspection_application AS tzjia
LEFT JOIN cb_data_dictionary cdd1 ON cdd1.code = tzjia.inspection_classify AND cdd1.TYPE = 'JYJCLB'
LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = tzjia.status and cdd2.type = 'JYLCZT'
LEFT JOIN cb_data_dictionary cdd3 ON cdd3.code = tzjia.inspection_type AND cdd3.TYPE = 'JYJC'
</sql>
<select id="selectForPage" resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel">
SELECT
tzjia.*,
case
when tzjia.plan_data<![CDATA[<>]]> '' then TRUE
else false END as isExistPlanData,
cdd1.NAME AS inspectionClassify,
cdd3.NAME AS inspectionType,
(SELECT name FROM "tz_equipment_category" ca where ca.code = tzjia.equip_classify) AS equipClassify,
cdd2.NAME AS statusName
FROM
tz_jyjc_inspection_application AS tzjia
LEFT JOIN cb_data_dictionary cdd1 ON cdd1.code = tzjia.inspection_classify AND cdd1.TYPE = 'JYJCLB'
LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = tzjia.status and cdd2.type = 'JYLCZT'
LEFT JOIN cb_data_dictionary cdd3 ON cdd3.code = tzjia.inspection_type AND cdd3.TYPE = 'JYJC'
<include refid="page-list"/>
<where>
<if test="jyjcInspectionApplicationModel.applicationNo != null and jyjcInspectionApplicationModel.applicationNo != ''">
and tzjia.application_no like concat('%',#{jyjcInspectionApplicationModel.applicationNo},'%')
......@@ -620,4 +622,17 @@
and a.inspection_type = #{dpFilterParamForDetailDto.businessType}
</if>
</select>
<select id="queryExportInIds" resultType="com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo">
<include refid="page-list"/>
<where>
<if test='ids != null'>
and tzjia.sequence_nbr in
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
</where>
order by tzjia.application_no desc
</select>
</mapper>
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -24,10 +25,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
/**
* @author system_generator
......@@ -282,4 +281,12 @@ public class JyjcInspectionApplicationController extends BaseController {
public ResponseModel<List<DictionarieModel>> inspectTypeListByBizType(@PathVariable String bizType){
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.inspectTypeListByBizType(bizType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/export")
@ApiOperation(httpMethod = "GET", value = "列表数据导出", notes = "列表数据导出")
public void export(HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据");
jyjcInspectionApplicationServiceImpl.export(response, Arrays.asList(ids.split(",")));
}
}
......@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
......@@ -27,6 +28,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEqu
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.*;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionApplicationService;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionApplicationPushEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.JgFeignClient;
......@@ -73,6 +75,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.util.*;
......@@ -528,6 +531,12 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return this.getBaseMapper().selectForPage(page, model, identity, currentApplicationUnitCode, currentInspectionUnitCode, currentUserId);
}
@Override
public void export(HttpServletResponse response, List<String> ids) {
List<JyjcInspectionApplicationVo> exportData = this.baseMapper.queryExportInIds(ids);
ExcelUtil.createTemplate(response, "定(首)检验列表数据", "定(首)检验列表", exportData, JyjcInspectionApplicationVo.class, null, false);
}
private String getCompanyIdentityByType(String companyType) {
// 可发起单位的单位类型(角色与单位类型已绑定,在业务系统增加的账号不会出现角色与的单位类型不匹配场景)
String[] applyIdentityDefine = {"使用单位", "安装改造维修单位"};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment