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 cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; 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); QueryWrapper<Experiment> queryWrapper = QueryGenerator.initQueryWrapper(experiment, req.getParameterMap(), customeRuleMap);
Page<Experiment> page = new Page<>(pageNo, pageSize); Page<Experiment> page = new Page<>(pageNo, pageSize);
page.addOrder(OrderItem.asc("index_no"));
IPage<Experiment> pageList = experimentService.page(page, queryWrapper); IPage<Experiment> pageList = experimentService.page(page, queryWrapper);
pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v)); pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v));
return Result.OK(pageList); return Result.OK(pageList);

View File

@@ -257,7 +257,7 @@ public class ExperimentReportController extends JeecgController<ExperimentReport
// 根据用户名查询用户信息 // 根据用户名查询用户信息
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
ExperimentReport report = experimentReportService.getById(experimentReport.getId()); ExperimentReport report = experimentReportService.getById(experimentReport.getId());
if (StringUtils.isNotBlank(experimentReport.getMemo())){ if (StringUtils.isNotBlank(experimentReport.getMemo())) {
report.setMemo(experimentReport.getMemo()); report.setMemo(experimentReport.getMemo());
} }
//校对员 //校对员
@@ -311,4 +311,21 @@ public class ExperimentReportController extends JeecgController<ExperimentReport
return Result.OK("审核成功!"); 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; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; 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.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: 试验样品信息 * @Description: 试验样品信息
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2024-12-04 * @Date: 2024-12-04
* @Version: V1.0 * @Version: V1.0
*/ */
@Tag(name="试验样品信息") @Tag(name = "试验样品信息")
@RestController @RestController
@RequestMapping("/database/experimentSampleInfo") @RequestMapping("/database/experimentSampleInfo")
@Slf4j @Slf4j
public class ExperimentSampleInfoController extends JeecgController<ExperimentSampleInfo, IExperimentSampleInfoService> { public class ExperimentSampleInfoController extends JeecgController<ExperimentSampleInfo, IExperimentSampleInfoService> {
@Autowired @Autowired
private IExperimentSampleInfoService experimentSampleInfoService; 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);
}
/** /**
* 导出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") @RequiresPermissions("database:experiment_sample_info:exportXls")
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ExperimentSampleInfo experimentSampleInfo) { public ModelAndView exportXls(HttpServletRequest request, ExperimentSampleInfo experimentSampleInfo) {
@@ -163,12 +160,12 @@ public class ExperimentSampleInfoController extends JeecgController<ExperimentSa
} }
/** /**
* 通过excel导入数据 * 通过excel导入数据
* *
* @param request * @param request
* @param response * @param response
* @return * @return
*/ */
@RequiresPermissions("database:experiment_sample_info:importExcel") @RequiresPermissions("database:experiment_sample_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST) @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { 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") //@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
//@DateTimeFormat(pattern = "yyyy-MM-dd") //@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "试验开始日期") @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") //@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
//@DateTimeFormat(pattern = "yyyy-MM-dd") //@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "试验结束日期") @Schema(description = "试验结束日期")
private String endDate; private String endDate;
/** /**
* 辐射源类型 * 辐射源类型
*/ */
@@ -171,27 +171,31 @@ public class Experiment implements Serializable {
* 试验文件 * 试验文件
*/ */
//@Excel(name = "试验文件", width = 15) //@Excel(name = "试验文件", width = 15)
@Schema(description = "试验文件") //@Schema(description = "试验文件")
private String files; //private String files;
@TableField(exist = false) @TableField(exist = false)
private List<ExperimentFile> fileList; private List<ExperimentFile> fileList;
/** /**
* 试验人员ID, 逗号分割多个 * 试验人员ID, 逗号分割多个
*/ */
@TableField(exist = false) @TableField(exist = false)
private String experimentUser; private String experimentUser;
/** /**
* 试验负责人 * 试验负责人
*/ */
@TableField(exist = false) @TableField(exist = false)
@Excel(name = "试验负责人", width = 15) @Excel(name = "试验负责人", width = 15)
private String supervisorName; private String supervisorName;
/** /**
* 试验人员 * 试验人员
*/ */
@TableField(exist = false) @TableField(exist = false)
private List<ExperimentUser> experimentUserList; private List<ExperimentUser> experimentUserList;
@Excel(name = "排序号", width = 15)
@Schema(description = "排序号")
private Integer indexNo;
// //
//public void addCopyCount() { //public void addCopyCount() {
// if (Objects.isNull(copyCount)) { // if (Objects.isNull(copyCount)) {

View File

@@ -85,6 +85,10 @@ public class ExperimentSampleInfo implements Serializable {
@Excel(name = "样品批次", width = 15) @Excel(name = "样品批次", width = 15)
@Schema(description = "样品批次") @Schema(description = "样品批次")
private String sampleBatch; private String sampleBatch;
@Schema(description = "型号批次")
@TableField(exist = false)
private String modelBatch;
/** /**
* 生产厂家 * 生产厂家
*/ */
@@ -103,4 +107,12 @@ public class ExperimentSampleInfo implements Serializable {
@Excel(name = "样品名称", width = 15) @Excel(name = "样品名称", width = 15)
@Schema(description = "样品名称") @Schema(description = "样品名称")
private String sampleName; 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); 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.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentStatus; import org.jeecg.modules.database.constant.ExperimentStatus;
@@ -100,6 +101,7 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
experiment.setId(null); experiment.setId(null);
experiment.setExperimentNo(experimentSequenceService.next()); experiment.setExperimentNo(experimentSequenceService.next());
experiment.setCopyCount(0); experiment.setCopyCount(0);
experiment.setIndexNo(getLastIndex() + 1);
experiment.setStatus(ExperimentStatus.PRE_TEST); experiment.setStatus(ExperimentStatus.PRE_TEST);
experiment.setStartDate(null); experiment.setStartDate(null);
experiment.setEndDate(null); experiment.setEndDate(null);
@@ -174,6 +176,8 @@ public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experim
@Override @Override
public void saveWithDetail(Experiment experiment) { public void saveWithDetail(Experiment experiment) {
Integer lastIndex = getLastIndex();
experiment.setIndexNo(lastIndex + 1);
saveOrUpdate(experiment); saveOrUpdate(experiment);
String experimentUser = experiment.getExperimentUser(); 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();
}
} }