| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | 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 = TTrainLibraryQuery.class) |
| | | @PostMapping(value = "/api/t-train-library/pageList") |
| | | public R<PageInfo<TTrainLibraryVO>> 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")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ List<String> projectIds = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) |
| | | .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<>()); |
| | | } |
| | | }else if (!sysUser.getRoleType().equals("1")){ |
| | | List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (!allProjectIds.isEmpty()){ |
| | | List<String> 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)); |
| | | } |
| | | /** |
| | |
| | | TTrainLibrary tTrainLibrary = new TTrainLibrary(); |
| | | BeanUtils.copyProperties(dto,tTrainLibrary); |
| | | if (i==0){ |
| | | |
| | | List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 3) |
| | | .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); |
| | | if (projectIds.isEmpty()){ |
| | | 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); |
| | |
| | | } |
| | | AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class); |
| | | TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId()); |
| | | if (query.getType()==1){ |
| | | if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==4){ |
| | | if(tTrainLibrary.getStatus()==2){ |
| | | return R.fail("当前菌种为出库待确认状态,不可重复出库"); |
| | | |
| | | }else if (tTrainLibrary.getStatus()==1){ |
| | | return R.fail("当前菌种为已出库状态,不可重复出库"); |
| | | }else{ |
| | | return R.fail("当前菌种为入库待确认状态,不可出库"); |
| | | List<TTrainLibraryWarehousing> 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){ |
| | | if (tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){ |
| | | if(tTrainLibrary.getStatus()==4){ |
| | | return R.fail("当前菌种为入库待确认状态,不可重复入库"); |
| | | |
| | | }else if (tTrainLibrary.getStatus()==3){ |
| | | return R.fail("当前菌种为已入库状态,不可重复入库"); |
| | | }else{ |
| | | return R.fail("当前菌种为出库待确认状态,不可入库"); |
| | | |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | 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(); |
| | | } |
| | | /** |