Procedura-PLMFLOWBYDATE

Popis:
Slouží pro tisk nedokončené výroby, stav k datu

Parametry:

NázevPopisDatový typ
DATEFROMFloat(0, 0)
DATETOFloat(0, 0)

Návratové hodnoty:

NázevPopisDatový typ
PRODUCTIONTASK_IDChar(10)
LOCALAMOUNTOUTNumeric(13, 2)

Tělo:

begin
  /* Výdejky materiálu do výroby */
  FOR
    SELECT a.productiontask_id, LocalTAmount
    FROM Storedocuments2 A
        left join Storedocuments SD ON SD.id = A.Parent_ID
    WHERE
        SD.DocumentType = '27' and (SD.DocDate$DATE >= :datefrom and SD.DocDate$DATE < :dateto)
    into :productiontask_ID, :LOCALAMOUNTOUT
  Do Suspend;
  /* Příjemky výrobků a Vratky materiálu z výroby */
  FOR
    SELECT a.productiontask_id, LocalTAmount * -1
    FROM Storedocuments2 A
        left join Storedocuments SD ON SD.id = A.Parent_ID
    WHERE
        SD.DocumentType in ('28','29') and (SD.DocDate$DATE >= :datefrom and SD.DocDate$DATE < :dateto)
    into :productiontask_ID, :LOCALAMOUNTOUT
  Do Suspend;
  /* Pracovní lístky */
  FOR
    SELECT JO.productiontask_id, A.SalaryCosts + A.OverheadCosts + A.GeneralExpense as LocalAmount
    FROM PLMOperations A
        left join PLMJobOrdersRoutines RO on RO.ID = A.JobOrdersRoutines_ID
        left join PLMJOOutputItems MI on MI.ID = RO.parent_ID
        left join PLMJONodes JON on MI.Owner_ID = JON.ID
        left join plmjoborders JO on JO.ID = JON.Parent_ID
    WHERE A.FinishedAt$Date is not null and A.FinishedAt$Date > 0 and (A.FinishedAt$Date >= :datefrom and A.FinishedAt$Date < :dateto)
    into :productiontask_ID, :LOCALAMOUNTOUT
  Do Suspend;
  /* Kooperace */
  For
    SELECT JO.productiontask_id, A.RealMaterialPrice + A.RealWorkPrice as LocalAmount
    FROM plmcooperations A
        left join plmjoborders JO on JO.ID = A.JobOrder_ID
    where (ReturnedAt$DATE = 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto))
        or (ReturnedAt$DATE > 0 and (ReturnedAt$DATE >= :datefrom and ReturnedAt$DATE < :dateto))
    into :productiontask_ID, :LOCALAMOUNTOUT
  DO suspend;
  /* Dokončené výrobky */
  For
    SELECT JO.productiontask_id, A.Amount as LocalAmount
    FROM plmfinishedproducts A
        left join plmjoborders JO on JO.ID = A.JobOrder_ID
    where A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
    into :productiontask_ID, :LOCALAMOUNTOUT
  DO suspend;
  /* Vyrovnání nedokončené výroby */
  FOR
    SELECT JO.productiontask_id, -A.Amount as LocalAmount
    FROM plmbalanceinprocessproduces A
        left join plmjoborders JO on JO.ID = A.joborder_id
    WHERE A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
    into :productiontask_ID, :LOCALAMOUNTOUT
  Do Suspend;
end;

Generated by ABRA Software a.s. 27.10.2021 16:34:50