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>