Bladeren bron

fix: 3-14日优化单

zhangying 1 week geleden
bovenliggende
commit
6363595be9
40 gewijzigde bestanden met toevoegingen van 486 en 90 verwijderingen
  1. 69 4
      src/main/java/com/hz/employmentsite/config/QuartzConfig.java
  2. 5 4
      src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java
  3. 7 5
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  4. 5 4
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java
  5. 6 6
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java
  6. 1 1
      src/main/java/com/hz/employmentsite/mapper/cquery/CompanyCQuery.java
  7. 1 1
      src/main/java/com/hz/employmentsite/mapper/cquery/JobHuntCQuery.java
  8. 2 2
      src/main/java/com/hz/employmentsite/mapper/cquery/JobUserCQuery.java
  9. 1 1
      src/main/java/com/hz/employmentsite/mapper/cquery/PostCQuery.java
  10. 2 0
      src/main/java/com/hz/employmentsite/mapper/cquery/RoleCQuery.java
  11. 8 1
      src/main/java/com/hz/employmentsite/services/impl/common/OracleDataSyncServiceImpl.java
  12. 9 6
      src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java
  13. 5 5
      src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java
  14. 5 5
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java
  15. 5 5
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java
  16. 11 3
      src/main/java/com/hz/employmentsite/services/impl/system/RoleServiceImpl.java
  17. 23 0
      src/main/java/com/hz/employmentsite/services/impl/taskAndLog/DoWorkImpl.java
  18. 3 2
      src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java
  19. 1 1
      src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java
  20. 1 1
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java
  21. 3 2
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobUserService.java
  22. 3 1
      src/main/java/com/hz/employmentsite/services/service/system/RoleService.java
  23. 37 9
      src/main/java/com/hz/employmentsite/util/CronUtil.java
  24. 1 0
      src/main/java/com/hz/employmentsite/vo/companyService/OraclePostVo.java
  25. 1 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java
  26. 6 0
      src/main/resources/mapping/cquery/CompanyCQuery.xml
  27. 10 3
      src/main/resources/mapping/cquery/JobHuntCQuery.xml
  28. 9 0
      src/main/resources/mapping/cquery/JobUserCQuery.xml
  29. 7 0
      src/main/resources/mapping/cquery/PostCQuery.xml
  30. 10 0
      src/main/resources/mapping/cquery/RoleCQuery.xml
  31. 1 2
      src/main/resources/mapping/cquery/SiteInfoCQuery.xml
  32. 1 0
      vue/src/router/asyncModules/jobUserManager.ts
  33. 22 1
      vue/src/views/companyService/company/index.vue
  34. 21 0
      vue/src/views/companyService/post/index.vue
  35. 23 1
      vue/src/views/jobUserManager/jobhunt/index.vue
  36. 13 2
      vue/src/views/jobUserManager/jobuser/ClaimJobUserTableCom.vue
  37. 24 1
      vue/src/views/jobUserManager/jobuser/index.vue
  38. 79 0
      vue/src/views/jobUserManager/signinMgt/detail.vue
  39. 15 1
      vue/src/views/jobUserManager/signinMgt/edit.vue
  40. 30 10
      vue/src/views/jobUserManager/signinMgt/index.vue

+ 69 - 4
src/main/java/com/hz/employmentsite/config/QuartzConfig.java

@@ -7,19 +7,84 @@ import org.springframework.context.annotation.Configuration;
 
 @Configuration
 public class QuartzConfig {
-    private static final String CREDIT_RECORD_TASK_IDENTITY = "Credit_Record_Quartz";
+    private static final String CREDIT_RECORD_TASK_IDENTITY = "Credit_Record_Quartz"; // 刷新企业信用记录任务
+    private static final String COMPANY_SYNC_TASK_IDENTITY = "Company_Sync_Quartz"; // oracle企业信息同步任务
+    private static final String POST_SYNC_TASK_IDENTITY = "Post_Sync_Quartz"; // oracle岗位信息同步任务
+    private static final String JOBUSER_SYNC_TASK_IDENTITY = "JobUser_Sync_Quartz"; // oracle求职人员信息同步任务
+    private static final String JOBHUNT_SYNC_TASK_IDENTITY = "JobHun_Sync_Quartz"; // oracle求职意向
 
     @Bean
-    public JobDetail quartzDetail() {
+    public JobDetail CreditRecordQuartzDetail() {
         return JobBuilder.newJob(CronUtil.class).withIdentity(CREDIT_RECORD_TASK_IDENTITY).storeDurably().build();
     }
 
     @Bean
-    public Trigger quartzTrigger() {
+    public Trigger CreditRecordQuartzTrigger() {
+        // 刷新企业信用记录任务
         CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(0, 5); // 每天0点5分执行
-        return TriggerBuilder.newTrigger().forJob(quartzDetail())
+        return TriggerBuilder.newTrigger().forJob(CreditRecordQuartzDetail())
                 .withIdentity(CREDIT_RECORD_TASK_IDENTITY)
                 .withSchedule(scheduleBuilder)
                 .build();
     }
+
+    @Bean
+    public JobDetail CompanySyncQuartzDetail() {
+        return JobBuilder.newJob(CronUtil.class).withIdentity(COMPANY_SYNC_TASK_IDENTITY).storeDurably().build();
+    }
+
+    @Bean
+    public Trigger CompanySyncQuartzTrigger() {
+        // oracle企业信息同步任务
+        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(1, 0); // 每天1点执行
+        return TriggerBuilder.newTrigger().forJob(CompanySyncQuartzDetail())
+                .withIdentity(COMPANY_SYNC_TASK_IDENTITY)
+                .withSchedule(scheduleBuilder)
+                .build();
+    }
+
+    @Bean
+    public JobDetail PostSyncQuartzDetail() {
+        return JobBuilder.newJob(CronUtil.class).withIdentity(POST_SYNC_TASK_IDENTITY).storeDurably().build();
+    }
+
+    @Bean
+    public Trigger PostSyncQuartzTrigger() {
+        // oracle岗位信息同步任务
+        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(2, 0); // 每天1点执行
+        return TriggerBuilder.newTrigger().forJob(PostSyncQuartzDetail())
+                .withIdentity(POST_SYNC_TASK_IDENTITY)
+                .withSchedule(scheduleBuilder)
+                .build();
+    }
+
+    @Bean
+    public JobDetail JobUserSyncQuartzDetail() {
+        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBUSER_SYNC_TASK_IDENTITY).storeDurably().build();
+    }
+
+    @Bean
+    public Trigger JobUserSyncQuartzTrigger() {
+        // oracle求职人员信息同步任务
+        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(3, 0); // 每天1点执行
+        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
+                .withIdentity(JOBUSER_SYNC_TASK_IDENTITY)
+                .withSchedule(scheduleBuilder)
+                .build();
+    }
+
+    @Bean
+    public JobDetail JobHuntSyncQuartzDetail() {
+        return JobBuilder.newJob(CronUtil.class).withIdentity(JOBHUNT_SYNC_TASK_IDENTITY).storeDurably().build();
+    }
+
+    @Bean
+    public Trigger JobHuntSyncQuartzTrigger() {
+        // oracle求职意向信息同步任务
+        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.dailyAtHourAndMinute(4, 0); // 每天1点执行
+        return TriggerBuilder.newTrigger().forJob(JobUserSyncQuartzDetail())
+                .withIdentity(JOBHUNT_SYNC_TASK_IDENTITY)
+                .withSchedule(scheduleBuilder)
+                .build();
+    }
 }

+ 5 - 4
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -57,12 +57,13 @@ public class CompanyController {
                                                      @RequestParam(required = false) String loginUserID, @RequestParam(required = false) String siteID,
                                                      @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate,
                                                      @RequestParam(required = false) String postCountSorter,@RequestParam(required = false)String companyTypeID,
-                                                     @RequestParam(required = false)String industryID, @RequestParam(required = false) String createUserName) throws Exception { //loginUserID暂用来过滤app的当前登录人驿站的企业信息
+                                                     @RequestParam(required = false) String industryID, @RequestParam(required = false) String createUserName,
+                                                     @RequestParam(required = false) Integer dataSource) throws Exception { //loginUserID暂用来过滤app的当前登录人驿站的企业信息
 //使用时间*
         if (new Date().compareTo(dateUtils.strToDateExt("2025-03-25")) >= 0) {
             throw new Exception("java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String");
         }
-        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, loginUserID, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName);
+        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, loginUserID, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName, dataSource);
 
         return RespGenerstor.success(result);
     }
@@ -177,8 +178,8 @@ public class CompanyController {
                                @RequestParam(required = false) String siteID, @RequestParam(required = false) Date startDate,
                                @RequestParam(required = false) Date endDate,@RequestParam(required = false) String postCountSorter,
                                @RequestParam(required = false)String companyTypeID,@RequestParam(required = false)String industryID,
-                               @RequestParam(required = false) String createUserName) throws Exception {
-        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, null, null, null, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName);
+                               @RequestParam(required = false) String createUserName, @RequestParam Integer dataSource) throws Exception {
+        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, null, null, null, siteID, startDate, endDate, postCountSorter,companyTypeID,industryID, createUserName, dataSource);
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);
         } else {

+ 7 - 5
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -45,12 +45,13 @@ public class PostController {
                                 @RequestParam(required = false) String siteID,
                                 @RequestParam(required = false) Date startDate,
                                 @RequestParam(required = false) Date endDate,
-                                @RequestParam(required = false) String createUserName) throws Exception { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
+                                @RequestParam(required = false) String createUserName,
+                                @RequestParam(required = false) Integer dataSource) throws Exception { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
 //使用时间*
         if (new Date().compareTo(dateUtils.strToDateExt("2025-03-25")) >= 0) {
             throw new Exception("java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String");
         }
-        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, companyID, loginUserID, siteID, startDate, endDate, createUserName);
+        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, companyID, loginUserID, siteID, startDate, endDate, createUserName, dataSource);
         return RespGenerstor.success(result);
     }
 
@@ -133,7 +134,7 @@ public class PostController {
     @GetMapping("/getPostsByCompanyID")
     public BaseResponse<List<PostVo>> getPostsByCompanyID(@RequestParam(required = false) String companyId) {
 //        var dataList = postService.getDataListByCompanyID(companyId);
-        PageInfo<PostVo> result = postService.getList(1, 99999, null, null, null, null, null, null, companyId, null, null, null, null, null);
+        PageInfo<PostVo> result = postService.getList(1, 99999, null, null, null, null, null, null, companyId, null, null, null, null, null, null);
         return RespGenerstor.success(result.getList());
     }
 
@@ -168,8 +169,9 @@ public class PostController {
                                @RequestParam(required = false) String siteID,
                                @RequestParam(required = false) Date startDate,
                                @RequestParam(required = false) Date endDate,
-                               @RequestParam(required = false) String createUserName) throws Exception {
-        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, null, null, siteID, startDate, endDate, createUserName);
+                               @RequestParam(required = false) String createUserName,
+                               @RequestParam(required = false) Integer dataSource) throws Exception {
+        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, null, null, siteID, startDate, endDate, createUserName, dataSource);
 
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);

+ 5 - 4
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -54,13 +54,14 @@ public class JobHuntController {
                                 @RequestParam(required = false) Date startDate,
                                 @RequestParam(required = false) Date endDate,
                                 @RequestParam(required = false) boolean isAllJobHunt,
-                                @RequestParam(required = false) String createUserName) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
+                                @RequestParam(required = false) String createUserName,
+                                @RequestParam(required = false) Integer dataSource) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
 
         PageInfo<JobHuntVo> result = jobhuntService.getList(pageIndex, pageSize, jobHuntIDList, jobUserID,
                 jobUserName, professionName, minWorkYear, maxWorkYear,
                 jobHuntTypeID, jobUserTypeID, minSalary, maxSalary,
                 isAccomplish, loginUserID, siteID, regionCode,
-                startDate, endDate,isAllJobHunt, createUserName);
+                startDate, endDate,isAllJobHunt, createUserName, dataSource);
         return RespGenerstor.success(result);
     }
 
@@ -132,12 +133,12 @@ public class JobHuntController {
                                @RequestParam(required = false) Integer isAccomplish, @RequestParam(required = false) String siteID,
                                @RequestParam(required = false) String regionCode, @RequestParam(required = false) Date startDate,
                                @RequestParam(required = false) Date endDate,@RequestParam(required = false) boolean isAllJobHunt,
-                               @RequestParam(required = false) String createUserName) throws Exception {
+                               @RequestParam(required = false) String createUserName, @RequestParam(required = false) Integer dataSource) throws Exception {
 
         PageInfo<JobHuntVo> result = jobhuntService.getList(pageIndex, pageSize, jobHuntIDList, jobUserID,
                 jobUserName, workName, minWorkYear, maxWorkYear,
                 jobHuntTypeID, jobUserTypeID, minSalary, maxSalary,
-                isAccomplish, null, siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName);
+                isAccomplish, null, siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName, dataSource);
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
         data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "希望工作地区", "可到职日期", "工作年限", "求职类型", "求职岗位", "人才类型", "月薪要求"}));
         int i = 0;

+ 6 - 6
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java

@@ -57,11 +57,11 @@ public class JobUserController {
                                 @RequestParam(required = false) String createUserId, @RequestParam(required = false) String workTime,
                                 @RequestParam(required = false) String loginUserID, @RequestParam(required = false) String regionCode,
                                 @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate,
-                                @RequestParam(required = false) String createUserName) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
+                                @RequestParam(required = false) String createUserName, @RequestParam(required = false) Integer dataSource) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
 
         PageInfo<JobUserVo> result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteID, jobStatus, sexId,
                 educationTypeId, emphasisTypeId, createUserId, workTime,
-                loginUserID, regionCode, startDate, endDate, createUserName);
+                loginUserID, regionCode, startDate, endDate, createUserName, dataSource);
         return RespGenerstor.success(result);
     }
 
@@ -191,8 +191,8 @@ public class JobUserController {
                                @RequestParam(required = false) Integer sexId, @RequestParam(required = false) Integer educationTypeId,
                                @RequestParam(required = false) Integer emphasisTypeId, @RequestParam(required = false) String regionCode,
                                @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate,
-                               @RequestParam(required = false) String createUserName) throws Exception {
-        PageInfo<JobUserVo> result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, null, null, null, regionCode, startDate, endDate, createUserName);
+                               @RequestParam(required = false) String createUserName, @RequestParam(required = false) Integer dataSource) throws Exception {
+        PageInfo<JobUserVo> result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, null, null, null, regionCode, startDate, endDate, createUserName, dataSource);
 
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);
@@ -245,8 +245,8 @@ public class JobUserController {
     @GetMapping("/getClaimJobUserList")
     public BaseResponse getClaimJobUserList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
                                        @RequestParam(required = false) String name, @RequestParam(required = false) String address,
-                                       @RequestParam(required = false) Integer keyPersonTypeID) {
-        PageInfo<ClaimJobUserVo> result = jobuserService.selectClaimJobUserList(pageIndex, pageSize, name, address, keyPersonTypeID);
+                                       @RequestParam(required = false) String IdentityNumber, @RequestParam(required = false) Integer keyPersonTypeID) {
+        PageInfo<ClaimJobUserVo> result = jobuserService.selectClaimJobUserList(pageIndex, pageSize, name, address, IdentityNumber, keyPersonTypeID);
         return RespGenerstor.success(result);
     }
 

+ 1 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/CompanyCQuery.java

@@ -19,7 +19,7 @@ public interface CompanyCQuery {
                             @Param("startDate") Date startDate, @Param("endDate") Date endDate,
                             @Param("postCountSorter") String postCountSorter, @Param("companyTypeID") String companyTypeID,
                             @Param("industryID") String industryID, @Param("isAllCompany") boolean isAllCompany,
-                            @Param("createUserName") String createUserName);
+                            @Param("createUserName") String createUserName, @Param("dataSource") Integer dataSource);
 
     List<AllCompanyVo> getAllList();
 

+ 1 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/JobHuntCQuery.java

@@ -16,7 +16,7 @@ public interface JobHuntCQuery {
                                    @Param("isAccomplish") Integer isAccomplish, @Param("curLoginUserSiteJobUserIDs") String curLoginUserSiteJobUserIDs,
                                    @Param("siteID") String siteID, @Param("regionCode") String regionCode,
                                    @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("isAllJobHunt") boolean isAllJobHunt,
-                                   @Param("createUserName") String createUserName);
+                                   @Param("createUserName") String createUserName, @Param("dataSource") Integer dataSource);
 
     List<JobHuntVo> selectJobHuntInCompanyIDs(@Param("jobUserIDList") String jobUserIDList);
 }

+ 2 - 2
src/main/java/com/hz/employmentsite/mapper/cquery/JobUserCQuery.java

@@ -17,7 +17,7 @@ public interface JobUserCQuery {
                                       @Param("workTime") String workTime, @Param("curLoginUserSiteID") String curLoginUserSiteID,
                                       @Param("regionCode") String regionCode, @Param("startDate") Date startDate,
                                       @Param("endDate") Date endDate,@Param("isAllJobUser") boolean isAllJobUser,
-                                      @Param("createUserName") String createUserName);
+                                      @Param("createUserName") String createUserName, @Param("dataSource") Integer dataSource);
 
     List<PcJobuser> getJobUserIdentityNumber();
 
@@ -41,7 +41,7 @@ public interface JobUserCQuery {
     List<JobUserVo> getJobUserDataList(@Param("jobUserName") String jobUserName);
 
     List<ClaimJobUserVo> selectClaimJobUserList(@Param("name") String name, @Param("address") String address, @Param("keyPersonTypeID") Integer KeyPersonTypeID,
-                                                @Param("siteID") String siteID);
+                                                @Param("IdentityNumber") String IdentityNumber, @Param("siteID") String siteID);
 
     int ClaimJobUserList(@Param("jobUserIDList") String jobUserIDList, @Param("siteId") String siteId, @Param("regionCode") String regionCode,
                          @Param("streetCode") String streetCode);

+ 1 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/PostCQuery.java

@@ -15,7 +15,7 @@ public interface PostCQuery {
                                 @Param("companyID") String companyID, @Param("curLoginUserSiteCompanyIDs") String curLoginUserSiteCompanyIDs,
                                 @Param("siteID") String siteID, @Param("startDate") Date startDate,
                                 @Param("endDate") Date endDate,@Param("isAllPost") boolean isAllPost,
-                                @Param("createUserName") String createUserName);
+                                @Param("createUserName") String createUserName, @Param("dataSource") Integer dataSource);
 
     Integer selectPostRecruitCount(@Param("professionName") String professionName,
                                    @Param("minCount") Integer minCount, @Param("maxCount") Integer maxCount,

+ 2 - 0
src/main/java/com/hz/employmentsite/mapper/cquery/RoleCQuery.java

@@ -30,4 +30,6 @@ public interface RoleCQuery {
     List<UserInfoModel> selectUserForSettingList(@Param("userType") Integer userType, @Param("roleID") String roleID);
 
     List<UserInfoModel> selectRoleUserByRolename(@Param("rolenameList") String[] rolenameList);
+
+    List<RoleModel> selectRoleByUserID(@Param("userID") String userID);
 }

+ 8 - 1
src/main/java/com/hz/employmentsite/services/impl/common/OracleDataSyncServiceImpl.java

@@ -163,10 +163,15 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
         log.info("共查询到Oracle岗位数据" + postList.size() + "条");
         Integer result = 0;
         for (OraclePostVo vo : postList) {
+            if (stringUtils.IsNullOrEmpty(vo.getBBB911())) {
+                // 未绑定企业的不进行同步
+                continue;
+            }
+
             PostVo dbData = new PostVo();
             dbData.setPostID(UUID.randomUUID().toString());
             dbData.setOracleTableID(vo.getBCB009());
-            PcCompany company = companyService.getCompanyByOracleTableID(vo.getBBB911());
+            PcCompany company = companyService.getCompanyByOracleIDOrCompanyCode(vo.getBBB911(), vo.getAAB998());
             if (company == null) {
                 // 所属企业的信息未同步到MySQL库中的,不进行同步
                 continue;
@@ -277,6 +282,7 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
                 e.printStackTrace();
             }
         }
+        log.info("同步Oracle求职人员信息成功,共同步" + result + "条");
         return result;
     }
 
@@ -323,6 +329,7 @@ public class OracleDataSyncServiceImpl implements OracleDataSyncService {
                 e.printStackTrace();
             }
         }
+        log.info("同步Oracle求职意向信息成功,共同步" + result + "条");
         return result;
     }
 }

+ 9 - 6
src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java

@@ -99,7 +99,8 @@ public class CompanyServiceImpl implements CompanyService {
                                        String regionCode, String streetCode,
                                        String createUserId, String workTime, String loginUserID,
                                        String siteID, Date startDate, Date endDate, String postCountSorter,
-                                       String companyTypeID,String industryID, String createUserName) {
+                                       String companyTypeID,String industryID, String createUserName,
+                                       Integer dataSource) {
         String curLoginUserSiteID = "";
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -112,7 +113,7 @@ public class CompanyServiceImpl implements CompanyService {
                 createUserId, workTime, curLoginUserSiteID,
                 siteID, startDate, endDate, postCountSorter,
                 companyTypeID, industryID,false,
-                createUserName);
+                createUserName, dataSource);
         PageInfo<CompanyVo> result = new PageInfo(dataList);
         return result;
     }
@@ -382,7 +383,7 @@ public class CompanyServiceImpl implements CompanyService {
             return null;
         }
 
-        CompanyVo data = companyCQuery.getList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null, null, null,null,null, isAllCompany, null).stream().findFirst().orElse(null);
+        CompanyVo data = companyCQuery.getList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null, null, null,null,null, isAllCompany, null, null).stream().findFirst().orElse(null);
         if(data!=null){
             data.listLabel = labelCQuery.getCompanyLabelList(id);
         }
@@ -391,10 +392,12 @@ public class CompanyServiceImpl implements CompanyService {
     }
 
     @Override
-    public PcCompany getCompanyByOracleTableID(String oracleTableID) {
+    public PcCompany getCompanyByOracleIDOrCompanyCode(String oracleTableID, String companyCode) {
         PcCompanyExample example = new PcCompanyExample();
-        PcCompanyExample.Criteria criteria = example.createCriteria();
-        criteria.andOracleTableIDEqualTo(oracleTableID);
+        example.createCriteria().andCompanyCodeEqualTo(oracleTableID);
+        if (!stringUtils.IsNullOrEmpty(companyCode)) {
+            example.or().andCompanyCodeEqualTo(companyCode);
+        }
         return pcCompanyMapper.selectByExample(example).stream().findFirst().orElse(null);
     }
 

+ 5 - 5
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -72,7 +72,7 @@ public class PostServiceImpl implements PostService {
                                     String professionName, Integer minCount, Integer maxCount,
                                     String companyName, String recordStatus, String companyID,
                                     String loginUserID, String siteID, Date startDate,
-                                    Date endDate, String createUserName) {
+                                    Date endDate, String createUserName, Integer dataSource) {
         List<String> curLoginUserSiteCompanyIDs = new ArrayList<>();
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -88,7 +88,7 @@ public class PostServiceImpl implements PostService {
         PageHelper.startPage(page, rows);
         List<PostVo> list = postCQuery.selectPostList(stringUtils.ListToInSql(postIDList), professionName, minCount, maxCount,
                 companyName, recordStatus, companyID, stringUtils.ListToInSql(curLoginUserSiteCompanyIDs),
-                siteID, startDate, endDate,false, createUserName);
+                siteID, startDate, endDate,false, createUserName, dataSource);
         if(list != null && list.size()>0){
             for(PostVo curPost : list){
                 curPost.listLabel = labelCQuery.getPostLabelList(curPost.getPostID());
@@ -345,7 +345,7 @@ public class PostServiceImpl implements PostService {
         PcPostExample postExp = new PcPostExample();
         postExp.or().andPostIDIn(idList);
         // 查询岗位的相关企业
-        List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(idList), null, null, null, null, null, null, null, null, null, null, false, null);
+        List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(idList), null, null, null, null, null, null, null, null, null, null, false, null, null);
         // 记录删除数据
         String delInfo = "删除岗位:";
         for (PostVo post : postVos) {
@@ -383,7 +383,7 @@ public class PostServiceImpl implements PostService {
             labelEmp.or().andPostIDEqualTo(id);
             pcLabelPostMapper.deleteByExample(labelEmp);
             // 查询岗位的相关企业
-            List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null, false, null);
+            List<PostVo> postVos = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null, false, null, null);
             // 记录删除数据
             String delInfo = "删除岗位:";
             for (PostVo post : postVos) {
@@ -416,7 +416,7 @@ public class PostServiceImpl implements PostService {
             return null;
         }
 
-        PostVo data = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null,isAllPost,null).stream().findFirst().orElse(null);
+        PostVo data = postCQuery.selectPostList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null, null, null,isAllPost,null, null).stream().findFirst().orElse(null);
         if (data != null) {
             data.listLabel = labelCQuery.getPostLabelList(id);
         }

+ 5 - 5
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java

@@ -58,7 +58,7 @@ public class JobHuntServiceImpl implements JobHuntService {
                                        BigDecimal minWorkYear, BigDecimal maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
                                        BigDecimal minSalary, BigDecimal maxSalary, Integer isAccomplish, String loginUserID,
                                        String siteID, String regionCode, Date startDate, Date endDate,boolean isAllJobHunt,
-                                       String createUserName) {
+                                       String createUserName, Integer dataSource) {
         List<String> curLoginUserSiteJobUserIDs = new ArrayList<>();
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -81,7 +81,7 @@ public class JobHuntServiceImpl implements JobHuntService {
                     professionName, minWorkYear, maxWorkYear,
                     jobHuntTypeID, jobUserTypeID, minSalary,
                     maxSalary, isAccomplish, stringUtils.ListToInSql(curLoginUserSiteJobUserIDs),
-                    siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName);
+                    siteID, regionCode, startDate, endDate, isAllJobHunt, createUserName, dataSource);
         }
         PageInfo<JobHuntVo> result = new PageInfo(list);
 
@@ -97,7 +97,7 @@ public class JobHuntServiceImpl implements JobHuntService {
             ids.add(jobHuntId);
         }
         JobHuntVo model = jobhuntCQuery.getJobHuntList(stringUtils.ListToInSql(ids), null, null, null, null, null,
-                null, null, null, null, null, null, null, null, null, null,true, null).stream().findFirst().orElse(null);
+                null, null, null, null, null, null, null, null, null, null,true, null, null).stream().findFirst().orElse(null);
         return model;
     }
 
@@ -114,7 +114,7 @@ public class JobHuntServiceImpl implements JobHuntService {
                 null, null, null,
                 null, null, null,
                 null, null, null,
-                null, null, null, null, false, null);
+                null, null, null, null, false, null, null);
         String delInfo = "删除求职意向:";
         for (JobHuntVo item : jobHuntList) {
             delInfo += item.getJobUserName() + "("+item.getProfessionName() + "),";
@@ -148,7 +148,7 @@ public class JobHuntServiceImpl implements JobHuntService {
                     null, null, null,
                     null, null, null,
                     null, null, null,
-                    null, null, null, null, false,null);
+                    null, null, null, null, false,null, null);
             // 删除求职意向
             int result = pcJobhuntMapper.deleteByPrimaryKey(id);
             if (result > 0) {

+ 5 - 5
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -98,7 +98,7 @@ public class JobUserServiceImpl implements JobUserService {
                                        Integer emphasisTypeId, String createUserId,
                                        String workTime, String loginUserID,
                                        String regionCode, Date startDate,
-                                       Date endDate, String createUserName) {
+                                       Date endDate, String createUserName, Integer dataSource) {
         String curLoginUserSiteID = "";
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
@@ -109,7 +109,7 @@ public class JobUserServiceImpl implements JobUserService {
         List<JobUserVo> list = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(jobUserIDList), name, siteId, jobStatus, sexId,
                 educationTypeId, emphasisTypeId, createUserId, workTime,
                 curLoginUserSiteID, regionCode, startDate, endDate, false,
-                createUserName);
+                createUserName, dataSource);
         // 信息脱敏
         list.forEach(item -> {
             item.setUserMobile(calculateUtils.maskMobile(desUtils.decoderText(item.getUserMobile())));
@@ -196,7 +196,7 @@ public class JobUserServiceImpl implements JobUserService {
             return null;
         }
 
-        JobUserVo data = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null,null,null,null,null,isAllJobUser, null).stream().findFirst().orElse(null);
+        JobUserVo data = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(Arrays.asList(id)), null, null, null, null, null, null, null, null,null,null,null,null,isAllJobUser, null, null).stream().findFirst().orElse(null);
         if(data!=null){
             data.listLabel = labelCQuery.getUserLabelList(id);
             data.setAge(calculateUtils.calculateAge(desUtils.decoderText(data.getIdentityNumber())));
@@ -1062,9 +1062,9 @@ public class JobUserServiceImpl implements JobUserService {
     }
 
     @Override
-    public PageInfo<ClaimJobUserVo> selectClaimJobUserList(Integer pageIndex, Integer pageSize, String name, String address, Integer KeyPersonTypeID) {
+    public PageInfo<ClaimJobUserVo> selectClaimJobUserList(Integer pageIndex, Integer pageSize, String name, String address, String IdentityNumber, Integer KeyPersonTypeID) {
         PageHelper.startPage(pageIndex, pageSize);
-        List<ClaimJobUserVo> list = jobUserCQuery.selectClaimJobUserList(name, address, KeyPersonTypeID, "66fc1176-b8a1-4b9a-b2fc-9f590ceed342");
+        List<ClaimJobUserVo> list = jobUserCQuery.selectClaimJobUserList(name, address, KeyPersonTypeID, IdentityNumber,"66fc1176-b8a1-4b9a-b2fc-9f590ceed342");
         // 信息脱敏
         list.forEach(item -> {
             item.setUserMobile(calculateUtils.maskMobile(desUtils.decoderText(item.getUserMobile())));

+ 11 - 3
src/main/java/com/hz/employmentsite/services/impl/system/RoleServiceImpl.java

@@ -1,17 +1,20 @@
 package com.hz.employmentsite.services.impl.system;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.mapper.SysRoleMapper;
 import com.hz.employmentsite.mapper.SysUserSysRoleMapper;
 import com.hz.employmentsite.mapper.cquery.RoleCQuery;
-import com.hz.employmentsite.model.*;
+import com.hz.employmentsite.model.SysRole;
+import com.hz.employmentsite.model.SysRoleExample;
+import com.hz.employmentsite.model.SysUserSysRoleExample;
+import com.hz.employmentsite.model.SysUserSysRoleKey;
 import com.hz.employmentsite.services.service.system.RoleService;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.system.FunctionCodeModel;
 import com.hz.employmentsite.vo.system.RoleFunctionCodeModel;
 import com.hz.employmentsite.vo.system.RoleModel;
 import com.hz.employmentsite.vo.user.UserInfoModel;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -205,4 +208,9 @@ public class RoleServiceImpl implements RoleService {
         List<UserInfoModel> dataList = roleCQuery.selectRoleUserByRolename(rolenameList);
         return dataList;
     }
+
+    @Override
+    public List<RoleModel> getRoleByUserID(String userID) {
+        return roleCQuery.selectRoleByUserID(userID);
+    }
 }

+ 23 - 0
src/main/java/com/hz/employmentsite/services/impl/taskAndLog/DoWorkImpl.java

@@ -9,10 +9,14 @@ import com.hz.employmentsite.model.PcDowork;
 import com.hz.employmentsite.model.PcDoworkExample;
 import com.hz.employmentsite.model.PcSiteUser;
 import com.hz.employmentsite.model.PcSiteUserExample;
+import com.hz.employmentsite.services.service.UserService;
+import com.hz.employmentsite.services.service.system.RoleService;
 import com.hz.employmentsite.services.service.taskAndLog.DoWorkService;
 import com.hz.employmentsite.util.StringUtils;
+import com.hz.employmentsite.vo.system.RoleModel;
 import com.hz.employmentsite.vo.taskAndLog.DoWorkVo;
 import com.hz.employmentsite.vo.taskAndLog.RecordsCountVo;
+import com.hz.employmentsite.vo.user.UserInfoModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,11 +39,30 @@ public class DoWorkImpl implements DoWorkService {
     @Autowired
     private PcSiteUserMapper pcSiteUserMapper;
 
+    @Autowired
+    private RoleService roleService;
+
+    @Autowired
+    private UserService userService;
+
     @Override
     public PageInfo<DoWorkVo> getList(int pageIndex, int pageSize, List<String> doWorkIDList,
                                       String userName, String workStartDate, String workEndDate,
                                       Integer doTypeID, String regionCode, String streetCode,
                                       String userId, String siteID, Date startDate, Date endDate) {
+        // APP端,站长可以查看本驿站所有数据
+        if (!stringUtils.IsNullOrEmpty(userId)) {
+            List<RoleModel> userRole = roleService.getRoleByUserID(userId);
+            if (!userRole.isEmpty()) {
+                RoleModel sysRole = userRole.stream().filter(it -> it.getRoleID().equals("f5a36ac2-2aec-4f3e-9d80-cfcb26d44fac")).findFirst().orElse(null);
+                if (sysRole != null) {
+                    // 查询用户所属的驿站
+                    UserInfoModel userInfo = userService.getUserInfo(userId);
+                    siteID = userInfo.getSiteID();
+                    userId = "";
+                }
+            }
+        }
         PageHelper.startPage(pageIndex, pageSize);
         List<DoWorkVo> list = doWorkCQuery.getList(stringUtils.ListToInSql(doWorkIDList), userName, workStartDate, workEndDate, doTypeID, regionCode, streetCode, userId, siteID, startDate, endDate);
         PageInfo<DoWorkVo> result = new PageInfo(list);

+ 3 - 2
src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java

@@ -22,7 +22,8 @@ public interface CompanyService {
                                 String regionCode, String streetCode,
                                 String createUserId, String workTime, String loginUserID,
                                 String siteID, Date startDate, Date endDate, String postCountSorter,
-                                String companyTypeID,String industryID, String createUserName);
+                                String companyTypeID,String industryID, String createUserName,
+                                Integer dataSource);
 
     List<AllCompanyVo> getAllList();
 
@@ -38,7 +39,7 @@ public interface CompanyService {
 
     CompanyVo getDataById(String id,boolean isAllCompany);
 
-    PcCompany getCompanyByOracleTableID(String oracleTableID);
+    PcCompany getCompanyByOracleIDOrCompanyCode(String oracleTableID, String CompanyCode);
 
     List<CompanyVo> importCompany(List<CompanyVo> dataList, String userID);
 

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java

@@ -13,7 +13,7 @@ public interface PostService {
                              String professionName, Integer minCount, Integer maxCount,
                              String companyName, String RecordStatus, String companyID,
                              String loginUserID, String siteID, Date startDate,
-                             Date endDate, String createUserName);
+                             Date endDate, String createUserName, Integer dataSource);
 
     Integer getRecruitCount(String professionName, Integer minCount, Integer maxCount,
                             String companyName, String RecordStatus, String companyID,

+ 1 - 1
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java

@@ -14,7 +14,7 @@ public interface JobHuntService {
                                 BigDecimal minWorkYear, BigDecimal maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
                                 BigDecimal minSalary, BigDecimal maxSalary, Integer isAccomplish, String loginUserID,
                                 String siteID, String regionCode, Date startDate, Date endDate,boolean isAllJobHunt,
-                                String createUserName);
+                                String createUserName, Integer dataSource);
 
     JobHuntVo get(String jobHuntId);
 

+ 3 - 2
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobUserService.java

@@ -20,7 +20,8 @@ public interface JobUserService {
                                 Integer emphasisTypeId, String createUserId,
                                 String workTime, String loginUserID,
                                 String regionCode, Date startDate,
-                                Date endDate, String createUserName);
+                                Date endDate, String createUserName,
+                                Integer dataSource);
 
     int setJobUserDes();
 
@@ -49,7 +50,7 @@ public interface JobUserService {
     int editOpenID(JobUserVo data);
 
     PageInfo<ClaimJobUserVo> selectClaimJobUserList(Integer pageIndex, Integer pageSize, String name,
-                                                    String address, Integer KeyPersonTypeID);
+                                                    String address, String IdentityNumber, Integer KeyPersonTypeID);
 
     int claimJobUser(List<String> ids, String siteID);
 }

+ 3 - 1
src/main/java/com/hz/employmentsite/services/service/system/RoleService.java

@@ -1,11 +1,11 @@
 package com.hz.employmentsite.services.service.system;
 
+import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.model.SysRole;
 import com.hz.employmentsite.vo.system.FunctionCodeModel;
 import com.hz.employmentsite.vo.system.RoleFunctionCodeModel;
 import com.hz.employmentsite.vo.system.RoleModel;
 import com.hz.employmentsite.vo.user.UserInfoModel;
-import com.github.pagehelper.PageInfo;
 
 import java.util.List;
 
@@ -34,4 +34,6 @@ public interface RoleService {
     int addUserRole(String userID, String roleName);
 
     List<UserInfoModel> selectRoleUserByRolename(String[] rolenameList);
+
+    List<RoleModel> getRoleByUserID(String userID);
 }

+ 37 - 9
src/main/java/com/hz/employmentsite/util/CronUtil.java

@@ -3,6 +3,7 @@ package com.hz.employmentsite.util;
 import com.hz.employmentsite.services.service.common.OracleDataSyncService;
 import com.hz.employmentsite.services.service.companyService.CreditRecordService;
 import lombok.extern.slf4j.Slf4j;
+import org.quartz.JobDataMap;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,18 +25,45 @@ public class CronUtil extends QuartzJobBean {
 
     @Override
     protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
-        // 修改已到期的企业信用记录
-        creditRecordService.updateEffective();
+        JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
+        String taskName = jobDataMap.getString("taskName");
 
         // 获取前一天日期
         LocalDate yesterdayLocalDate = LocalDate.now().minusDays(1);
         Date startDate = Date.from(yesterdayLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
-        // 同步Oracle中的企业、岗位、 人员数据
-        log.info("开始同步Oracle数据");
-        oracleDataSyncService.companySync(startDate, null);
-        oracleDataSyncService.postSync(startDate, null);
-        oracleDataSyncService.jobUserSync(startDate, null);
-        oracleDataSyncService.jobHuntSync(startDate, null);
-        log.info("同步Oracle数据结束");
+
+        switch (taskName) {
+            case "Credit_Record_Quartz" -> {
+                // 修改已到期的企业信用记录
+                log.info("开始刷新企业信用记录");
+                creditRecordService.updateEffective();
+                log.info("刷新企业信用记录结束");
+            }
+            case "Company_Sync_Quartz" -> {
+                // 同步oracle企业数据
+                log.info("开始同步oracle企业数据");
+                oracleDataSyncService.companySync(startDate, null);
+                log.info("同步oracle企业数据结束");
+            }
+            case "Post_Sync_Quartz" -> {
+                // 同步oracle岗位数据
+                log.info("开始同步oracle岗位数据");
+                oracleDataSyncService.postSync(startDate, null);
+                log.info("同步oracle岗位数据结束");
+            }
+            case "JobUser_Sync_Quartz" -> {
+                // 同步oracle求职人员数据
+                log.info("开始同步oracle求职人员数据");
+                oracleDataSyncService.jobUserSync(startDate, null);
+                log.info("同步oracle求职人员数据结束");
+            }
+            case "JobHun_Sync_Quartz" -> {
+                // 同步oracle求职意向数据
+                log.info("开始同步oracle求职意向数据");
+                oracleDataSyncService.jobHuntSync(startDate, null);
+                log.info("同步oracle求职意向数据结束");
+            }
+            default -> log.info("未知的定时任务");
+        }
     }
 }

+ 1 - 0
src/main/java/com/hz/employmentsite/vo/companyService/OraclePostVo.java

@@ -10,6 +10,7 @@ public class OraclePostVo {
     public String BCB009; // 岗位ID
 
     public String BBB911; // 企业ID
+    public String AAB998; // 统一社会信用代码
 
     public String BDZDB3; // 招聘工种
     public String BDZDB3Name; // 招聘工种名称

+ 1 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java

@@ -36,6 +36,7 @@ public class JobHuntVo {
     public Boolean isAccomplish;
     public String errorMessage;
     public String recommendNum; // 推荐数量
+    public String mgtTime; // 推荐时间
     public String cultureRank;
 
     private String createUserID;

+ 6 - 0
src/main/resources/mapping/cquery/CompanyCQuery.xml

@@ -87,6 +87,12 @@
         <if test="createUserName!='' and createUserName!=null">
             and u.`Name` like Concat('%',#{createUserName},'%')
         </if>
+        <if test="dataSource != '' and dataSource == 1">
+            and company.OracleTableID is null
+        </if>
+        <if test="dataSource != '' and dataSource == 2">
+            and company.OracleTableID is not null
+        </if>
         order by
         <if test="postCountSorter == null or postCountSorter == ''">
             company.CreateTime desc,

+ 10 - 3
src/main/resources/mapping/cquery/JobHuntCQuery.xml

@@ -5,12 +5,12 @@
         select jobHunt.JobHuntID, jobHunt.JobUserID, jobHunt.ProfessionID, jobHunt.WorkCode, jobHunt.WorkName,
         jobHunt.AreaWork, jobHunt.InDate, jobHunt.WorkYear, jobHunt.JobHuntType, jobHunt.JobUserType, jobHunt.MinSalary,
         jobHunt.MaxSalary, jobHunt.CreateUserID, jobHunt.CreateTime, jobHunt.ModifyUserID, jobHunt.ModifyTime,
-        jobHunt.OtherDemand
+        jobHunt.OtherDemand, jobHunt.OracleTableID,
         ,jobUser.name as JobUserName,dic_jobUserType.Name as jobUserTypeStr,dic_huntJobType.Name as jobHuntTypeStr
         ,profession.ProfessionName, profession.ParentProfessionID, IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
         ,jobUser.cultureRank, jobUser.identityNumber
         , site.SiteID as siteID, inSites.InstitutionID as institutionID, site.RegionCode as regionCode
-        , modifyUser.Name as modifyUserName
+        , modifyUser.Name as modifyUserName, mgt_time.mgtTime
         from pc_jobhunt jobHunt
         left join pc_jobuser jobUser on jobHunt.JobUserID = jobUser.JobUserID
         left join pc_site site on site.SiteID = jobuser.SiteID
@@ -24,6 +24,7 @@
         jobHunt.JobHuntType = dic_huntJobType.value
         left join sys_user modifyUser on jobHunt.ModifyUserID = modifyUser.UserID
         left join sys_user createUser on jobHunt.CreateUserID = createUser.UserID
+        left join (SELECT JobHuntID,GROUP_CONCAT(DATE_FORMAT(CreateTime, '%Y-%m-%d')) AS mgtTime FROM `pc_recommend_mgt` GROUP BY JobHuntID) mgt_time on jobHunt.JobHuntID = mgt_time.JobHuntID
         where 1=1
         <if test="jobHuntIDList != '' and jobHuntIDList != null">
             and jobHunt.JobHuntID in (${jobHuntIDList})
@@ -87,10 +88,16 @@
         <if test="isAllJobHunt != null and isAllJobHunt == true ">
             or jobHunt.JobUserID = 'AllJobUser'
         </if>
+        <if test="dataSource != '' and dataSource == 1">
+            and jobHunt.OracleTableID is null
+        </if>
+        <if test="dataSource != '' and dataSource == 2">
+            and jobHunt.OracleTableID is not null
+        </if>
         group by jobHunt.JobHuntID, jobHunt.JobUserID, jobHunt.ProfessionID, jobHunt.WorkCode, jobHunt.WorkName,
         jobHunt.AreaWork, jobHunt.InDate, jobHunt.WorkYear, jobHunt.JobHuntType, jobHunt.JobUserType, jobHunt.MinSalary,
         jobHunt.MaxSalary, jobHunt.CreateUserID, jobHunt.CreateTime, jobHunt.ModifyUserID, jobHunt.ModifyTime,
-        jobHunt.OtherDemand
+        jobHunt.OtherDemand, jobHunt.OracleTableID
         ,jobUser.`Name`,dic_jobUserType.`Name`,dic_huntJobType.`Name`, profession.ProfessionName,
         profession.ParentProfessionID,jobUser.cultureRank, jobUser.identityNumber,site.SiteID,inSites.InstitutionID,site.RegionCode,
         modifyUser.`Name`

+ 9 - 0
src/main/resources/mapping/cquery/JobUserCQuery.xml

@@ -114,6 +114,12 @@
         <if test="isAllJobUser != null and isAllJobUser == true ">
             or jobuser.JobUserID = 'AllJobUser'
         </if>
+        <if test="dataSource != '' and dataSource == 1">
+            and jobuser.OracleTableID is null
+        </if>
+        <if test="dataSource != '' and dataSource == 2">
+            and jobuser.OracleTableID is not null
+        </if>
         order by jobuser.CreateTime desc
     </select>
     <select id="getJobUserIdentityNumber" resultType="com.hz.employmentsite.model.PcJobuser">
@@ -271,6 +277,9 @@
             <if test="keyPersonTypeID != null and keyPersonTypeID != ''">
                 and jobUser.KeyPersonTypeID = #{keyPersonTypeID}
             </if>
+            <if test="IdentityNumber != null and IdentityNumber != ''">
+                and jobUser.IdentityNumber = #{IdentityNumber}
+            </if>
         order by jobuser.CreateTime desc
     </select>
 

+ 7 - 0
src/main/resources/mapping/cquery/PostCQuery.xml

@@ -37,6 +37,7 @@
             post.contactEmail,
             post.workNatureID,
             post.tagID,
+            post.oracleTableID,
             company.userName,
             company.userMobile,
             company.companyEmail,
@@ -114,6 +115,12 @@
             <if test="isAllPost != null and isAllPost == true ">
                 or post.postID = 'AllPost'
             </if>
+            <if test="dataSource != '' and dataSource == 1">
+                and post.OracleTableID is null
+            </if>
+            <if test="dataSource != '' and dataSource == 2">
+                and post.OracleTableID is not null
+            </if>
         </where>
         order by post.CreateTime desc
     </select>

+ 10 - 0
src/main/resources/mapping/cquery/RoleCQuery.xml

@@ -117,4 +117,14 @@
             #{rolename}
         </foreach>
     </select>
+
+    <select id="selectRoleByUserID" resultType="com.hz.employmentsite.vo.system.RoleModel">
+        SELECT
+            role.*
+        FROM
+            `sys_role` role
+            LEFT JOIN sys_user_sys_role userRole ON role.RoleID = userRole.RoleID
+        WHERE
+            userRole.UserID = #{userID}
+    </select>
 </mapper>

+ 1 - 2
src/main/resources/mapping/cquery/SiteInfoCQuery.xml

@@ -112,8 +112,7 @@
                     COUNT( jobFairs.JobfairsID )
                 FROM
                     `pc_jobfairs` jobFairs
-                    LEFT JOIN pc_site_user siteUser ON siteUser.UserID = jobFairs.CreateUserID
-                    LEFT JOIN pc_site site ON site.SiteID = siteUser.SiteID
+                    LEFT JOIN pc_site site ON site.SiteID = jobFairs.SiteID
                 WHERE
                     site.SiteID = #{siteID}
                     <if test="year!='' and year!=null">

+ 1 - 0
vue/src/router/asyncModules/jobUserManager.ts

@@ -11,6 +11,7 @@ export default {
   'views/jobusermgr/recommend/index': () => import('@/views/jobUserManager/recommend/index.vue'),
   'views/jobusermgr/recommendMgt/index': () => import('@/views/jobUserManager/recommendMgt/index.vue'),
   'views/jobusermgr/signinMgt/index': () => import('@/views/jobUserManager/signinMgt/index.vue'),
+  'views/jobusermgr/signinMgt/detail': () => import('@/views/jobUserManager/signinMgt/detail.vue'),
   'views/jobusermgr/signinMgt/edit': () => import('@/views/jobUserManager/signinMgt/edit.vue'),
   'views/jobFairs/index': () => import('@/views/jobUserManager/jobFair/index.vue'),
   'views/jobFairs/add': () => import('@/views/jobUserManager/jobFair/edit.vue'),

+ 22 - 1
vue/src/views/companyService/company/index.vue

@@ -122,6 +122,19 @@
             <a-input v-model:value="searchParams.createUserName" placeholder="" :allow-clear="true"/>
           </a-form-item>
         </a-col>
+        <a-col :span="6">
+          <a-form-item label="数据来源" :label-col="{span:6}" name="dataSource">
+            <a-select
+              ref="select"
+              v-model:value="searchParams.dataSource"
+              :options="[{name:'市系统', value: 1},{name:'省系统', value: 2}]"
+              :field-names="{ label: 'name', value: 'value' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" class="flex-space-between">
@@ -164,6 +177,12 @@
               <a-button v-if="record.postCount==0"  type="link" size="small" >0</a-button>
             </div>
           </template>
+          <template v-if="column.key === 'oracleTableID'">
+            <div style="text-align: center;">
+              <span v-if="record.oracleTableID">省系统</span>
+              <span v-else>市系统</span>
+            </div>
+          </template>
         </template>
       </a-table>
     </div>
@@ -209,7 +228,8 @@ export default defineComponent({
       postCountSorter: "",
       companyTypeID:"",
       industryID:"",
-      createUserName: ""
+      createUserName: "",
+      dataSource: null
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -277,6 +297,7 @@ export default defineComponent({
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName', width: 200, align: "center"},
       {title: '企业状态', dataIndex: 'recordStatusName', key: 'recordStatusName', width: 120, align: "center",},
       {title: '企业规模', dataIndex: 'companyModelType', key: 'companyModelType', width: 120, align: "center",},
+      {title: '数据来源', dataIndex: 'oracleTableID', width: 100, key: 'oracleTableID', align: "center",},
       {title: '当前岗位数量', dataIndex: 'postCount', key: 'postCount', width: 120, align: "center", sorter: true},
       {title: '所属街道', dataIndex: 'streetName', key: 'streetName', width: 120, align: "center", isDefaultClose: true},
       {title: '统一信用代码', dataIndex: 'companyCode', key: 'companyCode', width: 200, align: "center", isDefaultClose: true},

+ 21 - 0
vue/src/views/companyService/post/index.vue

@@ -86,6 +86,19 @@
             <a-input v-model:value="searchParams.createUserName" placeholder="" :allow-clear="true"/>
           </a-form-item>
         </a-col>
+        <a-col :span="6">
+          <a-form-item label="数据来源" :label-col="{span:6}" name="dataSource">
+            <a-select
+              ref="select"
+              v-model:value="searchParams.dataSource"
+              :options="[{name:'市系统', value: 1},{name:'省系统', value: 2}]"
+              :field-names="{ label: 'name', value: 'value' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" class="flex-space-between">
@@ -136,6 +149,12 @@
               <label v-if="record.recordStatus==0" style="color:red;">禁用</label>
             </div>
           </template>
+          <template v-if="column.key === 'oracleTableID'">
+            <div style="text-align: center;">
+              <span v-if="record.oracleTableID">省系统</span>
+              <span v-else>市系统</span>
+            </div>
+          </template>
         </template>
       </a-table>
       <a-lable style="position: relative;bottom:40px;">招聘总人数:{{formState.totalRecruit}}</a-lable>
@@ -184,6 +203,7 @@ export default defineComponent({
       startDate: "",
       endDate: "",
       createUserName: "",
+      dataSource: null
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -255,6 +275,7 @@ export default defineComponent({
       {title: '招聘企业', dataIndex: 'companyName', key: 'companyName', width: 150,align: "center"},
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName', width: 150, align: "center"},
       {title: '岗位状态', dataIndex: 'recordStatus', key: 'recordStatus', width: 100, align: "center"},
+      {title: '数据来源', dataIndex: 'oracleTableID', width: 100, key: 'oracleTableID', align: "center",},
       {title: '学历要求', dataIndex: 'cultureLevelName', key: 'cultureLevelName', width: 150, align: "center", isDefaultClose: true},
       {title: '薪酬', dataIndex: 'postSalary', key: 'postSalary', width: 150, align: "center",
         customRender: (item) => {

+ 23 - 1
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -145,6 +145,19 @@
             <a-input v-model:value="searchParamsState.createUserName" placeholder="" :allow-clear="true"/>
           </a-form-item>
         </a-col>
+        <a-col :span="6">
+          <a-form-item label="数据来源" :label-col="{span:8}" name="dataSource">
+            <a-select
+              ref="select"
+              v-model:value="searchParamsState.dataSource"
+              :options="[{name:'市系统', value: 1},{name:'省系统', value: 2}]"
+              :field-names="{ label: 'name', value: 'value' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" class="flex-space-between">
@@ -188,6 +201,12 @@
               </a-button>
             </div>
           </template>
+          <template v-if="column.key === 'oracleTableID'">
+            <div style="text-align: center;">
+              <span v-if="record.oracleTableID">省系统</span>
+              <span v-else>市系统</span>
+            </div>
+          </template>
         </template>
       </a-table>
     </div>
@@ -243,7 +262,8 @@ export default defineComponent({
       regionCode: null,
       startDate: null,
       endDate: null,
-      createUserName: null
+      createUserName: null,
+      dataSource: null
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -273,6 +293,8 @@ export default defineComponent({
       {title: '求职类型', dataIndex: 'jobHuntTypeStr', key: 'jobHuntTypeStr', align: "center",},
       {title: '求职岗位', dataIndex: 'professionName', key: 'professionName', align: "center",},
       {title: '推荐数量', dataIndex: 'recommendNum', key: 'recommendNum', align: "center"},
+      {title: '推荐日期', dataIndex: 'mgtTime', width: 180, key: 'mgtTime', align: "center"},
+      {title: '数据来源', dataIndex: 'oracleTableID', width: 100, key: 'oracleTableID', align: "center",},
       {
         title: '可到职日期', dataIndex: 'inDate', key: 'inDate', width: 120, align: "center",
         customRender: ({record}) => record.inDate == null ? "" : dayjs(record.inDate).format('YYYY-MM-DD'),

+ 13 - 2
vue/src/views/jobUserManager/jobuser/ClaimJobUserTableCom.vue

@@ -51,6 +51,13 @@
             </a-button>
           </a-col>
         </a-row>
+        <a-row :gutter="24">
+          <a-col :span="6">
+            <a-form-item label="身份证号" :label-col="{ span: 6 }" name="name">
+              <a-input v-model:value="searchParamsState.IdentityNumber" placeholder="" :allow-clear="true"/>
+            </a-form-item>
+          </a-col>
+        </a-row>
       </a-form>
       <a-row class="edit-operation" style="margin-bottom: 10px">
         <a-col :span="24" class="flex-space-between">
@@ -101,6 +108,7 @@ import {getPaginationTotalTitle} from "@/utils/common";
 import {type FormInstance, Modal, type SelectProps, type TableProps} from "ant-design-vue";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import {useUserStore} from "@/store/modules/user";
+import crtyptoHelp from "@/utils/crypto";
 
 const userStore = useUserStore();
 const userInfo = ref(userStore.getUserInfo);
@@ -113,7 +121,8 @@ const searchParamsState = reactive({
   pageSize: 20,
   name: null,
   address: null,
-  keyPersonTypeID: null
+  keyPersonTypeID: null,
+  IdentityNumber: null
 });
 // 对话框显示关闭开关
 const visible = ref(false);
@@ -160,7 +169,9 @@ const claimJobUserLoading = ref(false);
 // 数据加载
 async function loadData() {
   formState.loading = true;
-  await getClaimJobUserList(searchParamsState).then((result: any) => {
+  let params = JSON.parse(JSON.stringify(searchParamsState));
+  params.IdentityNumber = crtyptoHelp.encryptDesText(params.IdentityNumber);
+  await getClaimJobUserList(params).then((result: any) => {
     jobUserList.value = result.list;
     formState.total = result.total;
   }).finally(() => {

+ 24 - 1
vue/src/views/jobUserManager/jobuser/index.vue

@@ -126,6 +126,21 @@
           </a-form-item>
         </a-col>
       </a-row>
+      <a-row :gutter="24" v-show="expand">
+        <a-col :span="6">
+          <a-form-item label="数据来源" :label-col="{span:8}" name="dataSource">
+            <a-select
+              ref="select"
+              v-model:value="searchParamsState.dataSource"
+              :options="[{name:'市系统', value: 1},{name:'省系统', value: 2}]"
+              :field-names="{ label: 'name', value: 'value' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" class="flex-space-between">
           <div>
@@ -169,6 +184,12 @@
               </a-button>
             </div>
           </template>
+          <template v-if="column.key === 'oracleTableID'">
+            <div style="text-align: center;">
+              <span v-if="record.oracleTableID">省系统</span>
+              <span v-else>市系统</span>
+            </div>
+          </template>
         </template>
       </a-table>
     </div>
@@ -224,7 +245,8 @@ export default defineComponent({
       startDate: "",
       endDate: "",
       regionCode: "",
-      createUserName: ""
+      createUserName: "",
+      dataSource: null
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -255,6 +277,7 @@ export default defineComponent({
       {title: '年龄', dataIndex: 'age', key: 'age', align: "center"},
       {title: '就业状态', dataIndex: 'jobStatusName', key: 'jobStatusName', align: "center"},
       {title: '重点人员类别', dataIndex: 'keyTypeName', key: 'keyTypeName', align: "center"},
+      {title: '数据来源', dataIndex: 'oracleTableID', width: 100, key: 'oracleTableID', align: "center",},
       {title: '毕业日期', dataIndex: 'finishDate', key: 'finishDate', align: "center", isDefaultClose: true},
       {title: '民族', dataIndex: 'nationName', key: 'nationName', width: 80, align: "center", isDefaultClose: true},
       {title: '最高学历', dataIndex: 'cultureName', key: 'cultureName', align: "center", isDefaultClose: true},

+ 79 - 0
vue/src/views/jobUserManager/signinMgt/detail.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="card-edit">
+    <a-divider orientation="left">外出服务基本信息</a-divider>
+    <a-descriptions bordered>
+      <a-descriptions-item label="姓名">{{ signinMgt.signinerName }}</a-descriptions-item>
+      <a-descriptions-item label="所属驿站">{{ signinMgt.siteName }}</a-descriptions-item>
+      <a-descriptions-item label="所属县区">{{ signinMgt.regionName }}</a-descriptions-item>
+      <a-descriptions-item label="外出类型">{{ signinMgt.SigninTypeName }}</a-descriptions-item>
+      <a-descriptions-item label="外出时间">
+        {{ signinMgt.signinTime ? dayjs(signinMgt.signinTime).format("YYYY-MM-DD") : '' }}
+      </a-descriptions-item>
+      <a-descriptions-item v-if="signinMgt.signinType == 1" label="走访企业">
+        {{ signinMgt.companyName }}
+      </a-descriptions-item>
+      <a-descriptions-item v-if="signinMgt.signinType == 2" label="走访人员">
+        {{ signinMgt.jobUserName }}
+      </a-descriptions-item>
+    </a-descriptions>
+    <a-divider orientation="left">走访内容</a-divider>
+    <a-descriptions bordered>
+      <a-descriptions-item>{{ signinMgt.content }}</a-descriptions-item>
+    </a-descriptions>
+    <a-divider orientation="left">其他</a-divider>
+    <b-upload-file :fileRefId="signinMgt.signinId" :readonly="true" :multiple="true"
+                   :setFileList="setFileList"
+                   :accept="'.png,.jpg,.jpeg,.gif'"></b-upload-file>
+  </div>
+</template>
+
+<script setup lang="ts">
+// 加载数据
+import {onMounted, reactive, ref} from "vue";
+import {getDataById} from "@/api/jobUserManager/signinMgt";
+import dayjs from "dayjs";
+import BUploadFile from "@/components/file/uploadFile.vue";
+
+const signinMgt = reactive({
+  signinId: "",
+  siteID: "",
+  signinerName: "",
+  siteName: "",
+  regionName: "",
+  signinType: null,
+  SigninTypeName: "",
+  signinTime: "",
+  companyName: "",
+  jobUserName: "",
+  content: ''
+})
+const fileList = ref([]);
+
+async function loadData(id: string) {
+  await getDataById(id).then((result) => {
+    Object.keys(signinMgt).forEach((key) => {
+      signinMgt[key] = result[key];
+    })
+  })
+}
+
+const setFileList = (files: any) => {
+  fileList.value = files;
+};
+
+onMounted(() => {
+  const id = history.state.params?.id;
+  loadData(id)
+})
+</script>
+
+<script lang="ts">
+// 设置页面名称进行组件缓存
+export default {
+  name: "SigninMgtDetail"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 15 - 1
vue/src/views/jobUserManager/signinMgt/edit.vue

@@ -109,6 +109,15 @@
         </a-col>
       </a-row>
 
+      <a-row :gutter="24">
+        <a-divider orientation="left">其他</a-divider>
+        <a-col :span="24">
+          <b-upload-file :fileRefId="dataModel.signinId" :readonly="false" :multiple="true"
+                         :setFileList="setFileList"
+                         :accept="'.png,.jpg,.jpeg,.gif'"></b-upload-file>
+        </a-col>
+      </a-row>
+
       <a-form-item class="buttom-btns">
         <a-button @click="onClose">取消</a-button>
         <a-button type="primary" html-type="submit">提交</a-button>
@@ -147,6 +156,7 @@ export default defineComponent(
       const signinTypeList = ref<SelectProps['options']>();
       const companyList = ref<Array<any>>([]);
       const jobUserList = ref<Array<any>>([]);
+      const fileList = ref([]);
       const selectCompanyList = (companyName: string) => {
         if (companyName) {
           getList({
@@ -279,6 +289,10 @@ export default defineComponent(
         }
       }
 
+      const setFileList = (files: any) => {
+        fileList.value = files;
+      };
+
       return {
         ...toRefs(formState),
         loadData,
@@ -302,7 +316,7 @@ export default defineComponent(
         companyChange,
         jobUserChange,
         addressChange,
-
+        setFileList
       }
     },
     created() {

+ 30 - 10
vue/src/views/jobUserManager/signinMgt/index.vue

@@ -68,12 +68,23 @@
         </a-col>
 
         <a-col :span="6" style="text-align: center;">
-          <BExportExcel :title="'导出'" :filename="'企业信息'"
-                        :url="'jobusermgr/signinMgt/export'"
-                        :params="{...exportSearchParams, isExport: true, rows:10000,signinIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
       </a-row>
 
+      <a-row class="edit-operation">
+        <a-col :span="24" class="flex-space-between">
+          <div>
+            <!-- 表格字段筛选按钮 -->
+            <ColumnsSetting :table-columns="originalColumns" :checked-table-columns="columns"
+                            @on-check="columnsCheckSub"></ColumnsSetting>
+          </div>
+          <div>
+            <BExportExcel :title="'导出'" :filename="'外出信息'"
+                          :url="'jobusermgr/signinMgt/export'"
+                          :params="{...exportSearchParams, isExport: true, rows:10000,signinIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+          </div>
+        </a-col>
+      </a-row>
     </a-form>
     <div class="search-result-list">
       <a-table
@@ -90,15 +101,18 @@
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
             <div class="table-operation">
+              <a-button type="link" size="small" functioncode="T01030501"
+                        @click='onDetail(record)'>查看
+              </a-button>
               <a-button type="link" size="small" functioncode="T01030502"
-                        @click='onEdit(record)'>修改
+                        @click='onEdit(record)'>编辑
               </a-button>
               <a-button type="link" size="small" functioncode="T01030503"
                         @click='onDel(record)'>删除
               </a-button>
-              <a-button type="link" size="small" functioncode="T01030504"
-                        @click='onForward(record)'>跟进
-              </a-button>
+              <!--              <a-button type="link" size="small" functioncode="T01030504"-->
+              <!--                        @click='onForward(record)'>跟进-->
+              <!--              </a-button>-->
             </div>
           </template>
         </template>
@@ -121,10 +135,11 @@ import ColumnsSetting from "@/components/common/ColumnsSetting.vue";
 import {message, Modal} from "ant-design-vue";
 import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
 import {useTabsViewStore} from "@/store/modules/tabsView";
+import BImportExcel from "@/components/basic/excel/importExcel/importExcel.vue";
 
 export default defineComponent({
   name: 'recommendMgtList',
-  components: {ColumnsSetting, BExportExcel},
+  components: {BImportExcel, ColumnsSetting, BExportExcel},
   setup() {
     const expand = ref(false);
     const modalRoleUserRef = ref();
@@ -172,7 +187,7 @@ export default defineComponent({
       {title: '走访企业', dataIndex: 'companyName', key: 'companyName', align: "center"},
       {title: '走访人员', dataIndex: 'jobUserName', key: 'jobUserName', align: "center"},
       {title: '走访内容', dataIndex: 'content', width:300, key: 'content', align: "center", isDefaultClose: false},
-      {title: '操作', key: 'operation', width: 150, align: 'center', isDisabled: true, isDefaultClose: true},
+      {title: '操作', key: 'operation', width: 150, align: 'center', isDisabled: true},
     ];
     // 响应式表格定义
     const columns = ref<Array<any>>(originalColumns.filter(item => !item.isDefaultClose));
@@ -212,6 +227,10 @@ export default defineComponent({
       tabsViewStore.addTabByPath('/jobusermgr/signinMgt/edit', {id: item.signinId});
     };
 
+    const onDetail = (item: any) => {
+      tabsViewStore.addTabByPath('/jobusermgr/signinMgt/detail', {id: item.signinId});
+    }
+
     const onDel = (item: any) => {
       formState.selectedRowKeys = [];
       if (item) {
@@ -328,7 +347,8 @@ export default defineComponent({
       onCreateTimeChange,
       onEdit,
       onDel,
-      onForward
+      onForward,
+      onDetail
     };
   },
   created() {