* @param dataSaveDBMap
* @return
*/
public Map<String,String> getDataValueMap(Data data ,Map<String, String> dataSaveDBMap){
Template template = TemplateCache.getInstance().get(data.getTemplateId());
if(template == null){
return null;
}
dataSaveDBMap.put("id", data.getId().getValue());
dataSaveDBMap.put("templateId", template.getId().getValue());
dataSaveDBMap.put("createUser", data.getCreateUsername());
dataSaveDBMap.put("templateTypeId", template.getTemplateTypeId().getValue());
dataSaveDBMap.put("title", data.getTitle());
dataSaveDBMap.put("description", data.getDescription());
dataSaveDBMap.put("createTime", data.getCreateTime().toString());
dataSaveDBMap.put("lastModifyTime", data.getLastModifyTime().toString());
dataSaveDBMap.put("assignUser", data.getAssignUsername());
dataSaveDBMap.put("statusId", data.getStatusId().getValue());
Set<Field> allFields = template.getFields();
for(Field field : allFields){
if (field == null) {
continue;
}
String fieldValue = "";
Type type = field.getType();
DataType dataType = field.getDataType();
if (type == Type.t_selection) {
if (dataType == DataType.dt_single) {
fieldValue = data.getSingleSelection(field.getId()) == null ? "" : data.getSingleSelection(field.getId()).getValue();
}else {
if (data.getMultiSelection(field.getId()) != null) {
for (UUID uuid : data.getMultiSelection(field.getId())) {
if (uuid == null) {
continue;
}
fieldValue += "".equals(fieldValue) ? uuid.getValue() : "," + uuid.getValue();
}
}
}
}else if (type == Type.t_reference) {
if (dataType == DataType.dt_single) {
fieldValue = data.getSingleReference(field.getId()) == null ? "" : data.getSingleReference(field.getId()).getValue();
}else {
if (data.getMultiReference(field.getId()) != null) {
for (UUID uuid : data.getMultiReference(field.getId())) {
if (uuid == null) {
continue;
}
fieldValue += "".equals(fieldValue) ? uuid.getValue() : "," + uuid.getValue();
}
}
}
}else if (type == Type.t_attachment) {
if (data.getAttachments(field.getId()) != null) {
for (UUID uuid : data.getAttachments(field.getId())) {
if (uuid == null) {
continue;
}
fieldValue += "".equals(fieldValue) ? uuid.getValue() : "," + uuid.getValue();
}
}
}else if (type == Type.t_input) {
if (dataType.equals(DataType.dt_integer))
{
fieldValue = data.getInteger(field.getId()) == null ? null : data.getInteger(field.getId()).toString();
}else if (dataType.equals(DataType.dt_double))
{
fieldValue = data.getDouble(field.getId()) == null ? null : data.getDouble(field.getId()).toString();
}else if (dataType.equals(DataType.dt_float))
{
fieldValue = data.getFloat(field.getId()) == null ? null : data.getFloat(field.getId()).toString();
}else if (dataType.equals(DataType.dt_long))
{
fieldValue = data.getLong(field.getId()) == null ? null : data.getLong(field.getId()).toString();
}else if (dataType.equals(DataType.dt_string) || dataType.equals(DataType.dt_text) || dataType.equals(DataType.dt_editor))
{
fieldValue = data.getString(field.getId()) == null ? null : data.getString(field.getId()).toString();
}else if(dataType.equals(DataType.dt_timestamp))
{
fieldValue = data.getDate(field.getId()) == null ? null : data.getDate(field.getId()).toTimestamp().toString();
}
}
String fieldColName = FieldNameCache.getInstance().getFieldName(field.getId(),template.getId());
if (fieldColName != null && fieldColName.length() > 0) {
dataSaveDBMap.put(fieldColName, fieldValue);
}
}