huangguoce 1 месяц назад
Родитель
Сommit
8af6bc84ec
15 измененных файлов с 258 добавлено и 195 удалено
  1. 9 7
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/ReimbursementInfoController.java
  2. 1 4
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml
  3. 56 42
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java
  4. 9 7
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/CcpmReimbursementInfoController.java
  5. 1 4
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/CcpmReimbursementInfoMapper.xml
  6. 36 23
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/CcpmReimbursementInfoService.java
  7. 9 7
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/ZsReimbursementInfoController.java
  8. 1 4
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/ZsReimbursementInfoMapper.xml
  9. 53 40
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/ZsReimbursementInfoService.java
  10. 9 7
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/ConsultancyReimbursementInfoController.java
  11. 1 4
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/ConsultancyReimbursementInfoMapper.xml
  12. 14 3
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/ConsultancyReimbursementInfoService.java
  13. 9 7
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/controller/CwReimbursementInfoController.java
  14. 1 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/xml/CwReimbursementInfoMapper.xml
  15. 49 32
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

+ 9 - 7
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/ReimbursementInfoController.java

@@ -47,7 +47,7 @@ public class ReimbursementInfoController {
     @ApiOperation(value = "列表查询")
     @GetMapping("/list")
     public ResponseEntity<IPage<RetureListDto>> list(Page<RetureListDto> page, QueryListDto dto) throws Exception{
-        IPage<RetureListDto> iPage = service.list(page, dto);
+        IPage<RetureListDto> iPage = service.list(page, dto,false);
         return ResponseEntity.ok(iPage);
     }
 
@@ -137,19 +137,20 @@ public class ReimbursementInfoController {
     @GetMapping("exportFile")
     @ApiOperation(value = "评估报销数据")
     public void exportFile(QueryListDto cwDTO, Page <RetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = false;
         String fileName = options.getFilename();
         String sheetName = options.getSheetName();
         List<RetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
             page.setSize (-1);
             page.setCurrent (0);
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
 
         if(result.size()>0){
@@ -205,13 +206,14 @@ public class ReimbursementInfoController {
     @GetMapping("exportInvoiceReimbursementFile")
     @ApiOperation(value = "评估电子发票报销数据")
     public void exportInvoiceReimbursementFile(QueryListDto cwDTO, Page <RetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = true;
         String fileName = "评估数电发票报销数据表";
         String sheetName = "评估数电发票报销列表";
         List<RetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
@@ -220,7 +222,7 @@ public class ReimbursementInfoController {
             if(StringUtils.isBlank(cwDTO.getReimbursementType())){
                 cwDTO.setReimbursementType("1");
             }
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
         List<String> idList = Lists.newArrayList();
         for (RetureListDto listDto : result) {

+ 1 - 4
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml

@@ -630,15 +630,12 @@
 		date_format(ri.reim_date,'%Y-%m-%d') as 'reimDate',
 		date_format(ri.payment_time,'%Y-%m-%d %H:%i:%s') as 'paymentTime',
 		su.name as "reimbursementApplicantName",
-		so.name as "officeName",
-		sdv.label as "invoiceTypeStr"
+		so.name as "officeName"
 		from
 		reimbursement_amount_info a
 		left join reimbursement_info ri on ri.id = a.info_id
 		left join sys_user su on su.id = ri.create_by_id
 		left join sys_office so on so.id = su.office_id
-		left join sys_dict_value sdv on sdv.value = a.invoice_type
-		left join sys_dict_type sdt on sdt.id = sdv.dict_type_id and sdt.type = 'invoice_reimbursement_type'
 		<where>
 			a.del_flag = 0
 			and a.info_id in

+ 56 - 42
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -100,7 +101,7 @@ public class ReimbursementInfoService {
     /**
      * 列表查询
      */
-    public IPage<RetureListDto> list(Page<RetureListDto> page , QueryListDto dto) throws Exception{
+    public IPage<RetureListDto> list(Page<RetureListDto> page , QueryListDto dto,Boolean isExport) throws Exception{
         IUserApi userApi = SpringUtil.getBean(IUserApi.class);
         IOfficeApi officeApi = SpringUtil.getBean(IOfficeApi.class);
         QueryWrapper<QueryListDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, QueryListDto.class);
@@ -235,52 +236,54 @@ public class ReimbursementInfoService {
 
 
         IPage<RetureListDto> pageList = infoMapper.findList(page, queryWrapper);
-        pageList.getRecords().stream().forEach(item -> {
-            // 报销申请
-            if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getType())) {
-                if ("2".equals(item.getType())) { // “审核中”的数据要获取数据审核人
-                    item.setAuditUserIds(flowTaskService.getTaskAuditUsers(item.getTaskId()));  // 获取数据审核人
-                    String currentTaskName = flowTaskService.getCurrentTaskName(item.getProcInsId());
-                    if (item.getType().equals("2") && com.jeeplus.utils.StringUtils.isNotBlank(currentTaskName) && !currentTaskName.contains("综合管理部主任") && !currentTaskName.contains("部门主任")){
-                        item.setApplyFile(true);
+        if (!isExport){
+            pageList.getRecords().stream().forEach(item -> {
+                // 报销申请
+                if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getType())) {
+                    if ("2".equals(item.getType())) { // “审核中”的数据要获取数据审核人
+                        item.setAuditUserIds(flowTaskService.getTaskAuditUsers(item.getTaskId()));  // 获取数据审核人
+                        String currentTaskName = flowTaskService.getCurrentTaskName(item.getProcInsId());
+                        if (item.getType().equals("2") && com.jeeplus.utils.StringUtils.isNotBlank(currentTaskName) && !currentTaskName.contains("综合管理部主任") && !currentTaskName.contains("部门主任")){
+                            item.setApplyFile(true);
+                        }
                     }
                 }
-            }
 
-            if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
-                if (StringUtils.isNotBlank(item.getProjectId())) {
-                    String proName = selectProjectByIds(item.getProjectId());
-                    item.setProjectName(proName);
-                    String reportNo = selectReportNoByIds(item.getProjectId());
-                    item.setReportNumber(reportNo);
+                if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
+                    if (StringUtils.isNotBlank(item.getProjectId())) {
+                        String proName = selectProjectByIds(item.getProjectId());
+                        item.setProjectName(proName);
+                        String reportNo = selectReportNoByIds(item.getProjectId());
+                        item.setReportNumber(reportNo);
+                    }
                 }
-            }
-            //文件补充
-            ReimbursementFileSupplement reimbursementFileSupplement = reimbursementFileSupplementMapper.getByReimId(item.getId());
-            if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
-                item.setFileStatus(reimbursementFileSupplement.getStatus());
-                item.setFileSuppleId(reimbursementFileSupplement.getId());
-                item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
-                item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
-            }
-            //文件补充
-            if (StringUtils.isNotBlank(item.getTaskIdFile()) && StringUtils.isNotBlank(item.getFileStatus())) {
-                if ("2".equals(item.getFileStatus()) || "4".equals(item.getFileStatus())) { // “审核中”的数据要获取数据审核人
-                    item.setAuditFileUserIds(flowTaskService.getTaskAuditUsers(item.getTaskIdFile()));  // 获取数据审核人
+                //文件补充
+                ReimbursementFileSupplement reimbursementFileSupplement = reimbursementFileSupplementMapper.getByReimId(item.getId());
+                if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
+                    item.setFileStatus(reimbursementFileSupplement.getStatus());
+                    item.setFileSuppleId(reimbursementFileSupplement.getId());
+                    item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
+                    item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
+                }
+                //文件补充
+                if (StringUtils.isNotBlank(item.getTaskIdFile()) && StringUtils.isNotBlank(item.getFileStatus())) {
+                    if ("2".equals(item.getFileStatus()) || "4".equals(item.getFileStatus())) { // “审核中”的数据要获取数据审核人
+                        item.setAuditFileUserIds(flowTaskService.getTaskAuditUsers(item.getTaskIdFile()));  // 获取数据审核人
+                    }
+                }
+                if (StringUtils.isBlank(item.getDeptName())){
+                    //处理部门名
+                    String offices = getOfficeNameByIds(item.getDeptId());
+                    item.setDeptName(offices);
+                }
+                if (StringUtils.isBlank(item.getName())){
+                    //处理用户名
+                    String names = userApi.getNamesByIds(item.getUserId());
+                    item.setName(names);
                 }
-            }
-            if (StringUtils.isBlank(item.getDeptName())){
-                //处理部门名
-                String offices = getOfficeNameByIds(item.getDeptId());
-                item.setDeptName(offices);
-            }
-            if (StringUtils.isBlank(item.getName())){
-                //处理用户名
-                String names = userApi.getNamesByIds(item.getUserId());
-                item.setName(names);
-            }
 
-        });
+            });
+        }
         return pageList;
     }
 
@@ -1761,7 +1764,18 @@ public class ReimbursementInfoService {
 
     public List<ReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(List<String> idList) {
         List<ReimbursementAmountInfoDTO> list = infoMapper.getInvoiceReimbursementAmountList(idList);
-
+        String cwReimbursementSourceTypeDatas = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("invoice_reimbursement_type");
+        for (ReimbursementAmountInfoDTO info : list) {
+            Map<String,Object> cwReimbursementSourceTypeValueDTOs = JSON.parseObject(cwReimbursementSourceTypeDatas, new TypeReference<Map<String,Object>>() {});
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(info.getInvoiceType())){
+                for (String key : cwReimbursementSourceTypeValueDTOs.keySet()) {
+                    if(info.getInvoiceType().equals(key)){
+                        info.setInvoiceTypeStr(String.valueOf(cwReimbursementSourceTypeValueDTOs.get(key)));
+                        break;
+                    }
+                }
+            }
+        }
 
         return list;
     }

+ 9 - 7
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/CcpmReimbursementInfoController.java

@@ -67,7 +67,7 @@ public class CcpmReimbursementInfoController {
     @ApiOperation(value = "列表查询")
     @GetMapping("/list")
     public ResponseEntity<IPage<CcpmRetureListDto>> list(Page<CcpmRetureListDto> page, CcpmQueryListDto dto) throws Exception{
-        IPage<CcpmRetureListDto> iPage = service.list(page, dto);
+        IPage<CcpmRetureListDto> iPage = service.list(page, dto,false);
         iPage.getRecords().stream().forEach(i -> {
             if (StringUtils.isNotBlank(i.getProcInsId()) && StringUtils.isNotBlank(i.getTaskId())) {
                 i.setAuditUserIds(flowTaskService.getTaskAuditUsers(i.getTaskId()));  // 获取数据审核人
@@ -168,19 +168,20 @@ public class CcpmReimbursementInfoController {
     @GetMapping("exportFile")
     @ApiOperation(value = "项目报销数据")
     public void exportFile(CcpmQueryListDto cwFinanceInvoiceDTO, Page <CcpmRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = false;
         String fileName = options.getFilename();
         String sheetName = options.getSheetName();
         List<CcpmRetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
             page.setSize (-1);
             page.setCurrent (0);
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         }
 
         if(result.size()>0){
@@ -233,13 +234,14 @@ public class CcpmReimbursementInfoController {
     @GetMapping("exportInvoiceReimbursementFile")
     @ApiOperation(value = "项目电子发票报销数据")
     public void exportInvoiceReimbursementFile(CcpmQueryListDto cwDTO, Page <CcpmRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = true;
         String fileName = "项目数电发票报销数据表";
         String sheetName = "项目数电发票报销列表";
         List<CcpmRetureListDto> result = new ArrayList<>();
         if (ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
@@ -248,7 +250,7 @@ public class CcpmReimbursementInfoController {
             if(StringUtils.isBlank(cwDTO.getReimbursementType())){
                 cwDTO.setReimbursementType("1");
             }
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
         List<String> idList = Lists.newArrayList();
         for (CcpmRetureListDto listDto : result) {

+ 1 - 4
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/CcpmReimbursementInfoMapper.xml

@@ -822,15 +822,12 @@
 		date_format(ri.reim_date,'%Y-%m-%d') as 'reimDate',
         date_format(ri.payment_time,'%Y-%m-%d %H:%i:%s') as 'paymentTime',
         su.name as "reimbursementApplicantName",
-		so.name as "officeName",
-		sdv.label as "invoiceTypeStr"
+		so.name as "officeName"
 		from
 		ccpm_reimbursement_amount_info a
 		left join ccpm_reimbursement_info ri on ri.id = a.info_id
 		left join sys_user su on su.id = ri.create_by_id
 		left join sys_office so on so.id = su.office_id
-		left join sys_dict_value sdv on sdv.value = a.invoice_type
-		left join sys_dict_type sdt on sdt.id = sdv.dict_type_id and sdt.type = 'invoice_reimbursement_type'
 		<where>
 			a.del_flag = 0
 			and a.info_id in

+ 36 - 23
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/CcpmReimbursementInfoService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -114,7 +115,7 @@ public class CcpmReimbursementInfoService {
     /**
      * 列表查询
      */
-    public IPage<CcpmRetureListDto> list(Page<CcpmRetureListDto> page , CcpmQueryListDto dto) throws Exception{
+    public IPage<CcpmRetureListDto> list(Page<CcpmRetureListDto> page , CcpmQueryListDto dto,Boolean isExport) throws Exception{
         IUserApi userApi = SpringUtil.getBean ( IUserApi.class );
         IOfficeApi officeApi = SpringUtil.getBean ( IOfficeApi.class );
         QueryWrapper<CcpmQueryListDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, CcpmQueryListDto.class);
@@ -261,27 +262,29 @@ public class CcpmReimbursementInfoService {
             }
         }*/
         IPage<CcpmRetureListDto> list = infoMapper.findList(page, queryWrapper);
-        list.getRecords().stream().forEach(item ->{
-            //文件补充
-            CcpmReimbursementFileSupplement reimbursementFileSupplement = ccpmReimbursementFileSupplementMapper.getByReimId(item.getId());
-            if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
-                item.setFileStatus(reimbursementFileSupplement.getStatus());
-                item.setFileSuppleId(reimbursementFileSupplement.getId());
-                item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
-                item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
-            }
+        if(!isExport){
+            list.getRecords().stream().forEach(item ->{
+                //文件补充
+                CcpmReimbursementFileSupplement reimbursementFileSupplement = ccpmReimbursementFileSupplementMapper.getByReimId(item.getId());
+                if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
+                    item.setFileStatus(reimbursementFileSupplement.getStatus());
+                    item.setFileSuppleId(reimbursementFileSupplement.getId());
+                    item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
+                    item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
+                }
 
-            if (StringUtils.isBlank(item.getDeptName())){
-                //处理部门名
-                String offices = getOfficeNameByIds(item.getDeptId());
-                item.setDeptName(offices);
-            }
-            if (StringUtils.isBlank(item.getName())){
-                //处理用户名
-                String names = userApi.getNamesByIds(item.getUserId());
-                item.setName(names);
-            }
-        } );
+                if (StringUtils.isBlank(item.getDeptName())){
+                    //处理部门名
+                    String offices = getOfficeNameByIds(item.getDeptId());
+                    item.setDeptName(offices);
+                }
+                if (StringUtils.isBlank(item.getName())){
+                    //处理用户名
+                    String names = userApi.getNamesByIds(item.getUserId());
+                    item.setName(names);
+                }
+            } );
+        }
         return list;
     }
 
@@ -1233,8 +1236,18 @@ public class CcpmReimbursementInfoService {
 
     public List<CcpmReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(List<String> idList) {
         List<CcpmReimbursementAmountInfoDTO> list = infoMapper.getInvoiceReimbursementAmountList(idList);
-
-
+        String cwReimbursementSourceTypeDatas = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("invoice_reimbursement_type");
+        for (CcpmReimbursementAmountInfoDTO info : list) {
+            Map<String,Object> cwReimbursementSourceTypeValueDTOs = JSON.parseObject(cwReimbursementSourceTypeDatas, new TypeReference<Map<String,Object>>() {});
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(info.getInvoiceType())){
+                for (String key : cwReimbursementSourceTypeValueDTOs.keySet()) {
+                    if(info.getInvoiceType().equals(key)){
+                        info.setInvoiceTypeStr(String.valueOf(cwReimbursementSourceTypeValueDTOs.get(key)));
+                        break;
+                    }
+                }
+            }
+        }
         return list;
     }
 

+ 9 - 7
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/ZsReimbursementInfoController.java

@@ -65,7 +65,7 @@ public class ZsReimbursementInfoController {
     @ApiOperation(value = "列表查询")
     @GetMapping("/list")
     public ResponseEntity<IPage<ZsRetureListDto>> list(Page<ZsRetureListDto> page, ZsQueryListDto dto) throws Exception{
-        IPage<ZsRetureListDto> iPage = service.list(page, dto);
+        IPage<ZsRetureListDto> iPage = service.list(page, dto,false);
         iPage.getRecords().stream().forEach(i -> {
             if (StringUtils.isNotBlank(i.getProcInsId()) && StringUtils.isNotBlank(i.getTaskId())) {
                 i.setAuditUserIds(flowTaskService.getTaskAuditUsers(i.getTaskId()));  // 获取数据审核人
@@ -167,19 +167,20 @@ public class ZsReimbursementInfoController {
     @GetMapping("exportFile")
     @ApiOperation(value = "中审报销数据")
     public void exportFile(ZsQueryListDto cwFinanceInvoiceDTO, Page <ZsRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+       boolean isExport = false;
         String fileName = options.getFilename();
         String sheetName = options.getSheetName();
         List<ZsRetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
             page.setSize (-1);
             page.setCurrent (0);
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         }
 
         if(result.size()>0){
@@ -231,13 +232,14 @@ public class ZsReimbursementInfoController {
     @GetMapping("exportInvoiceReimbursementFile")
     @ApiOperation(value = "中审电子发票报销数据")
     public void exportInvoiceReimbursementFile(ZsQueryListDto cwDTO, Page <ZsRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = true;
         String fileName = "中审数电发票报销数据表";
         String sheetName = "中审数电发票报销列表";
         List<ZsRetureListDto> result = new ArrayList<>();
         if (ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (com.jeeplus.common.excel.ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
@@ -246,7 +248,7 @@ public class ZsReimbursementInfoController {
             if(com.jeeplus.utils.StringUtils.isBlank(cwDTO.getReimbursementType())){
                 cwDTO.setReimbursementType("1");
             }
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
         List<String> idList = Lists.newArrayList();
         for (ZsRetureListDto listDto : result) {

+ 1 - 4
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/ZsReimbursementInfoMapper.xml

@@ -891,15 +891,12 @@
 		date_format(ri.reim_date,'%Y-%m-%d') as 'reimDate',
 		date_format(ri.payment_time,'%Y-%m-%d %H:%i:%s') as 'paymentTime',
 		su.name as "reimbursementApplicantName",
-		so.name as "officeName",
-		sdv.label as "invoiceTypeStr"
+		so.name as "officeName"
 		from
 		zs_reimbursement_amount_info a
 		left join zs_reimbursement_info ri on ri.id = a.info_id
 		left join sys_user su on su.id = ri.create_by_id
 		left join sys_office so on so.id = su.office_id
-		left join sys_dict_value sdv on sdv.value = a.invoice_type
-		left join sys_dict_type sdt on sdt.id = sdv.dict_type_id and sdt.type = 'invoice_reimbursement_type'
 		<where>
 			a.del_flag = 0
 			and a.info_id in

+ 53 - 40
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/ZsReimbursementInfoService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -113,7 +114,7 @@ public class ZsReimbursementInfoService {
     /**
      * 列表查询
      */
-    public IPage<ZsRetureListDto> list(Page<ZsRetureListDto> page , ZsQueryListDto dto) throws Exception{
+    public IPage<ZsRetureListDto> list(Page<ZsRetureListDto> page , ZsQueryListDto dto,Boolean isExport) throws Exception{
         IOfficeApi officeApi = SpringUtil.getBean(IOfficeApi.class);
         IUserApi userApi = SpringUtil.getBean(IUserApi.class);
         QueryWrapper<ZsQueryListDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, ZsQueryListDto.class);
@@ -250,47 +251,49 @@ public class ZsReimbursementInfoService {
             }
         }*/
         IPage<ZsRetureListDto> list = infoMapper.findList(page, queryWrapper);
-        list.getRecords().stream().forEach(item ->{
-            if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
-                if (StringUtils.isNotBlank(item.getProjectId())) {
-                    String proName = SpringUtil.getBean(IFinanceApi.class).getCwProjectNameByIds(item.getProjectId());
-                    item.setProjectName(proName);
+        if(!isExport){
+            list.getRecords().stream().forEach(item ->{
+                if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
+                    if (StringUtils.isNotBlank(item.getProjectId())) {
+                        String proName = SpringUtil.getBean(IFinanceApi.class).getCwProjectNameByIds(item.getProjectId());
+                        item.setProjectName(proName);
+                    }
+                    if (StringUtils.isBlank(item.getDeptName())){
+                        String name = infoMapper.findUserById(item.getProjectUser());
+                        item.setName(name);
+                        String office = infoMapper.findOfficeById(item.getProjectOffice());
+                        item.setDeptName(office);
+                    }
                 }
-                if (StringUtils.isBlank(item.getDeptName())){
-                    String name = infoMapper.findUserById(item.getProjectUser());
-                    item.setName(name);
-                    String office = infoMapper.findOfficeById(item.getProjectOffice());
-                    item.setDeptName(office);
+                if (StringUtils.isNotBlank(item.getSourceType()) && "3".equals(item.getSourceType())){//报告报销
+                    if (org.apache.commons.lang3.StringUtils.isBlank(item.getDeptName())){
+                        String name = infoMapper.findUserById(item.getReportUser());
+                        item.setName(name);
+                        String office = infoMapper.findOfficeById(item.getReportOffice());
+                        item.setDeptName(office);
+                    }
                 }
-            }
-            if (StringUtils.isNotBlank(item.getSourceType()) && "3".equals(item.getSourceType())){//报告报销
-                if (org.apache.commons.lang3.StringUtils.isBlank(item.getDeptName())){
-                    String name = infoMapper.findUserById(item.getReportUser());
-                    item.setName(name);
-                    String office = infoMapper.findOfficeById(item.getReportOffice());
-                    item.setDeptName(office);
+                //文件补充
+                ZsReimbursementFileSupplement reimbursementFileSupplement = zsReimbursementFileSupplementMapper.getByReimId(item.getId());
+                if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
+                    item.setFileStatus(reimbursementFileSupplement.getStatus());
+                    item.setFileSuppleId(reimbursementFileSupplement.getId());
+                    item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
+                    item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
                 }
-            }
-            //文件补充
-            ZsReimbursementFileSupplement reimbursementFileSupplement = zsReimbursementFileSupplementMapper.getByReimId(item.getId());
-            if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
-                item.setFileStatus(reimbursementFileSupplement.getStatus());
-                item.setFileSuppleId(reimbursementFileSupplement.getId());
-                item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
-                item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
-            }
 
-            if (StringUtils.isBlank(item.getDeptName())){
-                //处理部门名
-                String offices = getOfficeNameByIds(item.getDeptId());
-                item.setDeptName(offices);
-            }
-            if (StringUtils.isBlank(item.getName())){
-                //处理用户名
-                String names = userApi.getNamesByIds(item.getUserId());
-                item.setName(names);
-            }
-        });
+                if (StringUtils.isBlank(item.getDeptName())){
+                    //处理部门名
+                    String offices = getOfficeNameByIds(item.getDeptId());
+                    item.setDeptName(offices);
+                }
+                if (StringUtils.isBlank(item.getName())){
+                    //处理用户名
+                    String names = userApi.getNamesByIds(item.getUserId());
+                    item.setName(names);
+                }
+            });
+        }
         return list;
     }
 
@@ -1240,8 +1243,18 @@ public class ZsReimbursementInfoService {
 
     public List<ZsReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(List<String> idList) {
         List<ZsReimbursementAmountInfoDTO> list = infoMapper.getInvoiceReimbursementAmountList(idList);
-
-
+        String cwReimbursementSourceTypeDatas = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("invoice_reimbursement_type");
+        for (ZsReimbursementAmountInfoDTO info : list) {
+            Map<String,Object> cwReimbursementSourceTypeValueDTOs = JSON.parseObject(cwReimbursementSourceTypeDatas, new TypeReference<Map<String,Object>>() {});
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(info.getInvoiceType())){
+                for (String key : cwReimbursementSourceTypeValueDTOs.keySet()) {
+                    if(info.getInvoiceType().equals(key)){
+                        info.setInvoiceTypeStr(String.valueOf(cwReimbursementSourceTypeValueDTOs.get(key)));
+                        break;
+                    }
+                }
+            }
+        }
         return list;
     }
 

+ 9 - 7
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/ConsultancyReimbursementInfoController.java

@@ -66,7 +66,7 @@ public class ConsultancyReimbursementInfoController {
     @ApiOperation(value = "列表查询")
     @GetMapping("/list")
     public ResponseEntity<IPage<ConsultancyRetureListDto>> list(Page<ConsultancyRetureListDto> page, ConsultancyQueryListDto dto) throws Exception{
-        IPage<ConsultancyRetureListDto> iPage = service.list(page, dto);
+        IPage<ConsultancyRetureListDto> iPage = service.list(page, dto,false);
         iPage.getRecords().stream().forEach(i -> {
             if (StringUtils.isNotBlank(i.getProcInsId()) && StringUtils.isNotBlank(i.getTaskId())) {
                 i.setAuditUserIds(flowTaskService.getTaskAuditUsers(i.getTaskId()));  // 获取数据审核人
@@ -167,19 +167,20 @@ public class ConsultancyReimbursementInfoController {
     @GetMapping("exportFile")
     @ApiOperation(value = "项目报销数据")
     public void exportFile(ConsultancyQueryListDto cwFinanceInvoiceDTO, Page <ConsultancyRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = false;
         String fileName = options.getFilename();
         String sheetName = options.getSheetName();
         List<ConsultancyRetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
             page.setSize (-1);
             page.setCurrent (0);
-            result = service.list (page,cwFinanceInvoiceDTO).getRecords();
+            result = service.list (page,cwFinanceInvoiceDTO,isExport).getRecords();
         }
         if(result.size()>0){
             //获取字典数据
@@ -231,13 +232,14 @@ public class ConsultancyReimbursementInfoController {
     @GetMapping("exportInvoiceReimbursementFile")
     @ApiOperation(value = "项目电子发票报销数据")
     public void exportInvoiceReimbursementFile(ConsultancyQueryListDto cwDTO, Page <ConsultancyRetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = true;
         String fileName = "项目数电发票报销数据表";
         String sheetName = "项目数电发票报销列表";
         List<ConsultancyRetureListDto> result = new ArrayList<>();
         if (ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
@@ -246,7 +248,7 @@ public class ConsultancyReimbursementInfoController {
             if(StringUtils.isBlank(cwDTO.getReimbursementType())){
                 cwDTO.setReimbursementType("1");
             }
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
         List<String> idList = Lists.newArrayList();
         for (ConsultancyRetureListDto listDto : result) {

+ 1 - 4
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/ConsultancyReimbursementInfoMapper.xml

@@ -792,15 +792,12 @@
 		date_format(ri.reim_date,'%Y-%m-%d') as 'reimDate',
 		date_format(ri.payment_time,'%Y-%m-%d %H:%i:%s') as 'paymentTime',
 		su.name as "reimbursementApplicantName",
-		so.name as "officeName",
-		sdv.label as "invoiceTypeStr"
+		so.name as "officeName"
 		from
 		consultancy_reimbursement_amount_info a
 		left join consultancy_reimbursement_info ri on ri.id = a.info_id
 		left join sys_user su on su.id = ri.create_by_id
 		left join sys_office so on so.id = su.office_id
-		left join sys_dict_value sdv on sdv.value = a.invoice_type
-		left join sys_dict_type sdt on sdt.id = sdv.dict_type_id and sdt.type = 'invoice_reimbursement_type'
 		<where>
 			a.del_flag = 0
 			and a.info_id in

+ 14 - 3
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/ConsultancyReimbursementInfoService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -114,7 +115,7 @@ public class ConsultancyReimbursementInfoService {
     /**
      * 列表查询
      */
-    public IPage<ConsultancyRetureListDto> list(Page<ConsultancyRetureListDto> page , ConsultancyQueryListDto dto) throws Exception{
+    public IPage<ConsultancyRetureListDto> list(Page<ConsultancyRetureListDto> page , ConsultancyQueryListDto dto,Boolean isExport) throws Exception{
         IOfficeApi officeApi = SpringUtil.getBean(IOfficeApi.class);
         IUserApi userApi = SpringUtil.getBean(IUserApi.class);
         QueryWrapper<ConsultancyQueryListDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, ConsultancyQueryListDto.class);
@@ -1247,8 +1248,18 @@ public class ConsultancyReimbursementInfoService {
 
     public List<ConsultancyReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(List<String> idList) {
         List<ConsultancyReimbursementAmountInfoDTO> list = infoMapper.getInvoiceReimbursementAmountList(idList);
-
-
+        String cwReimbursementSourceTypeDatas = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("invoice_reimbursement_type");
+        for (ConsultancyReimbursementAmountInfoDTO info : list) {
+            Map<String,Object> cwReimbursementSourceTypeValueDTOs = JSON.parseObject(cwReimbursementSourceTypeDatas, new TypeReference<Map<String,Object>>() {});
+            if(org.apache.commons.lang3.StringUtils.isNotBlank(info.getInvoiceType())){
+                for (String key : cwReimbursementSourceTypeValueDTOs.keySet()) {
+                    if(info.getInvoiceType().equals(key)){
+                        info.setInvoiceTypeStr(String.valueOf(cwReimbursementSourceTypeValueDTOs.get(key)));
+                        break;
+                    }
+                }
+            }
+        }
         return list;
     }
 

+ 9 - 7
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/controller/CwReimbursementInfoController.java

@@ -68,7 +68,7 @@ public class CwReimbursementInfoController {
     @ApiOperation(value = "列表查询")
     @GetMapping("/list")
     public ResponseEntity<IPage<RetureListDto>> list(Page<RetureListDto> page, QueryListDto dto) throws Exception{
-        IPage<RetureListDto> iPage = service.list(page, dto);
+        IPage<RetureListDto> iPage = service.list(page, dto,false);
         iPage.getRecords().stream().forEach(i -> {
             // 报销审批
             if (StringUtils.isNotBlank(i.getTaskId()) && StringUtils.isNotBlank(i.getType())) {
@@ -200,19 +200,20 @@ public class CwReimbursementInfoController {
     @GetMapping("exportFile")
     @ApiOperation(value = "财务报销数据")
     public void exportFile(QueryListDto cwDTO, Page <RetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = false;
         String fileName = options.getFilename();
         String sheetName = options.getSheetName();
         List<RetureListDto> result = new ArrayList<>();
         if ( ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
             page.setSize (-1);
             page.setCurrent (0);
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         }
 
         if(result.size()>0){
@@ -294,13 +295,14 @@ public class CwReimbursementInfoController {
     @GetMapping("exportInvoiceReimbursementFile")
     @ApiOperation(value = "财务电子发票报销数据")
     public void exportInvoiceReimbursementFile(QueryListDto cwDTO, Page <RetureListDto> page, ExcelOptions options, HttpServletResponse response) throws Exception {
+        boolean isExport = true;
         String fileName = "财务数电发票报销数据表";
         String sheetName = "财务数电发票报销列表";
         List<RetureListDto> result = new ArrayList<>();
         if ( com.jeeplus.common.excel.ExportMode.current.equals ( options.getMode() ) ) {
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,isExport).getRecords();
         } else if (com.jeeplus.common.excel.ExportMode.selected.equals ( options.getMode() )) {
-            result = service.list (page,cwDTO).getRecords().stream ( ).filter ( item ->
+            result = service.list (page,cwDTO,isExport).getRecords().stream ( ).filter ( item ->
                     options.getSelectIds ( ).contains ( item.getId ( ) )
             ).collect ( Collectors.toList ( ) );
         } else {
@@ -309,7 +311,7 @@ public class CwReimbursementInfoController {
             if(com.jeeplus.utils.StringUtils.isBlank(cwDTO.getReimbursementType())){
                 cwDTO.setReimbursementType("1");
             }
-            result = service.list (page,cwDTO).getRecords();
+            result = service.list (page,cwDTO,true).getRecords();
         }
         List<String> idList = Lists.newArrayList();
         for (RetureListDto listDto : result) {

+ 1 - 4
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/xml/CwReimbursementInfoMapper.xml

@@ -878,15 +878,12 @@
 		date_format(ri.reim_date,'%Y-%m-%d') as 'reimDate',
 		date_format(ri.payment_time,'%Y-%m-%d %H:%i:%s') as 'paymentTime',
 		su.name as "reimbursementApplicantName",
-		so.name as "officeName",
-		sdv.label as "invoiceTypeStr"
+		so.name as "officeName"
 		from
 		cw_reimbursement_amount_info a
 		left join cw_reimbursement_info ri on ri.id = a.info_id
 		left join sys_user su on su.id = ri.create_by_id
 		left join sys_office so on so.id = su.office_id
-		left join sys_dict_value sdv on sdv.value = a.invoice_type
-		left join sys_dict_type sdt on sdt.id = sdv.dict_type_id and sdt.type = 'invoice_reimbursement_type'
 		<where>
 			a.del_flag = 0
 			and a.invoice_type is not null

+ 49 - 32
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -125,7 +126,7 @@ public class CwReimbursementInfoService {
     /**
      * 列表查询
      */
-    public IPage<RetureListDto> list(Page<RetureListDto> page , QueryListDto dto) throws Exception{
+    public IPage<RetureListDto> list(Page<RetureListDto> page , QueryListDto dto,Boolean isExport) throws Exception{
         IUserApi userApi = SpringUtil.getBean(IUserApi.class);
         IOfficeApi officeApi = SpringUtil.getBean(IOfficeApi.class);
         QueryWrapper<QueryListDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, QueryListDto.class);
@@ -298,40 +299,43 @@ public class CwReimbursementInfoService {
 
 
         IPage<RetureListDto> list = infoMapper.findList(page, queryWrapper, officeIds.toString());
-        list.getRecords().stream().forEach(item -> {
-            if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
-                if (StringUtils.isNotBlank(item.getProjectId())) {
-                    String proName = selectProjectByIds(item.getProjectId());
-                    item.setProjectName(proName);
+        //非导出excel的时候才会触发查询
+        if(!isExport){
+            list.getRecords().stream().forEach(item -> {
+                if (StringUtils.isNotBlank(item.getSourceType()) && "1".equals(item.getSourceType())) { //项目报销
+                    if (StringUtils.isNotBlank(item.getProjectId())) {
+                        String proName = selectProjectByIds(item.getProjectId());
+                        item.setProjectName(proName);
+                    }
+                }
+                if (StringUtils.isNotBlank(item.getSourceType()) && "3".equals(item.getSourceType())){//报告报销
+                    if (StringUtils.isBlank(item.getDeptName())){
+                        String name = infoMapper.findUserById(item.getReportUser());
+                        item.setName(name);
+                        String office = infoMapper.findOfficeById(item.getReportOffice());
+                        item.setDeptName(office);
+                    }
+                }
+                //文件补充
+                CwReimbursementFileSupplement reimbursementFileSupplement = cwReimbursementFileSupplementMapper.getByReimId(item.getId());
+                if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
+                    item.setFileStatus(reimbursementFileSupplement.getStatus());
+                    item.setFileSuppleId(reimbursementFileSupplement.getId());
+                    item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
+                    item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
                 }
-            }
-            if (StringUtils.isNotBlank(item.getSourceType()) && "3".equals(item.getSourceType())){//报告报销
                 if (StringUtils.isBlank(item.getDeptName())){
-                    String name = infoMapper.findUserById(item.getReportUser());
-                    item.setName(name);
-                    String office = infoMapper.findOfficeById(item.getReportOffice());
-                    item.setDeptName(office);
+                    //处理部门名
+                    String offices = getOfficeNameByIds(item.getDeptId());
+                    item.setDeptName(offices);
                 }
-            }
-            //文件补充
-            CwReimbursementFileSupplement reimbursementFileSupplement = cwReimbursementFileSupplementMapper.getByReimId(item.getId());
-            if (ObjectUtils.isNotEmpty(reimbursementFileSupplement)){
-                item.setFileStatus(reimbursementFileSupplement.getStatus());
-                item.setFileSuppleId(reimbursementFileSupplement.getId());
-                item.setProcInsIdFile(reimbursementFileSupplement.getProcInsId());
-                item.setTaskIdFile(reimbursementFileSupplement.getTaskIdFile());
-            }
-            if (StringUtils.isBlank(item.getDeptName())){
-                //处理部门名
-                String offices = getOfficeNameByIds(item.getDeptId());
-                item.setDeptName(offices);
-            }
-            if(StringUtils.isBlank(item.getName())){
-                //处理用户名
-                String names = userApi.getNamesByIds(item.getUserId());
-                item.setName(names);
-            }
-        });
+                if(StringUtils.isBlank(item.getName())){
+                    //处理用户名
+                    String names = userApi.getNamesByIds(item.getUserId());
+                    item.setName(names);
+                }
+            });
+        }
         return list;
     }
 
@@ -1491,6 +1495,19 @@ public class CwReimbursementInfoService {
 
     public List<CwReimbursementAmountInfoDTO> getInvoiceReimbursementAmountList(List<String> idList) {
         List<CwReimbursementAmountInfoDTO> list = infoMapper.getInvoiceReimbursementAmountList(idList);
+        String cwReimbursementSourceTypeDatas = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("invoice_reimbursement_type");
+
+        for (CwReimbursementAmountInfoDTO info : list) {
+            Map<String,Object> cwReimbursementSourceTypeValueDTOs = JSON.parseObject(cwReimbursementSourceTypeDatas, new TypeReference<Map<String,Object>>() {});
+            if(StringUtils.isNotBlank(info.getInvoiceType())){
+                for (String key : cwReimbursementSourceTypeValueDTOs.keySet()) {
+                    if(info.getInvoiceType().equals(key)){
+                        info.setInvoiceTypeStr(String.valueOf(cwReimbursementSourceTypeValueDTOs.get(key)));
+                        break;
+                    }
+                }
+            }
+        }
 
 
         return list;