Merge remote-tracking branch 'origin/master'

master
wanghao 1 month ago
commit 499ab08dd9

@ -77,8 +77,13 @@ public class DmsBillsLubeInstanceActivityController extends BaseController {
@Log(title = "润滑工单实例节点", businessType = BusinessType.INSERT) @Log(title = "润滑工单实例节点", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody DmsBillsLubeInstanceActivityBo bo) { public R<DmsBillsLubeInstanceActivityVo> add(@Validated(AddGroup.class) @RequestBody DmsBillsLubeInstanceActivityBo bo) {
return toAjax(dmsBillsLubeInstanceActivityService.insertByBo(bo)); DmsBillsLubeInstanceActivityVo savedActivity = dmsBillsLubeInstanceActivityService.insertByBo(bo);
if (savedActivity != null && savedActivity.getInstanceActivityId() != null) {
return R.ok(savedActivity);
} else {
return R.fail("创建润滑工单活动记录失败");
}
} }
/** /**
@ -88,8 +93,8 @@ public class DmsBillsLubeInstanceActivityController extends BaseController {
@Log(title = "润滑工单实例节点", businessType = BusinessType.UPDATE) @Log(title = "润滑工单实例节点", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody DmsBillsLubeInstanceActivityBo bo) { public R<DmsBillsLubeInstanceActivityVo> edit(@Validated(EditGroup.class) @RequestBody DmsBillsLubeInstanceActivityBo bo) {
return toAjax(dmsBillsLubeInstanceActivityService.updateByBo(bo)); return R.ok(dmsBillsLubeInstanceActivityService.updateByBo(bo));
} }
/** /**

@ -31,7 +31,7 @@ public class DmsBillsLubeInstance extends TenantEntity {
/** /**
* *
*/ */
@TableId(value = "lube_instance_id") @TableId(value = "lube_instance_id", type = IdType.AUTO)
private Long lubeInstanceId; private Long lubeInstanceId;
/** /**

@ -19,7 +19,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DmsBillsLubeInstanceActivity.class, reverseConvertGenerate = false) @AutoMapper(target = DmsBillsLubeInstanceActivity.class, reverseConvertGenerate = true)
public class DmsBillsLubeInstanceActivityBo extends BaseEntity { public class DmsBillsLubeInstanceActivityBo extends BaseEntity {
/** /**

@ -24,7 +24,7 @@ import java.util.Date;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = DmsBillsLubeInstanceActivity.class) @AutoMapper(target = DmsBillsLubeInstanceActivity.class, reverseConvertGenerate = true)
public class DmsBillsLubeInstanceActivityVo implements Serializable { public class DmsBillsLubeInstanceActivityVo implements Serializable {
@Serial @Serial

@ -25,7 +25,7 @@ import java.util.List;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = DmsBillsLubeInstance.class) @AutoMapper(target = DmsBillsLubeInstance.class, reverseConvertGenerate = true)
public class DmsBillsLubeInstanceVo implements Serializable { public class DmsBillsLubeInstanceVo implements Serializable {
@Serial @Serial

@ -45,9 +45,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="sub_update_time" /> <result property="updateTime" column="sub_update_time" />
</resultMap> </resultMap>
<!-- <select id="selectDmsPlanLubeJoinByPlanLubeCode" parameterType="String" resultMap="DmsPlanLubeDmsPlanLubeDetailResult">-->
<!-- select a.plan_lube_id, a.plan_lube_code, a.lube_level, a.lube_group, a.lube_supervisor, a.lube_time, a.time_limit, a.job_id, a.cycle_period, a.create_method, a.active_flag, a.remark, a.create_by, a.create_time, a.update_by,-->
<!-- a.update_time-->
<!-- from dms_plan_lube a-->
<!-- where a.plan_lube_code = #{planLubeCode}-->
<!-- </select>-->
<select id="selectDmsPlanLubeJoinByPlanLubeCode" parameterType="String" resultMap="DmsPlanLubeDmsPlanLubeDetailResult"> <select id="selectDmsPlanLubeJoinByPlanLubeCode" parameterType="String" resultMap="DmsPlanLubeDmsPlanLubeDetailResult">
select a.plan_lube_id, a.plan_lube_code, a.lube_level, a.lube_group, a.lube_supervisor, a.lube_time, a.time_limit, a.job_id, a.cycle_period, a.create_method, a.active_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time, select a.plan_lube_id, a.plan_lube_code, a.lube_level, a.lube_group, a.lube_supervisor, a.lube_time, a.time_limit, a.job_id, a.cycle_period, a.create_method, a.active_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time,
/* b.plan_lube_detail_id as sub_plan_lube_detail_id, b.plan_lube_detail_id as sub_plan_lube_detail_id,
b.plan_lube_id as sub_plan_lube_id, b.plan_lube_id as sub_plan_lube_id,
b.device_id as sub_machine_id, b.device_id as sub_machine_id,
b.lube_station_id as sub_lube_station_id, b.lube_station_id as sub_lube_station_id,
@ -58,9 +65,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
b.create_by as sub_create_by, b.create_by as sub_create_by,
b.create_time as sub_create_time, b.create_time as sub_create_time,
b.update_by as sub_update_by, b.update_by as sub_update_by,
b.update_time as sub_update_time*/ b.update_time as sub_update_time
from dms_plan_lube a from dms_plan_lube a
/* left join dms_plan_lube_detail b on b.plan_lube_id = a.plan_lube_id*/ left join dms_plan_lube_detail b on b.plan_lube_id = a.plan_lube_id
where a.plan_lube_code = #{planLubeCode} where a.plan_lube_code = #{planLubeCode}
</select> </select>

@ -40,7 +40,7 @@ public class SysDesignPageConfigController extends BaseController {
/** /**
* *
*/ */
@SaCheckPermission("system:designPageConfig:list") // @SaCheckPermission("system:designPageConfig:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<SysDesignPageConfigVo> list(SysDesignPageConfigBo bo, PageQuery pageQuery) { public TableDataInfo<SysDesignPageConfigVo> list(SysDesignPageConfigBo bo, PageQuery pageQuery) {
return sysDesignPageConfigService.queryPageList(bo, pageQuery); return sysDesignPageConfigService.queryPageList(bo, pageQuery);
@ -49,7 +49,7 @@ public class SysDesignPageConfigController extends BaseController {
/** /**
* *
*/ */
@SaCheckPermission("system:designPageConfig:export") // @SaCheckPermission("system:designPageConfig:export")
@Log(title = "大屏设计页面配置", businessType = BusinessType.EXPORT) @Log(title = "大屏设计页面配置", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(SysDesignPageConfigBo bo, HttpServletResponse response) { public void export(SysDesignPageConfigBo bo, HttpServletResponse response) {
@ -62,7 +62,7 @@ public class SysDesignPageConfigController extends BaseController {
* *
* @param pageConfigId * @param pageConfigId
*/ */
@SaCheckPermission("system:designPageConfig:query") // @SaCheckPermission("system:designPageConfig:query")
@GetMapping("/{pageConfigId}") @GetMapping("/{pageConfigId}")
public R<SysDesignPageConfigVo> getInfo(@NotNull(message = "主键不能为空") public R<SysDesignPageConfigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long pageConfigId) { @PathVariable Long pageConfigId) {
@ -72,7 +72,7 @@ public class SysDesignPageConfigController extends BaseController {
/** /**
* *
*/ */
@SaCheckPermission("system:designPageConfig:add") // @SaCheckPermission("system:designPageConfig:add")
@Log(title = "大屏设计页面配置", businessType = BusinessType.INSERT) @Log(title = "大屏设计页面配置", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
@ -83,7 +83,7 @@ public class SysDesignPageConfigController extends BaseController {
/** /**
* *
*/ */
@SaCheckPermission("system:designPageConfig:edit") // @SaCheckPermission("system:designPageConfig:edit")
@Log(title = "大屏设计页面配置", businessType = BusinessType.UPDATE) @Log(title = "大屏设计页面配置", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -96,7 +96,7 @@ public class SysDesignPageConfigController extends BaseController {
* *
* @param pageConfigIds * @param pageConfigIds
*/ */
@SaCheckPermission("system:designPageConfig:remove") // @SaCheckPermission("system:designPageConfig:remove")
@Log(title = "大屏设计页面配置", businessType = BusinessType.DELETE) @Log(title = "大屏设计页面配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{pageConfigIds}") @DeleteMapping("/{pageConfigIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@ -108,7 +108,6 @@ public class SysDesignPageConfigController extends BaseController {
/** /**
* *
*/ */
@GetMapping("/getSysDesignPageConfigList") @GetMapping("/getSysDesignPageConfigList")
public R<List<SysDesignPageConfigVo>> getSysDesignPageConfigList(SysDesignPageConfigBo bo) { public R<List<SysDesignPageConfigVo>> getSysDesignPageConfigList(SysDesignPageConfigBo bo) {
List<SysDesignPageConfigVo> list = sysDesignPageConfigService.queryList(bo); List<SysDesignPageConfigVo> list = sysDesignPageConfigService.queryList(bo);

@ -0,0 +1,132 @@
package org.dromara.system.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 线 sys_design_page_edges
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_design_page_edges")
public class SysDesignPageEdges extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 线ID
*/
@TableId(value = "page_edges_id")
private String pageEdgesId;
/**
* ID
*/
private Long pageConfigId;
/**
* 线
*/
private String edgeType;
/**
* ID
*/
private String sourceNodeId;
/**
* ID
*/
private String targetNodeId;
/**
* ID
*/
private String sourceHandleId;
/**
* ID
*/
private String targetHandleId;
/**
* X
*/
private Long posX;
/**
* Y
*/
private Long posY;
/**
* (px)
*/
private Long width;
/**
* (px)
*/
private Long height;
/**
*
*/
private String customContent;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -0,0 +1,132 @@
package org.dromara.system.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* sys_design_page_point
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_design_page_point")
public class SysDesignPagePoint extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "page_point_id")
private String pagePointId;
/**
* ID
*/
private Long pageConfigId;
/**
*
*/
private String pagePointCode;
/**
*
*/
private String pagePointName;
/**
*
*/
private String pointType;
/**
*
*/
private String componentType;
/**
* X
*/
private Long posX;
/**
* Y
*/
private Long posY;
/**
* (px)
*/
private Long width;
/**
* (px)
*/
private Long height;
/**
*
*/
private String pagePointTitle;
/**
*
*/
private String dataContent;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 0 2
*/
@TableLogic
private String delFlag;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -8,6 +8,10 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import org.dromara.system.domain.SysDesignPageEdges;
import org.dromara.system.domain.SysDesignPagePoint;
import java.util.List;
/** /**
* sys_design_page_config * sys_design_page_config
@ -23,7 +27,6 @@ public class SysDesignPageConfigBo extends BaseEntity {
/** /**
* ID * ID
*/ */
@NotNull(message = "页面配置ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long pageConfigId; private Long pageConfigId;
/** /**
@ -35,68 +38,65 @@ public class SysDesignPageConfigBo extends BaseEntity {
/** /**
* *
*/ */
@NotBlank(message = "页面背景不能为空", groups = { AddGroup.class, EditGroup.class })
private String pageBackground; private String pageBackground;
/** /**
* *
*/ */
@NotBlank(message = "页面路由不能为空", groups = { AddGroup.class, EditGroup.class })
private String pageRouting; private String pageRouting;
/** /**
* *
*/ */
@NotBlank(message = "自定义内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String customContent; private String customContent;
/** /**
* *
*/ */
@NotNull(message = "显示排序不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sortOrder; private Long sortOrder;
/** /**
* *
*/ */
@NotBlank(message = "预留字段一不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldOne; private String fieldOne;
/** /**
* *
*/ */
@NotBlank(message = "预留字段二不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldTwo; private String fieldTwo;
/** /**
* *
*/ */
@NotBlank(message = "预留字段三不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldThree; private String fieldThree;
/** /**
* *
*/ */
@NotBlank(message = "预留字段四不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldFour; private String fieldFour;
/** /**
* *
*/ */
@NotBlank(message = "预留字段五不能为空", groups = { AddGroup.class, EditGroup.class })
private String fieldFive; private String fieldFive;
/** /**
* 1 0 * 1 0
*/ */
@NotBlank(message = "激活标识1是 0否不能为空", groups = { AddGroup.class, EditGroup.class })
private String activeFlag; private String activeFlag;
/** /**
* *
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
/**
* 线List
*/
private List<SysDesignPageEdges> designPageEdgesList;
/**
* List
*/
private List<SysDesignPagePoint> designPagePointList;
} }

@ -0,0 +1,128 @@
package org.dromara.system.domain.bo;
import org.dromara.system.domain.SysDesignPageEdges;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 线 sys_design_page_edges
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysDesignPageEdges.class, reverseConvertGenerate = false)
public class SysDesignPageEdgesBo extends BaseEntity {
/**
* 线ID
*/
private String pageEdgesId;
/**
* ID
*/
private Long pageConfigId;
/**
* 线
*/
private String edgeType;
/**
* ID
*/
private String sourceNodeId;
/**
* ID
*/
private String targetNodeId;
/**
* ID
*/
private String sourceHandleId;
/**
* ID
*/
private String targetHandleId;
/**
* X
*/
@NotNull(message = "X坐标不能为空", groups = { AddGroup.class, EditGroup.class })
private Long posX;
/**
* Y
*/
@NotNull(message = "Y坐标不能为空", groups = { AddGroup.class, EditGroup.class })
private Long posY;
/**
* (px)
*/
@NotNull(message = "宽度(px)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long width;
/**
* (px)
*/
@NotNull(message = "高度(px)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long height;
/**
*
*/
private String customContent;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -0,0 +1,125 @@
package org.dromara.system.domain.bo;
import org.dromara.system.domain.SysDesignPagePoint;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* sys_design_page_point
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysDesignPagePoint.class, reverseConvertGenerate = false)
public class SysDesignPagePointBo extends BaseEntity {
/**
* ID
*/
private String pagePointId;
/**
* ID
*/
private Long pageConfigId;
/**
*
*/
@NotBlank(message = "页面节点编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String pagePointCode;
/**
*
*/
private String pagePointName;
/**
*
*/
private String pointType;
/**
*
*/
private String componentType;
/**
* X
*/
private Long posX;
/**
* Y
*/
private Long posY;
/**
* (px)
*/
private Long width;
/**
* (px)
*/
private Long height;
/**
*
*/
private String pagePointTitle;
/**
*
*/
private String dataContent;
/**
*
*/
private Long sortOrder;
/**
*
*/
private String fieldOne;
/**
*
*/
private String fieldTwo;
/**
*
*/
private String fieldThree;
/**
*
*/
private String fieldFour;
/**
*
*/
private String fieldFive;
/**
* 1 0
*/
private String activeFlag;
/**
*
*/
private String remark;
}

@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.system.domain.SysDesignPageEdges;
import org.dromara.system.domain.SysDesignPagePoint;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.List;
/** /**
@ -107,5 +108,14 @@ public class SysDesignPageConfigVo implements Serializable {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 线List
*/
private List<SysDesignPageEdges> designPageEdgesList;
/**
* List
*/
private List<SysDesignPagePoint> designPagePointList;
} }

@ -0,0 +1,153 @@
package org.dromara.system.domain.vo;
import org.dromara.system.domain.SysDesignPageEdges;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 线 sys_design_page_edges
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysDesignPageEdges.class)
public class SysDesignPageEdgesVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 线ID
*/
@ExcelProperty(value = "页面连接线ID")
private String pageEdgesId;
/**
* ID
*/
@ExcelProperty(value = "页面配置ID")
private Long pageConfigId;
/**
* 线
*/
@ExcelProperty(value = "线类型")
private String edgeType;
/**
* ID
*/
@ExcelProperty(value = "原节点ID")
private String sourceNodeId;
/**
* ID
*/
@ExcelProperty(value = "目标节点ID")
private String targetNodeId;
/**
* ID
*/
@ExcelProperty(value = "源句柄ID")
private String sourceHandleId;
/**
* ID
*/
@ExcelProperty(value = "目标句柄ID")
private String targetHandleId;
/**
* X
*/
@ExcelProperty(value = "X坐标")
private Long posX;
/**
* Y
*/
@ExcelProperty(value = "Y坐标")
private Long posY;
/**
* (px)
*/
@ExcelProperty(value = "宽度(px)")
private Long width;
/**
* (px)
*/
@ExcelProperty(value = "高度(px)")
private Long height;
/**
*
*/
@ExcelProperty(value = "自定义内容")
private String customContent;
/**
*
*/
@ExcelProperty(value = "显示排序")
private Long sortOrder;
/**
*
*/
@ExcelProperty(value = "预留字段一")
private String fieldOne;
/**
*
*/
@ExcelProperty(value = "预留字段二")
private String fieldTwo;
/**
*
*/
@ExcelProperty(value = "预留字段三")
private String fieldThree;
/**
*
*/
@ExcelProperty(value = "预留字段四")
private String fieldFour;
/**
*
*/
@ExcelProperty(value = "预留字段五")
private String fieldFive;
/**
* 1 0
*/
@ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String activeFlag;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,153 @@
package org.dromara.system.domain.vo;
import org.dromara.system.domain.SysDesignPagePoint;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* sys_design_page_point
*
* @author Yinq
* @date 2025-05-21
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysDesignPagePoint.class)
public class SysDesignPagePointVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@ExcelProperty(value = "页面节点ID")
private String pagePointId;
/**
* ID
*/
@ExcelProperty(value = "页面配置ID")
private Long pageConfigId;
/**
*
*/
@ExcelProperty(value = "页面节点编号")
private String pagePointCode;
/**
*
*/
@ExcelProperty(value = "页面节点名称")
private String pagePointName;
/**
*
*/
@ExcelProperty(value = "节点类型")
private String pointType;
/**
*
*/
@ExcelProperty(value = "组件类型")
private String componentType;
/**
* X
*/
@ExcelProperty(value = "X坐标")
private Long posX;
/**
* Y
*/
@ExcelProperty(value = "Y坐标")
private Long posY;
/**
* (px)
*/
@ExcelProperty(value = "宽度(px)")
private Long width;
/**
* (px)
*/
@ExcelProperty(value = "高度(px)")
private Long height;
/**
*
*/
@ExcelProperty(value = "页面节点标题")
private String pagePointTitle;
/**
*
*/
@ExcelProperty(value = "页面数据内容")
private String dataContent;
/**
*
*/
@ExcelProperty(value = "显示排序")
private Long sortOrder;
/**
*
*/
@ExcelProperty(value = "预留字段一")
private String fieldOne;
/**
*
*/
@ExcelProperty(value = "预留字段二")
private String fieldTwo;
/**
*
*/
@ExcelProperty(value = "预留字段三")
private String fieldThree;
/**
*
*/
@ExcelProperty(value = "预留字段四")
private String fieldFour;
/**
*
*/
@ExcelProperty(value = "预留字段五")
private String fieldFive;
/**
* 1 0
*/
@ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "active_flag")
private String activeFlag;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,15 @@
package org.dromara.system.mapper;
import org.dromara.system.domain.SysDesignPageEdges;
import org.dromara.system.domain.vo.SysDesignPageEdgesVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 线Mapper
*
* @author Yinq
* @date 2025-05-21
*/
public interface SysDesignPageEdgesMapper extends BaseMapperPlus<SysDesignPageEdges, SysDesignPageEdgesVo> {
}

@ -0,0 +1,15 @@
package org.dromara.system.mapper;
import org.dromara.system.domain.SysDesignPagePoint;
import org.dromara.system.domain.vo.SysDesignPagePointVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author Yinq
* @date 2025-05-21
*/
public interface SysDesignPagePointMapper extends BaseMapperPlus<SysDesignPagePoint, SysDesignPagePointVo> {
}

@ -9,6 +9,7 @@ import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.system.domain.SysDesignDataField; import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.domain.SysDesignPagePoint;
import org.dromara.system.mapper.SysDesignDataFieldMapper; import org.dromara.system.mapper.SysDesignDataFieldMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.system.domain.bo.SysDesignDataSourceBo; import org.dromara.system.domain.bo.SysDesignDataSourceBo;
@ -18,9 +19,8 @@ import org.dromara.system.mapper.SysDesignDataSourceMapper;
import org.dromara.system.service.ISysDesignDataSourceService; import org.dromara.system.service.ISysDesignDataSourceService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.stream.Collectors;
import java.util.Collection;
/** /**
* Service * Service
@ -63,6 +63,13 @@ public class SysDesignDataSourceServiceImpl implements ISysDesignDataSourceServi
public TableDataInfo<SysDesignDataSourceVo> queryPageList(SysDesignDataSourceBo bo, PageQuery pageQuery) { public TableDataInfo<SysDesignDataSourceVo> queryPageList(SysDesignDataSourceBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<SysDesignDataSource> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<SysDesignDataSource> lqw = buildQueryWrapper(bo);
Page<SysDesignDataSourceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<SysDesignDataSourceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
List<SysDesignDataSourceVo> records = result.getRecords();
for (SysDesignDataSourceVo record : records) {
MPJLambdaWrapper<SysDesignDataField> lqwRecord = JoinWrappers.lambda(SysDesignDataField.class);
lqwRecord.eq(SysDesignDataField::getDataSourceId, record.getDataSourceId());
List<SysDesignDataField> dataFieldList = designDataFieldMapper.selectList(lqwRecord);
record.setDesignDataFieldList(dataFieldList);
}
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -137,18 +144,24 @@ public class SysDesignDataSourceServiceImpl implements ISysDesignDataSourceServi
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean updateByBo(SysDesignDataSourceBo bo) { public Boolean updateByBo(SysDesignDataSourceBo bo) {
SysDesignDataSource update = MapstructUtils.convert(bo, SysDesignDataSource.class); SysDesignDataSource update = MapstructUtils.convert(bo, SysDesignDataSource.class);
List<SysDesignDataField> designDataFieldList = bo.getDesignDataFieldList();
validEntityBeforeSave(update); validEntityBeforeSave(update);
List<SysDesignDataField> designDataFieldList = bo.getDesignDataFieldList();
MPJLambdaWrapper<SysDesignDataField> lqwRecord = JoinWrappers.lambda(SysDesignDataField.class);
lqwRecord.eq(SysDesignDataField::getDataSourceId, bo.getDataSourceId());
List<SysDesignDataField> dataFieldList = designDataFieldMapper.selectList(lqwRecord);
if (!designDataFieldList.isEmpty()) { if (!designDataFieldList.isEmpty()) {
// MPJLambdaWrapper<SysDesignDataField> lqw = JoinWrappers.lambda(SysDesignDataField.class);
// lqw.eq(bo.getDataSourceId() != null, SysDesignDataField::getDataSourceId, bo.getDataSourceId());
// List<SysDesignDataField> dataFieldList = designDataFieldMapper.selectList(lqw);
// for (SysDesignDataField field : dataFieldList) {
// designDataFieldMapper.deleteById(field.getDataFieldId());
// }
for (SysDesignDataField dataField : designDataFieldList) { for (SysDesignDataField dataField : designDataFieldList) {
designDataFieldMapper.insertOrUpdate(dataField); designDataFieldMapper.insertOrUpdate(dataField);
} }
Set<Long> existingDataFieldIds = designDataFieldList.stream()
.map(SysDesignDataField::getDataFieldId)
.collect(Collectors.toSet());
List<SysDesignDataField> filteredDataFields = dataFieldList.stream()
.filter(field -> !existingDataFieldIds.contains(field.getDataFieldId()))
.toList();
for (SysDesignDataField dataField : filteredDataFields) {
designDataFieldMapper.deleteById(dataField.getDataFieldId());
}
} }
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }

@ -8,16 +8,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.system.domain.SysDesignDataField;
import org.dromara.system.domain.SysDesignPageEdges;
import org.dromara.system.domain.SysDesignPagePoint;
import org.dromara.system.mapper.SysDesignPageEdgesMapper;
import org.dromara.system.mapper.SysDesignPagePointMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.system.domain.bo.SysDesignPageConfigBo; import org.dromara.system.domain.bo.SysDesignPageConfigBo;
import org.dromara.system.domain.vo.SysDesignPageConfigVo; import org.dromara.system.domain.vo.SysDesignPageConfigVo;
import org.dromara.system.domain.SysDesignPageConfig; import org.dromara.system.domain.SysDesignPageConfig;
import org.dromara.system.mapper.SysDesignPageConfigMapper; import org.dromara.system.mapper.SysDesignPageConfigMapper;
import org.dromara.system.service.ISysDesignPageConfigService; import org.dromara.system.service.ISysDesignPageConfigService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.stream.Collectors;
import java.util.Collection;
/** /**
* Service * Service
@ -31,6 +36,10 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
private final SysDesignPageConfigMapper baseMapper; private final SysDesignPageConfigMapper baseMapper;
private final SysDesignPagePointMapper designPagePointMapper;
private final SysDesignPageEdgesMapper designPageEdgesMapper;
/** /**
* *
* *
@ -38,8 +47,13 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
* @return * @return
*/ */
@Override @Override
public SysDesignPageConfigVo queryById(Long pageConfigId){ public SysDesignPageConfigVo queryById(Long pageConfigId) {
return baseMapper.selectVoById(pageConfigId); SysDesignPageConfigVo designPageConfigVo = baseMapper.selectVoById(pageConfigId);
List<SysDesignPagePoint> designPagePointList = getDesignPagePoints(pageConfigId);
designPageConfigVo.setDesignPagePointList(designPagePointList);
List<SysDesignPageEdges> designPageEdgesList = getDesignPageEdges(pageConfigId);
designPageConfigVo.setDesignPageEdgesList(designPageEdgesList);
return designPageConfigVo;
} }
/** /**
@ -53,6 +67,13 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
public TableDataInfo<SysDesignPageConfigVo> queryPageList(SysDesignPageConfigBo bo, PageQuery pageQuery) { public TableDataInfo<SysDesignPageConfigVo> queryPageList(SysDesignPageConfigBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<SysDesignPageConfig> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<SysDesignPageConfig> lqw = buildQueryWrapper(bo);
Page<SysDesignPageConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<SysDesignPageConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// List<SysDesignPageConfigVo> records = result.getRecords();
// for (SysDesignPageConfigVo record : records) {
// List<SysDesignPagePoint> designPagePointList = getDesignPagePoints(record.getPageConfigId());
// record.setDesignPagePointList(designPagePointList);
// List<SysDesignPageEdges> designPageEdgesList = getDesignPageEdges(record.getPageConfigId());
// record.setDesignPageEdgesList(designPageEdgesList);
// }
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -94,13 +115,28 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
* @param bo * @param bo
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean insertByBo(SysDesignPageConfigBo bo) { public Boolean insertByBo(SysDesignPageConfigBo bo) {
SysDesignPageConfig add = MapstructUtils.convert(bo, SysDesignPageConfig.class); SysDesignPageConfig add = MapstructUtils.convert(bo, SysDesignPageConfig.class);
List<SysDesignPagePoint> designPagePointList = bo.getDesignPagePointList();
List<SysDesignPageEdges> designPageEdgesList = bo.getDesignPageEdgesList();
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setPageConfigId(add.getPageConfigId()); bo.setPageConfigId(add.getPageConfigId());
if (!designPagePointList.isEmpty()) {
for (SysDesignPagePoint designPagePoint : designPagePointList) {
designPagePoint.setPageConfigId(add.getPageConfigId());
designPagePointMapper.insert(designPagePoint);
}
}
if (!designPageEdgesList.isEmpty()) {
for (SysDesignPageEdges designPageEdges : designPageEdgesList) {
designPageEdges.setPageConfigId(add.getPageConfigId());
designPageEdgesMapper.insert(designPageEdges);
}
}
} }
return flag; return flag;
} }
@ -111,17 +147,58 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
* @param bo * @param bo
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean updateByBo(SysDesignPageConfigBo bo) { public Boolean updateByBo(SysDesignPageConfigBo bo) {
SysDesignPageConfig update = MapstructUtils.convert(bo, SysDesignPageConfig.class); SysDesignPageConfig update = MapstructUtils.convert(bo, SysDesignPageConfig.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
List<SysDesignPagePoint> designPagePointList = bo.getDesignPagePointList();
List<SysDesignPageEdges> designPageEdgesList = bo.getDesignPageEdgesList();
List<SysDesignPagePoint> oldDesignPagePoints = getDesignPagePoints(bo.getPageConfigId());
List<SysDesignPageEdges> oldDesignPageEdges = getDesignPageEdges(bo.getPageConfigId());
if (!designPagePointList.isEmpty()) {
for (SysDesignPagePoint designPagePoint : designPagePointList) {
designPagePointMapper.insertOrUpdate(designPagePoint);
}
Set<String> existingPagePointIds = new HashSet<>(designPagePointList.size());
designPagePointList.forEach(point -> existingPagePointIds.add(point.getPagePointId()));
List<String> filteredPagePointIds = new ArrayList<>(oldDesignPagePoints.size());
for (SysDesignPagePoint point : oldDesignPagePoints) {
String pagePointId = point.getPagePointId();
if (!existingPagePointIds.contains(pagePointId)) {
filteredPagePointIds.add(pagePointId);
}
}
for (String pagePointId : filteredPagePointIds) {
designPagePointMapper.deleteById(pagePointId);
}
}
if (!designPageEdgesList.isEmpty()) {
for (SysDesignPageEdges designPageEdges : designPageEdgesList) {
designPageEdgesMapper.insertOrUpdate(designPageEdges);
}
// 获取现有边ID集合用于快速判断是否存在
Set<String> existingEdgeIds = new HashSet<>(designPageEdgesList.size());
designPageEdgesList.forEach(edge -> existingEdgeIds.add(edge.getPageEdgesId())); // 假设边ID字段为getEdgeId()
List<String> edgesToDelete = new ArrayList<>(oldDesignPageEdges.size());
for (SysDesignPageEdges edge : oldDesignPageEdges) {
String edgeId = edge.getPageEdgesId();
if (!existingEdgeIds.contains(edgeId)) {
edgesToDelete.add(edgeId);
}
}
for (String edgeId : edgesToDelete) {
designPageEdgesMapper.deleteById(edgeId);
}
}
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
/** /**
* *
*/ */
private void validEntityBeforeSave(SysDesignPageConfig entity){ private void validEntityBeforeSave(SysDesignPageConfig entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -134,9 +211,35 @@ public class SysDesignPageConfigServiceImpl implements ISysDesignPageConfigServi
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
/**
* ID
*
* @param pageConfigId ID
* @return
*/
private List<SysDesignPagePoint> getDesignPagePoints(Long pageConfigId) {
MPJLambdaWrapper<SysDesignPagePoint> lqw = JoinWrappers.lambda(SysDesignPagePoint.class);
lqw.eq(SysDesignPagePoint::getPageConfigId, pageConfigId);
return designPagePointMapper.selectList(lqw);
}
/**
* ID
*
* @param pageConfigId ID
* @return
*/
private List<SysDesignPageEdges> getDesignPageEdges(Long pageConfigId) {
MPJLambdaWrapper<SysDesignPageEdges> lqw = JoinWrappers.lambda(SysDesignPageEdges.class);
lqw.eq(SysDesignPageEdges::getPageConfigId, pageConfigId);
return designPageEdgesMapper.selectList(lqw);
}
} }

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.system.mapper.SysDesignPageEdgesMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.system.mapper.SysDesignPagePointMapper">
</mapper>
Loading…
Cancel
Save