diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/controller/BusFormalitiesAreConsolidatedController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/controller/BusFormalitiesAreConsolidatedController.java index c1042f77..44581a5d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/controller/BusFormalitiesAreConsolidatedController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/controller/BusFormalitiesAreConsolidatedController.java @@ -48,7 +48,8 @@ public class BusFormalitiesAreConsolidatedController extends BaseController { @SaCheckPermission("formalities:formalitiesAreConsolidated:list") @GetMapping("/list") public R> list(BusFormalitiesAreConsolidatedBo bo) { - return R.ok(busFormalitiesAreConsolidatedService.queryList(bo)); + List list = busFormalitiesAreConsolidatedService.getTree(bo); + return R.ok(list); } @SaCheckPermission("formalities:formalitiesAreConsolidated:list") diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/BusFormalitiesAreConsolidated.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/BusFormalitiesAreConsolidated.java index 17460c66..3f0cffe3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/BusFormalitiesAreConsolidated.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/BusFormalitiesAreConsolidated.java @@ -62,6 +62,11 @@ public class BusFormalitiesAreConsolidated extends BaseEntity { */ private LocalDate planTheStartTime; + /** + * 计划结束时间 + */ + private LocalDate planTheEndTime; + /** * 负责人 */ @@ -70,8 +75,10 @@ public class BusFormalitiesAreConsolidated extends BaseEntity { /** * 实际完成时间 */ + @TableField(value = "actual_completion_time", updateStrategy = FieldStrategy.IGNORED) private Date actualCompletionTime; + /** * 办理状态 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/bo/BusFormalitiesAreConsolidatedBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/bo/BusFormalitiesAreConsolidatedBo.java index 1be78259..4859dc08 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/bo/BusFormalitiesAreConsolidatedBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/bo/BusFormalitiesAreConsolidatedBo.java @@ -65,6 +65,11 @@ public class BusFormalitiesAreConsolidatedBo extends BaseEntity { // @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING) private LocalDate planTheStartTime; + /** + * 计划结束时间 + */ + private LocalDate planTheEndTime; + /** * 负责人 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/vo/BusFormalitiesAreConsolidatedVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/vo/BusFormalitiesAreConsolidatedVo.java index 2f7ea817..4c45de5b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/vo/BusFormalitiesAreConsolidatedVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/domain/vo/BusFormalitiesAreConsolidatedVo.java @@ -1,6 +1,7 @@ package org.dromara.formalities.domain.vo; import java.time.LocalDate; +import java.util.ArrayList; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.formalities.domain.BusFormalitiesAreConsolidated; @@ -14,7 +15,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -73,6 +74,11 @@ public class BusFormalitiesAreConsolidatedVo implements Serializable { @ExcelProperty(value = "计划开始时间") private LocalDate planTheStartTime; + /** + * 计划结束时间 + */ + private LocalDate planTheEndTime; + /** * 负责人 */ @@ -104,4 +110,6 @@ public class BusFormalitiesAreConsolidatedVo implements Serializable { private String remark; + private List children = new ArrayList<>(); + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/IBusFormalitiesAreConsolidatedService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/IBusFormalitiesAreConsolidatedService.java index 7276e350..3e447443 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/IBusFormalitiesAreConsolidatedService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/IBusFormalitiesAreConsolidatedService.java @@ -78,4 +78,6 @@ public interface IBusFormalitiesAreConsolidatedService extends IService getTree(BusFormalitiesAreConsolidatedBo bo); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/impl/BusFormalitiesAreConsolidatedServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/impl/BusFormalitiesAreConsolidatedServiceImpl.java index dded1bb5..c3e713ac 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/impl/BusFormalitiesAreConsolidatedServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/service/impl/BusFormalitiesAreConsolidatedServiceImpl.java @@ -16,6 +16,7 @@ import org.dromara.formalities.domain.bo.AddBusFormalitiesAreConsolidatedBo; import org.dromara.formalities.enums.FormalitiesStatusEnum; import org.dromara.formalities.service.IBusFormalitiesAnnexService; import org.dromara.formalities.service.IBusListOfFormalitiesService; +import org.dromara.formalities.utils.TreeUtil; import org.dromara.system.domain.vo.SysOssUploadVo; import org.dromara.system.service.ISysOssService; import org.springframework.beans.factory.annotation.Autowired; @@ -87,10 +88,18 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl getTree(BusFormalitiesAreConsolidatedBo bo) { + List voList = queryList(bo); + return TreeUtil.buildTree1(voList); + } + + private LambdaQueryWrapper buildQueryWrapper(BusFormalitiesAreConsolidatedBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.orderByDesc(BusFormalitiesAreConsolidated::getId); + lqw.orderByDesc(BusFormalitiesAreConsolidated::getCreateTime); lqw.eq(bo.getProjectId() != null, BusFormalitiesAreConsolidated::getProjectId, bo.getProjectId()); lqw.eq(bo.getFormalitiesPid() != null, BusFormalitiesAreConsolidated::getFormalitiesPid, bo.getFormalitiesPid()); lqw.eq(bo.getFormalitiesId() != null, BusFormalitiesAreConsolidated::getFormalitiesId, bo.getFormalitiesId()); @@ -111,6 +120,7 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl addBusFormalitiesAreConsolidatedBos = bo.getAddBusFormalitiesAreConsolidatedBos(); List list = new ArrayList<>(); + Set ids = new HashSet<>(); addBusFormalitiesAreConsolidatedBos.forEach(addBusFormalitiesAreConsolidatedBo -> { BusFormalitiesAreConsolidated busFormalitiesAreConsolidated = new BusFormalitiesAreConsolidated(); busFormalitiesAreConsolidated.setFormalitiesId(addBusFormalitiesAreConsolidatedBo.getFormalitiesId()); @@ -120,6 +130,7 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl 0; @@ -149,7 +172,7 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl 0; } @@ -158,8 +181,13 @@ public class BusFormalitiesAreConsolidatedServiceImpl extends ServiceImpl().eq(BusFormalitiesAnnex::getFormalitiesId, bo.getId())); + if (count == 0) { + throw new ServiceException("手续材料为空不能提交"); + } + busFormalitiesAreConsolidated.setActualCompletionTime(new Date()); + }else { + busFormalitiesAreConsolidated.setActualCompletionTime(null); } - if (busFormalitiesAreConsolidated.getPlanTheStartTime() == null) { - throw new ServiceException("计划开始时间为空不能提交"); - } - long count = busFormalitiesAnnexService.count(new LambdaQueryWrapper().eq(BusFormalitiesAnnex::getFormalitiesId, bo.getId())); - if (count == 0) { - throw new ServiceException("手续材料为空不能提交"); - } - busFormalitiesAreConsolidated.setActualCompletionTime(new Date()); - busFormalitiesAreConsolidated.setProcessingStatus(FormalitiesStatusEnum.DELETE.getText()); - busFormalitiesAreConsolidated.setStatus(1); + validEntityBeforeSave(busFormalitiesAreConsolidated); +// busFormalitiesAreConsolidated.setStatus(1); // BusFormalitiesAreConsolidated update = MapstructUtils.convert(bo, BusFormalitiesAreConsolidated.class); return baseMapper.updateById(busFormalitiesAreConsolidated) > 0; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/utils/TreeUtil.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/utils/TreeUtil.java index 7b54083d..41683236 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/utils/TreeUtil.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/formalities/utils/TreeUtil.java @@ -1,5 +1,6 @@ package org.dromara.formalities.utils; +import org.dromara.formalities.domain.vo.BusFormalitiesAreConsolidatedVo; import org.dromara.formalities.domain.vo.BusListOfFormalitiesVo; import java.util.ArrayList; @@ -43,4 +44,38 @@ public class TreeUtil { } } } + + /** + * 构建树形结构 + * @param list 所有节点列表 + * @return 树形结构的根节点列表 + */ + public static List buildTree1(List list) { + List result = new ArrayList<>(); + + // 找到所有根节点(pid为null或0的节点) + for (BusFormalitiesAreConsolidatedVo node : list) { + if (node.getFormalitiesPid() == null || node.getFormalitiesPid() == 0) { + result.add(node); + // 递归设置子节点 + setChildren1(node, list); + } + } + return result; + } + + /** + * 为节点设置子节点 + * @param parent 父节点 + * @param allNodes 所有节点 + */ + private static void setChildren1(BusFormalitiesAreConsolidatedVo parent, List allNodes) { + for (BusFormalitiesAreConsolidatedVo node : allNodes) { + if (parent.getFormalitiesId().equals(node.getFormalitiesPid())) { + parent.getChildren().add(node); + // 递归设置子节点的子节点 + setChildren1(node, allNodes); + } + } + } }