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

@@ -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,41 +1,26 @@
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: 试验样品信息
@@ -73,6 +58,18 @@ public class ExperimentSampleInfoController extends JeecgController<ExperimentSa
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);
}
/**
* 添加
*

View File

@@ -171,8 +171,8 @@ 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;
@@ -192,6 +192,10 @@ public class Experiment implements Serializable {
*/
@TableField(exist = false)
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();
}
}