mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-01 02:15:07 +08:00
优化表单初始化字段
This commit is contained in:
@@ -2,7 +2,16 @@ package org.hswebframework.web.workflow.service.imp;
|
||||
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.hswebframework.ezorm.rdb.RDBTable;
|
||||
import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
|
||||
import org.hswebframework.ezorm.rdb.meta.RDBTableMetaData;
|
||||
import org.hswebframework.ezorm.rdb.meta.converter.DateTimeConverter;
|
||||
import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
|
||||
import org.hswebframework.web.authorization.Authentication;
|
||||
import org.hswebframework.web.service.form.DynamicFormOperationService;
|
||||
import org.hswebframework.web.service.form.initialize.ColumnInitializeContext;
|
||||
import org.hswebframework.web.service.form.initialize.DynamicFormInitializeCustomer;
|
||||
import org.hswebframework.web.service.form.initialize.TableInitializeContext;
|
||||
import org.hswebframework.web.workflow.service.config.ProcessConfigurationService;
|
||||
import org.hswebframework.web.workflow.service.WorkFlowFormService;
|
||||
import org.hswebframework.web.workflow.service.config.ActivityConfiguration;
|
||||
@@ -12,6 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.sql.JDBCType;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -19,7 +30,7 @@ import java.util.Map;
|
||||
* @since 3.0.0-RC
|
||||
*/
|
||||
@Service
|
||||
public class WorkFlowFormServiceImpl extends AbstractFlowableService implements WorkFlowFormService {
|
||||
public class WorkFlowFormServiceImpl extends AbstractFlowableService implements WorkFlowFormService, DynamicFormInitializeCustomer {
|
||||
|
||||
@Autowired
|
||||
private ProcessConfigurationService processConfigurationService;
|
||||
@@ -75,8 +86,9 @@ public class WorkFlowFormServiceImpl extends AbstractFlowableService implements
|
||||
|
||||
acceptStartProcessFormData(instance, formData);
|
||||
|
||||
formData.put("taskId", task.getId());
|
||||
formData.put("taskDefineKey", task.getTaskDefinitionKey());
|
||||
formData.put("processTaskId", task.getId());
|
||||
formData.put("processTaskDefineKey", task.getTaskDefinitionKey());
|
||||
formData.put("processTaskName",task.getName());
|
||||
|
||||
}
|
||||
|
||||
@@ -87,8 +99,176 @@ public class WorkFlowFormServiceImpl extends AbstractFlowableService implements
|
||||
formData.put("processDefineId", instance.getProcessDefinitionId());
|
||||
formData.put("processDefineKey", instance.getProcessDefinitionKey());
|
||||
formData.put("processDefineName", instance.getProcessDefinitionName());
|
||||
formData.put("processDefineName", instance.getProcessDefinitionVersion());
|
||||
formData.put("processDefineVersion", instance.getProcessDefinitionVersion());
|
||||
formData.put("processInstanceId", instance.getProcessInstanceId());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customTableSetting(TableInitializeContext context) {
|
||||
RDBTableMetaData table = context.getTable();
|
||||
Dialect dialect = context.getDatabase().getMeta().getDialect();
|
||||
|
||||
//----------taskId--------------
|
||||
{
|
||||
RDBColumnMetaData processTaskId = new RDBColumnMetaData();
|
||||
processTaskId.setJavaType(String.class);
|
||||
processTaskId.setJdbcType(JDBCType.VARCHAR);
|
||||
processTaskId.setLength(32);
|
||||
processTaskId.setName("proc_task_id");
|
||||
processTaskId.setAlias("processTaskId");
|
||||
processTaskId.setDataType(dialect.buildDataType(processTaskId));
|
||||
processTaskId.setComment("流程任务ID");
|
||||
table.addColumn(processTaskId);
|
||||
}
|
||||
|
||||
//----------taskDefineKey--------------
|
||||
{
|
||||
RDBColumnMetaData taskDefineKey = new RDBColumnMetaData();
|
||||
taskDefineKey.setJavaType(String.class);
|
||||
taskDefineKey.setJdbcType(JDBCType.VARCHAR);
|
||||
taskDefineKey.setLength(128);
|
||||
taskDefineKey.setName("proc_task_key");
|
||||
taskDefineKey.setAlias("processTaskDefineKey");
|
||||
taskDefineKey.setDataType(dialect.buildDataType(taskDefineKey));
|
||||
taskDefineKey.setComment("流程任务定义KEY");
|
||||
table.addColumn(taskDefineKey);
|
||||
}
|
||||
|
||||
//----------taskName--------------
|
||||
{
|
||||
RDBColumnMetaData processTaskName = new RDBColumnMetaData();
|
||||
processTaskName.setJavaType(String.class);
|
||||
processTaskName.setJdbcType(JDBCType.VARCHAR);
|
||||
processTaskName.setLength(128);
|
||||
processTaskName.setName("proc_task_name");
|
||||
processTaskName.setAlias("processTaskName");
|
||||
processTaskName.setDataType(dialect.buildDataType(processTaskName));
|
||||
processTaskName.setComment("流程任务定义名称");
|
||||
table.addColumn(processTaskName);
|
||||
}
|
||||
|
||||
//----------processDefineId--------------
|
||||
{
|
||||
RDBColumnMetaData processDefineId = new RDBColumnMetaData();
|
||||
processDefineId.setJavaType(String.class);
|
||||
processDefineId.setJdbcType(JDBCType.VARCHAR);
|
||||
processDefineId.setLength(32);
|
||||
processDefineId.setName("proc_def_id");
|
||||
processDefineId.setAlias("processDefineId");
|
||||
processDefineId.setDataType(dialect.buildDataType(processDefineId));
|
||||
processDefineId.setProperty("read-only", true);
|
||||
processDefineId.setComment("流程定义ID");
|
||||
table.addColumn(processDefineId);
|
||||
}
|
||||
//----------processDefineKey--------------
|
||||
{
|
||||
RDBColumnMetaData processDefineKey = new RDBColumnMetaData();
|
||||
processDefineKey.setJavaType(String.class);
|
||||
processDefineKey.setJdbcType(JDBCType.VARCHAR);
|
||||
processDefineKey.setLength(32);
|
||||
processDefineKey.setName("proc_def_key");
|
||||
processDefineKey.setAlias("processDefineKey");
|
||||
processDefineKey.setDataType(dialect.buildDataType(processDefineKey));
|
||||
processDefineKey.setProperty("read-only", true);
|
||||
processDefineKey.setComment("流程定义KEY");
|
||||
table.addColumn(processDefineKey);
|
||||
} //----------processDefineName--------------
|
||||
{
|
||||
RDBColumnMetaData processDefineName = new RDBColumnMetaData();
|
||||
processDefineName.setJavaType(String.class);
|
||||
processDefineName.setJdbcType(JDBCType.VARCHAR);
|
||||
processDefineName.setLength(128);
|
||||
processDefineName.setName("proc_def_name");
|
||||
processDefineName.setAlias("processDefineName");
|
||||
processDefineName.setDataType(dialect.buildDataType(processDefineName));
|
||||
processDefineName.setProperty("read-only", true);
|
||||
processDefineName.setComment("流程定义Name");
|
||||
table.addColumn(processDefineName);
|
||||
}//----------processDefineVersion--------------
|
||||
{
|
||||
RDBColumnMetaData processDefineVersion = new RDBColumnMetaData();
|
||||
processDefineVersion.setJavaType(Integer.class);
|
||||
processDefineVersion.setJdbcType(JDBCType.INTEGER);
|
||||
processDefineVersion.setLength(32);
|
||||
processDefineVersion.setPrecision(32);
|
||||
processDefineVersion.setScale(0);
|
||||
processDefineVersion.setName("proc_def_ver");
|
||||
processDefineVersion.setAlias("processDefineVersion");
|
||||
processDefineVersion.setDataType(dialect.buildDataType(processDefineVersion));
|
||||
processDefineVersion.setProperty("read-only", true);
|
||||
processDefineVersion.setComment("流程定义版本");
|
||||
table.addColumn(processDefineVersion);
|
||||
}//----------processDefineVersion--------------
|
||||
{
|
||||
RDBColumnMetaData processInstanceId = new RDBColumnMetaData();
|
||||
processInstanceId.setJavaType(String.class);
|
||||
processInstanceId.setJdbcType(JDBCType.VARCHAR);
|
||||
processInstanceId.setLength(32);
|
||||
processInstanceId.setName("proc_ins_id");
|
||||
processInstanceId.setAlias("processInstanceId");
|
||||
processInstanceId.setDataType(dialect.buildDataType(processInstanceId));
|
||||
processInstanceId.setProperty("read-only", true);
|
||||
processInstanceId.setComment("流程实例ID");
|
||||
table.addColumn(processInstanceId);
|
||||
}//----------creatorUserId--------------
|
||||
{
|
||||
RDBColumnMetaData creatorUserId = new RDBColumnMetaData();
|
||||
creatorUserId.setJavaType(String.class);
|
||||
creatorUserId.setJdbcType(JDBCType.VARCHAR);
|
||||
creatorUserId.setLength(32);
|
||||
creatorUserId.setName("creator_id");
|
||||
creatorUserId.setAlias("creatorId");
|
||||
creatorUserId.setDataType(dialect.buildDataType(creatorUserId));
|
||||
creatorUserId.setProperty("read-only", true);
|
||||
creatorUserId.setComment("创建人ID");
|
||||
creatorUserId.setDefaultValue(() -> Authentication.current().map(autz -> autz.getUser().getId()).orElse(null));
|
||||
table.addColumn(creatorUserId);
|
||||
}
|
||||
{//-----------creatorName---------
|
||||
RDBColumnMetaData creatorName = new RDBColumnMetaData();
|
||||
creatorName.setJavaType(String.class);
|
||||
creatorName.setJdbcType(JDBCType.VARCHAR);
|
||||
creatorName.setLength(32);
|
||||
creatorName.setName("creator_name");
|
||||
creatorName.setAlias("creatorName");
|
||||
creatorName.setDataType(dialect.buildDataType(creatorName));
|
||||
creatorName.setProperty("read-only", true);
|
||||
creatorName.setComment("创建人姓名");
|
||||
creatorName.setDefaultValue(() -> Authentication.current().map(autz -> autz.getUser().getName()).orElse(null));
|
||||
table.addColumn(creatorName);
|
||||
}
|
||||
{//-----------creatorName---------
|
||||
RDBColumnMetaData createTime = new RDBColumnMetaData();
|
||||
createTime.setJavaType(Date.class);
|
||||
createTime.setJdbcType(JDBCType.TIMESTAMP);
|
||||
createTime.setName("create_time");
|
||||
createTime.setAlias("createTime");
|
||||
createTime.setDataType(dialect.buildDataType(createTime));
|
||||
createTime.setProperty("read-only", true);
|
||||
createTime.setComment("创建时间");
|
||||
createTime.setNotNull(true);
|
||||
createTime.setValueConverter(new DateTimeConverter("yyyy-MM-dd HH:mm:ss",Date.class));
|
||||
createTime.setDefaultValue(Date::new);
|
||||
table.addColumn(createTime);
|
||||
}
|
||||
{//-----------lastUpdateTime---------
|
||||
RDBColumnMetaData lastUpdateTime = new RDBColumnMetaData();
|
||||
lastUpdateTime.setJavaType(Date.class);
|
||||
lastUpdateTime.setJdbcType(JDBCType.TIMESTAMP);
|
||||
lastUpdateTime.setName("last_update_time");
|
||||
lastUpdateTime.setAlias("lastUpdateTime");
|
||||
lastUpdateTime.setDataType(dialect.buildDataType(lastUpdateTime));
|
||||
lastUpdateTime.setComment("最后一次修改时间");
|
||||
lastUpdateTime.setNotNull(true);
|
||||
lastUpdateTime.setValueConverter(new DateTimeConverter("yyyy-MM-dd HH:mm:ss",Date.class));
|
||||
lastUpdateTime.setDefaultValue(Date::new);
|
||||
table.addColumn(lastUpdateTime);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customTableColumnSetting(ColumnInitializeContext context) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user