extra: SIGN

This commit is contained in:
devezhao 2022-01-05 00:15:50 +08:00
parent a6cedeeeef
commit 4dcd561cb2
8 changed files with 34 additions and 23 deletions

View file

@ -57,22 +57,22 @@ public enum DisplayType {
private final int maxLength;
private final String defaultFormat;
private final boolean canImport;
private final boolean canExport;
private final boolean importable;
private final boolean exportable;
DisplayType(Class<? extends EasyField> easyClass, String displayName, Type fieldType, int maxLength, String defaultFormat) {
this(easyClass, displayName, fieldType, maxLength, defaultFormat, true, true);
}
DisplayType(Class<? extends EasyField> easyClass, String displayName, Type fieldType, int maxLength, String defaultFormat,
boolean canImport, boolean canExport) {
boolean importable, boolean exportable) {
this.easyClass = easyClass;
this.displayName = displayName;
this.fieldType = fieldType;
this.maxLength = maxLength;
this.defaultFormat = defaultFormat;
this.canImport = canImport;
this.canExport = canExport;
this.importable = importable;
this.exportable = exportable;
}
public String getDisplayName() {
@ -91,12 +91,12 @@ public enum DisplayType {
return defaultFormat;
}
public boolean canExport() {
return canExport;
public boolean isImportable() {
return importable;
}
public boolean canImport() {
return canImport;
public boolean isExportable() {
return exportable;
}
Class<? extends EasyField> getEasyClass() {

View file

@ -173,7 +173,7 @@ public class DataExporter extends SetUser {
if (cellVal.toString().equals(FieldValueHelper.NO_READ_PRIVILEGES)) {
cellVal = Language.L("[无权限]");
} else if (!dt.canExport()) {
} else if (!dt.isExportable()) {
cellVal = Language.L("[暂不支持]");
} else if (dt == DisplayType.DECIMAL || dt == DisplayType.NUMBER) {

View file

@ -180,7 +180,14 @@ public class RecordCheckout {
// 支持ID导入
if (ID.isId(val) && ID.valueOf(val).getEntityCode().intValue() == refEntity.getEntityCode()) {
return ID.valueOf(val);
ID checkId = ID.valueOf(val);
Object exists = Application.getQueryFactory().uniqueNoFilter(checkId, refEntity.getPrimaryField().getName());
if (exists == null) {
log.warn("Reference ID `{}` not exists", checkId);
return null;
} else {
return checkId;
}
}
Object val2Text = checkoutFieldValue(refEntity.getNameField(), cell, false);
@ -203,14 +210,16 @@ public class RecordCheckout {
queryFields.add(s.getName());
}
String sql = String.format("select %s from %s where ",
refEntity.getPrimaryField().getName(), refEntity.getName());
StringBuilder sql = new StringBuilder(
String.format("select %s from %s where ",
refEntity.getPrimaryField().getName(), refEntity.getName()));
for (String qf : queryFields) {
sql += String.format("%s = '%s' or ", qf, StringEscapeUtils.escapeSql((String) val2Text));
sql.append(
String.format("%s = '%s' or ", qf, StringEscapeUtils.escapeSql((String) val2Text)));
}
sql = sql.substring(0, sql.length() - 4);
sql = new StringBuilder(sql.substring(0, sql.length() - 4));
query = Application.createQueryNoFilter(sql);
query = Application.createQueryNoFilter(sql.toString());
}
Object[] found = query.unique();

View file

@ -199,7 +199,7 @@ public class EasyExcelGenerator extends SetUser {
Objects.requireNonNull(MetadataHelper.getLastJoinField(entity, fieldName)));
DisplayType dt = easyMeta.getDisplayType();
if (!dt.canExport() && dt != DisplayType.SIGN) {
if (!dt.isExportable() && dt != DisplayType.SIGN) {
data.put(fieldName, unsupportFieldTip);
continue;
}

View file

@ -109,7 +109,7 @@ public class DataImportController extends BaseController {
EasyField easyMeta = EasyMetaFactory.valueOf(field);
DisplayType dt = easyMeta.getDisplayType();
if (!dt.canImport()) {
if (!dt.isImportable()) {
continue;
}

View file

@ -127,11 +127,12 @@ public class ChartDesignController extends EntityController {
|| dt == DisplayType.AVATAR
|| dt == DisplayType.ANYREFERENCE
|| dt == DisplayType.N2NREFERENCE
|| dt == DisplayType.LOCATION
|| dt == DisplayType.MULTISELECT
|| dt == DisplayType.BARCODE
|| dt == DisplayType.NTEXT
|| dt == DisplayType.SERIES) {
|| dt == DisplayType.SERIES
|| dt == DisplayType.LOCATION
|| dt == DisplayType.SIGN) {
continue;
}

View file

@ -82,10 +82,11 @@ public class BatchUpdateController extends BaseController {
if (dt == DisplayType.FILE
|| dt == DisplayType.IMAGE
|| dt == DisplayType.AVATAR
|| dt == DisplayType.LOCATION
|| dt == DisplayType.BARCODE
|| dt == DisplayType.SERIES
|| dt == DisplayType.ANYREFERENCE) {
|| dt == DisplayType.ANYREFERENCE
|| dt == DisplayType.LOCATION
|| dt == DisplayType.SIGN) {
continue;
}

View file

@ -532,7 +532,7 @@ class SignPad extends React.Component {
</div>
<div className="sign-pad-footer mt-2">
<button type="button" className="btn btn-secondary btn-space" onClick={() => this._SignaturePad.clear()}>
{$L('')}
{$L('')}
</button>
<button
type="button"