无关风月
2025-06-20 b6657187eec92ccd148fc3f4d1db97ec8849e240
菌种库所有代码
13个文件已修改
122 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TStrainReportDetailVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TTrainLibraryDetailVO.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java
@@ -121,6 +121,7 @@
            List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                    .eq(TProjectTeamStaff::getRoleType, 2)
                    .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            if (!collect.isEmpty()){
            TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
                    .eq(TProjectTeam::getStatus, 1)
                    .orderByDesc(BaseModel::getCreateTime).last("limit 1").one();
@@ -135,6 +136,8 @@
            tNotice.setNoticeType(5);
            noticeService.save(tNotice);
        }
        }
        return R.ok();
    }
    @Resource
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java
@@ -161,7 +161,11 @@
    public R<Boolean> upAndDown(@RequestBody String param) {
        UpAndDownDTO dto = JSON.parseObject(param,UpAndDownDTO.class);
        TProjectTeam projectTeam = projectTeamService.getById(dto.getId());
        projectTeam.setStatus(dto.getStatus());
        if (projectTeam.getStatus()==1){
            projectTeam.setStatus(2);
        }else{
            projectTeam.setStatus(1);
        }
        projectTeamService.updateById(projectTeam);
        return R.ok();
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
@@ -20,6 +20,7 @@
import com.ruoyi.system.query.TTrainLibraryQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.*;
import com.tencentcloudapi.tcaplusdb.v20190823.models.IdlFileInfo;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.parser.Token;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -57,7 +58,6 @@
    private TProjectTeamService projectTeamService;
    @Resource
    private TProjectTeamStaffService projectTeamStaffService;
    //@PreAuthorize("@ss.hasPermi('system:strainReport:pageListAll')")
    @ApiOperation(value = "菌种报告库分页列表查询",tags = "菌种报告库",response = TStrainReportQuery.class)
    @PostMapping(value = "/api/t-strain-report/pageListAll")
    public R<PageInfo<TStrainReportVO>> pageListAll(@RequestBody String param) {
@@ -104,6 +104,7 @@
                query.setEvaluateId(strings);
            }
        }
       query.setEvaluateHumanType(Integer.valueOf(sysUser.getRoleType()));
        return R.ok(strainReportService.pageList(query));
    }
@@ -578,7 +579,9 @@
            tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName());
        }
        if (one.getExperimentId()!=null){
            tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(one.getExperimentId())).getNickName());
            SysUser sysUser = sysUserService.selectUserById(Long.valueOf(one.getExperimentId()));
            tStrainReportDetailVO.setExperimentName(sysUser.getNickName());
            tStrainReportDetailVO.setExperimentAvatar(sysUser.getAvatar());
            tStrainReportDetailVO.setExperimentId(one.getExperimentId());
        }
        tStrainReportDetailVO.setReportType(strainReport.getReportType());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java
@@ -73,11 +73,14 @@
            dto.setHandleTime(LocalDateTime.now());
        }
        strainValidationDataService.save(dto);
        if (dto.getStatus()==2){
        if (dto.getIsDraft()==0){
            dto.setStatus(1);
        }
        if (dto.getStatus()==1){
            // 新增消息
            TNotice tNotice = new TNotice();
            List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId())
                    .eq(TProjectTeamStaff::getRoleType, 2)
                    .eq(TProjectTeamStaff::getRoleType, 3)
                    .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
            TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect)
                    .eq(TProjectTeam::getStatus, 1)
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) {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -160,11 +160,11 @@
        user.setUserName(user.getUserName());
        if (!userService.checkUserNameUnique(user))
        {
            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
        }
        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
        {
            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
            return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
        }
        user.setCreateBy(getUsername());
        user.setPassword(SecurityUtils.encryptPassword("123456"));
ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportQuery.java
@@ -35,5 +35,7 @@
    private List<String> projectIds;
    @ApiModelProperty(value = "当前登陆人id 前端忽略")
    private String userId;
    @ApiModelProperty(value = "当前登陆人角色类型 前端忽略")
    private Integer evaluateHumanType;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TStrainReportDetailVO.java
@@ -24,6 +24,9 @@
    private String auditName;
    @ApiModelProperty("菌种实验员名称")
    private String experimentName;
    @ApiModelProperty("菌种实验员头像")
    private String experimentAvatar;
    @ApiModelProperty("项目组")
    private TProjectTeam projectTeam;
ruoyi-system/src/main/java/com/ruoyi/system/vo/TTrainLibraryDetailVO.java
@@ -18,6 +18,5 @@
    @ApiModelProperty(value = "菌种库出入库记录")
    private PageInfo<TTrainLibraryWarehousingVO> warehousingList;
    @ApiModelProperty(value = "菌种库出入库时间轴")
    private List<TTrainLibraryWarehousing> list;
}
ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml
@@ -38,10 +38,10 @@
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TStrainReportVO">
        select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName from t_strain_report t1
            left join t_strain_report_detail t5  on t5.report_id = t1.id and t5.evaluate_human_type =1
            left join t_strain_report_detail t5  on t5.report_id = t1.id
        left join t_project_team t2 on t1.project_id = t2.id
        left join sys_user t3 on t3.user_id = t5.experiment_id
        left join sys_user t4 on t4.user_id = t1.evaluate_id
        left join sys_user t4 on t4.user_id = t5.evaluate_id
        <where>
            <if test="query.teamName != null and query.teamName != ''">
                and t2.team_name like concat('%',#{query.teamName},'%')
@@ -54,6 +54,12 @@
            </if>
            <if test="query.userId != null and query.userId != ''">
                and t5.experiment_id = #{query.userId}
            </if>
            <if test="query.evaluateHumanType == 3">
                and t5.evaluate_human_type = 2
            </if>
            <if test="query.evaluateHumanType == 4">
                and t5.evaluate_human_type = 1
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and t1.evaluate_time between #{query.startTime} and #{query.endTime}
@@ -119,7 +125,7 @@
            </if>
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by t1.status asc, t1.evaluate_time desc
        order by t1.create_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TStrainValidationDataMapper.xml
@@ -46,6 +46,7 @@
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by create_time desc
    </select>
</mapper>
ruoyi-system/target/classes/mapper/system/TStrainReportMapper.xml
@@ -38,10 +38,10 @@
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TStrainReportVO">
        select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName from t_strain_report t1
            left join t_strain_report_detail t5  on t5.report_id = t1.id and t5.evaluate_human_type =1
            left join t_strain_report_detail t5  on t5.report_id = t1.id
        left join t_project_team t2 on t1.project_id = t2.id
        left join sys_user t3 on t3.user_id = t5.experiment_id
        left join sys_user t4 on t4.user_id = t1.evaluate_id
        left join sys_user t4 on t4.user_id = t5.evaluate_id
        <where>
            <if test="query.teamName != null and query.teamName != ''">
                and t2.team_name like concat('%',#{query.teamName},'%')
@@ -54,6 +54,12 @@
            </if>
            <if test="query.userId != null and query.userId != ''">
                and t5.experiment_id = #{query.userId}
            </if>
            <if test="query.evaluateHumanType == 3">
                and t5.evaluate_human_type = 2
            </if>
            <if test="query.evaluateHumanType == 4">
                and t5.evaluate_human_type = 1
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and t1.evaluate_time between #{query.startTime} and #{query.endTime}
@@ -119,7 +125,7 @@
            </if>
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by t1.status asc, t1.evaluate_time desc
        order by t1.create_time desc
    </select>
</mapper>
ruoyi-system/target/classes/mapper/system/TStrainValidationDataMapper.xml
@@ -46,6 +46,7 @@
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by create_time desc
    </select>
</mapper>