2019-10-23 赵强 ssrf_contract新增字段contractType;
2019-10-23 张健 修改SSRF_PURCHASE_CONTRACT"中"DEVICE_OWNER_ID" 字段长度为65
2019-10-23 鲁鑫 SSRF_PURCHASE_APP_ITEM_CG 中新增 AVAILABLE_VALUE，预算余额

2019-10-28 张健 修改SSRF_PURCHASE_APPROVAL中 BUDGET_NAME 字段长度为 128
2019-10-28 张健 修改SSRF_PURCHASE_APPROVAL中 BUDGET_CODE 字段长度为 64
2019-10-30 张健 添加SSRF_PURCHASE_MONEY_USED 字段 USE_VALUE 实际使用金额 类型为number
2019-10-30 张健 添加SSRF_Quality_Issue 字段 project_full_code  类型为String

2020-03-11 鲁鑫 修改修改SSRF_PURCHASE_APPROVAL中 quantity 字段为 quantityNum 类型为number
SQL语句：alter table ssrf_purchase_approval rename column quantity to quantity_num;
2020-03-11 赵强 角色管理 大科学中心下面新建角色：综合管理部(zhglb);运行类下面的大装置部改为大科学装置管理中心

2020-03-12 鲁鑫 SSRF_PURCHASE_MONEY_APPLY 新增 tmpId 类型为VARCHAR2(128)
SQL语句：alter table SSRF_PURCHASE_MONEY_APPLY add tmpId varchar(128);

2020-03-16 赵强 SSRF_YX_SETTLEMENT表新增字段financy_subject_code(课题卡号) VARCHAR2(50)
sql：alter table SSRF_YX_SETTLEMENT add financy_subject_code varchar(50);
重新执行存储过程P_CALC_YX_SETTLEMENT，脚本如下：
create or replace procedure P_CALC_YX_SETTLEMENT(P_ANNUAL  in VARCHAR,
                                                 P_PROJECT varchar) is

  --？？？？？
  v_collective_code varchar(50);
  --？？(？？)
  v_system_code varchar(50);

  v_collectivity_name varchar(50);
  v_quantity          Integer;
  v_price             Number;
  v_budget_value      Number;
  v_system_name       varchar(50);
  v_budget_code       varchar(30);
  v_budget_name       varchar(100);
  v_maintain_type     varchar(30);
  --？？？？？？？？
  v_act_pay_amount number;

  v_uuid varchar(32);

  errnum number;
  errstr varchar(3900);

begin

  --？？？？？？？

  delete from SSRF_YX_SETTLEMENT t where t.period = P_ANNUAL  and t.project_code =P_PROJECT;

  declare
    cursor Cursor_YX_Hierarchy is
      select o.CODE, name, level
        from sa_oporg o
      connect by prior o.id = o.parent_id
             and org_kind_id != 'psm'
             and org_kind_id != 'pos'
       start with o.code = P_PROJECT;

    --output

    ----- 1:？？ (？？？？？？？)

    ---------2:？？？(SA:？？？ SC:？？？？,SG:？？？？？,PG:？？？？？)

    ------------3:？？

  begin

    FOR V_Hierarchy IN Cursor_YX_Hierarchy

     LOOP

      -- dbms_output.Put_line(to_char(V_PaymentPlan.start_rule,
      --              'yyyy-mm-dd'));
      --
      if V_Hierarchy.level = 1 then

        continue; --？？

      else
        if V_Hierarchy.level = 2 then

          v_collective_code := V_Hierarchy.code;
        else
          v_system_code := V_Hierarchy.code;
        end if;

      end if;

      --？？？？？？？？？？？
      declare
        cursor Cursor_System_Budget is
          select r.collectivity_name,
                 r.system_name,
                 r.code,
                 r.name,
                 r.equipment_type,
                 r.quantity,
                 r.price,
                 r.value

            from ssrf_budget_record r
           where system_code = v_system_code
             and collectivity_code = v_collective_code;

      begin

        FOR V_Budget IN Cursor_System_Budget

         LOOP
          v_budget_code := v_Budget.code;

          v_collectivity_name := V_Budget.collectivity_name;
          v_quantity          := V_Budget.quantity;
          v_price             := V_Budget.price;
          v_budget_value      := V_Budget.value;
          v_system_name       := V_Budget.system_name;
          v_budget_name       := V_Budget.name;
          v_maintain_type     := V_Budget.equipment_type;

          --？？？？？？？？？？

          declare
            cursor cur_plan_used_budget is
              select BILL_CODE, USE_VALUE
                from ssrf_purchase_money_used u
               inner join ssrf_purchase_money_apply a on u.MONEY_APPLY_ID = a.id
               where BUDGET_CODE = v_budget_code
                 and a.status = 3;

          begin
            for plan_used_budget in cur_plan_used_budget

             loop
              --？？？？？？？？？？;

              select nvl(sum(PAY_MONEY), 0)
                into v_act_pay_amount
                from SSRF_PAY_RECORD
               where code = v_budget_code;
              select sys_guid() into v_uuid from dual;

              insert into SSRF_YX_SETTLEMENT
                (id,
                 collectivity_name,
                 collectivity_code,
                 system_code,
                 purchase_contract_code,
                 BUDGET_code,
                 BUDGET_name,
                 maintain_type,
                 budget_quantity,
                 budget_value,
                 price,
                 act_quantity,
                 act_value,
                 act_price,
                 quantity_diff,
                 value_diff,
                 CREATE_DATE,
                 period,
                 plan_payment_bill_code,
                 plan_use_amount,
                 project_code,
                 system_name)
              values
                (v_uuid,
                 v_collectivity_name,
                 v_collective_code,
                 v_system_code,
                 '', --？？？？
                 v_budget_code,
                 v_budget_name,
                 v_maintain_type,
                 v_quantity,
                 v_budget_value,
                 v_price,
                 0, --'？？？？？？',
                 v_act_pay_amount, --？？？？
                 0, --？？
                 0, --？？？
                 v_act_pay_amount - v_budget_value, --？？？
                 sysdate,
                 P_ANNUAL,
                 plan_used_budget.BILL_CODE,
                 plan_used_budget.USE_VALUE,
                 P_PROJECT,
                 v_system_name
                 );

            end loop; --third loop;

          end;

        end loop; --second

      end;

    end loop; --first

  end;

  --commit;
--exception
 --when others then
   -- errnum := SQLCODE;
  --  errstr := substr(SQLERRM(errnum), 1, 3900);
  -- dbms_output.Put_line('errocde:' || ':' || errnum || ',cause:' ||
                 --      errstr);
  --  dbms_output.put_line(dbms_utility.format_error_stack);

  --  dbms_output.put_line(dbms_utility.format_error_backtrace);
  --  rollback;

end P_CALC_YX_SETTLEMENT;

2020-03-16 赵强 SSRF_CONTRACT_TRACE_REPORT表新增字段belong_date(月报年月)  varchar2(30)
sql：alter table SSRF_CONTRACT_TRACE_REPORT add belong_date varchar2(30);
SSRF_GENERAL_ACCEPTANCE_APPROV表新增字段total_accept_number,now_accept_number 类型 number
alter table SSRF_GENERAL_ACCEPTANCE_APPROV add total_accept_number number;
alter table SSRF_GENERAL_ACCEPTANCE_APPROV add now_accept_number number;

2020-04-03 鲁鑫 ssrf_purchase_approval表 新增字段COMMEND_CAUSE_STANDARD(标准时选择理由陈述) COMMEND_CAUSE_NOSTANDARD(非标时选择理由陈述)
                                                USAGE_STANDARD（标准时设备用途） USAGE_NOSTANDARD（非标时设备用途）
alter table ssrf_purchase_approval add COMMEND_CAUSE_STANDARD varchar2(500);
alter table ssrf_purchase_approval add COMMEND_CAUSE_NOSTANDARD varchar2(500);
alter table ssrf_purchase_approval add USAGE_STANDARD varchar2(500);
alter table ssrf_purchase_approval add USAGE_NOSTANDARD varchar2(500);

2020-04-04 鲁鑫 SSRF_BATCH_ACCEPTANCE_APPROVAL表新增字段TESTING_LEADER(测试组长)TECHNOLOGY_LEADER(技术测试组长)
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL add TESTING_LEADER varchar2(32);
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL add TECHNOLOGY_LEADER varchar2(32);
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL add total_accept_number number;
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL add now_accept_number number;

2020-04-04 赵强 修改表SSRF_QUALITY_ISSUE中字段purchase_contract_code的长度 解决该字段长度不够导致保存表单失败的问题；
alter table SSRF_QUALITY_ISSUE modify(purchase_contract_code VARCHAR2(108));

2020-04-04 鲁鑫 增加表SSRF_DEVELOP_MEMBERS 测试人员列表(硬线验收申请需要添加测试人员)
                 create table SSRF_DEVELOP_MEMBERS
                 (
                   id                  VARCHAR2(32) not null,
                   apply_acceptance_id VARCHAR2(32),
                   member_name         VARCHAR2(32),
                   position            VARCHAR2(32),
                   task                VARCHAR2(128),
                   start_date          DATE,
                   end_date            DATE,
                   version             VARCHAR2(32)
                 )
                 tablespace USERS
                   pctfree 10
                   initrans 1
                   maxtrans 255
                   storage
                   (
                     initial 64K
                     next 1M
                     minextents 1
                     maxextents unlimited
                   );

2020-04-05 鲁鑫 修改三张表中字段purchase_contract_code的长度 解决该字段长度不够导致保存表单失败的问题
alter table SSRF_GENERAL_ACCEPTANCE_APPROV modify(purchase_contract_code VARCHAR2(64));
alter table SSRF_ACCEPTANCE_APPROVAL modify(purchase_contract_code VARCHAR2(64));
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL modify(purchase_contract_code VARCHAR2(64));

2020-04-05 鲁鑫 修改视图v_ssrf_yxacceptanceapply
create or replace view v_ssrf_yxacceptanceapply as
select t.ID                      as purchaseApprovalId,
       t.BILL_CODE               as purchaseApprovalCode,
       t.STANDARD_KIND,
       c.AMOUNT_CONTRACT_SIGNED,
       t.PROJECT_CODE,
       t.PROJECT_NAME,
       t.PROJECT_TYPE,
       t.PURCHASE_CHANNEL,
       t.PRODUCT_NAME_ZH         as productName,
       t.PRODUCT_NAME_EN         as productNameEn,
       t.DEVICE_OWNER,
       t.DEVICE_OWNER_PHONE,
       t.MONETARY_UNIT_TYPE,
       t.PURCHASE_KIND,
       t.BUDGET_FLAG,
       t.QUANTITY_NUM,
       t.PROJECT_FULL_CODE,
       t.SUPPLIER_NAME,
       t.PROJECT_ORG_ID,
       t.SYSTEM_ID,
       t.SYSTEM_NAME             as professional,
       c.ID                      as purchaseContractId,
       c.PROVIDER_SELLER,
       c.AMOUNT_FOREIGN_CURRENCY,
       c.currency,
       c.CONTRACT_NUMBER,
       c.CONTRACT_NAME,
       c.fillin_date,
       c.contract_date,
       c.BILL_CODE               as code,
       (case when t.standard_kind = 'standard' and 20000 <= c.AMOUNT_CONTRACT_SIGNED and c.AMOUNT_CONTRACT_SIGNED < 1000000 then 1 else 0 end ) s1,
       (case when t.standard_kind = 'nostandard' and 10000 <= c.AMOUNT_CONTRACT_SIGNED and c.AMOUNT_CONTRACT_SIGNED < 1000000 then 1 else 0 end) s2,
       (case when c.AMOUNT_CONTRACT_SIGNED >= 1000000 then 1 else 0 end) s3
  from  SSRF_PURCHASE_CONTRACT c
  left join SSRF_PURCHASE_APPROVAL t
    on t.ID = c.PURCHASE_APPROVAL_ID
 where c.status = 3
       --and c.PROJECT_CODE ='SHINE-Y'
   and c.id not in
       (select m.PURCHASE_CONTRACT_ID from SSRF_GENERAL_ACCEPTANCE_APPROV m)
   and c.id not in
       (select m.PURCHASE_CONTRACT_ID from SSRF_ACCEPTANCE_APPROVAL m)
   and c.id not in
       (select m.PURCHASE_CONTRACT_ID from SSRF_BATCH_ACCEPTANCE_APPROVAL m);


正式环境需要按照ssrf3重新配置质量报告流程审批规则 
2020.04.06 赵强 新增数据字典 onsiteDesc 驻场情况 1：是；2：否
正式环境需要按照ssrf3重新配置质量问题汇总分析流程审批规则

2020.04.09 鲁鑫 SSRF_BATCH_ACCEPTANCE_APPROVAL表新增字段apply_acceptance_id(验收申请id)
alter table SSRF_BATCH_ACCEPTANCE_APPROVAL add apply_acceptance_id VARCHAR2(32);

2020.04.21 鲁鑫 SSRF_PURCHASE_APPROVAL 新增字段specification varchar(128)
alter table SSRF_PURCHASE_APPROVAL add specification text;


4.22 鲁鑫 新增表ssrf_pay_record_total

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for ssrf_pay_record_total
-- ----------------------------
DROP TABLE IF EXISTS `ssrf_pay_record_total`;
CREATE TABLE `ssrf_pay_record_total`  (
  `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id',
  `CODE` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'code',
  `NAME` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'name',
  `VALUE` decimal(65, 30) NULL DEFAULT NULL COMMENT 'value',
  `VERSION` decimal(65, 30) NULL DEFAULT NULL COMMENT 'version',
  `STATUS` decimal(65, 30) NULL DEFAULT NULL COMMENT 'status',
  `REMARK` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'remark',
  `CREATED_BY_ID` varchar(65) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'created_By_Id',
  `CREATED_BY_NAME` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'created_By_Name',
  `CREATED_DATE` datetime(0) NULL DEFAULT NULL COMMENT 'created_Date',
  `LAST_MODIFIED_BY_ID` varchar(65) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'last_Modified_By_Id',
  `LAST_MODIFIED_BY_NAME` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'last_Modified_By_Name',
  `LAST_MODIFIED_DATE` datetime(0) NULL DEFAULT NULL COMMENT 'last_Modified_Date',
  `PURCHASE_NUMBER` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？',
  `CONTRACT_NUMBER` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？',
  `MONEY_NUMBER` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？',
  `PAY_PROOF` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '？？？？？？ ',
  `PAY_DATE` datetime(0) NULL DEFAULT NULL COMMENT '？？？？',
  `PAY_MONEY` decimal(65, 2) NULL DEFAULT NULL COMMENT '？？？？',
  `IMPORT_DATE` datetime(0) NULL DEFAULT NULL COMMENT '？？？？',
  `BORROW_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `REIM_BURSE_TYPE` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `REIM_BURSE` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `COMPANY_NAME` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '？？？？？？',
  `PURCHASE_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？id',
  `CONTRACT_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？id',
  `MONEY_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？id',
  `CONTRACT_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `FINISHED_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `UNFINISHED_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `PLAN_DATE` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？？',
  `PLAN_MONEY` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？？',
  `PLAN_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？？',
  `USED_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？',
  `SYSTEM_NAME` varchar(132) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？',
  `SYSTEM_ID` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '？？？id',
  `APPLY_ID` varchar(65) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？id',
  `APPLY_NAME` varchar(132) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？？？',
  `FINANCY_SUBJECT_CODE` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？',
  `ASSET_CODE` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？？？',
  `ASSET_DATE` datetime(0) NULL DEFAULT NULL COMMENT '？？？？？？',
  `ASSET_MONEY` decimal(65, 30) NULL DEFAULT NULL COMMENT '？？？？？？',
  `CONTRACT_NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '？？？？',
  `ACCOUNT_DATE` datetime(0) NULL DEFAULT NULL COMMENT '？？？？？？'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '？？？？？？？' ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

新建视图v_system_rate_copy1(系统执行率)
v_collect_rate_copy1(分总体执行率)
---------------修改供应商的fieldId和fieldName的长度----------zq 2022-1-10
alter table SSRF_COMMEND_PROVIDER modify column file_id varchar(300);
alter table SSRF_COMMEND_PROVIDER modify column file_name varchar(300);
alter table SSRF_COMMEND_PROVIDER add column attr_ids varchar(320);
----------------------新增数据字典：月报类型----------zq-2022-1-12---------------------------------

alter table SSRF_PURCHASE_CONTRACT add column month_report_type varchar(32);
INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('a294d598734711ec8ddc00ffae7bbf48', 'monthReportType', '月报类型', 'C9A4174FC3114449907B20EEF9B88F7D', 1, 1, '', 13765063, NULL);

INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a294d598734711ec8ddc00ffae7bbf48', 'a296cd89734711ec8ddc00ffae7bbf48', '合同类型：非标加工、加工、进口合同/非标准、技术开发', '1', 1, '', '', 1, 13765072);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a294d598734711ec8ddc00ffae7bbf48', 'a297eeb4734711ec8ddc00ffae7bbf48', '合同类型：购销、进口合同/标准', '2', 1, '', '', 2, 13765073);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a294d598734711ec8ddc00ffae7bbf48', 'a2990514734711ec8ddc00ffae7bbf48', '合同类型：安装、施工合同', '3', 1, '', '', 3, 13765074);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a294d598734711ec8ddc00ffae7bbf48', 'a29a56e0734711ec8ddc00ffae7bbf48', '合同类型：维修、维护、保养', '4', 1, '', '', 4, 13765075);


---------------采购表新增供货商审查标准相关字段zq2022-1-14------------------------------------------

alter table SSRF_PURCHASE_APPROVAL add column company_level varchar(100);
alter table SSRF_PURCHASE_APPROVAL add column certification_level varchar(100);
alter table SSRF_PURCHASE_APPROVAL add column install_license int(10) not null default 0;
alter table SSRF_PURCHASE_APPROVAL add column plant_equipment varchar(1000);
alter table SSRF_PURCHASE_APPROVAL add column check_equipment varchar(1000);
alter table SSRF_PURCHASE_APPROVAL add column process_place varchar(1000);
alter table SSRF_PURCHASE_APPROVAL add column quality_assurance_ability varchar(10);
alter table SSRF_PURCHASE_APPROVAL add column process_experience int(10) not null default 0;
alter table SSRF_PURCHASE_APPROVAL add column personnel_structure varchar(1000);
alter table SSRF_PURCHASE_APPROVAL add column quality_assurance_step varchar(1000);
alter table SSRF_PURCHASE_APPROVAL add column process_experience_detail varchar(1000);



---------综合查询视图修改 zq 2022-1-20----------------
去掉最后的order by语句解决多字段排序的问题：去掉ORDER BY `p`.`PURCHASE_APPROVAL_CODE`
计划付款时间:金额改为计划金额(计划付款时间)，将原语句
concat( date_format( `cp`.`PAYMENT_DATE`, '%y-%m-%d' ), ':', `cp`.`PAYMENT_AMOUNT` )
修改为：
concat( `cp`.`PAYMENT_AMOUNT`, '(', date_format( `cp`.`PAYMENT_DATE`, '%y-%m-%d' ) ,')')

------处理进口采购流程最后新增一个科研条件处审批的节点的功能 zq-2022-1-21----------
1、系统参数菜单新增2个参数：
kytjcFullId  科研条件处fullId /0B1E0541901640148D459BE94CAFF6C1.ogn/3CFD6BCC270E4681AB7962B02A9AAA6A.ogn/1A59209293AF43EA9CA19740496B76E6.dpt/32058A7FEE184FC080A75D1B5DFC3427.pos/A028E5E3FCA516FFE050007F01005D5B@32058A7FEE184FC080A75D1B5DFC3427.psm
kytjcFullName 科研条件处fullName 上海光源/管理机构/职能部门/资产/王丰
2、采购申请流程所有流程审批的最后新增一个节点：科研条件处审批  管理员函数 findKytjcUserId(@bizId) 非必经节点

------根据预算对应的系统编码处理预算中system_full_id不完整的值
------采购变更有些分总体名称没有复制上的，需处理
-----------------添加定时器表zq-----2022.2.10--------------------
1.create table QRTZ_TRIGGERS
  (
    sched_name     VARCHAR(120) not null,
    trigger_name   VARCHAR(200) not null,
    trigger_group  VARCHAR(200) not null,
    job_name       VARCHAR(200) not null,
    job_group      VARCHAR(200) not null,
    description    VARCHAR(250),
    next_fire_time bigint(13),
    prev_fire_time bigint(13),
    priority       bigint(13),
    trigger_state  VARCHAR(16) not null,
    trigger_type   VARCHAR(8) not null,
    start_time     bigint(13) not null,
    end_time       bigint(13),
    calendar_name  VARCHAR(200),
    misfire_instr  int(2),
    job_data       BLOB
  )
2.create table QRTZ_JOB_DETAILS
    (
      sched_name        VARCHAR(120) not null,
      job_name          VARCHAR(200) not null,
      job_group         VARCHAR(200) not null,
      description       VARCHAR(250),
      job_class_name    VARCHAR(250) not null,
      is_durable        VARCHAR(1) not null,
      is_nonconcurrent  VARCHAR(1) not null,
      is_update_data    VARCHAR(1) not null,
      requests_recovery VARCHAR(1) not null,
      job_data          BLOB
    )
3.create table QRTZ_LOCKS
      (
        sched_name VARCHAR(120) not null,
        lock_name  VARCHAR(40) not null
      )
4.create table QRTZ_PAUSED_TRIGGER_GRPS
        (
          sched_name    VARCHAR(120) not null,
          trigger_group VARCHAR(200) not null
        )
5.create table QRTZ_CRON_TRIGGERS
     (
       sched_name      VARCHAR(120) not null,
       trigger_name    VARCHAR(200) not null,
       trigger_group   VARCHAR(200) not null,
       cron_expression VARCHAR(120) not null,
       time_zone_id    VARCHAR(80)
     )
6.create table QRTZ_CRON_TRIGGERS
  (
    sched_name      VARCHAR(120) not null,
    trigger_name    VARCHAR(200) not null,
    trigger_group   VARCHAR(200) not null,
    cron_expression VARCHAR(120) not null,
    time_zone_id    VARCHAR(80)
  )
7.create table QRTZ_SCHEDULER_STATE
  (
    sched_name        VARCHAR(120) not null,
    instance_name     VARCHAR(200) not null,
    last_checkin_time bigint(13) not null,
    checkin_interval  bigint(13) not null
  )
8.create table QRTZ_FIRED_TRIGGERS
  (
    sched_name        VARCHAR(120) not null,
    entry_id          VARCHAR(95) not null,
    trigger_name      VARCHAR(200) not null,
    trigger_group     VARCHAR(200) not null,
    instance_name     VARCHAR(200) not null,
    fired_time        bigint(13) not null,
    sched_time        bigint(13) not null,
    priority          bigint(13) not null,
    state             VARCHAR(16) not null,
    job_name          VARCHAR(200),
    job_group         VARCHAR(200),
    is_nonconcurrent  VARCHAR(1),
    requests_recovery VARCHAR(1)
  )
9.create table QRTZ_BLOB_TRIGGERS
  (
    sched_name    VARCHAR(120) not null,
    trigger_name  VARCHAR(200) not null,
    trigger_group VARCHAR(200) not null,
    blob_data     BLOB
  )
10.create table QRTZ_CALENDARS
   (
     sched_name    VARCHAR(120) not null,
     calendar_name VARCHAR(200) not null,
     calendar      BLOB not null
   )
11.create table QRTZ_SIMPLE_TRIGGERS
   (
     sched_name      VARCHAR(120) not null,
     trigger_name    VARCHAR(200) not null,
     trigger_group   VARCHAR(200) not null,
     repeat_count    bigint(7) not null,
     repeat_interval bigint(12) not null,
     times_triggered bigint(10) not null
   )
12.create table QRTZ_SIMPROP_TRIGGERS
   (
     sched_name    VARCHAR(120) not null,
     trigger_name  VARCHAR(200) not null,
     trigger_group VARCHAR(200) not null,
     str_prop_1    VARCHAR(512),
     str_prop_2    VARCHAR(512),
     str_prop_3    VARCHAR(512),
     int_prop_1    bigint(10),
     int_prop_2    bigint(10),
     long_prop_1   bigint(13),
     long_prop_2   bigint(13),
     dec_prop_1    bigint(13),
     dec_prop_2    bigint(13),
     bool_prop_1   VARCHAR(1),
     bool_prop_2   VARCHAR(1)
   )

--------供应商表新增字段：是否法人单位关联企业 zq 2022-2-15------
alter table SSRF_PROVIDER add column is_gyy_company int(10) not null default 0;

INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('da9c582d8e2711ec8bee00ffae7bbf48', 'isGyyCompany', '是否法人单位关联企业', '91505D912D4AFE92E050007F010001A1', 1, 1, '', 13770438, NULL);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('da9c582d8e2711ec8bee00ffae7bbf48', 'da9f4ba58e2711ec8bee00ffae7bbf48', '是', '1', 1, '', '', 1, 13770445);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('da9c582d8e2711ec8bee00ffae7bbf48', 'daa0ab7f8e2711ec8bee00ffae7bbf48', '否', '2', 1, '', '', 2, 13770446);

--------采购供应商中间表新增字段：是否法人单位关联企业 zq 2022-2-15------
alter table SSRF_COMMEND_PROVIDER add column is_gyy_company int(10) not null default 0;

配置交易审批单附件

providerFiles 关联交易审批单附件

pfile1 关联交易审批单附件 是  10


新增数据字典质量保证能力
INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('a3a48e2092f611ec9c6600ff763ef7c3', 'qualityAssuranceAbility', '质量保证能力', 'C9A4174FC3114449907B20EEF9B88F7D', 1, 1, '', 13770519, NULL);

INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3a48e2092f611ec9c6600ff763ef7c3', '356ef03497a011ecae4500ff763ef7c3', '质量体系认证证书', '2', 1, '', '', 3, 13771756);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3a48e2092f611ec9c6600ff763ef7c3', '356ffe3097a011ecae4500ff763ef7c3', '有可靠的质量保障措施', '3', 1, '', '', 4, 13771757);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3a48e2092f611ec9c6600ff763ef7c3', 'a3a58b6a92f611ec9c6600ff763ef7c3', '产品认证证书', '1', 1, '', '', 1, 13771751);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3a48e2092f611ec9c6600ff763ef7c3', 'a3a687a992f611ec9c6600ff763ef7c3', '无', '0', 0, '', '', 2, 13771743);


新增资质等级 数据字典
INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('a3d3fb5a92e111ec9c6600ff763ef7c3', 'certificationLevel', '资质等级', 'C9A4174FC3114449907B20EEF9B88F7D', 1, 1, '', 13770391, NULL);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3d3fb5a92e111ec9c6600ff763ef7c3', 'a3d6491e92e111ec9c6600ff763ef7c3', '低', '1', 1, '', '', 1, 13770399);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3d3fb5a92e111ec9c6600ff763ef7c3', 'a3d7580892e111ec9c6600ff763ef7c3', '中', '2', 1, '', '', 2, 13770400);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('a3d3fb5a92e111ec9c6600ff763ef7c3', 'a3d8836392e111ec9c6600ff763ef7c3', '高', '3', 1, '', '', 3, 13770401);

------新增企业等级数据字典 zq 2022-1-18------
INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('47625e77782b11ec9e9100ffae7bbf48', 'companyLevel', '企业等级', '9', 1, 1, '', 13765943, NULL);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('47625e77782b11ec9e9100ffae7bbf48', '47646281782b11ec9e9100ffae7bbf48', '大型企业', '1', 1, '', '', 1, 13765952);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('47625e77782b11ec9e9100ffae7bbf48', '47659403782b11ec9e9100ffae7bbf48', '中型企业', '2', 1, '', '', 2, 13765953);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('47625e77782b11ec9e9100ffae7bbf48', '4766cc62782b11ec9e9100ffae7bbf48', '小型企业', '3', 1, '', '', 3, 13765954);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('47625e77782b11ec9e9100ffae7bbf48', '4767ff25782b11ec9e9100ffae7bbf48', '微型企业', '4', 1, '', '', 4, 13765955);

新增设计/生产/安装许可证数据字典
13.INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('e17a856b750811ecbc0500ffae7bbf48', 'installLicense', '设计/生产/安装许可证', 'C9A4174FC3114449907B20EEF9B88F7D', 1, 1, '', 13765507, NULL);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('e17a856b750811ecbc0500ffae7bbf48', 'e17bfbc6750811ecbc0500ffae7bbf48', '有', '1', 1, '', '', 1, 13765514);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('e17a856b750811ecbc0500ffae7bbf48', 'e17d38d9750811ecbc0500ffae7bbf48', '无', '2', 1, '', '', 2, 13765515);

类似本项目的加工制造经验 数据字典
INSERT INTO `ssrf`.`sa_dictionary`(`ID`, `CODE`, `NAME`, `FOLDER_ID`, `KIND_ID`, `STATUS`, `REMARK`, `VERSION`, `SEQUENCE`) VALUES ('c7d6ff9392f611ec9c6600ff763ef7c3', 'processExperience', '类似本项目的加工制造经验', 'C9A4174FC3114449907B20EEF9B88F7D', 1, 1, '', 13770544, NULL);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('c7d6ff9392f611ec9c6600ff763ef7c3', 'c7d80dc592f611ec9c6600ff763ef7c3', '必须具备', '1', 1, '', '', 1, 13773120);
INSERT INTO `ssrf`.`sa_dictionarydetail`(`DICTIONARY_ID`, `ID`, `NAME`, `VALUE`, `STATUS`, `TYPE_ID`, `REMARK`, `SEQUENCE`, `VERSION`) VALUES ('c7d6ff9392f611ec9c6600ff763ef7c3', 'c7d947ae92f611ec9c6600ff763ef7c3', '非必须', '0', 1, '', '', 2, 13773121);


#优化查询
sa_dictionarydetail 建立索引code
sa_dictionary 建立索引dictionary_id
ssrf_purchase_money_used 建立索引budget_code
ssrf_contract_trace_report 建立索引contract_id
ssrf_contract_ledger 建立索引 contract_id

#使用kettle更新预算表的system_full_id

表ssrf_purchase_approval_item增加字段 second_flag  varchar(10)

CREATE TABLE `ssrf`.`ssrf_provider_imp`  (
  `ENTITY_CODE` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '??????',
  `NAME` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `IS_OUTSIDE` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'domestic/offshore',
  `COUNTRY` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `LEGAL_PERSON` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `FOUND_TIME` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `AFFILIATION` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STAFF_COUNT` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `GOVERNER_COUNT` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ENGINEER_COUNT` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MANUFACTURE_FACILITY` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `TEST_INSTRUMENT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `POSTAL_CODE` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `OFFICE_PHONE` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `MOBILE` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `ENTITY_TYPE` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '????\nPROVIDER????\nAGENT????\n',
  `EMAIL` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `SUPPLIER_ADDRESS` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `CREATED_BY_ID` varchar(65) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATED_BY_NAME` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATED_DATE` datetime(0) NULL DEFAULT NULL,
  `VERSION` bigint(0) NULL DEFAULT NULL,
  `REMARK` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `STATUS` int(0) NULL DEFAULT NULL,
  `EVALUATION_CONTRACT` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  `INDUSTRY` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `PRODUCT` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `IS_GYY_COMPANY` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0',
  `TMP_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `BATCH_NUMBER` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `message` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '????' ROW_FORMAT = Dynamic;

合同申请增加字段：is_gyy_company ； related_entity

供应商基本信息增加字段：is_gyy_company ；related_entity

表SSRF_PURCHASE_APPROVAL_ITEM增加字段：second_flag

#供应商企业等级划分标准
CREATE TABLE `ssrf`.`ssrf_provider_standard`  (
  `id` int(0) NOT NULL,
  `type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '行业类型',
  `standard_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '行业标准',
  `small_under` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微小企业',
  `small` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小型企业',
  `middle` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '中型企业',
  `big` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '大型企业',
  `status` int(0) NULL DEFAULT NULL COMMENT '状态',
  `version` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

#合同接受数据字段
ALTER TABLE `ssrf`.`ssrf_purchase_contract`
ADD COLUMN `contract_product_name` varchar(255) NULL COMMENT '合同品名' AFTER `related_entity`,
ADD COLUMN `contract_specification` varchar(255) NULL COMMENT '合同规格型号' AFTER `contract_product_name`,
ADD COLUMN `contract_seller` varchar(255) NULL COMMENT 'maifang' AFTER `contract_specification`,
ADD COLUMN `original_manufacturer` varchar(255) NULL COMMENT '原厂商' AFTER `contract_seller`,
ADD COLUMN `material_contract_number` varchar(64) NULL COMMENT '合同号' AFTER `original_manufacturer`,
ADD COLUMN `real_foreign_mount` varchar(32) NULL COMMENT '实际外币金额' AFTER `material_contract_number`,
ADD COLUMN `contract_foregin_unit` varchar(32) NULL COMMENT '单位' AFTER `real_foreign_mount`,
ADD COLUMN `real_plan_mount` varchar(255) NULL COMMENT '实际预付金额' AFTER `contract_foregin_unit`,
ADD COLUMN `pay_method` varchar(32) NULL COMMENT '付款方式' AFTER `real_plan_mount`,
ADD COLUMN `tech_protocol` varchar(255) NULL COMMENT '技术协议' AFTER `pay_method`,
ADD COLUMN `loan_amount` varchar(255) NULL COMMENT '贷款' AFTER `tech_protocol`,
ADD COLUMN `service_charge` varchar(255) NULL COMMENT '手续费' AFTER `loan_amount`,
ADD COLUMN `prepaid_expenses` varchar(255) NULL COMMENT '代垫费用' AFTER `service_charge`,
ADD COLUMN `settlement_amount` varchar(255) NULL COMMENT '结算金额' AFTER `prepaid_expenses`,
ADD COLUMN `refund_amount` varchar(255) NULL COMMENT '退补金额' AFTER `settlement_amount`,
ADD COLUMN `invoice_no` varchar(255) NULL COMMENT '发票号码' AFTER `refund_amount`,
ADD COLUMN `invoice_date` varchar(255) NULL COMMENT '发票日期' AFTER `invoice_no`;

CREATE TABLE `ssrf`.`ssrf_purchase_material`  (
  `ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id',
  `purchase_approval_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '采购流水号',
  `contract_product_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同品名',
  `contract_specification` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同规格型号',
  `contract_seller` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'maifang',
  `original_manufacturer` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原厂商',
  `contract_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同号',
  `real_foreign_mount` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实际外币金额',
  `contract_foregin_unit` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位',
  `real_plan_mount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '实际预付金额',
  `pay_method` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '付款方式',
  `tech_protocol` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '技术协议',
  `loan_amount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '贷款',
  `service_charge` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手续费',
  `prepaid_expenses` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代垫费用',
  `settlement_amount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '结算金额',
  `refund_amount` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退补金额',
  `invoice_no` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票号码',
  `invoice_date` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票日期',
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '？？？？？？' ROW_FORMAT = Dynamic;

20220803
alter table SSRF_PURCHASE_APPROVAL add column err_code varchar(100);
alter table SSRF_PURCHASE_APPROVAL add column err_msg varchar(100);