Bläddra i källkod

提交隐患检查

lin.liu 1 vecka sedan
förälder
incheckning
f189e33240

+ 5 - 0
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/domain/CheckRecordItemPO.java

@@ -101,6 +101,11 @@ public class CheckRecordItemPO {
 	 */
 	@TableField(value = "CHECK_RESULT")
 	private Integer checkResult;
+	/**
+	 * 隐患描述
+	 */
+	@TableField(value = "DANGER_DESCRIPTION")
+	private String dangerDescription;
 	/**
 	 * 整改措施
 	 */

+ 10 - 0
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/entity/request/checkrecord/CreateCheckRecordFile.java

@@ -0,0 +1,10 @@
+package com.customs.cq.datacenter.business.entity.request.checkrecord;
+
+import lombok.Data;
+
+@Data
+public class CreateCheckRecordFile {
+    private String fileName;
+    private String filePath;
+    private String filePdfPath;
+}

+ 1 - 1
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/entity/request/checkrecord/ReqCreateCheckRecord.java

@@ -61,7 +61,7 @@ public class ReqCreateCheckRecord {
 	/**
 	 * 附件列表
 	 */
-	private List<String> listAttachment;
+	private List<CreateCheckRecordFile> listAttachment;
 	/**
 	 * 检查项列表
 	 */

+ 4 - 0
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/entity/request/checkrecorditem/ReqCreateCheckRecordItem.java

@@ -44,6 +44,10 @@ public class ReqCreateCheckRecordItem {
 	 * 检查结果 ECheckResult
 	 */
 	private Integer checkResult;
+	/**
+	 * 隐患描述
+	 */
+	private String dangerDescription;
 	/**
 	 * 整改措施
 	 */

+ 5 - 0
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/entity/request/dangercheckitem/ReqCreateDangerCheckItem.java

@@ -32,6 +32,11 @@ import java.time.LocalDate;
  */
 @Data
 public class ReqCreateDangerCheckItem {
+	/**
+	 * 主键
+	 * @ignore
+	 */
+	private Long id;
 	/**
 	 * 检查项名称
 	 */

+ 1 - 1
secure-producting-business/src/main/java/com/customs/cq/datacenter/business/service/CheckRecordService.java

@@ -132,7 +132,7 @@ public class CheckRecordService extends BasicService {
         // 附件列表
         item.setAttachmentList("");
         if (ListUtil.isNotNullOrEmpty(request.getListAttachment())) {
-            item.setAttachmentList(StringUtil.join(request.getListAttachment()));
+            item.setAttachmentList(SerializeUtil.toJson(request.getListAttachment()));
         }
         Integer hasRectifyPlan = EYesOrNo.NO.getValue();
         Long rectifyDeadline = 0L;

+ 3 - 3
secure-producting-host/src/main/resources/application-jeff.yml

@@ -5,7 +5,7 @@ server:
 # 项目相关配置
 ruoyi:
   # h4a登录页面
-  h4alogin-url: http://192.168.9.14:5110/h4alogin
+  h4alogin-url: http://localhost:5110/h4alogin
 
 # 临时文件存储位置 避免临时文件被系统清理报错
 spring.servlet.multipart.location: /ruoyi/server/temp
@@ -51,7 +51,7 @@ spring:
 spring:
   redis:
     # 地址
-    host: 192.168.9.14
+    host: localhost
     # 端口,默认为6379
     port: 6379
     # 数据库索引
@@ -111,6 +111,6 @@ file:
   # 文件存储,存放路径
   uploadBasicPath: ./logs/upload/
   # 文件访问地址前缀(静态资源服务)
-  fileBasicUrl: http://192.168.9.14:8110/file/download
+  fileBasicUrl: http://localhost:8110/file/download
   # 文件名生成加盐字符
   disturbStr: com.customs.producting

+ 1 - 1
secure-producting-host/src/test/java/com/customs/cq/datacenter/host/GenCodeRun.java

@@ -288,7 +288,7 @@ public class GenCodeRun {
      * 只生成以下配置的表
      */
     private static final List<String> ONLY_TABLES = Arrays.asList(
-
+        "SP_CHECK_RECORD_ITEM"
     );
 
     public static void main(String[] args) {

+ 105 - 0
secure-producting-vue/src/views/grid/components/MyGridAndCheck.vue

@@ -0,0 +1,105 @@
+<template>
+  <div class="app-container">
+    <el-card shadow="hover" header="隐患检查" style="margin-bottom: 5px">
+      <el-table :data="listMineGrid" stripe style="width: 100%">
+        <el-table-column prop="checkFormName" label="检查表信息" :show-overflow-tooltip="true">
+          <template #default="scope">
+            {{ scope.row.gridName + ' - ' + scope.row.checkFormName }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="checkStatusTxt" label="状态" />
+        <el-table-column label="操作">
+          <template #default="scope">                                
+            <el-button
+              v-if="scope.row.checkStatus === 1"
+              link
+              type="primary"
+              @click="handleDetail(scope.row)"
+            >查看</el-button>
+            <el-button
+              link
+              type="primary"
+              icon="Edit"
+              @click="handleDoForm(scope.row)"
+            >填报</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-card>
+
+    <!-- 提交检查表模态框 -->
+    <el-dialog
+      title="隐患检查表"
+      v-model="showSubmitCheck"
+      width="900px"
+      append-to-body
+    >
+      <!-- 设置对话框内容高度 -->
+      <div style="height:70vh;">
+          <el-scrollbar>
+            <submit-danger-check
+              ref="refSubmitCheck"
+              v-if="showSubmitCheck"
+              :gridId="submitItem.gridId"
+              :checkFormId="submitItem.checkFormId"
+              :checkFormName="submitItem.checkFormName"
+              @closeCallback="showSubmitCheck = false"
+            ></submit-danger-check>
+          </el-scrollbar>
+        </div>
+      <template #footer>
+      <div class="dialog-footer">
+          <el-button
+            :loading="loadingSubmitCheck"
+            type="primary"
+            @click="submitCheck"
+          >提 交</el-button>
+          <el-button @click="showSubmitCheck = false">取 消</el-button>
+      </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup name="MyGridAndCheck">
+import { listMine } from '@/api/grid/GridIndex';
+import SubmitDangerCheck from '@/views/grid/components/SubmitDangerCheck';
+
+const { proxy } = getCurrentInstance();
+
+const listMineGrid = ref([]);
+const showSubmitCheck = ref(false);
+const submitItem = ref({});
+const loadingSubmitCheck = ref(false);
+
+/** 获取当前登录用户的网格和今日填报情况 */
+function getListPerson() {
+  listMine().then((response) => {
+    listMineGrid.value = response.data;
+  })
+  .finally(() => {
+    //createLoading.value = false;
+  });;
+}
+
+/** 指定网格-今日填报详情 */
+function handleDetail(row) {
+}
+
+/** 指定网格-填报 */
+function handleDoForm(row) {
+  if (row.checkFormId === 0) {
+    proxy.$modal.msgError("当前网格没有配置检查表!");
+    return;
+  }
+  submitItem.value = row;
+  showSubmitCheck.value = true;
+}
+
+function submitCheck() {
+  // 调用子组件的函数
+  proxy.$refs["refSubmitCheck"].submitCheck();
+}
+
+getListPerson();
+</script>

+ 380 - 0
secure-producting-vue/src/views/grid/components/SubmitDangerCheck.vue

@@ -0,0 +1,380 @@
+<template>
+  <div class="app-container">
+    <el-form
+      ref="refFormSubmit"
+      :model="formSubmit"
+      :rules="rulesSubmit"
+      label-width="135px"
+    >
+      <el-form-item label="检查表名称" prop="categoryName">
+        <el-input v-model="formSubmit.id" type="hidden" />
+        {{ checkFormName }}
+      </el-form-item>
+      <el-form-item label="关区代码" prop="customs">
+        <span class="form-line-left">
+          <el-select
+            v-model="formSubmit.customs"
+            placeholder="请选择"
+            style="margin-right:10px;"
+          >
+            <el-option
+              v-for="item in listCustomer"
+              :key="item.dictValue"
+              :label="item.dictLabel"
+              :value="item.dictValue"
+            />
+          </el-select>
+          {{ formSubmit.customs ?? '-' }}
+        </span>
+        <span class="form-line-right">检查时间</span>
+        <el-date-picker
+          v-model="formSubmit.checkTime"
+          type="date"
+          placeholder="请选择"
+        />
+      </el-form-item>
+      <el-form-item label="检查人员" prop="checkPerson">
+        <span class="form-line-left">
+          <el-input v-model="formSubmit.checkPerson" placeholder="请输入" style="width:215px;" />
+        </span>
+        <span class="form-line-right">联系方式</span>
+        <el-input v-model="formSubmit.contactInfo" placeholder="请输入" style="width:220px;" />
+      </el-form-item>
+      <div class="check-container">
+        <el-row class="check-title">
+          <el-col :md="24" class="check-col">{{ checkFormName }}</el-col>
+        </el-row>
+        <el-row class="check-title">
+          <el-col :md="2" class="check-col">序号</el-col>
+          <el-col :md="8" class="check-col">检查结果</el-col>
+          <el-col :md="6" class="check-col">检查项</el-col>
+          <el-col :md="8" class="check-col">检查内容</el-col>
+        </el-row>
+        <el-row :md="24" v-for="(item, key) in formSubmit.listItem" :key="key" class="check-item">
+          <el-col :md="2" class="check-col check-col-idx">{{(key+1)}}</el-col>
+          <el-col :md="8" class="check-col">
+            <el-radio-group v-model="item.checkResult">
+              <el-radio :label="0" size="small">无隐患</el-radio>
+              <el-radio :label="1" size="small">有隐患</el-radio>
+              <el-radio :label="2" size="small">不适用</el-radio>
+            </el-radio-group>
+          </el-col>
+          <el-col :md="6" class="check-col">
+            <span v-if="item.checkResult === 0" class="opt opt-no" title="无隐患">无</span>
+            <span v-if="item.checkResult === 2" class="opt opt-no" title="不适用">不</span>
+            <span v-if="(item.checkResult === 1 && item.isRectify === 1)" @click="showRectify(item)" class="opt opt-submit" title="有隐患,已填整改措施">改</span>
+            <span v-if="(item.checkResult === 1 && item.isRectify === 0)" @click="submitRectify(item)" class="opt opt-wait" title="有隐患,需要填写整改措施">待</span>
+            <span>{{ item.itemName }}</span>
+            </el-col>
+          <el-col :md="8" class="check-col check-item-desc" :title="item.description">{{ item.description }}</el-col>
+        </el-row>
+      </div>
+      <el-form-item label="提交至网格管理员" prop="isSubmit">
+        <el-radio-group v-model="formSubmit.isSubmit">
+          <el-radio :label="0">暂存</el-radio>
+          <el-radio :label="1">提交</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="附件列表" prop="listAttachment">
+        <el-upload
+            ref="refUploadCreate"
+            :headers="{ Authorization: 'Bearer ' + getToken() }"
+            :action="uploadUrl"
+            v-model:file-list="uploadSubmitFiles"
+            multiple
+            :before-upload="handleBeforeUpload"
+            :on-success="onSubmitUploadSuccess"
+            :limit="6"
+            :on-exceed="onSubmitUploadExceed"
+            :on-remove="onSubmitUploadRemove"
+          >
+            <template #trigger>
+              <el-button type="primary">选择文件</el-button>
+              <span style="display:inline-flex;margin-left:10px;">支持格式:<span style="color:red;">jpg,png,gif,mp4</span></span>
+            </template>
+          </el-upload>
+      </el-form-item>
+      <el-form-item label="备注" prop="remark">
+        <el-input v-model="formSubmit.remark" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入" />
+      </el-form-item>
+    </el-form>
+    
+
+    <!-- 模态框 - 检查项存在隐患,提交整改措施 -->
+    <el-dialog
+      :title="titleCheckItemRectify"
+      v-model="dialogCheckItemRectify"
+      width="600px"
+      append-to-body
+      draggable
+    >
+      <el-form
+        ref="refFormCheckItemRectify"
+        :model="formCheckItemRectify"
+        :rules="rulesCheckItemRectify"
+        :disabled="isDetail"
+        label-width="85px"
+      >
+        <el-form-item label="检查项" prop="itemName">
+          {{ formCheckItemRectify.itemName }}
+        </el-form-item>
+        <el-form-item label="隐患描述" prop="dangerDescription">
+          <el-input v-model="formCheckItemRectify.dangerDescription" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入" />
+        </el-form-item>
+        <el-form-item label="整改措施" prop="rectifyPlan">
+          <el-input v-model="formCheckItemRectify.rectifyPlan" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" placeholder="请输入" />
+        </el-form-item>
+        <el-form-item label="整改期限" prop="rectifyDeadline">
+          <el-date-picker
+            v-model="formCheckItemRectify.rectifyDeadline"
+            type="datetime"
+            placeholder="请选择"
+            format="YYYY-MM-DD hh:mm:ss"
+            value-format="x"
+          />
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+            <el-button
+              type="primary"
+              @click="submitCheckItemRectify"
+            >提 交</el-button>
+            <el-button @click="dialogCheckItemRectify = false">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<style scoped>
+  .form-line-left{width:300px;margin-right:10px;}
+  .form-line-right{display:flex;;font-weight:700;margin-right:10px;}
+  .check-container{border-left:1px solid #dcdfe6;border-top:1px solid #dcdfe6;margin:20px 0;}
+  .check-title{text-align:center;font-size:14px;font-weight:600;height:25px;line-height:25px;}
+  .check-item{height:28px;line-height:28px;font-size:12px;}
+  .check-col{border-right:1px solid #dcdfe6;border-bottom:1px solid #dcdfe6;padding-left:10px;}
+  .check-col-idx{padding:0;text-align:center;}
+  .check-item-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+  .opt{color:#fff;padding:5px;margin-right:2px;border-radius:5px;}
+  .opt-no{background-color:gray;}
+  .opt-wait{background-color:red;cursor:pointer;}
+  .opt-submit{background-color:green;cursor:pointer;}
+</style>
+
+<script setup name="SubmitDangerCheck">
+import { getUserProfile } from '@/api/system/user.js';
+import { getToken } from '@/utils/auth';
+import { listMine } from '@/api/grid/GridIndex';
+import { detail } from "@/api/form/DangerCheckForm";
+import { submit } from "@/api/form/DangerCheckRecord";
+import { parseTime } from '@/utils/ruoyi'
+import { getDicts } from '@/api/system/dict/data'
+
+const { proxy } = getCurrentInstance();
+
+const props = defineProps({
+    // 网格id
+    gridId: {
+        type: String,
+        default: '',
+    },
+    // 隐患检查表id
+    checkFormId: {
+        type: String,
+        default: '',
+    },
+    // 隐患检查表名称
+    checkFormName: {
+        type: String,
+        default: '',
+    },
+    // 关闭回调函数
+    closeCallback: {
+      type: Object
+    }
+});
+
+const uploadUrl = import.meta.env.VITE_APP_BASE_API + "/file/upload";
+const allowedFileTypes = ref([
+  'image/jpeg',   // JPEG 图像文件
+  'image/jpg',
+  'image/png',    // PNG 图像文件
+  'image/gif',
+  'video/3gpp',
+  'video/mp4',
+  'video/avi',
+]);
+
+const loginUser = ref({});
+const listCustomer = ref([]);
+const listMineGrid = ref([]);
+const formDetail = ref({});
+
+const loadingSubmit = ref(false);
+const formSubmit = ref({
+  gridId: props.gridId,
+  checkFormId: props.checkFormId,
+  customs: undefined,
+  checkTime: parseTime(new Date(), '{y}-{m}-{d}'),
+  checkPerson: '',
+  contactInfo: '',
+  listAttachment: [],
+  listItem: [],
+  isSubmit: 0,
+  remark: ''
+});
+const refUploadCreate = ref({});
+const uploadSubmitFiles = ref([]);
+const rulesSubmit = ref({
+  gridId: [{ required: true, message: "所属网格不能为空", trigger: "blur" }],
+  checkFormId: [{ required: true, message: "所属检查表不能为空", trigger: "blur" }],
+  customs: [{ required: true, message: "关区代码不能为空", trigger: "blur" }],
+  checkTime: [{ required: true, message: "检查时间不能为空", trigger: "blur" }],
+  checkPerson: [{ required: true, message: "检查人员不能为空", trigger: "blur" }],
+  contactInfo: [{ required: true, message: "联系方式不能为空", trigger: "blur" }],
+  listItem: [{ required: true, message: "检查项列表不能为空", trigger: "blur" }],
+  isSubmit: [{ required: true, message: "是否直接提交不能为空", trigger: "blur" }],
+  remark: [{ max: 200, message: '备注字符长度不能超过200', trigger: 'blur' }]
+});
+
+
+const formCheckItemRectify = ref({});
+const rulesCheckItemRectify = ref({
+  dangerDescription: [{ required: true, message: "隐患描述不能为空", trigger: "blur" }],
+  rectifyPlan: [{ required: true, message: "整改措施不能为空", trigger: "blur" }],
+  rectifyDeadline: [{ required: true, message: "整改期限不能为空", trigger: "blur" }]
+});
+const dialogCheckItemRectify = ref(false);
+const titleCheckItemRectify = ref('');
+const isDetail = ref(false);
+
+
+
+const handleBeforeUpload = (file) => {
+    // 获取文件的类型
+    const fileType = file.type;
+    if (allowedFileTypes.value.indexOf(fileType) != -1) {
+        return true;
+    } else { 
+        proxy.$modal.msgError("上传文件格式不支持");
+        return false; // 阻止文件上传
+    }
+}
+/** 新增文件上传成功 */
+function onSubmitUploadSuccess(response, file, fileList) {
+  let data = response.data;
+  formSubmit.value.listAttachment.push({
+    fileName: data.name,
+    filePath: data.newFileName,
+    filePdfPath: data.newPdfFileName,
+  });
+}
+/** 新增文件重复上传 */
+function onSubmitUploadExceed(files) {
+  uploadCreate.value.clearFiles();
+  const file = files[0];
+  file.uid = genFileId();
+  uploadCreate.value.handleStart(file);
+  uploadCreate.value.submit();
+}
+/** 移除文件 */
+function onSubmitUploadRemove(item) {
+  console.log('移除文件: ' + JSON.stringify(item));
+}
+/** 检查项存在隐患是,填写整改措施 */
+function submitRectify(item) {
+  formCheckItemRectify.value = item;
+  titleCheckItemRectify.value = item.itemName + ' - 整改措施方案';
+  dialogCheckItemRectify.value = true;
+  isDetail.value = false;
+}
+function submitCheckItemRectify() {
+  proxy.$refs["refFormCheckItemRectify"].validate((valid) => {
+    if (valid) {
+      let item = formSubmit.value.listItem.find(c => c.id === formCheckItemRectify.value.id);
+      if (item && item != null && item.id > 0) {
+        item.isRectify = 1;
+        dialogCheckItemRectify.value = false;
+      }
+    }
+  });
+}
+/** 检查项查看整改措施 */
+function showRectify(item) {
+  formCheckItemRectify.value = item;
+  titleCheckItemRectify.value = item.itemName + ' - 整改措施方案';
+  dialogCheckItemRectify.value = true;
+  //isDetail.value = true;
+}
+/** 提交检查表 */
+function submitCheck() {
+  let that = this;
+
+  console.log(formSubmit.value);
+  proxy.$refs["refFormSubmit"].validate((valid) => {
+    if (valid) {
+      loadingSubmit.value = true;
+
+      submit(formSubmit.value)
+      .then((response) => {
+        proxy.$modal.msgSuccess("提交成功");
+        that.props.closeCallback();
+      })
+      .finally(() => {
+        loadingSubmit.value = false;
+      });
+    }
+  });
+}
+
+
+
+/** 登录信息 */
+function getLoginUser() {
+  getUserProfile()
+  .then((response) => {
+    loginUser.value = response.data.user;
+
+    formSubmit.value.checkPerson = loginUser.value.nickName;
+    formSubmit.value.contactInfo = loginUser.value.phonenumber;
+  });
+}
+/** 关区代码 */
+function initListDictData() {
+  getDicts('sys_customs_code')
+  .then((response) => {
+    listCustomer.value = response.data;
+  })
+  .finally(() => {
+    // loadingSubmit.value = false;
+  });
+}
+/** 检查表详情 */
+function getFormDetail() {
+  detail(props.checkFormId)
+  .then((response) => {
+    formDetail.value = response.data;
+    for (let index = 0; index < response.data.listItem.length; index++) {
+      let item = response.data.listItem[index];
+      let value = {...item};
+      value.checkFormId = props.checkFormId;
+      //value.itemName = '';
+      //value.description = '';
+      value.checkResult = undefined;
+      value.isRectify = 0;
+      value.rectifyPlan = '';
+      value.rectifyDeadline = 0;
+      formSubmit.value.listItem.push(value);
+    }
+  });
+}
+
+/** 页面加载完毕 */
+onMounted(async () => {
+  // 登录信息
+  getLoginUser();
+  initListDictData();
+  getFormDetail();
+});
+</script>

+ 8 - 47
secure-producting-vue/src/views/index.vue

@@ -1,62 +1,31 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="8">
-      <el-col :md="12" :sm="24">
-          <el-card shadow="hover" :header="helloStr" style="margin-bottom: 5px">
+    <el-row>
+      <el-col :md="12">
+          <el-card shadow="hover" :header="helloStr">
               <div style="padding-left:20px;">
                   
               </div>
           </el-card>
       </el-col>
-
-        
-      <el-col :md="12" :sm="24">
-        <el-card shadow="hover" header="隐患检查" style="margin-bottom: 5px">
-          <el-table :data="listMineGrid" stripe style="width: 100%">
-            <el-table-column prop="checkFormName" label="检查表信息" :show-overflow-tooltip="true">
-              <template #default="scope">
-                {{ scope.row.gridName + ' - ' + scope.row.checkFormName }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="checkStatusTxt" label="状态" />
-            <el-table-column label="操作">
-              <template #default="scope">                                
-                <el-button
-                  v-if="scope.row.checkStatus === 1"
-                  link
-                  type="primary"
-                  @click="handleDetail(scope.row)"
-                >查看</el-button>
-                <el-button
-                  link
-                  type="primary"
-                  icon="Edit"
-                  @click="handleDoForm(scope.row)"
-                >填报</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-card>
+      
+      <el-col :md="12" style="margin-top:-20px;">
+        <my-grid-and-check></my-grid-and-check>
       </el-col>
     </el-row>
   </div>
 </template>
 
-<style scoped>
-.plan-record{margin-left:5px;width:100px;text-align:left;}
-</style>
-
 <script setup name="Index">
+
 import { getUserProfile } from '@/api/system/user.js';
 import { ref } from 'vue';
-import { EPatrolResult } from '@/utils/enums.js';
-import { listMine } from '@/api/grid/GridIndex.js';
+import MyGridAndCheck from '@/views/grid/components/MyGridAndCheck';
 
 const { proxy } = getCurrentInstance();
 
 const TITLE = import.meta.env.VITE_APP_TITLE;
 
-const listMineGrid = ref([]);
 const loginUser = ref({});
 const loginUserName = ref('');
 const helloStr = ref('');
@@ -76,12 +45,4 @@ onMounted(async () => {
     // 登录信息
     getLoginUser();
 });
-
-function getListPerson() {
-  listMine().then((response) => {
-    listMineGrid.value = response.data;
-  });
-}
-
-getListPerson();
 </script>

+ 5 - 1
sql/20240814.sql

@@ -349,6 +349,7 @@ CREATE TABLE "SECURE_PRODUCTING"."SP_CHECK_RECORD"(
   "RECTIFY_SUBMIT_TIME" BIGINT NOT NULL DEFAULT 0,
   "RECTIFY_DEADLINE" BIGINT NOT NULL DEFAULT 0,
   "STATUS" TINYINT NOT NULL DEFAULT 0,
+  "REMARK" VARCHAR(500) NOT NULL DEFAULT '',
   "CREATE_TIME" BIGINT NOT NULL DEFAULT 0,
   "UPDATE_TIME" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(),
   "CREATE_BY" VARCHAR(50) NOT NULL DEFAULT '',
@@ -393,6 +394,7 @@ COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."HAS_RECTIFY_PLAN" IS '
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."RECTIFY_SUBMIT_TIME" IS '整改措施提交时间';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."RECTIFY_DEADLINE" IS '整改期限';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."STATUS" IS '状态 ECheckFormStatus';
+COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."REMARK" IS '备注';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."CREATE_TIME" IS '数据创建时间';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."UPDATE_TIME" IS '最后更新时间';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD"."CREATE_BY" IS '数据创建人';
@@ -420,7 +422,8 @@ CREATE TABLE "SECURE_PRODUCTING"."SP_CHECK_RECORD_ITEM"(
   "CHECK_TIME" BIGINT NOT NULL DEFAULT 0,
   "CHECK_PERSON" VARCHAR(50) NOT NULL DEFAULT '',
   "CHECK_RESULT" TINYINT NOT NULL DEFAULT 0,
-  "RECTIFY_PLAN" VARCHAR(20000) NOT NULL DEFAULT '',
+  "DANGER_DESCRIPTION" VARCHAR(500) NOT NULL DEFAULT '',
+  "RECTIFY_PLAN" VARCHAR(8000) NOT NULL DEFAULT '',
   "RECTIFY_SUBMIT_TIME" BIGINT NOT NULL DEFAULT 0,
   "RECTIFY_DEADLINE" BIGINT NOT NULL DEFAULT 0,
   "RECTIFY_STATUS" TINYINT NOT NULL DEFAULT 0,
@@ -459,6 +462,7 @@ COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."ITEM_NAME" IS '
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."CHECK_TIME" IS '检查时间';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."CHECK_PERSON" IS '检查人员';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."CHECK_RESULT" IS '检查结果 ECheckResult';
+COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."DANGER_DESCRIPTION" IS '隐患描述';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."RECTIFY_PLAN" IS '整改措施';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."RECTIFY_SUBMIT_TIME" IS '整改措施提交时间';
 COMMENT ON COLUMN "SECURE_PRODUCTING". "SP_CHECK_RECORD_ITEM"."RECTIFY_DEADLINE" IS '整改期限';