Browse Source

居民信息自定义模板导出——保存模板

release
sunyuchao 3 years ago
parent
commit
f21da1e301
  1. 7
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  2. 5
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  3. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java
  4. 4
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java
  5. 14
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateConfigService.java
  6. 5
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java
  7. 20
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateConfigServiceImpl.java
  8. 91
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java
  9. 19
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml

7
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java

@ -169,4 +169,11 @@ public interface OperCustomizeOpenFeignClient {
*/ */
@PostMapping("/oper/customize/icExportTemplate/getExcelHeaderAndSqlColumnForExport") @PostMapping("/oper/customize/icExportTemplate/getExcelHeaderAndSqlColumnForExport")
Result<IcCustomExportResultDTO> getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateQueryFormDTO param); Result<IcCustomExportResultDTO> getExcelHeaderAndSqlColumnForExport(@RequestBody IcExportTemplateQueryFormDTO param);
/**
* @author sun
* @Description 居民信息自定义模板导出--保存模板
*/
@PostMapping("/oper/customize/icExportTemplate/save")
Result<List<IcExportTemplateForExportResultDTO>> save(@RequestBody IcExportTemplateSaveFormDTO formDTO);
} }

5
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java

@ -129,4 +129,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
public Result<IcCustomExportResultDTO> getExcelHeaderAndSqlColumnForExport(IcExportTemplateQueryFormDTO param) { public Result<IcCustomExportResultDTO> getExcelHeaderAndSqlColumnForExport(IcExportTemplateQueryFormDTO param) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getExcelHeaderAndSqlColumnForExport", param); return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getExcelHeaderAndSqlColumnForExport", param);
} }
@Override
public Result<List<IcExportTemplateForExportResultDTO>> save(IcExportTemplateSaveFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "save", formDTO);
}
} }

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcExportTemplateController.java

@ -11,10 +11,12 @@ import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.service.IcExportTemplateService; import com.epmet.service.IcExportTemplateService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map; import java.util.Map;
@ -45,11 +47,10 @@ public class IcExportTemplateController {
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("save") @PostMapping("save")
public Result save(@RequestBody IcExportTemplateSaveFormDTO dto) { public Result<List<IcExportTemplateForExportResultDTO>> save(@RequestBody IcExportTemplateSaveFormDTO formDTO) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class); ValidatorUtils.validateEntity(formDTO, AddGroup.class);
icExportTemplateService.save(dto); return new Result<List<IcExportTemplateForExportResultDTO>>().ok(icExportTemplateService.save(formDTO));
return new Result();
} }

4
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcExportTemplateDao.java

@ -1,10 +1,12 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO; import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.entity.IcExportTemplateEntity; import com.epmet.entity.IcExportTemplateEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -18,4 +20,6 @@ import java.util.List;
public interface IcExportTemplateDao extends BaseDao<IcExportTemplateEntity> { public interface IcExportTemplateDao extends BaseDao<IcExportTemplateEntity> {
List<IcExportTemplateForExportResultDTO> getTemplateConfigForExport(IcExportTemplateQueryFormDTO param); List<IcExportTemplateForExportResultDTO> getTemplateConfigForExport(IcExportTemplateQueryFormDTO param);
List<IcExportTemplateDTO> selectByAgencyId(@Param("agencyId") String agencyId);
} }

14
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateConfigService.java

@ -0,0 +1,14 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.IcExportTemplateConfigEntity;
/**
* 自定义表单导出模板
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-04-21
*/
public interface IcExportTemplateConfigService extends BaseService<IcExportTemplateConfigEntity> {
}

5
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcExportTemplateService.java

@ -6,6 +6,7 @@ import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.entity.IcExportTemplateEntity; import com.epmet.entity.IcExportTemplateEntity;
import java.util.List; import java.util.List;
@ -52,12 +53,12 @@ public interface IcExportTemplateService extends BaseService<IcExportTemplateEnt
/** /**
* 默认保存 * 默认保存
* *
* @param dto * @param formDTO
* @return void * @return void
* @author generator * @author generator
* @date 2022-04-21 * @date 2022-04-21
*/ */
void save(IcExportTemplateSaveFormDTO dto); List<IcExportTemplateForExportResultDTO> save(IcExportTemplateSaveFormDTO formDTO);
/** /**
* 批量删除 * 批量删除

20
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateConfigServiceImpl.java

@ -0,0 +1,20 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.IcExportTemplateConfigDao;
import com.epmet.entity.IcExportTemplateConfigEntity;
import com.epmet.service.IcExportTemplateConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* 自定义表单导出模板
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-04-21
*/
@Slf4j
@Service
public class IcExportTemplateConfigServiceImpl extends BaseServiceImpl<IcExportTemplateConfigDao, IcExportTemplateConfigEntity> implements IcExportTemplateConfigService {
}

91
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java

@ -3,20 +3,31 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.dao.IcExportTemplateDao; import com.epmet.dao.IcExportTemplateDao;
import com.epmet.dao.IcFormItemDao; import com.epmet.dao.IcFormItemDao;
import com.epmet.dto.IcExportTemplateDTO; import com.epmet.dto.IcExportTemplateDTO;
import com.epmet.dto.form.IcExportItemListFormDTO;
import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcExportTemplateQueryFormDTO;
import com.epmet.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.ConditionResultDTO;
import com.epmet.dto.result.IcCustomExportResultDTO; import com.epmet.dto.result.IcCustomExportResultDTO;
import com.epmet.dto.result.IcExportTemplateForExportResultDTO; import com.epmet.dto.result.IcExportTemplateForExportResultDTO;
import com.epmet.entity.IcExportTemplateConfigEntity;
import com.epmet.entity.IcExportTemplateEntity; import com.epmet.entity.IcExportTemplateEntity;
import com.epmet.service.IcExportTemplateConfigService;
import com.epmet.service.IcExportTemplateService; import com.epmet.service.IcExportTemplateService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -42,6 +53,8 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
private IcExportTemplateDao icExportTemplateDao; private IcExportTemplateDao icExportTemplateDao;
@Autowired @Autowired
private IcFormItemDao icFormItemDao; private IcFormItemDao icFormItemDao;
@Autowired
private IcExportTemplateConfigService icExportTemplateConfigService;
@Override @Override
public PageData<IcExportTemplateDTO> page(Map<String, Object> params) { public PageData<IcExportTemplateDTO> page(Map<String, Object> params) {
@ -76,9 +89,83 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(IcExportTemplateSaveFormDTO dto) { public List<IcExportTemplateForExportResultDTO> save(IcExportTemplateSaveFormDTO formDTO) {
//TODO List<IcExportTemplateForExportResultDTO> resultList = new ArrayList<>();
IcExportTemplateEntity tempEntity = new IcExportTemplateEntity();
List<IcExportTemplateConfigEntity> itemList = new ArrayList<>();
String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID);
String staffId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID);
//1.获取工作人员所属组织缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, staffId);
if (null == staffInfo) {
throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", EpmetRequestHolder.getHeader(AppClientConstant.USER_ID)));
}
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staffInfo.getAgencyId());
if (null == agencyInfo) {
throw new RenException(String.format("获取组织缓存信息失败%s", staffInfo.getAgencyId()));
}
//2.根据是否保存判断查询当前组织已存在模板的最大sort值
int sort = 1;
String tempId = "";
if (formDTO.getIsTemp()) {
List<IcExportTemplateDTO> templist = baseDao.selectByAgencyId(agencyInfo.getId());
if (!CollectionUtils.isEmpty(templist)) {
sort = templist.get(NumConstant.ZERO).getSort() + NumConstant.ONE;
}
tempId = UUID.randomUUID().toString().replace("-", "");
tempEntity.setId(tempId);
tempEntity.setCustomerId(customerId);
tempEntity.setAgencyId(agencyInfo.getId());
tempEntity.setPids(StringUtils.isEmpty(agencyInfo.getPids()) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId());
tempEntity.setFormCode(formDTO.getFormCode());
tempEntity.setName(formDTO.getName());
/*tempEntity.setType();
tempEntity.setUrl();*/
tempEntity.setSort(sort);
}
//3.组装待保存和待返回数据对象
int num = 0;
for (IcExportItemListFormDTO dto : formDTO.getItemList()) {
IcExportTemplateConfigEntity itemEntity = ConvertUtils.sourceToTarget(dto, IcExportTemplateConfigEntity.class);
itemEntity.setId(UUID.randomUUID().toString().replace("-", ""));
itemEntity.setPid("0");
itemEntity.setCustomerId(customerId);
itemEntity.setTempId(tempId);
num += 1;
itemEntity.setSort(num);
itemList.add(itemEntity);
IcExportTemplateForExportResultDTO resultDTO = ConvertUtils.sourceToTarget(dto, IcExportTemplateForExportResultDTO.class);
resultDTO.setId(itemEntity.getId());
resultDTO.setPid(itemEntity.getPid());
resultDTO.setSort(itemEntity.getSort());
resultList.add(resultDTO);
int subNum = 0;
for (IcExportItemListFormDTO subDTO : dto.getChildren()) {
IcExportTemplateConfigEntity subItem = ConvertUtils.sourceToTarget(subDTO, IcExportTemplateConfigEntity.class);
subItem.setId(UUID.randomUUID().toString().replace("-", ""));
subItem.setPid(itemEntity.getId());
subItem.setCustomerId(customerId);
subItem.setTempId(tempId);
subNum += 1;
subItem.setSort(subNum);
itemList.add(subItem);
IcExportTemplateForExportResultDTO subResultDTO = ConvertUtils.sourceToTarget(subDTO, IcExportTemplateForExportResultDTO.class);
subResultDTO.setId(subItem.getId());
subResultDTO.setPid(subItem.getPid());
subResultDTO.setSort(subItem.getSort());
resultList.add(subResultDTO);
}
}
//4.执行数据保存
if (formDTO.getIsTemp()) {
baseDao.insert(tempEntity);
icExportTemplateConfigService.insertBatch(itemList);
}
//5.返回组装数据对象
return resultList;
} }

19
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml

@ -30,5 +30,24 @@
ORDER BY c.PID,c.SORT ORDER BY c.PID,c.SORT
</select> </select>
<select id="selectByAgencyId" resultType="com.epmet.dto.IcExportTemplateDTO">
SELECT
id,
customer_id,
agency_id,
pids,
form_code,
`name`,
type,
url,
sort
FROM
ic_export_template
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
ORDER BY sort DESC
</select>
</mapper> </mapper>

Loading…
Cancel
Save