From fbc72a4f11700a7eea89630921c36108f867a9e0 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Fri, 22 Mar 2019 18:26:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=8A=A5=E8=A1=A8=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=8A=9F=E8=83=BD=20=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/form/bean/BfButton.java | 1 - .../cn/estsh/i3plus/pojo/form/bean/BfLayout.java | 37 +++++----- .../i3plus/pojo/form/bean/BfLayoutColumn.java | 37 +++++----- .../estsh/i3plus/pojo/form/bean/BfLayoutRow.java | 29 ++++---- .../i3plus/pojo/form/sqlpack/FormHqlPack.java | 83 +++++++++++++++++++++- 5 files changed, 132 insertions(+), 55 deletions(-) diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java index fe5f61e..d8192c2 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java @@ -2,7 +2,6 @@ package cn.estsh.i3plus.pojo.form.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayout.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayout.java index e9cda71..30abaca 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayout.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayout.java @@ -7,7 +7,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -26,39 +25,39 @@ import java.util.List; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="BF_LAYOUT") -@Api(value="自定义表单布局") +@Table(name = "BF_LAYOUT") +@Api(value = "自定义表单布局") public class BfLayout extends BaseBean { - @Column(name="LAYOUT_NAME") - @ApiParam(value ="名称") + @Column(name = "LAYOUT_NAME") + @ApiParam(value = "名称") private String layoutName; - @Column(name="LAYOUT_WIDTH") - @ApiParam(value ="布局宽度") + @Column(name = "LAYOUT_WIDTH") + @ApiParam(value = "布局宽度") private Double layoutWidth; - @Column(name="LAYOUT_HEIGHT") - @ApiParam(value ="布局高度") + @Column(name = "LAYOUT_HEIGHT") + @ApiParam(value = "布局高度") private Double layoutHeight; - @Column(name="LAYOUT_ROW_COUNT") - @ApiParam(value ="行数") + @Column(name = "LAYOUT_ROW_COUNT") + @ApiParam(value = "行数") private Integer layoutRowCount; - @Column(name="LAYOUT_COLUMN_COUNT") - @ApiParam(value ="列数") + @Column(name = "LAYOUT_COLUMN_COUNT") + @ApiParam(value = "列数") private Integer layoutColumnCount; - @Column(name="LAYOUT_REPORT_COUNT") - @ApiParam(value ="引用报表数量") + @Column(name = "LAYOUT_REPORT_COUNT") + @ApiParam(value = "引用报表数量") private Integer layoutReportCount; - @Column(name = "LAYOUT_DESCRIPTION",columnDefinition = "TEXT") - @ApiParam(value ="布局描述") + @Column(name = "LAYOUT_DESCRIPTION", columnDefinition = "TEXT") + @ApiParam(value = "布局描述") private String layoutDescription; + // 布局行集合 @Transient - @ApiParam(value ="模板行集合") - private List brLayoutRows; + private List bfLayoutRows; } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutColumn.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutColumn.java index 3bcd562..6adb621 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutColumn.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutColumn.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -26,41 +25,41 @@ import javax.persistence.Table; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="BF_LAYOUT_COLUMN") -@Api(value="自定义表单布局-列") +@Table(name = "BF_LAYOUT_COLUMN") +@Api(value = "自定义表单布局-列") public class BfLayoutColumn extends BaseBean { - @Column(name="LAYOUT_ID") - @ApiParam(value ="布局主键") + @Column(name = "LAYOUT_ID") + @ApiParam(value = "布局主键") @JsonSerialize(using = ToStringSerializer.class) private Long layoutId; - @Column(name="LAYOUT_ROW_ID") - @ApiParam(value ="行主键") + @Column(name = "LAYOUT_ROW_ID") + @ApiParam(value = "行主键") @JsonSerialize(using = ToStringSerializer.class) private Long layoutRowId; - @Column(name="COLUMN_COLSPAN") - @ApiParam(value ="跨列数") + @Column(name = "COLUMN_COLSPAN") + @ApiParam(value = "跨列数") private Integer columnColspan; - @Column(name="COLUMN_ROWSPAN") - @ApiParam(value ="跨行数") + @Column(name = "COLUMN_ROWSPAN") + @ApiParam(value = "跨行数") private Integer columnRowspan; - @Column(name="COLUMN_WIDTH") - @ApiParam(value ="列宽") + @Column(name = "COLUMN_WIDTH") + @ApiParam(value = "列宽") private Integer columnWidth; - @Column(name="COLUMN_STYLE") - @ApiParam(value ="列样式") + @Column(name = "COLUMN_STYLE") + @ApiParam(value = "列样式") private String columnStyle; - @Column(name="COLUMN_SORT") - @ApiParam(value ="排序,降序") + @Column(name = "COLUMN_SORT") + @ApiParam(value = "排序,降序") private Integer columnSort; - @Column(name = "COLUMN_DESCRIPTION",columnDefinition = "TEXT") - @ApiParam(value ="列描述") + @Column(name = "COLUMN_DESCRIPTION", columnDefinition = "TEXT") + @ApiParam(value = "列描述") private String columnDescription; } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutRow.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutRow.java index 500b042..3996e81 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutRow.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfLayoutRow.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; @@ -28,32 +27,32 @@ import java.util.List; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="BF_LAYOUT_ROW") -@Api(value="自定义表单布局-行") +@Table(name = "BF_LAYOUT_ROW") +@Api(value = "自定义表单布局-行") public class BfLayoutRow extends BaseBean { - @Column(name="LAYOUT_ID") - @ApiParam(value ="布局主键") + @Column(name = "LAYOUT_ID") + @ApiParam(value = "布局主键") @JsonSerialize(using = ToStringSerializer.class) private Long layoutId; - @Column(name="ROW_HEIGHT") - @ApiParam(value ="行高") + @Column(name = "ROW_HEIGHT") + @ApiParam(value = "行高") private Integer rowHeight; - @Column(name="ROW_SORT") - @ApiParam(value ="排序") + @Column(name = "ROW_SORT") + @ApiParam(value = "排序") private Integer rowSort; - @Column(name="ROW_STYLE",columnDefinition = "TEXT") - @ApiParam(value ="行样式") + @Column(name = "ROW_STYLE", columnDefinition = "TEXT") + @ApiParam(value = "行样式") private String rowStyle; - @Column(name="ROW_COL_NUM") - @ApiParam(value ="行所关联列数") + @Column(name = "ROW_COL_NUM") + @ApiParam(value = "行所关联列数") private Integer rowColNum; + // 行所包含的列 @Transient - @ApiParam(value ="行所包含的列") - private List brLayoutColumns; + private List bfLayoutColumns; } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java index 7802209..95afcb3 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java @@ -1,5 +1,10 @@ package cn.estsh.i3plus.pojo.form.sqlpack; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.form.bean.BfLayout; +import cn.estsh.i3plus.pojo.form.bean.BfLayoutRow; +import org.apache.commons.lang3.StringUtils; + /** * @Description : * @Reference : @@ -7,5 +12,81 @@ package cn.estsh.i3plus.pojo.form.sqlpack; * @CreateDate : 2019-03-21 15:16 * @Modify: **/ -public class FormHqlPack { +public final class FormHqlPack { + + private FormHqlPack() { + } + + /** + * In 参数封装 + * @param columnName 列名 + * @param params 参数 + * @return hql + */ + public static String packHqlIds(String columnName, String[] params) { + StringBuffer result = new StringBuffer(); + + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(String.join(",", params), columnName, result); + return result.toString(); + } + + /** + * In 参数封装 + * @param columnName 列名 + * @param params 参数 + * @return hql + */ + public static String packHqlIds(String columnName, Long[] params) { + StringBuffer result = new StringBuffer(); + + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(StringUtils.join(params, ","), columnName, result); + return result.toString(); + } + + /** + * 表单布局复杂查询 + * @param bfLayout 表单布局 + * @return hql + */ + public static String packHqlBfLayout(BfLayout bfLayout) { + StringBuffer result = new StringBuffer(); + + HqlPack.getStringLikerPack(bfLayout.getLayoutName(), "layoutName", result); + HqlPack.getNumEqualPack(bfLayout.getIsDeleted(), "isDeleted", result); + + return result.toString(); + } + + /** + * 根据表单布局查询表单布局行 + * @param bfLayout 表单布局 + * @return hql + */ + public static String packHqlBfLayoutRowByBfLayout(BfLayout bfLayout) { + StringBuffer result = new StringBuffer(); + + HqlPack.getNumEqualPack(bfLayout.getId(), "layoutId", result); + HqlPack.getNumEqualPack(bfLayout.getIsDeleted(), "isDeleted", result); + + result.append(bfLayout.orderBy()); + return result.toString(); + } + + /** + * 根据表单布局行查询表单布局列 + * @param bfLayoutRow 表单布局行 + * @return hql + */ + public static String packHqlBfLayoutColumnByBfLayoutRow(BfLayoutRow bfLayoutRow) { + StringBuffer result = new StringBuffer(); + + HqlPack.getNumEqualPack(bfLayoutRow.getLayoutId(), "layoutId", result); + HqlPack.getNumEqualPack(bfLayoutRow.getId(), "layoutRowId", result); + HqlPack.getNumEqualPack(bfLayoutRow.getIsDeleted(), "isDeleted", result); + + result.append(bfLayoutRow.orderBy()); + return result.toString(); + } }