update 字段类型判断

This commit is contained in:
liao
2023-08-24 18:31:40 +08:00
parent 0a4f8246d8
commit 941003abac
3 changed files with 50 additions and 27 deletions
@@ -5,7 +5,7 @@
<select id="getFieldList" resultType="com.jero.modules.tag.entity.LawsTag">
SELECT * FROM laws_tag tag
LEFT JOIN laws_area area ON tag.show_area = area.id
WHERE tag.table_name = #{tableName} AND tag.is_delete = 0
WHERE tag.table_name = #{tableName} AND tag.del_flag = 0
ORDER BY area.sort ASC, tag.order_num ASC, tag.create_time ASC
</select>
@@ -11,12 +11,10 @@ import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.laws.common.constant.ResultCommon;
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.ocr.enums.FileTypeEnum;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.util.MyStringUtils;
import com.jero.modules.tag.entity.LawsArea;
import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.FileTableIdEnum;
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
import com.jero.modules.tag.service.ILawsAreaService;
import com.spire.ms.System.Collections.ArrayList;
import org.apache.commons.lang3.StringUtils;
@@ -199,13 +197,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} else {
map.put("db_field_txt", lawsTag.getDbFieldEnName());//字段英文名
}
// 树型结构的集合
if (FieldTypeEnum.TREE.getValue().equals(lawsTag.getFieldShowType())) {
// 对树型结构做处理
map.put("tree", new java.util.ArrayList<>());
} else {
map.put("tree", new java.util.ArrayList<>());
}
resultList.add(map);
}
return resultList;
@@ -266,12 +257,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
fieldMap.put("field_must_input", lawsTag.getFieldMustInput()); // 是否必填
fieldMap.put("db_length", lawsTag.getDbLength()); // 字段长度
fieldMap.put("isReadOnly", lawsTag.getIsReadOnly()); // 是否只读
// 树型结构做处理
if (FieldTypeEnum.TREE.getValue().equals(lawsTag.getFieldShowType())) {
fieldMap.put("tree", new java.util.ArrayList<>());
} else {
fieldMap.put("tree", new java.util.ArrayList<>());
}
fieldMapList.add(fieldMap);
}
areaMap.put(areaName, fieldMapList);
@@ -357,7 +342,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 对数据值做格式处理
**/
private String setValue(String fieldShowType, String value) {
if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
if (LawsFieldTypeEnum.SINGLE_DATE_SELECTION.getValue().equals(fieldShowType)) {
// 如果是单日期格式,做格式处理
value = "str_to_date('" + value + "','%Y-%m-%d %H:%i:%s')";
} else {
@@ -401,7 +386,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
.equals(lawsTag.getIsShowForm().toString())).collect(Collectors.toList());
}
// 筛选获取日期类型字段
List<String> dateFieldList = fieldList.stream().filter(lawsTag -> FieldTypeEnum.DATE_SINGLE.getValue()
List<String> dateFieldList = fieldList.stream().filter(lawsTag -> LawsFieldTypeEnum.SINGLE_DATE_SELECTION.getValue()
.equals(lawsTag.getFieldShowType())).collect(Collectors.toList())
.stream().map(LawsTag::getDbFieldName).collect(Collectors.toList());
// 获取全部的字段列表
@@ -490,18 +475,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (Objects.equals(key, dbFieldName)) {
// 获取字段类型
String fieldShowType = lawsTag.getFieldShowType();
if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldShowType)
|| FieldTypeEnum.TEXT_NUMBER.getValue().equals(fieldShowType)) {
if (LawsFieldTypeEnum.TEXT_BOX.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.MULTILINE_TEXT.getValue().equals(fieldShowType)) {
if (value.contains("%")) {
// 字段内容可能包含%,是转义字符,做一下处理
value = value.replace("%", "/%");
}
selectCondition.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldShowType)
|| FieldTypeEnum.PULL_MORE.getValue().equals(fieldShowType)
|| FieldTypeEnum.TREE.getValue().equals(fieldShowType)
|| FieldTypeEnum.PERSON.getValue().equals(fieldShowType)
|| FieldTypeEnum.STANDARD.getValue().equals(fieldShowType)) {
} else if (LawsFieldTypeEnum.SELECT_A_USER.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.SELECT_ORGANIZATION_BOX.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.SELECT_MULTIPLE_ORGANIZATIONS.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.MULTIPLE_SELECTION_STANDARD_BOX.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.DROP_DOWN_RADIO_OPTION.getValue().equals(fieldShowType)
|| LawsFieldTypeEnum.DROP_DOWN_MULTIPLE_SELECTION.getValue().equals(fieldShowType)) {
StringBuilder valueSb = new StringBuilder();
StringBuilder condition = new StringBuilder();
for (String valueTemp : value.split(",")) {
@@ -513,7 +499,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
//下拉单选或下拉多选
selectCondition.append(" and (" + key + " in(" + substring + ")" + condition);
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
} else if (LawsFieldTypeEnum.SINGLE_DATE_SELECTION.getValue().equals(fieldShowType)) {
//日期(区分单日期还时间范围)
if (value.contains(",")) {
selectCondition.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
@@ -0,0 +1,37 @@
package com.jero.modules.tag.enums;
/**
* @Author: liao
* @Date: 2023/8/24 18:06
* @Description: 重汽法规字段类型
*/
public enum LawsFieldTypeEnum {
SINGLE_DATE_SELECTION("单日期选择","1"),
SELECT_A_USER("单选用户弹框","2"),
SELECT_ORGANIZATION_BOX("单选组织机构弹框","3"),
MULTIPLE_DATE_SELECTION("多日期选择","4"),
MULTILINE_TEXT("多行文本","5"),
MULTIPLE_SELECTION_STANDARD_BOX("多选标准弹框","6"),
SELECT_MULTIPLE_ORGANIZATIONS("多选组织机构弹框","7"),
UPLOAD_FILE("上传文件","8"),
TEXT_BOX("文本框","9"),
DROP_DOWN_RADIO_OPTION("下拉单选","10"),
DROP_DOWN_MULTIPLE_SELECTION("下拉多选","11");
String name;
String value;
LawsFieldTypeEnum(String name, String value) {
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}