提交 3a12d7aa 编写于 作者: sq3536's avatar sq3536

model

上级 40e9896a
...@@ -4,6 +4,8 @@ import cn.ibizlab.core.lite.domain.MetaDataSet; ...@@ -4,6 +4,8 @@ import cn.ibizlab.core.lite.domain.MetaDataSet;
import cn.ibizlab.core.lite.domain.MetaEntity; import cn.ibizlab.core.lite.domain.MetaEntity;
import cn.ibizlab.core.lite.domain.MetaField; import cn.ibizlab.core.lite.domain.MetaField;
import cn.ibizlab.core.lite.domain.MetaRelationship; import cn.ibizlab.core.lite.domain.MetaRelationship;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
...@@ -13,10 +15,7 @@ import lombok.NoArgsConstructor; ...@@ -13,10 +15,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.HashMap; import java.util.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@Getter @Getter
@Setter @Setter
...@@ -68,7 +67,7 @@ public class EntityModel { ...@@ -68,7 +67,7 @@ public class EntityModel {
{ {
if(fields!=null&&fieldMap==null) if(fields!=null&&fieldMap==null)
{ {
fieldMap=new HashMap<>(); fieldMap=new LinkedHashMap<>();
fields.forEach(field->{ fields.forEach(field->{
fieldMap.put(field.getColumnName(),field); fieldMap.put(field.getColumnName(),field);
fieldMap.put(field.getCodeName(),field); fieldMap.put(field.getCodeName(),field);
...@@ -77,21 +76,99 @@ public class EntityModel { ...@@ -77,21 +76,99 @@ public class EntityModel {
return fieldMap; return fieldMap;
} }
public FieldModel getLastModifyField()
{ private FieldModel lastModifyField;
if(fields!=null) @JsonIgnore
{ @JSONField(serialize = false)
public FieldModel getLastModifyField() {
if(fields!=null&&lastModifyField==null)
for(FieldModel fieldModel:fields) for(FieldModel fieldModel:fields)
{ if(fieldModel.isLastModifyField())
if("UPDATEDATE".equals(fieldModel.getField().getPredefined())) {
{ lastModifyField=fieldModel;
return fieldModel; return lastModifyField;
} }
} return lastModifyField;
}
return null;
} }
@JsonIgnore
@JSONField(serialize = false)
private boolean isLogicValid=true;
@JsonIgnore
@JSONField(serialize = false)
private FieldModel logicValidField;
@JsonIgnore
@JSONField(serialize = false)
public FieldModel getLogicValidField() {
if(isLogicValid&&logicValidField==null) {
if (fields != null) {
for (FieldModel fieldModel : fields) {
if (fieldModel.isLogicValidField()) {
logicValidField = fieldModel;
return logicValidField;
}
}
}
isLogicValid = false;
}
return logicValidField;
}
@JsonIgnore
@JSONField(serialize = false)
private String logicVal;
@JsonIgnore
@JSONField(serialize = false)
public String getLogicVal()
{
if(StringUtils.isEmpty(logicVal))
logicVal=this.getExtParams("logicval");
if(StringUtils.isEmpty(logicVal))
logicVal="1";
return logicVal;
}
@JsonIgnore
@JSONField(serialize = false)
private String logicDelVal;
@JsonIgnore
@JSONField(serialize = false)
public String getLogicDelVal()
{
if(StringUtils.isEmpty(logicVal))
logicDelVal=this.getExtParams("logicdelval");
if(StringUtils.isEmpty(logicDelVal))
logicDelVal="0";
return logicDelVal;
}
@JsonIgnore
@JSONField(serialize = false)
private FieldModel keyField;
@JsonIgnore
@JSONField(serialize = false)
public FieldModel getKeyField() {
if(fields!=null&&keyField==null)
for(FieldModel fieldModel:fields)
if(fieldModel.isKeyField()) {
keyField=fieldModel;
return keyField;
}
return keyField;
}
@JsonIgnore
@JSONField(serialize = false)
private List<FieldModel> unionKeyFields;
@JsonIgnore
@JSONField(serialize = false)
public List<FieldModel> getUnionKeyFields() {
if(fields!=null&&unionKeyFields==null) {
unionKeyFields = new ArrayList<>();
for (FieldModel fieldModel : fields)
if (fieldModel.isUnionKeyField())
unionKeyFields.add(fieldModel);
}
return unionKeyFields;
}
public FieldModel getField(String name) public FieldModel getField(String name)
{ {
...@@ -125,19 +202,14 @@ public class EntityModel { ...@@ -125,19 +202,14 @@ public class EntityModel {
} }
else if("CORE".equalsIgnoreCase(dataSet)) else if("CORE".equalsIgnoreCase(dataSet))
{ {
String columnSet=""; String columnSet=this.getKeyField().getColumnExp();
for(FieldModel fieldModel:fields) for(FieldModel fieldModel:this.getUnionKeyFields())
{ {
if(StringUtils.isEmpty(fieldModel.getField().getUnionKey())&&1!=fieldModel.getField().getKeyField()) String columnExp=fieldModel.getColumnExp();
continue; if(StringUtils.isEmpty(columnExp))
String columnExp=fieldModel.getColumnExp(); continue;
if(StringUtils.isEmpty(columnExp)) columnSet = columnSet + "," + columnExp;
continue; }
if(!StringUtils.isEmpty(columnSet)){
columnSet=columnSet+",";
}
columnSet=columnSet+columnExp;
}
return "select "+columnSet+" from "+this.getTableName()+" "; return "select "+columnSet+" from "+this.getTableName()+" ";
} }
...@@ -162,5 +234,22 @@ public class EntityModel { ...@@ -162,5 +234,22 @@ public class EntityModel {
} }
public String getExtParams(String key)
{
if(!(StringUtils.isEmpty(this.getEntity().getExtParams())))
{
JSONArray ja=JSONArray.parseArray(this.getEntity().getExtParams());
for(int i=0;i<ja.size();i++)
{
JSONObject jo=ja.getJSONObject(i);
if(jo.containsKey("property")&&key.equals(jo.getString("property")))
{
return jo.getString("value");
}
}
}
return null;
}
} }
...@@ -43,4 +43,34 @@ public class FieldModel { ...@@ -43,4 +43,34 @@ public class FieldModel {
} }
return ""; return "";
} }
@JsonIgnore
@JSONField(serialize = false)
public boolean isKeyField()
{
return 1==this.getField().getKeyField();
}
@JsonIgnore
@JSONField(serialize = false)
public boolean isLogicValidField()
{
return "LOGICVALID".equals(this.getField().getPredefined());
}
@JsonIgnore
@JSONField(serialize = false)
public boolean isLastModifyField()
{
return "UPDATEDATE".equals(this.getField().getPredefined());
}
@JsonIgnore
@JSONField(serialize = false)
public boolean isUnionKeyField()
{
return !StringUtils.isEmpty(this.getField().getUnionKey());
}
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册