litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.bo.views; /** * Status Codes for Inventory related counting. Normally the process is: * <p/> * Defaults to NC at start of count, * Once count starts, it changes to OK if the Expected Count matches the Actual Count, otherwise changes to NM. */ public class InventorySupport { public enum Status { NC, NM, OK } public static final String NC = Status.NC.toString(); // Not Counted public static final String NM = Status.NM.toString(); // Not Matching public static final String OK = Status.OK.toString(); // OK / Matched public static final String DASH_DASH = "--"; // ........ Nothing to Match Against! public static final String[] OPTIONS = {NC, NM, OK, DASH_DASH}; public static String getStatus( Integer pExpectedCount, Integer pActualCount ) { if ( pExpectedCount == null ) { return DASH_DASH; } if ( pActualCount == null ) { return NC; } return pActualCount.equals( pExpectedCount ) ? "OK" : "NM"; } public static boolean isActive( String pStatus ) { return (pStatus != null) && !DASH_DASH.equals( pStatus ); } public static int compareTo( String pThisStatus, String pThemStatus ) { return orderFor( pThisStatus ) - orderFor( pThemStatus ); } private static int orderFor( String pStatus ) { if ( NC.equals( pStatus ) ) { return 0; } if ( NM.equals( pStatus ) ) { return 1; } if ( OK.equals( pStatus ) ) { return 2; } if ( DASH_DASH.equals( pStatus ) ) { return 3; } return 4; } } |