This commit is contained in:
ls
2024-12-05 00:46:32 +08:00
parent b6bcc5350e
commit 4f049af197
13 changed files with 619 additions and 0 deletions

View File

@@ -55,6 +55,8 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
private ISysUserService userService;
@Autowired
private IExperimentUserService experimentUserService;
@Autowired
private IExperimentSequenceService experimentSequenceService;
/**
* 分页列表查询
@@ -124,6 +126,10 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ExperimentDTO experiment, HttpServletRequest request) {
Experiment experimentDomain = ExperimentDTO.to(experiment);
String experimentNo = experimentDomain.getExperimentNo();
if (!StringUtils.startsWith(experimentNo, "KC")) {
return Result.error("实验编号格式不正确!");
}
experimentDomain.setStatus(ExperimentStatus.PRE_TEST);
experimentService.save(experimentDomain);
@@ -146,6 +152,12 @@ public class ExperimentController extends JeecgController<Experiment, IExperimen
SysUser userByName = userService.getUserByName(username);
experimentLog.setCreateBy(userByName.getRealname());
experimentLogService.save(experimentLog);
String[] split = experimentNo.split("-", 4);
ExperimentSequence seq = new ExperimentSequence();
seq.setSequenceYear(split[1]);
seq.setSequenceValue(Integer.parseInt(split[3]));
experimentSequenceService.save(seq);
return Result.OK("添加成功!");
}

View File

@@ -0,0 +1,178 @@
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 org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@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);
}
/**
* 导出excel
*
* @param request
* @param experimentSampleInfo
*/
@RequiresPermissions("database:experiment_sample_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ExperimentSampleInfo experimentSampleInfo) {
return super.exportXls(request, experimentSampleInfo, ExperimentSampleInfo.class, "试验样品信息");
}
/**
* 通过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) {
return super.importExcel(request, response, ExperimentSampleInfo.class);
}
}

View File

@@ -0,0 +1,162 @@
package org.jeecg.modules.database.controller;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.database.entity.ExperimentSequence;
import org.jeecg.modules.database.service.IExperimentSequenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
/**
* @Description: 试验序列
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@Tag(name = "试验序列")
@RestController
@RequestMapping("/database/experimentSequence")
@Slf4j
public class ExperimentSequenceController extends JeecgController<ExperimentSequence, IExperimentSequenceService> {
@Autowired
private IExperimentSequenceService experimentSequenceService;
/**
* 获取序号
*
* @return
*/
//@AutoLog(value = "试验序列-分页列表查询")
@Operation(summary = "试验序列-获取序号")
@GetMapping(value = "/next")
public Result<String> next() {
LambdaQueryWrapper<ExperimentSequence> queryWrapper = new LambdaQueryWrapper<>();
int year = DateUtil.year(new Date());
queryWrapper.eq(ExperimentSequence::getSequenceYear, year);
queryWrapper.orderByDesc(ExperimentSequence::getCreateTime);
ExperimentSequence sequence = experimentSequenceService.getOne(queryWrapper, false);
if (sequence == null) {
sequence = new ExperimentSequence();
sequence.setSequenceValue(0);
sequence.setSequenceYear(year + "");
experimentSequenceService.save(sequence);
}
return Result.OK(assembleSequence(sequence));
}
public String assembleSequence(ExperimentSequence experimentSequence) {
return "KC-" + experimentSequence.getSequenceYear() + "-JL-" + StringUtils.leftPad((experimentSequence.getSequenceValue() + 1) + "",
3, "0");
}
//
///**
// * 添加
// *
// * @param experimentSequence
// * @return
// */
//@AutoLog(value = "试验序列-添加")
//@Operation(summary = "试验序列-添加")
////@RequiresPermissions("database:experiment_sequence:add")
//@PostMapping(value = "/add")
//public Result<String> add(@RequestBody ExperimentSequence experimentSequence) {
// experimentSequenceService.save(experimentSequence);
// return Result.OK("添加成功!");
//}
//
///**
// * 编辑
// *
// * @param experimentSequence
// * @return
// */
//@AutoLog(value = "试验序列-编辑")
//@Operation(summary = "试验序列-编辑")
////@RequiresPermissions("database:experiment_sequence:edit")
//@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
//public Result<String> edit(@RequestBody ExperimentSequence experimentSequence) {
// experimentSequenceService.updateById(experimentSequence);
// return Result.OK("编辑成功!");
//}
//
///**
// * 通过id删除
// *
// * @param id
// * @return
// */
//@AutoLog(value = "试验序列-通过id删除")
//@Operation(summary = "试验序列-通过id删除")
////@RequiresPermissions("database:experiment_sequence:delete")
//@DeleteMapping(value = "/delete")
//public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
// experimentSequenceService.removeById(id);
// return Result.OK("删除成功!");
//}
//
///**
// * 批量删除
// *
// * @param ids
// * @return
// */
//@AutoLog(value = "试验序列-批量删除")
//@Operation(summary = "试验序列-批量删除")
////@RequiresPermissions("database:experiment_sequence:deleteBatch")
//@DeleteMapping(value = "/deleteBatch")
//public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
// this.experimentSequenceService.removeByIds(Arrays.asList(ids.split(",")));
// return Result.OK("批量删除成功!");
//}
//
///**
// * 通过id查询
// *
// * @param id
// * @return
// */
////@AutoLog(value = "试验序列-通过id查询")
//@Operation(summary = "试验序列-通过id查询")
//@GetMapping(value = "/queryById")
//public Result<ExperimentSequence> queryById(@RequestParam(name = "id", required = true) String id) {
// ExperimentSequence experimentSequence = experimentSequenceService.getById(id);
// if (experimentSequence == null) {
// return Result.error("未找到对应数据");
// }
// return Result.OK(experimentSequence);
//}
//
///**
// * 导出excel
// *
// * @param request
// * @param experimentSequence
// */
////@RequiresPermissions("database:experiment_sequence:exportXls")
//@RequestMapping(value = "/exportXls")
//public ModelAndView exportXls(HttpServletRequest request, ExperimentSequence experimentSequence) {
// return super.exportXls(request, experimentSequence, ExperimentSequence.class, "试验序列");
//}
//
///**
// * 通过excel导入数据
// *
// * @param request
// * @param response
// * @return
// */
////@RequiresPermissions("database:experiment_sequence:importExcel")
//@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
//public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
// return super.importExcel(request, response, ExperimentSequence.class);
//}
}

View File

@@ -0,0 +1,81 @@
package org.jeecg.modules.database.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@Data
@TableName("experiment_sample_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description="试验样品信息")
public class ExperimentSampleInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键")
private String id;
/**创建人*/
@Schema(description = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "创建日期")
private Date createTime;
/**更新人*/
@Schema(description = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "更新日期")
private Date updateTime;
/**所属部门*/
@Schema(description = "所属部门")
private String sysOrgCode;
/**试验ID*/
@Excel(name = "试验ID", width = 15)
@Schema(description = "试验ID")
private String experimentId;
/**样品类型*/
@Excel(name = "样品类型", width = 15)
@Schema(description = "样品类型")
private String sampleType;
/**样品型号*/
@Excel(name = "样品型号", width = 15)
@Schema(description = "样品型号")
private String sampleModel;
/**样品批次*/
@Excel(name = "样品批次", width = 15)
@Schema(description = "样品批次")
private String sampleBatch;
/**生产厂家*/
@Excel(name = "生产厂家", width = 15)
@Schema(description = "生产厂家")
private String sampleManufacturer;
/**图片*/
@Excel(name = "图片", width = 15)
@Schema(description = "图片")
private String sampleImage;
}

View File

@@ -0,0 +1,76 @@
package org.jeecg.modules.database.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 试验序列
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@Data
@TableName("experiment_sequence")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description = "试验序列")
public class ExperimentSequence implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键")
private String id;
/**
* 创建人
*/
@Schema(description = "创建人")
private String createBy;
/**
* 创建日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "创建日期")
private Date createTime;
/**
* 更新人
*/
@Schema(description = "更新人")
private String updateBy;
/**
* 更新日期
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "更新日期")
private Date updateTime;
/**
* 所属部门
*/
@Schema(description = "所属部门")
private String sysOrgCode;
/**
* 序列值
*/
@Excel(name = "序列年份", width = 15)
@Schema(description = "序列年份")
private String sequenceYear;
/**
* 序列值
*/
@Excel(name = "序列值", width = 15)
@Schema(description = "序列值")
private Integer sequenceValue;
}

View File

@@ -0,0 +1,17 @@
package org.jeecg.modules.database.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
public interface ExperimentSampleInfoMapper extends BaseMapper<ExperimentSampleInfo> {
}

View File

@@ -0,0 +1,17 @@
package org.jeecg.modules.database.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.database.entity.ExperimentSequence;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 试验序列
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
public interface ExperimentSequenceMapper extends BaseMapper<ExperimentSequence> {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.database.mapper.ExperimentSampleInfoMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.database.mapper.ExperimentSequenceMapper">
</mapper>

View File

@@ -0,0 +1,14 @@
package org.jeecg.modules.database.service;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
public interface IExperimentSampleInfoService extends IService<ExperimentSampleInfo> {
}

View File

@@ -0,0 +1,14 @@
package org.jeecg.modules.database.service;
import org.jeecg.modules.database.entity.ExperimentSequence;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 试验序列
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
public interface IExperimentSequenceService extends IService<ExperimentSequence> {
}

View File

@@ -0,0 +1,19 @@
package org.jeecg.modules.database.service.impl;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.mapper.ExperimentSampleInfoMapper;
import org.jeecg.modules.database.service.IExperimentSampleInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 试验样品信息
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@Service
public class ExperimentSampleInfoServiceImpl extends ServiceImpl<ExperimentSampleInfoMapper, ExperimentSampleInfo> implements IExperimentSampleInfoService {
}

View File

@@ -0,0 +1,19 @@
package org.jeecg.modules.database.service.impl;
import org.jeecg.modules.database.entity.ExperimentSequence;
import org.jeecg.modules.database.mapper.ExperimentSequenceMapper;
import org.jeecg.modules.database.service.IExperimentSequenceService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 试验序列
* @Author: jeecg-boot
* @Date: 2024-12-04
* @Version: V1.0
*/
@Service
public class ExperimentSequenceServiceImpl extends ServiceImpl<ExperimentSequenceMapper, ExperimentSequence> implements IExperimentSequenceService {
}