Explorar o código

学生实习记录

dzx hai 5 meses
pai
achega
110a3c0bcb

+ 12 - 0
src/main/java/com/xjrsoft/module/internship/controller/InternshipPlanManageParticipantController.java

@@ -8,6 +8,7 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.internship.dto.AddInternshipPlanManageParticipantDto;
+import com.xjrsoft.module.internship.dto.EvaluateInternshipPlanManageParticipantDto;
 import com.xjrsoft.module.internship.dto.InternshipPlanManageParticipantPageDto;
 import com.xjrsoft.module.internship.dto.UpdateInternshipPlanManageParticipantDto;
 import com.xjrsoft.module.internship.entity.InternshipPlanManageParticipant;
@@ -95,6 +96,17 @@ public class InternshipPlanManageParticipantController {
         return RT.ok(isSuccess);
     }
 
+    @PostMapping(value = "/evaluate")
+    @ApiOperation(value = "评价学生实习")
+    @SaCheckPermission("internshipplanmanageparticipant:evaluate")
+    @XjrLog(value = "评价学生实习")
+    public RT<Boolean> evaluate(@Valid @RequestBody EvaluateInternshipPlanManageParticipantDto dto){
+        InternshipPlanManageParticipant participant = internshipPlanManageParticipantService.getById(dto.getId());
+        participant.setResult(dto.getResult());
+        internshipPlanManageParticipantService.updateById(participant);
+        return RT.ok(true);
+    }
+
     @PutMapping
     @ApiOperation(value = "修改实习计划参与人表")
     @SaCheckPermission("internshipplanmanageparticipant:edit")

+ 5 - 2
src/main/java/com/xjrsoft/module/internship/controller/StudentInternshipRecordController.java

@@ -55,8 +55,11 @@ public class StudentInternshipRecordController {
 
         LambdaQueryWrapper<StudentInternshipRecord> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
-                    .orderByDesc(StudentInternshipRecord::getId)
-                .select(StudentInternshipRecord.class,x -> VoToColumnUtil.fieldsToColumns(StudentInternshipRecordPageVo.class).contains(x.getProperty()));
+                .select(StudentInternshipRecord.class,x -> VoToColumnUtil.fieldsToColumns(StudentInternshipRecordPageVo.class).contains(x.getProperty()))
+                .eq(StudentInternshipRecord::getInternshipPlanManageId, dto.getInternshipPlanManageId())
+                .eq(StudentInternshipRecord::getStudentUserId, dto.getStudentUserId())
+                .orderByDesc(StudentInternshipRecord::getId);
+
         IPage<StudentInternshipRecord> page = studentInternshipRecordService.page(ConventPage.getPage(dto), queryWrapper);
         PageOutput<StudentInternshipRecordPageVo> pageOutput = ConventPage.getPageOutput(page, StudentInternshipRecordPageVo.class);
         return RT.ok(pageOutput);

+ 31 - 0
src/main/java/com/xjrsoft/module/internship/dto/EvaluateInternshipPlanManageParticipantDto.java

@@ -0,0 +1,31 @@
+package com.xjrsoft.module.internship.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+* @title: 实习计划参与人表
+* @Author dzx
+* @Date: 2025-06-26
+* @Version 1.0
+*/
+@Data
+public class EvaluateInternshipPlanManageParticipantDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+    * 实习计划id
+    */
+    @ApiModelProperty("实习计划id")
+    private Long id;
+
+    @ApiModelProperty("实习结果评价")
+    private String result;
+
+}

+ 6 - 0
src/main/java/com/xjrsoft/module/internship/dto/StudentInternshipRecordPageDto.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.internship.dto;
 
 import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -16,4 +17,9 @@ import lombok.EqualsAndHashCode;
 public class StudentInternshipRecordPageDto extends PageInput {
 
 
+    @ApiModelProperty("学生userId")
+    private Long studentUserId;
+
+    @ApiModelProperty("实习计划id")
+    private Long internshipPlanManageId;
 }

+ 22 - 1
src/main/java/com/xjrsoft/module/internship/service/impl/InternshipPlanManageServiceImpl.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.internship.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -11,9 +12,11 @@ import com.xjrsoft.module.internship.dto.InternshipPlanManagePageDto;
 import com.xjrsoft.module.internship.entity.InternshipPlanClass;
 import com.xjrsoft.module.internship.entity.InternshipPlanManage;
 import com.xjrsoft.module.internship.entity.InternshipPlanTeacher;
+import com.xjrsoft.module.internship.entity.StudentInternshipAloneApply;
 import com.xjrsoft.module.internship.mapper.InternshipPlanClassMapper;
 import com.xjrsoft.module.internship.mapper.InternshipPlanManageMapper;
 import com.xjrsoft.module.internship.mapper.InternshipPlanTeacherMapper;
+import com.xjrsoft.module.internship.mapper.StudentInternshipAloneApplyMapper;
 import com.xjrsoft.module.internship.service.IInternshipPlanManageService;
 import com.xjrsoft.module.internship.vo.InternshipPlanManagePageVo;
 import com.xjrsoft.module.veb.entity.CompanyCoop;
@@ -27,6 +30,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
 * @title: 实习计划管理表
@@ -46,6 +51,7 @@ public class InternshipPlanManageServiceImpl extends MPJBaseServiceImpl<Internsh
     private final TrainingOutsideMapper trainingOutsideMapper;
     private final TrainingSchoolMapper trainingSchoolMapper;
     private final CompanyCoopMapper companyCoopMapper;
+    private final StudentInternshipAloneApplyMapper internshipAloneApplyMapper;
 
 
     @Override
@@ -113,6 +119,21 @@ public class InternshipPlanManageServiceImpl extends MPJBaseServiceImpl<Internsh
 
     @Override
     public Page<InternshipPlanManagePageVo> getPage(Page<InternshipPlanManagePageVo> page, InternshipPlanManagePageDto dto) {
-        return internshipPlanManageMapper.getPage(page, dto);
+        Page<InternshipPlanManagePageVo> mapperPage = internshipPlanManageMapper.getPage(page, dto);
+        if(dto.getStudentUserId() != null){
+            List<StudentInternshipAloneApply> aloneApplyList = internshipAloneApplyMapper.selectList(
+                    new QueryWrapper<StudentInternshipAloneApply>().lambda()
+                            .eq(StudentInternshipAloneApply::getStudentUserId, dto.getStudentUserId())
+            );
+            Set<Long> collect = aloneApplyList.stream().map(StudentInternshipAloneApply::getInternshipPlanManageId).collect(Collectors.toSet());
+            for (InternshipPlanManagePageVo record : mapperPage.getRecords()) {
+                if(collect.contains(Long.parseLong(record.getId()))){
+                    record.setIsInternshipAlone(1);
+                }else {
+                    record.setIsInternshipAlone(0);
+                }
+            }
+        }
+        return mapperPage;
     }
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/internship/vo/InternshipPlanManagePageVo.java

@@ -66,4 +66,7 @@ public class InternshipPlanManagePageVo {
     @ApiModelProperty("实训基地名称")
     private String trainingBaseName;
 
+    @ApiModelProperty("是否自主实习(1:是 0:否)")
+    private Integer isInternshipAlone;
+
 }