hujh il y a 3 ans
Parent
commit
30d5de8e64

+ 31 - 29
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -124,35 +124,36 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         Map<String, Object> order = wmspOutboundResultService.getOrder(orderNumber);
         /**拿运输订单信息中的运输订单Id*/
         BigDecimal orderId = (BigDecimal) order.get("orderId");
-        /**根据运输订单号,查询出该订单还没有装货的物资*/
-        List<Map<String,Object>> orderList = wmspOutboundResultService.getMaterial(orderId.intValue());
-        //拿到还没装货的物资的物资编码
-        String materialCode = (String) orderList.get(0).get("materialCode");
-        //拿到还没装货的物资的物资名称
-        String materialName = (String) orderList.get(0).get("materialName");
-        //拿到还没装货的物资的规格
-        String materialSpecification = (String) orderList.get(0).get("materialSpecification");
-        //拿到还没装货的物资的型号
-        String materialModel = (String) orderList.get(0).get("materialModel");
-        //拿到还没装货的物资的物资理重
-        BigDecimal materialTheoreticalWeight = (BigDecimal) orderList.get(0).get("materialTheoreticalWeight");
-        //获取装卸工工号
-        //String personnelJobNumber = mapval.get("personnelJobNumber").toString();
-        //通过装卸工工号查询装卸工名称
-        //String personnelName = wmspOutboundResultService.getPersonnelNameByJobnumber(personnelJobNumber);
+//        根据该运输订单Id判断当前订单是否已经完成出厂,若完成直接返回null
+        if (wmspOutboundResultService.getOutboundStatus(orderId)==0){
+            /**根据运输订单号,查询出该订单还没有装货的物资*/
+            List<Map<String,Object>> orderList = wmspOutboundResultService.getMaterial(orderId.intValue());
+            //拿到还没装货的物资的物资编码
+            String materialCode = (String) orderList.get(0).get("materialCode");
+            //拿到还没装货的物资的物资名称
+            String materialName = (String) orderList.get(0).get("materialName");
+            //拿到还没装货的物资的规格
+            String materialSpecification = (String) orderList.get(0).get("materialSpecification");
+            //拿到还没装货的物资的型号
+            String materialModel = (String) orderList.get(0).get("materialModel");
+            //拿到还没装货的物资的物资理重
+            BigDecimal materialTheoreticalWeight = (BigDecimal) orderList.get(0).get("materialTheoreticalWeight");
+            //获取装卸工工号
+            //String personnelJobNumber = mapval.get("personnelJobNumber").toString();
+            //通过装卸工工号查询装卸工名称
+            //String personnelName = wmspOutboundResultService.getPersonnelNameByJobnumber(personnelJobNumber);
 
-        //拿到还没装货的物资id的第一条
-        BigDecimal materialId = (BigDecimal) orderList.get(0).get("materialId");
-        /**根据运输订单ID和物资id查询出库单(没有逻辑删除)
-         *          若orderNum大于0,则不是第一次扫描,已经新增出库单,返回详情信息
-         *          若orderNum等于0,则是第一次扫描,需要增加出库单,再返回详情信息
-         * */
-        Map<String,Object> map = new HashMap<>();
-        map.put("orderId",orderId);
-        map.put("materialId",materialId);
-        //初始化出库单详情信息
-        Map<String, Object> outBoundDetailedInfo=null;
-        if ("".equals(wmspOutboundResultService.ExistWmspOutboundResult(map))){
+            //拿到还没装货的物资id的第一条
+            BigDecimal materialId = (BigDecimal) orderList.get(0).get("materialId");
+            /**根据运输订单ID和物资id查询出库单(没有逻辑删除)
+             *          若orderNum大于0,则不是第一次扫描,已经新增出库单,返回详情信息
+             *          若orderNum等于0,则是第一次扫描,需要增加出库单,再返回详情信息
+             * */
+            Map<String,Object> map = new HashMap<>();
+            map.put("orderId",orderId);
+            map.put("materialId",materialId);
+            //初始化出库单详情信息
+            Map<String, Object> outBoundDetailedInfo=null;
             int orderNum = wmspOutboundResultService.ExistWmspOutboundResult(map);
             if(orderNum == 0){
                 /**创建出库单实体*/
@@ -233,8 +234,9 @@ public class WmspOutboundResultController extends BaseRESTfulController {
                 outBoundDetailedInfo.put("materialModel",materialModel);
                 outBoundDetailedInfo.put("materialTheoreticalWeight",materialTheoreticalWeight);
             }
+            return outBoundDetailedInfo;
         }
-        return outBoundDetailedInfo;
+        return null;
     }
 
     /**

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/WmspOutboundResultMapper.java

@@ -72,4 +72,6 @@ public interface WmspOutboundResultMapper extends IBaseMapper<WmspOutboundResult
     List<Map<String, Object>> getOunboundOrderNumber(BigDecimal resultId);
     // 修改网格为已删除
     int updateGrid(BigDecimal materialId);
+//    根据orderId获得当前运输订单的状态
+    int getOutboundStatus(BigDecimal orderId);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IWmspOutboundResultService.java

@@ -74,4 +74,6 @@ public interface IWmspOutboundResultService {
     int outbountResultToSuccess(Integer resultId);
     //通过出库实绩Id判断出库单已扫描的件数是否等于运输订单物资表的物资件数
     int EqualMaterialsNumber(BigDecimal resultId);
+//    根据orderId判断当前运输订单的状态
+    int getOutboundStatus(BigDecimal orderId);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java

@@ -219,4 +219,9 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
         //返回结果
         return EqualMaterialsNumber;
     }
+
+    @Override
+    public int getOutboundStatus(BigDecimal orderId) {
+        return wmspOutboundResultMapper.getOutboundStatus(orderId);
+    }
 }

+ 6 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml

@@ -711,7 +711,7 @@
   <select id="ExistWmspOutboundResult" parameterType="java.util.Map" resultType="int">
     select count(*)
     from WMSP_OUTBOUND_RESULT w_outbound
-    where (w_outbound.DELETED=0 and w_outbound.RESULT_STATUS =1) and w_outbound.BILL_LADING_ID=#{orderId} and w_outbound.MATERIAL_ID=#{materialId}
+    where w_outbound.DELETED=0  and w_outbound.BILL_LADING_ID=#{orderId} and w_outbound.MATERIAL_ID=#{materialId}
   </select>
 
   <select id="getOutBoundDetailedInfo" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
@@ -868,6 +868,11 @@
                        AND WOR.MATERIAL_ID = OOM.MATERIAL_ID
     WHERE WOR.RESULT_ID = #{resultId}
   </select>
+  <select id="getOutboundStatus" resultType="java.lang.Integer">
+    SELECT COUNT(*)
+    FROM WMSP_OUTBOUND_RESULT wor
+    WHERE wor.RESULT_STATUS = 1 AND wor.BILL_LADING_ID =#{orderId}
+  </select>
 
   <update id="updateGrid" parameterType="DECIMAL" >
     UPDATE WMSP_GRID_MATERIAL WGM