lib
{==================================
Panels_Start ===================================}
proc Panels_Start()
event_id = __params[4]
process_id = __params[5]
pos_d = __params[6]
date1 = __params[7]
date2 = __params[8]
descr1 = "Production Order"
descr2 = "Setup Machine"
if (newdate <> ""
) then
start_sql "DATA" "KOSMOS"
SELECT AU_STEP.*
,
AU_PROCESS.AGENT_NAME
, AU_PROCESS.USER_OWNER
, AU_PROCESS.AGENT_ID
, AU_PROCESS.PARENT_AGENT_ID
, AU_BUSINESS.TITLE
FROM (AU_STEP
LEFT JOIN AU_PROCESS
ON AU_STEP.AU_PROCESS = AU_PROCESS.AU_PROCESS
) LEFT JOIN AU_BUSINESS
ON AU_STEP.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
WHERE (AU_STEP.FINISHED=0
)
AND (AU_STEP.AU_PROCESS = :P
)
AND ((AU_STEP.STEP_DESCR = :SD1
) OR (AU_STEP.STEP_DESCR = :SD2
))
AND (AU_STEP.ISTEP=0
)
end_sql
q = QueryByName
("DATA"
)
call TSetParam
(q
,"P"
,process_id
)
call TSetParam
(q
,"SD1"
,descr1
)
call TSetParam
(q
,"SD2"
,descr2
)
call TPrepare
(q
)
else
start_sql "DATA" "KOSMOS"
SELECT AU_STEP.*
,
AU_PROCESS.AGENT_NAME
, AU_PROCESS.USER_OWNER
, AU_PROCESS.AGENT_ID
, AU_PROCESS.PARENT_AGENT_ID
, AU_BUSINESS.TITLE
FROM (AU_STEP
LEFT JOIN AU_PROCESS
ON AU_STEP.AU_PROCESS = AU_PROCESS.AU_PROCESS
) LEFT JOIN AU_BUSINESS
ON AU_STEP.AU_BUSINESS = AU_BUSINESS.AU_BUSINESS
WHERE (AU_STEP.FINISHED=0
)
AND (AU_STEP.AU_PROCESS = :P
)
AND ((AU_STEP.STEP_DESCR = :SD1
) OR (AU_STEP.STEP_DESCR = :SD2
))
AND (AU_STEP.ISTEP=0
)
end_sql
q = QueryByName
("DATA"
)
call TSetParam
(q
,"P"
,process_id
)
call TSetParam
(q
,"SD1"
,descr1
)
call TSetParam
(q
,"SD2"
,descr2
)
call TPrepare
(q
)
endif
call SetFetchRowcount
(q
,500
)
end
{=====================================
Form_Start ==================================}
proc Form_Start(FORM
)
f = TopForm
()
call SetCaption
(__params[4]
)
call CollapseNavBar
()
call SetEditableFields
(f
,"SETUP_MIN"
,"RATE_HR"
,"QUANT0"
)
end
{==================================== Form_Prepared =================================== }
proc Form_Prepared
()
f = TopForm
()
call PopupClear
(f
)
start_popupmenu "xxxxxxxx"
Show Related Activities
call show_related_items
()
Show All Activities
call show_all_items
()
Show Activity Parameters
call show_activity_parameters
()
end_popupmenu
__step_descr = "Production" { description of production activity
to be created }
__step_role = __params[6] { assigned role of production activity }
__agent_name = "" { mass production agent name }
__agent_id = "" { mass production agent id }
__mass_order_id = __params[4] { mass order id }
__warehouse_in_id = 1 { warehouse id of raw matterials }
__warehouse_out_id = 1 { warehouse of products }
__process_id = __params[5]
__date1 = __params[7]
__date2 = __params[8]
sch = GetControl
("_SCHEDULER"
)
p = PByName
(f
,"DATA"
)
pos_id = SelectFrom
("
SELECT AU_POS
FROM AU_POS
WHERE (POS_D='"
,pos_d
,"'
)"
)
pltype = "TIMELINE"
__data_panel = p
__mode= "ACTIV_SCHED"
__display_type = "TIMELINE"
__pos_id = pos_id
__start_date = date1
call SetScheduler
(sch
)
{×ÑÇÓÇÌÏÐÏÉÇÓÅ ÔÁ ÃÉÁ ÍÁ ÐÁÑÅÉÓ ÔÁ HINT}
_BUTTON1_HINT = "ÅÌÖÁÍÉÓÇ ÁÍÁËÕÔÉÊÙÍ ÄÅËÔÉÙÍ ÐÁÑÁÃÙÃÇÓ"
_BUTTON2_HINT = "ÅÌÖÁÍÉÓÇ ×ÕÌÁ ÄÅËÔÉÏÕ ÐÁÑÁÃÙÃÇÓ"
_BUTTON3_HINT = "ÍÅÏ ÄÅËÔÉÏ ÐÁÑÁÃÙÃÇÓ ×ÕÌÁ"
_BUTTON4_HINT = "ÖÏÑÔÙÌÁ ÔÅËÅÕÔÁÉÙÍ ÔÉÌÙÍ
(SETUP
, CLEANUP
, RATE
, BATCH
)"
_BUTTON5_HINT = "ÄÉÁÃÑÁÖÇ ÅÐÉËÅÃÌÅÍÇÓ ÐÁÑÁÃÙÃÇÓ"
{
call SetTimer
( "RTIMER"
, 40
) }
end
{=======================================
Lst_DblClick ===============================}
proc Lst_DblClick()
step_id = TGetFld
(q
,"AU_STEP"
)
step_code = TGetFld
(q
,"STEP_CODE"
)
call OpenBPMStep
("assignee"
,step_id
,step_code
)
end
{=========================== ExtraButtonClick ================================}
proc ExtraButtonClick
( button
)
sched_id = GetControlProp
(sch
,"SCHEDID"
)
step_id = SelectFrom
("
SELECT AU_STEP
FROM AU_STEP_SCHED
WHERE (AU_STEP_SCHED="
,sched_id
,"
)"
)
if (button = 1
) then
if (step_id > 0
) then
call emf_deltpar
( step_id
)
endif
elseif (button = 2
) then
if (step_id > 0
) then
call emf_deltpar0
( step_id
)
endif
elseif (button = 3
) then
call nea_ergasia
()
elseif (button = 4
) then
if (step_id > 0
) then
call load_parameters
()
endif
elseif (button = 5
) then
if (step_id > 0
) then
call delete_order
(step_id
)
endif
endif
end
{============================= emf_deltpar =====================}
proc emf_deltpar
()
end
proc delete_order
()
end
'==================================== emf_deltpar0 =================================='
proc emf_deltpar0
()
end
'====================================== nea_ergasia ================================'
proc nea_ergasia
()
end
{============================== Sched_AfterCreateActivity ==============================}
proc Sched_AfterCreateActivity
( date
, step_id
, sched_id
, quant1
, pos_id
, rgroup_id
)
uname = GetUserName
()
kon_flag = 1
sched_id_max = SelectFrom
("
SELECT MAX
(AU_STEP_SCHED
) FROM AU_STEP_SCHED"
)
flag = 1
{.......Ýëåã÷ïò åðÜñêåéáò õëéêþí óõóêåõáóßáò..........}
end
{============================== Sched_AfterSizeActivity ==============================}
proc Sched_AfterSizeActivity
( date
, step_id
, sched_id
, quant1
, pos_id
, rgroup_id
)
end
{============================ Sched_AfterDeleteActivity ===========================}
proc Sched_AfterDeleteActivity
( sched_id
)
end
{============================== Sched_AfterMoveActivity ==============================}
proc Sched_AfterMoveActivity
( sched_id
)
end
{============================== Sched_ViewApplForms ==============================}
proc Sched_ViewApplForms
( sched_id
)
event_id = SelectFrom
("
SELECT AU_EVENT
FROM AU_EVENT
WHERE (TBL_REC="
,sched_id
,"
) AND (TBL_NAME='AU_STEP_SCHED'
)"
)
event_id = val
(event_id
)
if (event_id > 0
) then
expr = strcat
(event_id
,"=AU_EVENT"
)
call OpenFormTop
("ptEdit"
,"
AU_PROD_ORDER_E.FM"
,"WORK.AU_EVENT"
,1
,expr
)
endif
end
{=========================== show_related_items ============================}
proc show_related_items
()
step_id = TGetFld
(q
,"AU_STEP"
)
call SchedShowRelatedItems
( sch
, step_id
)
end
{============================ show_all_items ===============================}
proc show_all_items
()
call SchedShowAllItems
( sch
)
end
{============================== show_activity_parameters ===================}
proc show_activity_parameters
()
step_id = TGetFld
(q
,"AU_STEP"
)
expr = strcat
(step_id
,"=AU_STEP"
)
call OpenFormTop
("ptEdit"
,"
AU_STEP_RATE_E.FM"
,"WORK.AU_STEP"
,1
,expr
)
end
{================================== prod_expert ============================}
proc prod_expert
()
ag = agent_askexpert
("PRODUCTION_SCHEDULING_EXPERT"
,"SCHEDULE"
)
res = agent_getvar
(ag
,"result"
,0
)
check = agent_getvar
(ag
,"check"
,0
)
if (check <> ""
) then
call message
(check
)
else
call LoadActivitiesExecutor
()
endif
end
{================================== del_expert ============================}
proc del_expert
()
ag = agent_askexpert
("PRODUCTION_SCHEDULING_EXPERT"
,"UNSCHEDULE"
)
res = agent_getvar
(ag
,"result"
,0
)
check = agent_getvar
(ag
,"check"
,0
)
if (check <> ""
) then
call message
(check
)
else
call LoadActivitiesExecutor
()
endif
end
{============================ Sched_DateChanged ===========================}
proc Sched_DateChanged
( newdate
)
call FreeEmbSQL
(q0
)
call Panels_Start()
call Refresh
(f
)
end
proc Form_On_RTIMER_Timer
()
call LoadActivitiesScheduler
(sch
)
end