|
|
@ -20,14 +20,17 @@ package com.epmet.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
|
import com.epmet.dao.IcFormItemDao; |
|
|
|
import com.epmet.dao.IcFormItemOptionsDao; |
|
|
|
import com.epmet.dao.IcFormQueryBuilderDao; |
|
|
|
import com.epmet.dto.form.CustomerFormQueryDTO; |
|
|
|
import com.epmet.dto.form.EditIFormItemFormDTO; |
|
|
|
import com.epmet.dto.result.*; |
|
|
|
import com.epmet.entity.IcFormItemEntity; |
|
|
|
import com.epmet.entity.IcFormItemOptionsEntity; |
|
|
|
import com.epmet.entity.IcFormQueryBuilderEntity; |
|
|
|
import com.epmet.service.IcFormItemService; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
@ -51,7 +54,8 @@ import java.util.stream.Collectors; |
|
|
|
public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcFormItemEntity> implements IcFormItemService { |
|
|
|
@Autowired |
|
|
|
private IcFormItemOptionsDao icFormItemOptionsDao; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private IcFormQueryBuilderDao icFormQueryBuilderDao; |
|
|
|
/** |
|
|
|
* 获取居民信息的查询条件,组件列表 |
|
|
|
* |
|
|
@ -66,6 +70,16 @@ public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcForm |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<ConditionResDTO> queryConditionListByGroup(CustomerFormQueryDTO formDto) { |
|
|
|
List<String> itemIdList=icFormQueryBuilderDao.selectItemId(formDto.getCustomerId(),formDto.getFormCode()); |
|
|
|
if(CollectionUtils.isEmpty(itemIdList)){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
List<ConditionResDTO> list=baseDao.selectConditionListGroup(formDto.getCustomerId(),formDto.getFormCode(),itemIdList); |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 居民信息列表_表头 |
|
|
|
* @param formDto |
|
|
@ -206,6 +220,76 @@ public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcForm |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 初始化默认的查询组件:ic_form_item.SEARCH_DISPLAY='1'的 |
|
|
|
* |
|
|
|
* @param customerId |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void initQueryBuilder(String customerId) { |
|
|
|
//查询所有的查询组件
|
|
|
|
LambdaQueryWrapper<IcFormItemEntity> queryWrapper = new QueryWrapper<IcFormItemEntity>().lambda() |
|
|
|
.eq(StringUtils.isNotBlank(customerId), IcFormItemEntity::getCustomerId, customerId) |
|
|
|
.isNotNull(IcFormItemEntity::getColumnName) |
|
|
|
.eq(IcFormItemEntity::getSearchDisplay, NumConstant.ONE); |
|
|
|
List<IcFormItemEntity> itemList = baseDao.selectList(queryWrapper); |
|
|
|
if (CollectionUtils.isEmpty(itemList)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
for (IcFormItemEntity item : itemList) { |
|
|
|
IcFormQueryBuilderEntity builderEntity = new IcFormQueryBuilderEntity(); |
|
|
|
builderEntity.setCustomerId(item.getCustomerId()); |
|
|
|
builderEntity.setFormItemId(item.getId()); |
|
|
|
builderEntity.setLabel(item.getLabel()); |
|
|
|
builderEntity.setFormCode(item.getFormCode()); |
|
|
|
builderEntity.setItemType(item.getItemType()); |
|
|
|
builderEntity.setQueryType(queryType(item.getItemType())); |
|
|
|
builderEntity.setFunType(StrConstant.EPMETY_STR); |
|
|
|
builderEntity.setSort(item.getSort()); |
|
|
|
builderEntity.setCreatedBy("init"); |
|
|
|
builderEntity.setUpdatedBy("init"); |
|
|
|
//item默认的查询组件已经有了,就不插入了
|
|
|
|
IcFormQueryBuilderEntity entity = icFormQueryBuilderDao.selectDefaultQueryItem(item.getId(), item.getItemType(), builderEntity.getQueryType()); |
|
|
|
if (null == entity) { |
|
|
|
icFormQueryBuilderDao.insert(builderEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String queryType(String itemType) { |
|
|
|
String queryType; |
|
|
|
switch (itemType) { |
|
|
|
case "select": |
|
|
|
queryType = "equal"; |
|
|
|
break; |
|
|
|
case "input": |
|
|
|
queryType = "like"; |
|
|
|
break; |
|
|
|
case "datepicker": |
|
|
|
queryType = "daterange"; |
|
|
|
break; |
|
|
|
case "textarea": |
|
|
|
queryType = "like"; |
|
|
|
break; |
|
|
|
case "radio": |
|
|
|
queryType = "equal"; |
|
|
|
break; |
|
|
|
//多选的,查询时应该是 and (columnname='' or columnname='')
|
|
|
|
case "checkbox": |
|
|
|
queryType = "list_equal"; |
|
|
|
break; |
|
|
|
case "daterange": |
|
|
|
queryType = "daterange"; |
|
|
|
break; |
|
|
|
case "cascader": |
|
|
|
queryType = "equal"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
queryType = "like"; |
|
|
|
} |
|
|
|
return queryType; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|