ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/BaseController.java
@@ -31,8 +31,8 @@ @Resource private TSeparationOfCultureDishesService separationOfCultureDishesService; // @Resource // private TStrainReportService strainReportService; @Resource private TStrainReportService strainReportService; @Resource private TStrainValidationDataService strainValidationDataService; @Resource ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBreedingAndPreservationController.java
@@ -71,12 +71,33 @@ @ApiOperation(value = "菌种选育保藏记录-获取菌种选育保藏记录分页列表",response = TBreedingAndPreservationQuery.class) @PostMapping(value = "/api/t-breeding-and-preservation/pageList") public R<PageInfo<TBreedingAndPreservationVO>> pageList(@RequestBody String param) { LoginUser loginUser = tokenService.getLoginUser(); if (loginUser==null){ return R.fail(401,"登录失效"); } SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); TBreedingAndPreservationQuery query = JSON.parseObject(param, TBreedingAndPreservationQuery.class); SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); 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 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); } } return R.ok(breedingAndPreservationService.pageList(query)); } /** @@ -91,8 +112,20 @@ return R.fail(401,"登陆失效"); } TBreedingAndPreservationDTO dto = JSON.parseObject(param,TBreedingAndPreservationDTO.class); if (dto.getStatus()==1){ return R.fail("有菌种待确认,无法提交"); } if (dto.getStatus()==3){ dto.setIsDraft(1); } List<String> 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()); } breedingAndPreservationService.save(dto); List<TSeparationOfCultureDishes> separationOfCultureDishesList = dto.getSeparationOfCultureDishesList(); @@ -107,27 +140,31 @@ observationOfPetriDishesService.saveBatch(observationOfPetriDishes); List<TVaccinationSlope> vaccinationSlopes = dto.getVaccinationSlopes(); for (TVaccinationSlope tSeparationOfCultureDishes : vaccinationSlopes) { tSeparationOfCultureDishes.setHandleId(tokenService.getLoginUser().getUserId()+""); tSeparationOfCultureDishes.setHandleTime(LocalDateTime.now()); tSeparationOfCultureDishes.setBreedingPreserveId(dto.getId()); } vaccinationSlopeService.saveBatch(vaccinationSlopes); List<TCulturePreservation> culturePreservations = dto.getCulturePreservations(); for (TCulturePreservation tSeparationOfCultureDishes : culturePreservations) { tSeparationOfCultureDishes.setHandleId(tokenService.getLoginUser().getUserId()+""); tSeparationOfCultureDishes.setHandleTime(LocalDateTime.now()); tSeparationOfCultureDishes.setBreedingPreserveId(dto.getId()); } culturePreservationService.saveBatch(culturePreservations); if (dto.getStatus()!=null&&dto.getStatus()==2){ // 新增消息 TNotice tNotice = new TNotice(); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) List<String> allProjectIds = 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) if (!allProjectIds.isEmpty()){ TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(one1.getUserId()); 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); @@ -146,7 +183,6 @@ private TProjectTeamStaffService projectTeamStaffService; @Resource private TNoticeService noticeService; //@PreAuthorize("@ss.hasPermi('system:breedingAndPreservation:update')") @Log(title = "菌种选育保藏记录-编辑选育保藏记录", businessType = BusinessType.UPDATE) @ApiOperation(value = "菌种选育保藏记录-编辑选育保藏记录",response = TBreedingAndPreservationDTO.class) @PostMapping(value = "/api/t-breeding-and-preservation/update") @@ -188,14 +224,14 @@ if (dto.getStatus()==2){ // 新增消息 TNotice tNotice = new TNotice(); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) List<String> allProjectIds = 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) TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(one1.getUserId()); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); @@ -214,11 +250,11 @@ Long userId = tokenService.getLoginUser().getUserId(); TConfirmBreedingAndPreservationDTO dto = JSON.parseObject(param,TConfirmBreedingAndPreservationDTO.class); TVaccinationSlope byId = vaccinationSlopeService.getById(dto.getId()); byId.setPreserveId(userId+""); byId.setPreserveTime(LocalDateTime.now()); byId.setPreserveSignature(dto.getPreserveSignature()); vaccinationSlopeService.updateById(byId); TVaccinationSlope vaccinationSlope = vaccinationSlopeService.getById(dto.getId()); vaccinationSlope.setPreserveId(userId+""); vaccinationSlope.setPreserveTime(LocalDateTime.now()); vaccinationSlope.setPreserveSignature(dto.getPreserveSignature()); vaccinationSlopeService.updateById(vaccinationSlope); return R.ok(); } @Log(title = "菌种保藏记录确认入库", businessType = BusinessType.UPDATE) @@ -227,17 +263,18 @@ public R<Boolean> culturePreservationsConfirm(@RequestBody String param) { Long userId = tokenService.getLoginUser().getUserId(); TConfirmBreedingAndPreservationDTO dto = JSON.parseObject(param,TConfirmBreedingAndPreservationDTO.class); TCulturePreservation byId = culturePreservationService.getById(dto.getId()); byId.setPreserveId(userId+""); byId.setPreserveTime(LocalDateTime.now()); byId.setPreserveSignature(dto.getPreserveSignature()); culturePreservationService.updateById(byId); TCulturePreservation culturePreservation = culturePreservationService.getById(dto.getId()); culturePreservation.setPreserveId(userId+""); culturePreservation.setPreserveTime(LocalDateTime.now()); culturePreservation.setPreserveSignature(dto.getPreserveSignature()); culturePreservationService.updateById(culturePreservation); return R.ok(); } //@PreAuthorize("@ss.hasPermi('system:breedingAndPreservation:detail')") @ApiOperation(value = "选育保藏记录详情") @GetMapping(value = "/open/t-breeding-and-preservation/getDetailById") public R<TBreedingAndPreservationDetailVO> getDetailById(@RequestParam String id) { List<SysUser> sysUsers = sysUserService.selectAllList(); TBreedingAndPreservationDetailVO res = new TBreedingAndPreservationDetailVO(); TBreedingAndPreservation breedingAndPreservation = breedingAndPreservationService.getById(id); BeanUtils.copyProperties(breedingAndPreservation, res); @@ -245,6 +282,13 @@ List<TObservationOfPetriDishes> observationOfPetriDishes = observationOfPetriDishesService.lambdaQuery().eq(TObservationOfPetriDishes::getBreedingPreserveId, id).list(); List<TVaccinationSlope> vaccinationSlopes = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getBreedingPreserveId, id).list(); List<TCulturePreservation> culturePreservations = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getBreedingPreserveId, id).list(); for (TCulturePreservation culturePreservation : culturePreservations) { SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(culturePreservation.getHandleId()))).findFirst() .orElse(null); if (sysUser!=null){ culturePreservation.setHandleName(sysUser.getNickName()); } } res.setSeparationOfCultureDishesList(separationOfCultureDishesList); res.setObservationOfPetriDishes(observationOfPetriDishes); res.setVaccinationSlopes(vaccinationSlopes); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TPedigreeChartController.java
@@ -8,6 +8,7 @@ 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.StringUtils; @@ -52,7 +53,8 @@ @Resource private TokenService tokenService; @Resource private ISysUserService sysUserService; @@ -64,6 +66,30 @@ @PostMapping(value = "/api/t-pedigree-chart/pageList") public R<PageInfo<TPedigreeChartVO>> pageList(@RequestBody String param) { TPedigreeChartQuery query = JSON.parseObject(param, TPedigreeChartQuery.class); SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); 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 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); } } return R.ok(pedigreeChartService.pageList(query)); } @@ -83,27 +109,36 @@ TPedigreeChartParentAllDTO dto = JSON.parseObject(param, TPedigreeChartParentAllDTO.class); TPedigreeChart parent = dto.getParent(); if (!dto.getOne().isEmpty()){ String one1Json = JSON.toJSONString(dto.getOne().get(0)); parent.setJson(one1Json); String child = JSON.toJSONString(dto.getOne().get(0)); parent.setJson(child); } List<String> 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(); parent.setProjectId(projectTeam.getId()); } pedigreeChartService.save(parent); if (!dto.getOne().isEmpty()){ TPedigreeChartParentOneDTO one = dto.getOne().get(0); one.setParentId("0"); one.setType(1); one.setStatus(one.getStatus()); one.setStorageTime(LocalDateTime.now()); one.setPedigreeChartId(parent.getId()); one.setVaccinateId(loginUser.getUserId()+""); one.setVaccinateSignature(one.getVaccinateSignature()); one.setVaccinateTime(LocalDateTime.now()); one.setId(null); pedigreeChartDetailService.save(one); List<TPedigreeChartParentOneCountDTO> countList = one.getChildren(); TPedigreeChartParentOneDTO oneLevel = dto.getOne().get(0); oneLevel.setParentId("0"); oneLevel.setType(1); oneLevel.setStatus(oneLevel.getStatus()); oneLevel.setStorageTime(LocalDateTime.now()); oneLevel.setPedigreeChartId(parent.getId()); oneLevel.setVaccinateId(loginUser.getUserId()+""); oneLevel.setVaccinateSignature(oneLevel.getVaccinateSignature()); oneLevel.setVaccinateTime(LocalDateTime.now()); oneLevel.setId(null); pedigreeChartDetailService.save(oneLevel); List<TPedigreeChartParentOneCountDTO> countList = oneLevel.getChildren(); if (!countList.isEmpty()){ TPedigreeChartParentOneCountDTO count = countList.get(0); count.setParentId(one.getId()); count.setParentId(oneLevel.getId()); count.setType(2); count.setStatus(1); count.setPedigreeChartId(parent.getId()); @@ -112,7 +147,7 @@ pedigreeChartDetailService.save(count); if (count.getChildren()!=null){ for (TPedigreeChartParentTwoDTO tPedigreeChartParentTwoDTO : count.getChildren()) { tPedigreeChartParentTwoDTO.setParentId(one.getId()); tPedigreeChartParentTwoDTO.setParentId(oneLevel.getId()); tPedigreeChartParentTwoDTO.setPedigreeChartId(parent.getId()); tPedigreeChartParentTwoDTO.setType(1); if (tPedigreeChartParentTwoDTO.getStatus()==null){ @@ -130,16 +165,16 @@ List<TPedigreeChartParentTwoCountDTO> count1List = tPedigreeChartParentTwoDTO.getChildren(); if (!count1List.isEmpty()){ // 传代数 TPedigreeChartParentTwoCountDTO count1 = count1List.get(0); count1.setType(2); count1.setParentId(tPedigreeChartParentTwoDTO.getId()); count1.setPedigreeChartId(parent.getId()); count1.setStatus(1); count1.setId(null); pedigreeChartDetailService.save(count1); if (count1.getChildren()!=null){ for (TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO : count1.getChildren()) { tPedigreeChartParentThreeDTO.setParentId(count1.getId()); TPedigreeChartParentTwoCountDTO childCount = count1List.get(0); childCount.setType(2); childCount.setParentId(tPedigreeChartParentTwoDTO.getId()); childCount.setPedigreeChartId(parent.getId()); childCount.setStatus(1); childCount.setId(null); pedigreeChartDetailService.save(childCount); if (childCount.getChildren()!=null){ for (TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO : childCount.getChildren()) { tPedigreeChartParentThreeDTO.setParentId(childCount.getId()); tPedigreeChartParentThreeDTO.setPedigreeChartId(parent.getId()); tPedigreeChartParentThreeDTO.setType(1); if (tPedigreeChartParentThreeDTO.getStatus()==null){ @@ -158,22 +193,22 @@ } } } String one1Json = JSON.toJSONString(one); parent.setJson(one1Json); String child = JSON.toJSONString(oneLevel); parent.setJson(child); pedigreeChartService.updateById(parent); // 新增消息 TNotice tNotice = new TNotice(); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 2) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (!collect.isEmpty()){ TProjectTeam team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect) if (!allProjectIds.isEmpty()){ TProjectTeam team = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery() TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, team.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setUserId(one1.getUserId()); tNotice.setUserId(projectTeamStaff.getUserId()); tNotice.setStatus(1); tNotice.setNoticeContent("菌种实验员新增【1】条【菌种传代生产谱系图】操作,等待您签字确认;"); tNotice.setDataId(parent.getId()); @@ -192,7 +227,6 @@ private TNoticeService noticeService; /** */ //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:addProgenitor')") @Log(title = "谱系图-编辑谱系图-编辑谱系图", businessType = BusinessType.UPDATE) @ApiOperation(value = "编辑谱系图-编辑谱系图",response = TPedigreeChartParentAllDTO.class) @PostMapping(value = "/api/t-pedigree-chart/editProgenitor") @@ -204,8 +238,8 @@ TPedigreeChartParentAllDTO dto = JSON.parseObject(param, TPedigreeChartParentAllDTO.class); TPedigreeChart parent = dto.getParent(); if (!dto.getOne().isEmpty()){ String one1Json = JSON.toJSONString(dto.getOne().get(0)); parent.setJson(one1Json); String child = JSON.toJSONString(dto.getOne().get(0)); parent.setJson(child); } pedigreeChartService.updateById(parent); // pedigreeChartDetailService.remove(new LambdaQueryWrapper<TPedigreeChartDetail>() @@ -362,36 +396,36 @@ // 祖代/母代 TPedigreeChartParentOneDTO tPedigreeChartParentOneDTO = new TPedigreeChartParentOneDTO(); BeanUtils.copyProperties(pedigreeChartDetail,tPedigreeChartParentOneDTO); TPedigreeChartDetail pedigreeChartDetail1 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneDTO.getId()) TPedigreeChartDetail childCount = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneDTO.getId()) && e.getType() == 2).findFirst().orElse(null); // 传代计划数 if (pedigreeChartDetail1!=null){ if (childCount!=null){ TPedigreeChartParentOneCountDTO tPedigreeChartParentOneCountDTO = new TPedigreeChartParentOneCountDTO(); List<TPedigreeChartParentOneCountDTO> tPedigreeChartParentOneCountDTOS = new ArrayList<>(); BeanUtils.copyProperties(pedigreeChartDetail1,tPedigreeChartParentOneCountDTO); BeanUtils.copyProperties(childCount,tPedigreeChartParentOneCountDTO); tPedigreeChartParentOneCountDTO.setParent(pedigreeChartDetail); // 祖代母代传代数 List<TPedigreeChartDetail> collect = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneCountDTO.getId()) List<TPedigreeChartDetail> childs = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentOneCountDTO.getId()) && e.getType() == 1).collect(Collectors.toList()); List<TPedigreeChartParentTwoDTO> tPedigreeChartParentTwoDTOS = new ArrayList<>(); List<TPedigreeChartParentThreeDTO> tPedigreeChartParentThreeDTOS = new ArrayList<>(); for (TPedigreeChartDetail tPedigreeChartDetail : collect) { for (TPedigreeChartDetail tPedigreeChartDetail : childs) { TPedigreeChartParentTwoDTO tPedigreeChartParentTwoDTO = new TPedigreeChartParentTwoDTO(); BeanUtils.copyProperties(tPedigreeChartDetail,tPedigreeChartParentTwoDTO); tPedigreeChartParentTwoDTO.setParent(pedigreeChartDetail1); TPedigreeChartDetail pedigreeChartDetail2 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoDTO.getId()) tPedigreeChartParentTwoDTO.setParent(childCount); TPedigreeChartDetail childCountChild = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoDTO.getId()) && e.getType() == 2).findFirst().orElse(null); if (pedigreeChartDetail2!=null){ if (childCountChild!=null){ ArrayList<TPedigreeChartParentTwoCountDTO> tPedigreeChartParentTwoCountDTOS = new ArrayList<>(); TPedigreeChartParentTwoCountDTO tPedigreeChartParentTwoCountDTO = new TPedigreeChartParentTwoCountDTO(); BeanUtils.copyProperties(pedigreeChartDetail2,tPedigreeChartParentTwoCountDTO); List<TPedigreeChartDetail> collect1 = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoCountDTO.getId()) BeanUtils.copyProperties(childCountChild,tPedigreeChartParentTwoCountDTO); List<TPedigreeChartDetail> childChilds = details.stream().filter(e -> e.getParentId().equals(tPedigreeChartParentTwoCountDTO.getId()) && e.getType() == 1).collect(Collectors.toList()); for (TPedigreeChartDetail chartDetail : collect1) { for (TPedigreeChartDetail chartDetail : childChilds) { TPedigreeChartParentThreeDTO tPedigreeChartParentThreeDTO = new TPedigreeChartParentThreeDTO(); BeanUtils.copyProperties(chartDetail,tPedigreeChartParentThreeDTO); tPedigreeChartParentThreeDTO.setParent(pedigreeChartDetail2); tPedigreeChartParentThreeDTO.setParent(childCountChild); tPedigreeChartParentThreeDTOS.add(tPedigreeChartParentThreeDTO); } tPedigreeChartParentTwoCountDTO.setChildren(tPedigreeChartParentThreeDTOS); @@ -413,7 +447,6 @@ /** * 谱系图-菌种传代生产谱系图详情-菌种详情 */ //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:strainInfo')") @ApiOperation(value = "谱系图-菌种传代生产谱系图详情-菌种详情") @GetMapping(value = "/api/t-pedigree-chart/strainInfo") public R strainInfo(@RequestParam String id) { @@ -437,9 +470,9 @@ pedigreeChartDetail1.setVaccinateId(tokenService.getLoginUser().getUserId()+""); pedigreeChartDetail1.setVaccinateTime(LocalDateTime.now()); pedigreeChartDetail1.setVaccinateSignature(dto.getVaccinateSignature()); TPedigreeChartDetail byId = pedigreeChartDetailService.getById(dto.getParentId()); TPedigreeChartDetail tPedigreeChartDetail = pedigreeChartDetailService.getById(dto.getParentId()); pedigreeChartDetail1.setGenerationCount(dto.getGenerationCount()); pedigreeChartDetail1.setPedigreeChartId(byId.getPedigreeChartId()); pedigreeChartDetail1.setPedigreeChartId(tPedigreeChartDetail.getPedigreeChartId()); pedigreeChartDetail1.setType(2); pedigreeChartDetailService.save(pedigreeChartDetail1); return R.ok(); @@ -464,15 +497,6 @@ pedigreeChartDetailService.updateById(pedigreeChartDetail); return R.ok(); } /** * 谱系图-代确认入库菌种列表 */ //@PreAuthorize("@ss.hasPermi('system:pedigreeChart:listConfirm')") // @ApiOperation(value = "谱系图-代确认入库菌种列表",response = TPedigreeChartConfirmQuery.class) // @GetMapping(value = "/api/t-pedigree-chart/listConfirm") // public R<PageInfo<TPedigreeChartConfirmVO>> listConfirm(@RequestBody String param) { // TPedigreeChartConfirmQuery query = JSON.parseObject(param, TPedigreeChartConfirmQuery.class); // return R.ok(pedigreeChartService.listConfirm(query)); // } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectGroupController.java
@@ -60,6 +60,12 @@ TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class); return R.ok(projectTeamService.pageList(query)); } @ApiOperation(value = "新增报告-获取项目组分页列表") @PostMapping(value = "/api/t_project_team/pageList1") public R<PageInfo<TProjectTeamVO>> pageList1(@RequestBody String param) { TProjectTeamQuery query = JSON.parseObject(param, TProjectTeamQuery.class); return R.ok(projectTeamService.pageList(query)); } /** * 添加项目组管理 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
@@ -81,7 +81,6 @@ query.setProjectIds(projectIds); return R.ok(strainReportService.pageListAll(query)); } //@PreAuthorize("@ss.hasPermi('system:strainReport:list')") @ApiOperation(value = "获取菌种报告库操作评定分页列表",tags = "菌种报告库操作评定-菌种实验员",response = TStrainReportQuery.class) @PostMapping(value = "/api/t-strain-report/pageList") public R<PageInfo<TStrainReportVO>> pageList(@RequestBody String param) { @@ -99,6 +98,8 @@ List<SysUser> sysUser1 = sysUserService.selectUserByUserNameLike(query.getEvaluateName()); if (sysUser1.isEmpty()){ strings.add("0"); query.setEvaluateId(strings); }else{ strings = sysUser1.stream().map(SysUser::getUserId).map(String::valueOf).collect(Collectors.toList()); query.setEvaluateId(strings); @@ -114,20 +115,21 @@ public R<TStrainReportDetailVO> getDetailById(@RequestParam String id) { TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO(); TStrainReport strainReport = strainReportService.getById(id); TStrainReportDetail one = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>() TStrainReportDetail strainReportDetail = strainReportDetailService.getOne(new LambdaQueryWrapper<TStrainReportDetail>() .eq(TStrainReportDetail::getReportId, strainReport.getId()) .eq(TStrainReportDetail::getEvaluateHumanType, 1) .eq(TStrainReportDetail::getExperimentId, tokenService.getLoginUser().getUserId())); if (one!=null){ tStrainReportDetailVO.setEvaluate(one.getEvaluate()); } BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); if (strainReport.getEvaluateId() != null){ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())); if (sysUser != null){ tStrainReportDetailVO.setEvaluateName(sysUser.getNickName()); if (strainReportDetail!=null){ tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); if (StringUtils.hasLength(strainReportDetail.getEvaluateId())){ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getEvaluateId())); if (sysUser != null){ tStrainReportDetailVO.setEvaluateName(sysUser.getNickName()); } } } BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); return R.ok(tStrainReportDetailVO); } //@PreAuthorize("@ss.hasPermi('system:strainReportProject:pageListProject')") @@ -139,19 +141,30 @@ query.setStartTime(query.getTime().split(" - ")[0]); query.setEndTime(query.getTime().split(" - ")[1]); } LoginUser loginUser = tokenService.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); List<String> projectIds = new ArrayList<>(); if (!sysUser.getRoleType().equals("1")){ // 查询和自己相关的项目组id List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list() .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (collect.isEmpty()){ collect.add("0"); SysUser sysUser = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); 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); } projectIds = collect; }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); } } query.setProjectIds(projectIds); return R.ok(strainReportService.pageListProject(query)); } @@ -166,10 +179,10 @@ SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); List<TStrainReport> tStrainReports = strainReportService.list(new LambdaQueryWrapper<TStrainReport>() .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id)); List<String> collect7 = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList()); if (collect7.isEmpty())collect7.add("0"); List<String> strainReportIds = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList()); if (strainReportIds.isEmpty())strainReportIds.add("0"); List<TStrainReportDetail> tStrainReportDetails = strainReportDetailService .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,collect7) .list(new LambdaQueryWrapper<TStrainReportDetail>().in(TStrainReportDetail::getReportId,strainReportIds) .orderByDesc(TStrainReportDetail::getCreateTime)); BigDecimal sum = new BigDecimal("0"); BigDecimal sum1 = new BigDecimal("0"); @@ -177,26 +190,26 @@ Integer temp = 0; for (TStrainReport tStrainReport : tStrainReports) { List<TStrainReportDetail> collect1 = tStrainReportDetails.stream() List<TStrainReportDetail> tStrainReportDetails1 = tStrainReportDetails.stream() .filter(e -> e.getReportId().equals(tStrainReport.getId())&& e.getEvaluateHumanType()==1).collect(Collectors.toList()); List<TStrainReportDetail> collect2 = tStrainReportDetails.stream() List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream() .filter(e -> e.getReportId().equals(tStrainReport.getId())&& e.getEvaluateHumanType()==2).collect(Collectors.toList()); // 菌种工程积分 sum1 = collect2.stream() sum1 = tStrainReportDetails2.stream() .filter(e -> e.getEvaluateHumanType().equals(1)) .map(TStrainReportDetail::getEvaluateTotal) .reduce(BigDecimal::add) .orElse(BigDecimal.ZERO); // 菌种实验员积分 sum2 = collect1.stream() sum2 = tStrainReportDetails1.stream() .filter(e -> e.getEvaluateHumanType().equals(2)) .map(TStrainReportDetail::getEvaluateTotal) .reduce(BigDecimal::add) .orElse(BigDecimal.ZERO); List<TStrainReportDetail> collect3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); for (TStrainReportDetail tStrainReportDetail : collect3) { List<TStrainReportDetail> tStrainReportDetails3 = tStrainReportDetails.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); for (TStrainReportDetail tStrainReportDetail : tStrainReportDetails3) { // 根据评定等级统计失败次数 if (StringUtils.hasLength(tStrainReportDetail.getEvaluate())&& tStrainReportDetail.getEvaluate().split(",").length>=5){ if (tStrainReportDetail.getEvaluate().split(",")[4].equals("2")){ @@ -211,18 +224,14 @@ tStrainReportDetailVO.setFailCount(temp); List<TStrainReport> collect1 = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList()); if (!collect1.isEmpty()){ tStrainReportDetailVO.setEndTime(collect1.get(0).getEvaluateTime()); List<TStrainReport> strainReportIdsByProjectId = tStrainReports.stream().filter(e -> e.getProjectId().equals(byId.getId())).collect(Collectors.toList()); if (!strainReportIdsByProjectId.isEmpty()){ tStrainReportDetailVO.setEndTime(strainReportIdsByProjectId.get(0).getEvaluateTime()); } tStrainReportDetailVO.setStartTime(byId.getCreateTime()); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()) TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()) .eq(TProjectTeamStaff::getRoleType, 2).one(); List<String> strings = new ArrayList<>(); List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>(); if (sysUser.getRoleType().equals("4")){ TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO(); tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName()); @@ -234,17 +243,17 @@ .orElse(BigDecimal.ZERO); tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral); List<TStrainReportDetail> collect = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList()); if (!collect.isEmpty()){ tStrainReportDetailExperimentVO.setHandleStartTime(collect.get(0).getCreateTime()); List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList()); if (!strainReportDetails.isEmpty()){ tStrainReportDetailExperimentVO.setHandleStartTime(strainReportDetails.get(0).getCreateTime()); } tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO); tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS); }else{ List<TStrainReportDetail> collect6 = tStrainReportDetails.stream() List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream() .filter(e -> e.getEvaluateHumanType() == 2&& e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList()); if (collect6.isEmpty()){ e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList()); if (strainReportDetails.isEmpty()){ TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO(); tStrainReportDetailEngineerVO.setInnovateCount(0); tStrainReportDetailEngineerVO.setInnovateIntegral(BigDecimal.ZERO); @@ -280,31 +289,31 @@ tStrainReportDetailVO.setDetailExperimentVOS(tStrainReportDetailExperimentVOS1); }else{ List<TStrainReportDetail> collect2 = collect6.stream() .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(one1.getUserId())).collect(Collectors.toList()); List<TStrainReportDetail> reportDetails = strainReportDetails.stream() .filter(e -> e.getEvaluateHumanType().equals(2) && e.getExperimentId().equals(projectTeamStaff.getUserId())).collect(Collectors.toList()); TStrainReportDetailEngineerVO tStrainReportDetailEngineerVO = new TStrainReportDetailEngineerVO(); tStrainReportDetailEngineerVO.setInnovateCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(1)).count()); tStrainReportDetailEngineerVO.setInnovateIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> collect3 = collect2.stream().filter(e -> e.getEvaluateType().equals(1)).collect(Collectors.toList()); tStrainReportDetailEngineerVO.setInnovateCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).count()); tStrainReportDetailEngineerVO.setInnovateIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> collect3 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList()); if (!collect3.isEmpty()){ tStrainReportDetailEngineerVO.setInnovateStartTime(collect3.get(collect3.size()-1).getCreateTime()); } tStrainReportDetailEngineerVO.setInnovateEndTime(byId.getCreateTime()); tStrainReportDetailEngineerVO.setRegulationCount((int)collect2.stream().filter(e->e.getEvaluateType().equals(2)).count()); tStrainReportDetailEngineerVO.setRegulationIntegral(collect2.stream().filter(e->e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> collect4 = collect2.stream().filter(e -> e.getEvaluateType().equals(2)).collect(Collectors.toList()); tStrainReportDetailEngineerVO.setRegulationCount((int)reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).count()); tStrainReportDetailEngineerVO.setRegulationIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> collect4 = reportDetails.stream().filter(e -> e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).collect(Collectors.toList()); if (!collect4.isEmpty()){ tStrainReportDetailEngineerVO.setRegulationStartTime(collect4.get(collect4.size()-1).getCreateTime()); } tStrainReportDetailEngineerVO.setRegulationEndTime(byId.getCreateTime()); tStrainReportDetailEngineerVO.setHandleCount((int)collect2.stream().filter(e->e.getReportType().equals(1)).count()); tStrainReportDetailEngineerVO.setHandleIntegral(collect2.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> collect5 = collect2.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList()); if (!collect5.isEmpty()){ tStrainReportDetailEngineerVO.setHandleStartTime(collect5.get(collect5.size()-1).getCreateTime()); tStrainReportDetailEngineerVO.setHandleCount((int)reportDetails.stream().filter(e->e.getReportType().equals(1)).count()); tStrainReportDetailEngineerVO.setHandleIntegral(reportDetails.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); List<TStrainReportDetail> reportDetailList = reportDetails.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList()); if (!reportDetailList.isEmpty()){ tStrainReportDetailEngineerVO.setHandleStartTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime()); } tStrainReportDetailEngineerVO.setHandleEndTime(byId.getCreateTime()); @@ -369,10 +378,10 @@ if (dto.getIsDraft()==0){ // 新增消息 TNotice tNotice = new TNotice(); TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setUserId(one.getUserId()); tNotice.setUserId(projectTeamStaff.getUserId()); tNotice.setStatus(1); tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核"); tNotice.setDataId(dto.getId()); @@ -380,11 +389,11 @@ noticeService.save(tNotice); // 新增消息 TNotice tNotice1 = new TNotice(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one(); tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice1.setUserId(one1.getUserId()); tNotice1.setUserId(tProjectTeamStaff.getUserId()); tNotice1.setStatus(1); tNotice1.setNoticeContent("您有【1】条菌种库操作菌种工程师已评定;"); tNotice1.setDataId(dto.getId()); @@ -416,11 +425,11 @@ if (dto.getIsDraft()==0){ // 新增消息 TNotice tNotice = new TNotice(); TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, dto.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setUserId(one.getUserId()); tNotice.setUserId(projectTeamStaff.getUserId()); tNotice.setStatus(1); tNotice.setNoticeContent("您有【1】条【菌种报告】【报告库"+dto.getReportType()+"】等待审核"); tNotice.setDataId(dto.getId()); @@ -435,8 +444,8 @@ //@PreAuthorize("@ss.hasPermi('system:strainReport:cancelReport')") @Log(title = "菌种库报告管理-菌种工程师撤销审批", businessType = BusinessType.UPDATE) @ApiOperation(value = "菌种工程师撤销审批",tags = "菌种报告库") @PostMapping(value = "/api/t-strain-report/cancelReport") public R<Boolean> cancelReport(@RequestBody String id) { @GetMapping(value = "/open/t-strain-report/cancelReport") public R<Boolean> cancelReport(@RequestParam String id) { TStrainReport strainReport = strainReportService.getById(id); strainReport.setIsDraft(1); strainReport.setStatus(1); @@ -464,9 +473,6 @@ strainReportService.updateById(strainReport); // 新增消息 TNotice tNotice = new TNotice(); TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); tNotice.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice.setUserId(tokenService.getLoginUser().getUserId()+""); tNotice.setStatus(1); @@ -476,18 +482,18 @@ noticeService.save(tNotice); // 新增消息 TNotice tNotice1 = new TNotice(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) TNotice notice = new TNotice(); TProjectTeamStaff tProjectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice1.setUserId(one1.getUserId()); tNotice1.setStatus(1); notice.setCommitId(tokenService.getLoginUser().getUserId()+""); notice.setUserId(tProjectTeamStaff.getUserId()); notice.setStatus(1); String temp=dto.getStatus()==2?"通过":"驳回"; tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】"); tNotice1.setDataId(dto.getId()); tNotice1.setNoticeType(7); noticeService.save(tNotice1); notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已操作【" +temp+"】"); notice.setDataId(dto.getId()); notice.setNoticeType(7); noticeService.save(notice); return R.ok(); } /** @@ -520,16 +526,16 @@ tStrainReportDetail.setEvaluateType(dto.getEvaluateType()); strainReportDetailService.save(tStrainReportDetail); // 新增消息 TNotice tNotice1 = new TNotice(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) TNotice notice = new TNotice(); TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, strainReport.getProjectId()) .eq(TProjectTeamStaff::getRoleType, 1).last("limit 1").one(); tNotice1.setCommitId(tokenService.getLoginUser().getUserId()+""); tNotice1.setUserId(one1.getUserId()); tNotice1.setStatus(1); tNotice1.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定"); tNotice1.setDataId(dto.getId()); tNotice1.setNoticeType(8); noticeService.save(tNotice1); notice.setCommitId(tokenService.getLoginUser().getUserId()+""); notice.setUserId(projectTeamStaff.getUserId()); notice.setStatus(1); notice.setNoticeContent("您有【1】条【菌种报告】【报告库"+strainReport.getReportType()+"】菌种审批人已评定"); notice.setDataId(dto.getId()); notice.setNoticeType(8); noticeService.save(notice); return R.ok(); } /** @@ -558,31 +564,31 @@ } } BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId()); List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, byId.getId()).list(); StringBuilder stringBuilder = new StringBuilder(); TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId()); List<TProjectTeamStaff> list = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, projectTeam.getId()).list(); StringBuilder staffNames = new StringBuilder(); for (TProjectTeamStaff tProjectTeamStaff : list) { SysUser sysUser = sysUserService.selectUserById(Long.valueOf(tProjectTeamStaff.getUserId())); if (sysUser!=null){ stringBuilder.append(sysUser.getNickName()).append(","); staffNames.append(sysUser.getNickName()).append(","); } } if (StringUtils.hasLength(stringBuilder.toString())){ byId.setStaff(stringBuilder.substring(0, stringBuilder.toString().length() - 1)); if (StringUtils.hasLength(staffNames.toString())){ projectTeam.setStaff(staffNames.substring(0, staffNames.toString().length() - 1)); } tStrainReportDetailVO.setProjectTeam(byId); TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) tStrainReportDetailVO.setProjectTeam(projectTeam); TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) .eq(TStrainReportDetail::getEvaluateHumanType, 1).one(); tStrainReportDetailVO.setEvaluate(one.getEvaluate()); tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal()); tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal()); if (strainReport.getEvaluateId()!=null){ tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName()); } if (one.getExperimentId()!=null){ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(one.getExperimentId())); if (strainReportDetail.getExperimentId()!=null){ SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId())); tStrainReportDetailVO.setExperimentName(sysUser.getNickName()); tStrainReportDetailVO.setExperimentAvatar(sysUser.getAvatar()); tStrainReportDetailVO.setExperimentId(one.getExperimentId()); tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId()); } tStrainReportDetailVO.setReportType(strainReport.getReportType()); if (strainReport.getCommitId()!=null){ @@ -599,15 +605,15 @@ TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO(); TStrainReport strainReport = strainReportService.getById(id); BeanUtils.copyProperties(strainReport, tStrainReportDetailVO); TProjectTeam byId = projectTeamService.getById(strainReport.getProjectId()); tStrainReportDetailVO.setProjectTeam(byId); TStrainReportDetail one = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) TProjectTeam projectTeam = projectTeamService.getById(strainReport.getProjectId()); tStrainReportDetailVO.setProjectTeam(projectTeam); TStrainReportDetail strainReportDetail = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getReportId, id) .eq(TStrainReportDetail::getEvaluateHumanType, 2).one(); tStrainReportDetailVO.setEvaluate(one.getEvaluate()); tStrainReportDetailVO.setEvaluateTotal(one.getEvaluateTotal()); tStrainReportDetailVO.setEvaluate(strainReportDetail.getEvaluate()); tStrainReportDetailVO.setEvaluateTotal(strainReportDetail.getEvaluateTotal()); tStrainReportDetailVO.setEvaluateName(sysUserService.selectUserById(Long.valueOf(strainReport.getEvaluateId())).getNickName()); tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(one.getExperimentId())).getNickName()); tStrainReportDetailVO.setExperimentId(one.getExperimentId()); tStrainReportDetailVO.setExperimentName(sysUserService.selectUserById(Long.valueOf(strainReportDetail.getExperimentId())).getNickName()); tStrainReportDetailVO.setExperimentId(strainReportDetail.getExperimentId()); tStrainReportDetailVO.setReportType(strainReport.getReportType()); tStrainReportDetailVO.setCommitName(sysUserService.selectUserById(Long.valueOf(strainReport.getCommitId())).getNickName()); return R.ok(tStrainReportDetailVO); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainValidationDataController.java
@@ -72,35 +72,46 @@ if (StringUtils.hasLength(dto.getHandleSignature())){ dto.setHandleTime(LocalDateTime.now()); } List<String> 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()); } strainValidationDataService.save(dto); if (dto.getIsDraft()==0){ dto.setStatus(1); }else{ dto.setStatus(3); } if (dto.getStatus()==1){ // 新增消息 TNotice tNotice = new TNotice(); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 3) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect) TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(one1.getUserId()); 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 stringBuilder = new StringBuilder(); StringBuilder content = new StringBuilder(); switch (dto.getStrainType()){ case 1: stringBuilder.append( "【原始细胞库验证资料】"); content.append( "【原始细胞库验证资料】"); break; case 2: stringBuilder.append("【主细胞库验证资料】"); content.append("【主细胞库验证资料】"); break; } tNotice.setNoticeContent("您有【1】条"+stringBuilder+"等待确认;"); tNotice.setNoticeContent("您有【1】条"+content+"等待确认;"); tNotice.setDataId(dto.getId()); tNotice.setNoticeType(6); noticeService.save(tNotice); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTrainLibraryController.java
@@ -61,14 +61,19 @@ @PostMapping(value = "/api/t-train-library/choiceUserList") public R<PageInfo<ChoiceUserVO>> 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<String> userIds = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, query.getRoleType()) .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)); } /** @@ -79,20 +84,18 @@ public R<PageInfo<TProjectTeamVO>> choiceProjectList(@RequestBody String param) { LoginUser loginUser = tokenService.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, sysUser.getUserId()).list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (collect.isEmpty()){ collect.add("0"); List<String> 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(collect); query.setProjectIds(projectIds); return R.ok(projectTeamService.choiceProjectList(query)); } // 提取为独立方法以提高可读性和复用性 /** * 获取菌种库分页列表 */ //@PreAuthorize("@ss.hasPermi('system:trainLibrary:list')") @ApiOperation(value = "获取菌种库分页列表",tags = "菌种库管理",response = TTrainLibraryQuery.class) @PostMapping(value = "/api/t-train-library/pageList") public R<PageInfo<TTrainLibraryVO>> pageList(@RequestBody String param) { @@ -106,10 +109,10 @@ @ApiOperation(value = "获取菌种库出入库时间轴列表",tags = "菌种库管理") @PostMapping(value = "/api/t-train-library/timeList") public R<List<TTrainLibraryWarehousing>> timeList(@RequestParam String id) { List<TTrainLibraryWarehousing> list = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,id) List<TTrainLibraryWarehousing> tTrainLibraryWarehousings = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getTrainLibraryId,id) .orderByDesc(TTrainLibraryWarehousing::getCreateTime).list(); List<SysUser> sysUsers = sysUserService.selectList(); for (TTrainLibraryWarehousing tTrainLibraryWarehousing : list) { 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){ @@ -123,7 +126,7 @@ } } } return R.ok(list); return R.ok(tTrainLibraryWarehousings); } @Resource private TNoticeService noticeService; @@ -139,6 +142,15 @@ return R.fail(401,"登陆失效"); } TTrainLibraryDTO dto = JSON.parseObject(param,TTrainLibraryDTO.class); List<String> 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){ // 新增入库记录 @@ -147,34 +159,34 @@ tTrainLibraryWarehousing.setType(2); tTrainLibraryWarehousing.setBoundTime(LocalDateTime.now()); tTrainLibraryWarehousing.setHandleId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setHandleSignature(dto.getHandleSignature()); tTrainLibraryWarehousing.setHandleSignature(dto.getSignature()); tTrainLibraryWarehousingService.save(tTrainLibraryWarehousing); // 新增消息 TNotice tNotice = new TNotice(); List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 2) List<String> allProjectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 3) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect).eq(TProjectTeam::getStatus, 1) TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, allProjectIds).eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(one1.getUserId()); 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 stringBuilder = new StringBuilder(); StringBuilder content = new StringBuilder(); switch (dto.getType()){ case 1: stringBuilder.append("【原始细胞库】"); content.append("【原始细胞库】"); break; case 2: stringBuilder.append("【主细胞库】"); content.append("【主细胞库】"); break; case 3: stringBuilder.append("【生产细胞库】"); content.append("【生产细胞库】"); break; } tNotice.setNoticeContent("您有【1】条"+stringBuilder+"入库记录等待签字确认;"); tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;"); tNotice.setDataId(dto.getId()); tNotice.setNoticeType(3); noticeService.save(tNotice); @@ -195,10 +207,10 @@ TTrainLibrary tTrainLibrary = new TTrainLibrary(); BeanUtils.copyProperties(dto,tTrainLibrary); if (i==0){ List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) List<String> projectIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, tokenService.getLoginUser().getUserId()) .eq(TProjectTeamStaff::getRoleType, 3) .list().stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (collect.isEmpty()){ if (projectIds.isEmpty()){ return R.fail("请先加入项目组"); } tTrainLibrary.setStatus(4); @@ -213,29 +225,29 @@ // 新增消息 TNotice tNotice = new TNotice(); TProjectTeam one = projectTeamService.lambdaQuery().in(TProjectTeam::getId, collect) TProjectTeam projectTeam = projectTeamService.lambdaQuery().in(TProjectTeam::getId, projectIds) .eq(TProjectTeam::getStatus, 1) .orderByDesc(BaseModel::getCreateTime).last("limit 1").one(); TProjectTeamStaff one1 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getTeamId, one.getId()).eq(TProjectTeamStaff::getRoleType, 2).one(); tNotice.setUserId(one1.getUserId()); 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 stringBuilder = new StringBuilder(); StringBuilder content = new StringBuilder(); switch (dto.getType()){ case 1: stringBuilder.append("【原始细胞库】"); content.append("【原始细胞库】"); break; case 2: stringBuilder.append("【主细胞库】"); content.append("【主细胞库】"); break; case 3: stringBuilder.append("【生产细胞库】"); content.append("【生产细胞库】"); break; } tNotice.setNoticeContent("您有【1】条"+stringBuilder+"入库记录等待签字确认;"); tNotice.setNoticeContent("您有【1】条"+content+"入库记录等待签字确认;"); tNotice.setDataId(dto.getId()); tNotice.setNoticeType(3); noticeService.save(tNotice); @@ -289,15 +301,15 @@ } TTrainLibraryDetailConfirmDto query = JSON.parseObject(param, TTrainLibraryDetailConfirmDto.class); TTrainLibraryWarehousing tTrainLibraryWarehousing = tTrainLibraryWarehousingService.getById(query.getId()); TTrainLibrary byId = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId()); TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(tTrainLibraryWarehousing.getTrainLibraryId()); if (tTrainLibraryWarehousing.getType()==1){ byId.setStock(0); byId.setStatus(1); tTrainLibrary.setStock(0); tTrainLibrary.setStatus(1); }else{ byId.setStock(1); byId.setStatus(3); tTrainLibrary.setStock(1); tTrainLibrary.setStatus(3); } tTrainLibraryService.updateById(byId); tTrainLibraryService.updateById(tTrainLibrary); tTrainLibraryWarehousing.setPreserveSignature(query.getPreserveSignature()); tTrainLibraryWarehousing.setPreserveId(tokenService.getLoginUser().getUserId()); tTrainLibraryWarehousing.setConfirmTime(LocalDateTime.now()); @@ -312,9 +324,9 @@ @ApiOperation(value = "编辑获取菌种库详情",tags = "菌种库管理",response = TTrainLibraryDetailVO.class) @GetMapping(value = "/open/t-train-library/getDetailEditById") public R<TTrainLibraryDetailVO> getDetailEditById(@RequestParam String id) { TTrainLibrary byId = tTrainLibraryService.getById(id); TTrainLibrary trainLibrary = tTrainLibraryService.getById(id); TTrainLibraryDetailVO tTrainLibraryDetailVO = new TTrainLibraryDetailVO(); BeanUtils.copyProperties(byId,tTrainLibraryDetailVO); BeanUtils.copyProperties(trainLibrary,tTrainLibraryDetailVO); return R.ok(tTrainLibraryDetailVO); } /** @@ -325,8 +337,8 @@ @PostMapping(value = "/open/t-train-library/getDetailById") public R<TTrainLibraryDetailVO> getDetailById(@RequestBody String param) { TTrainLibraryDetailQuery query = JSON.parseObject(param, TTrainLibraryDetailQuery.class); TTrainLibraryDetailVO detailById = tTrainLibraryService.getDetailById(query); PageInfo<TTrainLibraryWarehousingVO> warehousingList = detailById.getWarehousingList(); TTrainLibraryDetailVO libraryDetailVO = tTrainLibraryService.getDetailById(query); PageInfo<TTrainLibraryWarehousingVO> warehousingList = libraryDetailVO.getWarehousingList(); List<TTrainLibraryWarehousingVO> records = warehousingList.getRecords(); List<SysUser> sysUsers = sysUserService.selectList(); for (TTrainLibraryWarehousingVO record : records) { @@ -360,8 +372,8 @@ } } } detailById.setList(list); return R.ok(detailById); libraryDetailVO.setList(list); return R.ok(libraryDetailVO); } /** * 删除项目组 @@ -397,28 +409,36 @@ AddTrainLibraryWarehousingDTO query = JSON.parseObject(param, AddTrainLibraryWarehousingDTO.class); TTrainLibrary tTrainLibrary = tTrainLibraryService.getById(query.getTrainLibraryId()); if (query.getType()==1){ if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2){ if (tTrainLibrary.getStatus()==1||tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==4){ if(tTrainLibrary.getStatus()==2){ return R.fail("当前菌种为出库待确认状态,不可重复出库"); }else{ }else if (tTrainLibrary.getStatus()==1){ return R.fail("当前菌种为已出库状态,不可重复出库"); }else{ return R.fail("当前菌种为入库待确认状态,不可出库"); } } tTrainLibrary.setStatus(2); } if (query.getType()==2){ if (tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){ if (tTrainLibrary.getStatus()==2||tTrainLibrary.getStatus()==3||tTrainLibrary.getStatus()==4){ if(tTrainLibrary.getStatus()==4){ return R.fail("当前菌种为入库待确认状态,不可重复入库"); }else{ }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); return R.ok(); } /** ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -81,7 +81,6 @@ } List<SysMenu> menus = roleService.roleInfoFromUserId(loginUser.getUserId()); ajax.put("menus",menus); ajax.put("roleName",roles.get(0).getRoleName()); ajax.put("userInfo",loginUser); ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -13,6 +13,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.*; import com.ruoyi.system.model.*; import com.ruoyi.system.query.SysUserQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.SysUserVO; @@ -24,6 +25,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +50,35 @@ private ISysDeptService deptService; @Autowired private TokenService tokenService; @Resource private TBreedingAndPreservationService breedingAndPreservationService; @Resource private TCulturePreservationService culturePreservationService; @Resource private TNoticeService noticeService; @Resource private TObservationOfPetriDishesService observationOfPetriDishesService; @Resource private TPedigreeChartDetailService pedigreeChartDetailService; @Resource private TPedigreeChartService pedigreeChartService; @Resource private TSeparationOfCultureDishesService separationOfCultureDishesService; @Resource private TStrainReportService strainReportService; @Resource private TStrainReportDetailService strainReportDetailService; @Resource private TStrainValidationDataService strainValidationDataService; @Resource private TTrainLibraryService tTrainLibraryService; @Resource private TTrainLibraryWarehousingService tTrainLibraryWarehousingService; @Resource private TVaccinationSlopeService vaccinationSlopeService; @Resource private TProjectTeamStaffService projectTeamStaffService; /** * 获取用户列表 @@ -233,18 +264,81 @@ } return AjaxResult.success(userService.updateUser(sysUser)); } @ApiOperation(value = "账号继承") @ApiOperation(value = "账号继承",response = SysUserInheritDTO.class) @Log(title = "用户信息-账号继承", businessType = BusinessType.UPDATE) @PostMapping("/api/system/user/inherit") public AjaxResult inherit(@RequestBody String param) { SysUserInheritDTO dto = JSON.parseObject(param,SysUserInheritDTO.class); Long currentUserId = dto.getCurrentUserId(); Long userId = dto.getUserId(); SysUser currentUser = userService.selectUserById(dto.getCurrentUserId()); SysUser user = userService.selectUserById(dto.getUserId()); user.setUserId(currentUser.getUserId()); userService.deleteUserById(dto.getCurrentUserId()); // 将user的userId换成currentUser的userId userService.inherit(user); // 将user所有数据 替换为当前账号id List<TCulturePreservation> culturePreservationsHandle = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getHandleId, userId).list(); for (TCulturePreservation tCulturePreservation : culturePreservationsHandle) { tCulturePreservation.setHandleId(currentUserId+""); } culturePreservationService.updateBatchById( culturePreservationsHandle); List<TCulturePreservation> culturePreservationsPreserve = culturePreservationService.lambdaQuery().eq(TCulturePreservation::getPreserveId, userId).list(); for (TCulturePreservation tCulturePreservation : culturePreservationsPreserve) { tCulturePreservation.setPreserveId(currentUserId+""); } culturePreservationService.updateBatchById( culturePreservationsPreserve); List<TNotice> notices = noticeService.lambdaQuery().eq(TNotice::getUserId, userId).list(); for (TNotice tNotice : notices) { tNotice.setUserId(currentUserId+""); } noticeService.updateBatchById( notices); List<TPedigreeChartDetail> pedigreeChartDetailsVaccinate = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getVaccinateId, userId).list(); for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsVaccinate) { tPedigreeChartDetail.setVaccinateId(currentUserId+""); } pedigreeChartDetailService.updateBatchById( pedigreeChartDetailsVaccinate); List<TPedigreeChartDetail> pedigreeChartDetailsPreserve = pedigreeChartDetailService.lambdaQuery().eq(TPedigreeChartDetail::getPreserveId, userId).list(); for (TPedigreeChartDetail tPedigreeChartDetail : pedigreeChartDetailsPreserve) { tPedigreeChartDetail.setPreserveId(currentUserId+""); } pedigreeChartDetailService.updateBatchById(pedigreeChartDetailsPreserve); List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, userId).list(); for (TProjectTeamStaff tProjectTeamStaff : projectTeamStaffs) { tProjectTeamStaff.setUserId(currentUserId+""); } projectTeamStaffService.updateBatchById(projectTeamStaffs); List<TStrainReport> strainReports = strainReportService.lambdaQuery().eq(TStrainReport::getCommitId, userId).list(); for (TStrainReport tStrainReport : strainReports) { tStrainReport.setCommitId(currentUserId+""); } strainReportService.updateBatchById(strainReports); List<TStrainReportDetail> strainReportDetailsExperiment = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getExperimentId, userId).list(); for (TStrainReportDetail tStrainReportDetail : strainReportDetailsExperiment) { tStrainReportDetail.setExperimentId(currentUserId+""); } strainReportDetailService.updateBatchById(strainReportDetailsExperiment); List<TStrainReportDetail> strainReportDetailsEvaluate = strainReportDetailService.lambdaQuery().eq(TStrainReportDetail::getEvaluateId, userId).list(); for (TStrainReportDetail tStrainReportDetail : strainReportDetailsEvaluate) { tStrainReportDetail.setEvaluateId(currentUserId+""); } strainReportDetailService.updateBatchById(strainReportDetailsEvaluate); List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsHandle = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getHandleId, userId).list(); for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsHandle) { tTrainLibraryWarehousing.setHandleId(currentUserId); } tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsHandle); List<TTrainLibraryWarehousing> tTrainLibraryWarehousingsPreserve = tTrainLibraryWarehousingService.lambdaQuery().eq(TTrainLibraryWarehousing::getPreserveId, userId).list(); for (TTrainLibraryWarehousing tTrainLibraryWarehousing : tTrainLibraryWarehousingsPreserve) { tTrainLibraryWarehousing.setPreserveId(currentUserId); } tTrainLibraryWarehousingService.updateBatchById(tTrainLibraryWarehousingsPreserve); List<TVaccinationSlope> vaccinationSlopesHandle = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getHandleId, userId).list(); for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesHandle) { tVaccinationSlope.setHandleId(currentUserId+""); } vaccinationSlopeService.updateBatchById(vaccinationSlopesHandle); List<TVaccinationSlope> vaccinationSlopesPreserve = vaccinationSlopeService.lambdaQuery().eq(TVaccinationSlope::getPreserveId, userId).list(); for (TVaccinationSlope tVaccinationSlope : vaccinationSlopesPreserve) { tVaccinationSlope.setPreserveId(currentUserId+""); } return AjaxResult.success(); } @ApiOperation(value = "启用/禁用") ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
@@ -55,7 +55,6 @@ LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); if (sysUser!=null) { this.setFieldValByName("createBy", sysUser.getNickName(), metaObject); this.setFieldValByName("updateBy", sysUser.getNickName(), metaObject); } ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
@@ -23,7 +23,7 @@ @Api(tags = "服务器文件上传") @RestController @CrossOrigin @RequestMapping("/file/") @RequestMapping("/open/file/") public class FileController { @Autowired @@ -39,7 +39,7 @@ } String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); // String realPath = fileUploadConfig.getLocation() + TimeDir; String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir; String realPath = "D:\\upload\\image\\" + TimeDir; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { @@ -92,7 +92,7 @@ return "请传入文件!"; } String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); String realPath = "C:\\Users\\Admin\\Desktop\\qrcode\\" + TimeDir; String realPath = "D:\\upload\\image" + TimeDir; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { ruoyi-system/src/main/java/com/ruoyi/system/dto/TPedigreeChartParentTwoCountDTO.java
@@ -8,7 +8,7 @@ import java.util.List; @Data @ApiModel(value = "添加谱系图一级设置穿戴书") @ApiModel(value = "添加谱系图一级设置传代书") public class TPedigreeChartParentTwoCountDTO extends TPedigreeChartDetail { @ApiModelProperty(value = "后代") private List<TPedigreeChartParentThreeDTO> children; ruoyi-system/src/main/java/com/ruoyi/system/model/TBreedingAndPreservation.java
@@ -72,6 +72,9 @@ @ApiModelProperty(value = "培养温度") @TableField("temperature") private String temperature; @ApiModelProperty(value = "项目组id") @TableField("project_id") private String projectId; @ApiModelProperty(value = "需氧类型1专性需氧 2专性厌氧 3兼性厌氧 4耐氧厌氧") @TableField("aerobic_type") ruoyi-system/src/main/java/com/ruoyi/system/model/TCulturePreservation.java
@@ -54,6 +54,9 @@ @ApiModelProperty(value = "操作人id") @TableField("handle_id") private String handleId; @ApiModelProperty(value = "操作人名称") @TableField(exist = false) private String handleName; @ApiModelProperty(value = "操作人签名") @TableField("handle_signature") ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChart.java
@@ -63,6 +63,8 @@ @ApiModelProperty(value = "菌种传代生产谱系图 回显使用") @TableField(exist = false) private TPedigreeChartParentAllDetailDTO pedigreeChartParentAllDetailDTO; @ApiModelProperty(value = "项目组id") @TableField("project_id") private String projectId; } ruoyi-system/src/main/java/com/ruoyi/system/model/TPedigreeChartDetail.java
@@ -71,6 +71,9 @@ @ApiModelProperty(value = "接种操作人id") @TableField("vaccinate_id") private String vaccinateId; @ApiModelProperty(value = "接种操作人名称") @TableField(exist = false) private String vaccinateName; @ApiModelProperty(value = "接种时间") @TableField("vaccinate_time") ruoyi-system/src/main/java/com/ruoyi/system/model/TStrainValidationData.java
@@ -33,7 +33,9 @@ @TableField("id") private String id; @ApiModelProperty(value = "项目组id") @TableField("project_id") private String projectId; @ApiModelProperty(value = "菌种来源") @TableField("strain_source") ruoyi-system/src/main/java/com/ruoyi/system/model/TTrainLibrary.java
@@ -40,7 +40,9 @@ @TableField("strain_name") private String strainName; @ApiModelProperty(value = "项目组id") @TableField("project_id") private String projectId; @ApiModelProperty(value = "菌种来源1 是沙土管或甘油管的源头菌种;入原始细胞库(祖代-0) 2 是斜面的源头菌种;接种入主细胞库(祖代-0)。经过育种、验证后,菌种保藏为甘油管或沙土管的,入原始细胞库(祖代-0)3 是含菌物质自己分离后获得的斜面源头菌种,接种入主细胞库;经生产验证后,保藏为沙土管或甘油管,入原始细胞库(祖代-O)") @TableField("strain_source") ruoyi-system/src/main/java/com/ruoyi/system/query/TBreedingAndPreservationQuery.java
@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "菌种选育保藏记录分页列表query") public class TBreedingAndPreservationQuery extends TimeRangeQueryBody { @@ -19,6 +21,8 @@ private Integer aerobicType; @ApiModelProperty(value = "是否草稿 0否1是") private Integer isDraft; @ApiModelProperty(value = "项目组ids") private List<String> projectIds; } ruoyi-system/src/main/java/com/ruoyi/system/query/TPedigreeChartQuery.java
@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "谱系图分页列表query") public class TPedigreeChartQuery extends TimeRangeQueryBody { @@ -18,5 +20,6 @@ @ApiModelProperty(value = "起传类型1母代 2祖代") private Integer generationType; @ApiModelProperty(value = "项目组ids") private List<String> projectIds; } ruoyi-system/src/main/java/com/ruoyi/system/query/TStrainReportProjectQuery.java
@@ -12,7 +12,7 @@ public class TStrainReportProjectQuery extends TimeRangeQueryBody { @ApiModelProperty(value = "所属项目组") private String teamName; @ApiModelProperty(value = "评定开始时间段 创建日期 例:2020-11-11 20:20:20 - 2020-12-12 20:20:20") @ApiModelProperty(value = "创建日期 例:2020-11-11 20:20:20 - 2020-12-12 20:20:20") private String time; @ApiModelProperty(value = "开始时间 前端忽略") private String startTime; ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -517,19 +517,23 @@ public List<SysMenu> getMenuLevelList(List<Long> menusId) { //获取当前的权限菜单 List<SysMenu> all = menuMapper.getAllInIds(menusId); // 第三级 List<SysMenu> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); // 第二级 List<SysMenu> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); List<SysMenu> collect4 = all.stream().filter(e -> e.getParentId() != null).collect(Collectors.toList()); // 第一级 List<SysMenu> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); for (SysMenu menu : s2) { List<SysMenu> collect = s3.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); menu.setChildren(collect); } for (SysMenu menu : s1) { List<SysMenu> collect = s2.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); List<SysMenu> collect = collect4.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); for (SysMenu sysMenu : collect) { List<SysMenu> collect1 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu.getMenuId())).collect(Collectors.toList()); for (SysMenu sysMenu1 : collect1) { List<SysMenu> collect2 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu1.getMenuId())).collect(Collectors.toList()); for (SysMenu sysMenu2 : collect2) { List<SysMenu> collect3 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu2.getMenuId())).collect(Collectors.toList()); sysMenu2.setChildren(collect3); } sysMenu1.setChildren(collect2); } sysMenu.setChildren(collect1); } menu.setChildren(collect); } return s1; ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPedigreeChartServiceImpl.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.TPedigreeChartMapper; import com.ruoyi.system.model.TPedigreeChart; import com.ruoyi.system.model.TProjectTeamStaff; @@ -14,6 +16,7 @@ import com.ruoyi.system.vo.TPedigreeChartDetailVO; import com.ruoyi.system.vo.TPedigreeChartVO; import com.ruoyi.system.vo.TProjectTeamVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -31,6 +34,8 @@ @Service public class TPedigreeChartServiceImpl extends ServiceImpl<TPedigreeChartMapper, TPedigreeChart> implements TPedigreeChartService { @Autowired private SysUserMapper sysUserMapper; @Override public PageInfo<TPedigreeChartVO> pageList(TPedigreeChartQuery query) { PageInfo<TPedigreeChartVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -51,6 +56,19 @@ public PageInfo<TPedigreeChartDetailVO> pageListDetail(TPedigreeChartDetailQuery query) { PageInfo<TPedigreeChartDetailVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TPedigreeChartDetailVO> list = this.baseMapper.pageListDetail(query,pageInfo); List<SysUser> sysUsers = sysUserMapper.selectAllList(); for (TPedigreeChartDetailVO tPedigreeChartDetailVO : list) { SysUser sysUser = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(tPedigreeChartDetailVO.getVaccinateId()))) .findFirst().orElse(null); if (sysUser!=null){ tPedigreeChartDetailVO.setExperimenter(sysUser.getNickName()); } SysUser sysUser1 = sysUsers.stream().filter(e -> e.getUserId().equals(Long.valueOf(tPedigreeChartDetailVO.getVaccinateId()))) .findFirst().orElse(null); if (sysUser1!=null){ tPedigreeChartDetailVO.setVaccinateName(sysUser.getNickName()); } } pageInfo.setRecords(list); return pageInfo; } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectTeamServiceImpl.java
@@ -41,7 +41,8 @@ List<String> teamIds = list.stream().map(TProjectTeamVO::getId).collect(Collectors.toList()); List<SysUser> sysUsers = sysUserMapper.selectList(); if(!CollectionUtils.isEmpty(teamIds)){ List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffMapper.selectList(Wrappers.lambdaQuery(TProjectTeamStaff.class).in(TProjectTeamStaff::getTeamId, teamIds)); List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffMapper.selectList(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getRoleType,3).in(TProjectTeamStaff::getTeamId, teamIds)); list.forEach(item->{ List<TProjectTeamStaff> projectTeamStaffList = projectTeamStaffs.stream().filter(staff -> staff.getTeamId().equals(item.getId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(projectTeamStaffList)){ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TStrainReportServiceImpl.java
@@ -58,30 +58,33 @@ public PageInfo<TStrainReportProjectVO> pageListProject(TStrainReportProjectQuery query) { PageInfo<TStrainReportProjectVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TStrainReportProjectVO> list = this.baseMapper.pageListProject(query,pageInfo); List<TStrainReport> tStrainReports = this.baseMapper.selectList(new LambdaQueryWrapper<TStrainReport>().eq(TStrainReport::getStatus,3)); LambdaQueryWrapper<TStrainReport> queryWrapper = new LambdaQueryWrapper<TStrainReport>().eq(TStrainReport::getStatus, 3); List<TStrainReport> tStrainReports = this.baseMapper.selectList( queryWrapper); List<TStrainReportDetail> tStrainReportDetails = strainReportDetailMapper.selectList(new LambdaQueryWrapper<TStrainReportDetail>()); for (TStrainReportProjectVO tStrainReportProjectVO : list) { List<TStrainReport> collect = tStrainReports.stream().filter(e -> e.getProjectId().equals(tStrainReportProjectVO.getProjectId())).collect(Collectors.toList()); List<TStrainReport> strainReports = tStrainReports.stream().filter(e -> e.getProjectId().equals(tStrainReportProjectVO.getProjectId())).collect(Collectors.toList()); BigDecimal sum = new BigDecimal("0"); BigDecimal sum1 = new BigDecimal("0"); BigDecimal sum2 = new BigDecimal("0"); Integer temp = 0; for (TStrainReport tStrainReport : collect) { List<TStrainReportDetail> collect1 = tStrainReportDetails.stream() for (TStrainReport tStrainReport : strainReports) { List<TStrainReportDetail> tStrainReportDetails1 = tStrainReportDetails.stream() .filter(e -> e.getReportId().equals(tStrainReport.getId())&& e.getEvaluateHumanType()==1).collect(Collectors.toList()); List<TStrainReportDetail> collect2 = tStrainReportDetails.stream() List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream() .filter(e -> e.getReportId().equals(tStrainReport.getId())&& e.getEvaluateHumanType()==2).collect(Collectors.toList()); // 菌种工程积分 sum1 = collect2.stream() .filter(e -> e.getEvaluateHumanType().equals(1)) sum1 = tStrainReportDetails2.stream() .filter(e -> e.getEvaluateHumanType().equals(2)) .map(TStrainReportDetail::getEvaluateTotal) .reduce(BigDecimal::add) .orElse(BigDecimal.ZERO); // 菌种实验员积分 sum2 = collect1.stream() .filter(e -> e.getEvaluateHumanType().equals(2)) sum2 = tStrainReportDetails1.stream() .filter(e -> e.getEvaluateHumanType().equals(1)) .map(TStrainReportDetail::getEvaluateTotal) .reduce(BigDecimal::add) .orElse(BigDecimal.ZERO); ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -265,9 +265,8 @@ <select id="choiceUserList" resultType="com.ruoyi.system.vo.ChoiceUserVO"> select * from sys_user where status = 0 and del_flag = 0 and roleType = #{query.roleType} <if test="query.userIds != null and query.userIds()>0"> where status = '0' and del_flag = '0' <if test="query.userIds != null and query.userIds.size()>0"> AND user_id IN <foreach collection="query.userIds" close=")" open="(" item="id" separator=","> #{id} @@ -278,7 +277,7 @@ select * from sys_user where 1=1 <if test="userName != null and userName != ''"> OR nick_name LIKE concat('%', #{userName}, '%') and nick_name LIKE concat('%', #{userName}, '%') </if> </select> @@ -375,7 +374,7 @@ </update> <delete id="deleteUserById" parameterType="Long"> update sys_user set del_flag = '2' where user_id = #{userId} delete sys_user where user_id = #{userId} </delete> <delete id="deleteUserByIds" parameterType="Long"> ruoyi-system/src/main/resources/mapper/system/TBreedingAndPreservationMapper.xml
@@ -46,6 +46,12 @@ <if test="query.isDraft != null and query.isDraft == 0"> and (status = 1 or status =2) </if> <if test="query.projectIds != null and query.projectIds.size() > 0"> and project_id in <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index=""> #{item} </foreach> </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC ruoyi-system/src/main/resources/mapper/system/TPedigreeChartMapper.xml
@@ -35,6 +35,12 @@ <if test="query.generationType != null"> and generation_type = #{query.generationType} </if> <if test="query.projectIds != null and query.projectIds.size() > 0"> and project_id in <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index=""> #{item} </foreach> </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC ruoyi-system/src/main/resources/mapper/system/TProjectTeamMapper.xml
@@ -20,7 +20,6 @@ id, team_name, person_charge, status, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TProjectTeamVO"> SELECT <include refid="Base_Column_List" /> FROM t_project_team @@ -32,8 +31,7 @@ AND person_charge LIKE CONCAT('%', #{query.personCharge}, '%') </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND create_time >= #{query.startTime} AND create_time <= #{query.endTime} AND create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ruoyi-system/src/main/resources/mapper/system/TStrainReportMapper.xml
@@ -37,7 +37,10 @@ id, project_id, report_code, report_name, report_content, create_time, update_time, create_by, update_by, disabled, enclosure_name, enclosure_size, enclosure_url, status, experiment_id, evaluate, evaluate_total, audit_remark, audit_time, audit_id, evaluate_time, evaluate_id, is_draft, report_type, evaluate_human_type, evaluate_type </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 select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName, t5.create_time as evaluateTime from t_strain_report t1 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 @@ -66,7 +69,7 @@ </if> <if test="query.evaluateId != null and query.evaluateId.size()>0"> AND t1.evaluate_id IN AND t5.evaluate_id IN <foreach collection="query.evaluateId" close=")" open="(" item="id" separator=","> #{id} </foreach> @@ -84,8 +87,15 @@ and t1.team_name like concat('%',#{query.teamName},'%') </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} and t1.create_time between #{query.startTime} and #{query.endTime} </if> <if test="query.projectIds != null and query.projectIds.size() > 0"> and t1.id in <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index=""> #{item} </foreach> </if> AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where>