"localhost:/firebird/data/ILICHEVSK2.FDB". ��������� Previous topic Chapter index Next topic

DECLARATIONCROP

 

������� ���������

��������

���

��������

STORINGID

INTEGER

 

DATE1

DATE

 

DATE2

DATE

 

PARTYID

INTEGER

 

PARTYDATE

DATE

 

 

�������� ���������

��������

���

��������

CROPCLASS

VARCHAR(150)

 

STARTREMINDER

NUMERIC(15,1)

 

ENDREMINDER

NUMERIC(15,1)

 

INCOME

NUMERIC(15,1)

 

OUTCOME

NUMERIC(15,1)

 

 

��������

����������� - ����������

 

�����������

CREATE PROCEDURE DECLARATIONCROP(
    STORINGID INTEGER,
    DATE1 DATE,
    DATE2 DATE,
    PARTYID INTEGER,
    PARTYDATE DATE)
RETURNS (
    CROPCLASS VARCHAR(150),
    STARTREMINDER NUMERIC(15,1),
    ENDREMINDER NUMERIC(15,1),
    INCOME NUMERIC(15,1),
    OUTCOME NUMERIC(15,1))
AS
declare variable CROPID integer;
declare variable CLASSID integer;
declare variable SORTID integer;
declare variable TOTALSTART numeric(15,3);
declare variable TOTALINCOME numeric(15,3);
declare variable TOTALOUTCOME numeric(15,3);
declare variable TOTALEND numeric(15,3);
begin
  TOTALSTART = 0;
  TOTALINCOME = 0;
  TOTALOUTCOME = 0;
  TOTALend = 0;

  CROPCLASS = '1. ������� �`���, ������';
  CROPID = 1;
  CLASSID = -1;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  � �.�. ����� � 1-�� �����';
  CROPID = 1;
  CLASSID = 1;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 2-�� �����';
  CROPID = 1;
  CLASSID = 2;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;


  CROPCLASS = '                 3-�� �����';
  CROPID = 1;
  CLASSID = 3;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         ����� � 4-�� �����';
  CROPID = 1;
  CLASSID = 4;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 5-�� �����';
  CROPID = 1;
  CLASSID = 5;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 6-�� �����';
  CROPID = 1;
  CLASSID = 6;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 ���������������';
  STARTREMINDER = 0;
  ENDREMINDER = 0;
  INCOME = 0;
  OUTCOME = 0;
  suspend;

  CROPCLASS = '2. ������� ������';
  CROPID = 1;
  CLASSID = -1;
  SORTID = 3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '3. ����, ������';
  CROPID = 3;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  � �.�. 1-�� �����';
  CROPID = 3;
  CLASSID = 10;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         2-�� �����';
  CROPID = 3;
  CLASSID = 11;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         3-�� �����';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         4-�� �����';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '4. �����, ������';
  CROPID = 2;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  � �.�. ����������';
  CROPID = 2;
  CLASSID = -1;
  SORTID = 23;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '5. ����';
  CROPID = 48;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '6. ���������';
  CROPID = 4;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '7. ����������, ������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '  � �.�. �����';
  CROPID = 51;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '8. �����';
  CROPID = 50;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '9. ������';
  CROPID = 73;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '10. ���';
  CROPID = 74;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '11. ��������';
  CROPID = 71;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '12. ���������';
  CROPID = 49;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '13. ������� �� ������� ������, ������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '  � �.�. ������ �������� �������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '       ���� �������� � ������������ �������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '       ���������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

/*  cropclass = ' ���� �������� � ������������ ������� ���������';
  Cropid = -1;
  classid = -1;
  sortid = -1;

  select * from DECLARATIONSTORING(:STORINGID,:DATE1,:DATE2,:PARTYID,:CROPID,:CLASSID, :SORTID, :PARTYDATE) D
  into
  :STARTREMINDER,
  :ENDREMINDER,
  :INCOME,
  :OUTCOME;
  suspend;*/

  CROPCLASS = '������ �����';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;

  STARTREMINDER = TOTALSTART;
  ENDREMINDER = TOTALEND;
  INCOME = TOTALINCOME;
  OUTCOME = TOTALOUTCOME;
  suspend;

  CROPCLASS = '������ ������ �������, ������';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '14. ��������';
  CROPID = 37;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '15. ���';
  CROPID = 82;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '16. ��';
  CROPID = 81;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '17. ����';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

end

 

     Previous topic Chapter index Next topic