Browse Source

Merge branch 'develop' of http://git.elinkit.com.cn:7070/r/epmet-cloud into release_temp

dev_shibei_match
jianjun 4 years ago
parent
commit
cb9eebedb1
  1. 69
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java
  2. 63
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java
  3. 33
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormQueryBuilderDao.java
  4. 63
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java
  5. 66
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
  6. 66
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormService.java
  7. 55
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
  8. 196
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java
  9. 22
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormQueryBuilderDao.xml

69
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java

@ -18,28 +18,20 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcFormDTO;
import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.IcFormExcel;
import com.epmet.service.IcFormItemService;
import com.epmet.service.IcFormService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -58,49 +50,24 @@ public class IcFormController {
@Autowired
private IcFormItemService icFormItemService;
@GetMapping("page")
public Result<PageData<IcFormDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcFormDTO> page = icFormService.page(params);
return new Result<PageData<IcFormDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<IcFormDTO> get(@PathVariable("id") String id){
IcFormDTO data = icFormService.get(id);
return new Result<IcFormDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody IcFormDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icFormService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody IcFormDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icFormService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icFormService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcFormDTO> list = icFormService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcFormExcel.class);
/**
* desc: 初始化 客户表单配置
*
* @param customerId
* @param formCode
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CustomerFormResultDTO>
* @author LiuJanJun
* @date 2021/12/8 4:28 下午
*/
@GetMapping("initCustomerForm/{formCode}")
public Result<String> initCustomerFormByCode(@RequestParam String customerId,@RequestParam String areaCode,
@PathVariable(value = "formCode") String formCode){
if (StringUtils.isBlank(customerId)){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"参数错误");
}
return new Result<String>().ok(icFormService.initCustomerFormByCode(customerId, areaCode, formCode));
}
/**
* 获取居民信息表单 dynamic=null查询全部否则查询对应的item
*

63
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java

@ -17,25 +17,16 @@
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IcFormItemDTO;
import com.epmet.dto.result.ColumnTableNameResultDTO;
import com.epmet.dto.result.CustomerStaffRoleResultDTO;
import com.epmet.excel.IcFormItemExcel;
import com.epmet.service.IcFormItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
@ -47,52 +38,10 @@ import java.util.Map;
@RestController
@RequestMapping("icformitem")
public class IcFormItemController {
@Autowired
private IcFormItemService icFormItemService;
@GetMapping("page")
public Result<PageData<IcFormItemDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcFormItemDTO> page = icFormItemService.page(params);
return new Result<PageData<IcFormItemDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<IcFormItemDTO> get(@PathVariable("id") String id){
IcFormItemDTO data = icFormItemService.get(id);
return new Result<IcFormItemDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody IcFormItemDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icFormItemService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody IcFormItemDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icFormItemService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icFormItemService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcFormItemDTO> list = icFormItemService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcFormItemExcel.class);
}
/**
* @Author sun
* @Description 居民信息新增查询各表必填字段
@ -102,4 +51,4 @@ public class IcFormItemController {
return new Result<List<ColumnTableNameResultDTO>>().ok(icFormItemService.getMustColumn(customerId));
}
}
}

33
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormQueryBuilderDao.java

@ -0,0 +1,33 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcFormQueryBuilderEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 表单查询项
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-12-08
*/
@Mapper
public interface IcFormQueryBuilderDao extends BaseDao<IcFormQueryBuilderEntity> {
}

63
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormQueryBuilderEntity.java

@ -0,0 +1,63 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 表单查询项
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-12-08
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_form_query_builder")
public class IcFormQueryBuilderEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* ic_form_item.id
*/
private String formItemId;
/**
* ic_form.form_code举例resi_base_info
*/
private String formCode;
/**
* 查询类型: equal, like,daterange....
*/
private String queryType;
/**
* 排序
*/
private Integer sort;
}

66
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java

@ -18,8 +18,6 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcFormItemDTO;
import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.ColumnTableNameResultDTO;
import com.epmet.dto.result.ConditionResultDTO;
@ -28,7 +26,6 @@ import com.epmet.dto.result.TableHeaderResultDTO;
import com.epmet.entity.IcFormItemEntity;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -38,67 +35,6 @@ import java.util.Set;
* @since v1.0.0 2021-10-26
*/
public interface IcFormItemService extends BaseService<IcFormItemEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcFormItemDTO>
* @author generator
* @date 2021-10-26
*/
PageData<IcFormItemDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcFormItemDTO>
* @author generator
* @date 2021-10-26
*/
List<IcFormItemDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcFormItemDTO
* @author generator
* @date 2021-10-26
*/
IcFormItemDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2021-10-26
*/
void save(IcFormItemDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2021-10-26
*/
void update(IcFormItemDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2021-10-26
*/
void delete(String[] ids);
/**
* 获取居民信息的查询条件组件列表
*
@ -122,4 +58,4 @@ public interface IcFormItemService extends BaseService<IcFormItemEntity> {
* @Description 居民信息新增查询各表必填字段
**/
List<ColumnTableNameResultDTO> getMustColumn(String customerId);
}
}

66
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormService.java

@ -18,15 +18,12 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcFormDTO;
import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.CustomerFormResultDTO;
import com.epmet.dto.result.FormItemResult;
import com.epmet.entity.IcFormEntity;
import java.util.List;
import java.util.Map;
/**
* 配置表单
@ -35,67 +32,6 @@ import java.util.Map;
* @since v1.0.0 2021-10-26
*/
public interface IcFormService extends BaseService<IcFormEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcFormDTO>
* @author generator
* @date 2021-10-26
*/
PageData<IcFormDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcFormDTO>
* @author generator
* @date 2021-10-26
*/
List<IcFormDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcFormDTO
* @author generator
* @date 2021-10-26
*/
IcFormDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2021-10-26
*/
void save(IcFormDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2021-10-26
*/
void update(IcFormDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2021-10-26
*/
void delete(String[] ids);
/**
* 获取居民信息表单
*
@ -116,4 +52,6 @@ public interface IcFormService extends BaseService<IcFormEntity> {
* @date 2021.10.27 17:41:59
*/
List<FormItemResult> listItems(String customerId, String formCode);
String initCustomerFormByCode(String customerId, String areaCode, String formCode);
}

55
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java

@ -49,59 +49,6 @@ import java.util.*;
@Service
public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcFormItemEntity> implements IcFormItemService {
@Override
public PageData<IcFormItemDTO> page(Map<String, Object> params) {
IPage<IcFormItemEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcFormItemDTO.class);
}
@Override
public List<IcFormItemDTO> list(Map<String, Object> params) {
List<IcFormItemEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcFormItemDTO.class);
}
private QueryWrapper<IcFormItemEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcFormItemEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcFormItemDTO get(String id) {
IcFormItemEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcFormItemDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcFormItemDTO dto) {
IcFormItemEntity entity = ConvertUtils.sourceToTarget(dto, IcFormItemEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcFormItemDTO dto) {
IcFormItemEntity entity = ConvertUtils.sourceToTarget(dto, IcFormItemEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 获取居民信息的查询条件组件列表
*
@ -171,4 +118,4 @@ public class IcFormItemServiceImpl extends BaseServiceImpl<IcFormItemDao, IcForm
return baseDao.getMustColumn(customerId);
}
}
}

196
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java

@ -17,34 +17,34 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcFormDao;
import com.epmet.dto.IcFormDTO;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dao.*;
import com.epmet.dto.form.CustomerFormQueryDTO;
import com.epmet.dto.result.CustomerFormResultDTO;
import com.epmet.dto.result.FormGroupDTO;
import com.epmet.dto.result.FormItemResult;
import com.epmet.entity.IcFormEntity;
import com.epmet.entity.*;
import com.epmet.redis.CustomerFootBarRedis;
import com.epmet.service.IcFormService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 配置表单
@ -52,65 +52,22 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-26
*/
@Slf4j
@Service
public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity> implements IcFormService {
@Autowired
@Autowired
private CustomerFootBarRedis customerFootBarRedis;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<IcFormDTO> page(Map<String, Object> params) {
IPage<IcFormEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcFormDTO.class);
}
@Override
public List<IcFormDTO> list(Map<String, Object> params) {
List<IcFormEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcFormDTO.class);
}
private QueryWrapper<IcFormEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcFormEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcFormDTO get(String id) {
IcFormEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcFormDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcFormDTO dto) {
IcFormEntity entity = ConvertUtils.sourceToTarget(dto, IcFormEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcFormDTO dto) {
IcFormEntity entity = ConvertUtils.sourceToTarget(dto, IcFormEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Autowired
private RedisUtils redisUtils;
@Autowired
private IcFormItemDao icFormItemDao;
@Autowired
private IcFormItemOptionsDao icFormItemOptionsDao;
@Autowired
private IcFormItemGroupDao icFormItemGroupDao;
@Autowired
private IcFormQueryBuilderDao icFormQueryBuilderDao;
/**
* 获取居民信息表单
@ -122,19 +79,19 @@ public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity>
*/
@Override
public CustomerFormResultDTO getCustomerForm(CustomerFormQueryDTO formDto) {
CustomerFormResultDTO customerFormResultDTO = customerFootBarRedis.getCustomerFormResultDTO(formDto.getFormCode(), formDto.getCustomerId(),formDto.getDynamic());
CustomerFormResultDTO customerFormResultDTO = customerFootBarRedis.getCustomerFormResultDTO(formDto.getFormCode(), formDto.getCustomerId(), formDto.getDynamic());
if (null != customerFormResultDTO) {
return customerFormResultDTO;
}
CustomerFormResultDTO resultDTO=baseDao.selectByCode(formDto.getCustomerId(),formDto.getFormCode());
CustomerFormResultDTO resultDTO = baseDao.selectByCode(formDto.getCustomerId(), formDto.getFormCode());
if (null == resultDTO) {
throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(),EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg());
throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(), EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg());
}
List<FormItemResult> itemList=baseDao.selectItemList(resultDTO.getFormId(),formDto.getDynamic());
List<FormGroupDTO> groupList=baseDao.selectListGroup(resultDTO.getFormId());
List<FormItemResult> itemList = baseDao.selectItemList(resultDTO.getFormId(), formDto.getDynamic());
List<FormGroupDTO> groupList = baseDao.selectListGroup(resultDTO.getFormId());
resultDTO.setItemList(itemList);
resultDTO.setGroupList(groupList);
customerFootBarRedis.setCustomerFormResultDTO(formDto.getFormCode(),formDto.getCustomerId(),resultDTO,formDto.getDynamic());
customerFootBarRedis.setCustomerFormResultDTO(formDto.getFormCode(), formDto.getCustomerId(), resultDTO, formDto.getDynamic());
return resultDTO;
}
@ -150,9 +107,9 @@ public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity>
}
// 从db取
CustomerFormResultDTO formResultDto=baseDao.selectByCode(customerId, formCode);
CustomerFormResultDTO formResultDto = baseDao.selectByCode(customerId, formCode);
if (null == formResultDto) {
throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(),EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg());
throw new RenException(EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getCode(), EpmetErrorCode.CUSTOMER_FORM_NOT_EXITS.getMsg());
}
List<FormItemResult> formItemResults = baseDao.listItems(formResultDto.getFormId());
@ -165,4 +122,97 @@ public class IcFormServiceImpl extends BaseServiceImpl<IcFormDao, IcFormEntity>
return formItemResults;
}
@Transactional(rollbackFor = Exception.class)
@Override
public String initCustomerFormByCode(String customerId, String areaCode, String formCode) {
CustomerFormResultDTO formResultDTO = baseDao.selectByCode(customerId, formCode);
if (formResultDTO != null) {
return "该客户已经存在了表单的数据";
}
String defaultCustomerId = "default";
LambdaQueryWrapper<IcFormEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcFormEntity::getCustomerId, defaultCustomerId);
wrapper.eq(IcFormEntity::getFormCode, formCode);
IcFormEntity defaultIcForm = baseDao.selectOne(wrapper);
if (defaultIcForm == null) {
return "默认配置错误";
}
//统一前缀
String newPrefixed = DateUtils.format(new Date(), DateUtils.DATE_TIME_NO_SPLIT) + StrConstant.UNDER_LINE;
String newFormId = newPrefixed + defaultIcForm.getId();
defaultIcForm.setId(newFormId);
defaultIcForm.setAreaCode(areaCode);
int insert = baseDao.insert(defaultIcForm);
log.info("insert icForm:" + insert);
LambdaQueryWrapper<IcFormItemEntity> wrapperItem = new LambdaQueryWrapper<>();
wrapperItem.eq(IcFormItemEntity::getCustomerId, defaultCustomerId);
wrapperItem.eq(IcFormItemEntity::getFormCode, formCode);
List<IcFormItemEntity> itemList = icFormItemDao.selectList(wrapperItem);
if (CollectionUtils.isEmpty(itemList)) {
return "默认配置错误";
}
//设置item
itemList.forEach(item -> {
item.setId(newPrefixed + item.getId());
item.setCustomerId(customerId);
item.setFormId(newFormId);
item.setAreaCode(areaCode);
item.setParentItemId(newPrefixed + item.getParentItemId());
item.setItemGroupId(newPrefixed + item.getItemGroupId());
String optionSourceValue = item.getOptionSourceValue();
if (StringUtils.isNotBlank(optionSourceValue) && optionSourceValue.contains(StrConstant.QUESTION_MARK)){
//多个参数
String[] paramArr = optionSourceValue.split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK);
for (String o : paramArr) {
optionSourceValue = optionSourceValue.replace(o, newPrefixed + o);
}
item.setOptionSourceValue(optionSourceValue);
}
log.debug("item:"+ JSON.toJSONString(item));
icFormItemDao.insert(item);
});
LambdaQueryWrapper<IcFormItemOptionsEntity> wrapperOptions = new LambdaQueryWrapper<>();
wrapperOptions.eq(IcFormItemOptionsEntity::getCustomerId, defaultCustomerId);
wrapperOptions.eq(IcFormItemOptionsEntity::getFormCode, formCode);
List<IcFormItemOptionsEntity> optionsList = icFormItemOptionsDao.selectList(wrapperOptions);
optionsList.forEach(item -> {
item.setId(newPrefixed + item.getId());
item.setCustomerId(customerId);
item.setFormId(newFormId);
item.setItemId(newPrefixed + item.getItemId());
log.debug("option:"+ JSON.toJSONString(item));
icFormItemOptionsDao.insert(item);
});
LambdaQueryWrapper<IcFormItemGroupEntity> wrapperGroup = new LambdaQueryWrapper<>();
wrapperGroup.eq(IcFormItemGroupEntity::getCustomerId, defaultCustomerId);
wrapperGroup.eq(IcFormItemGroupEntity::getFormCode, formCode);
List<IcFormItemGroupEntity> groupList = icFormItemGroupDao.selectList(wrapperGroup);
groupList.forEach(item -> {
item.setId(newPrefixed + item.getId());
item.setCustomerId(customerId);
item.setFormId(newFormId);
log.debug("group:"+ JSON.toJSONString(item));
icFormItemGroupDao.insert(item);
});
LambdaQueryWrapper<IcFormQueryBuilderEntity> wrapperQuery = new LambdaQueryWrapper<>();
wrapperQuery.eq(IcFormQueryBuilderEntity::getCustomerId, defaultCustomerId);
wrapperQuery.eq(IcFormQueryBuilderEntity::getFormCode, formCode);
List<IcFormQueryBuilderEntity> queryList = icFormQueryBuilderDao.selectList(wrapperQuery);
queryList.forEach(item -> {
item.setId(newPrefixed + item.getId());
item.setCustomerId(customerId);
item.setFormItemId(newPrefixed + item.getFormItemId());
log.debug("query:"+ JSON.toJSONString(item));
icFormQueryBuilderDao.insert(item);
});
return "初始化成功!客户ID:" + customerId + " formCode:" + formCode;
}
}

22
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormQueryBuilderDao.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcFormQueryBuilderDao">
<resultMap type="com.epmet.entity.IcFormQueryBuilderEntity" id="icFormQueryBuilderMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="formItemId" column="FORM_ITEM_ID"/>
<result property="formCode" column="FORM_CODE"/>
<result property="queryType" column="QUERY_TYPE"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>
Loading…
Cancel
Save