baifucheng 2 miesięcy temu
rodzic
commit
ec2eb5fb9d

+ 2 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/info/ManagementTeacherController.java

@@ -150,10 +150,9 @@ public class ManagementTeacherController extends BaseController {
         // 处理图片
         for (ManagementTeacherVo managementTeacherVo : list) {
             String url = managementTeacherVo.getPhotographUrl();
-            if (StrUtil.isEmpty(url)) {
-                continue;
+            if (StrUtil.isNotEmpty(url) && !url.startsWith("http")) {
+                managementTeacherVo.setPhotograph(new URL(filePathSplicingUtil.getPrefix() + url));
             }
-            managementTeacherVo.setPhotograph(new URL(filePathSplicingUtil.getPrefix() + url));
         }
 
         ExcelUtil.exportExcel(list, "管理老师信息", ManagementTeacherVo.class, response);

+ 24 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/info/NursingWorkerController.java

@@ -1,11 +1,14 @@
 package com.ruoyi.web.controller.info;
 
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.List;
 import java.util.Arrays;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.*;
@@ -23,6 +26,7 @@ import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.FilePathSplicingType;
 import com.ruoyi.common.filepathsplicing.FilePathSplicing;
+import com.ruoyi.common.filepathsplicing.FilePathSplicingUtil;
 import com.ruoyi.common.utils.CollectionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.service.ApiTokenService;
@@ -63,6 +67,8 @@ public class NursingWorkerController extends BaseController {
 
     private final IOrderService iOrderService;
 
+    private final FilePathSplicingUtil filePathSplicingUtil;
+
     /**
      * 分页查询护工信息列表
      */
@@ -77,7 +83,7 @@ public class NursingWorkerController extends BaseController {
         }
 
         // 构建页面显示信息
-        buildNursingWorkerPageResult(pageResult);
+        buildNursingWorkerPageResult(pageResult.getRows());
         // 赋值
         return pageResult;
     }
@@ -154,18 +160,31 @@ public class NursingWorkerController extends BaseController {
     @SaCheckPermission("info:nursingWorker:export")
     @Log(title = "护工信息", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(@Validated NursingWorkerBo bo, HttpServletResponse response) {
+    public void export(@Validated NursingWorkerBo bo, HttpServletResponse response) throws MalformedURLException {
         //  列表信息导出
         List<NursingWorkerVo> list = iNursingWorkerService.queryList(bo);
+
+        buildNursingWorkerPageResult(list);
+
+        // 处理导出的图片
+        if (CollUtil.isNotEmpty(list)) {
+            for (NursingWorkerVo nursingWorkerVo : list) {
+                String url = nursingWorkerVo.getPhotographUrl();
+                if (StrUtil.isNotEmpty(url) && !url.startsWith("http")) {
+                    nursingWorkerVo.setPhotograph(new URL(filePathSplicingUtil.getPrefix() + url));
+                }
+
+            }
+        }
         ExcelUtil.exportExcel(list, "护工信息", NursingWorkerVo.class, response);
     }
 
-    private void buildNursingWorkerPageResult(TableDataInfo<NursingWorkerVo> pageResult) {
+    private void buildNursingWorkerPageResult(List<NursingWorkerVo> nursingWorkerList) {
         // 获取医院名称
-        Set<Long> hospitalIds = convertSet(pageResult.getRows(), NursingWorkerVo::getHospitalId);
+        Set<Long> hospitalIds = convertSet(nursingWorkerList, NursingWorkerVo::getHospitalId);
         List<HospitalVo> hospitalVos = iHospitalService.queryListByIds(hospitalIds);
 
-        for (NursingWorkerVo nursingWorkerVo : pageResult.getRows()) {
+        for (NursingWorkerVo nursingWorkerVo : nursingWorkerList) {
             // 获取医院名称
             HospitalVo hospitalVo = findFirst(hospitalVos, h -> h.getId().equals(nursingWorkerVo.getHospitalId()));
             if (hospitalVo != null) {

+ 4 - 2
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/nursing/domain/vo/NursingWorkerVo.java

@@ -120,10 +120,12 @@ public class NursingWorkerVo implements Serializable {
      * 形象照片url
      */
     @FilePathValue
-    @ExcelProperty(value = "形象照片url")
     @ApiModelProperty("形象照片url")
     private String photographUrl;
 
+    /**
+     * 导出图片url
+     */
     @ExcelProperty(value = "形象照片")
     @ApiModelProperty("形象照片")
     private URL photograph;
@@ -137,7 +139,7 @@ public class NursingWorkerVo implements Serializable {
      */
     @ExcelProperty(value = "接单数量")
     @ApiModelProperty("接单数量")
-    private Integer orderCount;
+    private Integer orderCount = 0;
 
     /**
      * 技能信息列表

+ 1 - 1
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/nursing/service/impl/NursingWorkerServiceImpl.java

@@ -102,7 +102,7 @@ public class NursingWorkerServiceImpl implements INursingWorkerService {
         LambdaQueryWrapper<NursingWorker> lqw = Wrappers.lambdaQuery();
         lqw.like(StringUtils.isNotBlank(bo.getName()), NursingWorker::getName, bo.getName());
         lqw.like(StringUtils.isNotBlank(bo.getPhoneNumber()), NursingWorker::getPhoneNumber, bo.getPhoneNumber());
-        lqw.eq(StringUtils.isEmpty(bo.getSex()), NursingWorker::getSex, bo.getSex());
+        lqw.eq(StringUtils.isNotEmpty(bo.getSex()), NursingWorker::getSex, bo.getSex());
         lqw.eq(bo.getHospitalId() != null, NursingWorker::getHospitalId, bo.getHospitalId());
         lqw.eq(bo.getOrderReceivingStatus() != null, NursingWorker::getOrderReceivingStatus, bo.getOrderReceivingStatus());
         lqw.eq(bo.getEnableStatus() != null, NursingWorker::getEnableStatus, bo.getEnableStatus());