Gqingci hai 2 días
pai
achega
e228ec303d

BIN=BIN
report_template2.docx


+ 17 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/controller/PortalCheckController.java

@@ -230,6 +230,14 @@ public class PortalCheckController extends BaseController {
         return R.ok();
     }
 
+    /**
+     * 查询背调表单提交状态(根据recordId,判断是否已提交)
+     */
+    @GetMapping("/bgform/status")
+    public R<BgFormStatusVo> getBgFormStatus(@RequestParam Long recordId) {
+        return R.ok(mainBackOrderService.getBgFormStatus(recordId));
+    }
+
     private PortalCheckCategoryVo toPortalCategoryVo(MainBackCategoryVo category) {
         PortalCheckCategoryVo vo = new PortalCheckCategoryVo();
         vo.setId(category.getId());
@@ -324,4 +332,13 @@ public class PortalCheckController extends BaseController {
         private PortalCheckCategoryVo category;
         private List<PortalCheckClauseVo> clauses;
     }
+
+    @Data
+    @AllArgsConstructor
+    public static class BgFormStatusVo {
+        /** 是否已提交 */
+        private Boolean submitted;
+        /** 候选人姓名(用于回显) */
+        private String candidateName;
+    }
 }

+ 10 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/domain/vo/MainPostApplyVo.java

@@ -3,6 +3,8 @@ package org.dromara.main.domain.vo;
 import cn.idev.excel.annotation.ExcelProperty;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.common.translation.annotation.Translation;
+import org.dromara.common.translation.constant.TransConstant;
 import org.dromara.main.domain.MainPostApply;
 
 import java.io.Serial;
@@ -136,4 +138,12 @@ public class MainPostApplyVo implements Serializable {
 
     @ExcelProperty(value = "创建时间")
     private Date createTime;
+
+    /** 岗位类型(翻译后的Label) */
+    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "postType", other = "main_position_type")
+    private String postTypeLabel;
+
+    /** 岗位等级(翻译后的Label) */
+    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "postLevel", other = "main_position_level")
+    private String postLevelLabel;
 }

+ 5 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/IMainBackOrderService.java

@@ -79,4 +79,9 @@ public interface IMainBackOrderService {
      * 提交背景调查表单(总控填写)
      */
     void submitBackgroundCheckForm(org.dromara.main.domain.bo.BackgroundCheckFormBo bo);
+
+    /**
+     * 查询背调表单提交状态
+     */
+    org.dromara.main.controller.PortalCheckController.BgFormStatusVo getBgFormStatus(Long recordId);
 }

+ 17 - 0
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/impl/MainBackOrderServiceImpl.java

@@ -1568,6 +1568,23 @@ public class MainBackOrderServiceImpl implements IMainBackOrderService {
         }
     }
 
+    @Override
+    public org.dromara.main.controller.PortalCheckController.BgFormStatusVo getBgFormStatus(Long recordId) {
+        MainBackRecord record = recordMapper.selectById(recordId);
+        boolean submitted = record != null && record.getReportStatus() != null && record.getReportStatus() == 1;
+        String candidateName = null;
+        if (record != null && record.getCandidateId() != null) {
+            MainBackCandidate candidate = mainBackCandidateMapper.selectById(record.getCandidateId());
+            if (candidate != null && candidate.getStudentId() != null) {
+                MainStudent student = mainStudentMapper.selectById(candidate.getStudentId());
+                if (student != null) {
+                    candidateName = student.getName();
+                }
+            }
+        }
+        return new org.dromara.main.controller.PortalCheckController.BgFormStatusVo(submitted, candidateName);
+    }
+
     private static class ReportContext {
         private MainStudent student;
         private MainBackCheckData checkData; // 优先使用的新表数据

+ 17 - 2
ruoyi-modules/ruoyi-main/src/main/java/org/dromara/main/service/impl/WithdrawServiceImpl.java

@@ -317,9 +317,24 @@ public class WithdrawServiceImpl implements IWithdrawService {
                 .stream()
                 .collect(Collectors.toMap(WithdrawAccount::getId, Function.identity(), (left, right) -> left));
 
-        SysTenantVo company = getCurrentCompany();
+        List<Long> companyIds = voList.stream()
+            .map(WithdrawVo::getCompanyId)
+            .filter(Objects::nonNull)
+            .distinct()
+            .toList();
+
+        Map<Long, SysTenant> companyMap = companyIds.isEmpty()
+            ? Map.of()
+            : sysTenantMapper.selectList(
+                    Wrappers.<SysTenant>lambdaQuery().in(SysTenant::getId, companyIds))
+                .stream()
+                .collect(Collectors.toMap(SysTenant::getId, Function.identity(), (left, right) -> left));
+
         for (WithdrawVo vo : voList) {
-            vo.setCompanyName(company.getCompanyName());
+            SysTenant company = companyMap.get(vo.getCompanyId());
+            if (company != null) {
+                vo.setCompanyName(company.getCompanyName());
+            }
             WithdrawAccount account = accountMap.get(vo.getAccountId());
             if (account != null) {
                 WithdrawAccountVo accountVo = new WithdrawAccountVo();

BIN=BIN
背景调查表-上家填写-copy.docx


BIN=BIN
背景调查表-上家填写.docx