update 标准征求意见详情代码

This commit is contained in:
lijiarao
2024-09-24 16:23:38 +08:00
parent ec9bdc4942
commit 8b2365ebbc
5 changed files with 95 additions and 17 deletions
@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -224,4 +226,56 @@ public class JeroController<T, S extends IService<T>> {
}
return Result.error("文件导入失败!");
}
/**
* 通过excel获取导入数据
*
* @param request
* @return
*/
protected List<T> getExcelData(HttpServletRequest request, Class<T> clazz) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 获取上传文件对象
MultipartFile file = entity.getValue();
//校验文件名
String originalFilename = file.getOriginalFilename();
if (originalFilename != null) {
String substring = originalFilename.substring(originalFilename.lastIndexOf("."));
if (!".xlsx".equals(substring)&&!".xls".equals(substring)) {
throw new JeroBootException("文件类型错误:" + "请上传.xlsx或.xls文件!");
}
} else {
throw new JeroBootException("文件错误:" + "文件名丢失,请上传正确的文件!");
}
ImportParams params = new ImportParams();
params.setSheetNum(1);
params.setTitleRows(1);
params.setHeadRows(1);
try {
//导入Excel格式校验,看匹配的字段文本概率
Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), clazz, params);
if (t == null) {
throw new JeroBootException("导入数据为空!");
}
if(!t){
throw new JeroBootException("文件格式有误,请下载模板后上传 ");
}
return ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);
} catch (Exception e) {
if(Objects.isNull(e.getMessage())){
throw new JeroBootException("文件导入失败:请填写内容标题!");
}
log.error("文件导入失败:",e);
throw new JeroBootException("文件导入失败:" + e.getMessage());
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
throw new JeroBootException("文件导入失败!");
}
}
@@ -56,6 +56,19 @@ public class StandardSolicitOpinionsController extends JeroController<StandardSo
IPage<StandardSolicitOpinions> pageList = standardSolicitOpinionsService.pageList(page, standardSolicitOpinions, req);
return Result.OK(pageList);
}
/**
* 通过id查询
*/
@AutoLog(value = "标准征求意见-通过id查询")
@ApiOperation(value = "标准征求意见-通过id查询", notes = "标准征求意见-通过id查询")
@GetMapping(value = "/queryById")
public Result<StandardSolicitOpinions> queryById(@RequestParam(name = "id") String id) {
StandardSolicitOpinions standardSolicitOpinions = standardSolicitOpinionsService.queryById(id);
if (standardSolicitOpinions == null) {
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
return Result.OK(standardSolicitOpinions);
}
///**
// * 列表查询
@@ -122,19 +135,7 @@ public class StandardSolicitOpinionsController extends JeroController<StandardSo
// return Result.OK(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK);
//}
//
///**
// * 通过id查询
// */
//@AutoLog(value = "标准征求意见-通过id查询")
//@ApiOperation(value = "标准征求意见-通过id查询", notes = "标准征求意见-通过id查询")
//@GetMapping(value = "/queryById")
//public Result<StandardSolicitOpinions> queryById(@RequestParam(name = "id") String id) {
// StandardSolicitOpinions standardSolicitOpinions = standardSolicitOpinionsService.queryById(id);
// if (standardSolicitOpinions == null) {
// return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
// }
// return Result.OK(standardSolicitOpinions);
//}
//
///**
// * 导出excel
@@ -153,8 +153,11 @@ public class StandardSolicitOpinionsTermController extends JeroController<Standa
*/
@ApiOperation(value = "标准征求意见条款关联表-通过excel导入数据")
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, StandardSolicitOpinionsTerm.class);
public Result<?> importExcel(StandardSolicitOpinionsTerm standardSolicitOpinionsTerm, HttpServletRequest request, HttpServletResponse response) {
List<StandardSolicitOpinionsTerm> excelDataList = super.getExcelData(request, StandardSolicitOpinionsTerm.class);
lawsStandardSolicitOpinionsTermService.importExcel(standardSolicitOpinionsTerm,excelDataList);
return Result.OK();
}
}
@@ -42,7 +42,7 @@ public class StandardSolicitOpinionsTerm implements Serializable {
* 法规工程师
*/
@ApiModelProperty(value = "法规工程师")
@Excel(name = "法规工程师", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "realname")
@Excel(name = "法规工程师", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String proposerId;
/**
@@ -97,12 +97,13 @@ public class StandardSolicitOpinionsTerm implements Serializable {
* 反馈人id
*/
@ApiModelProperty(value = "反馈人id")
@Excel(name = "反馈人", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "CONCAT(realname, '(', username, ')')")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String feedbackPersonId;
/**
* 反馈人
*/
@ApiModelProperty(value = "反馈人")
@Excel(name = "反馈人", width = 15)
private String feedbackPerson;
/**
* 反馈意见
@@ -1,9 +1,12 @@
package com.jero.modules.laws.solicitopinions.service;
import cn.hutool.core.collection.CollStreamUtil;
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.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.laws.solicitopinions.entity.StandardSolicitOpinionsTerm;
import com.jero.modules.laws.solicitopinions.mapper.StandardSolicitOpinionsTermMapper;
import lombok.extern.slf4j.Slf4j;
@@ -13,6 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* 标准征求意见条款关联表(StandardSolicitOpinionsTerm)表服务实现类
@@ -25,6 +29,8 @@ import java.util.List;
public class StandardSolicitOpinionsTermService extends ServiceImpl<StandardSolicitOpinionsTermMapper, StandardSolicitOpinionsTerm> {
@Resource
private StandardSolicitOpinionsTermMapper standardSolicitOpinionsTermMapper;
@Resource
private ISysBaseAPI sysBaseAPI;
public IPage<StandardSolicitOpinionsTerm> pageList(Page<StandardSolicitOpinionsTerm> page, StandardSolicitOpinionsTerm lawsStandardSolicitOpinionsTerm, HttpServletRequest req) {
QueryWrapper<StandardSolicitOpinionsTerm> queryWrapper = QueryGenerator.initQueryWrapper(lawsStandardSolicitOpinionsTerm, req.getParameterMap());
@@ -53,5 +59,18 @@ public class StandardSolicitOpinionsTermService extends ServiceImpl<StandardSoli
StandardSolicitOpinionsTerm standardSolicitOpinionsTerm = this.getById(id);
return standardSolicitOpinionsTerm;
}
public void importExcel(StandardSolicitOpinionsTerm standardSolicitOpinionsTerm, List<StandardSolicitOpinionsTerm> excelDataList) {
//List<DictModel> dictModels = sysBaseAPI.queryFilterTableDictInfo("sys_user", "CONCAT(realname, '(', username, ')')", "id", "");
//Map<String, String> userMap = CollStreamUtil.toMap(dictModels, DictModel::getText, DictModel::getValue);
for (StandardSolicitOpinionsTerm term : excelDataList) {
//String feedbackPersonId = term.getFeedbackPersonId();
//term.setFeedbackPersonId(userMap.get(feedbackPersonId));
//String proposerId = term.getProposerId();
//term.setProposerId(userMap.get(proposerId));
term.setSolicitOpinionsId(standardSolicitOpinionsTerm.getSolicitOpinionsId());
}
this.saveBatch(excelDataList);
}
}