Skip to content

Commit fe80e45

Browse files
committed
fix: invoice export invoice type null
--bug=1065648@tapd-34675357 --user=陈建星 【发票记录】导出开票类型为空 https://www.tapd.cn/34675357/s/1830462
1 parent 150d96d commit fe80e45

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

backend/crm/src/main/java/cn/cordys/common/service/BaseExportService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import cn.cordys.crm.system.constants.ExportConstants;
2121
import cn.cordys.crm.system.domain.ExportTask;
2222
import cn.cordys.crm.system.dto.field.base.BaseField;
23+
import cn.cordys.crm.system.dto.field.base.OptionProp;
2324
import cn.cordys.crm.system.dto.field.base.SubField;
2425
import cn.cordys.crm.system.dto.response.ModuleFormConfigDTO;
2526
import cn.cordys.crm.system.excel.domain.MergeResult;
@@ -681,4 +682,13 @@ public void exportCustomerData(ExportTask exportTask, ExportDTO exportDTO) throw
681682
//更新状态
682683
exportTaskService.update(exportTask.getId(), ExportConstants.ExportStatus.SUCCESS.toString(), exportDTO.getUserId());
683684
}
685+
686+
protected String getOptionLabel(String value, List<OptionProp> options) {
687+
for (OptionProp option : options) {
688+
if (Strings.CS.equals(option.getValue(), value)) {
689+
return option.getLabel();
690+
}
691+
}
692+
return null;
693+
}
684694
}

backend/crm/src/main/java/cn/cordys/crm/contract/mapper/ExtContractInvoiceMapper.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
ci.tax_rate,
9595
ci.`owner`,
9696
ci.business_title_id,
97+
ci.approval_status,
9798
ci.create_user,
9899
ci.create_time,
99100
ci.update_user,

backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractInvoiceExportService.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.cordys.crm.contract.service;
22

3+
import cn.cordys.common.constants.BusinessModuleField;
34
import cn.cordys.common.constants.FormKey;
45
import cn.cordys.common.dto.ExportDTO;
56
import cn.cordys.common.dto.ExportHeadDTO;
@@ -9,11 +10,13 @@
910
import cn.cordys.crm.contract.dto.request.ContractInvoicePageRequest;
1011
import cn.cordys.crm.contract.dto.response.ContractInvoiceListResponse;
1112
import cn.cordys.crm.contract.mapper.ExtContractInvoiceMapper;
13+
import cn.cordys.crm.system.dto.field.SelectField;
1214
import cn.cordys.crm.system.dto.field.base.BaseField;
1315
import cn.cordys.registry.ExportThreadRegistry;
1416
import com.github.pagehelper.PageHelper;
1517
import jakarta.annotation.Resource;
1618
import lombok.extern.slf4j.Slf4j;
19+
import org.apache.commons.lang3.Strings;
1720
import org.springframework.stereotype.Service;
1821
import org.springframework.transaction.annotation.Transactional;
1922

@@ -61,16 +64,17 @@ public List<List<Object>> getExportData(String taskId, ExportDTO exportDTO) thro
6164
return data;
6265
}
6366

64-
private List<Object> buildData(List<ExportHeadDTO> headList, ContractInvoiceListResponse data, Map<String, BaseField> fieldConfigMap) {
67+
private List<Object> buildData(List<ExportHeadDTO> headList, ContractInvoiceListResponse data,
68+
Map<String, BaseField> fieldConfigMap) {
6569
//固定字段map
66-
LinkedHashMap<String, Object> systemFiledMap = getSystemFieldMap(data);
70+
LinkedHashMap<String, Object> systemFiledMap = getSystemFieldMap(data, fieldConfigMap);
6771
//自定义字段map
6872
Map<String, Object> moduleFieldMap = getFieldIdValueMap(data.getModuleFields());
6973
//处理数据转换
7074
return transModuleFieldValue(headList, systemFiledMap, moduleFieldMap, new ArrayList<>(), fieldConfigMap);
7175
}
7276

73-
public LinkedHashMap<String, Object> getSystemFieldMap(ContractInvoiceListResponse data) {
77+
public LinkedHashMap<String, Object> getSystemFieldMap(ContractInvoiceListResponse data, Map<String, BaseField> fieldConfigMap) {
7478
LinkedHashMap<String, Object> systemFiledMap = new LinkedHashMap<>();
7579
systemFiledMap.put("contractId", data.getContractName());
7680
systemFiledMap.put("owner", data.getOwnerName());
@@ -81,6 +85,14 @@ public LinkedHashMap<String, Object> getSystemFieldMap(ContractInvoiceListRespon
8185
systemFiledMap.put("businessTitleId", data.getBusinessTitleId());
8286
systemFiledMap.put("approvalStatus", data.getApprovalStatus() == null ? null : Translator.get("contract.approval_status." + data.getApprovalStatus().toLowerCase()));
8387

88+
for (BaseField field : fieldConfigMap.values()) {
89+
if (Strings.CS.equals(BusinessModuleField.INVOICE_INVOICE_TYPE.getBusinessKey(), field.getBusinessKey())
90+
&& field instanceof SelectField invoiceTypeField) {
91+
String invoiceTypeName = getOptionLabel(data.getInvoiceType(), invoiceTypeField.getOptions());
92+
systemFiledMap.put("invoiceType", invoiceTypeName);
93+
}
94+
}
95+
8496
systemFiledMap.put("createUser", data.getCreateUserName());
8597
systemFiledMap.put("createTime", TimeUtils.getDateTimeStr(data.getCreateTime()));
8698
systemFiledMap.put("updateUser", data.getUpdateUserName());

0 commit comments

Comments
 (0)