无关风月
2025-06-20 b6657187eec92ccd148fc3f4d1db97ec8849e240
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
@@ -18,10 +19,7 @@
import com.ruoyi.system.query.TTrainLibraryDetailQuery;
import com.ruoyi.system.query.TTrainLibraryQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.ChoiceUserVO;
import com.ruoyi.system.vo.TProjectTeamVO;
import com.ruoyi.system.vo.TTrainLibraryDetailVO;
import com.ruoyi.system.vo.TTrainLibraryVO;
import com.ruoyi.system.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -141,7 +139,6 @@
            return R.fail(401,"登陆失效");
        }
        TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class);
        dto.setStock(1);
        tTrainLibraryService.save(dto);
        if (dto.getIsDraft()==0){
            // 新增入库记录
@@ -198,7 +195,13 @@
            TTrainLibrary tTrainLibrary = new TTrainLibrary();
            BeanUtils.copyProperties(dto,tTrainLibrary);
            if (i==0){
                tTrainLibrary.setStatus(3);
                List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                        .eq(TProjectTeamStaff::getRoleType, 3)
                        .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
                if (collect.isEmpty()){
                    return R.fail("请先加入项目组");
                }
                tTrainLibrary.setStatus(4);
                tTrainLibrary.setIsDraft(0);
                tTrainLibraryService.save(tTrainLibrary);
                TTrainLibraryWarehousing tTrainLibraryWarehousing = new TTrainLibraryWarehousing();
@@ -209,9 +212,7 @@
                tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing);
                // 新增消息
                TNotice tNotice = new TNotice();
                List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                        .eq(TProjectTeamStaff::getRoleType, 2)
                        .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
                TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
                        .eq(TProjectTeam::getStatus, 1)
                        .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
@@ -261,6 +262,8 @@
        TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class);
        tTrainLibraryService.updateById(dto);
        if (dto.getIsDraft()==0){
            List<TTrainLibraryWarehousing> list = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId, dto.getId()).list();
            if (list.isEmpty()){
            // 新增入库记录
            TTrainLibraryWarehousing tTrainLibraryWarehousing = new TTrainLibraryWarehousing();
            tTrainLibraryWarehousing.setTrainLibraryId(dto.getId());
@@ -268,7 +271,8 @@
            tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now());
            tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId());
            tTrainLibraryWarehousing.setHandleSignature(dto.getHandleSignature());
            tTrainLibraryWarehousingService.updateById(tTrainLibraryWarehousing);
                tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing);
            }
        }
        return R.ok();
    }
@@ -287,11 +291,11 @@
        TTrainLibraryWarehousing tTrainLibraryWarehousing = tTrainLibraryWarehousingService.getById(query.getId());
        TTrainLibrary byId = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId());
        if (tTrainLibraryWarehousing.getType()==1){
            byId.setStock(0);
            byId.setStatus(1);
        }else{
            byId.setStock(1);
            byId.setStatus(3);
        }
        tTrainLibraryService.updateById(byId);
        tTrainLibraryWarehousing.setPreserveSignature(query.getPreserveSignature());
@@ -322,10 +326,26 @@
    public R<TTrainLibraryDetailVO> getDetailById(@RequestBody String param) {
        TTrainLibraryDetailQuery query = JSON.parseObject(param, TTrainLibraryDetailQuery.class);
        TTrainLibraryDetailVO detailById = tTrainLibraryService.getDetailById(query);
        PageInfo<TTrainLibraryWarehousingVO> warehousingList = detailById.getWarehousingList();
        List<TTrainLibraryWarehousingVO> records = warehousingList.getRecords();
        List<SysUser> 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<TTrainLibraryWarehousing> list = tTrainLibraryWarehousingService
                .lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,query.getId())
                .orderByDesc(TTrainLibraryWarehousing::getCreateTime).list();
        List<SysUser> sysUsers = sysUserService.selectList();
        for (TTrainLibraryWarehousing tTrainLibraryWarehousing : list) {
            if (tTrainLibraryWarehousing.getHandleId()!=null){
                SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(tTrainLibraryWarehousing.getHandleId())).findFirst().orElse(null);
@@ -367,7 +387,6 @@
    /**
     * 新增菌种库出入记录
     */
    //@PreAuthorize("@ss.hasPermi('system:trainLibrary:addWarehousing')")
    @ApiOperation(value = "新增菌种库出入记录",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class)
    @Log(title = "菌种库管理-新增菌种库出入记录", businessType = BusinessType.INSERT)
    @PostMapping(value = "/open/t-train-library/addWarehousing")
@@ -379,12 +398,22 @@
        TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId());
        if (query.getType()==1){
            if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2){
                return R.fail("当前菌种为出库状态,不可重复出库");
                if(tTrainLibrary.getStatus()==2){
                    return R.fail("当前菌种为出库待确认状态,不可重复出库");
                }else{
                    return R.fail("当前菌种为已出库状态,不可重复出库");
                }
            }
        }
        if (query.getType()==2){
            if (tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){
                return R.fail("当前菌种为入库状态,不可重复入库");
                if(tTrainLibrary.getStatus()==4){
                    return R.fail("当前菌种为入库待确认状态,不可重复入库");
                }else{
                    return R.fail("当前菌种为已入库状态,不可重复入库");
                }
            }
        }
        query.setHandleId(tokenService.getLoginUser().getUserId());
@@ -395,7 +424,6 @@
    /**
     * 编辑出入库记录
     */
    //@PreAuthorize("@ss.hasPermi('system:trainLibrary:addWarehousing')")
    @ApiOperation(value = "编辑出入库记录",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class)
    @PostMapping(value = "/api/t-train-library/editWarehousing")
    public R editWarehousing(@RequestBody String param) {
@@ -407,7 +435,6 @@
    /**
     * 编辑出入库记录
     */
    //@PreAuthorize("@ss.hasPermi('system:trainLibrary:addWarehousing')")
    @ApiOperation(value = "编辑出入库记录-获取详情",tags = "菌种库管理",response = AddTrainLibraryWarehousingDTO.class)
    @PostMapping(value = "/open/t-train-library/editWarehousingDetail")
    public R editWarehousingDetail(@RequestParam String id) {