This commit is contained in:
ls
2025-01-15 17:48:56 +08:00
parent ce61f2fadd
commit a442ef2d72
7 changed files with 203 additions and 154 deletions

View File

@@ -3,6 +3,7 @@ package org.jeecg.modules.database.controller;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -89,6 +90,7 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
QueryWrapper<Experiment> queryWrapper = QueryGenerator.initQueryWrapper(experiment, req.getParameterMap(), customeRuleMap);
Page<Experiment> page = new Page<>(pageNo, pageSize);
page.addOrder(OrderItem.asc("index_no"));
IPage<Experiment> pageList = experimentService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v));
return Result.OK(pageList);

View File

@@ -257,7 +257,7 @@ public class ExperimentReportController extends JeecgController<ExperimentReport
// 根据用户名查询用户信息
SysUser sysUser = sysUserService.getUserByName(username);
ExperimentReport report = experimentReportService.getById(experimentReport.getId());
if (StringUtils.isNotBlank(experimentReport.getMemo())){
if (StringUtils.isNotBlank(experimentReport.getMemo())) {
report.setMemo(experimentReport.getMemo());
}
//校对员
@@ -311,4 +311,21 @@ public class ExperimentReportController extends JeecgController<ExperimentReport
return Result.OK("审核成功!");
}
@AutoLog(value = "试验报告-撤回")
@Operation(summary = "试验报告-撤回")
@RequestMapping(value = "/cancel", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> cancel(@RequestBody ExperimentReport experimentReport, HttpServletRequest request) {
String username = JwtUtil.getUserNameByToken(request);
if (oConvertUtils.isEmpty(username)) {
return Result.error("用户未登录!");
}
String createBy = experimentReport.getCreateBy();
if (!StringUtils.equals(createBy, username)) {
return Result.error("您无权进行撤回!");
}
ExperimentReport report = experimentReportService.getById(experimentReport.getId());
report.setStatus(ExperimentReportStatus.INIT);
experimentReportService.updateById(report);
return Result.OK("撤回成功!");
}
}

View File

@@ -1,161 +1,158 @@
package org.jeecg.modules.database.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.service.IExperimentSampleInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
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.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.jeecg.common.aspect.annotation.AutoLog;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.service.IExperimentSampleInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
/**
import java.util.*;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Date: 2024-12-04
* @Version: V1.0
*/
@Tag(name="试验样品信息")
@Tag(name = "试验样品信息")
@RestController
@RequestMapping("/database/experimentSampleInfo")
@Slf4j
public class ExperimentSampleInfoController extends JeecgController<ExperimentSampleInfo, IExperimentSampleInfoService> {
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
/**
* 分页列表查询
*
* @param experimentSampleInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "试验样品信息-分页列表查询")
@Operation(summary="试验样品信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ExperimentSampleInfo>> queryPageList(ExperimentSampleInfo experimentSampleInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ExperimentSampleInfo> queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap());
Page<ExperimentSampleInfo> page = new Page<ExperimentSampleInfo>(pageNo, pageSize);
IPage<ExperimentSampleInfo> pageList = experimentSampleInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param experimentSampleInfo
* @return
*/
@AutoLog(value = "试验样品信息-添加")
@Operation(summary="试验样品信息-添加")
@RequiresPermissions("database:experiment_sample_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ExperimentSampleInfo experimentSampleInfo) {
experimentSampleInfoService.save(experimentSampleInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param experimentSampleInfo
* @return
*/
@AutoLog(value = "试验样品信息-编辑")
@Operation(summary="试验样品信息-编辑")
@RequiresPermissions("database:experiment_sample_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody ExperimentSampleInfo experimentSampleInfo) {
experimentSampleInfoService.updateById(experimentSampleInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "试验样品信息-通过id删除")
@Operation(summary="试验样品信息-通过id删除")
@RequiresPermissions("database:experiment_sample_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
experimentSampleInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "试验样品信息-批量删除")
@Operation(summary="试验样品信息-批量删除")
@RequiresPermissions("database:experiment_sample_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.experimentSampleInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "试验样品信息-通过id查询")
@Operation(summary="试验样品信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<ExperimentSampleInfo> queryById(@RequestParam(name="id",required=true) String id) {
ExperimentSampleInfo experimentSampleInfo = experimentSampleInfoService.getById(id);
if(experimentSampleInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(experimentSampleInfo);
}
@Autowired
private IExperimentSampleInfoService experimentSampleInfoService;
/**
* 导出excel
*
* @param request
* @param experimentSampleInfo
*/
* 分页列表查询
*
* @param experimentSampleInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "试验样品信息-分页列表查询")
@Operation(summary = "试验样品信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ExperimentSampleInfo>> queryPageList(ExperimentSampleInfo experimentSampleInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ExperimentSampleInfo> queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap());
Page<ExperimentSampleInfo> page = new Page<ExperimentSampleInfo>(pageNo, pageSize);
IPage<ExperimentSampleInfo> pageList = experimentSampleInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
@Operation(summary = "试验样品信息-列表查询")
@GetMapping(value = "/search")
public Result<List<ExperimentSampleInfo>> search(ExperimentSampleInfo experimentSampleInfo, HttpServletRequest req) {
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义 sampleModel 字段的查询规则为RIGHT_LIKE
customeRuleMap.put("sampleModel", QueryRuleEnum.RIGHT_LIKE);
QueryWrapper<ExperimentSampleInfo> queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap(),
customeRuleMap);
List<ExperimentSampleInfo> pageList = experimentSampleInfoService.list(queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param experimentSampleInfo
* @return
*/
@AutoLog(value = "试验样品信息-添加")
@Operation(summary = "试验样品信息-添加")
@RequiresPermissions("database:experiment_sample_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ExperimentSampleInfo experimentSampleInfo) {
experimentSampleInfoService.save(experimentSampleInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param experimentSampleInfo
* @return
*/
@AutoLog(value = "试验样品信息-编辑")
@Operation(summary = "试验样品信息-编辑")
@RequiresPermissions("database:experiment_sample_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody ExperimentSampleInfo experimentSampleInfo) {
experimentSampleInfoService.updateById(experimentSampleInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "试验样品信息-通过id删除")
@Operation(summary = "试验样品信息-通过id删除")
@RequiresPermissions("database:experiment_sample_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
experimentSampleInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "试验样品信息-批量删除")
@Operation(summary = "试验样品信息-批量删除")
@RequiresPermissions("database:experiment_sample_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.experimentSampleInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "试验样品信息-通过id查询")
@Operation(summary = "试验样品信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<ExperimentSampleInfo> queryById(@RequestParam(name = "id", required = true) String id) {
ExperimentSampleInfo experimentSampleInfo = experimentSampleInfoService.getById(id);
if (experimentSampleInfo == null) {
return Result.error("未找到对应数据");
}
return Result.OK(experimentSampleInfo);
}
/**
* 导出excel
*
* @param request
* @param experimentSampleInfo
*/
@RequiresPermissions("database:experiment_sample_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ExperimentSampleInfo experimentSampleInfo) {
@@ -163,12 +160,12 @@ public class ExperimentSampleInfoController extends JeecgController<ExperimentSa
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("database:experiment_sample_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {

View File

@@ -87,7 +87,7 @@ public class Experiment implements Serializable {
//@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
//@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "试验开始日期")
private String startDate;
private String startDate;
/**
* 试验日期
*/
@@ -95,7 +95,7 @@ public class Experiment implements Serializable {
//@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
//@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "试验结束日期")
private String endDate;
private String endDate;
/**
* 辐射源类型
*/
@@ -171,27 +171,31 @@ public class Experiment implements Serializable {
* 试验文件
*/
//@Excel(name = "试验文件", width = 15)
@Schema(description = "试验文件")
private String files;
//@Schema(description = "试验文件")
//private String files;
@TableField(exist = false)
private List<ExperimentFile> fileList;
private List<ExperimentFile> fileList;
/**
* 试验人员ID, 逗号分割多个
*/
@TableField(exist = false)
private String experimentUser;
private String experimentUser;
/**
* 试验负责人
*/
@TableField(exist = false)
@Excel(name = "试验负责人", width = 15)
private String supervisorName;
private String supervisorName;
/**
* 试验人员
*/
@TableField(exist = false)
private List<ExperimentUser> experimentUserList;
private List<ExperimentUser> experimentUserList;
@Excel(name = "排序号", width = 15)
@Schema(description = "排序号")
private Integer indexNo;
//
//public void addCopyCount() {
// if (Objects.isNull(copyCount)) {

View File

@@ -85,6 +85,10 @@ public class ExperimentSampleInfo implements Serializable {
@Excel(name = "样品批次", width = 15)
@Schema(description = "样品批次")
private String sampleBatch;
@Schema(description = "型号批次")
@TableField(exist = false)
private String modelBatch;
/**
* 生产厂家
*/
@@ -103,4 +107,12 @@ public class ExperimentSampleInfo implements Serializable {
@Excel(name = "样品名称", width = 15)
@Schema(description = "样品名称")
private String sampleName;
public String getModelBatch() {
return sampleModel + "-" + sampleBatch;
}
public void setModelBatch(String modelBatch) {
this.modelBatch = modelBatch;
}
}

View File

@@ -19,4 +19,6 @@ public interface IExperimentService extends IService<Experiment> {
void saveWithDetail(Experiment experiment);
Integer getLastIndex();
}

View File

@@ -2,6 +2,7 @@ package org.jeecg.modules.database.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentStatus;
@@ -100,6 +101,7 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
experiment.setId(null);
experiment.setExperimentNo(experimentSequenceService.next());
experiment.setCopyCount(0);
experiment.setIndexNo(getLastIndex() + 1);
experiment.setStatus(ExperimentStatus.PRE_TEST);
experiment.setStartDate(null);
experiment.setEndDate(null);
@@ -174,6 +176,8 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
@Override
public void saveWithDetail(Experiment experiment) {
Integer lastIndex = getLastIndex();
experiment.setIndexNo(lastIndex + 1);
saveOrUpdate(experiment);
String experimentUser = experiment.getExperimentUser();
@@ -225,4 +229,15 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
}
}
@Override
public Integer getLastIndex() {
LambdaQueryWrapper<Experiment> eq = new LambdaQueryWrapper<Experiment>().orderByDesc(Experiment::getIndexNo);
Experiment one = getOne(eq, false);
if (Objects.isNull(one)) {
return 1;
}
return one.getIndexNo();
}
}