From c9647257d0b789f94c14977dfa767c47d61cb566 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 12 十二月 2024 13:16:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java |  275 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 260 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java b/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
index 5a2bc65..db697d7 100644
--- a/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
+++ b/src/main/java/com/zy/asrs/utils/OrderInAndOutUtil.java
@@ -1,14 +1,18 @@
 package com.zy.asrs.utils;
 
+import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.common.model.enumUtils.OrderEnumVo;
 import com.zy.common.model.enumUtils.OrderInAndOutType;
 import com.zy.common.model.enumUtils.OrderMethodVo;
 import org.apache.poi.ss.formula.functions.T;
 
 import java.lang.reflect.Method;
+import java.util.List;
 
 public class OrderInAndOutUtil {
 
@@ -19,49 +23,290 @@
        return OrderEnumVo.PAKOUT.getCode();
     }
 
-    public static Method implement(boolean sign,OrderMethodVo orderMethodVo){
+    public static OrderInAndOutType getOrderInAndOutType(boolean sign) {
+       return OrderInAndOutType.valueOf(enumUtil(sign));
+    }
+
+    public static boolean aBoolean(Object object){
+        if (Cools.isEmpty(object)){
+            throw new CoolException("null");
+        } else if (object instanceof Boolean) {
+            return (boolean) object;
+        } else {
+            throw new CoolException("Unexpected return type");
+        }
+    }
+
+    public static Order aOrder(Object object){
+        if (Cools.isEmpty(object)){
+            return null;
+        } else if (object instanceof Order) {
+            return (Order) object;
+        } else {
+            throw new CoolException("Unexpected return type");
+        }
+    }
+
+    public static OrderDetl aOrderDetl(Object object){
+        if (Cools.isEmpty(object)){
+            return null;
+        } else if (object instanceof OrderDetl) {
+            return (OrderDetl) object;
+        } else {
+            throw new CoolException("Unexpected return type");
+        }
+    }
+
+    public static Method implement(OrderMethodVo orderMethodVo){
         Class<OrderInAndOutType> casual = OrderInAndOutType.class;
         try{
             switch (orderMethodVo){
                 case QUERY:
                     return casual.getDeclaredMethod(OrderMethodVo.QUERY.getCode(), String.class);
+                case SELECT_BY_NO:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_BY_NO.getCode(), String.class);
+                case SELECT_BY_ORDER_ID:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_BY_ORDER_ID.getCode(), Long.class);
+                case SELECT_WORKING_DETLS:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_WORKING_DETLS.getCode(), Long.class);
+                case CHECK_COMPLETE:
+                    return casual.getDeclaredMethod(OrderMethodVo.CHECK_COMPLETE.getCode(), String.class);
+                case SAVE_HANDLER_ORDER:
+                    return casual.getDeclaredMethod(OrderMethodVo.SAVE_HANDLER_ORDER.getCode(), Boolean.class, WrkMast.class, List.class);
                 case INSERT_ORDER:
                     return casual.getDeclaredMethod(OrderMethodVo.INSERT_ORDER.getCode(), Order.class);
                 case INSERT_ORDERDETL:
                     return casual.getDeclaredMethod(OrderMethodVo.INSERT_ORDERDETL.getCode(), Order.class, OrderDetl.class);
-                case IMPLEMENT:
-                    return casual.getDeclaredMethod(OrderMethodVo.IMPLEMENT.getCode(), Object.class,Object.class);
+                case UPDATE_ORDER:
+                    return casual.getDeclaredMethod(OrderMethodVo.UPDATE_ORDER.getCode(), Long.class,Long.class,Long.class);
+                case UPDATE_ORDERDETL:
+                    return casual.getDeclaredMethod(OrderMethodVo.UPDATE_ORDERDETL.getCode(), Order.class,OrderDetl.class);
+                case REMOVE:
+                    return casual.getDeclaredMethod(OrderMethodVo.REMOVE.getCode(), Long.class);
+                case SELECT_COMPLETE:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_COMPLETE.getCode());
+                case SELECT_ITEM1:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_ITEM1.getCode(), Long.class,String.class,String.class);
+                case SELECT_ITEM2:
+                    return casual.getDeclaredMethod(OrderMethodVo.SELECT_ITEM2.getCode(), String.class,String.class,String.class);
+                case FIND_BY_LOOK:
+                    return casual.getDeclaredMethod(OrderMethodVo.FIND_BY_LOOK.getCode(), List.class, Long.class,String.class,String.class);
+                case INCREASE:
+                    return casual.getDeclaredMethod(OrderMethodVo.INCREASE.getCode(), Long.class,String.class,String.class,Double.class);
+                case DECREASE:
+                    return casual.getDeclaredMethod(OrderMethodVo.DECREASE.getCode(), String.class,String.class,String.class,Double.class);
+                case MODIFY_STATUS:
+                    return casual.getDeclaredMethod(OrderMethodVo.MODIFY_STATUS.getCode(), Long.class,Integer.class);
+                case ADD_TO_LOG_TABLE:
+                    return casual.getDeclaredMethod(OrderMethodVo.ADD_TO_LOG_TABLE.getCode(), OrderDetl.class);
+                case INCREASE_QTY_BY_ORDER_NO:
+                    return casual.getDeclaredMethod(OrderMethodVo.INCREASE_QTY_BY_ORDER_NO.getCode(), String.class,String.class,String.class,Double.class);
+                case INCREASE_WORKING_QTY:
+                    return casual.getDeclaredMethod(OrderMethodVo.INCREASE_WORKING_QTY.getCode(), Long.class,String.class,String.class,Double.class);
             }
         } catch (Exception e) {
-            throw new CoolException(e.getMessage());
+            throw new CoolException(e.getCause().getMessage());
         }
         throw new CoolException("鏈煡寮傚父");
     }
 
     public static void query(boolean sign,OrderMethodVo orderMethodVo,String orderNo){
-        OrderInAndOutType orderInAndOutType = OrderInAndOutType.valueOf(enumUtil(sign));
         try{
-            implement(sign, orderMethodVo).invoke(orderInAndOutType,orderNo);
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),orderNo);
         } catch (Exception e) {
-            throw new CoolException(e.getMessage());
+            throw new CoolException(e.getCause().getMessage());
         }
     }
 
-    public static void insert(boolean sign,OrderMethodVo orderMethodVo,Order order){
-        OrderInAndOutType orderInAndOutType = OrderInAndOutType.valueOf(enumUtil(sign));
+    public static Order selectByNo(boolean sign,OrderMethodVo orderMethodVo,String orderNo){
         try{
-            implement(sign, orderMethodVo).invoke(orderInAndOutType,order);
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderNo);
+            return aOrder(invoke);
         } catch (Exception e) {
-            throw new CoolException(e.getMessage());
+            throw new CoolException(e.getCause().getMessage());
         }
     }
 
-    public static void insert(boolean sign,OrderMethodVo orderMethodVo,Order order,OrderDetl orderDetl){
-        OrderInAndOutType orderInAndOutType = OrderInAndOutType.valueOf(enumUtil(sign));
+    public static List<OrderDetl> selectByOrderId(boolean sign,OrderMethodVo orderMethodVo,Long orderId){
         try{
-            implement(sign, orderMethodVo).invoke(orderInAndOutType,order,orderDetl);
+            Object result = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId);
+            if (Cools.isEmpty(result)){
+                return null;
+            } else if (result instanceof List) {
+                return (List<OrderDetl>) result;
+            } else {
+                throw new CoolException("Unexpected return type");
+            }
         } catch (Exception e) {
-            throw new CoolException(e.getMessage());
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static List<OrderDetl> selectWorkingDetls(boolean sign,OrderMethodVo orderMethodVo,Long orderId){
+        try{
+            Object result = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId);
+            if (Cools.isEmpty(result)){
+                return null;
+            } else if (result instanceof List) {
+                return (List<OrderDetl>) result;
+            } else {
+                throw new CoolException("Unexpected return type");
+            }
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void checkComplete(boolean sign,OrderMethodVo orderMethodVo,String orderNo){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),orderNo);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean saveHandlerOrder(boolean sign,OrderMethodVo orderMethodVo,Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), pakin, wrkMast, wrkDetls);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void insertOrder(boolean sign,OrderMethodVo orderMethodVo,Order order){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),order);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void insertOrderDetl(boolean sign,OrderMethodVo orderMethodVo,Order order, OrderDetl orderDetl){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),order,orderDetl);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void updateOrder(boolean sign,OrderMethodVo orderMethodVo,Long id, Long settle, Long userId){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),id,settle,userId);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void updateOrderDetl(boolean sign,OrderMethodVo orderMethodVo,Order order, OrderDetl orderDetl){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),order,orderDetl);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static void remove(boolean sign,OrderMethodVo orderMethodVo,Long orderId){
+        try{
+            implement(orderMethodVo).invoke(getOrderInAndOutType(sign),orderId);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static List<Order> selectComplete(boolean sign,OrderMethodVo orderMethodVo){
+        try{
+            Object result = implement(orderMethodVo).invoke(getOrderInAndOutType(sign));
+            if (Cools.isEmpty(result)){
+                return null;
+            } else if (result instanceof List) {
+                return (List<Order>) result;
+            } else {
+                throw new CoolException("Unexpected return type");
+            }
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static OrderDetl selectItem(boolean sign,OrderMethodVo orderMethodVo,Long orderId, String matnr, String batch){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId, matnr, batch);
+            return aOrderDetl(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static OrderDetl selectItem(boolean sign,OrderMethodVo orderMethodVo,String orderNo, String matnr, String batch){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderNo, matnr, batch);
+            return aOrderDetl(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static OrderDetl findByLook(boolean sign,OrderMethodVo orderMethodVo,List<OrderDetl> orderDetls, Long orderId, String matnr, String batch){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderDetls, orderId, matnr, batch);
+            return aOrderDetl(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean increase(boolean sign,OrderMethodVo orderMethodVo,Long orderId, String matnr, String batch, Double qty){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId, matnr, batch, qty);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean decrease(boolean sign,OrderMethodVo orderMethodVo,String orderNo, String matnr, String batch, Double qty){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderNo, matnr, batch, qty);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean modifyStatus(boolean sign,OrderMethodVo orderMethodVo,Long orderId, Integer status){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId, status);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean addToLogTable(boolean sign,OrderMethodVo orderMethodVo,OrderDetl orderDetl){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderDetl);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean increaseQtyByOrderNo(boolean sign,OrderMethodVo orderMethodVo,String orderNo, String matnr, String batch, Double qty){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderNo, matnr, batch, qty);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
+        }
+    }
+
+    public static boolean increaseWorkQty(boolean sign,OrderMethodVo orderMethodVo,Long orderId, String matnr, String batch, Double workQty){
+        try{
+            Object invoke = implement(orderMethodVo).invoke(getOrderInAndOutType(sign), orderId, matnr, batch, workQty);
+            return aBoolean(invoke);
+        } catch (Exception e) {
+            throw new CoolException(e.getCause().getMessage());
         }
     }
 

--
Gitblit v1.9.1