diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTasksController.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTasksController.java index f35e683..f702d9b 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTasksController.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTasksController.java @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.productManagement.domain.vo.DocumentTasksVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/DocumentTasksController.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/DocumentTasksController.java index 4ffbbf9..66834d8 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/DocumentTasksController.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/DocumentTasksController.java @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.system.domain.vo.SysOssUploadVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.ISysOssService; @@ -48,7 +49,7 @@ public class DocumentTasksController extends BaseController { */ @SaCheckPermission("productManagement:DocumentTasks:list") @GetMapping("/list") - public TableDataInfo list(DocumentTasksBo bo, PageQuery pageQuery) { + public TableDataInfo list(DocumentTasksBo bo, PageQuery pageQuery) { return documentTasksService.queryPageList(bo, pageQuery); } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskChild.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskChild.java new file mode 100644 index 0000000..b06efd6 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskChild.java @@ -0,0 +1,21 @@ +package org.dromara.productManagement.domain; + +import lombok.Data; + +import java.util.Date; + +@Data +public class DocumentTaskChild { + private Long id; + private String taskName; + private String taskId; + private Long ossId; + private Date estimatedCompletionTime; + private String progressStatus; + private Long version; + private Date createTime; + private Date updateTime; + // 添加任务持续时间字段 + private String taskDuration; + private String createUser; +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskGroup.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskGroup.java new file mode 100644 index 0000000..502fc40 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/DocumentTaskGroup.java @@ -0,0 +1,19 @@ +package org.dromara.productManagement.domain; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class DocumentTaskGroup { + private String id; + private String documentName; + private Long createBy; + private String taskIndustry; + private String taskRegion; + private Date createTime; + private String createUser; + private String progress; + private List childrenTasks; +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/DocumentTasksMapper.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/DocumentTasksMapper.java index 88af7e0..4b43a46 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/DocumentTasksMapper.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/DocumentTasksMapper.java @@ -1,10 +1,16 @@ package org.dromara.productManagement.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.productManagement.domain.DocumentTasks; import org.dromara.productManagement.domain.vo.DocumentTasksVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.system.domain.SysUser; /** * 文档任务Mapper接口 @@ -17,5 +23,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @DataColumn(key = "userName", value = "create_by") }) public interface DocumentTasksMapper extends BaseMapperPlus { + Page selectDocumentTaskGroups(@Param("page") Page page,@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTasksService.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTasksService.java index 8f22617..2becf65 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTasksService.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTasksService.java @@ -1,5 +1,6 @@ package org.dromara.productManagement.service; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.productManagement.domain.vo.ContractualTasksVo; import org.dromara.productManagement.domain.bo.ContractualTasksBo; import org.dromara.common.mybatis.core.page.TableDataInfo; diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IDocumentTasksService.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IDocumentTasksService.java index 85f8897..04924a0 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IDocumentTasksService.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IDocumentTasksService.java @@ -1,5 +1,6 @@ package org.dromara.productManagement.service; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.productManagement.domain.vo.DocumentTasksVo; import org.dromara.productManagement.domain.bo.DocumentTasksBo; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -34,7 +35,7 @@ public interface IDocumentTasksService { * @param pageQuery 分页参数 * @return 文档任务分页列表 */ - TableDataInfo queryPageList(DocumentTasksBo bo, PageQuery pageQuery); + TableDataInfo queryPageList(DocumentTasksBo bo, PageQuery pageQuery); /** * 查询符合条件的文档任务列表 diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java index d9bfb91..f7fd9a8 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTasksServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.productManagement.domain.DocumentTaskGroup; import org.dromara.productManagement.domain.DocumentTasks; import org.dromara.productManagement.domain.bo.DocumentTasksBo; import org.dromara.productManagement.domain.vo.DocumentTasksPermissionsVo; @@ -88,7 +89,21 @@ public class ContractualTasksServiceImpl implements IContractualTasksService { String[] list= {"contractReview"}; documentTasksBo.setTaskNameList(Arrays.asList(list)); } - return documentTasksService.queryPageList(documentTasksBo, pageQuery); + LambdaQueryWrapper lqw = buildQueryWrapper(documentTasksBo); + + Page result = documentTasksMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(vo -> { + Long createBy = vo.getCreateBy(); + vo.setCreateUser(userService.selectUserById(createBy).getNickName()); + //计算updateTime 和 createTime之间相差的小时数 + // 格式化输出 + String formattedDuration=""; + if(!vo.getProgressStatus().equals("PENDING")&&!vo.getProgressStatus().equals("STARTED")){ + formattedDuration= MyTimeUtils.formatTimeDifference(vo.getCreateTime(), vo.getUpdateTime()); + } + vo.setTaskDuration(formattedDuration); + }); + return TableDataInfo.build(result); } /** @@ -99,7 +114,6 @@ public class ContractualTasksServiceImpl implements IContractualTasksService { */ @Override public List queryList(ContractualTasksBo bo) { - DocumentTasksBo documentTasksBo = new DocumentTasksBo(); BeanUtils.copyProperties(bo, documentTasksBo); if(bo.getTaskNameList()==null || bo.getTaskNameList().size() == 0){ @@ -109,17 +123,17 @@ public class ContractualTasksServiceImpl implements IContractualTasksService { return documentTasksService.queryList(documentTasksBo); } - private LambdaQueryWrapper buildQueryWrapper(ContractualTasksBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getTaskIndustry()), ContractualTasks::getTaskIndustry, bo.getTaskIndustry()); - lqw.eq(StringUtils.isNotBlank(bo.getTaskRegion()), ContractualTasks::getTaskRegion, bo.getTaskRegion()); - lqw.like(StringUtils.isNotBlank(bo.getDocumentName()), ContractualTasks::getDocumentName, bo.getDocumentName()); - lqw.eq(StringUtils.isNotBlank(bo.getProgressStatus()), ContractualTasks::getProgressStatus, bo.getProgressStatus()); + private LambdaQueryWrapper buildQueryWrapper(DocumentTasksBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getTaskIndustry()), DocumentTasks::getTaskIndustry, bo.getTaskIndustry()); + lqw.eq(StringUtils.isNotBlank(bo.getTaskRegion()), DocumentTasks::getTaskRegion, bo.getTaskRegion()); + lqw.like(StringUtils.isNotBlank(bo.getDocumentName()), DocumentTasks::getDocumentName, bo.getDocumentName()); + lqw.eq(StringUtils.isNotBlank(bo.getProgressStatus()), DocumentTasks::getProgressStatus, bo.getProgressStatus()); List taskNames = bo.getTaskNameList(); if (taskNames != null && !taskNames.isEmpty()) { - lqw.in(ContractualTasks::getTaskName, taskNames); + lqw.in(DocumentTasks::getTaskName, taskNames); } - lqw.orderByDesc(ContractualTasks::getCreateTime); + lqw.orderByDesc(DocumentTasks::getCreateTime); return lqw; } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/DocumentTasksServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/DocumentTasksServiceImpl.java index 568f952..add958c 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/DocumentTasksServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/DocumentTasksServiceImpl.java @@ -2,6 +2,8 @@ package org.dromara.productManagement.service.impl; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.IdUtil; import okhttp3.*; import org.dromara.common.core.domain.R; import org.dromara.common.core.service.DictService; @@ -17,9 +19,7 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.oss.core.OssClient; import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.productManagement.domain.DocumentTasksPermissionsDetail; -import org.dromara.productManagement.domain.ModelPrompts; -import org.dromara.productManagement.domain.ModelUserPromptssetting; +import org.dromara.productManagement.domain.*; import org.dromara.productManagement.domain.vo.DocumentTasksPermissionsDetailVo; import org.dromara.productManagement.domain.vo.DocumentTasksPermissionsVo; import org.dromara.productManagement.mapper.*; @@ -35,7 +35,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.dromara.productManagement.domain.bo.DocumentTasksBo; import org.dromara.productManagement.domain.vo.DocumentTasksVo; -import org.dromara.productManagement.domain.DocumentTasks; import org.dromara.productManagement.service.IDocumentTasksService; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -102,21 +101,36 @@ public class DocumentTasksServiceImpl implements IDocumentTasksService { * @return 文档任务分页列表 */ @Override - public TableDataInfo queryPageList(DocumentTasksBo bo, PageQuery pageQuery) { + public TableDataInfo queryPageList(DocumentTasksBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - result.getRecords().forEach(vo -> { + Integer pageSize = pageQuery.getPageSize(); + if(pageSize != 5){ + //增加lwd中的一个条件 + List taskNames = bo.getTaskNameList(); + if(taskNames == null ||!taskNames.contains("contractReview")){ + lqw.ne(DocumentTasks::getTaskName,"contractReview"); + } + } + Page documentTaskGroupPage = baseMapper.selectDocumentTaskGroups(pageQuery.build(), lqw); + documentTaskGroupPage.getRecords().forEach(vo -> { Long createBy = vo.getCreateBy(); vo.setCreateUser(userService.selectUserById(createBy).getNickName()); - //计算updateTime 和 createTime之间相差的小时数 - // 格式化输出 - String formattedDuration=""; - if(!vo.getProgressStatus().equals("PENDING")&&!vo.getProgressStatus().equals("STARTED")){ - formattedDuration= MyTimeUtils.formatTimeDifference(vo.getCreateTime(), vo.getUpdateTime()); - } - vo.setTaskDuration(formattedDuration); }); - return TableDataInfo.build(result); + return TableDataInfo.build(documentTaskGroupPage); +// Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); +// result.getRecords().forEach(vo -> { +// Long createBy = vo.getCreateBy(); +// vo.setCreateUser(userService.selectUserById(createBy).getNickName()); +// //计算updateTime 和 createTime之间相差的小时数 +// // 格式化输出 +// String formattedDuration=""; +// if(!vo.getProgressStatus().equals("PENDING")&&!vo.getProgressStatus().equals("STARTED")){ +// formattedDuration= MyTimeUtils.formatTimeDifference(vo.getCreateTime(), vo.getUpdateTime()); +// } +// vo.setTaskDuration(formattedDuration); +// }); +// return TableDataInfo.build(result); } @@ -145,9 +159,12 @@ public class DocumentTasksServiceImpl implements IDocumentTasksService { lqw.like(StringUtils.isNotBlank(bo.getDocumentName()), DocumentTasks::getDocumentName, bo.getDocumentName()); lqw.eq(StringUtils.isNotBlank(bo.getProgressStatus()), DocumentTasks::getProgressStatus, bo.getProgressStatus()); lqw.orderByDesc(DocumentTasks::getCreateTime); - if(taskNames == null ||!taskNames.contains("contractReview")){ - lqw.ne(DocumentTasks::getTaskName,"contractReview"); - } + //分组,作为父项 + lqw.groupBy(DocumentTasks::getDocumentName, + DocumentTasks::getCreateBy, + DocumentTasks::getTaskIndustry, + DocumentTasks::getTaskRegion, + DocumentTasks::getCreateTime); return lqw; } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java index 40c7161..f29ace0 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java @@ -153,18 +153,18 @@ public class PmgCompanyProductsServiceImpl implements IPmgCompanyProductsService if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } - baseMapper.selectVoBatchIds(ids).forEach(item -> { - String modelId = item.getModelId(); - if (StringUtils.isNotBlank(modelId)) { - LambdaUpdateWrapper modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记 - modelUpdateWrapper.eq(PmgCompanyProductModel::getId, modelId); - companyProductModelMapper.delete(modelUpdateWrapper); - // 更新型号规格参数的is_temporary标记为临时数据 - LambdaUpdateWrapper detailsUpdateWrapper = new LambdaUpdateWrapper<>(); - detailsUpdateWrapper.eq(PmgCompanyProductModelDetails::getModelId, modelId); - companyProductModelDetailsMapper.delete(detailsUpdateWrapper); - } - }); +// baseMapper.selectVoByIds(ids).forEach(item -> { +// String modelId = item.getModelId(); +// if (StringUtils.isNotBlank(modelId)) { +// LambdaUpdateWrapper modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记 +// modelUpdateWrapper.eq(PmgCompanyProductModel::getId, modelId); +// companyProductModelMapper.delete(modelUpdateWrapper); +// // 更新型号规格参数的is_temporary标记为临时数据 +// LambdaUpdateWrapper detailsUpdateWrapper = new LambdaUpdateWrapper<>(); +// detailsUpdateWrapper.eq(PmgCompanyProductModelDetails::getModelId, modelId); +// companyProductModelDetailsMapper.delete(detailsUpdateWrapper); +// } +// }); return baseMapper.deleteBatchIds(ids) > 0; } } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java index afafb3a..40503af 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java @@ -155,7 +155,7 @@ public class PmgPersonProductsServiceImpl implements IPmgPersonProductsService { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } - baseMapper.selectVoBatchIds(ids).forEach(item -> { + baseMapper.selectVoByIds(ids).forEach(item -> { String modelId = item.getModelId(); if (StringUtils.isNotBlank(modelId)) { LambdaUpdateWrapper modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记 diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java index 3816951..0177d55 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java @@ -173,7 +173,7 @@ public class PmgSupplierProductsServiceImpl implements IPmgSupplierProductsServi if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } - baseMapper.selectVoBatchIds(ids).forEach(item -> { + baseMapper.selectVoByIds(ids).forEach(item -> { String modelId = item.getModelId(); if (StringUtils.isNotBlank(modelId)) { LambdaUpdateWrapper modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记 diff --git a/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/DocumentTasksMapper.xml b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/DocumentTasksMapper.xml index 00aba33..7b6785d 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/DocumentTasksMapper.xml +++ b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/DocumentTasksMapper.xml @@ -3,5 +3,100 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + + + + + + + + +