Files
dolthub--doltgresql/testing/dumps/sql/oknosoft_windowbuilder-planning.sql
T
2026-07-13 12:32:25 +08:00

437 lines
9.8 KiB
PL/PgSQL

-- 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
--