From 9ef02505c6f0bcd87470dc3e9b98a27cea0a8155 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期二, 22 七月 2025 14:16:57 +0800
Subject: [PATCH] 修改

---
 multi-system/src/main/resources/mapper/system/TrainPlanMapper.xml                      |   35 +++++++
 multi-system/src/main/java/com/gkhy/exam/system/service/TrainPlanService.java          |   16 +++
 multi-system/src/main/java/com/gkhy/exam/system/domain/TrainPlan.java                  |   91 ++++++++++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/TrainPlanServiceImpl.java |   65 +++++++++++++
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ExCourseController.java   |   64 ++++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/TrainPlanMapper.java            |   13 ++
 multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml                   |    2 
 7 files changed, 285 insertions(+), 1 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ExCourseController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ExCourseController.java
index 5df319a..0110772 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ExCourseController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ExCourseController.java
@@ -5,8 +5,11 @@
 import com.gkhy.exam.common.annotation.RepeatSubmit;
 import com.gkhy.exam.common.api.CommonResult;
 import com.gkhy.exam.common.enums.BusinessType;
+import com.gkhy.exam.system.domain.CompanyIndustryTemplate;
 import com.gkhy.exam.system.domain.ExCourse;
+import com.gkhy.exam.system.domain.TrainPlan;
 import com.gkhy.exam.system.service.ExCourseService;
+import com.gkhy.exam.system.service.TrainPlanService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -29,6 +32,9 @@
 public class ExCourseController {
     @Autowired
     private ExCourseService courseService;
+
+    @Autowired
+    private TrainPlanService trainPlanService;
 
     @ApiOperation(value = "课程列表(分页)")
     @ApiImplicitParams({
@@ -110,4 +116,62 @@
         courseService.changeStatus(course);
         return CommonResult.success();
     }
+
+    /**
+     * 培训计划
+     * @param trainPlan
+     * @return
+     */
+    @ApiOperation(value = "培训计划(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/plan/list")
+    public CommonResult selectTrainPlanList(TrainPlan trainPlan){
+        return CommonResult.success(trainPlanService.selectTrainPlanList(trainPlan));
+    }
+
+    /**
+     * 培训计划新增
+     * @param trainPlan
+     * @return
+     */
+    @ApiOperation(value = "培训计划新增")
+    @PostMapping("/plan/insert")
+    public CommonResult insertTrainPlan(@Validated @RequestBody TrainPlan trainPlan){
+        return trainPlanService.insertTrainPlan(trainPlan);
+    }
+
+    /**
+     * 培训计划修改
+     * @param trainPlan
+     * @return
+     */
+    @ApiOperation(value = "培训计划修改")
+    @PostMapping("/plan/update")
+    public CommonResult updateTrainPlan(@Validated @RequestBody TrainPlan trainPlan){
+        return trainPlanService.updateTrainPlan(trainPlan);
+    }
+
+    /**
+     * 培训计划删除
+     * @param trainPlanId
+     * @return
+     */
+    @ApiOperation(value = "培训计划删除")
+    @GetMapping("/plan/deleted")
+    public CommonResult deletedTrainPlan(@RequestParam("trainPlanId") Integer trainPlanId){
+        return trainPlanService.deletedTrainPlan(trainPlanId);
+    }
+
+
+
+
+
+
+
+
+
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/TrainPlan.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/TrainPlan.java
new file mode 100644
index 0000000..424703c
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/TrainPlan.java
@@ -0,0 +1,91 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@TableName("train_plan")
+@ApiModel(value = "培训计划", description = "培训计划")
+public class TrainPlan implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "课程名称")
+    @TableField("train_name")
+    private String trainName;
+
+    @ApiModelProperty(value = "时间")
+    @TableField("train_time")
+    private String trainTime;
+
+    @ApiModelProperty(value = "组织部门")
+    @TableField("dept_id")
+    private Integer deptId;
+
+    @ApiModelProperty(value = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+
+    @ApiModelProperty(value = "参训对象")
+    @TableField("train_object")
+    private String trainObject;
+
+    @ApiModelProperty(value = "人数")
+    @TableField("num")
+    private Integer num;
+
+    @ApiModelProperty(value = "课时")
+    @TableField("hour")
+    private BigDecimal hour;
+
+    @ApiModelProperty(value = "费用")
+    @TableField("money")
+    private BigDecimal money;
+
+    @ApiModelProperty(value = "形式")
+    @TableField("modality")
+    private String modality;
+
+    @ApiModelProperty(value = "是否合格 0是 1否")
+    @TableField("status")
+    private Integer status;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/TrainPlanMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/TrainPlanMapper.java
new file mode 100644
index 0000000..815a55e
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/TrainPlanMapper.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.TrainPlan;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TrainPlanMapper extends BaseMapper<TrainPlan> {
+    List<TrainPlan> selectTrainPlan(TrainPlan trainPlan);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/TrainPlanService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/TrainPlanService.java
new file mode 100644
index 0000000..b52a3b8
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/TrainPlanService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.TrainPlan;
+
+public interface TrainPlanService extends IService<TrainPlan> {
+    CommonPage selectTrainPlanList(TrainPlan trainPlan);
+
+    CommonResult insertTrainPlan(TrainPlan trainPlan);
+
+    CommonResult updateTrainPlan(TrainPlan trainPlan);
+
+    CommonResult deletedTrainPlan(Integer trainPlanId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/TrainPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/TrainPlanServiceImpl.java
new file mode 100644
index 0000000..8ffe417
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/TrainPlanServiceImpl.java
@@ -0,0 +1,65 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.domain.model.LoginUserDetails;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.TrainPlan;
+import com.gkhy.exam.system.mapper.TrainPlanMapper;
+import com.gkhy.exam.system.service.TrainPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class TrainPlanServiceImpl extends ServiceImpl<TrainPlanMapper, TrainPlan> implements TrainPlanService {
+
+    @Autowired
+    private TrainPlanMapper trainPlanMapper;
+
+    @Override
+    public CommonPage selectTrainPlanList(TrainPlan trainPlan) {
+        if (!SecurityUtils.adminUser()){
+            if (trainPlan.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<TrainPlan> trainPlans = trainPlanMapper.selectTrainPlan(trainPlan);
+        return CommonPage.restPage(trainPlans);
+    }
+
+    @Override
+    public CommonResult insertTrainPlan(TrainPlan trainPlan) {
+        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
+        trainPlan.setCreateBy(loginUser.getUsername());
+        trainPlan.setCreateTime(LocalDateTime.now());
+        trainPlanMapper.insert(trainPlan);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateTrainPlan(TrainPlan trainPlan) {
+        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
+        trainPlan.setUpdateBy(loginUser.getUsername());
+        trainPlan.setUpdateTime(LocalDateTime.now());
+        trainPlanMapper.updateById(trainPlan);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedTrainPlan(Integer trainPlanId) {
+        TrainPlan trainPlan = new TrainPlan();
+        trainPlan.setId(trainPlanId);
+        trainPlan.setDelFlag(2);
+        trainPlan.setUpdateTime(LocalDateTime.now());
+        trainPlan.setUpdateBy(SecurityUtils.getUsername());
+        trainPlanMapper.updateById(trainPlan);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml b/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml
index dc6d84c..335778f 100644
--- a/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml
@@ -20,7 +20,7 @@
             ss.`update_time`
         FROM
             `supplier_sure` ss
-                LEFT JOIN sys_company sc ON ss.company_id = ss.id
+                LEFT JOIN sys_company sc ON ss.company_id = sc.id
         WHERE
             ss.del_flag = 1
         <if test="companyId!=null and companyId!=''">
diff --git a/multi-system/src/main/resources/mapper/system/TrainPlanMapper.xml b/multi-system/src/main/resources/mapper/system/TrainPlanMapper.xml
new file mode 100644
index 0000000..9526d63
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/TrainPlanMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gkhy.exam.system.mapper.TrainPlanMapper">
+
+    <select id="selectTrainPlan" resultType="com.gkhy.exam.system.domain.TrainPlan">
+        SELECT
+            tp.`id`,
+            tp.`company_id`,
+            sc.`name` as company_name,
+            tp.`train_name`,
+            tp.`train_time`,
+            tp.`dept_id`,
+            sd.dept_name,
+            tp.`train_object`,
+            tp.`num`,
+            tp.`hour`,
+            tp.`money`,
+            tp.`modality`,
+            tp.`status`,
+            tp.`del_flag`,
+            tp.`create_by`,
+            tp.`create_time`,
+            tp.`update_by`,
+            tp.`update_time`
+
+        FROM `train_plan`  tp
+                 LEFT JOIN sys_company sc on tp.company_id = sc.id
+                 LEFT JOIN sys_dept sd on tp.dept_id = sd.dept_id
+        WHERE tp.del_flag = 1
+          <if test="companyId!=null">
+              and tp.company_id = #{companyId}
+          </if>
+        ORDER BY tp.create_time ASC
+    </select>
+</mapper>

--
Gitblit v1.9.2