diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index 6184b8a..75a69d7 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -45,6 +45,7 @@ spring: primary: master # 严格模式 匹配不到数据源则报错 strict: true + strict: true datasource: # 主库数据源 master: @@ -52,15 +53,15 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + url: jdbc:mysql://101.37.69.204:8001/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: root - password: root + password: Mz!@#123 # 从库数据源 slave: lazy: true type: ${spring.datasource.type} driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + url: jdbc:mysql://101.37.69.204:8001/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: password: # oracle: diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanDetail.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanDetail.java index 461b384..1d911e9 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanDetail.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanDetail.java @@ -31,6 +31,10 @@ public class MesPlanDetail extends TreeEntity { */ @TableId(value = "id") private Long id; + /** + * 祖级列表 + */ + private String ancestors; /** * 主表id */ diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanDetailBo.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanDetailBo.java index ce9782b..04f6ab4 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanDetailBo.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanDetailBo.java @@ -31,6 +31,11 @@ public class MesPlanDetailBo extends TreeEntity { @NotNull(message = "主键不能为空", groups = {EditGroup.class}) private Long id; + /** + * 祖级列表 + */ + private String ancestors; + /** * 主表id */ diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/AncestorsVO.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/AncestorsVO.java new file mode 100644 index 0000000..bd190e0 --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/AncestorsVO.java @@ -0,0 +1,10 @@ +package com.ruoyi.mts.domain.vo; + +import lombok.Data; + +@Data +public class AncestorsVO { + private Long id; + private String ancestors; + private Integer len; +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanDetailVo.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanDetailVo.java index 3056385..05251dd 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanDetailVo.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanDetailVo.java @@ -9,6 +9,7 @@ import com.alibaba.excel.annotation.ExcelProperty; import com.ruoyi.common.annotation.ExcelDictFormat; import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; +import org.apache.http.ssl.PrivateKeyStrategy; import java.util.Date; @@ -38,6 +39,11 @@ public class MesPlanDetailVo implements Serializable { @ExcelProperty(value = "父id") private Long parentId; + /** + * 祖级列表 + */ + private String ancestors; + /** * 主表id */ diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanDetailMapper.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanDetailMapper.java index 60b1870..8f8aca9 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanDetailMapper.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanDetailMapper.java @@ -2,9 +2,11 @@ package com.ruoyi.mts.mapper; import com.ruoyi.mts.domain.MesPlanDetail; import com.ruoyi.mts.domain.bo.MesPlanDetailBo; +import com.ruoyi.mts.domain.vo.AncestorsVO; import com.ruoyi.mts.domain.vo.GanttVO; import com.ruoyi.mts.domain.vo.MesPlanDetailVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -14,7 +16,10 @@ import java.util.List; * @author jiangzhe * @date 2024-02-19 */ +@Mapper public interface MesPlanDetailMapper extends BaseMapperPlus { List queryGanttList(MesPlanDetailBo bo); + + AncestorsVO findMaxAncestors(); } diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanDetailServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanDetailServiceImpl.java index b304e66..a837975 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanDetailServiceImpl.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanDetailServiceImpl.java @@ -1,9 +1,13 @@ package com.ruoyi.mts.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.ruoyi.common.core.domain.TreeEntity; import com.ruoyi.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.mts.domain.vo.AncestorsVO; import com.ruoyi.mts.domain.vo.GanttVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -13,9 +17,7 @@ import com.ruoyi.mts.domain.MesPlanDetail; import com.ruoyi.mts.mapper.MesPlanDetailMapper; import com.ruoyi.mts.service.IMesPlanDetailService; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 生产计划明细Service业务层处理 @@ -29,6 +31,8 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService { private final MesPlanDetailMapper baseMapper; + public static final String TAB_PREFIX = " "; + /** * 查询生产计划明细 */ @@ -43,8 +47,22 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService { */ @Override public List queryList(MesPlanDetailBo bo) { + bo.setParentId(0L); LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + + LinkedList res = new LinkedList<>(); + for (int i = 0; i < list.size(); i++) { + MesPlanDetailVo vo = list.get(i); + res.add(vo); + + LambdaQueryWrapper voLqw = Wrappers.lambdaQuery(MesPlanDetail.class).eq(TreeEntity::getParentId, vo.getId()).orderByAsc(MesPlanDetail::getId); + List children = baseMapper.selectVoList(voLqw); + if (CollUtil.isNotEmpty(children)) { + res.addAll(i + 1, children); + } + } + return res; } /** @@ -63,6 +81,7 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getParentId() != null, MesPlanDetail::getParentId, bo.getParentId()); + lqw.eq(bo.getAncestors() != null, MesPlanDetail::getAncestors, bo.getAncestors()); lqw.eq(bo.getMainId() != null, MesPlanDetail::getMainId, bo.getMainId()); lqw.like(StringUtils.isNotBlank(bo.getName()), MesPlanDetail::getName, bo.getName()); lqw.eq(bo.getPlanStartDate() != null, MesPlanDetail::getPlanStartDate, bo.getPlanStartDate()); diff --git a/ruoyi-demo/src/main/resources/mapper/mts/MesPlanDetailMapper.xml b/ruoyi-demo/src/main/resources/mapper/mts/MesPlanDetailMapper.xml index 822f76c..484355f 100644 --- a/ruoyi-demo/src/main/resources/mapper/mts/MesPlanDetailMapper.xml +++ b/ruoyi-demo/src/main/resources/mapper/mts/MesPlanDetailMapper.xml @@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -27,5 +28,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM mes_plan_detail t WHERE t.main_id=#{mainId} + + diff --git a/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue b/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue index 078a041..6b76c44 100644 --- a/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue +++ b/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue @@ -30,11 +30,14 @@ - + + + + +