Commit 5b207cf2 authored by gaodongdong's avatar gaodongdong

Merge branch 'gdd' into developer

parents 49a7af83 f0ff2118
......@@ -32,7 +32,7 @@ public class DynamicFormInitDto implements Serializable{
private Object defaultValue;
@ApiModelProperty(value = "表单值")
private SelectItems data;
private SelectItems data = new SelectItems();
@ApiModelProperty(value = "提交表单附加字段")
private DynamicFormInstanceDto formItemDescr;
......
......@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -70,7 +72,7 @@ public class DynamicFormInstanceDto extends BaseDto {
private Boolean block;
@ApiModelProperty(value = "配置json")
private String columnConfig;
private JSONObject columnConfig;
//新加排序字段
@ApiModelProperty(value = "排序字段")
......@@ -80,7 +82,7 @@ public class DynamicFormInstanceDto extends BaseDto {
public DynamicFormInstanceDto(Long sequenceNbr, String fieldName, String fieldCode, Boolean block,
String groupCode) {
this.sequenceNbr = sequenceNbr;
this.formColumnId = sequenceNbr;
this.fieldName = fieldName;
this.fieldCode = fieldCode;
this.block = block;
......
package com.yeejoin.amos.boot.module.common.api.entity;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data;
......@@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_dynamic_form_column")
@TableName(value="cb_dynamic_form_column", autoResultMap = true)
public class DynamicFormColumn extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -67,8 +67,8 @@ public class DynamicFormColumn extends BaseEntity {
/**
* 配置json
*/
@TableField("column_config")
private String columnConfig;
@TableField(value = "column_config", typeHandler = JacksonTypeHandler.class)
private JSONObject columnConfig;
/**
* 操作人名称
*/
......
package com.yeejoin.amos.boot.module.common.api.entity;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data;
......@@ -18,7 +19,7 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_dynamic_form_instance")
@TableName(value="cb_dynamic_form_instance", autoResultMap = true)
public class DynamicFormInstance extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -97,8 +98,8 @@ public class DynamicFormInstance extends BaseEntity {
@TableField("block")
private Boolean block;
@TableField(value = "column_config")
private String columnConfig;
@TableField(value = "column_Config", typeHandler = JacksonTypeHandler.class)
private JSONObject columnConfig;
//新加排序字段
@TableField("sort")
......
......@@ -5,6 +5,7 @@ import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.common.api.dto.OrgDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgDepartmentFormDto;
......
......@@ -61,7 +61,7 @@
u.biz_org_name bizOrgName,
u.biz_org_code bizOrgCode,
<if test="fields != null">
<foreach collection="fields" item="item" separator=",">MAX(case f.field_code when #{item} then v.field_value
<foreach collection="fields" item="item" separator=",">MAX(case f.field_code when #{item} then IFNULL(v.field_value_label, v.field_value)
end) ${item}
</foreach>
</if>
......@@ -98,7 +98,7 @@
u.biz_org_name bizOrgName,
u.biz_org_code bizOrgCode,
<if test="fields != null">
<foreach collection="fields" item="item" separator=",">MAX(case f.field_code when #{item} then v.field_value
<foreach collection="fields" item="item" separator=",">MAX(case f.field_code when #{item} then IFNULL(v.field_value_label, v.field_value)
end) ${item}
</foreach>
</if>
......
......@@ -13,6 +13,8 @@ import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormColumnDto;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInitDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -105,4 +107,16 @@ public class DynamicFormColumnController extends BaseController {
{
return ResponseHelper.buildResponse(dynamicFormColumnServiceImpl.queryForDynamicFormColumnList());
}
/**
*列表全部数据查询
*@return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "动态表单树形分组字段表列表全部数据查询", notes = "动态表单树形分组字段表列表全部数据查询")
@GetMapping(value = "/{groupCode}/list")
public ResponseModel<List<DynamicFormInitDto>> selectForList(@PathVariable("groupCode") String groupCode)
{
return ResponseHelper.buildResponse(dynamicFormColumnServiceImpl.getFormlist(groupCode));
}
}
......@@ -7,10 +7,14 @@ import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -63,19 +67,25 @@ public class DynamicFormColumnServiceImpl extends BaseService<DynamicFormColumnD
queryWrapper.orderByAsc("sort");
List<DynamicFormColumn> dynamicFormColumn = this.list(queryWrapper);
List<DynamicFormInitDto> listfrom = new ArrayList<DynamicFormInitDto>();
String appKey = RequestContext.getAppKey();
// 组装数据
for (DynamicFormColumn dynamicForm : dynamicFormColumn) {
dynamicFormColumn.parallelStream().forEach(dynamicForm -> {
if ( dynamicForm.getFieldType().equals("input") ||
dynamicForm.getFieldType().equals("string") ||
dynamicForm.getFieldType().equals("datetime") ||
dynamicForm.getFieldType().equals("textarea") ||
dynamicForm.getFieldType().equals("upload") ||
dynamicForm.getFieldType().equals("tagging") ||
dynamicForm.getFieldType().equals("inputBitmap")) {
DynamicFormInitDto vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), null, null);
DynamicFormInstanceDto dynamicFormValue = new DynamicFormInstanceDto(dynamicForm.getSequenceNbr(), dynamicForm.getFieldName(),
dynamicForm.getFieldCode(), dynamicForm.getBlock(), dynamicForm.getGroupCode());
dynamicForm.getFieldType(), new SelectItems(), null);
DynamicFormInstanceDto dynamicFormValue = new DynamicFormInstanceDto();
BeanUtils.copyProperties(dynamicForm, dynamicFormValue);
dynamicFormValue.setSequenceNbr(null);
dynamicFormValue.setFormColumnId(dynamicForm.getSequenceNbr());
dynamicFormValue.setAppKey(appKey);
if (dynamicForm.getFieldType().equals("datetime")) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
......@@ -87,32 +97,78 @@ public class DynamicFormColumnServiceImpl extends BaseService<DynamicFormColumnD
listfrom.add(vo);
} else {
// 查询数据项
DynamicFormInitDto vo = null;
DynamicFormInstanceDto dynamicFormValue = null;
String columnConfig = dynamicForm.getColumnConfig();
JSONObject columnConfigJson = JSONObject.parseObject(columnConfig);
if (!"custom".equals(columnConfigJson.get("type"))) {
}
QueryWrapper<DataDictionary> queryWrappercolumnMap = new QueryWrapper<>();
queryWrappercolumnMap.eq("type", dynamicForm.getGroupCode());
queryWrappercolumnMap.orderByAsc("sort_num");
Collection<DataDictionary> listDataDictionary = iDataDictionaryService.list(queryWrappercolumnMap);
List<SelectItem> list = getdata(listDataDictionary);
DynamicFormInitDto vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), new SelectItems(list), dynamicForm.getColumnConfig());
DynamicFormInstanceDto dynamicFormValue = new DynamicFormInstanceDto(dynamicForm.getSequenceNbr(), dynamicForm.getFieldName(),
dynamicForm.getFieldCode(), dynamicForm.getBlock(), dynamicForm.getGroupCode());
if (dynamicForm.getFieldType().equals("radio")) {
vo.setDefaultValue(list.get(0).getValue());
dynamicFormValue.setFieldValue(list.get(0).getLabel());
dynamicFormValue.setFieldValueLabel(list.get(0).getValue());
}
JSONObject columnConfigJson = dynamicForm.getColumnConfig();
String type = ObjectUtils.isEmpty(columnConfigJson) ? "" : columnConfigJson.get("type").toString();
switch (type) {
case "custom":
List<SelectItem> selectItems = JSONArray.parseArray(columnConfigJson.get("data").toString(), SelectItem.class);
vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), new SelectItems(selectItems), dynamicForm.getColumnConfig().toJSONString());
dynamicFormValue = new DynamicFormInstanceDto();
BeanUtils.copyProperties(dynamicForm, dynamicFormValue);
dynamicFormValue.setSequenceNbr(null);
dynamicFormValue.setFormColumnId(dynamicForm.getSequenceNbr());
dynamicFormValue.setAppKey(appKey);
if (dynamicForm.getFieldType().equals("radio")) {
vo.setDefaultValue(selectItems.get(0).getValue());
dynamicFormValue.setFieldValue(selectItems.get(0).getLabel());
dynamicFormValue.setFieldValueLabel(selectItems.get(0).getValue());
}
vo.setFormItemDescr(dynamicFormValue);
listfrom.add(vo);
vo.setFormItemDescr(dynamicFormValue);
listfrom.add(vo);
break;
case "action":
vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), new SelectItems(new ArrayList<>()), dynamicForm.getColumnConfig().toJSONString());
dynamicFormValue = new DynamicFormInstanceDto();
BeanUtils.copyProperties(dynamicForm, dynamicFormValue);
dynamicFormValue.setSequenceNbr(null);
dynamicFormValue.setFormColumnId(dynamicForm.getSequenceNbr());
dynamicFormValue.setAppKey(appKey);
vo.setFormItemDescr(dynamicFormValue);
listfrom.add(vo);
break;
case "dict":
QueryWrapper<DataDictionary> queryWrappercolumnMap = new QueryWrapper<>();
queryWrappercolumnMap.eq("type", columnConfigJson.get("dict"));
queryWrappercolumnMap.orderByAsc("sort_num");
Collection<DataDictionary> listDataDictionary = iDataDictionaryService.list(queryWrappercolumnMap);
List<SelectItem> list = getdata(listDataDictionary);
vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), new SelectItems(list), dynamicForm.getColumnConfig().toJSONString());
dynamicFormValue = new DynamicFormInstanceDto();
BeanUtils.copyProperties(dynamicForm, dynamicFormValue);
dynamicFormValue.setSequenceNbr(null);
dynamicFormValue.setFormColumnId(dynamicForm.getSequenceNbr());
dynamicFormValue.setAppKey(appKey);
if (dynamicForm.getFieldType().equals("radio")) {
vo.setDefaultValue(list.get(0).getValue());
dynamicFormValue.setFieldValue(list.get(0).getLabel());
dynamicFormValue.setFieldValueLabel(list.get(0).getValue());
}
vo.setFormItemDescr(dynamicFormValue);
listfrom.add(vo);
break;
default:
vo = new DynamicFormInitDto(dynamicForm.getFieldCode(), dynamicForm.getFieldName(),
dynamicForm.getFieldType(), new SelectItems(new ArrayList<>()), null);
dynamicFormValue = new DynamicFormInstanceDto(dynamicForm.getSequenceNbr(), dynamicForm.getFieldName(),
dynamicForm.getFieldCode(), dynamicForm.getBlock(), dynamicForm.getGroupCode());
dynamicFormValue.setAppKey(appKey);
vo.setFormItemDescr(dynamicFormValue);
listfrom.add(vo);
break;
}
}
}
});
return listfrom;
}
......
......@@ -338,7 +338,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
List<FormValue> formValue = new ArrayList<>();
for (DynamicFormInstanceDto alertFormValue : list) {
if (alertFormValue.getFieldValue()== null) {
if (alertFormValue.getFieldValue() != null) {
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(),
alertFormValue.getFieldType(),
alertFormValue.getFieldValue(), alertFormValue.getBlock());
......@@ -378,13 +378,20 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
orgUsr.setAmosOrgCode(ori.getAmosOrgCode());
if (oriOrgUsr.getParentId() != null) {
if (!ori.getParentId().equals(oriOrgUsr.getParentId())) {
if (ori.getParentId() != null && !ori.getParentId().equals(oriOrgUsr.getParentId())) {
OrgUsr parent = getById(oriOrgUsr.getParentId());
if (parent != null && ObjectUtils.isEmpty(oriOrgUsr.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
}
updateChildOrgCode(ori.getBizOrgCode(), parent.getBizOrgCode());
orgUsr.setParentId(oriOrgUsr.getParentId());
} else if (ori.getParentId() == null && oriOrgUsr.getParentId() != null) {
OrgUsr parent = getById(oriOrgUsr.getParentId());
if (parent != null && ObjectUtils.isEmpty(oriOrgUsr.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
}
updateChildOrgCode(ori.getBizOrgCode(), parent.getBizOrgCode());
orgUsr.setParentId(oriOrgUsr.getParentId());
}
} else {
orgUsr.setBizOrgCode(getOrgCodeStr());
......@@ -491,7 +498,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
@Override
public Map<String, Object> selectForShowById(OrgUsr orgUsr, Long id) throws Exception {
QueryWrapper<DynamicFormColumn> queryWrapper = new QueryWrapper<DynamicFormColumn>();
queryWrapper.eq("group_id", OrgPersonEnum.人员.getCode());
queryWrapper.eq("group_code", OrgPersonEnum.人员.getCode());
List<DynamicFormColumn> alertForms = alertFormServiceImpl.list(queryWrapper);
// 动态表单数据
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
......@@ -503,7 +510,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
result.put(alertForm.getFieldCode(), null);
}
for (DynamicFormInstanceDto alertFormValue : list) {
result.replace(alertFormValue.getFieldCode(), alertFormValue.getFieldValue());
result.put(alertFormValue.getFieldCode(), ObjectUtils.isEmpty(alertFormValue.getFieldValueLabel()) ? alertFormValue.getFieldValue() : alertFormValue.getFieldValueLabel());
}
return result;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment