|
@@ -2,10 +2,14 @@ package com.ruoyi.ams.bionutrition.doc.util;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocBaseDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.detail.BionutritionDocDetailsBaseDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.detail.BionutritionDocDetailsBaseDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.header.BionutritionDocHeaderBaseDTO;
|
|
import com.ruoyi.ams.bionutrition.doc.dto.header.BionutritionDocHeaderBaseDTO;
|
|
|
|
+import com.ruoyi.ams.bionutrition.doc.excel.BionutritionDocBaseExcel;
|
|
|
|
+import com.ruoyi.ams.bionutrition.doc.excel.detail.BionutritionDocDetailsBaseExcel;
|
|
|
|
+import com.ruoyi.ams.bionutrition.doc.excel.header.BionutritionDocHeaderBaseExcel;
|
|
import com.ruoyi.base.constant.type.BizEnum;
|
|
import com.ruoyi.base.constant.type.BizEnum;
|
|
import com.ruoyi.common.constant.base.EnumUtils;
|
|
import com.ruoyi.common.constant.base.EnumUtils;
|
|
import com.ruoyi.common.utils.ConvertUtils;
|
|
import com.ruoyi.common.utils.ConvertUtils;
|
|
@@ -22,6 +26,28 @@ import java.util.stream.Collectors;
|
|
@Slf4j
|
|
@Slf4j
|
|
public class BionutritionDocUtil {
|
|
public class BionutritionDocUtil {
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 单据详情转换excel
|
|
|
|
+ *
|
|
|
|
+ * @param bionutritionDocBaseDTO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @SneakyThrows
|
|
|
|
+ public static <E> BionutritionDocBaseExcel buildBionutritionDocBaseExcel(String docType, BionutritionDocBaseDTO bionutritionDocBaseDTO) {
|
|
|
|
+ Assert.isTrue(ObjectUtil.isNotNull(bionutritionDocBaseDTO), "bionutritionDocBaseDTO is null");
|
|
|
|
+ Assert.isTrue(StringUtils.isNotBlank(docType), "docType is null");
|
|
|
|
+ BizEnum.BionutritionHeaderExcelDocTypeEnum bionutritionHeaderExcelDocTypeEnum = EnumUtils.getEnumByCode(docType, BizEnum.BionutritionHeaderExcelDocTypeEnum.class);
|
|
|
|
+ Class<E> docHeaderClass = (Class<E>) Class.forName(bionutritionHeaderExcelDocTypeEnum.getClassName());
|
|
|
|
+ BizEnum.BionutritionDetailsExcelDocTypeEnum bionutritionDetailsExcelDocTypeEnum = EnumUtils.getEnumByCode(docType, BizEnum.BionutritionDetailsExcelDocTypeEnum.class);
|
|
|
|
+ Class<E> docDetailsClass = (Class<E>) Class.forName(bionutritionDetailsExcelDocTypeEnum.getClassName());
|
|
|
|
+ BionutritionDocBaseExcel bionutritionDocBaseExcel = new BionutritionDocBaseExcel();
|
|
|
|
+ bionutritionDocBaseExcel.setBionutritionDocHeaderBaseExcelDTO(ObjectUtil.isNotNull(bionutritionDocBaseDTO.getBionutritionDocHeaderBaseDTO()) ?
|
|
|
|
+ (BionutritionDocHeaderBaseExcel) ConvertUtils.sourceToTarget(bionutritionDocBaseDTO.getBionutritionDocHeaderBaseDTO(), docHeaderClass) : null);
|
|
|
|
+ bionutritionDocBaseExcel.setBionutritionDocDetailsBaseExcelList(CollectionUtil.isNotEmpty(bionutritionDocBaseDTO.getBionutritionDocDetailsBaseDTOList()) ?
|
|
|
|
+ (List<BionutritionDocDetailsBaseExcel>) ConvertUtils.sourceToTarget(bionutritionDocBaseDTO.getBionutritionDocDetailsBaseDTOList(), docDetailsClass) : null);
|
|
|
|
+ return bionutritionDocBaseExcel;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取单类型单据明细
|
|
* 获取单类型单据明细
|
|
*
|
|
*
|
|
@@ -46,18 +72,10 @@ public class BionutritionDocUtil {
|
|
*/
|
|
*/
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
public static <E extends BionutritionDocDetailsBaseDTO> List<E> buildBionutritionDocDetailsDTOList(String docType, List<BionutritionDocDetailsDTO> bionutritionDocDetailsDTOList) {
|
|
public static <E extends BionutritionDocDetailsBaseDTO> List<E> buildBionutritionDocDetailsDTOList(String docType, List<BionutritionDocDetailsDTO> bionutritionDocDetailsDTOList) {
|
|
- if (CollectionUtil.isNotEmpty(bionutritionDocDetailsDTOList)){
|
|
|
|
- Assert.isTrue(StringUtils.isNotBlank(docType), "docType is null");
|
|
|
|
- return bionutritionDocDetailsDTOList.stream().map(item -> (E) buildBionutritionDocDetailsDTO(docType, item)).collect(Collectors.toList());
|
|
|
|
- } else {
|
|
|
|
- List<E> docDetailsDTOList = new ArrayList<>();
|
|
|
|
- E docDetailsBaseDTO = buildBionutritionDocDetailsDTO(docType, new BionutritionDocDetailsDTO());
|
|
|
|
- docDetailsDTOList.add(docDetailsBaseDTO);
|
|
|
|
- return docDetailsDTOList;
|
|
|
|
- }
|
|
|
|
- /*Assert.isTrue(CollectionUtil.isNotEmpty(bionutritionDocDetailsDTOList), "bionutritionDocDetailsDTOList is null");
|
|
|
|
Assert.isTrue(StringUtils.isNotBlank(docType), "docType is null");
|
|
Assert.isTrue(StringUtils.isNotBlank(docType), "docType is null");
|
|
- return bionutritionDocDetailsDTOList.stream().map(item -> (E) buildBionutritionDocDetailsDTO(docType, item)).collect(Collectors.toList());*/
|
|
|
|
|
|
+ return CollectionUtil.isNotEmpty(bionutritionDocDetailsDTOList) ?
|
|
|
|
+ bionutritionDocDetailsDTOList.stream().map(item -> (E) buildBionutritionDocDetailsDTO(docType, item)).collect(Collectors.toList()) :
|
|
|
|
+ buildBionutritionDocDetailsDTO(docType, new BionutritionDocDetailsDTO());
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|