This commit is contained in:
2023-04-13 23:11:26 +08:00
parent 6beb9c4eaa
commit c6a39e5150
225 changed files with 9496 additions and 0 deletions
@@ -0,0 +1,28 @@
package digital.laboratory.platform.reagent.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.context.SecurityContextHolder;
//@EnableOAuth2Sso
@Configuration
public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) {
SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL);
web.ignoring().antMatchers("/", "/static/**", "/static/dist/**", "/hello**", "/favicon.ico**", "/login", "/login-callback", "/v2/**", "/papp/v2/**", "/papp/entrustment/common/**","/reagent/v2/**");
}
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.antMatchers("/", "/static/**", "/static/dist/**", "/hello**", "/favicon.ico**", "/login", "/login-callback", "/v2/**", "/papp/v2/**", "/papp/entrustment/common/**","/reagent/v2/**").permitAll()
.anyRequest().permitAll();
}
}
@@ -0,0 +1,151 @@
package digital.laboratory.platform.reagent.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.entity.CabinetForm;
import digital.laboratory.platform.reagent.service.CabinetFormService;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 前端控制器
*
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/cabinet_form" )
@Api(value = "cabinet_form", tags = "管理")
public class CabinetFormController {
private final CabinetFormService cabinetFormService;
/**
* 通过id查询
* @param cabinetFormId id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{cabinetFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_cabinet_form_get')" )
public R<CabinetForm> getById(@PathVariable("cabinetFormId" ) String cabinetFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CabinetForm cabinetForm = cabinetFormService.getById(cabinetFormId);
return R.ok(cabinetForm);
//return R.ok(cabinetFormService.getById(cabinetFormId));
}
/**
* 分页查询
* @param page 分页对象
* @param cabinetForm
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page" )
@PreAuthorize("@pms.hasPermission('reagent_cabinet_form_get')" )
public R<IPage<CabinetForm>> getCabinetFormPage(Page<CabinetForm> page, CabinetForm cabinetForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
IPage<CabinetForm> cabinetFormSList = cabinetFormService.page(page, Wrappers.<CabinetForm>query()
.eq("create_by", dlpUser.getId())
.orderByDesc("create_time")
);
return R.ok(cabinetFormSList);
// return R.ok(cabinetFormService.page(page, Wrappers.query(cabinetForm)));
}
/**
* 新增
* @param cabinetForm
* @return R
*/
@ApiOperation(value = "新增", notes = "新增")
@SysLog("新增" )
@PostMapping
@PreAuthorize("@pms.hasPermission('reagent_cabinet_form_add')" )
public R<CabinetForm> postAddObject(@RequestBody CabinetForm cabinetForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
cabinetForm.setCabinetFormId(IdWorker.get32UUID().toUpperCase());
if (cabinetFormService.save(cabinetForm)) {
return R.ok(cabinetForm, "对象创建成功");
}
else {
return R.failed(cabinetForm, "对象创建失败");
}
}
/**
* 修改
* @param cabinetForm
* @return R
*/
@ApiOperation(value = "修改", notes = "修改")
@SysLog("修改" )
@PutMapping
@PreAuthorize("@pms.hasPermission('reagent_cabinet_form_edit')" )
public R<CabinetForm> putUpdateById(@RequestBody CabinetForm cabinetForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
if (cabinetFormService.updateById(cabinetForm)) {
return R.ok(cabinetForm, "保存对象成功");
}
else {
return R.failed(cabinetForm, "保存对象失败");
}
}
/**
* 通过id删除
* @param cabinetFormId id
* @return R
*/
@ApiOperation(value = "通过id删除", notes = "通过id删除")
@SysLog("通过id删除" )
@DeleteMapping("/{cabinetFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_cabinet_form_del')" )
public R<CabinetForm> deleteById(@PathVariable String cabinetFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CabinetForm oldCabinetForm = cabinetFormService.getById(cabinetFormId);
if (cabinetFormService.removeById(cabinetFormId)) {
return R.ok(oldCabinetForm, "对象删除成功");
}
else {
return R.failed(oldCabinetForm, "对象删除失败");
}
}
}
@@ -0,0 +1,130 @@
package digital.laboratory.platform.reagent.controller;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.entity.CategoryTable;
import digital.laboratory.platform.reagent.service.CategoryTableService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.security.Principal;
import java.util.List;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-29
* @describe 前端控制器
*
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/category_table" )
@Api(value = "category_table", tags = "类别管理")
public class CategoryTableController {
private final CategoryTableService categoryTableService;
/**
* 列表查询
* * @param type
* @return R
*/
@SysLog("类别显示种类" )
@ApiOperation(value = "列表显示种类", notes = "列表显示种类")
@GetMapping("/species")
// @PreAuthorize("@pms.hasPermission('reagent_type_table_get')" )
public R<List<CategoryTable>> getSpecies(String category, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
List<CategoryTable> categoryTableList = categoryTableService.getSpecies(category);
return R.ok(categoryTableList);
}
//
// /**
// * 新增
// * @param type
// * @return R
// */
// @ApiOperation(value = "新增类别", notes = "新增类别")
// @SysLog("新增类别" )
// @PostMapping
// @PreAuthorize("@pms.hasPermission('reagent_type_table_add')" )
// public R<TypeTable> postAddObject(@PathVariable String type, HttpServletRequest theHttpServletRequest) {
// Principal principal = theHttpServletRequest.getUserPrincipal();
// DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
//
// TypeTable typeTable = typeTableService.addType(type);
//
// if (typeTable!=null) {
// return R.ok(typeTable, "保存成功");
// }
// else {
// return R.failed( "保存失败");
// }
// }
/**
* 新增
* @param species
* @return R
*/
@ApiOperation(value = "新增种类", notes = "新增种类")
@SysLog("新增类别" )
@PostMapping("species")
// @PreAuthorize("@pms.hasPermission('reagent_type_table_add')" )
public R<CategoryTable> postAdd(@PathVariable String category, @PathVariable String species, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CategoryTable categoryTable = categoryTableService.addSpecies(category,species);
if (categoryTable !=null) {
return R.ok(categoryTable, "保存成功");
}
else {
return R.failed( "保存失败");
}
}
/**
* 通过id删除种类
* @param id id
* @return R
*/
@ApiOperation(value = "通过id删除种类", notes = "通过id删除种类")
@SysLog("通过id删除种类" )
@DeleteMapping("/species/{id}" )
// @PreAuthorize("@pms.hasPermission('reagent_type_table_del')" )
public R<String > deleteSpeciesById(@PathVariable String id, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
if (categoryTableService.delSpeciesById(id)) {
return R.ok( "删除成功");
}
else {
return R.failed("删除失败");
}
}
}
@@ -0,0 +1,202 @@
package digital.laboratory.platform.reagent.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.dto.AuditAndApproveDTO;
import digital.laboratory.platform.reagent.dto.PeriodVerificationPlanDTO;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import digital.laboratory.platform.reagent.entity.PeriodVerificationPlan;
import digital.laboratory.platform.reagent.service.CheckScheduleService;
import digital.laboratory.platform.reagent.vo.CheckScheduleVO;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
import java.util.List;
/**
* @author Zhang Xiaolong created at 2023-04-10
* @describe 前端控制器
* <p>
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/check_schedule")
@Api(value = "check_schedule", tags = "管理")
public class CheckScheduleController {
private final CheckScheduleService checkScheduleService;
/**
* 通过id查询
*
* @param checkScheduleId id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{checkScheduleId}")
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_get')" )
public R<CheckSchedule> getById(@PathVariable("checkScheduleId") String checkScheduleId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CheckSchedule checkSchedule = checkScheduleService.getCheckScheduleVO(checkScheduleId);
return R.ok(checkSchedule);
//return R.ok(checkScheduleService.getById(managerId));
}
/**
* 分页查询
*
* @param page 分页对象
* @param checkSchedule
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_get')" )
public R<IPage<CheckScheduleVO>> getCheckSchedulePage(Page<CheckSchedule> page, CheckSchedule checkSchedule, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
IPage<CheckScheduleVO> checkScheduleSList = checkScheduleService.getCheckScheduleVOPage(page, Wrappers.<CheckSchedule>query()
.eq("create_by", dlpUser.getId())
.orderByDesc("create_time")
);
return R.ok(checkScheduleSList);
// return R.ok(checkScheduleService.page(page, Wrappers.query(checkSchedule)));
}
/**
* 新增
*
* @param periodVerificationPlanDTOS
* @return R
*/
@ApiOperation(value = "新增", notes = "新增")
@SysLog("新增")
@PostMapping
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_add')" )
public R<CheckSchedule> postAddObject(@RequestBody List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CheckSchedule checkSchedule = checkScheduleService.addPlan(periodVerificationPlanDTOS, dlpUser);
if (checkSchedule != null) {
return R.ok(checkSchedule, "计划创建成功");
} else {
return R.failed("计划创建失败");
}
}
/**
* 修改
*
* @param periodVerificationPlanDTOS
* @return R
*/
@ApiOperation(value = "修改", notes = "修改")
@SysLog("修改")
@PutMapping
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_edit')" )
public R<CheckSchedule> putUpdateById(@RequestBody List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CheckSchedule checkSchedule = checkScheduleService.editPlan(periodVerificationPlanDTOS);
if (checkSchedule != null) {
return R.ok(checkSchedule, "保存成功");
} else return R.failed("保存失败");
}
/**
* 提交计划
*
* @param periodVerificationPlanDTOS
* @return R
*/
@ApiOperation(value = "提交计划", notes = "提交计划")
@SysLog("提交计划")
@PostMapping("/commit")
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_edit')" )
public R<CheckSchedule> commitById(@RequestBody List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CheckSchedule checkSchedule = checkScheduleService.commitPlan(periodVerificationPlanDTOS,dlpUser);
if (checkSchedule != null) {
return R.ok(checkSchedule, "提交成功");
} else return R.failed("提交失败");
}
// /**
// * 通过id删除
// *
// * @param periodVerificationPlanDTOS id
// * @return R
// */
// @ApiOperation(value = "通过id删除", notes = "通过id删除")
// @SysLog("通过id删除")
// @PostMapping("/commit")
//// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_del')" )
// public R<CheckSchedule> deleteById(@RequestBody List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, HttpServletRequest theHttpServletRequest) {
// Principal principal = theHttpServletRequest.getUserPrincipal();
// DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
//
// CheckSchedule checkSchedule = checkScheduleService.commitPlan(periodVerificationPlanDTOS, dlpUser);
//
// if (checkSchedule != null) {
// return R.ok(checkSchedule, "提交成功");
// } else {
// return R.failed("提交失败");
// }
//
// }
/**
* 审核
*
* @param auditAndApproveDTO
* @return R
*/
@ApiOperation(value = "审核", notes = "审核")
@SysLog("修改")
@PutMapping("/audit")
// @PreAuthorize("@pms.hasPermission('reagent_check_schedule_edit')" )
public R<CheckSchedule> auditPlan(@RequestBody AuditAndApproveDTO auditAndApproveDTO, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
CheckSchedule checkSchedule = checkScheduleService.auditPlan(auditAndApproveDTO, dlpUser);
if (checkSchedule != null) {
return R.ok(checkSchedule, "审核成功");
} else return R.failed("审核失败");
}
}
@@ -0,0 +1,151 @@
package digital.laboratory.platform.reagent.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
import digital.laboratory.platform.reagent.service.DisqualificationFormService;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe 前端控制器
*
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/disqualification_form" )
@Api(value = "disqualification_form", tags = "管理")
public class DisqualificationFormController {
private final DisqualificationFormService disqualificationFormService;
/**
* 通过id查询
* @param disqualificationFormId id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{disqualificationFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_disqualification_form_get')" )
public R<DisqualificationForm> getById(@PathVariable("disqualificationFormId" ) String disqualificationFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
DisqualificationForm disqualificationForm = disqualificationFormService.getById(disqualificationFormId);
return R.ok(disqualificationForm);
//return R.ok(disqualificationFormService.getById(disqualificationFormId));
}
/**
* 分页查询
* @param page 分页对象
* @param disqualificationForm
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page" )
@PreAuthorize("@pms.hasPermission('reagent_disqualification_form_get')" )
public R<IPage<DisqualificationForm>> getDisqualificationFormPage(Page<DisqualificationForm> page, DisqualificationForm disqualificationForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
IPage<DisqualificationForm> disqualificationFormSList = disqualificationFormService.page(page, Wrappers.<DisqualificationForm>query()
.eq("create_by", dlpUser.getId())
.orderByDesc("create_time")
);
return R.ok(disqualificationFormSList);
// return R.ok(disqualificationFormService.page(page, Wrappers.query(disqualificationForm)));
}
/**
* 新增
* @param disqualificationForm
* @return R
*/
@ApiOperation(value = "新增", notes = "新增")
@SysLog("新增" )
@PostMapping
@PreAuthorize("@pms.hasPermission('reagent_disqualification_form_add')" )
public R<DisqualificationForm> postAddObject(@RequestBody DisqualificationForm disqualificationForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
disqualificationForm.setDisqualificationFormId(IdWorker.get32UUID().toUpperCase());
if (disqualificationFormService.save(disqualificationForm)) {
return R.ok(disqualificationForm, "对象创建成功");
}
else {
return R.failed(disqualificationForm, "对象创建失败");
}
}
/**
* 修改
* @param disqualificationForm
* @return R
*/
@ApiOperation(value = "修改", notes = "修改")
@SysLog("修改" )
@PutMapping
@PreAuthorize("@pms.hasPermission('reagent_disqualification_form_edit')" )
public R<DisqualificationForm> putUpdateById(@RequestBody DisqualificationForm disqualificationForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
if (disqualificationFormService.updateById(disqualificationForm)) {
return R.ok(disqualificationForm, "保存对象成功");
}
else {
return R.failed(disqualificationForm, "保存对象失败");
}
}
/**
* 通过id删除
* @param disqualificationFormId id
* @return R
*/
@ApiOperation(value = "通过id删除", notes = "通过id删除")
@SysLog("通过id删除" )
@DeleteMapping("/{disqualificationFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_disqualification_form_del')" )
public R<DisqualificationForm> deleteById(@PathVariable String disqualificationFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
DisqualificationForm oldDisqualificationForm = disqualificationFormService.getById(disqualificationFormId);
if (disqualificationFormService.removeById(disqualificationFormId)) {
return R.ok(oldDisqualificationForm, "对象删除成功");
}
else {
return R.failed(oldDisqualificationForm, "对象删除失败");
}
}
}
@@ -0,0 +1,151 @@
package digital.laboratory.platform.reagent.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.entity.LatticeForm;
import digital.laboratory.platform.reagent.service.LatticeFormService;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 前端控制器
*
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/lattice_form" )
@Api(value = "lattice_form", tags = "管理")
public class LatticeFormController {
private final LatticeFormService latticeFormService;
/**
* 通过id查询
* @param latticeFormId id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{latticeFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_lattice_form_get')" )
public R<LatticeForm> getById(@PathVariable("latticeFormId" ) String latticeFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
LatticeForm latticeForm = latticeFormService.getById(latticeFormId);
return R.ok(latticeForm);
//return R.ok(latticeFormService.getById(latticeFormId));
}
/**
* 分页查询
* @param page 分页对象
* @param latticeForm
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page" )
@PreAuthorize("@pms.hasPermission('reagent_lattice_form_get')" )
public R<IPage<LatticeForm>> getLatticeFormPage(Page<LatticeForm> page, LatticeForm latticeForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
IPage<LatticeForm> latticeFormSList = latticeFormService.page(page, Wrappers.<LatticeForm>query()
.eq("create_by", dlpUser.getId())
.orderByDesc("create_time")
);
return R.ok(latticeFormSList);
// return R.ok(latticeFormService.page(page, Wrappers.query(latticeForm)));
}
/**
* 新增
* @param latticeForm
* @return R
*/
@ApiOperation(value = "新增", notes = "新增")
@SysLog("新增" )
@PostMapping
@PreAuthorize("@pms.hasPermission('reagent_lattice_form_add')" )
public R<LatticeForm> postAddObject(@RequestBody LatticeForm latticeForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
latticeForm.setLatticeFormId(IdWorker.get32UUID().toUpperCase());
if (latticeFormService.save(latticeForm)) {
return R.ok(latticeForm, "对象创建成功");
}
else {
return R.failed(latticeForm, "对象创建失败");
}
}
/**
* 修改
* @param latticeForm
* @return R
*/
@ApiOperation(value = "修改", notes = "修改")
@SysLog("修改" )
@PutMapping
@PreAuthorize("@pms.hasPermission('reagent_lattice_form_edit')" )
public R<LatticeForm> putUpdateById(@RequestBody LatticeForm latticeForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
if (latticeFormService.updateById(latticeForm)) {
return R.ok(latticeForm, "保存对象成功");
}
else {
return R.failed(latticeForm, "保存对象失败");
}
}
/**
* 通过id删除
* @param latticeFormId id
* @return R
*/
@ApiOperation(value = "通过id删除", notes = "通过id删除")
@SysLog("通过id删除" )
@DeleteMapping("/{latticeFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_lattice_form_del')" )
public R<LatticeForm> deleteById(@PathVariable String latticeFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
LatticeForm oldLatticeForm = latticeFormService.getById(latticeFormId);
if (latticeFormService.removeById(latticeFormId)) {
return R.ok(oldLatticeForm, "对象删除成功");
}
else {
return R.failed(oldLatticeForm, "对象删除失败");
}
}
}
@@ -0,0 +1,151 @@
package digital.laboratory.platform.reagent.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import digital.laboratory.platform.common.core.util.R;
import digital.laboratory.platform.common.log.annotation.SysLog;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.entity.StorageRoomForm;
import digital.laboratory.platform.reagent.service.StorageRoomFormService;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.security.Principal;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 前端控制器
*
* 这是与表示层的接口, 不应该接业务逻辑写在这里, 业务逻辑应该写在 service 中
* 这里写什么:
* 为前端提供数据, 接受前端的数据
* 为前端提供的数据, 从 service 取得后, 可以做一些适当的加工, 这种加工不是业务层面的, 只能是数据格式上, 为方便前端处理
* 接受前端的数据, 每一个函数的参数可以先做一些整理后, 再调用 service 中的函数。这里对参数的整理, 应该只是格式上的, 而不能是业务上的
* 数据层在 mapper 中, 数据层不涉及业务, 只管技术上的 对象<->表 之间的转换
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/storage_room_form" )
@Api(value = "storage_room_form", tags = "管理")
public class StorageRoomFormController {
private final StorageRoomFormService storageRoomFormService;
/**
* 通过id查询
* @param storageRoomFormId id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{storageRoomFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_storage_room_form_get')" )
public R<StorageRoomForm> getById(@PathVariable("storageRoomFormId" ) String storageRoomFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
StorageRoomForm storageRoomForm = storageRoomFormService.getById(storageRoomFormId);
return R.ok(storageRoomForm);
//return R.ok(storageRoomFormService.getById(storageRoomFormId));
}
/**
* 分页查询
* @param page 分页对象
* @param storageRoomForm
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page" )
@PreAuthorize("@pms.hasPermission('reagent_storage_room_form_get')" )
public R<IPage<StorageRoomForm>> getStorageRoomFormPage(Page<StorageRoomForm> page, StorageRoomForm storageRoomForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
IPage<StorageRoomForm> storageRoomFormSList = storageRoomFormService.page(page, Wrappers.<StorageRoomForm>query()
.eq("create_by", dlpUser.getId())
.orderByDesc("create_time")
);
return R.ok(storageRoomFormSList);
// return R.ok(storageRoomFormService.page(page, Wrappers.query(storageRoomForm)));
}
/**
* 新增
* @param storageRoomForm
* @return R
*/
@ApiOperation(value = "新增", notes = "新增")
@SysLog("新增" )
@PostMapping
@PreAuthorize("@pms.hasPermission('reagent_storage_room_form_add')" )
public R<StorageRoomForm> postAddObject(@RequestBody StorageRoomForm storageRoomForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
storageRoomForm.setStorageRoomFormId(IdWorker.get32UUID().toUpperCase());
if (storageRoomFormService.save(storageRoomForm)) {
return R.ok(storageRoomForm, "对象创建成功");
}
else {
return R.failed(storageRoomForm, "对象创建失败");
}
}
/**
* 修改
* @param storageRoomForm
* @return R
*/
@ApiOperation(value = "修改", notes = "修改")
@SysLog("修改" )
@PutMapping
@PreAuthorize("@pms.hasPermission('reagent_storage_room_form_edit')" )
public R<StorageRoomForm> putUpdateById(@RequestBody StorageRoomForm storageRoomForm, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
if (storageRoomFormService.updateById(storageRoomForm)) {
return R.ok(storageRoomForm, "保存对象成功");
}
else {
return R.failed(storageRoomForm, "保存对象失败");
}
}
/**
* 通过id删除
* @param storageRoomFormId id
* @return R
*/
@ApiOperation(value = "通过id删除", notes = "通过id删除")
@SysLog("通过id删除" )
@DeleteMapping("/{storageRoomFormId}" )
@PreAuthorize("@pms.hasPermission('reagent_storage_room_form_del')" )
public R<StorageRoomForm> deleteById(@PathVariable String storageRoomFormId, HttpServletRequest theHttpServletRequest) {
Principal principal = theHttpServletRequest.getUserPrincipal();
DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal();
StorageRoomForm oldStorageRoomForm = storageRoomFormService.getById(storageRoomFormId);
if (storageRoomFormService.removeById(storageRoomFormId)) {
return R.ok(oldStorageRoomForm, "对象删除成功");
}
else {
return R.failed(oldStorageRoomForm, "对象删除失败");
}
}
}
@@ -0,0 +1,25 @@
package digital.laboratory.platform.reagent.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AcceptanceRecordFormDTO {
private String followUpTreatment;
private String acceptanceRecordFormId;
private boolean theSameBrandAndModel;
private String bam_remarks;
private boolean consistentQuantity;
private String cq_remarks;
private boolean packingInGoodCondition;
private String pcg_remarks;
private boolean validityPeriod;
private String vp_remarks;
private boolean deliveryCycle;
private String dc_remarks;
private String acceptanceConclusion;
private String nonconformingItem;
}
@@ -0,0 +1,19 @@
package digital.laboratory.platform.reagent.dto;
import io.swagger.models.auth.In;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class ApplicationForUseDTO {
private String remarks;
private Integer purpose;
private String applicationForUseId;
private Integer quantity;
private String reagentConsumableId;
private String specificationAndModel;
private String standardMaterialApplicationId;
private String batchDetailsId;
}
@@ -0,0 +1,12 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
@Data
public class AuditDecentralizedRequestDTO {
private Boolean auditResult;
private String auditOpinion;
private Boolean haveCheck;
private String uuId;
}
@@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
import java.util.List;
@Data
public class CheckContentDTO {
private String brand;
private String reagentConsumableId;
private String specificationAndModel;
private String checkContentId;
private String number;
}
@@ -0,0 +1,26 @@
package digital.laboratory.platform.reagent.dto;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ComplianceCheckDTO {
private String examinationConclusion;
private String inspectionScheme;
private String complianceCheckId;
private String brand;
private String reagentConsumableId;
private String specificationAndModel;
private String nonconformingItem;
private String reagentConsumableNumber;
private String batchDetailsId;
}
@@ -0,0 +1,34 @@
package digital.laboratory.platform.reagent.dto;
import digital.laboratory.platform.reagent.entity.ProvideServicesOrSupplies;
import digital.laboratory.platform.reagent.mapper.ProvideServicesOrSuppliesMapper;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class
EvaluationFormDTO {
private String contactNumber;
private String contactPerson;
private String serviceProviderAndSupplierId;
private String evaluationFormId;
private String supplierBusinessLicense;
private String supplierPassesQualityAssuranceSystem;
private String supplierProductCertification;
private String checkAndCalibrateEfficiencyOfSupplies;
private String overallSupplierServiceSatisfaction;
private String supplierAttitude;
private String supplierEquipmentAndFacilities;
private String supplierTechnologyAndManagementCapability;
private String whetherTheSupplierDeliversOnTime;
private String supplierInformationId;
private String commentsFromPrimary;
}
@@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
@Data
public class OutgoingContentsDTO {
private Integer outboundUse;
private Integer quantity;
private String reagentConsumableId;
private String remarks;
private String deliveryRegistrationFormId;
private String referenceMaterialId;
private String number;
}
@@ -0,0 +1,25 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class PeriodVerificationImplementationDTO {
private String causeOfDissatisfaction;
private LocalDateTime checkingTime;
private String deviationAndUncertainty;
private String implementationAndResults;
private String number;
private String referenceMaterialNumber;
private String referenceMaterialId;
private String remarks;
private String standardValueAndPurity;
private String verificationMethod;
private String periodVerificationPlanId;
private Integer opinionOfInspector;
private String result;
private String periodVerificationImplementationId;
}
@@ -0,0 +1,28 @@
package digital.laboratory.platform.reagent.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PeriodVerificationPlanDTO {
private String deviationAndUncertainty;
private String inspectorId;
private Integer plannedVerificationCycle;
private String referenceMaterialId;
private String referenceMaterialNumber;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime scheduledVerificationDate;
private String standardValueAndPurity;
private String verificationBasis;
private String checkScheduleId;
}
@@ -0,0 +1,19 @@
package digital.laboratory.platform.reagent.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "采购目录查询条件DTO")
public class PurchaseCatalogueGetDTO {
@ApiModelProperty(value="开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value="结束时间")
private LocalDateTime endTime;
}
@@ -0,0 +1,6 @@
package digital.laboratory.platform.reagent.dto;
public class ReagentConsumablesSetDTO {
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
import java.util.List;
@Data
public class RequisitionRecordDTO {
private String ReagentConsumablesId;
private String use;
private String remarks;
private Integer quantity;
}
@@ -0,0 +1,12 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
@Data
public class StandardMaterialApplicationDTO {
private String standardMaterialApplicationId;
private String userId;
private double useQuantity;
private String latticeId;
}
@@ -0,0 +1,20 @@
package digital.laboratory.platform.reagent.dto;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class StorageRegistrationFormDTO {
private LocalDateTime dateOfArrival;
private String depositorId;
private Integer quantity;
private String reagentConsumableId;
private String reagentConsumableNumber;
private String reagentConsumableType;
private String remarks;
private String latticeId;
private LocalDateTime storageLife;
private String storageRegistrationFormId;
}
@@ -0,0 +1,46 @@
package digital.laboratory.platform.reagent.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SupplierInformationDTO {
@ApiModelProperty(value="(合格状态)")
private String acceptableCondition;
@ApiModelProperty(value="(联系人电话)")
private String contactNumber;
@ApiModelProperty(value="(联系人名称)")
private String contactPersonName;
@ApiModelProperty(value="(供应人姓名)")
private String nameOfSupplier;
@ApiModelProperty(value="(供应人照片)路径")
private String photographOfSupplier;
@ApiModelProperty(value="(资质文件)路径")
private String qualificationDocument;
@ApiModelProperty(value="(供应范围)")
private String scopeOfSupply;
@ApiModelProperty(value="(供应商编码)")
private String supplierCoding;
@ApiModelProperty(value="(供应人身份证号)")
private String supplierIdNumber;
@ApiModelProperty(value="(供应商名称)")
private String supplierName;
@ApiModelProperty(value="(供应人电话)")
private String supplierTelephone;
private String supplierInformationId;
}
@@ -0,0 +1,41 @@
package digital.laboratory.platform.reagent.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WarehousingRecordFormDTO {
private String batchNumber;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateOfProduction;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateOfReceipt;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime expirationDate;
private Integer quantity;
private String supplierId;
private Integer warningValue;
private String warehousingBatchListId;
private String warehousingContentId;
private String latticeId;
private String remarks;
}
@@ -0,0 +1,71 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22 16:04:56
* @describe 实体类
*/
@Data
@TableName(value = "cabinet_form", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class CabinetForm extends BaseEntity {
/**
* cabinetFormId
*/
@TableId(value = "cabinet_form_id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="cabinetFormId")
private String cabinetFormId;
/**
* storageRoomFormId
*/
@ApiModelProperty(value="storageRoomFormId")
private String storageRoomFormId;
/**
* name
*/
@ApiModelProperty(value="name")
private String name;
/**
* number
*/
@ApiModelProperty(value="number")
private String number;
/**
* specification
*/
@ApiModelProperty(value="specification")
private String specification;
/**
* status
*/
@ApiModelProperty(value="status")
private Integer status;
/**
* picture
*/
@ApiModelProperty(value="picture")
private String picture;
}
@@ -0,0 +1,46 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-29 11:44:50
* @describe 实体类
*/
@Data
@TableName(value = "category_table", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class CategoryTable extends BaseEntity {
/**
* type
*/
@ApiModelProperty(value="类别")
private String category;
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="id")
private String id;
/**
* species
*/
@ApiModelProperty(value="种类")
private String species;
}
@@ -0,0 +1,80 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-04-10 09:28:37
* @describe 实体类
*/
@Data
@TableName(value = "check_schedule", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class CheckSchedule extends BaseEntity {
/**
* managerId
*/
@ApiModelProperty(value="管理员Id")
private String managerId;
/**
* auditTimeOfTechnical
*/
@ApiModelProperty(value="审核时间")
private LocalDateTime auditTimeOfTechnical;
/**
* auditResultOfTechnical
*/
@ApiModelProperty(value="审核结果")
private boolean auditResultOfTechnical;
/**
* auditOpinionOfTechnical
*/
@ApiModelProperty(value="审核意见")
private String auditOpinionOfTechnical;
@TableId(value = "check_schedule_id", type = IdType.ASSIGN_UUID)
/**
* checkScheduleId
*/
@ApiModelProperty(value="计划制定表")
private String checkScheduleId;
/**
* (技术负责人ID)
*/
@ApiModelProperty(value="(技术负责人ID)")
private String technicalDirectorId;
/**
* (编号)
*/
@ApiModelProperty(value="(编号)")
private String number;
/**
* (状态)
*/
@ApiModelProperty(value="(状态)")
private Integer status;
}
@@ -0,0 +1,48 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-23 11:47:25
* @describe 实体类
*/
@Data
@TableName(value = "disqualification_form", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class DisqualificationForm extends BaseEntity {
/**
* reagentConsumableId
*/
@ApiModelProperty(value="reagentConsumableId")
private String reagentConsumableId;
/**
* complianceCheckId
*/
@ApiModelProperty(value="符合性检查记录表")
private String complianceCheckId;
/**
* disqualificationFormId
*/
@TableId(value = "disqualification_form_id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="disqualificationFormId")
private String disqualificationFormId;
}
@@ -0,0 +1,59 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22 16:10:51
* @describe 实体类
*/
@Data
@TableName(value = "lattice_form", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class LatticeForm extends BaseEntity {
/**
* number
*/
@ApiModelProperty(value="number")
private String number;
/**
* status
*/
@ApiModelProperty(value="status")
private String status;
/**
* latticeFormId
*/
@TableId(value = "lattice_form_id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="latticeFormId")
private String latticeFormId;
/**
* cabinetFormId
*/
@ApiModelProperty(value="cabinetFormId")
private String cabinetFormId;
/**
* picture
*/
@ApiModelProperty(value="picture")
private String picture;
}
@@ -0,0 +1,56 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-23 16:38:02
* @describe 实体类
*/
@Data
@TableName(value = "reference_material", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class ReferenceMaterial extends BaseEntity {
/**
* number
*/
@ApiModelProperty(value="标准物质编号")
private String number;
/**
* number
*/
@ApiModelProperty(value="状态(0为可以使用,-1为停用)")
private Integer status;
/**
* reagentConsumableId
*/
@ApiModelProperty(value="试剂耗材Id")
private String reagentConsumableId;
/**
* batchDetailsId
*/
@ApiModelProperty(value="批次明细Id")
private String batchDetailsId;
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="id")
private String id;
}
@@ -0,0 +1,71 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author Zhang Xiaolong created at 2023-03-22 16:03:35
* @describe 实体类
*/
@Data
@TableName(value = "storage_room_form", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "")
public class StorageRoomForm extends BaseEntity {
/**
* type
*/
@ApiModelProperty(value="type")
private String type;
/**
* temperature
*/
@ApiModelProperty(value="temperature")
private String temperature;
/**
* 楼层
*/
@ApiModelProperty(value="楼层")
private String floor;
/**
* humidity
*/
@ApiModelProperty(value="humidity")
private String humidity;
/**
* picture
*/
@ApiModelProperty(value="picture")
private String picture;
/**
* name
*/
@ApiModelProperty(value="name")
private String name;
/**
* storageRoomFormId
*/
@TableId(value = "storage_room_form_id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="storageRoomFormId")
private String storageRoomFormId;
}
@@ -0,0 +1,60 @@
package digital.laboratory.platform.reagent.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@TableName(value = "warehousing_content", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "入库内容")
public class WarehousingContent extends BaseEntity {
/**
* (试剂耗材ID)
*/
@ApiModelProperty(value="(试剂耗材ID)")
private String reagentConsumableId;
/**
* (总数量)
*/
@ApiModelProperty(value="(总数量)")
private Integer totalQuantity;
/**
* (签收记录表ID)
*/
@ApiModelProperty(value="(入库记录表ID)")
private String warehousingRecordFormId;
/**
* (签收数量)
*/
@ApiModelProperty(value="(入库数量)")
private Integer warehousingQuantity;
/**
* (目录编号)
*/
@ApiModelProperty(value="(目录编号)")
private String catalogueNumber;
/**
* (验收记录ID)
*/
@ApiModelProperty(value="(验收记录ID)")
private String acceptanceRecordFormId;
/**
* signedContentId
*/
@TableId(value = "warehousing_content_id", type = IdType.ASSIGN_UUID)
@ApiModelProperty(value="warehousingContentId")
private String warehousingContentId;
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.CabinetForm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe Mapper 类
*/
@Mapper
public interface CabinetFormMapper extends BaseMapper<CabinetForm> {
}
@@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.CategoryTable;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-29
* @describe Mapper 类
*/
@Mapper
public interface CategoryTableMapper extends BaseMapper<CategoryTable> {
}
@@ -0,0 +1,25 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import digital.laboratory.platform.reagent.entity.PeriodVerificationPlan;
import digital.laboratory.platform.reagent.vo.CheckScheduleVO;
import digital.laboratory.platform.reagent.vo.PeriodVerificationPlanVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-04-10
* @describe Mapper 类
*/
@Mapper
public interface CheckScheduleMapper extends BaseMapper<CheckSchedule> {
IPage <CheckScheduleVO> getCheckScheduleVOPage (IPage<CheckSchedule> page, QueryWrapper<CheckSchedule> qw);
CheckScheduleVO getCheckScheduleVO (String checkScheduleId);
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe Mapper 类
*/
@Mapper
public interface DisqualificationFormMapper extends BaseMapper<DisqualificationForm> {
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.LatticeForm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe Mapper 类
*/
@Mapper
public interface LatticeFormMapper extends BaseMapper<LatticeForm> {
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe Mapper 类
*/
@Mapper
public interface ReferenceMaterialMapper extends BaseMapper<ReferenceMaterial> {
}
@@ -0,0 +1,17 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.StorageRoomForm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper 接口
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe Mapper 类
*/
@Mapper
public interface StorageRoomFormMapper extends BaseMapper<StorageRoomForm> {
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import digital.laboratory.platform.reagent.entity.WarehousingContent;
import digital.laboratory.platform.reagent.vo.WarehousingContentVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface WarehousingContentMapper extends BaseMapper<WarehousingContent> {
List<WarehousingContentVO> getWarehousingContentVOList(String signingRecordFormId);
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.CabinetForm;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务类
*/
public interface CabinetFormService extends IService<CabinetForm> {
}
@@ -0,0 +1,23 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.CategoryTable;
import java.util.List;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-29
* @describe 服务类
*/
public interface CategoryTableService extends IService<CategoryTable> {
CategoryTable addSpecies(String category, String species);
Boolean delSpeciesById(String categoryTableId);
List<CategoryTable> getSpecies(String category);
}
@@ -0,0 +1,33 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.dto.AuditAndApproveDTO;
import digital.laboratory.platform.reagent.dto.PeriodVerificationPlanDTO;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import digital.laboratory.platform.reagent.vo.CheckScheduleVO;
import java.util.List;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-04-10
* @describe 服务类
*/
public interface CheckScheduleService extends IService<CheckSchedule> {
CheckSchedule addPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser);
CheckSchedule editPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS);
CheckSchedule commitPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser);
CheckSchedule auditPlan(AuditAndApproveDTO auditAndApproveDTO, DLPUser dlpUser);
IPage<CheckScheduleVO> getCheckScheduleVOPage (IPage<CheckSchedule> page, QueryWrapper<CheckSchedule> qw);
CheckScheduleVO getCheckScheduleVO (String checkScheduleId);
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe 服务类
*/
public interface DisqualificationFormService extends IService<DisqualificationForm> {
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.LatticeForm;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务类
*/
public interface LatticeFormService extends IService<LatticeForm> {
}
@@ -0,0 +1,18 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
import digital.laboratory.platform.reagent.vo.ReferenceMaterialVO;
import java.util.List;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe 服务类
*/
public interface ReferenceMaterialService extends IService<ReferenceMaterial> {
List<ReferenceMaterialVO> getReferenceMaterialVOList(String batchDetailsId);
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.StorageRoomForm;
/**
* 服务类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务类
*/
public interface StorageRoomFormService extends IService<StorageRoomForm> {
}
@@ -0,0 +1,12 @@
package digital.laboratory.platform.reagent.service;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.reagent.entity.WarehousingContent;
import digital.laboratory.platform.reagent.vo.WarehousingContentVO;
import java.util.List;
public interface WarehousingContentService extends IService<WarehousingContent> {
List<WarehousingContentVO> getWarehousingContentVOList(String warehousingRecordFormId);
}
@@ -0,0 +1,18 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.CabinetForm;
import digital.laboratory.platform.reagent.mapper.CabinetFormMapper;
import digital.laboratory.platform.reagent.service.CabinetFormService;
import org.springframework.stereotype.Service;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务实现类
*/
@Service
public class CabinetFormServiceImpl extends ServiceImpl<CabinetFormMapper, CabinetForm> implements CabinetFormService {
}
@@ -0,0 +1,77 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.CategoryTable;
import digital.laboratory.platform.reagent.mapper.CategoryTableMapper;
import digital.laboratory.platform.reagent.service.CategoryTableService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-29
* @describe 服务实现类
*/
@Service
@SuppressWarnings("all")
public class CategoryTableServiceImpl extends ServiceImpl<CategoryTableMapper, CategoryTable> implements CategoryTableService {
@Autowired
private CategoryTableService categoryTableService;
@Override
public CategoryTable addSpecies(String category, String species){
LambdaQueryWrapper<CategoryTable> categoryTableLambdaQueryWrapper = new LambdaQueryWrapper<>();
categoryTableLambdaQueryWrapper.eq(CategoryTable::getSpecies,species);
categoryTableLambdaQueryWrapper.eq(CategoryTable::getCategory,category);
CategoryTable one = categoryTableService.getOne(categoryTableLambdaQueryWrapper);
if (one==null){
CategoryTable categoryTable = new CategoryTable();
categoryTable.setId(IdWorker.get32UUID().toUpperCase());
categoryTable.setSpecies(species);
categoryTable.setCategory(category);
categoryTableService.save(categoryTable);
return categoryTable;
}
return one;
}
@Override
public Boolean delSpeciesById(String categoryTableId){
CategoryTable byId = categoryTableService.getById(categoryTableId);
return categoryTableService.removeById(byId);
}
@Override
public List<CategoryTable> getSpecies(String category){
LambdaQueryWrapper<CategoryTable> typeTableLambdaQueryWrapper = new LambdaQueryWrapper<>();
typeTableLambdaQueryWrapper.eq(CategoryTable::getCategory,category);
List<CategoryTable> list = categoryTableService.list(typeTableLambdaQueryWrapper);
return list;
}
}
@@ -0,0 +1,162 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.reagent.dto.AuditAndApproveDTO;
import digital.laboratory.platform.reagent.dto.PeriodVerificationPlanDTO;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import digital.laboratory.platform.reagent.entity.PeriodVerificationPlan;
import digital.laboratory.platform.reagent.mapper.CheckScheduleMapper;
import digital.laboratory.platform.reagent.service.CheckScheduleService;
import digital.laboratory.platform.reagent.service.PeriodVerificationPlanService;
import digital.laboratory.platform.reagent.vo.CheckScheduleVO;
import digital.laboratory.platform.reagent.vo.PeriodVerificationPlanVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-04-10
* @describe 服务实现类
*/
@Service
public class CheckScheduleServiceImpl extends ServiceImpl<CheckScheduleMapper, CheckSchedule> implements CheckScheduleService {
@Autowired
private CheckScheduleService checkScheduleService;
@Autowired
private PeriodVerificationPlanService periodVerificationPlanService;
@Override
@Transactional
public CheckSchedule addPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser) {
CheckSchedule checkSchedule = new CheckSchedule();
checkSchedule.setCheckScheduleId(IdWorker.get32UUID().toUpperCase());
checkSchedule.setManagerId(dlpUser.getId());
List<PeriodVerificationPlan> periodVerificationPlans = new ArrayList<>();
for (PeriodVerificationPlanDTO periodVerificationPlanDTO : periodVerificationPlanDTOS) {
PeriodVerificationPlan periodVerificationPlan = new PeriodVerificationPlan();
BeanUtils.copyProperties(periodVerificationPlanDTO, periodVerificationPlan);
periodVerificationPlan.setCheckScheduleId(checkSchedule.getCheckScheduleId());
periodVerificationPlans.add(periodVerificationPlan);
}
if (checkScheduleService.save(checkSchedule) && periodVerificationPlanService.saveBatch(periodVerificationPlans)) {
return checkSchedule;
} else throw new RuntimeException(String.format("保存失败"));
}
@Override
@Transactional
public CheckSchedule editPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS) {
CheckSchedule byId = checkScheduleService.getById(periodVerificationPlanDTOS.get(0).getCheckScheduleId());
LambdaQueryWrapper<PeriodVerificationPlan> periodVerificationPlanLambdaQueryWrapper = new LambdaQueryWrapper<>();
periodVerificationPlanLambdaQueryWrapper.eq(PeriodVerificationPlan::getCheckScheduleId, byId.getCheckScheduleId());
List<PeriodVerificationPlan> list = periodVerificationPlanService.list(periodVerificationPlanLambdaQueryWrapper);
periodVerificationPlanService.removeBatchByIds(list);
List<PeriodVerificationPlan> periodVerificationPlans = new ArrayList<>();
for (PeriodVerificationPlanDTO periodVerificationPlanDTO : periodVerificationPlanDTOS) {
PeriodVerificationPlan periodVerificationPlan = new PeriodVerificationPlan();
BeanUtils.copyProperties(periodVerificationPlanDTO, periodVerificationPlan);
periodVerificationPlan.setCheckScheduleId(byId.getCheckScheduleId());
periodVerificationPlans.add(periodVerificationPlan);
}
if (checkScheduleService.updateById(byId) && periodVerificationPlanService.saveBatch(periodVerificationPlans)) {
return byId;
} else throw new RuntimeException(String.format("保存失败"));
}
@Override
@Transactional
public CheckSchedule commitPlan(List<PeriodVerificationPlanDTO> periodVerificationPlanDTOS, DLPUser dlpUser) {
CheckSchedule byId = checkScheduleService.getById(periodVerificationPlanDTOS.get(0).getCheckScheduleId());
if (byId == null) {
CheckSchedule checkSchedule = checkScheduleService.addPlan(periodVerificationPlanDTOS, dlpUser);
checkSchedule.setStatus(1);
checkScheduleService.updateById(checkSchedule);
return checkSchedule;
} else {
byId.setStatus(1);
checkScheduleService.updateById(byId);}
return byId;
}
@Override
public CheckSchedule auditPlan(AuditAndApproveDTO auditAndApproveDTO,DLPUser dlpUser){
CheckSchedule byId = checkScheduleService.getById(auditAndApproveDTO.getUuId());
byId.setAuditOpinionOfTechnical(auditAndApproveDTO.getAuditOpinion());
byId.setAuditResultOfTechnical(auditAndApproveDTO.getAuditResult());
byId.setAuditTimeOfTechnical(LocalDateTime.now());
byId.setTechnicalDirectorId(dlpUser.getId());
byId.setStatus(2);
if (checkScheduleService.updateById(byId)){
return byId;
}else throw new RuntimeException(String.format("审核失败"));
}
@Override
public IPage<CheckScheduleVO> getCheckScheduleVOPage(IPage<CheckSchedule> page, QueryWrapper<CheckSchedule> qw) {
IPage<CheckScheduleVO> checkScheduleVOPage = baseMapper.getCheckScheduleVOPage(page, qw);
return checkScheduleVOPage;
}
@Override
public CheckScheduleVO getCheckScheduleVO(String checkScheduleId) {
CheckScheduleVO checkScheduleVO = baseMapper.getCheckScheduleVO(checkScheduleId);
List<PeriodVerificationPlanVO> periodVerificationPlanVOList = periodVerificationPlanService.getPeriodVerificationPlanVOList(checkScheduleVO.getCheckScheduleId());
checkScheduleVO.setPeriodVerificationPlanVOS(periodVerificationPlanVOList);
return checkScheduleVO;
}
}
@@ -0,0 +1,18 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
import digital.laboratory.platform.reagent.mapper.DisqualificationFormMapper;
import digital.laboratory.platform.reagent.service.DisqualificationFormService;
import org.springframework.stereotype.Service;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe 服务实现类
*/
@Service
public class DisqualificationFormServiceImpl extends ServiceImpl<DisqualificationFormMapper, DisqualificationForm> implements DisqualificationFormService {
}
@@ -0,0 +1,18 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.LatticeForm;
import digital.laboratory.platform.reagent.mapper.LatticeFormMapper;
import digital.laboratory.platform.reagent.service.LatticeFormService;
import org.springframework.stereotype.Service;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务实现类
*/
@Service
public class LatticeFormServiceImpl extends ServiceImpl<LatticeFormMapper, LatticeForm> implements LatticeFormService {
}
@@ -0,0 +1,60 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.ReagentConsumables;
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
import digital.laboratory.platform.reagent.mapper.ReferenceMaterialMapper;
import digital.laboratory.platform.reagent.service.ReagentConsumablesService;
import digital.laboratory.platform.reagent.service.ReferenceMaterialService;
import digital.laboratory.platform.reagent.vo.ReferenceMaterialVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-23
* @describe 服务实现类
*/
@Service
public class ReferenceMaterialServiceImpl extends ServiceImpl<ReferenceMaterialMapper, ReferenceMaterial> implements ReferenceMaterialService {
@Autowired
private ReferenceMaterialService referenceMaterialService;
@Autowired
private ReagentConsumablesService reagentConsumablesService;
@Override
public List<ReferenceMaterialVO> getReferenceMaterialVOList(String batchDetailsId){
LambdaQueryWrapper<ReferenceMaterial> referenceMaterialLambdaQueryWrapper = new LambdaQueryWrapper<>();
referenceMaterialLambdaQueryWrapper.eq(ReferenceMaterial::getBatchDetailsId,batchDetailsId);
List<ReferenceMaterial> list = referenceMaterialService.list(referenceMaterialLambdaQueryWrapper);
List<ReferenceMaterialVO> referenceMaterialVOS = new ArrayList<>();
for (ReferenceMaterial referenceMaterial : list) {
ReagentConsumables byId = reagentConsumablesService.getById(referenceMaterial.getReagentConsumableId());
ReferenceMaterialVO referenceMaterialVO = new ReferenceMaterialVO();
BeanUtils.copyProperties(referenceMaterial,referenceMaterialVO);
referenceMaterialVO.setReferenceMaterialName(byId.getReagentConsumableName());
referenceMaterialVOS.add(referenceMaterialVO);
}
return referenceMaterialVOS;
}
}
@@ -0,0 +1,18 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.StorageRoomForm;
import digital.laboratory.platform.reagent.mapper.StorageRoomFormMapper;
import digital.laboratory.platform.reagent.service.StorageRoomFormService;
import org.springframework.stereotype.Service;
/**
* 服务实现类
*
* @author Zhang Xiaolong created at 2023-03-22
* @describe 服务实现类
*/
@Service
public class StorageRoomFormServiceImpl extends ServiceImpl<StorageRoomFormMapper, StorageRoomForm> implements StorageRoomFormService {
}
@@ -0,0 +1,35 @@
package digital.laboratory.platform.reagent.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import digital.laboratory.platform.reagent.entity.WarehousingContent;
import digital.laboratory.platform.reagent.mapper.WarehousingContentMapper;
import digital.laboratory.platform.reagent.service.WarehousingBatchListService;
import digital.laboratory.platform.reagent.service.WarehousingContentService;
import digital.laboratory.platform.reagent.vo.WarehousingBatchListVO;
import digital.laboratory.platform.reagent.vo.WarehousingContentVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class WarehousingContentServiceImpl extends ServiceImpl<WarehousingContentMapper, WarehousingContent> implements WarehousingContentService {
@Autowired
private WarehousingBatchListService warehousingBatchListService;
@Override
public List<WarehousingContentVO> getWarehousingContentVOList(String warehousingRecordFormId) {
List<WarehousingContentVO> warehousingContentVOList = baseMapper.getWarehousingContentVOList(warehousingRecordFormId);
for (WarehousingContentVO warehousingContentVO : warehousingContentVOList) {
List<WarehousingBatchListVO> warehousingBatchListVOList = warehousingBatchListService.getWarehousingBatchListVOList(warehousingContentVO.getWarehousingContentId());
warehousingContentVO.setWarehousingBatchListVOList(warehousingBatchListVOList);
}
return warehousingContentVOList;
}
}
@@ -0,0 +1,20 @@
package digital.laboratory.platform.reagent.status;
public enum DataStatus {
Not_Submitted(0,"未提交"),
Have_Submitted(1,"已提交"),
Have_Audit(2,"已审核"),
Have_Approved(3,"已审批"),
HaveBeenReleased(4,"已发布"),
Failed_To_Pass_The_Audit(-1,"审核未通过"),
Failed_To_Pass_The_Approve(-2,"审批未通过");
private Integer code;
private String message;
private DataStatus (Integer code,String message) {
this.code=code;
this.message=message;
}}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.AcceptanceRecordForm;
import lombok.Data;
@Data
public class AcceptanceRecordFormVO extends AcceptanceRecordForm {
private String reagentConsumableName;
private String supplierName;
private String primaryAuditorName;
private String secondaryAuditorName;
private String threeLevelAuditorName;
}
@@ -0,0 +1,12 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.ApplicationForUse;
import lombok.Data;
import java.util.List;
@Data
public class ApplicationForUseVO extends ApplicationForUse {
private String recipientName;
List <ReagentConsumablesSetVO> reagentConsumablesSetVOList;
}
@@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.BatchDetails;
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
import lombok.Data;
import java.util.List;
@Data
public class BatchDetailsVO extends BatchDetails {
private String supplierName;
List<ReferenceMaterialVO> referenceMaterialVOS;
}
@@ -0,0 +1,10 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.CheckContent;
import lombok.Data;
@Data
public class CheckContentVO extends CheckContent {
private String reagentConsumableName;
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.CheckSchedule;
import lombok.Data;
import java.util.List;
@Data
public class CheckScheduleVO extends CheckSchedule {
private String managerName;
private String technicalDirectorName;
List<PeriodVerificationPlanVO> periodVerificationPlanVOS;
}
@@ -0,0 +1,16 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.CheckContent;
import digital.laboratory.platform.reagent.entity.ComplianceCheck;
import lombok.Data;
import java.util.List;
@Data
public class ComplianceCheckVO extends ComplianceCheck {
private String executorName;
private String primaryAuditorName;
private String secondaryAuditorName;
private String reagentConsumableName;
}
@@ -0,0 +1,10 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.DisqualificationForm;
import lombok.Data;
@Data
public class DisqualificationFormVO extends DisqualificationForm {
private String reagentConsumableName;
}
@@ -0,0 +1,23 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.EvaluationForm;
import jdk.internal.dynalink.linker.LinkerServices;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.awt.*;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class EvaluationFormVO extends EvaluationForm {
private String primaryUserName;
private String secondaryUserName;
private String threeLevelUserName;
List<ProvideServicesOrSuppliesVO> provideServicesOrSuppliesVOList;
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.PeriodVerificationImplementation;
import digital.laboratory.platform.reagent.service.impl.PeriodVerificationImplementationServiceImpl;
import lombok.Data;
@Data
public class PeriodVerificationImplementationVO extends PeriodVerificationImplementation {
private String inspectorName;
private String referenceMaterialName;
private String technicalDirectorName;
}
@@ -0,0 +1,11 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.PeriodVerificationPlan;
import lombok.Data;
@Data
public class PeriodVerificationPlanVO extends PeriodVerificationPlan {
private String referenceMaterialName;
private String inspectorName;
}
@@ -0,0 +1,15 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.ProvideServicesOrSupplies;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProvideServicesOrSuppliesVO extends ProvideServicesOrSupplies {
private String reagentConsumableName;
}
@@ -0,0 +1,13 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.ReagentConsumableInventory;
import lombok.Data;
import java.util.List;
@Data
public class ReagentConsumableInventoryVO extends ReagentConsumableInventory {
private String reagentConsumablesName;
List<BatchDetailsVO> batchDetailsVOS;
}
@@ -0,0 +1,11 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.ReagentConsumablesSet;
import lombok.Data;
@Data
public class ReagentConsumablesSetVO extends ReagentConsumablesSet {
private String reagentConsumableName;
}
@@ -0,0 +1,10 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.ReferenceMaterial;
import lombok.Data;
@Data
public class ReferenceMaterialVO extends ReferenceMaterial {
private String referenceMaterialName;
}
@@ -0,0 +1,11 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.RequisitionRecord;
import lombok.Data;
@Data
public class RequisitionRecordVO extends RequisitionRecord {
private String recipientName;
private String reagentConsumableName;
}
@@ -0,0 +1,12 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.dto.StandardMaterialApplicationDTO;
import digital.laboratory.platform.reagent.entity.StandardMaterialApplication;
import lombok.Data;
@Data
public class StandardMaterialApplicationVO extends StandardMaterialApplication {
private String referenceSubstanceName;
private String recipientName;
}
@@ -0,0 +1,15 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.StorageRegistrationForm;
import lombok.Data;
@Data
public class StorageRegistrationFormVO extends StorageRegistrationForm {
private String depositorName;
private String reagentConsumableName;
private String location;
private String storageRoomName;
private String cabinetName;
private String latticeNumber;
}
@@ -0,0 +1,6 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.SupplierInformation;
public class SupplierInformationVO extends SupplierInformation {
}
@@ -0,0 +1,13 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.WarehousingBatchList;
import lombok.Data;
@Data
public class WarehousingBatchListVO extends WarehousingBatchList {
private String supplierName;
private String depositorName;
}
@@ -0,0 +1,14 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.WarehousingContent;
import lombok.Data;
import java.util.List;
@Data
public class WarehousingContentVO extends WarehousingContent {
private String reagentConsumableName;
List<WarehousingBatchListVO> warehousingBatchListVOList;
}
@@ -0,0 +1,11 @@
package digital.laboratory.platform.reagent.vo;
import digital.laboratory.platform.reagent.entity.WarehousingRecordForm;
import lombok.Data;
import java.util.List;
@Data
public class WarehousingRecordFormVO extends WarehousingRecordForm {
List<WarehousingContentVO> warehousingContentVOList; ;
}
@@ -0,0 +1,20 @@
<?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="digital.laboratory.platform.reagent.mapper.CabinetFormMapper">
<resultMap id="cabinetFormMap" type="digital.laboratory.platform.reagent.entity.CabinetForm">
<id property="cabinetFormId" column="cabinet_form_id"/>
<result property="storageRoomFormId" column="storage_room_form_id"/>
<result property="name" column="name"/>
<result property="number" column="number"/>
<result property="specification" column="specification"/>
<result property="status" column="status"/>
<result property="picture" column="picture"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>
@@ -0,0 +1,57 @@
<?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="digital.laboratory.platform.reagent.mapper.CheckScheduleMapper">
<resultMap id="checkScheduleMap" type="digital.laboratory.platform.reagent.entity.CheckSchedule">
<id property="checkScheduleId" column="check_schedule_id"/>
<result property="auditTimeOfTechnical" column="audit_time_of_technical"/>
<result property="auditResultOfTechnical" column="audit_result_of_technical"/>
<result property="auditOpinionOfTechnical" column="audit_opinion_of_technical"/>
<result property="managerId" column="manager_id"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="technicalDirectorId" column="technical_director_id"/>
<result property="number" column="number"/>
<result property="status" column="status"/>
</resultMap>
<resultMap id="checkScheduleVO" type="digital.laboratory.platform.reagent.vo.CheckScheduleVO"
extends="checkScheduleMap">
<result property="technicalDirectorName" column="technical_director_name"></result>
<result property="managerName" column="manager_mame"></result>
</resultMap>
<sql id="getCheckScheduleVOSQL">
SELECT cs.*,
(SELECT user.name
FROM dlp_base.sys_user user
WHERE user.user_id=cs.technical_director_id ) as technical_director_name
, (
SELECT user.name
FROM dlp_base.sys_user user
WHERE user.user_id=cs.manager_id ) as manager_mame
FROM check_schedule cs
</sql>
<select id="getCheckScheduleVOPage" resultMap="checkScheduleVO" resultType="digital.laboratory.platform.reagent.vo.CheckScheduleVO">
<include refid="getCheckScheduleVOSQL"></include>
</select>
<select id="getCheckScheduleVO" resultMap="checkScheduleVO" resultType="digital.laboratory.platform.reagent.vo.CheckScheduleVO" >
SELECT cs.*,
(SELECT user.name
FROM dlp_base.sys_user user
WHERE user.user_id=cs.technical_director_id ) as technical_director_name
, (
SELECT user.name
FROM dlp_base.sys_user user
WHERE user.user_id=cs.manager_id ) as manager_mame
FROM check_schedule cs
WHERE cs.check_schedule_id = #{checkScheduleId}
</select>
</mapper>
@@ -0,0 +1,13 @@
<?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="digital.laboratory.platform.reagent.mapper.DisqualificationFormMapper">
<resultMap id="disqualificationFormMap" type="digital.laboratory.platform.reagent.entity.DisqualificationForm">
<id property="disqualificationFormId" column="disqualification_form_id"/>
<result property="reagentConsumableId" column="reagent_consumable_id"/>
<result property="complianceCheckId" column="compliance_check_id"/>
</resultMap>
</mapper>
@@ -0,0 +1,18 @@
<?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="digital.laboratory.platform.reagent.mapper.LatticeFormMapper">
<resultMap id="latticeFormMap" type="digital.laboratory.platform.reagent.entity.LatticeForm">
<id property="latticeFormId" column="lattice_form_id"/>
<result property="number" column="number"/>
<result property="status" column="status"/>
<result property="cabinetFormId" column="cabinet_form_id"/>
<result property="picture" column="picture"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>
@@ -0,0 +1,18 @@
<?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="digital.laboratory.platform.reagent.mapper.ReferenceMaterialMapper">
<resultMap id="referenceMaterialMap" type="digital.laboratory.platform.reagent.entity.ReferenceMaterial">
<id property="id" column="id"/>
<result property="number" column="number"/>
<result property="reagentConsumableId" column="reagent_consumable_id"/>
<result property="batchDetailsId" column="batch_details_id"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="status" column="status"/>
</resultMap>
</mapper>
@@ -0,0 +1,20 @@
<?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="digital.laboratory.platform.reagent.mapper.StorageRoomFormMapper">
<resultMap id="storageRoomFormMap" type="digital.laboratory.platform.reagent.entity.StorageRoomForm">
<id property="storageRoomFormId" column="storage_room_form_id"/>
<result property="type" column="type"/>
<result property="temperature" column="temperature"/>
<result property="humidity" column="humidity"/>
<result property="picture" column="picture"/>
<result property="name" column="name"/>
<result property="floor" column="floor"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>
@@ -0,0 +1,16 @@
<?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="digital.laboratory.platform.reagent.mapper.TypeTableMapper">
<resultMap id="typeTableMap" type="digital.laboratory.platform.reagent.entity.CategoryTable">
<id property="id" column="id"/>
<result property="category" column="category"/>
<result property="species" column="species"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>
@@ -0,0 +1,33 @@
<?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="digital.laboratory.platform.reagent.mapper.WarehousingContentMapper">
<resultMap id="warehousingContentMap" type="digital.laboratory.platform.reagent.entity.WarehousingContent">
<id property="warehousingContentId" column="warehousing_content_id"></id>
<result property="reagentConsumableId" column="reagent_consumable_id"></result>
<result property="totalQuantity" column="total_quantity"></result>
<result property="warehousingRecordFormId" column="warehousing_record_form_id"></result>
<result property="warehousingQuantity" column="warehousing_quantity"></result>
<result property="catalogueNumber" column="catalogue_number"></result>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="acceptanceRecordFormId" column="acceptance_record_form_id"/>
</resultMap>
<resultMap id="warehousingContentVO" type="digital.laboratory.platform.reagent.vo.WarehousingContentVO" extends="warehousingContentMap">
<result property="reagentConsumableName" column="reagent_consumable_name"></result>
</resultMap>
<select id="getWarehousingContentVOList" resultMap="warehousingContentVO" resultType="digital.laboratory.platform.reagent.vo.WarehousingContentVO">
SELECT wc.*,
(select rc.reagent_consumable_name
from reagent_consumables rc
where rc.reagent_consumable_id = wc.reagent_consumable_id) as reagent_consumable_name
FROM warehousing_content wc
WHERE wc.warehousing_record_form_id = #{warehousingRecordFormId}
</select>
</mapper>