Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // $Id: Sch.xml 2808 2014-10-27 05:13:07Z noriyuki_sawa_ha.daifuku.co.jp $
- package jp.co.daifuku.wms.gadgets.gadget.shipmentpicking;
- /*
- * Copyright(c) 2000-2013 DAIFUKU Co.,Ltd. All Rights Reserved.
- *
- * This software is the proprietary information of DAIFUKU Co.,Ltd.
- * Use is subject to license terms.
- */
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.ASPG_BAR;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.ASPG_BAR_MAX;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.PROGRESS_BAR1_DATA1;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.PROGRESS_MAX;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.SRPG_BAR;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.SRPG_BAR_MAX;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_ASCASEPICK;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_ASPALLETPICK;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_SHIPNUM;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_SRCASEPICK;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_SRPALLETPICK;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_STATUS;
- import static jp.co.daifuku.wms.gadgets.gadget.shipmentpicking.ShipmentPickingMonitorSCHParams.TXT_WORKDATE;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.util.Date;
- import java.util.Locale;
- import jp.co.daifuku.dgate.dashboard.function.AbstractParams;
- import jp.co.daifuku.dgate.dashboard.function.AbstractSCH;
- import jp.co.daifuku.dgate.dashboard.function.GadgetUserInfo;
- import jp.co.daifuku.dgate.util.DgateUserResource;
- import jp.co.daifuku.wms7.base.util.FormatUtil;
- import jp.co.daifuku.wms7.dbhandler.DBConstants;
- import jp.co.daifuku.wms7.dbhandler.DBHandler;
- import jp.co.daifuku.wms7.dbhandler.DBRecord;
- import jp.co.daifuku.wms7.dbhandler.DBStores;
- import jp.co.daifuku.wms7.dbhandler.SQLQuery;
- import jp.co.daifuku.wms7.dbhandler.DBConstants.dnretrievalPlanStatusFlag;
- import jp.co.daifuku.wms7.dbhandler.DBConstants.dnshipworkinfo;
- import jp.co.daifuku.wms7.dbhandler.DBConstants.dnwaveStatus;
- import jp.co.daifuku.wms7.dbhandler.DBConstants.dnworkinfoTypes;
- import jp.co.daifuku.wms7.dbhandler.DBConstants.dnworkinfoloadwork;
- import jp.co.daifuku.wms7.dgatecollect.GadgetUtil;
- /**
- * Scheduler(SCH) class generated by BusiTune
- *
- * @version $Revision: 2808 $, $Date: 2014-10-27 14:13:07 +0900 (隴幢ソス, 27 10 2014) $
- * @author Dgate Designer.
- * @author Last commit: $Author: noriyuki_sawa_ha.daifuku.co.jp $
- */
- public class ShipmentPickingMonitorSCH
- extends AbstractSCH
- {
- //------------------------------------------------------------
- // fields (upper case only)
- //------------------------------------------------------------
- //------------------------------------------------------------
- // class variables (prefix '$')
- //------------------------------------------------------------
- //------------------------------------------------------------
- // instance variables (prefix '_')
- //------------------------------------------------------------
- //------------------------------------------------------------
- // constructors
- //------------------------------------------------------------
- /**
- * Constructor to create SCH object
- * @param conn Database Connection
- * @param locale Browser Locale
- * @param userInfo UserInfo
- * @throws SQLException
- */
- public ShipmentPickingMonitorSCH(Connection conn, Locale locale, GadgetUserInfo userInfo) throws SQLException
- {
- //super(conn, locale, userInfo);
- super(java.sql.DriverManager.getConnection("jdbc:oracle:thin:@172.16.142.101:1521:orcl", "wms", "wms"), locale, userInfo);
- }
- //------------------------------------------------------------
- // public methods
- //------------------------------------------------------------
- /**
- *
- * @return
- */
- public AbstractParams query()
- {
- ShipmentPickingMonitorSCHParams params = new ShipmentPickingMonitorSCHParams();
- initiate(params);
- SQLQuery _sqlQuery=createSqlOfWorkStatus();
- try
- {
- DBHandler handler = new DBHandler();
- DBStores dbWorkStatus = null;
- DBStores dbProgress = null;
- dbWorkStatus = handler.select(getConnection(), _sqlQuery);
- int TOTAL_WORK_QTY=0,TOTAL_RESULT_QTY=0;
- int PALLET_PICK_QTY=0,CASE_PICK_QTY=0;
- int TOTAL_PALLET_PICK_QTY=0,TOTAL_CASE_PICK_QTY=0;
- Date workDate= new Date();
- params.set(TXT_WORKDATE, FormatUtil.convertDateToString(workDate,DBConstants.WMS_FORMATTER.DATE_FORMAT));
- if (!dbWorkStatus.isEmpty())
- {
- for (DBRecord record : dbWorkStatus)
- {
- params.set(TXT_SHIPNUM, record.getString("SHIP_TICKET_NUM"));
- params.set(TXT_STATUS, record.getInt("STATUS_FLAG"));
- params.set(PROGRESS_BAR1_DATA1, record.getInt("RESULT_QTY")*100/record.getInt("TOTAL_PLAN_QTY"));
- params.set(PROGRESS_MAX, 100);
- _sqlQuery.clear();
- _sqlQuery=createSqlOfProgress(record.getString("WAVE_SEQ"));
- dbProgress=handler.select(getConnection(), _sqlQuery);
- for (DBRecord record1 : dbProgress) {
- if(record1.getInt("WORK_TYPE")==DBConstants.dnworkinfoTypes.WORK_TYPE.RETRIEVAL
- ||record1.getInt("WORK_TYPE")==DBConstants.dnworkinfoTypes.WORK_TYPE.RETRIEVAL_ESHAPE) {
- TOTAL_WORK_QTY+=record1.getInt("TOTAL_WORK_QTY");
- TOTAL_RESULT_QTY+=record1.getInt("TOTAL_RESULT_QTY");
- PALLET_PICK_QTY+=record1.getInt("PALLET_PICK_QTY");
- TOTAL_PALLET_PICK_QTY+=record1.getInt("TOTAL_PALLET_PICK_QTY");
- CASE_PICK_QTY+=record1.getInt("CASE_PICK_QTY");
- TOTAL_CASE_PICK_QTY+=record1.getInt("TOTAL_CASE_PICK_QTY");
- }
- //2018/03/30 EDIT:START
- else if(record1.getInt("WORK_TYPE")==DBConstants.dnworkinfoTypes.WORK_TYPE.SELECTIVE_RACK_PICKING) {
- //2018/03/30 EDIT:END
- params.set(SRPG_BAR, record1.getInt("TOTAL_RESULT_QTY")*100/record1.getInt("TOTAL_WORK_QTY"));
- params.set(SRPG_BAR_MAX,100);
- params.set(TXT_SRCASEPICK,record1.getInt("CASE_PICK_QTY")+"/"+record1.getInt("TOTAL_CASE_PICK_QTY"));
- params.set(TXT_SRPALLETPICK,record1.getInt("PALLET_PICK_QTY")+"/"+record1.getInt("TOTAL_PALLET_PICK_QTY"));
- }
- }
- params.set(ASPG_BAR, TOTAL_RESULT_QTY*100/TOTAL_WORK_QTY);
- params.set(ASPG_BAR_MAX,100);
- params.set(TXT_ASCASEPICK,CASE_PICK_QTY+"/"+TOTAL_CASE_PICK_QTY);
- params.set(TXT_ASPALLETPICK,PALLET_PICK_QTY+"/"+TOTAL_PALLET_PICK_QTY);
- }
- }
- }catch (Exception e)
- {
- }
- return params;
- }
- //------------------------------------------------------------
- // accessor methods
- //------------------------------------------------------------
- //------------------------------------------------------------
- // package methods
- //------------------------------------------------------------
- //------------------------------------------------------------
- // protected methods
- //------------------------------------------------------------
- //------------------------------------------------------------
- // private methods
- //------------------------------------------------------------
- private void initiate(ShipmentPickingMonitorSCHParams params) {
- params.set(TXT_WORKDATE, null);
- params.set(TXT_SHIPNUM, null);
- params.set(TXT_STATUS, null);
- params.set(PROGRESS_BAR1_DATA1,0);
- params.set(PROGRESS_MAX, 100);
- params.set(ASPG_BAR, 0);
- params.set(ASPG_BAR_MAX,100);
- params.set(TXT_ASCASEPICK,0+"/"+0);
- params.set(TXT_ASPALLETPICK,0+"/"+0);
- params.set(SRPG_BAR, 0);
- params.set(SRPG_BAR_MAX,100);
- params.set(TXT_SRCASEPICK,0+"/"+0);
- params.set(TXT_SRPALLETPICK,0+"/"+0);
- }
- private SQLQuery createSqlOfWorkStatus()
- {
- SQLQuery sqlQuery = new SQLQuery();
- sqlQuery.append("SELECT RetrivalPlan.WAVE_SEQ,");
- sqlQuery.append(" RetrivalPlan.SHIP_TICKET_NUM,");
- sqlQuery.append(" RetrivalPlan.STATUS_FLAG,");
- sqlQuery.append(" (SELECT SUM(DNRETRIEVALPLAN.PLAN_QTY)");
- sqlQuery.append(" FROM DNRETRIEVALPLAN");
- sqlQuery.append(" WHERE DNRETRIEVALPLAN.WAVE_SEQ = RetrivalPlan.WAVE_SEQ");
- sqlQuery.append(" AND DNRETRIEVALPLAN.STATUS_FLAG != ").append(dnretrievalPlanStatusFlag.STATUS_FLAG.DELTED);
- sqlQuery.append(" GROUP BY DNRETRIEVALPLAN.WAVE_SEQ) TOTAL_PLAN_QTY,");
- sqlQuery.append(" NVL((SELECT SUM(DNSHIPWORKINFO.RESULT_QTY)");
- sqlQuery.append(" FROM DNSHIPWORKINFO");
- sqlQuery.append(" WHERE DNSHIPWORKINFO.WAVE_SEQ = RetrivalPlan.WAVE_SEQ");
- sqlQuery.append(" AND DNSHIPWORKINFO.STATUS_FLAG = ").append(dnshipworkinfo.STATUS_FLAG.COMPLETED).append(" ),0) AS RESULT_QTY ");
- sqlQuery.append(" FROM (SELECT DISTINCT DNWAVE.WAVE_SEQ,DNRETRIEVALPLAN.SHIP_TICKET_NUM,DNWAVE.STATUS_FLAG");
- sqlQuery.append(" FROM DNWAVE,DNRETRIEVALPLAN,");
- sqlQuery.append(" (SELECT *FROM (SELECT DNWAVE.WAVE_SEQ");
- sqlQuery.append(" FROM DNWAVE");
- sqlQuery.append(" WHERE ( DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.ONQUEUE);
- sqlQuery.append(" OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.WORKING);
- sqlQuery.append(" OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.SHORTAGE).append(" ) ");
- sqlQuery.append(" AND DNWAVE.WAVE_TYPE = ").append(dnwaveStatus.DNWAVE_TYPE.SHIPMENT);
- sqlQuery.append(" ORDER BY DNWAVE.STATUS_FLAG DESC, DNWAVE.PRIORITY DESC,DNWAVE.SHORTAGE_ALLOC_FLAG DESC,DNWAVE.WAVE_START_TIME ASC)");
- sqlQuery.append(" WHERE ROWNUM <= 1) CURRENT_WORK");
- sqlQuery.append(" WHERE CURRENT_WORK.WAVE_SEQ = DNWAVE.WAVE_SEQ ");
- sqlQuery.append(" AND DNWAVE.WAVE_TYPE = ").append(dnwaveStatus.DNWAVE_TYPE.SHIPMENT);
- sqlQuery.append(" AND DNWAVE.WAVE_SEQ = DNRETRIEVALPLAN.WAVE_SEQ) RetrivalPlan");
- sqlQuery.append(" GROUP BY RetrivalPlan.WAVE_SEQ,RetrivalPlan.SHIP_TICKET_NUM,RetrivalPlan.STATUS_FLAG");
- return sqlQuery;
- }
- private SQLQuery createSqlOfProgress(String wave_seq)
- {
- SQLQuery sqlQuery = new SQLQuery();
- sqlQuery.append("SELECT CASE WHEN PROGRESS.WORK_TYPE= ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RFT_CONSOLIDATE));
- sqlQuery.append(" AND PROGRESS.PICKING_TYPE= ").append(dnshipworkinfo.PICKING_TYPE.CASE_INDUCTION);
- sqlQuery.append(" THEN ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL_ESHAPE));
- sqlQuery.append(" ELSE PROGRESS.WORK_TYPE END WORK_TYPE,");
- sqlQuery.append(" SUM(PROGRESS.RESULT_QTY) AS TOTAL_RESULT_QTY,");
- sqlQuery.append(" SUM(PROGRESS.WORK_QTY) AS TOTAL_WORK_QTY,");
- sqlQuery.append(" SUM(PROGRESS.CASE_PICK) AS CASE_PICK_QTY,");
- sqlQuery.append(" SUM(PROGRESS.TOTAL_CASE_PICK) AS TOTAL_CASE_PICK_QTY,");
- sqlQuery.append(" SUM(PROGRESS.PALLET_PICK) AS PALLET_PICK_QTY,");
- sqlQuery.append(" SUM(PROGRESS.TOTAL_PALLET_PICK) AS TOTAL_PALLET_PICK_QTY");
- sqlQuery.append("FROM (SELECT DNWORKINFO.WORK_TYPE,");
- sqlQuery.append(" CASE WHEN DNWORKINFO.WORK_TYPE != ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RFT_CONSOLIDATE));
- sqlQuery.append(" THEN DNWORKINFO.WORK_QTY ELSE 0 ");
- sqlQuery.append(" END WORK_QTY,");
- sqlQuery.append(" DNSHIPWORKINFO.PICKING_TYPE,");
- sqlQuery.append(" CASE");
- sqlQuery.append(" WHEN DNSHIPWORKINFO.STATUS_FLAG = ").append(dnshipworkinfo.STATUS_FLAG.COMPLETED);
- sqlQuery.append(" THEN DNSHIPWORKINFO.RESULT_QTY ELSE 0");
- sqlQuery.append(" END AS RESULT_QTY,");
- sqlQuery.append(" CASE");
- sqlQuery.append(" WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL_ESHAPE));
- sqlQuery.append(" OR (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RFT_CONSOLIDATE)).append(" AND DNSHIPWORKINFO.PICKING_TYPE = ").append(dnshipworkinfo.PICKING_TYPE.CASE_INDUCTION).append(" ) ");
- 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 DNSHIPWORKINFO.STATUS_FLAG = ").append(dnshipworkinfo.STATUS_FLAG.COMPLETED);
- sqlQuery.append(" THEN FLOOR(DNSHIPWORKINFO.RESULT_QTY / NVL(DMITEM.PIECE_PER_CASE,1)) ELSE 0");
- sqlQuery.append(" END AS CASE_PICK,");
- sqlQuery.append(" CASE");
- sqlQuery.append(" WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL_ESHAPE));
- 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)) ");
- sqlQuery.append(" THEN FLOOR(DNWORKINFO.WORK_QTY / NVL(DMITEM.PIECE_PER_CASE,1)) ELSE 0");
- sqlQuery.append(" END AS TOTAL_CASE_PICK,");
- sqlQuery.append(" CASE");
- sqlQuery.append(" WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL));
- 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 DNSHIPWORKINFO.STATUS_FLAG = ").append(dnshipworkinfo.STATUS_FLAG.COMPLETED);
- sqlQuery.append(" THEN FLOOR(DNSHIPWORKINFO.RESULT_QTY/NVL(DMITEM.PIECE_PER_PALLET,1)) ELSE 0");
- sqlQuery.append(" END AS PALLET_PICK,");
- sqlQuery.append(" CASE");
- sqlQuery.append(" WHEN (DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL));
- 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 ))) ");
- sqlQuery.append(" THEN FLOOR(DNWORKINFO.WORK_QTY/NVL(DMITEM.PIECE_PER_PALLET,1)) ELSE 0");
- sqlQuery.append(" END AS TOTAL_PALLET_PICK");
- sqlQuery.append(" FROM DNWAVE JOIN DNRETRIEVALPLAN ON DNWAVE.WAVE_SEQ=DNRETRIEVALPLAN.WAVE_SEQ ");
- sqlQuery.append(" LEFT JOIN DNWORKINFO ON DNRETRIEVALPLAN.PLAN_UKEY = DNWORKINFO.PLAN_UKEY ").append(" AND DNWORKINFO.LOAD_WORK_STATUS != ").append(dnworkinfoTypes.LOAD_WORK_STATUS.DELETE);
- sqlQuery.append(" JOIN DNSTOCK ON DNSTOCK.STOCK_ID=DNWORKINFO.STOCK_ID");
- sqlQuery.append(" JOIN DMITEM ON DMITEM.ITEM_CODE=DNSTOCK.ITEM_CODE");
- sqlQuery.append(" LEFT JOIN DNSHIPWORKINFO ON DNSHIPWORKINFO.WAVE_SEQ = DNWAVE.WAVE_SEQ AND DNWORKINFO.STOCK_ID=DNSHIPWORKINFO.STOCK_ID");
- sqlQuery.append(" WHERE DNWAVE.WAVE_SEQ = '"+wave_seq+"'");
- sqlQuery.append(" AND DNWAVE.WAVE_TYPE = ").append(dnwaveStatus.DNWAVE_TYPE.SHIPMENT);
- sqlQuery.append(" AND ( DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.ONQUEUE);
- sqlQuery.append(" OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.WORKING);
- sqlQuery.append(" OR DNWAVE.STATUS_FLAG = ").append(dnwaveStatus.DNWAVE_STATUS_TYPE.SHORTAGE).append(" ) ");
- sqlQuery.append(" AND DNRETRIEVALPLAN.STATUS_FLAG != ").append(dnretrievalPlanStatusFlag.STATUS_FLAG.DELTED);
- sqlQuery.append(" AND ( DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL));
- sqlQuery.append(" OR DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RETRIEVAL_ESHAPE));
- sqlQuery.append(" OR DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.SELECTIVE_RACK_PICKING));
- sqlQuery.append(" OR DNWORKINFO.WORK_TYPE = ").append(String.valueOf(dnworkinfoTypes.WORK_TYPE.RFT_CONSOLIDATE)).append(" ))PROGRESS ");
- sqlQuery.append("GROUP BY PROGRESS.WORK_TYPE,PROGRESS.PICKING_TYPE");
- return sqlQuery;
- }
- //------------------------------------------------------------
- // utility methods
- //------------------------------------------------------------
- /**
- * Returns current repository info for this class
- * @return version
- */
- public static String getVersion()
- {
- return "$Id: Sch.xml 2808 2014-10-27 05:13:07Z noriyuki_sawa_ha.daifuku.co.jp $";
- }
- }
- //end of class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement