123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- 'use strict';
- const Schema = require('mongoose').Schema;
- const moment = require('moment');
- const metaPlugin = require('naf-framework-mongoose-free/lib/model/meta-plugin');
- const { ObjectId } = require('mongoose').Types;
- // 基本信息
- const basic = new Schema({
- achieve_name: { type: String }, // 成果名称
- achieve_type: { type: Array }, // 成果类别
- achieve_num: { type: String }, // 成果编号
- achieve_date: { type: String }, // 成果取得时间
- achieve_form: { type: Array }, // 成果形式
- apply_personal: { type: String }, // 申请人
- apply_phone: { type: String }, // 申请人
- apply_company: { type: String }, // 申请单位
- address: { type: String }, // 地址
- apply_nature: { type: String }, // 申请单位/申请人属性
- contacts: { type: String }, // 联系人
- phone: { type: String }, // 联系电话
- email: { type: String }, // 邮箱
- fax: { type: String }, // 传真
- objective: { type: String }, // 评价目的
- stage: { type: String }, // 成果所处阶段
- output: { type: String }, // 经济效益产值
- profit: { type: String }, // 经济效益利润
- revenue: { type: String }, // 经济效益税收
- // 2021-04-13添加
- cert_jfh: { type: String }, // 吉发号
- cert_num: { type: String }, // 第几号
- cert_sign: { type: String }, // 签字
- szd: { type: String }, // 所在地
- yb: { type: String }, // 邮编
- ls: { type: String }, // 隶属
- oneCom_name: { type: String }, // 参加单位1——名称
- oneCom_szd: { type: String }, // 参加单位1——所在地
- twoCom_name: { type: String }, // 参加单位2——名称
- twoCom_szd: { type: String }, // 参加单位2——所在地
- shxy: { type: String }, // 社会效益
- // 国家奖励
- gjjl_num: { type: String }, // 国家奖励项
- gjjl_name: { type: String }, // 国家奖励名称
- gjjl_grade: { type: String }, // 国家奖励等级
- sjjl_num: { type: String }, // 省级奖励项
- sjjl_name: { type: String }, // 省级奖励名称
- sjjl_grade: { type: String }, // 省级奖励等级
- // 计划支持
- gjjh_num: { type: String }, // 国家计划项
- gjjh_money: { type: String }, // 国家计划经费
- sjjh_num: { type: String }, // 省级计划项
- sjjh_money: { type: String }, // 省级计划经费
- achieve_influence: { type: Array }, // 成果的影响及作用
- });
- basic.index({ id: 1 });
- basic.index({ achieve_num: 1 });
- // 内容简介
- const brief = new Schema({
- achieve_brief: { type: String }, // 成果简介
- field: { type: String }, // 应用领域和技术原理
- kpi_index: { type: String }, // 性能指标
- compare: { type: String }, // 与国内外同类技术比较
- advanced: { type: String }, // 成果的创造性,先进性
- sense: { type: String }, // 作用意义
- prospect: { type: String }, // 推广应用的范围,条件和前景
- opinion: { type: String }, // 存在的问题和改进意见
- });
- brief.index({ id: 1 });
- // 主研人员名单
- const research = new Schema({
- name: { type: String }, // 姓名
- gender: { type: String }, // 性别
- card: { type: String }, // 证件号码
- birth: { type: String }, // 出生年月
- age: { type: String }, // 年龄
- education: { type: String }, // 文化程度
- degree: { type: String }, // 学位
- major: { type: String }, // 从事专业
- zw: { type: String }, // 职务
- zc: { type: String }, // 职称
- company: { type: String }, // 工作单位
- abroad: { type: String }, // 是否留学归国
- work: { type: String }, // 项目中所承担的主要工作
- devote: { type: String }, // 对成果创造性贡献
- phone: { type: String }, // 电话
- email: { type: String }, // 邮箱
- });
- research.index({ id: 1 });
- // 委托方提供资料清单
- const datalist = new Schema({
- work_report: { type: Array }, // 工作报告(必备)
- techol_report: { type: Array }, // 技术报告(必备)
- compare_report: { type: Array }, // 国内外对比报告(必备)
- benefit: { type: Array }, // 经济效益分析(必备)
- science_report: { type: Array }, // 科技查新报告(必备)
- techol_detect_report: { type: Array }, // 技术检测报告
- user_prove: { type: Array }, // 用户证明
- patent_cert: { type: Array }, // 专利证书
- software_copyright: { type: Array }, // 软著
- treatise: { type: Array }, // 论文
- gf: { type: Array }, // 工法
- company_standard: { type: Array }, // 企业标准等证明材料
- });
- datalist.index({ id: 1 });
- // 上传文件
- const file = new Schema({
- page5: { type: Array }, // 现场测试(检测,测产)意见
- page6: { type: Array }, // 评价意见
- nameList: { type: Array }, // 评价专家组名单
- });
- file.index({ id: 1 });
- // 成果评价申请表
- const apply = {
- user_id: { type: String }, // 关联用户
- status: { type: String, default: '0' }, // 状态
- // 1=>初审通过(待评分);-1=>初审失败
- // 2=>评分通过(待缴费);-2=>评分失败
- // 3=>已缴费(状态)
- // 4=>补充资料
- // 5=>会审通过;-5=>会审失败(不能改了,没机会了)
- // 6=>证书发放
- basic: { type: basic },
- brief: { type: brief },
- research: { type: [research] },
- datalist: { type: datalist },
- file: { type: file, default: {} }, // 上传文件
- remark: { type: String, maxLength: 200 },
- create_time: {
- type: String,
- default: moment().format('YYYY-MM-DD HH:mm:ss'),
- },
- };
- const schema = new Schema(apply, { toJSON: { virtuals: true } });
- schema.index({ id: 1 });
- schema.index({ user_id: 1 });
- schema.index({ status: 1 });
- schema.index({ 'meta.createdAt': 1 });
- schema.plugin(metaPlugin);
- module.exports = (app) => {
- const { mongoose } = app;
- return mongoose.model('Apply', schema, 'apply');
- };
|