|
@@ -363,57 +363,48 @@
|
|
|
)
|
|
|
)
|
|
|
)
|
|
|
- AND (apope.PLANENDDATE!=if( -- 如果前道在调度时间之前开工,并且与前道是连续作业,则移动到前道计划完工时间
|
|
|
- apope.PROCESSDEVICEID = preapope.PROCESSDEVICEID and ifnull(apo.MINFLOWWAITMIN,0)=0,
|
|
|
- DATE_ADD(preapope.PLANENDDATE,INTERVAL TIMESTAMPdiff(SECOND, apope.PLANSTARTDATE, apope.PLANENDDATE) SECOND),
|
|
|
- date_add(apope.PLANENDDATE,
|
|
|
- INTERVAL TIMESTAMPdiff(SECOND,
|
|
|
- apope.PLANSTARTDATE,
|
|
|
- GREATEST(
|
|
|
- date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间
|
|
|
- INTERVAL GREATEST(
|
|
|
- ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
|
|
|
- if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
|
|
|
- if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0)
|
|
|
- )
|
|
|
- ) MINUTE -- 机台流转时间
|
|
|
- ),
|
|
|
- if(ifnull(apo.MAXFLOWWAITMIN,0)=0,
|
|
|
- #{chongpaiStartDate}, -- 调度开始时间
|
|
|
- LEAST(#{chongpaiStartDate}, -- 调度开始时间
|
|
|
- date_add(preapope.PLANENDDATE, INTERVAL apo.MAXFLOWWAITMIN MINUTE)
|
|
|
- )
|
|
|
- ) -- 前道计划完工时间 + 最大流转等待时间
|
|
|
- )
|
|
|
- ) SECOND
|
|
|
- )
|
|
|
- )
|
|
|
- OR
|
|
|
- apope.PLANSTARTDATE!=if( -- 如果前道在调度时间之前,并且与前道是连续作业,则移动到前道计划完工时间
|
|
|
- apope.PROCESSDEVICEID = preapope.PROCESSDEVICEID and ifnull(apo.MINFLOWWAITMIN,0)=0,
|
|
|
- preapope.PLANENDDATE,
|
|
|
- date_add(apope.PLANENDDATE,
|
|
|
- INTERVAL TIMESTAMPdiff(SECOND,
|
|
|
- apope.PLANSTARTDATE,
|
|
|
- GREATEST(
|
|
|
- date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间
|
|
|
- INTERVAL GREATEST(
|
|
|
- ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
|
|
|
- if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
|
|
|
- if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0)
|
|
|
- )
|
|
|
- ) MINUTE -- 机台流转时间
|
|
|
- ),
|
|
|
- if(ifnull(apo.MAXFLOWWAITMIN,0)=0,
|
|
|
- #{chongpaiStartDate}, -- 调度开始时间
|
|
|
- LEAST(#{chongpaiStartDate}, -- 调度开始时间
|
|
|
- date_add(preapope.PLANENDDATE, INTERVAL apo.MAXFLOWWAITMIN MINUTE)
|
|
|
- )
|
|
|
- ) -- 前道计划完工时间 + 最大流转等待时间
|
|
|
- )
|
|
|
- ) SECOND
|
|
|
- )
|
|
|
- )
|
|
|
+ AND (
|
|
|
+ apope.PLANENDDATE!=if( -- 如果前道在调度时间之前开工,并且与前道是连续作业,则移动到前道计划完工时间
|
|
|
+ apope.PROCESSDEVICEID = preapope.PROCESSDEVICEID and ifnull(apo.MINFLOWWAITMIN,0)=0,
|
|
|
+ DATE_ADD(preapope.PLANENDDATE,INTERVAL TIMESTAMPdiff(SECOND, apope.PLANSTARTDATE, apope.PLANENDDATE) SECOND),
|
|
|
+ date_add(apope.PLANENDDATE,
|
|
|
+ INTERVAL TIMESTAMPdiff(SECOND,
|
|
|
+ apope.PLANSTARTDATE,
|
|
|
+ GREATEST(
|
|
|
+ date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间
|
|
|
+ INTERVAL GREATEST(
|
|
|
+ ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
|
|
|
+ if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
|
|
|
+ if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0)
|
|
|
+ )
|
|
|
+ ) MINUTE -- 机台流转时间
|
|
|
+ ),
|
|
|
+ #{chongpaiStartDate}
|
|
|
+ )
|
|
|
+ ) SECOND
|
|
|
+ )
|
|
|
+ )
|
|
|
+ OR
|
|
|
+ apope.PLANSTARTDATE!=if( -- 如果前道在调度时间之前,并且与前道是连续作业,则移动到前道计划完工时间
|
|
|
+ apope.PROCESSDEVICEID = preapope.PROCESSDEVICEID and ifnull(apo.MINFLOWWAITMIN,0)=0,
|
|
|
+ preapope.PLANENDDATE,
|
|
|
+ date_add(apope.PLANSTARTDATE,
|
|
|
+ INTERVAL TIMESTAMPdiff(SECOND,
|
|
|
+ apope.PLANSTARTDATE,
|
|
|
+ GREATEST(
|
|
|
+ date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间
|
|
|
+ INTERVAL GREATEST(
|
|
|
+ ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
|
|
|
+ if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
|
|
|
+ if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0)
|
|
|
+ )
|
|
|
+ ) MINUTE -- 机台流转时间
|
|
|
+ ),
|
|
|
+ #{chongpaiStartDate}
|
|
|
+ )
|
|
|
+ ) SECOND
|
|
|
+ )
|
|
|
+ )
|
|
|
)
|
|
|
|
|
|
</update>
|