From 076baf821f6ff0296826ecebac31b45ecce346a3 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 25 六月 2025 15:19:17 +0800
Subject: [PATCH] 部分功能调整

---
 multi-system/src/main/java/com/gkhy/exam/system/service/CompanyRosterService.java          |   17 +++
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CompanyBasicController.java   |   60 ++++++++++-
 multi-system/src/main/java/com/gkhy/exam/system/domain/CompanyRoster.java                  |   56 +++++++++++
 multi-system/src/main/resources/mapper/system/CompanyRosterMapper.xml                      |   56 +++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/CompanyRosterMapper.java            |   14 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java |   93 ++++++++++++++++++
 6 files changed, 288 insertions(+), 8 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CompanyBasicController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CompanyBasicController.java
index 81a029b..58842dd 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CompanyBasicController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CompanyBasicController.java
@@ -1,14 +1,8 @@
 package com.gkhy.exam.admin.controller.web;
 
 import com.gkhy.exam.common.api.CommonResult;
-import com.gkhy.exam.system.domain.CompanyBasic;
-import com.gkhy.exam.system.domain.CompanyCertificate;
-import com.gkhy.exam.system.domain.CompanyQualityPolicy;
-import com.gkhy.exam.system.domain.CompanySummary;
-import com.gkhy.exam.system.service.CompanyBasicService;
-import com.gkhy.exam.system.service.CompanyCertificateService;
-import com.gkhy.exam.system.service.CompanyQualityPolicyService;
-import com.gkhy.exam.system.service.CompanySummaryService;
+import com.gkhy.exam.system.domain.*;
+import com.gkhy.exam.system.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -29,6 +23,10 @@
     private CompanySummaryService companySummaryService;
     @Autowired
     private CompanyQualityPolicyService companyQualityPolicyService;
+
+    @Autowired
+    private CompanyRosterService companyRosterService;
+
 
     /**
      * 企业基础信息列表
@@ -227,7 +225,53 @@
 
 
 
+    /**
+     * 企业花名册
+     * @param companyId
+     * @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("/roster/list")
+    public CommonResult selectCompanyRosterList(Integer companyId){
+        return CommonResult.success(companyRosterService.selectCompanyRosterList(companyId));
+    }
 
+    /**
+     * 企业花名册新增
+     * @param companyRoster
+     * @return
+     */
+    @ApiOperation(value = "员工情况新增")
+    @PostMapping("/roster/insert")
+    public CommonResult insertCompanyRoster(@RequestBody CompanyRoster companyRoster){
+        return companyRosterService.insertCompanyRoster(companyRoster);
+    }
+
+    /**
+     * 企业花名册修改
+     * @param companyRoster
+     * @return
+     */
+    @ApiOperation(value = "员工情况修改")
+    @PostMapping("/roster/update")
+    public CommonResult updateCompanyRoster(@RequestBody CompanyRoster companyRoster){
+        return companyRosterService.updateCompanyRoster(companyRoster);
+    }
+
+    /**
+     * 企业花名册删除
+     * @param companyRosterId
+     * @return
+     */
+    @ApiOperation(value = "员工情况删除")
+    @GetMapping("/roster/deleted")
+    public CommonResult deletedCompanyRoster(@RequestParam("companyRosterId") Integer companyRosterId){
+        return companyRosterService.deletedCompanyRoster(companyRosterId);
+    }
 
 
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/CompanyRoster.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/CompanyRoster.java
new file mode 100644
index 0000000..d995315
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/CompanyRoster.java
@@ -0,0 +1,56 @@
+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.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@TableName("company_roster")
+@ApiModel(value = "company_roster",description = "员工花名册")
+public class CompanyRoster implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @NotNull(message = "企业Id不可为空")
+    @ApiModelProperty(value = "企业ID")
+    @TableField("company_id")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "企业名称")
+    @TableField("company_name")
+    private String companyName;
+
+    @ApiModelProperty(value = "企业概况")
+    @TableField("company_roster")
+    private String companyRoster;
+
+    @ApiModelProperty(value = "是否删除")
+    @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/CompanyRosterMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CompanyRosterMapper.java
new file mode 100644
index 0000000..e83b057
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CompanyRosterMapper.java
@@ -0,0 +1,14 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.CompanyRoster;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface CompanyRosterMapper extends BaseMapper<CompanyRoster> {
+    List<CompanyRoster> selectCompanyRosterList(Integer companyId);
+
+    int updateRosterById(CompanyRoster companyRoster);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/CompanyRosterService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/CompanyRosterService.java
new file mode 100644
index 0000000..0eb4f28
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/CompanyRosterService.java
@@ -0,0 +1,17 @@
+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.CompanyRoster;
+import com.gkhy.exam.system.domain.CompanySummary;
+
+public interface CompanyRosterService extends IService<CompanyRoster> {
+    CommonPage selectCompanyRosterList(Integer companyId);
+
+    CommonResult insertCompanyRoster(CompanyRoster companyRoster);
+
+    CommonResult updateCompanyRoster(CompanyRoster companyRoster);
+
+    CommonResult deletedCompanyRoster(Integer companyRosterId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java
new file mode 100644
index 0000000..9728184
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CompanyRosterServiceImpl.java
@@ -0,0 +1,93 @@
+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.CompanyRoster;
+import com.gkhy.exam.system.domain.CompanySummary;
+import com.gkhy.exam.system.domain.SysCompany;
+import com.gkhy.exam.system.mapper.CompanyRosterMapper;
+import com.gkhy.exam.system.mapper.CompanySummaryMapper;
+import com.gkhy.exam.system.service.CompanyRosterService;
+import com.gkhy.exam.system.service.CompanySummaryService;
+import com.gkhy.exam.system.service.SysCompanyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class CompanyRosterServiceImpl extends ServiceImpl<CompanyRosterMapper, CompanyRoster> implements CompanyRosterService {
+
+    @Autowired
+    private CompanyRosterMapper companyRosterMapper;
+    @Autowired
+    private SysCompanyService sysCompanyService;
+
+
+
+    @Override
+    public CommonPage selectCompanyRosterList(Integer companyId) {
+        boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId());
+        if (!admin){
+            if (companyId==null){
+                throw new ApiException("非管理员操作,查询条件不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<CompanyRoster> companyRosters = companyRosterMapper.selectCompanyRosterList(companyId);
+        return CommonPage.restPage(companyRosters);
+    }
+
+    @Override
+    public CommonResult insertCompanyRoster(CompanyRoster companyRoster) {
+        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
+        List<CompanyRoster> companyRosters = companyRosterMapper.selectCompanyRosterList(companyRoster.getCompanyId());
+        if (companyRosters.size()>0){
+            throw new ApiException("当前企业已有相关数据,请删除原有数据后重试");
+        }
+        SysCompany sysCompany = sysCompanyService.selectCompanyById(Long.valueOf(companyRoster.getCompanyId()));
+        companyRoster.setCompanyName(sysCompany.getName());
+        companyRoster.setCreateBy(loginUser.getUsername());
+        companyRoster.setCreateTime(LocalDateTime.now());
+        int insert = companyRosterMapper.insert(companyRoster);
+        if (insert>0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateCompanyRoster(CompanyRoster companyRoster) {
+        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
+        SysCompany sysCompany = sysCompanyService.selectCompanyById(Long.valueOf(companyRoster.getCompanyId()));
+        companyRoster.setCompanyName(sysCompany.getName());
+        companyRoster.setUpdateBy(loginUser.getUsername());
+        companyRoster.setUpdateTime(LocalDateTime.now());
+        int update = companyRosterMapper.updateRosterById(companyRoster);
+        if (update>0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedCompanyRoster(Integer companyRosterId) {
+        CompanyRoster companyRoster = new CompanyRoster();
+        LoginUserDetails loginUser = SecurityUtils.getLoginUser();
+        companyRoster.setUpdateBy(loginUser.getUsername());
+        companyRoster.setUpdateTime(LocalDateTime.now());
+        companyRoster.setDelFlag(2);
+        companyRoster.setId(companyRosterId);
+        int i = companyRosterMapper.updateById(companyRoster);
+        if (i>0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/resources/mapper/system/CompanyRosterMapper.xml b/multi-system/src/main/resources/mapper/system/CompanyRosterMapper.xml
new file mode 100644
index 0000000..2030fad
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/CompanyRosterMapper.xml
@@ -0,0 +1,56 @@
+<?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.CompanyRosterMapper">
+    <update id="updateRosterById">
+        UPDATE company_roster
+        <set>
+            <if test="companyId != null and companyId != ''" >
+                company_id = #{companyId},
+            </if>
+            <if test="companyName != null and companyName != ''" >
+                company_name = #{companyName},
+            </if>
+            <if test="companyRoster != null and companyRoster !=''" >
+                company_roster = #{companyRoster},
+            </if>
+            <if test="delFlag != null and delFlag != ''" >
+                del_flag = #{delFlag},
+            </if>
+            <if test="createBy != null" >
+                create_by = #{createBy},
+            </if>
+            <if test="createTime != null" >
+                create_time = #{createTime},
+            </if>
+            <if test="updateBy != null" >
+                update_by = #{updateBy},
+            </if>
+            <if test="updateTime != null" >
+                update_time = #{updateTime}
+            </if>
+        </set>
+        where id = #{id}
+    </update>
+
+    <select id="selectCompanyRosterList" resultType="com.gkhy.exam.system.domain.CompanyRoster">
+        SELECT
+            `id`,
+            `company_id`,
+            `company_name`,
+            `company_roster`,
+            `del_flag`,
+            `create_by`,
+            `create_time`,
+            `update_by`,
+            `update_time`
+        FROM
+            company_roster
+        WHERE
+            del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and company_id = #{companyId}
+        </if>
+        ORDER BY
+            create_time DESC
+    </select>
+</mapper>

--
Gitblit v1.9.2