Przeglądaj źródła

aps-调度调整数据sql修改

sucheng 2 miesięcy temu
rodzic
commit
862ac57433

+ 42 - 51
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsBlankOrderDao.xml

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