亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simpledispatchrule.java

?? 這可是全球著名IT公司ILog的APS高級排產(chǎn)優(yōu)化引擎
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) );
            double stdUsedThisTime = stdRemained -
                (sumCapIdx - tmpStyle.getRequirement() );
            stdRemained = stdRemained - stdUsedThisTime;

            double percentRemained = stdRemained /
                (pc.getCapability(tmpStyle.getProcessID()) *
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) ) );

            pc.setAssignedPercentage(1 - percentRemained);
            tmpStyle.addOperator(pc,
                                 new Double(stdUsedThisTime /
                                            (pc.
                                            getCapability(tmpStyle.getProcessID()) *
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) )
) ) );
            numAssigned++;
            break;
          }
          else {
            tmpStyle.addOperator(pc, new Double(pc.getAvailPercentage()));
            pc.setAssignedPercentage(1.0);
            numAssigned++;
          }
        }

        //no matter how many operators available
        if( sumCapIdx == 0 &&
            ! SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
          ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
            new Integer( tmpStyle.getProcessID() ) );
          if( null != pc ) {
            tmpStyle.addOperator(pc, new Double(1.0));
          } else {
            //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
              pc = new ProcessCapability(getAnExtraOperator());
              pcs.add(pc);
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));
            //}
          }
        }

        if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
          if (base == 0 && remainder != 0) {
            double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPID( tmpStyle.getProcessID() );
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                ProcessRequirement.getInstance().updateLastAssigned( new Integer( tmpStyle.getProcessID() ),
                    pc );
                numAssigned++;
                break;
              }
            }
            else {
              ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
                new Integer( tmpStyle.getProcessID() ) );
              if( null != pc ) {
                tmpStyle.addOperator(pc, new Double(1.0));
              } else {
                //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
                  pc = new ProcessCapability(getAnExtraOperator());
                  pcs.add(pc);
                  pc.setAssignedPercentage(1.0);
                  tmpStyle.addOperator(pc, new Double(1.0));
                //}
              }
              /*ProcessCapability pc = new ProcessCapability(getAnExtraOperator());
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));*/
              numAssigned++;
            }
          }
          else if (base != 0 && remainder != 0) {
            /*double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                numAssigned++;
                break;
              }
            }*/
          }
        }
        if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) &&
            numAssigned == 0 ) {
          ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
            new Integer( tmpStyle.getProcessID() ) );
          if( null != pc ) {
            tmpStyle.addOperator(pc, new Double(1.0));
          } else {
            //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
              pc = new ProcessCapability(getAnExtraOperator());
              pcs.add(pc);
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));
            //}
          }
          /*ProcessCapability pc = new ProcessCapability(getAnExtraOperator());
          pc.setAssignedPercentage(1.0);
          tmpStyle.addOperator(pc, new Double(1.0));
          numAssigned++;*/
        }

        for (int k = 0; k < pcs.size(); k++) {
          ProcessCapability pc = (ProcessCapability) pcs.elementAt(k);
          distinctOperators.put(pc, "");
        }
        System.out.println("debug here 1");

        tmpStyle.generateSchedule();
        System.out.println("here 2");
        schedules.append(tmpStyle.getSchedules());

        totalOperators += tmpStyle.getNumOfAssignedOperators();

      }
      System.out.println("debug 14");

    }

    private double getExtendRatio( Style tmpStyle ) {
      Vector capableOperators = ProcessCapabilityTable.getInstance().
          getCapableOperators(tmpStyle.getProcessID());
      double sumCapIdx = 0;
      for (int k = 0; k < capableOperators.size(); k++) {
        ProcessCapability pc = (ProcessCapability) capableOperators.elementAt(
            k);
        if (pc.isAssignedTest())
          continue;
        if (pc.getAssignedPIDTest() != 0 &&
            pc.getAssignedPIDTest() != tmpStyle.getProcessID()) {
          continue;
        }
        sumCapIdx += pc.getCapability(tmpStyle.getProcessID()) *
            pc.getAvailPercentageTest();
        pc.setAssignedPIDTest(tmpStyle.getProcessID());
        if (sumCapIdx >= tmpStyle.getNumOfOperators()) {
          if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
            pc.setAssignedPercentageTest(1.0);
            break;
          }
          double stdRemained = pc.getCapability(tmpStyle.getProcessID()) *
              pc.getAvailPercentageTest();
          double stdUsedThisTime = stdRemained -
              (sumCapIdx - tmpStyle.getNumOfOperators());
          stdRemained = stdRemained - stdUsedThisTime;

          double percentRemained = stdRemained /
              pc.getCapability(tmpStyle.getProcessID());

          pc.setAssignedPercentageTest(1 - percentRemained);
          break;
        }
        else {
          pc.setAssignedPercentageTest(1.0);
        }
      }

      if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) )
        return (tmpStyle.getNumOfOperators() - sumCapIdx) / tmpStyle.getNumOfOperators();

      return 0;

    }

    private double getMaxExtendRatio( Vector styles ) {
      //init all capable pcs
      for (int j = 0; j < styles.size(); j++) {
        Style tmpStyle = (Style) styles.elementAt(j);
        Vector capableOperators = ProcessCapabilityTable.getInstance().
            getCapableOperators(tmpStyle.getProcessID());
        for (int k = 0; k < capableOperators.size(); k++) {
          ProcessCapability pc = (ProcessCapability) capableOperators.elementAt(
              k);
          if (pc.isAssignedTest())
            continue;
          /*if (pc.getAssignedPIDTest() != 0 &&
              pc.getAssignedPIDTest() != tmpStyle.getProcessID()) {
            continue;
          }*/
          pc.initTestParameters();
        }
      }

      //for all sewing processes
      double maxRatio = 0;
      for (int j = 0; j < styles.size(); j++) {
        Style tmpStyle = (Style) styles.elementAt(j);

        double tmpRatio = this.getExtendRatio( tmpStyle );
        if( tmpRatio > maxRatio ) {
          maxRatio = tmpRatio;
        }
      }

      return maxRatio;
    }

    private void assignLeftOverOperators() {
      //get all big orders
      Hashtable stylesByOrder = OrderDetailsManHourMap.getInstance().
          getStylesByOrder();
      Enumeration orderIDs = stylesByOrder.keys();
      Date dueDate = null;

      //loop through all orders to get sum of max processing times
      while (orderIDs.hasMoreElements()) {
        String anOrderID = (String) orderIDs.nextElement();
        Vector allStylesByOrder = OrderDetailsManHourMap.getInstance().
            getDistinctStyleByOrder(anOrderID);
        for (int i = 0; i < allStylesByOrder.size(); i++) {
          Style aStyle = (Style) allStylesByOrder.elementAt(i);
          dueDate = aStyle.getDueDate();
          //get styles by orderID and styleID
          Vector styles = OrderDetailsManHourMap.getInstance().getStyles(
              anOrderID,
              aStyle.getStyleID());

          for (int j = 0; j < styles.size(); j++) {
            Style tmpStyle = (Style) styles.elementAt(j);
            if (!SewingOps.getInstance().isSewingOp(tmpStyle.getProcessID()))
              continue;
            Vector capableOperators = ProcessCapabilityTable.getInstance().
                getCapableOperators(tmpStyle.getProcessID());
            int remainder = 0;
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                remainder++;
              }
            double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                OrderDetailsManHourMap.getInstance().readjustRank( tmpStyle );
                break;
              }
            }
          }
        }
      }
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费视频| 有坂深雪av一区二区精品| 精品综合免费视频观看| 欧美v日韩v国产v| 国产一区久久久| 亚洲国产成人在线| 色又黄又爽网站www久久| 亚洲国产综合人成综合网站| 欧美日韩一二区| 蜜臀av一区二区在线观看| 久久综合色之久久综合| 成人av在线观| 五月天视频一区| 久久久影院官网| 99久久婷婷国产综合精品| 亚洲自拍欧美精品| 日韩三级伦理片妻子的秘密按摩| 国产一区二区精品在线观看| 综合在线观看色| 欧美美女激情18p| 国产精品影视天天线| 亚洲柠檬福利资源导航| 日韩一区二区麻豆国产| 成人性视频网站| 亚洲www啪成人一区二区麻豆 | 国产成人午夜精品影院观看视频| 国产色婷婷亚洲99精品小说| 一本一道久久a久久精品| 欧美aaa在线| 亚洲欧洲在线观看av| 欧美高清性hdvideosex| 国产91丝袜在线播放九色| 亚洲午夜影视影院在线观看| 久久久精品中文字幕麻豆发布| 在线亚洲精品福利网址导航| 精品制服美女丁香| 亚洲一区二区在线观看视频| 久久久久一区二区三区四区| 欧美性视频一区二区三区| 国产精品一区二区你懂的| 亚洲一区二区三区不卡国产欧美| 久久免费的精品国产v∧| 欧美色精品在线视频| 成人午夜大片免费观看| 美洲天堂一区二卡三卡四卡视频| 成人免费一区二区三区在线观看| 日韩一级免费一区| 欧美性受xxxx黑人xyx| www.欧美亚洲| 国产一区二区三区不卡在线观看 | 欧美日韩国产首页在线观看| 国产高清成人在线| 美美哒免费高清在线观看视频一区二区| 亚洲欧洲国产日本综合| 亚洲精品一区二区三区精华液 | 亚洲视频在线一区观看| 精品国产免费人成电影在线观看四季| 欧美在线观看视频一区二区 | 色综合久久久网| 韩国午夜理伦三级不卡影院| 性欧美疯狂xxxxbbbb| 亚洲精品v日韩精品| 国产精品女主播在线观看| www成人在线观看| 亚洲愉拍自拍另类高清精品| 中文一区一区三区高中清不卡| 日韩一区和二区| 欧美日韩精品久久久| 欧美在线一区二区三区| 色欧美乱欧美15图片| 99久久久久久| 色综合咪咪久久| 色狠狠色狠狠综合| 91猫先生在线| 在线观看视频一区二区欧美日韩| 成人免费不卡视频| 99久久婷婷国产综合精品| 99热在这里有精品免费| 97精品国产露脸对白| 色综合中文字幕国产| 色综合天天综合给合国产| 一本久久综合亚洲鲁鲁五月天| 99精品1区2区| 91福利在线导航| 91久久精品一区二区| 欧美在线视频不卡| 欧美精选在线播放| 日韩欧美激情四射| 久久久美女艺术照精彩视频福利播放| 精品国产乱码久久久久久老虎| 日韩精品一区二| 久久先锋资源网| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 免费成人美女在线观看| 日韩**一区毛片| 精彩视频一区二区| 国产乱码精品1区2区3区| 成人精品鲁一区一区二区| 91麻豆swag| 欧美久久久久中文字幕| 精品剧情在线观看| 综合电影一区二区三区| 国产成人精品影院| 色狠狠一区二区三区香蕉| 69成人精品免费视频| 久久精品在线观看| 亚洲裸体在线观看| 偷拍一区二区三区| 国产精品自拍毛片| 欧美综合久久久| 欧美精品一区二区三区四区 | 日韩精品亚洲一区二区三区免费| 免费成人av在线播放| 成人综合婷婷国产精品久久 | 欧美一区二区视频在线观看2022| 欧美精品一区二区三区在线播放| 综合久久综合久久| 蜜臀av一区二区三区| 成人av片在线观看| 日韩欧美在线不卡| 亚洲欧美另类久久久精品| 蜜臀久久99精品久久久久宅男| 国产91在线看| 欧美老女人在线| 中文字幕av资源一区| 亚洲成精国产精品女| 国产成人免费在线视频| 欧美日韩亚洲不卡| 国产精品久久久久影院色老大| 天天做天天摸天天爽国产一区| 成人一区二区三区| 精品奇米国产一区二区三区| 一区二区国产视频| 国产盗摄女厕一区二区三区| 91麻豆精品国产91久久久久久 | 欧美色成人综合| 久久精品一区二区三区av| 亚洲妇女屁股眼交7| a4yy欧美一区二区三区| 精品蜜桃在线看| 亚洲成人动漫一区| 日本韩国欧美一区| 国产精品高清亚洲| 国产精品亚洲一区二区三区妖精 | 91精品国产品国语在线不卡| 综合激情网...| 国产91精品一区二区麻豆亚洲| 91精品国产综合久久久久久久久久| |精品福利一区二区三区| 国产精品一区二区无线| 亚洲手机成人高清视频| 国产精品一区二区久久不卡| 欧美一区二区三区四区五区 | 亚洲摸摸操操av| 丁香天五香天堂综合| 久久只精品国产| 激情综合网av| 欧美成人午夜电影| 美女精品自拍一二三四| 91精品国产美女浴室洗澡无遮挡| 一区二区三区在线视频观看| 91首页免费视频| 亚洲人成亚洲人成在线观看图片| 国产成人av电影免费在线观看| 精品欧美黑人一区二区三区| 麻豆中文一区二区| 精品久久久久久久久久久久久久久 | 久久国产婷婷国产香蕉| 日韩欧美激情四射| 激情综合网天天干| 精品久久久久久最新网址| 美女高潮久久久| 日韩欧美自拍偷拍| 国产在线视频一区二区| 欧美精品一区二区不卡| 激情亚洲综合在线| 久久中文娱乐网| 成人白浆超碰人人人人| 亚洲欧洲色图综合| 在线亚洲免费视频| 日韩高清在线一区| 日韩精品影音先锋| 国产成人99久久亚洲综合精品| 欧美激情一区三区| 91在线云播放| 亚洲电影欧美电影有声小说| 91麻豆精品国产91久久久更新时间 | 亚洲福利电影网| 日韩一区二区影院| 国产精品99久久久久久宅男| 国产精品午夜在线观看| 在线影院国内精品| 蜜桃91丨九色丨蝌蚪91桃色| 国产亚洲精品7777| 91国偷自产一区二区三区成为亚洲经典 | 精品国产露脸精彩对白| 国产成人综合自拍| 一个色在线综合| 欧美一级在线视频| 从欧美一区二区三区|