ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java
@@ -129,7 +129,7 @@ } } Map<String,Integer> map = feasibilityStudyReportService.evaluateCount(query); return R.ok(); return R.ok(map); } /** ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java
@@ -1,9 +1,41 @@ package com.ruoyi.web.controller.api; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.FeasibilityReportFileEnum; import com.ruoyi.common.enums.ProjectApprovalReportStatusEnum; import com.ruoyi.common.enums.StudyReportTypeEnum; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TProjectApprovalReportDTO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.model.TFeasibilityReportFile; import com.ruoyi.system.model.TProjectApprovalReport; import com.ruoyi.system.model.TProjectTeam; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.query.TProjectApprovalReportQuery; import com.ruoyi.system.service.TFeasibilityReportFileService; import com.ruoyi.system.service.TProjectApprovalReportService; import com.ruoyi.system.service.TProjectTeamService; import com.ruoyi.system.service.TProjectTeamStaffService; import com.ruoyi.system.vo.TProjectApprovalReportVO; import io.jsonwebtoken.lang.Collections; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * <p> @@ -15,8 +47,202 @@ */ @Api(tags = "立项报告管理") @RestController @RequestMapping("/t-project-approval-report") @RequestMapping("") public class TProjectApprovalReportController { private final TProjectApprovalReportService projectApprovalReportService; private final TFeasibilityReportFileService feasibilityReportFileService; private final TokenService tokenService; private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final SysUserMapper sysUserMapper; @Autowired public TProjectApprovalReportController(TProjectApprovalReportService projectApprovalReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper) { this.projectApprovalReportService = projectApprovalReportService; this.feasibilityReportFileService = feasibilityReportFileService; this.tokenService = tokenService; this.projectTeamService = projectTeamService; this.projectTeamStaffService = projectTeamStaffService; this.sysUserMapper = sysUserMapper; } /** * 获取立项报告列表 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:list')") @ApiOperation(value = "获取立项报告分页列表",response = TProjectApprovalReportQuery.class) @PostMapping(value = "/api/t-project-approval-report/pageList") public R<PageInfo<TProjectApprovalReportVO>> pageList(@RequestBody String param) { TProjectApprovalReportQuery query = JSON.parseObject(param, TProjectApprovalReportQuery.class); Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); if(roleType != 1){ // 查询用户所在项目组 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId)); if(projectTeamStaffs.size() > 0){ // 查询项目组id List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); query.setTeamIds(teamIds); } } return R.ok(projectApprovalReportService.pageList(query)); } /** * 添加立项报告管理 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:add')") @Log(title = "立项报告信息-新增立项报告", businessType = BusinessType.INSERT) @ApiOperation(value = "添加立项报告",response = TProjectApprovalReportDTO.class) @PostMapping(value = "/api/t-project-approval-report/add") public R<Boolean> add(@RequestBody String param) { TProjectApprovalReportDTO dto = JSON.parseObject(param,TProjectApprovalReportDTO.class); // 通过当前用户查询项目组 Long userId = tokenService.getLoginUser().getUserId(); TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId) .last("LIMIT 1")); if(Objects.isNull(projectTeamStaff)){ return R.fail("当前用户未分配项目组,无法创建项目课题方案"); } // 查询项目组 TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); if(Objects.isNull(projectTeam)){ return R.fail("项目组不存在"); } if(projectTeam.getStatus() == 2){ return R.fail("项目组已封存,无法创建项目课题方案"); } // 生成可研、可行、工艺开发工具、验证发布报告编号 String reportCode = projectTeam.getTeamName() + "-" + StudyReportTypeEnum.VERIFICATION_RELEASE.getCode(); // 查询上个项目课题方案的序号 long count = projectApprovalReportService.count(Wrappers.lambdaQuery(TProjectApprovalReport.class) .like(TProjectApprovalReport::getReportCode, reportCode)); reportCode = reportCode + "-" + String.format("%03d", count+1); dto.setReportCode(reportCode); projectApprovalReportService.save(dto); // 添加检测报告文件 List<TFeasibilityReportFile> feasibilityReportFiles = dto.getFeasibilityReportFiles(); if(!Collections.isEmpty(feasibilityReportFiles)){ for (TFeasibilityReportFile feasibilityReportFile : feasibilityReportFiles) { feasibilityReportFile.setReportId(dto.getId()); feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROJECT_PROPOSAL.getCode()); } } feasibilityReportFileService.saveBatch(feasibilityReportFiles); return R.ok(); } /** * 修改立项报告 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:edit')") @Log(title = "立项报告信息-修改立项报告", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改立项报告") @PostMapping(value = "/api/t-project-approval-report/update") public R<Boolean> update(@RequestBody String param) { TProjectApprovalReportDTO dto = JSON.parseObject(param,TProjectApprovalReportDTO.class); projectApprovalReportService.updateById(dto); feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class) .eq(TFeasibilityReportFile::getReportId, dto.getId())); // 添加检测报告文件 List<TFeasibilityReportFile> feasibilityReportFiles = dto.getFeasibilityReportFiles(); if(!Collections.isEmpty(feasibilityReportFiles)){ for (TFeasibilityReportFile feasibilityReportFile : feasibilityReportFiles) { feasibilityReportFile.setReportId(dto.getId()); feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROJECT_PROPOSAL.getCode()); } } feasibilityReportFileService.saveBatch(feasibilityReportFiles); return R.ok(); } /** * 查看立项报告详情 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:detail')") @ApiOperation(value = "查看立项报告详情") @GetMapping(value = "/open/t-project-approval-report/getDetailById") public R<TProjectApprovalReportVO> getDetailById(@RequestParam String id) { TProjectApprovalReport projectApprovalReport = projectApprovalReportService.getById(id); TProjectApprovalReportVO projectApprovalReportVO = new TProjectApprovalReportVO(); BeanUtils.copyProperties(projectApprovalReport, projectApprovalReportVO); // 查询检测报告文件 List<TFeasibilityReportFile> feasibilityReportFiles = feasibilityReportFileService.list(Wrappers.lambdaQuery(TFeasibilityReportFile.class) .eq(TFeasibilityReportFile::getReportId, id)); projectApprovalReportVO.setFeasibilityReportFiles(feasibilityReportFiles); // 查询项目组 TProjectTeam projectTeam = projectTeamService.getById(projectApprovalReport.getTeamId()); // 查询项目组成员 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())); List<Long> userIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); projectApprovalReportVO.setStaffNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(","))); projectApprovalReportVO.setProjectTeam(projectTeam); return R.ok(projectApprovalReportVO); } /** * 删除立项报告 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:delete')") @Log(title = "立项报告信息-删除立项报告", businessType = BusinessType.DELETE) @ApiOperation(value = "删除立项报告") @DeleteMapping(value = "/open/t-project-approval-report/deleteById") public R<Boolean> deleteById(@RequestParam String id) { // 删除可研、可行、工艺开发工具、验证发布报告文件 feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class).eq(TFeasibilityReportFile::getReportId, id)); return R.ok(projectApprovalReportService.removeById(id)); } /** * 批量删除立项报告 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:delete')") @Log(title = "立项报告信息-删除立项报告", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除立项报告") @DeleteMapping(value = "/open/t-project-approval-report/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { // 删除可研、可行、工艺开发工具、验证发布报告文件 feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class).in(TFeasibilityReportFile::getReportId, ids)); return R.ok(projectApprovalReportService.removeByIds(ids)); } /** * 撤销立项报告 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:revokedReport')") @Log(title = "立项报告信息-撤销立项报告状态", businessType = BusinessType.UPDATE) @ApiOperation(value = "撤销立项报告状态") @PutMapping(value = "/open/t-project-approval-report/revokedReport") public R<Boolean> revokedReport(@RequestParam String id) { TProjectApprovalReport projectApprovalReport = projectApprovalReportService.getById(id); projectApprovalReport.setStatus(ProjectApprovalReportStatusEnum.REVOKED.getCode()); projectApprovalReportService.updateById(projectApprovalReport); return R.ok(); } /** * 审核立项报告 */ //@PreAuthorize("@ss.hasPermi('system:projectApprovalReport:auditReport')") @Log(title = "立项报告信息-审核立项报告状态", businessType = BusinessType.UPDATE) @ApiOperation(value = "审核立项报告状态") @PostMapping(value = "/api/t-project-approval-report/auditReport") public R<Boolean> auditReport(@RequestBody String param) { Long userId = tokenService.getLoginUser().getUserId(); AuditStatusDTO dto = JSON.parseObject(param,AuditStatusDTO.class); TProjectApprovalReport projectApprovalReport = projectApprovalReportService.getById(dto.getId()); projectApprovalReport.setStatus(dto.getAuditStatus()); projectApprovalReport.setAuditRemark(dto.getAuditRemark()); projectApprovalReport.setAuditPersonId(userId); projectApprovalReport.setAuditTime(LocalDateTime.now()); projectApprovalReportService.updateById(projectApprovalReport); return R.ok(); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java
@@ -6,13 +6,11 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.QAProduceReportStatusEnum; import com.ruoyi.common.enums.QaReportFileEnum; import com.ruoyi.common.enums.QaReportTypeEnum; import com.ruoyi.common.enums.*; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TQaProduceReportDTO; import com.ruoyi.system.dto.TQaProduceReportEvaluateDTO; import com.ruoyi.system.model.TProjectTeam; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.model.TQaProduceReport; @@ -82,6 +80,29 @@ } } return R.ok(qaProduceReportService.pageList(query)); } /** * 获取中试、生产验证分析报告;辅料;产品报告管理评定列表 */ //@PreAuthorize("@ss.hasPermi('system:qaProduceReport:evaluateList')") @ApiOperation(value = "获取中试、生产验证分析报告;辅料;产品报告管理评定列表", response = TQaProduceReportQuery.class) @PostMapping(value = "/api/t-qa-produce-report/evaluateList") public R<PageInfo<TQaProduceReportVO>> evaluateList(@RequestBody String param) { TQaProduceReportQuery query = JSON.parseObject(param, TQaProduceReportQuery.class); Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); if(roleType != 1){ // 查询用户所在项目组 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId)); if(projectTeamStaffs.size() > 0){ // 查询项目组id List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); query.setTeamIds(teamIds); } } return R.ok(qaProduceReportService.evaluateList(query)); } /** @@ -265,6 +286,25 @@ qaProduceReportService.updateById(qaProduceReport); return R.ok(); } /** * 评定QA检测项管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')") @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-评定中试、生产验证分析报告;辅料;产品报告管理信息", businessType = BusinessType.UPDATE) @ApiOperation(value = "评定QA检测项管理",response = TQaProduceReportEvaluateDTO.class) @PostMapping(value = "/api/t-qa-produce-report/evaluate") public R<Boolean> evaluate(@RequestBody String param) { TQaProduceReportEvaluateDTO dto = JSON.parseObject(param,TQaProduceReportEvaluateDTO.class); Long userId = tokenService.getLoginUser().getUserId(); TQaProduceReport qaProduceReport = qaProduceReportService.getById(dto); qaProduceReport.setStatus(QAProduceReportStatusEnum.EVALUATED.getCode()); qaProduceReport.setEvaluatePersonId(userId); qaProduceReport.setEvaluateTime(LocalDateTime.now()); qaProduceReport.setEvaluateScore(dto.getEvaluateScore()); qaProduceReportService.updateById(qaProduceReport); return R.ok(); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java
@@ -10,6 +10,7 @@ import com.ruoyi.common.enums.QATestItemStatusEnum; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TQaTestItemDTO; import com.ruoyi.system.dto.TQaTestItemEvaluateDTO; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.model.TQaTestItem; import com.ruoyi.system.model.TQaTestItemReport; @@ -26,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -77,6 +79,29 @@ } } return R.ok(qaTestItemService.pageList(query)); } /** * 获取QA检测项管理评定列表 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluateList')") @ApiOperation(value = "获取QA检测项管理评定列表", response = TQaTestItemQuery.class) @PostMapping(value = "/api/t-qa-test-item/evaluateList") public R<PageInfo<TQaTestItemVO>> evaluateList(@RequestBody String param) { TQaTestItemQuery query = JSON.parseObject(param, TQaTestItemQuery.class); Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); if(roleType != 1){ // 查询用户所在项目组 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId)); if(projectTeamStaffs.size() > 0){ // 查询项目组id List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); query.setTeamIds(teamIds); } } return R.ok(qaTestItemService.evaluateList(query)); } /** @@ -161,5 +186,24 @@ return R.ok(); } /** * 评定QA检测项管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')") @Log(title = "QA检测项管理信息-评定QA检测项管理", businessType = BusinessType.UPDATE) @ApiOperation(value = "评定QA检测项管理",response = TQaTestItemEvaluateDTO.class) @PostMapping(value = "/api/t-qa-test-item/evaluate") public R<Boolean> evaluate(@RequestBody String param) { TQaTestItemEvaluateDTO dto = JSON.parseObject(param,TQaTestItemEvaluateDTO.class); Long userId = tokenService.getLoginUser().getUserId(); TQaTestItem testItem = qaTestItemService.getById(dto); testItem.setStatus(QATestItemStatusEnum.EVALUATED.getCode()); testItem.setEvaluatePersonId(userId); testItem.setEvaluateTime(LocalDateTime.now()); testItem.setEvaluateScore(dto.getEvaluateScore()); qaTestItemService.updateById(testItem); return R.ok(); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java
@@ -13,8 +13,10 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TQaTestItemReportDTO; import com.ruoyi.system.mapper.TQaReportFileMapper; import com.ruoyi.system.model.*; import com.ruoyi.system.model.TProjectTeam; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.model.TQaReportFile; import com.ruoyi.system.model.TQaTestItemReport; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.service.TProjectTeamService; import com.ruoyi.system.service.TProjectTeamStaffService; @@ -25,13 +27,11 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * <p> @@ -74,7 +74,7 @@ /** * 获取QA检测项报告管理列表 */ @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用") @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用、评定使用") @GetMapping(value = "/open/t-qa-test-item-report/getListByItemId") public R<List<TQaTestItemReport>> getListByItemId(@RequestParam String itemId) { List<TQaTestItemReport> list = qaTestItemReportService.list(Wrappers.lambdaQuery(TQaTestItemReport.class) ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -3,12 +3,15 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; 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.framework.web.service.TokenService; import com.ruoyi.system.dto.TQaTestItemDTO; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.query.TResultWorkEvaluateQuery; @@ -30,12 +33,13 @@ /** * <p> * 实验员工作评定 前端控制器 * 实验结果工作评定 前端控制器 * </p> * * @author xiaochen * @since 2025-04-08 */ @Api(tags = "实验结果工作评定管理") @RestController @RequestMapping("/t-result-work-evaluate") public class TResultWorkEvaluateController { @@ -53,9 +57,15 @@ private TExperimentDispatchService experimentDispatchService; @Resource private TClinicalTrialPointsService clinicalTrialPointsService; @Resource private TTesterOtherTaskService tTesterOtherTaskService; @Resource private TProjectProposalService projectProposalService; @Resource private TQaProduceReportService qaProduceReportService; @Resource private TQaTestItemService qaTestItemService; private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final ISysUserService sysUserService; @@ -66,22 +76,38 @@ this.projectTeamStaffService = projectTeamStaffService; this.sysUserService = sysUserService; } @ApiOperation(value = "项目组总积分分页列表",tags = "项目组总积分",response = TQaTestItemReportQuery.class) /** * 添加QA检测项管理管理 */ //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')") @Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT) @ApiOperation(value = "添加QA检测项管理", response = TQaTestItemDTO.class) @PostMapping(value = "/api/t-qa-test-item/add") public R<Boolean> add(@RequestBody String param) { TQaTestItemDTO dto = JSON.parseObject(param, TQaTestItemDTO.class); // resultWorkEvaluateService.save(dto); return R.ok(); } @ApiOperation(value = "项目组总积分分页列表", tags = "项目组总积分", response = TQaTestItemReportQuery.class) @PostMapping(value = "/api/t-result-work-evaluate/pageList") public R<PageInfo<TResultWorkEvaluateVO>> pageList(@RequestBody String param) { LoginUser loginUser = tokenService.getLoginUser(); TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class); SysUser sysUser = sysUserService.selectUserById(loginUser.getUser().getUserId()); if (sysUser.getRoleType()!=1){ if (sysUser.getRoleType() != 1) { List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, loginUser.getUser().getUserId()).list() .stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList()); if (collect.isEmpty()){ if (collect.isEmpty()) { return R.ok(new PageInfo<>()); } } return R.ok(tResultWorkEvaluateService.pageList(query)); } /** * 查看取样记录详情 */ @@ -105,173 +131,173 @@ List<SysUser> user5 = new ArrayList<>(); for (Long l : role4) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser!=null){ if (sysUser != null) { user4.add(sysUser); } } for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser!=null){ if (sysUser != null) { user5.add(sysUser); } } List<TResultWorkEvaluate> list = tResultWorkEvaluateService.lambdaQuery().eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()) .eq(TResultWorkEvaluate::getStatus,1).orderByDesc(TResultWorkEvaluate::getEvaluateTime).list(); int temp1=0; int temp2=0; int temp3=0; int temp4=0; int temp5=0; .eq(TResultWorkEvaluate::getStatus, 1).orderByDesc(TResultWorkEvaluate::getEvaluateTime).list(); int temp1 = 0; int temp2 = 0; int temp3 = 0; int temp4 = 0; int temp5 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=2; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=2; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } temp1+=2; temp1 += 2; break; case 2: temp1+=1; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=1; temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=1; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=1; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: temp1+=2; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=2; temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=2; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=2; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1+=1; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=1; temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=1; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=1; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: temp1+=2; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=2; temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=2; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=2; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1+=1; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=1; temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=1; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=1; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: temp1+=2; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=2; temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=2; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=2; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1+=1; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=1; temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=1; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=1; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: temp1+=2; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=2; temp1 += 2; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 2; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=2; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 2; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=2; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 2; } break; case 2: temp1+=1; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2+=1; temp1 += 1; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 += 1; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3+=1; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 += 1; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4+=1; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 += 1; } break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: temp1-=3; temp1 -= 3; temp5++; if (tResultWorkEvaluate.getEvaluateType()==1){ temp2-=3; if (tResultWorkEvaluate.getEvaluateType() == 1) { temp2 -= 3; } if (tResultWorkEvaluate.getEvaluateType()==2){ temp3-=3; if (tResultWorkEvaluate.getEvaluateType() == 2) { temp3 -= 3; } if (tResultWorkEvaluate.getEvaluateType()==3){ temp4-=3; if (tResultWorkEvaluate.getEvaluateType() == 3) { temp4 -= 3; } break; } @@ -281,7 +307,7 @@ tResultWorkEvaluateDetailVO.setChemistIntegral(temp3); tResultWorkEvaluateDetailVO.setTesterIntegral(temp4); tResultWorkEvaluateDetailVO.setTermination(temp5); if (!list.isEmpty()){ if (!list.isEmpty()) { tResultWorkEvaluateDetailVO.setEndTime(list.get(0).getEvaluateTime()); } @@ -299,47 +325,27 @@ TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1") .one(); tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); List<Long> role4 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List<Long> role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List<SysUser> user4 = new ArrayList<>(); List<SysUser> user5 = new ArrayList<>(); for (Long l : role4) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user4.add(sysUser); } } for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user5.add(sysUser); } } Long userId = one.getUserId(); List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery() .eq(TFeasibilityStudyReport::getStatus,3) .eq(TFeasibilityStudyReport::getStatus, 3) .eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list(); List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); // 工艺可研 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO(); List<TFeasibilityStudyReport> collect = total.stream().filter(e -> e.getReportType().equals(1)).collect(Collectors.toList()); int tempDetail= 0 ; int tempDetail = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){ if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail+=Integer.parseInt(s); tempDetail += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO.setCount(collect.size()); tResultWorkEvaluateDetailEngineerVO.setIntegral(tempDetail); if (!collect.isEmpty()){ tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size()-1).getEvaluateTime()); if (!collect.isEmpty()) { tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime()); @@ -347,20 +353,21 @@ // 工艺可行 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO1 = new TResultWorkEvaluateDetailEngineerVO(); List<TFeasibilityStudyReport> collect1 = total.stream().filter(e -> e.getReportType().equals(2)).collect(Collectors.toList()); int tempDetail1= 0 ; int tempDetail1 = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect1) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){ if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail1+=Integer.parseInt(s); tempDetail1 += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO1.setCount(collect1.size()); tResultWorkEvaluateDetailEngineerVO1.setIntegral(tempDetail1); if (!collect1.isEmpty()){ tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size()-1).getEvaluateTime()); if (!collect1.isEmpty()) { tResultWorkEvaluateDetailEngineerVO1.setStartTime(collect1.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO1.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO1); @@ -375,86 +382,82 @@ List<TProjectProposal> list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId) .notIn(TProjectProposal::getAuditStatus, status).list(); List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()){ if (collect5.isEmpty()) { collect5.add("0"); } List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect6.isEmpty()){ if (collect6.isEmpty()) { collect6.add("0"); } List<Integer> status1 = new ArrayList<>(); status1.add(-1); status1.add(1); status1.add(2); status1.add(4); List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect6).list(); int tempDetail2 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list1) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail2-=3; tempDetail2 -= 3; break; } } if (!list1.isEmpty()){ tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size()-1).getEvaluateTime()); if (!list1.isEmpty()) { tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size()); tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2); @@ -464,85 +467,81 @@ TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect7.isEmpty()){ if (collect7.isEmpty()) { collect7.add("0"); } List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect8.isEmpty()){ if (collect8.isEmpty()) { collect8.add("0"); } List<Integer> status2 = new ArrayList<>(); status2.add(-1); status2.add(1); status2.add(2); status2.add(4); List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list(); int tempDetail3 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list3) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail3-=3; tempDetail3 -= 3; break; } } if (!list3.isEmpty()){ if (!list3.isEmpty()) { tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size()); tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3); @@ -551,80 +550,80 @@ TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect10.isEmpty()){ if (collect10.isEmpty()) { collect10.add("0"); } List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect11.isEmpty()){ if (collect11.isEmpty()) { collect11.add("0"); } List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list(); int tempDetail4 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list4) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail4-=3; tempDetail4 -= 3; break; } } if (!list4.isEmpty()){ if (!list4.isEmpty()) { tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size()); tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4); @@ -632,60 +631,63 @@ // 工艺开发工具 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); List<TFeasibilityStudyReport> collect12 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList()); int tempDetail15= 0 ; int tempDetail15 = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect12) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){ if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail15+=Integer.parseInt(s); tempDetail15 += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO5.setCount(collect12.size()); tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail15); if (!collect12.isEmpty()){ if (!collect12.isEmpty()) { tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect12.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect12.get(collect12.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect12.get(collect12.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5); // 验证与发布 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO(); List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList()); int tempDetail16= 0 ; int tempDetail16 = 0; for (TFeasibilityStudyReport tFeasibilityStudyReport : collect13) { if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())){ if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) { for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) { tempDetail16+=Integer.parseInt(s); tempDetail16 += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO6.setCount(collect13.size()); tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail16); if (!collect13.isEmpty()){ if (!collect13.isEmpty()) { tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect13.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect13.get(collect13.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect13.get(collect13.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6); // 立项报告 List<TProjectApprovalReport> list5 = projectApprovalReportService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).eq(TProjectApprovalReport::getTeamId, projectTeam.getId()).eq(TProjectApprovalReport::getStatus, 2).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO(); tResultWorkEvaluateDetailEngineerVO7.setCount(list5.size()); if (!list5.isEmpty()){ tResultWorkEvaluateDetailEngineerVO7.setEndTime(list5.get(list5.size()-1).getAuditTime()); if (!list5.isEmpty()) { tResultWorkEvaluateDetailEngineerVO7.setStartTime(list5.get(0).getAuditTime()); tResultWorkEvaluateDetailEngineerVO7.setEndTime(list5.get(list5.size() - 1).getAuditTime()); } tResultWorkEvaluateDetailEngineerVO7.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7); // todo 临床试验积分 List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery().eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list(); // 临床试验积分 List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery() .eq(TClinicalTrialPoints::getProcessEngineerId, userId) .eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO8 = new TResultWorkEvaluateDetailEngineerVO(); tResultWorkEvaluateDetailEngineerVO8.setCount(list6.size()); if (!list6.isEmpty()){ tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size()-1).getCreateTime()); if (!list6.isEmpty()) { tResultWorkEvaluateDetailEngineerVO8.setStartTime(list6.get(0).getCreateTime()); tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size() - 1).getCreateTime()); } tResultWorkEvaluateDetailEngineerVO8.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8); tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS); return R.ok(tResultWorkEvaluateDetailVO); } @ApiOperation(value = "查看详情-左侧数据-化验师工作内容评定") @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftTwo") public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftTwo(@RequestParam String id) { @@ -699,10 +701,10 @@ .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List<SysUser> user5 = new ArrayList<>(); SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); if (sysUser1.getRoleType()==4||sysUser1.getRoleType()==5){ if (sysUser1.getRoleType() == 4 || sysUser1.getRoleType() == 5) { //只能查看自己的 user5.add(sysUser1); }else{ } else { for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { @@ -713,7 +715,7 @@ List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery() .eq(TFeasibilityStudyReport::getStatus,3) .eq(TFeasibilityStudyReport::getStatus, 3) .eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list(); List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); for (SysUser sysUser : user5) { @@ -721,13 +723,13 @@ tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); // 开发阶段 List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getEvaluateType,2) .eq(TResultWorkEvaluate::getStatus,1) .eq(TResultWorkEvaluate::getUserId,sysUser.getUserId()) .eq(TResultWorkEvaluate::getEvaluateType, 2) .eq(TResultWorkEvaluate::getStatus, 1) .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId()) .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); // 调度ids List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); if (collect.isEmpty()){ if (collect.isEmpty()) { collect.add("0"); } TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); @@ -741,84 +743,472 @@ List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList()); if (collect6.isEmpty()){ if (collect6.isEmpty()) { collect6.add("0"); } List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .notIn(TProjectProposal::getAuditStatus, status).list(); List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()){ if (collect5.isEmpty()) { collect5.add("0"); } // 开发阶段调度ids List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect1.isEmpty()){ if (collect1.isEmpty()) { collect1.add("0"); } List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList()); int tempDetail2 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : collect2) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail2+=2; tempDetail2 += 2; break; case 2: tempDetail2+=1; tempDetail2 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail2-=3; tempDetail2 -= 3; break; } } if (!list1.isEmpty()){ tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size()-1).getEvaluateTime()); if (!list1.isEmpty()) { tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size()); tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2); // 中试试验阶段 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .eq(TProjectProposal::getProjectStage, 2) .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); if (collect7.isEmpty()) { collect7.add("0"); } List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect8.isEmpty()) { collect8.add("0"); } List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list(); int tempDetail3 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list3) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne) { case 1: tempDetail3 += 2; break; case 2: tempDetail3 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo) { case 1: tempDetail3 += 2; break; case 2: tempDetail3 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree) { case 1: tempDetail3 += 2; break; case 2: tempDetail3 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour) { case 1: tempDetail3 += 2; break; case 2: tempDetail3 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive) { case 1: tempDetail3 += 2; break; case 2: tempDetail3 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix) { case 1: tempDetail3 -= 3; break; } } if (!list3.isEmpty()) { tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size()); tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3); // 验证试验阶段 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .eq(TProjectProposal::getProjectStage, 2) .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); if (collect10.isEmpty()) { collect10.add("0"); } List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect11.isEmpty()) { collect11.add("0"); } List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list(); int tempDetail4 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list4) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne) { case 1: tempDetail4 += 2; break; case 2: tempDetail4 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo) { case 1: tempDetail4 += 2; break; case 2: tempDetail4 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree) { case 1: tempDetail4 += 2; break; case 2: tempDetail4 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour) { case 1: tempDetail4 += 2; break; case 2: tempDetail4 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive) { case 1: tempDetail4 += 2; break; case 2: tempDetail4 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix) { case 1: tempDetail4 -= 3; break; } } if (!list4.isEmpty()) { tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size()); tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); // 项目检测项评定 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO(); List<TQaTestItem> list5 = qaTestItemService.lambdaQuery() .eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list(); if (!list5.isEmpty()){ tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime()); } int tempDetail9 = 0; for (TQaTestItem tQaTestItem : list5) { if (StringUtils.hasLength(tQaTestItem.getEvaluateScore())){ for (String s : tQaTestItem.getEvaluateScore().split(",")){ tempDetail9 += Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO9.setCount(list5.size()); tResultWorkEvaluateDetailEngineerVO9.setIntegral(tempDetail9); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9); // 中试、生产验证试验检验分析报告评定 List<TQaProduceReport> list = qaProduceReportService.lambdaQuery() .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); List<TQaProduceReport> collect3 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); if (!collect3.isEmpty()) { tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect3.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect3.get(collect3.size() - 1).getEvaluateTime()); } int tempDetail5 = 0; for (TQaProduceReport tQaProduceReport : collect3) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail5+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO5.setCount(collect3.size()); tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail5); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5); // 辅料 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO(); List<TQaProduceReport> collect4 = list.stream().filter(e -> e.getReportType() == 2).collect(Collectors.toList()); if (!collect4.isEmpty()) { tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect4.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect4.get(collect4.size() - 1).getEvaluateTime()); } int tempDetail6 = 0; for (TQaProduceReport tQaProduceReport : collect4) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail6+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO6.setCount(collect4.size()); tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail6); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6); // 产品 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO(); List<TQaProduceReport> collect9 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList()); if (!collect9.isEmpty()) { tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getEvaluateTime()); } int tempDetail7 = 0; for (TQaProduceReport tQaProduceReport : collect9) { if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){ for (String s : tQaProduceReport.getEvaluateScore().split(",")) { tempDetail7+=Integer.parseInt(s); } } } tResultWorkEvaluateDetailEngineerVO7.setCount(collect9.size()); tResultWorkEvaluateDetailEngineerVO7.setIntegral(tempDetail7); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7); tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS); tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO); } tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS); return R.ok(tResultWorkEvaluateDetailVO); } @ApiOperation(value = "查看详情-左侧数据-实验员工作内容评定") @GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftThree") public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftThree(@RequestParam String id) { TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO(); List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>(); TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id); TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId()); tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime()); List<Long> role5 = projectTeamStaffService.lambdaQuery() .eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list() .stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); List<SysUser> user5 = new ArrayList<>(); SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId()); if (sysUser1.getRoleType() == 4 || sysUser1.getRoleType() == 5) { //只能查看自己的 user5.add(sysUser1); } else { for (Long l : role5) { SysUser sysUser = sysUserService.selectUserById(l); if (sysUser != null) { user5.add(sysUser); } } } List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>(); for (SysUser sysUser : user5) { TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO(); tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName()); // 开发阶段 List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getEvaluateType, 3) .eq(TResultWorkEvaluate::getStatus, 1) .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId()) .eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list(); // 调度ids List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList()); if (collect.isEmpty()) { collect.add("0"); } TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO(); List<Integer> status = new ArrayList<>(); status.add(-1); status.add(1); status.add(3); status.add(4); status.add(5); // 课题方案ids List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList()); if (collect6.isEmpty()) { collect6.add("0"); } List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .notIn(TProjectProposal::getAuditStatus, status).list(); List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList()); if (collect5.isEmpty()) { collect5.add("0"); } // 开发阶段调度ids List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect1.isEmpty()) { collect1.add("0"); } List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList()); int tempDetail2 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : collect2) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne) { case 1: tempDetail2 += 2; break; case 2: tempDetail2 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo) { case 1: tempDetail2 += 2; break; case 2: tempDetail2 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree) { case 1: tempDetail2 += 2; break; case 2: tempDetail2 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour) { case 1: tempDetail2 += 2; break; case 2: tempDetail2 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive) { case 1: tempDetail2 += 2; break; case 2: tempDetail2 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix) { case 1: tempDetail2 -= 3; break; } } if (!list1.isEmpty()) { tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime()); tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size()); @@ -828,83 +1218,83 @@ // 中试试验阶段 TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .eq(TProjectProposal::getProjectStage,2) .eq(TProjectProposal::getProjectStage, 2) .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); if (collect7.isEmpty()){ if (collect7.isEmpty()) { collect7.add("0"); } List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect8.isEmpty()){ if (collect8.isEmpty()) { collect8.add("0"); } List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery() .eq(TResultWorkEvaluate::getStatus,1).in(TResultWorkEvaluate::getDispatchId, collect8).list(); .eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list(); int tempDetail3 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list3) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail3+=2; tempDetail3 += 2; break; case 2: tempDetail3+=1; tempDetail3 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail3-=3; tempDetail3 -= 3; break; } } if (!list3.isEmpty()){ if (!list3.isEmpty()) { tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size()); tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3); @@ -913,93 +1303,105 @@ TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO(); List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6) .eq(TProjectProposal::getProjectStage,2) .eq(TProjectProposal::getProjectStage, 2) .notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList()); if (collect10.isEmpty()){ if (collect10.isEmpty()) { collect10.add("0"); } List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10) .ne(TExperimentDispatch::getStatus, -1) .ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); if (collect11.isEmpty()){ if (collect11.isEmpty()) { collect11.add("0"); } List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list(); int tempDetail4 = 0; for (TResultWorkEvaluate tResultWorkEvaluate : list4) { Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne(); switch (evaluateOne){ switch (evaluateOne) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo(); switch (evaluateTwo){ switch (evaluateTwo) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree(); switch (evaluateThree){ switch (evaluateThree) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour(); switch (evaluateFour){ switch (evaluateFour) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive(); switch (evaluateFive){ switch (evaluateFive) { case 1: tempDetail4+=2; tempDetail4 += 2; break; case 2: tempDetail4+=1; tempDetail4 += 1; break; } Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix(); switch (evaluateSix){ switch (evaluateSix) { case 1: tempDetail4-=3; tempDetail4 -= 3; break; } } if (!list4.isEmpty()){ if (!list4.isEmpty()) { tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size()-1).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime()); } tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size()); tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); // 工艺开发工具 // 其他任务 List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list(); TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO(); tResultWorkEvaluateDetailEngineerVO5.setCount(list.size()); if (!list.isEmpty()) { tResultWorkEvaluateDetailEngineerVO5.setStartTime(list.get(0).getEvaluateTime()); tResultWorkEvaluateDetailEngineerVO5.setEndTime(list.get(list.size() - 1).getEvaluateTime()); } int temp = 0; for (TTesterOtherTask tTesterOtherTask : list) { temp += tTesterOtherTask.getEvaluateScore(); } tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp); tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS); tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO); } tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS); tResultWorkEvaluateDetailVO.setTesterList(tResultWorkEvaluateDetailUserVOS); return R.ok(tResultWorkEvaluateDetailVO); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
@@ -6,11 +6,13 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.QaReportTypeEnum; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.*; import com.ruoyi.system.dto.BatchCollectSamplesDTO; import com.ruoyi.system.dto.BatchSendSamplesDTO; import com.ruoyi.system.dto.TSamplingRecordDTO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TSamplingRecordQuery; @@ -20,7 +22,6 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; @@ -28,6 +29,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * <p> @@ -51,8 +53,9 @@ private final TProjectProposalService projectProposalService; private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService; @Autowired public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService) { public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService) { this.samplingRecordService = samplingRecordService; this.tokenService = tokenService; this.sysUserService = sysUserService; @@ -62,6 +65,7 @@ this.projectProposalService = projectProposalService; this.projectTeamService = projectTeamService; this.projectTeamStaffService = projectTeamStaffService; this.experimentDispatchParticipantsService = experimentDispatchParticipantsService; } /** @@ -130,12 +134,12 @@ public R<Boolean> update(@RequestBody String param) { TSamplingRecordDTO dto = JSON.parseObject(param,TSamplingRecordDTO.class); samplingRecordService.updateById(dto); samplingRecordOperationService.remove(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId,dto.getId())); // samplingRecordOperationService.remove(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId,dto.getId())); List<TSamplingRecordOperation> samplingRecordOperations = dto.getSamplingRecordOperations(); samplingRecordOperations.forEach(samplingRecordOperation -> { samplingRecordOperation.setSamplingId(dto.getId()); }); samplingRecordOperationService.saveBatch(samplingRecordOperations); samplingRecordOperationService.saveOrUpdateBatch(samplingRecordOperations); return R.ok(); } @@ -169,6 +173,8 @@ Long userId = tokenService.getLoginUser().getUserId(); samplingRecord.setCommitPersonId(userId); samplingRecord.setStatus(2); samplingRecord.setCommitSign(samplingRecord.getCommitSign()); samplingRecord.setRemark(samplingRecord.getRemark()); samplingRecord.setCommitTime(LocalDateTime.now()); samplingRecordService.updateById(samplingRecord); return R.ok(); @@ -186,10 +192,42 @@ BeanUtils.copyProperties(samplingRecord, samplingRecordVO); // 查询取样操作记录 samplingRecordVO.setSamplingRecordOperations(samplingRecordOperationService.list(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId, id))); List<TSamplingRecordOperation> samplingRecordOperations = samplingRecordOperationService.list(Wrappers.lambdaQuery(TSamplingRecordOperation.class).eq(TSamplingRecordOperation::getSamplingId, id)); List<Long> userIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getHandlePersonId).collect(Collectors.toList()); List<Long> sendUserIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getSendPersonId).collect(Collectors.toList()); List<Long> receiptsUserIds = samplingRecordOperations.stream().map(TSamplingRecordOperation::getReceiptsPersonId).collect(Collectors.toList()); userIds.addAll(sendUserIds); userIds.addAll(receiptsUserIds); List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); samplingRecordOperations.forEach(samplingRecordOperation -> { if(Objects.nonNull(samplingRecordOperation.getHandlePersonId())){ samplingRecordOperation.setHandlePersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getHandlePersonId())).findFirst().orElse(null)).getNickName()); } if(Objects.nonNull(samplingRecordOperation.getSendPersonId())){ samplingRecordOperation.setSendPersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getSendPersonId())).findFirst().orElse(null)).getNickName()); } if(Objects.nonNull(samplingRecordOperation.getReceiptsPersonId())){ samplingRecordOperation.setReceiptsPersonName(Objects.requireNonNull(sysUsers.stream().filter(user -> user.getUserId().equals(samplingRecordOperation.getReceiptsPersonId())).findFirst().orElse(null)).getNickName()); } }); samplingRecordVO.setSamplingRecordOperations(samplingRecordOperations); // 查询实验调度信息 TExperimentDispatch experimentDispatch = experimentDispatchService.getById(samplingRecordVO.getDispatchId()); if(Objects.nonNull(experimentDispatch)){ List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId())); List<Long> userIdList = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).collect(Collectors.toList()); List<SysUser> sysUserList = sysUserMapper.selectUserByIds(userIdList); tExperimentDispatchParticipants.forEach(tExperimentDispatchParticipant -> { SysUser sysUser = sysUserList.stream().filter(user -> user.getUserId().equals(tExperimentDispatchParticipant.getUserId())).findFirst().orElse(null); if(sysUser != null){ tExperimentDispatchParticipant.setNickName(sysUser.getNickName()); } }); String participantsName = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(";")); experimentDispatch.setParticipantsName(participantsName); // 查询课题方案名称 TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId()); if(Objects.nonNull(projectProposal)){ @@ -231,7 +269,7 @@ */ //@PreAuthorize("@ss.hasPermi('system:samplingRecord:sendSamples')") @Log(title = "取样记录信息-批量送样", businessType = BusinessType.UPDATE) @ApiOperation(value = "批量送样") @ApiOperation(value = "批量送样",response = BatchSendSamplesDTO.class) @PostMapping(value = "/open/t-sampling-record/batchSendSamples") public R<Boolean> batchSendSamples(@RequestBody String param) { BatchSendSamplesDTO batchSendSamplesDTO = JSON.parseObject(param, BatchSendSamplesDTO.class); @@ -251,7 +289,7 @@ */ //@PreAuthorize("@ss.hasPermi('system:samplingRecord:collectSamples')") @Log(title = "取样记录信息-批量收样", businessType = BusinessType.UPDATE) @ApiOperation(value = "批量收样") @ApiOperation(value = "批量收样",response = BatchCollectSamplesDTO.class) @PostMapping(value = "/open/t-sampling-record/batchCollectSamples") public R<Boolean> batchCollectSamples(@RequestBody String param) { BatchCollectSamplesDTO batchCollectSamplesDTO = JSON.parseObject(param, BatchCollectSamplesDTO.class); ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTesterOtherTaskController.java
@@ -6,21 +6,20 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.QaReportFileEnum; import com.ruoyi.common.enums.QaReportTypeEnum; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TQaTestItemReportDTO; import com.ruoyi.system.dto.TTesterOtherTaskDTO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.model.TProjectTeam; import com.ruoyi.system.model.TProjectTeamStaff; import com.ruoyi.system.model.TQaReportFile; import com.ruoyi.system.model.TQaTestItemReport; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.model.TTesterOtherTask; import com.ruoyi.system.query.TTesterOtherTaskQuery; import com.ruoyi.system.service.TProjectTeamService; import com.ruoyi.system.service.TProjectTeamStaffService; import com.ruoyi.system.service.TQaReportFileService; import com.ruoyi.system.service.TQaTestItemReportService; import com.ruoyi.system.vo.TQaTestItemReportVO; import com.ruoyi.system.service.TTesterOtherTaskService; import com.ruoyi.system.vo.TProjectTeamVO; import com.ruoyi.system.vo.TTesterOtherTaskVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; @@ -29,6 +28,7 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * <p> @@ -40,62 +40,62 @@ */ @Api(tags = "实验员其他任务管理") @RestController @RequestMapping("/t-tester-other-task") @RequestMapping("") public class TTesterOtherTaskController { private final TQaTestItemReportService qaTestItemReportService; private final TQaReportFileService qaReportFileService; private final TTesterOtherTaskService testerOtherTaskService; private final TokenService tokenService; private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final SysUserMapper sysUserMapper; @Autowired public TTesterOtherTaskController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService) { this.qaTestItemReportService = qaTestItemReportService; this.qaReportFileService = qaReportFileService; public TTesterOtherTaskController(TTesterOtherTaskService testerOtherTaskService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper) { this.testerOtherTaskService = testerOtherTaskService; this.tokenService = tokenService; this.projectTeamService = projectTeamService; this.projectTeamStaffService = projectTeamStaffService; this.sysUserMapper = sysUserMapper; } /** * 获取QA检测项报告管理列表 * 实验员其他任务管理列表 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:list')") @ApiOperation(value = "获取QA检测项报告管理分页列表-工艺工程师使用", response = TQaTestItemReportQuery.class) @PostMapping(value = "/api/t-qa-test-item-report/pageList") public R<PageInfo<TQaTestItemReportVO>> pageList(@RequestBody String param) { TQaTestItemReportQuery query = JSON.parseObject(param, TQaTestItemReportQuery.class); return R.ok(qaTestItemReportService.pageList(query)); //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:list')") @ApiOperation(value = "实验员其他任务管理分页列表", response = TTesterOtherTaskQuery.class) @PostMapping(value = "/api/t-tester-other-task/pageList") public R<PageInfo<TTesterOtherTaskVO>> pageList(@RequestBody String param) { TTesterOtherTaskQuery query = JSON.parseObject(param, TTesterOtherTaskQuery.class); Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); if(roleType != 1){ // 查询用户所在项目组 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId)); if(projectTeamStaffs.size() > 0){ // 查询项目组id List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); query.setTeamIds(teamIds); } } return R.ok(testerOtherTaskService.pageList(query)); } /** * 获取QA检测项报告管理列表 * 添加实验员其他任务管理管理 */ @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用") @GetMapping(value = "/open/t-qa-test-item-report/getListByItemId") public R<List<TQaTestItemReport>> getListByItemId(@RequestParam String itemId) { List<TQaTestItemReport> list = qaTestItemReportService.list(Wrappers.lambdaQuery(TQaTestItemReport.class) .eq(TQaTestItemReport::getItemId, itemId)); return R.ok(list); } /** * 添加QA检测项报告管理管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:add')") @Log(title = "QA检测项报告管理信息-新增QA检测项报告管理", businessType = BusinessType.INSERT) @ApiOperation(value = "添加QA检测项报告管理",response = TQaTestItemReportDTO.class) @PostMapping(value = "/api/t-qa-test-item-report/add") //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:add')") @Log(title = "实验员其他任务管理信息-新增实验员其他任务管理", businessType = BusinessType.INSERT) @ApiOperation(value = "添加实验员其他任务管理",response = TTesterOtherTaskDTO.class) @PostMapping(value = "/api/t-tester-other-task/add") public R<Boolean> add(@RequestBody String param) { TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); TTesterOtherTaskDTO dto = JSON.parseObject(param,TTesterOtherTaskDTO.class); // 通过当前用户查询项目组 Long userId = tokenService.getLoginUser().getUserId(); TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getUserId, userId) .last("LIMIT 1")); if(Objects.isNull(projectTeamStaff)){ return R.fail("当前用户未分配项目组,无法创建项目课题方案"); return R.fail("当前用户未分配项目组,无法创建实验员其他任务"); } // 查询项目组 TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); @@ -105,92 +105,74 @@ if(projectTeam.getStatus() == 2){ return R.fail("项目组已封存,无法创建项目课题方案"); } // 生成中试、生产验证编号 String reportCode = projectTeam.getTeamName() + "-" + QaReportTypeEnum.TEST_REPORT.getCode(); // 查询上个项目课题方案的序号 long count = qaTestItemReportService.count(Wrappers.lambdaQuery(TQaTestItemReport.class) .like(TQaTestItemReport::getReportCode, reportCode)); reportCode = reportCode + "-" + String.format("%03d", count+1); dto.setReportCode(reportCode); qaTestItemReportService.save(dto); // 添加检测报告文件 List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); for (TQaReportFile qaReportFile : qaReportFiles) { qaReportFile.setReportId(dto.getId()); qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); } qaReportFileService.saveBatch(qaReportFiles); testerOtherTaskService.save(dto); return R.ok(); } /** * 修改QA检测项报告管理 * 修改实验员其他任务管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:edit')") @Log(title = "QA检测项报告管理信息-修改QA检测项报告管理", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改QA检测项报告管理") @PostMapping(value = "/api/t-qa-test-item-report/update") //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:edit')") @Log(title = "实验员其他任务管理信息-修改实验员其他任务管理", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改实验员其他任务管理") @PostMapping(value = "/api/t-tester-other-task/update") public R<Boolean> update(@RequestBody String param) { TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); qaTestItemReportService.updateById(dto); qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class) .eq(TQaReportFile::getReportId, dto.getId())); // 添加检测报告文件 List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); for (TQaReportFile qaReportFile : qaReportFiles) { qaReportFile.setReportId(dto.getId()); qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); } qaReportFileService.saveBatch(qaReportFiles); TTesterOtherTaskDTO dto = JSON.parseObject(param,TTesterOtherTaskDTO.class); testerOtherTaskService.updateById(dto); return R.ok(); } /** * 查看QA检测项报告管理详情 * 查看实验员其他任务管理详情 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:detail')") @ApiOperation(value = "查看QA检测项报告管理详情") @GetMapping(value = "/open/t-qa-test-item-report/getDetailById") public R<TQaTestItemReportVO> getDetailById(@RequestParam String id) { TQaTestItemReport testItemReport = qaTestItemReportService.getById(id); TQaTestItemReportVO testItemReportVO = new TQaTestItemReportVO(); BeanUtils.copyProperties(testItemReport, testItemReportVO); // 查询检测报告文件 List<TQaReportFile> qaReportFiles = qaReportFileService.list(Wrappers.lambdaQuery(TQaReportFile.class) .eq(TQaReportFile::getReportId, id) .eq(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); testItemReportVO.setQaReportFileList(qaReportFiles); return R.ok(testItemReportVO); //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:detail')") @ApiOperation(value = "查看实验员其他任务管理详情") @GetMapping(value = "/open/t-tester-other-task/getDetailById") public R<TTesterOtherTaskVO> getDetailById(@RequestParam String id) { TTesterOtherTask testerOtherTask = testerOtherTaskService.getById(id); TTesterOtherTaskVO testerOtherTaskVO = new TTesterOtherTaskVO(); BeanUtils.copyProperties(testerOtherTask, testerOtherTaskVO); // 查询项目组信息 TProjectTeam projectTeam = projectTeamService.getById(testerOtherTask.getTeamId()); TProjectTeamVO projectTeamVO = new TProjectTeamVO(); BeanUtils.copyProperties(projectTeam, projectTeamVO); // 查询项目组成员 List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())); List<Long> userIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList()); userIds = userIds.stream().distinct().collect(Collectors.toList()); List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); // 拼接项目组成员名称 projectTeamVO.setStaffName(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(","))); testerOtherTaskVO.setProjectTeam(projectTeamVO); // 查询是演员信息 SysUser sysUser = sysUserMapper.selectUserById(testerOtherTaskVO.getTesterId()); if(Objects.nonNull(sysUser)){ testerOtherTaskVO.setTesterName(sysUser.getNickName()); } return R.ok(testerOtherTaskVO); } /** * 删除QA检测项报告管理 * 删除实验员其他任务管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:delete')") @Log(title = "QA检测项报告管理信息-删除QA检测项报告管理", businessType = BusinessType.DELETE) @ApiOperation(value = "删除QA检测项报告管理") @DeleteMapping(value = "/open/t-qa-test-item-report/deleteById") //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:delete')") @Log(title = "实验员其他任务管理信息-删除实验员其他任务管理", businessType = BusinessType.DELETE) @ApiOperation(value = "删除实验员其他任务管理") @DeleteMapping(value = "/open/t-tester-other-task/deleteById") public R<Boolean> deleteById(@RequestParam String id) { // 删除QA检测项报告文件 qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).eq(TQaReportFile::getReportId, id) .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); return R.ok(qaTestItemReportService.removeById(id)); return R.ok(testerOtherTaskService.removeById(id)); } /** * 批量删除QA检测项报告管理 * 批量删除实验员其他任务管理 */ //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:delete')") @Log(title = "QA检测项报告管理信息-删除QA检测项报告管理", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除QA检测项报告管理") @DeleteMapping(value = "/open/t-qa-test-item-report/deleteByIds") //@PreAuthorize("@ss.hasPermi('system:testerOtherTask:delete')") @Log(title = "实验员其他任务管理信息-删除实验员其他任务管理", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除实验员其他任务管理") @DeleteMapping(value = "/open/t-tester-other-task/deleteByIds") public R<Boolean> deleteByIds(@RequestBody List<String> ids) { // 删除QA检测项报告检测报告文件 qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).in(TQaReportFile::getReportId, ids) .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); return R.ok(qaTestItemReportService.removeByIds(ids)); return R.ok(testerOtherTaskService.removeByIds(ids)); } } ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectApprovalReportStatusEnum.java
New file @@ -0,0 +1,47 @@ package com.ruoyi.common.enums; import lombok.Getter; /** * @author xiaochen * @ClassName Disable * @Description * @date 2022-06-08 16:55 */ public enum ProjectApprovalReportStatusEnum { /*状态 -1=草稿箱 1=待审核 2=已通过 3=已驳回 4=已撤回*/ DRAFTS(-1, "草稿箱"), PENDING_APPROVAL(1, "待审核"), PASSED(2, "已通过"), REJECTED(3, "已驳回"), REVOKED(4, "已撤销"); @Getter private String desc; @Getter private int code; ProjectApprovalReportStatusEnum(int code, String desc) { this.code = code; this.desc = desc; } /** * 通过code获取枚举 * * @param code * @return */ public static ProjectApprovalReportStatusEnum fromCode(Integer code) { ProjectApprovalReportStatusEnum[] resultTypes = ProjectApprovalReportStatusEnum.values(); for (ProjectApprovalReportStatusEnum resultType : resultTypes) { if (code.equals(resultType.getCode())) { return resultType; } } return null; } } ruoyi-system/src/main/java/com/ruoyi/system/dto/TProjectApprovalReportDTO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.system.dto; import com.ruoyi.system.model.TFeasibilityReportFile; import com.ruoyi.system.model.TProjectApprovalReport; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "立项报告新增编辑DTO") public class TProjectApprovalReportDTO extends TProjectApprovalReport { @ApiModelProperty(value = "立项报告文件集合") private List<TFeasibilityReportFile> feasibilityReportFiles; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportEvaluateDTO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.system.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data @ApiModel(value = "中试、生产验证分析报告;辅料;产品报告管理信息评定DTO") public class TQaProduceReportEvaluateDTO implements Serializable { @ApiModelProperty(value = "中试、生产验证分析报告;辅料;产品报告管理信息id") private String id; @ApiModelProperty(value = "评定分数 逗号分隔") private String evaluateScore; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemEvaluateDTO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.system.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data @ApiModel(value = "QA检测项评定DTO") public class TQaTestItemEvaluateDTO implements Serializable { @ApiModelProperty(value = "检测项id") private String id; @ApiModelProperty(value = "评定分数 逗号分隔") private String evaluateScore; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TTesterOtherTaskDTO.java
New file @@ -0,0 +1,10 @@ package com.ruoyi.system.dto; import com.ruoyi.system.model.TTesterOtherTask; import io.swagger.annotations.ApiModel; import lombok.Data; @Data @ApiModel(value = "实验员其他任务新增编辑DTO") public class TTesterOtherTaskDTO extends TTesterOtherTask { } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TProjectApprovalReportMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TProjectApprovalReport; import com.ruoyi.system.query.TProjectApprovalReportQuery; import com.ruoyi.system.vo.TProjectApprovalReportVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface TProjectApprovalReportMapper extends BaseMapper<TProjectApprovalReport> { /** * 分页查询列表 * @param query * @param pageInfo * @return */ List<TProjectApprovalReportVO> pageList(@Param("query") TProjectApprovalReportQuery query, @Param("pageInfo")PageInfo<TProjectApprovalReportVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java
@@ -26,4 +26,11 @@ * @return */ List<TQaProduceReportVO> pageList(@Param("query") TQaProduceReportQuery query, @Param("pageInfo")PageInfo<TQaProduceReportVO> pageInfo); /** * 分页查询评定列表 * @param query * @param pageInfo * @return */ List<TQaProduceReportVO> evaluateList(@Param("query") TQaProduceReportQuery query, @Param("pageInfo")PageInfo<TQaProduceReportVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemMapper.java
@@ -26,4 +26,11 @@ * @return */ List<TQaTestItemVO> pageList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo); /** * 分页查询QA检测项 * @param query * @param pageInfo * @return */ List<TQaTestItemVO> evaluateList(@Param("query") TQaTestItemQuery query, @Param("pageInfo")PageInfo<TQaTestItemVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTesterOtherTaskMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TTesterOtherTask; import com.ruoyi.system.query.TTesterOtherTaskQuery; import com.ruoyi.system.vo.TTesterOtherTaskVO; import io.lettuce.core.dynamic.annotation.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface TTesterOtherTaskMapper extends BaseMapper<TTesterOtherTask> { /** * 分页列表 * @param query * @param pageInfo * @return */ List<TTesterOtherTaskVO> pageList(@Param("query")TTesterOtherTaskQuery query, @Param("pageInfo")PageInfo<TTesterOtherTaskVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/model/TQaProduceReport.java
@@ -1,6 +1,9 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -34,6 +36,10 @@ @TableField("team_id") private String teamId; @ApiModelProperty(value = "提交用户id、化验师") @TableField("commit_person_id") private Long commitPersonId; @ApiModelProperty(value = "报告标题") @TableField("report_title") private String reportTitle; ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItem.java
@@ -1,6 +1,9 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -34,6 +36,10 @@ @TableField("team_id") private String teamId; @ApiModelProperty(value = "提交人") @TableField("commit_person_id") private Long commitPersonId; @ApiModelProperty(value = "检测项名称") @TableField("item_name") private String itemName; ruoyi-system/src/main/java/com/ruoyi/system/model/TSamplingRecordOperation.java
@@ -1,6 +1,9 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -35,9 +37,8 @@ private String samplingId; @ApiModelProperty(value = "工艺时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("process_time") private LocalDateTime processTime; private String processTime; @ApiModelProperty(value = "取样名称") @TableField("sampling_name") @@ -146,5 +147,16 @@ @TableField("receipts_time") private LocalDateTime receiptsTime; @ApiModelProperty(value = "操作人姓名") @TableField(exist = false) private String handlePersonName; @ApiModelProperty(value = "送样人姓名") @TableField(exist = false) private String sendPersonName; @ApiModelProperty(value = "接收人姓名") @TableField(exist = false) private String receiptsPersonName; } ruoyi-system/src/main/java/com/ruoyi/system/model/TTesterOtherTask.java
@@ -1,6 +1,9 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.time.LocalDateTime; /** @@ -34,6 +36,10 @@ @TableField("team_id") private String teamId; @ApiModelProperty(value = "实验员id") @TableField("tester_id") private Long testerId; @ApiModelProperty(value = "任务内容") @TableField("task_content") private String taskContent; @@ -45,7 +51,7 @@ @ApiModelProperty(value = "评定积分") @TableField("evaluate_score") private Double evaluateScore; private Integer evaluateScore; @ApiModelProperty(value = "评定时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectApprovalReportQuery.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.model.TimeRangeQueryBody; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "立项报告信息查询对象query") public class TProjectApprovalReportQuery extends TimeRangeQueryBody { @ApiModelProperty(value = "项目组名称") private String teamName; @ApiModelProperty(value = "报告标题") private String reportName; @ApiModelProperty(value = "报告编号") private String reportCode; @ApiModelProperty(value = "状态 -1=草稿箱 1=待审核 2=待评定 3=已评定 4=已驳回 5=已撤回") private Integer status; @ApiModelProperty(value = "项目组id集合 前端忽略") private List<String> teamIds; } ruoyi-system/src/main/java/com/ruoyi/system/query/TTesterOtherTaskQuery.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "实验员其他任务管理查询参数query") public class TTesterOtherTaskQuery extends BasePage { @ApiModelProperty(value = "项目组名称") private String teamName; @ApiModelProperty(value = "任务内容") private String taskContent; @ApiModelProperty(value = "项目组id集合 前端忽略") private List<String> teamIds; } ruoyi-system/src/main/java/com/ruoyi/system/service/TProjectApprovalReportService.java
@@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TProjectApprovalReport; import com.ruoyi.system.query.TProjectApprovalReportQuery; import com.ruoyi.system.vo.TProjectApprovalReportVO; /** * <p> @@ -13,4 +16,11 @@ */ public interface TProjectApprovalReportService extends IService<TProjectApprovalReport> { /** * 获取立项报告分页列表 * @param query * @return */ PageInfo<TProjectApprovalReportVO> pageList(TProjectApprovalReportQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java
@@ -22,4 +22,10 @@ * @return */ PageInfo<TQaProduceReportVO> pageList(TQaProduceReportQuery query); /** * 获取中试、生产验证分析报告;辅料;产品报告管理分页列表 * @param query * @return */ PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemService.java
@@ -22,4 +22,10 @@ * @return */ PageInfo<TQaTestItemVO> pageList(TQaTestItemQuery query); /** * 分页查询QA检测项管理 * @param query * @return */ PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TTesterOtherTaskService.java
@@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TTesterOtherTask; import com.ruoyi.system.query.TTesterOtherTaskQuery; import com.ruoyi.system.vo.TTesterOtherTaskVO; /** * <p> @@ -13,4 +16,10 @@ */ public interface TTesterOtherTaskService extends IService<TTesterOtherTask> { /** * 实验员其他任务管理列表 * @param query * @return */ PageInfo<TTesterOtherTaskVO> pageList(TTesterOtherTaskQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TProjectApprovalReportServiceImpl.java
@@ -1,10 +1,18 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TProjectApprovalReportMapper; import com.ruoyi.system.model.TProjectApprovalReport; import com.ruoyi.system.query.TProjectApprovalReportQuery; import com.ruoyi.system.service.TProjectApprovalReportService; import com.ruoyi.system.vo.SysOperLogVO; import com.ruoyi.system.vo.TFeasibilityStudyReportVO; import com.ruoyi.system.vo.TProjectApprovalReportVO; import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.List; /** * <p> @@ -17,4 +25,12 @@ @Service public class TProjectApprovalReportServiceImpl extends ServiceImpl<TProjectApprovalReportMapper, TProjectApprovalReport> implements TProjectApprovalReportService { @Override public PageInfo<TProjectApprovalReportVO> pageList(TProjectApprovalReportQuery query) { PageInfo<TProjectApprovalReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TProjectApprovalReportVO> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java
@@ -6,7 +6,6 @@ import com.ruoyi.system.model.TQaProduceReport; import com.ruoyi.system.query.TQaProduceReportQuery; import com.ruoyi.system.service.TQaProduceReportService; import com.ruoyi.system.vo.TExperimentResultReportVO; import com.ruoyi.system.vo.TQaProduceReportVO; import org.springframework.stereotype.Service; @@ -30,4 +29,11 @@ pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query) { PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TQaProduceReportVO> list = this.baseMapper.evaluateList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemServiceImpl.java
@@ -29,4 +29,13 @@ pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo<TQaTestItemVO> evaluateList(TQaTestItemQuery query) { PageInfo<TQaTestItemVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TQaTestItemVO> list = this.baseMapper.evaluateList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSamplingRecordServiceImpl.java
@@ -1,16 +1,21 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TSamplingRecordMapper; import com.ruoyi.system.mapper.TSamplingRecordOperationMapper; import com.ruoyi.system.model.TSamplingRecord; import com.ruoyi.system.model.TSamplingRecordOperation; import com.ruoyi.system.query.TSamplingRecordQuery; import com.ruoyi.system.service.TSamplingRecordService; import com.ruoyi.system.vo.SysOperLogVO; import com.ruoyi.system.vo.TSamplingRecordVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -23,10 +28,27 @@ @Service public class TSamplingRecordServiceImpl extends ServiceImpl<TSamplingRecordMapper, TSamplingRecord> implements TSamplingRecordService { @Autowired private TSamplingRecordOperationMapper samplingRecordOperationMapper; @Override public PageInfo<TSamplingRecordVO> pageList(TSamplingRecordQuery query) { PageInfo<TSamplingRecordVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TSamplingRecordVO> list = this.baseMapper.pageList(query,pageInfo); if(CollectionUtils.isEmpty(list)){ return pageInfo; } List<String> recordIds = list.stream().map(TSamplingRecordVO::getId).collect(Collectors.toList()); List<TSamplingRecordOperation> recordOperationList = samplingRecordOperationMapper.selectList(Wrappers.lambdaQuery(TSamplingRecordOperation.class) .in(TSamplingRecordOperation::getSamplingId, recordIds)); list.forEach(item->{ item.setSendCount(recordOperationList.stream().filter(recordOperation -> recordOperation.getSamplingId().equals(item.getId()) && recordOperation.getStatus() == 1).count()); item.setReceiveCount(recordOperationList.stream().filter(recordOperation -> recordOperation.getSamplingId().equals(item.getId()) && recordOperation.getStatus() == 2).count()); item.setReceivedCount(recordOperationList.stream().filter(recordOperation -> recordOperation.getSamplingId().equals(item.getId()) && recordOperation.getStatus() == 3).count()); }); pageInfo.setRecords(list); return pageInfo; } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterOtherTaskServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TTesterOtherTaskMapper; import com.ruoyi.system.model.TTesterOtherTask; import com.ruoyi.system.query.TTesterOtherTaskQuery; import com.ruoyi.system.service.TTesterOtherTaskService; import com.ruoyi.system.vo.TQaProduceReportVO; import com.ruoyi.system.vo.TTesterOtherTaskVO; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +23,11 @@ @Service public class TTesterOtherTaskServiceImpl extends ServiceImpl<TTesterOtherTaskMapper, TTesterOtherTask> implements TTesterOtherTaskService { @Override public PageInfo<TTesterOtherTaskVO> pageList(TTesterOtherTaskQuery query) { PageInfo<TTesterOtherTaskVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TTesterOtherTaskVO> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/vo/TProjectApprovalReportVO.java
New file @@ -0,0 +1,28 @@ package com.ruoyi.system.vo; import com.ruoyi.system.model.TFeasibilityReportFile; import com.ruoyi.system.model.TProjectApprovalReport; import com.ruoyi.system.model.TProjectTeam; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "立项报告信息VO") public class TProjectApprovalReportVO extends TProjectApprovalReport { @ApiModelProperty(value = "项目组名称") private String teamName; @ApiModelProperty(value = "项目组信息") private TProjectTeam projectTeam; @ApiModelProperty(value = "项目组成员名称拼接") private String staffNames; @ApiModelProperty(value = "立项报告文件") private List<TFeasibilityReportFile> feasibilityReportFiles; } ruoyi-system/src/main/java/com/ruoyi/system/vo/TSamplingRecordVO.java
@@ -12,10 +12,28 @@ @Data @ApiModel(value = "取样记录VO") public class TSamplingRecordVO extends TSamplingRecord { @ApiModelProperty(value = "项目课题方案") private String projectName; @ApiModelProperty(value = "实验编号") private String experimentCode; @ApiModelProperty(value = "实验名称") private String experimentName; @ApiModelProperty(value = "取样操作记录集合") private List<TSamplingRecordOperation> samplingRecordOperations; @ApiModelProperty(value = "实验调度信息") private TExperimentDispatch experimentDispatch; @ApiModelProperty(value = "已发送数量") private Long sendCount; @ApiModelProperty(value = "待接收数量") private Long receiveCount; @ApiModelProperty(value = "已接收数量") private Long receivedCount; } ruoyi-system/src/main/java/com/ruoyi/system/vo/TTesterOtherTaskVO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.system.vo; import com.ruoyi.system.model.TTesterOtherTask; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "实验员其他任务管理VO") public class TTesterOtherTaskVO extends TTesterOtherTask { @ApiModelProperty(value = "项目组信息") private TProjectTeamVO projectTeam; @ApiModelProperty(value = "实验员姓名") private String testerName; } ruoyi-system/src/main/resources/mapper/system/TExperimentDispatchMapper.xml
@@ -38,9 +38,12 @@ <if test="query.experimentCode != null and query.experimentCode != ''"> and ted.experiment_code like concat('%',#{query.experimentCode},'%') </if> <if test="query.status !=null"> <if test="query.status !=null and query.status != -1"> and ted.status = #{query.status} </if> <if test="query.status == null"> and ted.status != -1 </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND ted.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> ruoyi-system/src/main/resources/mapper/system/TExperimentResultReportMapper.xml
@@ -45,9 +45,12 @@ <if test="query.experimentName != null and query.experimentName != ''"> and ted.experiment_name like concat('%', #{query.experimentName}, '%') </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and terr.status = #{query.status} </if> <if test="query.status == null"> and terr.status != -1 </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND terr.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml
@@ -43,9 +43,12 @@ left join t_experiment_dispatch ted on tes.dispatch_id = ted.id left join t_project_proposal tpp on ted.proposal_id = tpp.id <where> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tes.status = #{query.status} </if> <if test="query.status == null"> and tes.status != -1 </if> <if test="query.projectName != null and query.projectName != ''"> and tpp.project_name like concat('%', #{query.projectName}, '%') </if> ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml
@@ -47,6 +47,9 @@ <if test="query.status != null"> and tfsr.status = #{query.status} </if> <if test="query.status == null"> and tfsr.status != -1 </if> <if test="query.reportType != null"> and tfsr.report_type = #{query.reportType} </if> @@ -79,8 +82,11 @@ <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%', #{query.teamName}) </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tfsr.status = #{query.status} </if> <if test="query.status == null"> and tfsr.status != -1 </if> <if test="query.reportType != null"> and tfsr.report_type = #{query.reportType} @@ -97,6 +103,7 @@ #{teamId} </foreach> </if> and tfsr.status in (2,3) AND tfsr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tfsr.create_time DESC @@ -118,9 +125,12 @@ <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%', #{query.teamName}) </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tfsr.status = #{query.status} </if> <if test="query.status == null"> and tfsr.status != -1 </if> <if test="query.reportType != null"> and tfsr.report_type = #{query.reportType} </if> ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml
@@ -38,9 +38,12 @@ <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tir.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tir.status = #{query.status} </if> <if test="query.status == null"> and tir.status != -1 </if> <if test="query.createBy != null and query.createBy != ''"> and tir.create_by = #{query.createBy} </if> ruoyi-system/src/main/resources/mapper/system/TProjectApprovalReportMapper.xml
@@ -24,5 +24,38 @@ <sql id="Base_Column_List"> id, team_id, report_code, report_name, report_text, status, audit_person_id, audit_time, audit_remark, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TProjectApprovalReportVO"> select id, team_id, report_code, report_name, report_text, status, audit_person_id, audit_time, audit_remark, create_time, update_time, create_by, update_by, disabled from t_project_approval_report tpar left join t_project_team tpt on tpt.id = tpar.team_id <where> <if test="query.teamIds != null and query.teamIds.size() > 0"> and tpt.id in <foreach item="item" collection="query.teamIds" separator="," open="(" close=")" index=""> #{item} </foreach> </if> <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%',#{query.teamName},'%') </if> <if test="query.reportCode != null and query.reportCode != ''"> and tpar.report_code like concat('%',#{query.reportCode},'%') </if> <if test="query.reportName != null and query.reportName != ''"> and tpar.report_name like concat('%',#{query.reportName},'%') </if> <if test="query.status != null and query.status != -1"> and tpar.status = #{query.status} </if> <if test="query.status == null"> and tpar.status != -1 </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tpar.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> AND tpar.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tpar.create_time DESC </select> </mapper> ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml
@@ -55,9 +55,12 @@ <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tpp.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> <if test="query.auditStatus != null"> <if test="query.auditStatus != null and query.auditStatus != -1"> AND tpp.audit_status = #{query.auditStatus} </if> <if test="query.auditStatus == null"> AND tpp.audit_status != -1 </if> AND tpp.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tpp.create_time DESC ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml
@@ -47,6 +47,39 @@ <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%', #{query.teamName}, '%') </if> <if test="query.status != null and query.status != -1"> and tqpr.status = #{query.status} </if> <if test="query.status == null"> and tqpr.status != -1 </if> <if test="query.teamIds != null and query.teamIds.size() > 0"> and tqpr.team_id in <foreach collection="query.teamIds" item="teamId" open="(" separator="," close=")"> #{teamId} </foreach> </if> AND tqpr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tqpr.create_time DESC </select> <select id="evaluateList" resultType="com.ruoyi.system.vo.TQaProduceReportVO"> select tqpr.id, tqpr.team_id, tqpr.report_title, tqpr.report_code, tqpr.develop_person, tqpr.develop_date, tqpr.report_text, tqpr.report_type, tqpr.audit_person_id, tqpr.audit_time, tqpr.audit_remark, tqpr.status, tqpr.evaluate_person_id, tqpr.evaluate_time, tqpr.evaluate_score, tqpr.create_time, tqpr.update_time, tqpr.create_by, tqpr.update_by, tqpr.disabled, tpt.team_name as teamName from t_qa_produce_report tqpr left join t_project_team tpt on tpt.id = tqpr.team_id <where> <if test="query.reportTitle != null and query.reportTitle != ''"> and tqpr.report_title like concat('%', #{query.reportTitle}, '%') </if> <if test="query.reportCode != null and query.reportCode != ''"> and tqpr.report_code like concat('%', #{query.reportCode}, '%') </if> <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%', #{query.teamName}, '%') </if> <if test="query.status != null"> and tqpr.status = #{query.status} </if> @@ -56,6 +89,7 @@ #{teamId} </foreach> </if> AND tqpr.status in (2,3) AND tqpr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tqpr.create_time DESC ruoyi-system/src/main/resources/mapper/system/TQaTestItemMapper.xml
@@ -6,6 +6,7 @@ <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TQaTestItem"> <id column="id" property="id" /> <result column="team_id" property="teamId" /> <result column="commit_person_id" property="commitPersonId" /> <result column="item_name" property="itemName" /> <result column="item_code" property="itemCode" /> <result column="remark" property="remark" /> @@ -22,10 +23,10 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, team_id, item_name, item_code, remark, status, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled id, team_id,commit_person_id, item_name, item_code, remark, status, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TQaTestItemVO"> select tqti.id, tqti.team_id, tqti.item_name, tqti.item_code, tqti.remark, tqti.status, tqti.evaluate_person_id, select tqti.id, tqti.team_id,tqti.commit_person_id, tqti.item_name, tqti.item_code, tqti.remark, tqti.status, tqti.evaluate_person_id, tqti.evaluate_time, tqti.evaluate_score, tqti.create_time, tqti.update_time, tqti.create_by, tqti.update_by, tqti.disabled, tpt.team_name as teamName from t_qa_test_item tqti @@ -40,6 +41,39 @@ <if test="query.itemCode != null and query.itemCode != ''"> and tqti.item_code like concat('%', #{query.itemCode}) </if> <if test="query.status != null and query.status != -1"> and tqti.status = #{query.status} </if> <if test="query.status == null"> and tqti.status != -1 </if> <if test="query.teamIds != null and query.teamIds.size() > 0"> and tqti.team_id in <foreach collection="query.teamIds" item="teamId" open="(" separator="," close=")"> #{teamId} </foreach> </if> AND tqti.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tqti.create_time DESC </select> <select id="evaluateList" resultType="com.ruoyi.system.vo.TQaTestItemVO"> select tqti.id, tqti.team_id,tqti.commit_person_id, tqti.item_name, tqti.item_code, tqti.remark, tqti.status, tqti.evaluate_person_id, tqti.evaluate_time, tqti.evaluate_score, tqti.create_time, tqti.update_time, tqti.create_by, tqti.update_by, tqti.disabled, tpt.team_name as teamName from t_qa_test_item tqti left join t_project_team tpt on tpt.id = tqti.team_id <where> <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%', #{query.teamName}, '%') </if> <if test="query.itemName != null and query.itemName != ''"> and tqti.item_name like concat('%', #{query.itemName}, '%') </if> <if test="query.itemCode != null and query.itemCode != ''"> and tqti.item_code like concat('%', #{query.itemCode}) </if> <if test="query.status != null"> and tqti.status = #{query.status} </if> @@ -49,6 +83,7 @@ #{teamId} </foreach> </if> AND tqti.status in (2,3) AND tqti.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tqti.create_time DESC ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml
@@ -54,9 +54,12 @@ <if test="query.reportContent != null and query.reportContent != ''"> and tqtir.report_content = #{query.reportContent} </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tqtir.status = #{query.status} </if> <if test="query.status == null"> and tqtir.status != -1 </if> AND tqtir.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tqtir.create_time DESC ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml
@@ -40,8 +40,11 @@ <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND t1.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> <if test="query.status != null"> AND t1.audit_status = #{query.auditStatus} <if test="query.status != null and query.status != -1"> AND t1.status = #{query.status} </if> <if test="query.status == null"> AND t1.status != -1 </if> <if test="query.teamIds != null and query.teamIds > 0"> AND t1.team_id in ruoyi-system/src/main/resources/mapper/system/TSamplingRecordMapper.xml
@@ -41,9 +41,12 @@ <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tsr.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and tsr.status = #{query.status} </if> <if test="query.status == null"> and tsr.status != -1 </if> <if test="query.createBy != null and query.createBy !=''"> and tsr.create_by like concat('%', #{query.createBy}, '%') </if> ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml
@@ -40,9 +40,12 @@ <if test="query.experimentCode != null and query.experimentCode !=''"> and ted.experiment_code like concat('%', #{query.experimentCode}, '%') </if> <if test="query.auditStatus != null and query.auditStatus != ''"> <if test="query.auditStatus != null and query.auditStatus != -1"> and tmcs.audit_status = #{query.auditStatus} </if> <if test="query.auditStatus == null"> and tmcs.audit_status != -1 </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tmcs.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml
@@ -44,9 +44,12 @@ <if test="query.createBy != null and query.createBy != ''"> and ttmcso.create_by like concat('%', #{query.createBy}, '%') </if> <if test="query.status != null"> <if test="query.status != null and query.status != -1"> and ttmcso.status = #{query.status} </if> <if test="query.status == null"> and ttmcso.status != -1 </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND ttmcso.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> ruoyi-system/src/main/resources/mapper/system/TTesterOtherTaskMapper.xml
@@ -6,6 +6,7 @@ <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TTesterOtherTask"> <id column="id" property="id" /> <result column="team_id" property="teamId" /> <result column="tester_id" property="testerId" /> <result column="task_content" property="taskContent" /> <result column="task_time" property="taskTime" /> <result column="evaluate_score" property="evaluateScore" /> @@ -19,7 +20,29 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, team_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled id, team_id,tester_id, task_content, task_time, evaluate_score, evaluate_time, create_time, update_time, create_by, update_by, disabled </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TTesterOtherTaskVO"> select ttot.id, ttot.team_id,ttot.tester_id, ttot.task_content, ttot.task_time, ttot.evaluate_score, ttot.evaluate_time, ttot.create_time, ttot.update_time, ttot.create_by, ttot.update_by, ttot.disabled,tpt.team_name as teamName from t_tester_other_task ttot left join t_project_team tpt on ttot.team_id = tpt.id <where> <if test="query.teamName != null and query.teamName != ''"> and tpt.team_name like concat('%',#{query.teamName},'%') </if> <if test="query.taskContent != null and query.taskContent != ''"> and ttot.task_content like concat('%',#{query.taskContent},'%') </if> <if test="query.teamIds != null and query.teamIds.size() > 0"> and ttot.team_id in <foreach item="teamId" collection="query.teamIds" index="index" open="(" close=")" separator=","> #{teamId} </foreach> </if> AND ttot.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY ttot.create_time DESC </select> </mapper>