package com.ruoyi.web.controller.api; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.BaseModel; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.*; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TProjectTeamQuery; import com.ruoyi.system.query.TTrainLibraryDetailQuery; import com.ruoyi.system.query.TTrainLibraryQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** *

* 菌种库 前端控制器 *

* * @author 无关风月 * @since 2025-04-12 */ @RestController @RequestMapping("") public class TTrainLibraryController { @Resource private TTrainLibraryService tTrainLibraryService; @Resource private TTrainLibraryWarehousingService tTrainLibraryWarehousingService; @Resource private TokenService tokenService; @Resource private ISysUserService sysUserService; @Resource private TProjectTeamService projectTeamService; @Resource private TProjectTeamStaffService projectTeamStaffService; @ApiOperation(value = "修改用户签名") @Log(title = "用户信息-修改用户签名", businessType = BusinessType.UPDATE) @PostMapping("/api/system/user/editSignPicture") public R editSignPicture(@RequestBody String param) { Long userId = tokenService.getLoginUser().getUserId(); SysUser user = JSON.parseObject(param,SysUser.class); user.setUserId(userId); return R.ok(sysUserService.editSignPicture(user)); } /** * 选择人员 */ @ApiOperation(value = "选择人员",tags = "菌种库管理",response = ChoiceStrainDTO.class) @PostMapping(value = "/api/t-train-library/choiceUserList") public R> choiceUserList(@RequestBody String param) { ChoiceStrainDTO query = JSON.parseObject(param, ChoiceStrainDTO.class); if (query.getRoleType()==2){ query.setRoleType(3); } if (query.getRoleType()==1){ query.setRoleType(2); } List userIds = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, query.getRoleType() ) .eq(TProjectTeamStaff::getTeamId, query.getProjectId()).list().stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); if (userIds.isEmpty()){ userIds.add("0"); } query.setUserIds(userIds); return R.ok(sysUserService.choiceUserList(query)); } /** * 选择项目组 */ @ApiOperation(value = "选择项目组",tags = "菌种库管理",response = ChoiceProjectDTO.class) @PostMapping(value = "/api/t-train-library/choiceProjectList") public R> choiceProjectList(@RequestBody String param) { LoginUser loginUser = tokenService.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); List projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (projectIds.isEmpty()){ projectIds.add("0"); } ChoiceProjectDTO query = JSON.parseObject(param, ChoiceProjectDTO.class); query.setProjectIds(projectIds); return R.ok(projectTeamService.choiceProjectList(query)); } /** * 获取菌种库分页列表 */ @ApiOperation(value = "获取菌种库分页列表",tags = "菌种库管理",response = TTrainLibraryQuery.class) @PostMapping(value = "/api/t-train-library/pageList") public R> pageList(@RequestBody String param) { Long userId = tokenService.getLoginUser().getUserId(); SysUser sysUser = sysUserService.selectUserById(userId); TTrainLibraryQuery query = JSON.parseObject(param, TTrainLibraryQuery.class); if (sysUser.getRoleType().equals("2")){ if (CollectionUtils.isNotEmpty(query.getProjectIds())) { query.setProjectIds(query.getProjectIds()); } }else if (!sysUser.getRoleType().equals("1")){ if (CollectionUtils.isNotEmpty(query.getProjectIds())) { query.setProjectIds(query.getProjectIds()); }else { // 没有根据项目组查询 List allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (!allProjectIds.isEmpty()){ List projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) .eq(TProjectTeam::getStatus, 1).list().stream().map(TProjectTeam::getId).collect(Collectors.toList()); if (projectIds.isEmpty()){ return R.ok(new PageInfo<>()); } query.setProjectIds(projectIds); }else { return R.ok(new PageInfo<>()); } } } return R.ok(tTrainLibraryService.pageList(query, sysUser.getRoleType())); } /** * 获取菌种库出入库时间轴列表 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:timeList')") @ApiOperation(value = "获取菌种库出入库时间轴列表",tags = "菌种库管理") @PostMapping(value = "/api/t-train-library/timeList") public R> timeList(@RequestParam String id) { List tTrainLibraryWarehousings = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,id) .orderByDesc(TTrainLibraryWarehousing::getCreateTime).list(); List sysUsers = sysUserService.selectList(); for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousings) { if (tTrainLibraryWarehousing.getHandleId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getHandleId())).findFirst().orElse(null); if (sysUser!=null){ tTrainLibraryWarehousing.setHandleName(sysUser.getNickName()); } } if (tTrainLibraryWarehousing.getPreserveId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getPreserveId())).findFirst().orElse(null); if (sysUser!=null){ tTrainLibraryWarehousing.setPreserveName(sysUser.getNickName()); } } } return R.ok(tTrainLibraryWarehousings); } @Resource private TNoticeService noticeService; /** * 新增菌种库 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:add')") @Log(title = "菌种库管理-新增菌种库", businessType = BusinessType.INSERT) @ApiOperation(value = "新增菌种库",response = TTrainLibraryDTO.class,tags = "菌种库管理") @PostMapping(value = "/api/t-train-library/add") public R add(@RequestBody String param) { if (tokenService.getLoginUser()==null){ return R.fail(401,"登陆失效"); } TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class); //改为前端传值 // List projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) // .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); // if (!projectIds.isEmpty()){ // TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds) // .eq(TProjectTeam::getStatus, 1) // .orderByDesc(BaseModel::getCreateTime) // .last("limit 1").one(); // dto.setProjectId(projectTeam.getId()); // } tTrainLibraryService.save(dto); if (dto.getIsDraft()==0){ // 新增入库记录 TTrainLibraryWarehousing tTrainLibraryWarehousing = new TTrainLibraryWarehousing(); tTrainLibraryWarehousing.setTrainLibraryId(dto.getId()); tTrainLibraryWarehousing.setType(2); tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now()); tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setHandleSignature(dto.getSignature()); tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing); // 新增消息 TNotice tNotice = new TNotice(); List allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 3) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds).eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(projectTeamStaff.getUserId()); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setStatus(1); StringBuilder content = new StringBuilder(); switch (dto.getType()){ case 1: content.append("【原始细胞库】"); break; case 2: content.append("【主细胞库】"); break; case 3: content.append("【生产细胞库】"); break; case 4: content.append("【孙细胞库】"); break; } tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;"); tNotice.setDataId(dto.getId()); tNotice.setNoticeType(3); noticeService.save(tNotice); } return R.ok(); } public static void main(String[] args) { // String jsonStr = "[{\"id\":1,\"num1\":\"00:00\",\"num2\":\"19:00\",\"num3\":1,\"num4\":1,\"num5\":1,\"num6\":1,\"num7\":1}]"; // JSONArray startingFareJsonArray = JSONArray.parseArray(jsonStr); // for (int i = 0; i < startingFareJsonArray.size(); i++) { // JSONObject jsonObject = startingFareJsonArray.getJSONObject(i); // System.out.println(jsonObject.getString("num1")); // System.out.println(jsonObject.getString("num2")); // System.out.println(jsonObject.getInteger("num3")); // } Long temp =2027571910897541122L; System.out.println(temp%20); } /** * 新增菌种库 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:addBatch')") @Log(title = "菌种库管理-批量新增菌种库", businessType = BusinessType.INSERT) @ApiOperation(value = "批量新增菌种库",response = TTrainLibraryDTO.class,tags = "菌种库管理") @PostMapping(value = "/api/t-train-library/addBatch") public R addBatch(@RequestBody String param) { List addList = new ArrayList<>(); TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class); for (int i = 0; i < dto.getBatchCount(); i++) { TTrainLibrary tTrainLibrary = new TTrainLibrary(); BeanUtils.copyProperties(dto,tTrainLibrary); if (i==0){ List projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (!projectIds.isEmpty()){ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime) .last("limit 1").one(); tTrainLibrary.setProjectId(projectTeam.getId()); dto.setProjectId(projectTeam.getId()); }else{ return R.fail("请先加入项目组"); } tTrainLibrary.setStatus(4); tTrainLibrary.setIsDraft(0); tTrainLibraryService.save(tTrainLibrary); TTrainLibraryWarehousing tTrainLibraryWarehousing = new TTrainLibraryWarehousing(); tTrainLibraryWarehousing.setTrainLibraryId(tTrainLibrary.getId()); tTrainLibraryWarehousing.setType(2); tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now()); tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing); // 新增消息 TNotice tNotice = new TNotice(); TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(tProjectTeamStaff.getUserId()); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setStatus(1); StringBuilder content = new StringBuilder(); switch (dto.getType()){ case 1: content.append("【原始细胞库】"); break; case 2: content.append("【主细胞库】"); break; case 3: content.append("【生产细胞库】"); break; case 4: content.append("【孙细胞库】"); break; } tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;"); tNotice.setDataId(dto.getId()); tNotice.setNoticeType(3); noticeService.save(tNotice); }else{ tTrainLibrary.setStrainCode(null); tTrainLibrary.setIsDraft(1); addList.add(tTrainLibrary); } } dto.setIsDraft(1); return R.ok(tTrainLibraryService.saveBatch(addList)); } /** * 编辑菌种库 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:update')") @Log(title = "菌种库管理-编辑菌种库", businessType = BusinessType.UPDATE) @ApiOperation(value = "编辑菌种库",response = TTrainLibraryDTO.class,tags = "菌种库管理") @PostMapping(value = "/api/t-train-library/update") public R update(@RequestBody String param) { if (tokenService.getLoginUser()==null){ return R.fail(401,"登陆失效"); } TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class); tTrainLibraryService.updateById(dto); if (dto.getIsDraft()==0) { List list = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId, dto.getId()).list(); if (list.isEmpty()){ // 新增入库记录 TTrainLibraryWarehousing tTrainLibraryWarehousing = new TTrainLibraryWarehousing(); tTrainLibraryWarehousing.setTrainLibraryId(dto.getId()); tTrainLibraryWarehousing.setType(2); tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now()); tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setHandleSignature(dto.getHandleSignature()); tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing); } } return R.ok(); } /** * 菌种工程师确认出入库 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:confirm')") @Log(title = "菌种库管理-菌种工程师确认出入库", businessType = BusinessType.UPDATE) @ApiOperation(value = "菌种工程师确认出入库",tags = "菌种库管理",response = TTrainLibraryDetailConfirmDto.class) @PostMapping(value = "/api/t-train-library/confirm") public R confirm(@RequestBody String param) { if (tokenService.getLoginUser()==null){ return R.fail(401,"登陆失效"); } TTrainLibraryDetailConfirmDto query = JSON.parseObject(param, TTrainLibraryDetailConfirmDto.class); TTrainLibraryWarehousing tTrainLibraryWarehousing = tTrainLibraryWarehousingService.getById(query.getId()); TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId()); if (tTrainLibraryWarehousing.getType()==1){ tTrainLibrary.setStock(0); tTrainLibrary.setStatus(1); }else{ tTrainLibrary.setStock(1); tTrainLibrary.setStatus(3); } tTrainLibraryService.updateById(tTrainLibrary); tTrainLibraryWarehousing.setPreserveSignature(query.getPreserveSignature()); tTrainLibraryWarehousing.setPreserveId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setConfirmTime(LocalDateTime.now()); tTrainLibraryWarehousingService.updateById(tTrainLibraryWarehousing); return R.ok(); } /** * 编辑获取菌种库详情 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:detail')") @ApiOperation(value = "编辑获取菌种库详情",tags = "菌种库管理",response = TTrainLibraryDetailVO.class) @GetMapping(value = "/open/t-train-library/getDetailEditById") public R getDetailEditById(@RequestParam String id) { TTrainLibrary trainLibrary = tTrainLibraryService.getById(id); TTrainLibraryDetailVO tTrainLibraryDetailVO = new TTrainLibraryDetailVO(); BeanUtils.copyProperties(trainLibrary,tTrainLibraryDetailVO); return R.ok(tTrainLibraryDetailVO); } /** * 查看菌种库详情 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:detail')") @ApiOperation(value = "查看菌种库详情",tags = "菌种库管理",response = TTrainLibraryDetailQuery.class) @PostMapping(value = "/open/t-train-library/getDetailById") public R getDetailById(@RequestBody String param) { TTrainLibraryDetailQuery query = JSON.parseObject(param, TTrainLibraryDetailQuery.class); TTrainLibraryDetailVO libraryDetailVO = tTrainLibraryService.getDetailById(query); PageInfo warehousingList = libraryDetailVO.getWarehousingList(); List records = warehousingList.getRecords(); List sysUsers = sysUserService.selectList(); for (TTrainLibraryWarehousingVO record : records) { if (record.getHandleId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(record.getHandleId())).findFirst().orElse(null); if (sysUser!=null){ record.setHandleName(sysUser.getNickName()); } } if (record.getPreserveId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(record.getPreserveId())).findFirst().orElse(null); if (sysUser!=null){ record.setPreserveName(sysUser.getNickName()); } } } List list = tTrainLibraryWarehousingService .lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,query.getId()) .orderByDesc(TTrainLibraryWarehousing::getCreateTime).list(); for (TTrainLibraryWarehousing tTrainLibraryWarehousing : list) { if (tTrainLibraryWarehousing.getHandleId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getHandleId())).findFirst().orElse(null); if (sysUser!=null){ tTrainLibraryWarehousing.setHandleName(sysUser.getNickName()); } } if (tTrainLibraryWarehousing.getPreserveId()!=null){ SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getPreserveId())).findFirst().orElse(null); if (sysUser!=null){ tTrainLibraryWarehousing.setPreserveName(sysUser.getNickName()); } } } libraryDetailVO.setList(list); return R.ok(libraryDetailVO); } /** * 删除项目组 */ //@PreAuthorize("@ss.hasPermi('system:projectTeam:delete')") @Log(title = "菌种库管理-删除菌种库", businessType = BusinessType.DELETE) @ApiOperation(value = "删除菌种库",tags = "菌种库管理") @DeleteMapping(value = "/open/t-train-library/deleteById") public R deleteById(@RequestParam String id) { return R.ok(tTrainLibraryService.remove(Wrappers.lambdaQuery(TTrainLibrary.class).eq(TTrainLibrary::getId, id))); } /** * 批量删除项目组 */ //@PreAuthorize("@ss.hasPermi('system:projectTeam:delete')") @Log(title = "菌种库管理-批量删除菌种库", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除菌种库",tags = "菌种库管理") @DeleteMapping(value = "/api/t-train-library/deleteByIds") public R deleteByIds(@RequestBody List ids) { return R.ok(tTrainLibraryService.remove(Wrappers.lambdaQuery(TTrainLibrary.class).in(TTrainLibrary::getId, ids))); } /** * 新增菌种库出入记录 */ @ApiOperation(value = "新增菌种库出入记录",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class) @Log(title = "菌种库管理-新增菌种库出入记录", businessType = BusinessType.INSERT) @PostMapping(value = "/open/t-train-library/addWarehousing") public R addWarehousing(@RequestBody String param) { if (tokenService.getLoginUser()==null){ return R.fail(401,"登陆失效"); } AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class); TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId()); List tTrainLibraryWarehousings = tTrainLibraryWarehousingService.lambdaQuery() .isNull(TTrainLibraryWarehousing::getConfirmTime) .eq(TTrainLibraryWarehousing::getTrainLibraryId, query.getTrainLibraryId()).list(); if (!tTrainLibraryWarehousings.isEmpty()){ for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousings) { if (Objects.equals(tTrainLibraryWarehousing.getType(), query.getType())){ if (query.getType()==1){ return R.fail("当前已存在该类型待确认出库记录"); }else{ return R.fail("当前已存在该类型待确认入库记录"); } } } } if (query.getType()==1){ tTrainLibrary.setStatus(2); } if (query.getType()==2){ tTrainLibrary.setStatus(4); } query.setHandleId(tokenService.getLoginUser().getUserId()); query.setBoundTime(LocalDateTime.now()); tTrainLibraryWarehousingService.save(query); tTrainLibraryService.updateById(tTrainLibrary); // 新增消息 TNotice tNotice = new TNotice(); TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, tTrainLibrary.getProjectId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(tProjectTeamStaff.getUserId()); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setStatus(1); StringBuilder content = new StringBuilder(); switch (tTrainLibrary.getType()){ case 1: content.append("【原始细胞库】"); break; case 2: content.append("【主细胞库】"); break; case 3: content.append("【生产细胞库】"); break; case 4: content.append("【孙细胞库】"); break; } switch (query.getType()){ case 1: tNotice.setNoticeContent("您有【1】条"+content+"出库记录等待签字确认;"); break; case 2: tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;"); break; } tNotice.setDataId(query.getId()); tNotice.setNoticeType(3); noticeService.save(tNotice); return R.ok(); } /** * 编辑出入库记录 */ @ApiOperation(value = "编辑出入库记录",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class) @PostMapping(value = "/api/t-train-library/editWarehousing") public R editWarehousing(@RequestBody String param) { AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class); tTrainLibraryWarehousingService.updateById(query); return R.ok(); } /** * 编辑出入库记录 */ @ApiOperation(value = "编辑出入库记录-获取详情",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class) @PostMapping(value = "/open/t-train-library/editWarehousingDetail") public R editWarehousingDetail(@RequestParam String id) { return R.ok(tTrainLibraryWarehousingService.getById(id)); } @Log(title = "菌种库管理-删除菌种库出入库记录", businessType = BusinessType.DELETE) @ApiOperation(value = "删除菌种库出入库记录",tags = "菌种库管理") @DeleteMapping(value = "/open/t-train-library/deleteWarehousingById") public R deleteWarehousingById(@RequestParam String id) { return R.ok(tTrainLibraryWarehousingService.remove(Wrappers.lambdaQuery(TTrainLibraryWarehousing.class).eq(TTrainLibraryWarehousing::getId, id))); } }