feat(form):支持导入数据

yun-zuoyi
汪云昊 5 years ago
parent 426a6f2026
commit 206e5f8d20

@ -8,6 +8,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.DynamicUpdate;
@ -140,6 +141,11 @@ public class BfElement extends BaseBean {
@ApiParam(value = "是否导出") @ApiParam(value = "是否导出")
private Integer isObjectExport; private Integer isObjectExport;
@ColumnDefault("2")
@Column(name = "IS_OBJECT_IMPORT")
@ApiParam(value = "是否导入")
private Integer isObjectImport;
@Column(name="ELEMENT_SORT_ATTR_ID") @Column(name="ELEMENT_SORT_ATTR_ID")
@ApiParam(value ="默认排序属性") @ApiParam(value ="默认排序属性")
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)

@ -3,6 +3,7 @@ package cn.estsh.i3plus.pojo.form.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.BlockFormEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.BlockFormEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -87,6 +88,10 @@ public class BfElementProperty extends BaseBean {
@ApiParam(value = "是否必填") @ApiParam(value = "是否必填")
private Integer propertyValueNotNull; private Integer propertyValueNotNull;
public boolean isPropValNotNull() {
return propertyValueNotNull == null || propertyValueNotNull == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue();
}
@Column(name = "PROPERTY_IS_FIND") @Column(name = "PROPERTY_IS_FIND")
@ApiParam(value = "是否查询条件") @ApiParam(value = "是否查询条件")
private Integer propertyIsFind; private Integer propertyIsFind;
@ -123,6 +128,14 @@ public class BfElementProperty extends BaseBean {
@ApiParam(value = "显示顺序") @ApiParam(value = "显示顺序")
private Integer propertySort; private Integer propertySort;
@Column(name = "IS_SUPPORT_IMPORT")
@ApiParam(value = "是否支持导入")
private Integer isSupportImport;
public boolean isSupportImport() {
return isSupportImport != null && isSupportImport == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue();
}
@Column(name = "PROPERTY_CONTROL_TYPE") @Column(name = "PROPERTY_CONTROL_TYPE")
@ApiParam(value = "控件类型") @ApiParam(value = "控件类型")
private Integer propertyControlType; private Integer propertyControlType;

@ -5,9 +5,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -16,12 +16,12 @@ import java.util.List;
* @Description: * @Description:
**/ **/
@Data @Data
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Api("mes导入结果model") @Api("mes导入结果model")
public class ExcelImportModel<T> implements Serializable { public class ExcelImportModel<T> implements Serializable {
private static final long serialVersionUID = 3075276018074690913L; private static final long serialVersionUID = 3075276018074690913L;
@ApiParam("结果") @ApiParam("结果")
private boolean result; private boolean result;
@ -32,7 +32,7 @@ public class ExcelImportModel<T> implements Serializable {
private int failRowNum; private int failRowNum;
@ApiParam("错误信息集合") @ApiParam("错误信息集合")
private List<ImportErrorModel> ImportErrorModels; private List<ImportErrorModel> importErrorModels;
@ApiParam("错误的行号") @ApiParam("错误的行号")
private String errorRows; private String errorRows;
@ -46,4 +46,17 @@ public class ExcelImportModel<T> implements Serializable {
@ApiParam("Sheet名称") @ApiParam("Sheet名称")
private String sheetName; private String sheetName;
public ExcelImportModel() {
result = true;
}
public void addErrorMsg(ImportErrorModel errorModel) {
if (importErrorModels == null) {
importErrorModels = new ArrayList<>();
}
importErrorModels.add(errorModel);
result = false;
}
} }

@ -21,9 +21,19 @@ import java.io.Serializable;
public class ImportErrorModel implements Serializable { public class ImportErrorModel implements Serializable {
private static final long serialVersionUID = 1212013821950324792L; private static final long serialVersionUID = 1212013821950324792L;
@ApiParam("sheet名称")
private String sheetName;
@ApiParam("错误的行号") @ApiParam("错误的行号")
private int rowNum; private int rowNum;
@ApiParam("错误的列号")
private int colNum;
@ApiParam("错误的列名")
private String colName;
@ApiParam("错误数量") @ApiParam("错误数量")
private int errorNum; private int errorNum;
@ -33,4 +43,58 @@ public class ImportErrorModel implements Serializable {
@ApiParam("错误描述") @ApiParam("错误描述")
private String errorInfo; private String errorInfo;
public static final class Builder {
private String sheetName;
private int rowNum;
private int colNum;
private String colName;
private String errorInfo;
private Builder() {
}
public static Builder newBuilder() {
return new Builder();
}
public Builder withSheetName(String sheetName) {
this.sheetName = sheetName;
return this;
}
public Builder withRowNum(int rowNum) {
this.rowNum = rowNum;
return this;
}
public Builder withColNum(int colNum) {
this.colNum = colNum;
return this;
}
public Builder withColName(String colName) {
this.colName = colName;
return this;
}
public Builder withErrorInfo(String errorInfo) {
this.errorInfo = errorInfo;
return this;
}
public ImportErrorModel build() {
ImportErrorModel importErrorModel = new ImportErrorModel();
importErrorModel.setSheetName(sheetName);
importErrorModel.setRowNum(rowNum);
importErrorModel.setColNum(colNum);
importErrorModel.setColName(colName);
if(errorInfo== null){
importErrorModel.setErrorInfo("SHEET【" + sheetName + "】中第【" + rowNum + "】行,第【" + colNum + "】列 " +
colName + " 数据为空");
}else {
importErrorModel.setErrorInfo(errorInfo);
}
return importErrorModel;
}
}
} }

Loading…
Cancel
Save