Guest User

WaveListSCH

a guest
Mar 30th, 2018
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.03 KB | None | 0 0
  1. // $Id: Sch.xml 2808 2014-10-27 05:13:07Z noriyuki_sawa_ha.daifuku.co.jp $
  2. package jp.co.daifuku.wms.gadgets.gadget.wavestatus;
  3.  
  4. /*
  5.  * Copyright(c) 2000-2013 DAIFUKU Co.,Ltd. All Rights Reserved.
  6.  *
  7.  * This software is the proprietary information of DAIFUKU Co.,Ltd.
  8.  * Use is subject to license terms.
  9.  */
  10. import static jp.co.daifuku.wms.gadgets.gadget.wavestatus.WaveListSCHParams.*;
  11.  
  12. import java.net.URL;
  13. import java.sql.Connection;
  14. import java.sql.SQLException;
  15. import java.util.Locale;
  16. import jp.co.daifuku.dgate.dashboard.function.AbstractParams;
  17. import jp.co.daifuku.dgate.dashboard.function.AbstractSCH;
  18. import jp.co.daifuku.dgate.dashboard.function.GadgetUserInfo;
  19. import jp.co.daifuku.dgate.dashboard.ui.control.TextBlock;
  20. import jp.co.daifuku.dgate.dashboard.ui.frame.Gadget;
  21. import jp.co.daifuku.dgate.util.DgateUserResource;
  22. import jp.co.daifuku.wms7.dbhandler.DBConstants;
  23. import jp.co.daifuku.wms7.dbhandler.DBHandler;
  24. import jp.co.daifuku.wms7.dbhandler.DBRecord;
  25. import jp.co.daifuku.wms7.dbhandler.DBStores;
  26. import jp.co.daifuku.wms7.dbhandler.SQLQuery;
  27. import jp.co.daifuku.wms7.dbhandler.DBConstants.dnretrievalPlanStatusFlag;
  28. import jp.co.daifuku.wms7.dbhandler.DBConstants.dnwaveStatus;
  29. import jp.co.daifuku.wms7.dbhandler.DBConstants.dnworkinfoTypes;
  30. import jp.co.daifuku.wms7.dbhandler.DBConstants.dnworkinfoloadwork;
  31. import jp.co.daifuku.wms7.dgatecollect.GadgetUtil;
  32. import jp.co.daifuku.dgate.Resources;
  33. import jp.co.daifuku.dgate.action.dashboard.GetGadgetList;
  34. /**
  35.  * Scheduler(SCH) class  generated by BusiTune
  36.  *
  37.  * @version $Revision: 2808 $, $Date: 2014-10-27 14:13:07 +0900 (隴幢ソス, 27 10 2014) $
  38.  * @author  Dgate Designer.
  39.  * @author  Last commit: $Author: noriyuki_sawa_ha.daifuku.co.jp $
  40.  */
  41. public class WaveListSCH
  42.         extends AbstractSCH
  43. {
  44.     //------------------------------------------------------------
  45.     // fields (upper case only)
  46.     //------------------------------------------------------------
  47.  
  48.     //------------------------------------------------------------
  49.     // class variables (prefix '$')
  50.     //------------------------------------------------------------
  51.  
  52.     //------------------------------------------------------------
  53.     // instance variables (prefix '_')
  54.     //------------------------------------------------------------
  55.  
  56.     //------------------------------------------------------------
  57.     // constructors
  58.     //------------------------------------------------------------
  59.     /**
  60.      * Constructor to create SCH object
  61.      * @param conn Database Connection
  62.      * @param locale Browser Locale
  63.      * @param userInfo UserInfo
  64.      * @throws SQLException
  65.      */
  66.     public WaveListSCH(Connection conn, Locale locale, GadgetUserInfo userInfo) throws SQLException
  67.     {
  68.      //super(conn, locale, userInfo);
  69.      super(java.sql.DriverManager.getConnection("jdbc:oracle:thin:@172.16.142.101:1521:orcl", "wms", "wms"), locale, userInfo);
  70.     }
  71.  
  72.     //------------------------------------------------------------
  73.     // public methods
  74.     //------------------------------------------------------------
  75.     /**
  76.      *
  77.      * @return
  78.      */
  79.     public AbstractParams query()
  80.     {      
  81.         WaveListSCHParams params = new WaveListSCHParams();
  82.         clearList(params);
  83.         SQLQuery _sqlQuery=createSqlOfWorkStatus();
  84.         try
  85.         {
  86.             DBHandler handler = new DBHandler();
  87.             DBStores dbWorkList = null;  
  88.             dbWorkList = handler.select(getConnection(), _sqlQuery,3);
  89.             if (!dbWorkList.isEmpty())
  90.             {
  91.                 int i=0;
  92.                 for (DBRecord record : dbWorkList)
  93.                 {
  94.                     switch(i){
  95.                         case 0:
  96.                             params.set(LIST_WAVENUM1,record.getString("WAVE_NO"));
  97.                             params.set(LIST_PIECEPICKNUM1,record.getString("TOTAL_PIECES_PICK_QTY")  );
  98.                             params.set(LIST_CASEPICKNUM1,record.getString("TOTAL_CASE_PICK_QTY")  );
  99.                             params.set(LIST_PALLETPICKNUM1,record.getString("TOTAL_PALLET_PICK_QTY")  );
  100.                             params.set(LIST_STATUS1,record.getInt("STATUS_FLAG") );
  101.                             break;
  102.                         case 1:
  103.                             params.set(LIST_WAVENUM2,record.getString("WAVE_NO") );
  104.                             params.set(LIST_PIECEPICKNUM2,record.getString("TOTAL_PIECES_PICK_QTY")  );
  105.                             params.set(LIST_CASEPICKNUM2,record.getString("TOTAL_CASE_PICK_QTY")  );
  106.                             params.set(LIST_PALLETPICKNUM2,record.getString("TOTAL_PALLET_PICK_QTY")  );
  107.                             params.set(LIST_STATUS2,record.getInt("STATUS_FLAG") );
  108.                             break;
  109.                         case 2:
  110.                             params.set(LIST_WAVENUM3,record.getString("WAVE_NO") );
  111.                             params.set(LIST_PIECEPICKNUM3,record.getString("TOTAL_PIECES_PICK_QTY")  );
  112.                             params.set(LIST_CASEPICKNUM3,record.getString("TOTAL_CASE_PICK_QTY")  );
  113.                             params.set(LIST_PALLETPICKNUM3,record.getString("TOTAL_PALLET_PICK_QTY")  );
  114.                             params.set(LIST_STATUS3,record.getInt("STATUS_FLAG") );
  115.                             break;
  116.                     }          
  117.                     i++;
  118.                 }      
  119.             }
  120.         }catch(Exception e) {
  121.            
  122.         }
  123.         return params;
  124.     }
  125.  
  126.     //------------------------------------------------------------
  127.     // accessor methods
  128.     //------------------------------------------------------------
  129.  
  130.     //------------------------------------------------------------
  131.     // package methods
  132.     //------------------------------------------------------------
  133.  
  134.     //------------------------------------------------------------
  135.     // protected methods
  136.     //------------------------------------------------------------
  137.  
  138.     //------------------------------------------------------------
  139.     // private methods
  140.     //------------------------------------------------------------
  141.     private void clearList(WaveListSCHParams params) {
  142.         params.set(LIST_WAVENUM1,null);
  143.         params.set(LIST_PIECEPICKNUM1,null );
  144.         params.set(LIST_CASEPICKNUM1,null);
  145.         params.set(LIST_PALLETPICKNUM1,null);
  146.         params.set(LIST_STATUS1,null );
  147.         params.set(LIST_WAVENUM2,null);
  148.         params.set(LIST_PIECEPICKNUM2,null );
  149.         params.set(LIST_CASEPICKNUM2,null);
  150.         params.set(LIST_PALLETPICKNUM2,null);
  151.         params.set(LIST_STATUS2,null );
  152.         params.set(LIST_WAVENUM3,null);
  153.         params.set(LIST_PIECEPICKNUM3,null );
  154.         params.set(LIST_CASEPICKNUM3,null);
  155.         params.set(LIST_PALLETPICKNUM3,null);
  156.         params.set(LIST_STATUS3,null );
  157.     }
  158.     private SQLQuery createSqlOfWorkStatus()
  159.     {
  160.         SQLQuery sqlQuery = new SQLQuery();      
  161.         sqlQuery.append("SELECT PROGRESS.WAVE_SEQ,PROGRESS.WAVE_NO,PROGRESS.STATUS_FLAG,");
  162.         sqlQuery.append("       SUM(PROGRESS.TOTAL_PIECES_PICK) AS TOTAL_PIECES_PICK_QTY,");
  163.         sqlQuery.append("       SUM(PROGRESS.TOTAL_CASE_PICK) AS TOTAL_CASE_PICK_QTY,");
  164.         sqlQuery.append("       SUM(PROGRESS.TOTAL_PALLET_PICK) AS TOTAL_PALLET_PICK_QTY");
  165.         sqlQuery.append("FROM (SELECT DNWAVE.WAVE_SEQ,DNWAVE.WAVE_NO,DNWAVE.STATUS_FLAG,DNWAVE.PRIORITY,DNWAVE.SHORTAGE_ALLOC_FLAG,DNWAVE.WAVE_START_TIME,DNWORKINFO.WORK_TYPE,");
  166.         sqlQuery.append("             CASE");
  167.         sqlQuery.append("               WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.PIECE_PICKING));
  168.         sqlQuery.append("                    OR (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.SELECTIVE_RACK_PICKING)).append(" AND (DNWORKINFO.WORK_QTY != DNSTOCK.STOCK_QTY OR DNSTOCK.STOCK_QTY != DMITEM.PIECE_PER_PALLET ) AND MOD(DNWORKINFO.WORK_QTY,NVL(DMITEM.PIECE_PER_CASE,1)) > 0)) AND DMITEM.ITEM_CODE IS NOT NULL  ");
  169.         sqlQuery.append("               THEN DNWORKINFO.WORK_QTY ELSE 0");
  170.         sqlQuery.append("             END AS TOTAL_PIECES_PICK,");
  171.         sqlQuery.append("             CASE");
  172.         sqlQuery.append("               WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL_SHUTTLE_CART));
  173.         sqlQuery.append("                    OR (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.SELECTIVE_RACK_PICKING)).append(" AND (DNWORKINFO.WORK_QTY != DNSTOCK.STOCK_QTY OR DNSTOCK.STOCK_QTY != DMITEM.PIECE_PER_PALLET ) AND MOD(DNWORKINFO.WORK_QTY,NVL(DMITEM.PIECE_PER_CASE,1)) = 0)) AND DMITEM.ITEM_CODE IS NOT NULL ");
  174.         sqlQuery.append("               THEN FLOOR(DNWORKINFO.WORK_QTY / NVL(DMITEM.PIECE_PER_CASE,1)) ELSE 0");
  175.         sqlQuery.append("             END AS TOTAL_CASE_PICK,");
  176.         sqlQuery.append("             CASE");
  177.         sqlQuery.append("               WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL));
  178.         sqlQuery.append("                    OR (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.SELECTIVE_RACK_PICKING)).append(" AND (DNWORKINFO.WORK_QTY = DNSTOCK.STOCK_QTY AND DNSTOCK.STOCK_QTY = DMITEM.PIECE_PER_PALLET ))) AND DMITEM.ITEM_CODE IS NOT NULL ");
  179.         sqlQuery.append("               THEN FLOOR(DNWORKINFO.WORK_QTY/NVL(DMITEM.PIECE_PER_PALLET,1)) ELSE 0");  
  180.         sqlQuery.append("             END AS TOTAL_PALLET_PICK");
  181.         sqlQuery.append("       FROM DNWAVE JOIN DNRETRIEVALPLAN ON DNWAVE.WAVE_SEQ=DNRETRIEVALPLAN.WAVE_SEQ ");
  182.         sqlQuery.append("       LEFT JOIN DNWORKINFO ON DNRETRIEVALPLAN.PLAN_UKEY = DNWORKINFO.PLAN_UKEY ").append(" AND DNWORKINFO.LOAD_WORK_STATUS != ").append(dnworkinfoTypes.LOAD_WORK_STATUS.DELETE);  
  183.         sqlQuery.append("       LEFT JOIN DNSHIPWORKINFO ON DNSHIPWORKINFO.WORK_UKEY=DNWORKINFO.WORK_UKEY");
  184.         sqlQuery.append("       LEFT JOIN DNSTOCK ON DNSTOCK.STOCK_ID=DNWORKINFO.STOCK_ID");
  185.         sqlQuery.append("       LEFT JOIN DMITEM  ON DMITEM.ITEM_CODE=DNSTOCK.ITEM_CODE");    
  186.         sqlQuery.append("       WHERE   DNWAVE.WAVE_TYPE = ").append(dnwaveStatus.DNWAVE_TYPE.WAVE);
  187.         sqlQuery.append("       AND DNRETRIEVALPLAN.STATUS_FLAG != ").append(dnretrievalPlanStatusFlag.STATUS_FLAG.DELTED);
  188.         sqlQuery.append("       AND ( DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.ONQUEUE);
  189.         sqlQuery.append("               OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.WORKING);
  190.         sqlQuery.append("               OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.SHORTAGE).append(" ) ");  
  191.         sqlQuery.append("       )PROGRESS");  
  192.         sqlQuery.append("GROUP BY PROGRESS.WAVE_SEQ,PROGRESS.WAVE_NO,PROGRESS.STATUS_FLAG,PROGRESS.PRIORITY,PROGRESS.SHORTAGE_ALLOC_FLAG,PROGRESS.WAVE_START_TIME");  
  193.         sqlQuery.append("ORDER BY PROGRESS.STATUS_FLAG DESC,PROGRESS.PRIORITY DESC,PROGRESS.SHORTAGE_ALLOC_FLAG DESC,PROGRESS.WAVE_START_TIME ASC");
  194.         return sqlQuery;
  195.     }
  196.     //------------------------------------------------------------
  197.     // utility methods
  198.     //------------------------------------------------------------
  199.     /**
  200.      * Returns current repository info for this class
  201.      * @return version
  202.      */
  203.     public static String getVersion()
  204.     {
  205.         return "$Id: Sch.xml 2808 2014-10-27 05:13:07Z noriyuki_sawa_ha.daifuku.co.jp $";
  206.     }
  207. }
  208. //end of class
Add Comment
Please, Sign In to add comment