chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,436 @@
|
||||
-- Downloaded from: https://github.com/oknosoft/windowbuilder-planning/blob/0861330ad94cd7a4755c8ba5ab798d2baf4006f6/server/keys/init/pg.sql
|
||||
--
|
||||
-- PostgreSQL database dump
|
||||
--
|
||||
|
||||
-- Dumped from database version 14.8
|
||||
-- Dumped by pg_dump version 14.8
|
||||
|
||||
-- Started on 2023-08-12 22:07:45 MSK
|
||||
|
||||
SET statement_timeout = 0;
|
||||
SET lock_timeout = 0;
|
||||
SET idle_in_transaction_session_timeout = 0;
|
||||
SET client_encoding = 'UTF8';
|
||||
SET standard_conforming_strings = off;
|
||||
SELECT pg_catalog.set_config('search_path', '', false);
|
||||
SET check_function_bodies = false;
|
||||
SET xmloption = content;
|
||||
SET client_min_messages = warning;
|
||||
SET escape_string_warning = off;
|
||||
SET row_security = off;
|
||||
|
||||
--
|
||||
-- TOC entry 2 (class 3079 OID 2899788)
|
||||
-- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: -
|
||||
--
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3404 (class 0 OID 0)
|
||||
-- Dependencies: 2
|
||||
-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 879 (class 1247 OID 3176553)
|
||||
-- Name: key_type; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.key_type AS ENUM (
|
||||
'order',
|
||||
'product',
|
||||
'layer',
|
||||
'profile',
|
||||
'filling',
|
||||
'glass',
|
||||
'glunit',
|
||||
'layout',
|
||||
'other'
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 861 (class 1247 OID 6144761)
|
||||
-- Name: keys_type; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.keys_type AS (
|
||||
obj uuid,
|
||||
specimen integer,
|
||||
elm integer,
|
||||
region integer
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 885 (class 1247 OID 3698031)
|
||||
-- Name: prod_row; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.prod_row AS (
|
||||
characteristic uuid,
|
||||
quantity integer
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 882 (class 1247 OID 3556323)
|
||||
-- Name: qinfo_type; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.qinfo_type AS (
|
||||
abonent uuid,
|
||||
year integer,
|
||||
branch uuid,
|
||||
barcode bigint,
|
||||
ref uuid,
|
||||
calc_order uuid,
|
||||
characteristic uuid,
|
||||
presentation character varying(200),
|
||||
specimen integer,
|
||||
elm integer,
|
||||
region integer,
|
||||
type public.key_type,
|
||||
leading_product uuid
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 888 (class 1247 OID 5825217)
|
||||
-- Name: refs; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.refs AS ENUM (
|
||||
'doc.calc_order',
|
||||
'doc.planning_event',
|
||||
'doc.work_centers_task',
|
||||
'doc.work_centers_performance',
|
||||
'doc.purchase_order',
|
||||
'doc.debit_cash_order',
|
||||
'doc.credit_cash_order',
|
||||
'doc.credit_card_order',
|
||||
'doc.debit_bank_order',
|
||||
'doc.credit_bank_order',
|
||||
'doc.selling',
|
||||
'doc.purchase',
|
||||
'doc.nom_prices_setup'
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 253 (class 1255 OID 3558639)
|
||||
-- Name: qinfo(character varying); Type: FUNCTION; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
-- FUNCTION: public.qinfo(character varying)
|
||||
|
||||
-- DROP FUNCTION IF EXISTS public.qinfo(character varying);
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.qinfo(code character varying) RETURNS qinfo_type
|
||||
LANGUAGE 'plpgsql'
|
||||
COST 100
|
||||
VOLATILE PARALLEL UNSAFE
|
||||
AS $BODY$
|
||||
declare
|
||||
tmp qinfo_type;
|
||||
keys_row keys%ROWTYPE;
|
||||
cx_row characteristics%ROWTYPE;
|
||||
order_row calc_orders%ROWTYPE;
|
||||
icode bigint;
|
||||
ucode uuid;
|
||||
begin
|
||||
/* ищем запись в keys */
|
||||
if(char_length(code) = 13) then
|
||||
code = substring(code, 1, 12);
|
||||
end if;
|
||||
if char_length(code) = 12 then
|
||||
icode = code;
|
||||
SELECT * INTO keys_row FROM keys WHERE barcode=icode;
|
||||
elseif char_length(code) = 36 then
|
||||
ucode = code;
|
||||
SELECT * INTO keys_row FROM keys WHERE ref=ucode;
|
||||
end if;
|
||||
|
||||
/* подклеиваем заказ и прочую инфу */
|
||||
if keys_row.type is null then
|
||||
RAISE NOTICE 'null';
|
||||
elseif keys_row.type = 'order' then
|
||||
SELECT * INTO order_row FROM calc_orders WHERE ref=keys_row.obj;
|
||||
else
|
||||
SELECT * INTO cx_row FROM characteristics WHERE ref=keys_row.obj;
|
||||
SELECT * INTO order_row FROM calc_orders WHERE ref=cx_row.calc_order;
|
||||
end if;
|
||||
tmp.abonent = order_row.abonent;
|
||||
tmp.year = order_row.year;
|
||||
tmp.branch = order_row.branch;
|
||||
tmp.calc_order = order_row.ref;
|
||||
|
||||
tmp.characteristic = cx_row.ref;
|
||||
tmp.leading_product = cx_row.leading_product;
|
||||
|
||||
tmp.barcode = keys_row.barcode;
|
||||
tmp.ref = keys_row.ref;
|
||||
tmp.specimen = keys_row.specimen;
|
||||
tmp.elm = keys_row.elm;
|
||||
tmp.region = keys_row.region;
|
||||
tmp.type = keys_row.type;
|
||||
|
||||
if keys_row.type = 'order' then
|
||||
tmp.presentation = format('%s от %s', order_row.number_doc, order_row.date);
|
||||
else
|
||||
tmp.presentation = cx_row.name;
|
||||
end if;
|
||||
return tmp;
|
||||
end
|
||||
$BODY$;
|
||||
|
||||
ALTER FUNCTION public.qinfo(character varying)
|
||||
OWNER TO postgres;
|
||||
|
||||
|
||||
|
||||
SET default_table_access_method = heap;
|
||||
|
||||
--
|
||||
-- TOC entry 231 (class 1259 OID 6296209)
|
||||
-- Name: areg_needs; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.areg_needs (
|
||||
register uuid NOT NULL,
|
||||
register_type public.refs NOT NULL,
|
||||
row_num bigint NOT NULL,
|
||||
period timestamp without time zone,
|
||||
sign smallint DEFAULT 1,
|
||||
calc_order uuid,
|
||||
nom uuid,
|
||||
characteristic uuid,
|
||||
stage uuid,
|
||||
planing_key uuid,
|
||||
quantity numeric(15,3) DEFAULT 0
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3405 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.register; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.register IS 'Регистратор';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3406 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.register_type; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.register_type IS 'Тип регистратора';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3407 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.row_num; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.row_num IS 'Номер строки';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3408 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.period; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.period IS 'Период';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3409 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.nom; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.nom IS 'Номенклатура';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3410 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.characteristic; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.characteristic IS 'Характеристика';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3411 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.stage; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.stage IS 'Этап производства';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3412 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.planing_key; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.planing_key IS 'Ключ планирования';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3413 (class 0 OID 0)
|
||||
-- Dependencies: 231
|
||||
-- Name: COLUMN areg_needs.quantity; Type: COMMENT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON COLUMN public.areg_needs.quantity IS 'Количество';
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 227 (class 1259 OID 3061481)
|
||||
-- Name: calc_orders; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.calc_orders (
|
||||
ref uuid NOT NULL,
|
||||
abonent uuid,
|
||||
branch uuid,
|
||||
year integer,
|
||||
date timestamp without time zone,
|
||||
number_doc character(11),
|
||||
partner uuid,
|
||||
organization uuid,
|
||||
author uuid,
|
||||
department uuid,
|
||||
production json
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 225 (class 1259 OID 2900139)
|
||||
-- Name: characteristics; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.characteristics (
|
||||
ref uuid NOT NULL,
|
||||
calc_order uuid,
|
||||
leading_product uuid,
|
||||
name character varying(200)
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 224 (class 1259 OID 2899806)
|
||||
-- Name: keys; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.keys (
|
||||
ref uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
||||
obj uuid NOT NULL,
|
||||
specimen integer DEFAULT 1,
|
||||
elm integer DEFAULT 0,
|
||||
region integer DEFAULT 0,
|
||||
barcode bigint DEFAULT 0,
|
||||
type public.key_type
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 226 (class 1259 OID 2900714)
|
||||
-- Name: settings; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.settings (
|
||||
param character varying(100) NOT NULL,
|
||||
value json NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3247 (class 1259 OID 3061357)
|
||||
-- Name: address; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE UNIQUE INDEX address ON public.keys USING btree (obj, specimen, elm, region);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3258 (class 2606 OID 6296217)
|
||||
-- Name: areg_needs areg_needs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.areg_needs
|
||||
ADD CONSTRAINT areg_needs_pkey PRIMARY KEY (register, register_type, row_num);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3252 (class 2606 OID 2900143)
|
||||
-- Name: characteristics characteristics_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.characteristics
|
||||
ADD CONSTRAINT characteristics_pkey PRIMARY KEY (ref);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3250 (class 2606 OID 2899811)
|
||||
-- Name: keys keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.keys
|
||||
ADD CONSTRAINT keys_pkey PRIMARY KEY (ref);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3256 (class 2606 OID 3061485)
|
||||
-- Name: calc_orders orders_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.calc_orders
|
||||
ADD CONSTRAINT orders_pkey PRIMARY KEY (ref);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3254 (class 2606 OID 2900720)
|
||||
-- Name: settings settings_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.settings
|
||||
ADD CONSTRAINT settings_pkey PRIMARY KEY (param);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3248 (class 1259 OID 3494689)
|
||||
-- Name: barcode; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX barcode ON public.keys USING btree (barcode);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 3259 (class 2606 OID 3061494)
|
||||
-- Name: characteristics order; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.characteristics
|
||||
ADD CONSTRAINT "order" FOREIGN KEY (calc_order) REFERENCES public.calc_orders(ref) NOT VALID;
|
||||
|
||||
|
||||
-- Completed on 2023-08-12 22:07:45 MSK
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user