市场法规清单添加导出按钮
This commit is contained in:
-5
@@ -3,30 +3,25 @@ package com.jero.modules.laws.marketStandard.controller;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.Translation;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
+18
-1
@@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -22,7 +23,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@Api(tags = "外部标准库-市场法规清单详情")
|
||||
@Api(tags = "市场法规清单-市场法规清单详情")
|
||||
@RestController
|
||||
@RequestMapping("/laws/marketStandardDetail")
|
||||
@Slf4j
|
||||
@@ -216,4 +217,20 @@ public class MarketStandardDetailController {
|
||||
lawsMarketStandardDetailService.downloadTemplate(response);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*
|
||||
* @param marketStandardDetail
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-导出")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-导出", notes = "外部标准库-市场法规清单-导出")
|
||||
@GetMapping(value = "/export")
|
||||
@ApiOperationSupport(order = 2)
|
||||
@RequiresPermissions("marketStandard:detail")
|
||||
public ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request) {
|
||||
return lawsMarketStandardDetailService.export(marketStandardDetail,request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+26
@@ -1,7 +1,13 @@
|
||||
package com.jero.modules.laws.marketStandard.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,6 +25,26 @@ public interface LawsMarketStandardDetailMapper extends BaseMapper<LawsMarketSta
|
||||
* @return
|
||||
*/
|
||||
List<LawsMarketStandardDetail> getStandardData(List<String> listNum);
|
||||
|
||||
/**
|
||||
* 分页
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @param listIds
|
||||
* @return
|
||||
*/
|
||||
IPage<LawsMarketStandardDetail> pageList(Page<LawsMarketStandardDetail> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<LawsMarketStandardDetail> queryWrapper,
|
||||
@Param("listIds") List<String> listIds);
|
||||
|
||||
/**
|
||||
* 列表
|
||||
* @param queryWrapper
|
||||
* @param listIds
|
||||
* @return
|
||||
*/
|
||||
List<LawsMarketStandardDetail> pageList(@Param(Constants.WRAPPER) QueryWrapper<LawsMarketStandardDetail> queryWrapper,
|
||||
@Param("listIds") List<String> listIds);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+14
@@ -17,4 +17,18 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="pageList" resultType="com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail">
|
||||
select ms.*
|
||||
from laws_market_standard_detail ms
|
||||
JOIN (
|
||||
SELECT max(id) AS max_id
|
||||
FROM laws_market_standard_detail
|
||||
where manifest_id in
|
||||
<foreach collection="listIds" item="item" index="index" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY standard_id
|
||||
) ms1 on ms1.max_id = ms.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+9
@@ -5,6 +5,7 @@ import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -102,4 +103,12 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
|
||||
* @return
|
||||
*/
|
||||
Result<?> queryById(String id);
|
||||
|
||||
/**
|
||||
* 导出详情
|
||||
* @param marketStandardDetail
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request);
|
||||
}
|
||||
|
||||
+76
-11
@@ -3,10 +3,12 @@ package com.jero.modules.laws.marketStandard.service.impl;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.ImportExcelUtil;
|
||||
@@ -19,11 +21,15 @@ import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMappe
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||
import com.jero.modules.laws.utils.ValidUtil;
|
||||
import com.jero.modules.quartz.entity.QuartzJob;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -31,6 +37,7 @@ import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -81,22 +88,28 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(StringUtils.isBlank(marketStandardDetail.getManifestId())){
|
||||
return Result.OK(new Page<>(pageNo, pageSize));
|
||||
}
|
||||
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId);
|
||||
if(Objects.isNull(lawsMarketStandardOld)){
|
||||
List<LawsMarketStandard> listLawsMarketStandardOld = marketStandardService
|
||||
.listByIds(Arrays.asList(manifestId.split(",")));
|
||||
if(CollectionUtils.isEmpty(listLawsMarketStandardOld)){
|
||||
return Result.error(NOT_DATA);
|
||||
}
|
||||
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
for (LawsMarketStandard lawsMarketStandard : listLawsMarketStandardOld) {
|
||||
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
|
||||
&& !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())
|
||||
&& !Objects.equals(lawsMarketStandardOld.getManifestStatus(), MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||
return Result.error("没有权限");
|
||||
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())
|
||||
&& !Objects.equals(lawsMarketStandard.getManifestStatus(),
|
||||
MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||
return Result.error("没有权限");
|
||||
}
|
||||
}
|
||||
|
||||
String manifestVersion = marketStandardDetail.getManifestVersion();
|
||||
if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag());
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,
|
||||
listLawsMarketStandardOld.get(0).getVersionFlag());
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion);
|
||||
LawsMarketStandard lawsMarketStandard = marketStandardService.getOne(queryLawsMarketStandard,false);
|
||||
if(Objects.isNull(lawsMarketStandard)){
|
||||
@@ -109,9 +122,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
QueryWrapper<LawsMarketStandardDetail> queryWrapper =
|
||||
QueryGenerator.initQueryWrapper(marketStandardDetail, request.getParameterMap());
|
||||
queryWrapper.in("manifest_id",listIds);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
Page<LawsMarketStandardDetail> page = new Page<>(pageNo, pageSize);
|
||||
return Result.OK(page(page, queryWrapper));
|
||||
IPage<LawsMarketStandardDetail> res = lawsMarketStandardDetailMapper.pageList(page, queryWrapper, listIds);
|
||||
return Result.OK(res);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -504,6 +517,58 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
}
|
||||
return Result.OK(lawsMarketStandardDetail);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request) {
|
||||
String manifestId = marketStandardDetail.getManifestId();
|
||||
if(StringUtils.isBlank(marketStandardDetail.getManifestId())){
|
||||
throw new JeroBootException(NOT_DATA);
|
||||
}
|
||||
List<LawsMarketStandard> listLawsMarketStandardOld = marketStandardService
|
||||
.listByIds(Arrays.asList(manifestId.split(",")));
|
||||
if(CollectionUtils.isEmpty(listLawsMarketStandardOld)){
|
||||
throw new JeroBootException(NOT_DATA);
|
||||
}
|
||||
for (LawsMarketStandard lawsMarketStandard : listLawsMarketStandardOld) {
|
||||
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
|
||||
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())
|
||||
&& !Objects.equals(lawsMarketStandard.getManifestStatus(),
|
||||
MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||
throw new JeroBootException("没有权限");
|
||||
}
|
||||
}
|
||||
|
||||
String manifestVersion = marketStandardDetail.getManifestVersion();
|
||||
if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,
|
||||
listLawsMarketStandardOld.get(0).getVersionFlag());
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion);
|
||||
LawsMarketStandard lawsMarketStandard = marketStandardService.getOne(queryLawsMarketStandard,false);
|
||||
if(Objects.isNull(lawsMarketStandard)){
|
||||
throw new JeroBootException(manifestVersion + "版本不存在");
|
||||
}
|
||||
manifestId = lawsMarketStandard.getId();
|
||||
}
|
||||
List<String> listIds = Arrays.asList(manifestId.split(","));
|
||||
marketStandardDetail.setManifestId(null);
|
||||
QueryWrapper<LawsMarketStandardDetail> queryWrapper =
|
||||
QueryGenerator.initQueryWrapper(marketStandardDetail, request.getParameterMap());
|
||||
queryWrapper.in("manifest_id",listIds);
|
||||
List<LawsMarketStandardDetail> res = lawsMarketStandardDetailMapper.pageList(queryWrapper, listIds);
|
||||
|
||||
// Step.2 AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
// 导出文件名称
|
||||
mv.addObject(JeroController.FILE_NAME, "市场法规清单");
|
||||
mv.addObject(JeroController.CLASS, QuartzJob.class);
|
||||
mv.addObject(JeroController.PARAMS, new ExportParams("市场法规清单", "", ""));
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, res);
|
||||
return mv;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+9
@@ -89,6 +89,15 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
queryWrapper.like(StringUtils.isNotBlank(marketStandard.getManifestName()),
|
||||
"ms.manifest_name", marketStandard.getManifestName());
|
||||
if (StringUtils.isNotBlank(marketStandard.getCountry())) {
|
||||
if(marketStandard.getCountry().contains("-")){
|
||||
// todo 验证父级是否为欧盟或类欧盟数据,带出父子级数据
|
||||
String[] str = marketStandard.getCountry().split("-");
|
||||
String parentItemValueA = "1";
|
||||
String parentItemValueB = "2";
|
||||
if(Objects.equals(str[0],parentItemValueA) || Objects.equals(str[0],parentItemValueB)){
|
||||
marketStandard.setCountry(marketStandard.getCountry() + "," + str[0]);
|
||||
}
|
||||
}
|
||||
String[] str = marketStandard.getCountry().split(",");
|
||||
queryWrapper.and(i->{
|
||||
for (int i1 = 0; i1 < str.length; i1++) {
|
||||
|
||||
Reference in New Issue
Block a user