法规清单详情修改
This commit is contained in:
+139
@@ -0,0 +1,139 @@
|
||||
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.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 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;
|
||||
|
||||
|
||||
@Api(tags = "外部标准库-市场法规清单详情")
|
||||
@RestController
|
||||
@RequestMapping("/laws/marketStandardDetail")
|
||||
@Slf4j
|
||||
public class MarketStandardDetailController {
|
||||
|
||||
@Resource
|
||||
private ILawsMarketStandardService marketStandardService;
|
||||
|
||||
|
||||
/**
|
||||
* 查看
|
||||
*
|
||||
* @param marketStandardDetail
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-查看")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-查看", notes = "外部标准库-市场法规清单-查看")
|
||||
@GetMapping(value = "/detail")
|
||||
@ApiOperationSupport(order = 2)
|
||||
@RequiresPermissions("marketStandard:detail")
|
||||
public Result<MarketStandardDetailVO> detail(LawsMarketStandardDetail marketStandardDetail) {
|
||||
MarketStandardDetailVO result = marketStandardService.detail(marketStandardDetail);
|
||||
return Result.OK(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-导出")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-导出", notes = "外部标准库-市场法规清单-导出")
|
||||
@ApiOperationSupport(order = 3)
|
||||
@RequiresPermissions("marketStandard:export")
|
||||
@GetMapping(value = "/exportXls", produces = "application/zip")
|
||||
public void exportXls(HttpServletResponse response, LawsMarketStandard LawsMarketStandard, HttpServletRequest req) {
|
||||
marketStandardService.export(response, LawsMarketStandard, "市场法规清单", "市场法规清单", req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-批量删除")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-批量删除", notes = "外部标准库-市场法规清单-批量删除")
|
||||
@ApiOperationSupport(order = 4)
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
@RequiresPermissions("marketStandard:deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) {
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.marketStandardService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @param marketStandardDetailVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-新增")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-新增", notes = "外部标准库-市场法规清单-新增")
|
||||
@ApiOperationSupport(order = 5)
|
||||
@PostMapping(value = "/add")
|
||||
@RequiresPermissions("marketStandard:add")
|
||||
public Result<T> add(@RequestBody MarketStandardDetailVO marketStandardDetailVO) {
|
||||
this.marketStandardService.add(marketStandardDetailVO);
|
||||
return Result.OK("新增成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param marketStandardDetailVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-编辑")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-编辑", notes = "外部标准库-市场法规清单-编辑")
|
||||
@ApiOperationSupport(order = 6)
|
||||
@PostMapping(value = "/edit")
|
||||
@RequiresPermissions("marketStandard:edit")
|
||||
public Result<T> edit(@RequestBody MarketStandardDetailVO marketStandardDetailVO) {
|
||||
this.marketStandardService.edit(marketStandardDetailVO);
|
||||
return Result.OK("修改成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入
|
||||
*
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "外部标准库-市场法规清单-导入")
|
||||
@ApiOperation(value = "外部标准库-市场法规清单-导入", notes = "外部标准库-市场法规清单-导入")
|
||||
@ApiOperationSupport(order = 7)
|
||||
@PostMapping(value = "/importExcel")
|
||||
@RequiresPermissions("marketStandard:importExcel")
|
||||
public Result<T> importExcel(@RequestParam("file") @ApiParam("文件") MultipartFile file) {
|
||||
List<String> errorMessages = marketStandardService.importExcel(file);
|
||||
if (!errorMessages.isEmpty()) {
|
||||
return Result.error(MessageUtils.getMessage(ResultCommon.IMPORT_ERROR));
|
||||
}
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
}
|
||||
+1
-2
@@ -95,7 +95,6 @@ public class LawsMarketStandard implements Serializable {
|
||||
/**
|
||||
* 清单版本
|
||||
*/
|
||||
@Dict(dicCode = "manifest_version")
|
||||
@ApiModelProperty(value = "清单版本")
|
||||
private String manifestVersion;
|
||||
|
||||
@@ -154,4 +153,4 @@ public class LawsMarketStandard implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-2
@@ -12,7 +12,7 @@ import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @TableName laws_market_standard_detail
|
||||
*/
|
||||
@TableName(value ="laws_market_standard_detail")
|
||||
@@ -207,4 +207,11 @@ public class LawsMarketStandardDetail implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清单版本
|
||||
*/
|
||||
@ApiModelProperty(value = "清单版本")
|
||||
@TableField(exist = false)
|
||||
private String manifestVersion;
|
||||
}
|
||||
|
||||
+59
-8
@@ -5,14 +5,21 @@ 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.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants;
|
||||
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.mapper.LawsMarketStandardMapper;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||
import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardMapper;
|
||||
import com.jero.modules.system.entity.SysRole;
|
||||
import com.jero.modules.system.service.ISysRoleService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@@ -22,6 +29,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
@@ -34,9 +43,21 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
|
||||
@Resource
|
||||
private LawsMarketStandardMapper marketStandardMapper;
|
||||
|
||||
@Resource
|
||||
private ILawsMarketStandardDetailService lawsMarketStandardDetailService;
|
||||
@Resource
|
||||
private ISysRoleService sysRoleService;
|
||||
|
||||
/**
|
||||
* 法规管理员
|
||||
*/
|
||||
@Value("${sys_role.laws_admin}")
|
||||
private String lawsAdmin;
|
||||
/**
|
||||
* 超级管理员
|
||||
*/
|
||||
@Value("${sys_role.super_admin}")
|
||||
private String superAdmin;
|
||||
|
||||
@Override
|
||||
public IPage<LawsMarketStandard> queryPage(LawsMarketStandard marketStandard, Integer pageNo, Integer pageSize) {
|
||||
@@ -118,6 +139,21 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
String ids = marketStandardDetail.getManifestId();
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
|
||||
LawsMarketStandard manifest = getById(idList.get(0));
|
||||
// 清单版本不为空,查询指定版本
|
||||
if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,marketStandardDetail.getManifestVersion());
|
||||
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,manifest.getManifestNo());
|
||||
manifest = getOne(queryLawsMarketStandard,false);
|
||||
if(Objects.isNull(manifest)){
|
||||
throw new JeroBootException("市场法规清单不存在");
|
||||
}
|
||||
idList = new ArrayList<>();
|
||||
idList.add(manifest.getId());
|
||||
}
|
||||
result.setManifest(manifest);
|
||||
|
||||
// 列表数据
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(StringUtils.isNotBlank(marketStandardDetail.getStandardNumber()),
|
||||
@@ -132,14 +168,29 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
||||
if (idList.size() > 1) {
|
||||
return result;
|
||||
}
|
||||
LawsMarketStandard manifest = getById(idList.get(0));
|
||||
result.setManifest(manifest);
|
||||
// TODO 历史版本信息
|
||||
result.setHistoryVersions(new ArrayList<>());
|
||||
|
||||
// 历史版本信息
|
||||
// 只允许法规管理员和超级管理员查看历史版本数据
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(StringUtils.isBlank(sysUser.getRoleIds())){
|
||||
return result;
|
||||
}
|
||||
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
|
||||
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)){
|
||||
return result;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<LawsMarketStandard> queryManifestNo = new LambdaQueryWrapper<>();
|
||||
queryManifestNo.select(LawsMarketStandard::getManifestVersion);
|
||||
queryManifestNo.isNotNull(LawsMarketStandard::getManifestNo);
|
||||
queryManifestNo.eq(LawsMarketStandard::getManifestNo,manifest.getManifestNo());
|
||||
queryManifestNo.orderByDesc(LawsMarketStandard::getManifestVersion);
|
||||
List<LawsMarketStandard> listManifestNo = list(queryManifestNo);
|
||||
if(!CollectionUtils.isEmpty(listManifestNo)){
|
||||
result.setHistoryVersions(listManifestNo.stream().map(LawsMarketStandard::getManifestVersion).collect(Collectors.toList()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user