From 0de00dab1fb352841ec485f6a528f43a7dee840c Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期一, 08 十二月 2025 14:24:41 +0800
Subject: [PATCH] 新增颁布令
---
multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java | 39 +++++
multi-system/src/main/java/com/gkhy/exam/system/mapper/ProclaimMapper.java | 15 ++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java | 8 +
multi-system/src/main/resources/mapper/system/ProclaimMapper.xml | 57 ++++++++
multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java | 28 ++++
multi-system/src/main/java/com/gkhy/exam/system/domain/Proclaim.java | 68 +++++++++
multi-system/src/main/java/com/gkhy/exam/system/service/ProclaimService.java | 24 +++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ProclaimServiceImpl.java | 96 +++++++++++++
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ProclaimController.java | 73 ++++++++++
9 files changed, 408 insertions(+), 0 deletions(-)
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
index a1acdfb..4022a72 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
@@ -2,8 +2,10 @@
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.ItemReviewUser;
+import com.gkhy.exam.system.domain.Proclaim;
import com.gkhy.exam.system.domain.UseSealApplyFlow;
import com.gkhy.exam.system.service.ItemReviewService;
+import com.gkhy.exam.system.service.ProclaimService;
import com.gkhy.exam.system.service.useSealApply.UseSealApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -20,6 +22,9 @@
@Autowired
private UseSealApplyService applyService;
+
+ @Autowired
+ private ProclaimService proclaimService;
@@ -70,5 +75,28 @@
return applyService.approveUseSealApply(useSealApplyFlow);
}
+ /**
+ * 颁布令待审批
+ * @param userId
+ * @return
+ */
+ @ApiOperation(value = "待审批列表")
+ @GetMapping("proclaim/List")
+ public CommonResult proclaimList(@RequestParam("userId") Integer userId){
+ return proclaimService.proclaimList(userId);
+ }
+
+
+ /**
+ * 颁布令审批
+ * @param proclaim
+ * @return
+ */
+ @ApiOperation(value = "审批")
+ @PostMapping("proclaim/check")
+ public CommonResult proclaimcheck(@RequestBody Proclaim proclaim){
+ return proclaimService.approveProclaim(proclaim);
+ }
+
}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ProclaimController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ProclaimController.java
new file mode 100644
index 0000000..b2ea69e
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ProclaimController.java
@@ -0,0 +1,73 @@
+package com.gkhy.exam.admin.controller.web;
+
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Proclaim;
+import com.gkhy.exam.system.domain.Quality;
+import com.gkhy.exam.system.domain.req.QualityTargetReq;
+import com.gkhy.exam.system.service.ProclaimService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "颁布令管理")
+@RestController
+@RequestMapping("/proclaim")
+public class ProclaimController {
+
+ @Autowired
+ private ProclaimService proclaimService;
+
+ /**
+ * 颁布令列表
+ * @param proclaim
+ * @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("/list")
+ public CommonResult listProclaim(Proclaim proclaim){
+ return CommonResult.success(proclaimService.selectProclaimList(proclaim));
+ }
+
+
+ /**
+ * 颁布令新增
+ * @param proclaim
+ * @return
+ */
+ @ApiOperation(value = "颁布令新增")
+ @PostMapping("/policy/insert")
+ public CommonResult insertQuality(@RequestBody Proclaim proclaim){
+ return proclaimService.insertProclaim(proclaim);
+ }
+
+ /**
+ * 颁布令修改
+ * @param proclaim
+ * @return
+ */
+ @ApiOperation(value = "颁布令修改")
+ @PostMapping("/policy/update")
+ public CommonResult updateQuality(@RequestBody Proclaim proclaim){
+ return proclaimService.updateProclaim(proclaim);
+ }
+
+ /**
+ * 颁布令删除
+ * @param proclaimId
+ * @return
+ */
+ @ApiOperation(value = "颁布令删除")
+ @GetMapping("/policy/deleted")
+ public CommonResult deletedQuality(@RequestParam("proclaimId") Integer proclaimId){
+ return proclaimService.deletedProclaim(proclaimId);
+ }
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Proclaim.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Proclaim.java
new file mode 100644
index 0000000..411d9b1
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Proclaim.java
@@ -0,0 +1,68 @@
+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 javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("proclaim")
+@ApiModel(value = "proclaim", description = "颁布令")
+public class Proclaim implements Serializable {
+
+ @ApiModelProperty("主键")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("企业id")
+ @TableField("company_id")
+ private Integer companyId;
+
+ @ApiModelProperty("内容")
+ @TableField("content")
+ private String content;
+
+ @ApiModelProperty("批准人")
+ @TableField("check_id")
+ private Integer checkId;
+
+ @TableField(exist = false)
+ private String checkName;
+
+ @ApiModelProperty("签名")
+ @TableField("sign")
+ private String sign;
+
+ @ApiModelProperty("状态 0待审批 1已审批")
+ @TableField("status")
+ private Integer status;
+
+ @ApiModelProperty("类型 1质量手册颁布令 2质量方针颁布令 3质量目标颁布令 4任命书")
+ @TableField("type")
+ private Integer type;
+
+
+ @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/domain/StandardizedQuality.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java
index 30d6089..7699de7 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/StandardizedQuality.java
@@ -63,4 +63,43 @@
private LocalDateTime updateTime;
+ @ApiModelProperty(value = "编号")
+ @TableField("number")
+ private String number;
+ @ApiModelProperty(value = "版本号")
+ @TableField("version_num")
+ private String versionNum;
+ @ApiModelProperty(value = "文件状态")
+ @TableField("file_status")
+ private String fileStatus;
+ @ApiModelProperty(value = "发布号")
+ @TableField("grant_num")
+ private String grantNum;
+ @ApiModelProperty(value = "编制")
+ @TableField("fiction_name")
+ private String fictionName;
+ @ApiModelProperty(value = "审核")
+ @TableField("check_name")
+ private String checkName;
+ @ApiModelProperty(value = "批准")
+ @TableField("ratify_name")
+ private String ratifyName;
+ @ApiModelProperty(value = "发布日期")
+ @TableField("release_date")
+ private LocalDateTime releaseDate;
+ @ApiModelProperty(value = "实施日期")
+ @TableField("execution_date")
+ private LocalDateTime executionDate;
+
+
+
+
+
+
+
+
+
+
+
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ProclaimMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ProclaimMapper.java
new file mode 100644
index 0000000..6551298
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ProclaimMapper.java
@@ -0,0 +1,15 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.Proclaim;
+import org.apache.ibatis.annotations.Param;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface ProclaimMapper extends BaseMapper<Proclaim> {
+ List<Proclaim> selectProclaimList(Proclaim proclaim);
+
+ List<Proclaim> selectByCompanyId(@Param("companyId") Integer companyId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ProclaimService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ProclaimService.java
new file mode 100644
index 0000000..e586bff
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ProclaimService.java
@@ -0,0 +1,24 @@
+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.Proclaim;
+
+import java.util.List;
+
+public interface ProclaimService extends IService<Proclaim> {
+ CommonPage selectProclaimList(Proclaim proclaim);
+
+ CommonResult insertProclaim(Proclaim proclaim);
+
+ CommonResult updateProclaim(Proclaim proclaim);
+
+ CommonResult deletedProclaim(Integer proclaimId);
+
+ CommonResult proclaimList(Integer userId);
+
+ CommonResult approveProclaim(Proclaim proclaim);
+
+ List<Proclaim> selectProclaimByCompanyId(Integer companyId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ProclaimServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ProclaimServiceImpl.java
new file mode 100644
index 0000000..4575534
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ProclaimServiceImpl.java
@@ -0,0 +1,96 @@
+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.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Proclaim;
+import com.gkhy.exam.system.mapper.ProclaimMapper;
+import com.gkhy.exam.system.service.ProclaimService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
+
+@Service
+public class ProclaimServiceImpl extends ServiceImpl<ProclaimMapper, Proclaim> implements ProclaimService {
+
+ @Autowired
+ private ProclaimMapper proclaimMapper;
+
+ @Override
+ public CommonPage selectProclaimList(Proclaim proclaim) {
+ if (proclaim.getCompanyId()==null && !SecurityUtils.adminUser()){
+ throw new ApiException("非管理员操作,企业id不可为空");
+ }
+ PageUtils.startPage();
+ List<Proclaim> proclaims = proclaimMapper.selectProclaimList(proclaim);
+ return CommonPage.restPage(proclaims);
+ }
+
+ @Override
+ public CommonResult insertProclaim(Proclaim proclaim) {
+ HashMap<String, Object> parm = new HashMap<>();
+ parm.put("company_id",proclaim.getCompanyId());
+ parm.put("type",proclaim.getType());
+ parm.put("del_flag",0);
+ List<Proclaim> proclaims = proclaimMapper.selectByMap(parm);
+ if (!CollectionUtils.isEmpty(proclaims)){
+ return CommonResult.failed("当前企业已有相关数据");
+ }
+ proclaim.setCreateBy(SecurityUtils.getUsername());
+ proclaim.setCreateTime(LocalDateTime.now());
+ proclaimMapper.insert(proclaim);
+ return CommonResult.success();
+ }
+
+ @Override
+ public CommonResult updateProclaim(Proclaim proclaim) {
+ proclaim.setUpdateBy(SecurityUtils.getUsername());
+ proclaim.setUpdateTime(LocalDateTime.now());
+ proclaim.setStatus(0);
+ proclaimMapper.updateById(proclaim);
+ return CommonResult.success();
+ }
+
+ @Override
+ public CommonResult deletedProclaim(Integer proclaimId) {
+ Proclaim proclaim = new Proclaim();
+ proclaim.setUpdateBy(SecurityUtils.getUsername());
+ proclaim.setUpdateTime(LocalDateTime.now());
+ proclaim.setId(proclaimId);
+ proclaim.setDelFlag(2);
+ proclaimMapper.updateById(proclaim);
+ return CommonResult.success();
+ }
+
+ @Override
+ public CommonResult proclaimList(Integer userId) {
+ HashMap<String, Object> parm = new HashMap<>();
+ parm.put("check_id",userId);
+ parm.put("del_flag",0);
+ parm.put("status",0);
+ List<Proclaim> proclaims = proclaimMapper.selectByMap(parm);
+ return CommonResult.success(proclaims);
+ }
+
+ @Override
+ public CommonResult approveProclaim(Proclaim proclaim) {
+ proclaim.setUpdateTime(LocalDateTime.now());
+ proclaim.setUpdateBy(SecurityUtils.getUsername());
+ proclaim.setStatus(1);
+ proclaimMapper.updateById(proclaim);
+ return CommonResult.success();
+ }
+
+ @Override
+ public List<Proclaim> selectProclaimByCompanyId(Integer companyId) {
+ return proclaimMapper.selectByCompanyId(companyId);
+ }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
index a88746f..7d04b02 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
@@ -51,6 +51,10 @@
@Autowired
private ProductServiceMapper productServiceMapper;
+ @Autowired
+ private ProclaimService proclaimService;
+
+
@Override
public CommonPage selectStandardizedTemplateList(StandardizedTemplate standardizedTemplate) {
boolean admin = SecurityUtils.adminUser();
@@ -215,6 +219,10 @@
//公司概况
List<CompanySummary> companySummaries = companySummaryMapper.selectCompanySummaryList(companyId);
+ List<Proclaim> proclaims = proclaimService.selectProclaimByCompanyId(companyId);
+
+ map.put("proclaim",proclaims);
+
//质量方针
List<CompanyQualityPolicy> companyQualityPolicies = companyQualityPolicyMapper.selectCompanyQualityPolicyList(companyId);
//质量方针
diff --git a/multi-system/src/main/resources/mapper/system/ProclaimMapper.xml b/multi-system/src/main/resources/mapper/system/ProclaimMapper.xml
new file mode 100644
index 0000000..bc81ee4
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/ProclaimMapper.xml
@@ -0,0 +1,57 @@
+<?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.ProclaimMapper">
+
+ <select id="selectProclaimList" resultType="com.gkhy.exam.system.domain.Proclaim">
+ SELECT
+ p.`id`,
+ p.`company_id`,
+ p.`content`,
+ p.`check_id`,
+ su.`name` AS check_name,
+ p.`sign`,
+ p.`status`,
+ p.`type`,
+ p.`del_flag`,
+ p.`create_by`,
+ p.`create_time`,
+ p.`update_by`,
+ p.`update_time`
+ FROM
+ `proclaim` p
+ LEFT JOIN sys_user su ON p.check_id = su.id
+ WHERE
+ p.del_flag = 0 and type = #{type}
+ <if test="companyId!=null">
+ and p.company_id = #{companyId}
+ </if>
+ ORDER BY
+ p.create_time DESC
+ </select>
+ <select id="selectByCompanyId" resultType="com.gkhy.exam.system.domain.Proclaim">
+ SELECT
+ p.`id`,
+ p.`company_id`,
+ p.`content`,
+ p.`check_id`,
+ su.`name` AS check_name,
+ p.`sign`,
+ p.`status`,
+ p.`type`,
+ p.`del_flag`,
+ p.`create_by`,
+ p.`create_time`,
+ p.`update_by`,
+ p.`update_time`
+ FROM
+ `proclaim` p
+ LEFT JOIN sys_user su ON p.check_id = su.id
+ WHERE
+ p.del_flag = 0
+ <if test="companyId!=null">
+ and p.company_id = #{companyId}
+ </if>
+ ORDER BY
+ p.create_time DESC
+ </select>
+</mapper>
--
Gitblit v1.9.2