Bladeren bron

已出库订单不能修改物资件数。

xiaosonghong 6 maanden geleden
bovenliggende
commit
9876b60a22

+ 1 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderMaterialController.java

@@ -75,6 +75,7 @@ public class OmstruckOrderMaterialController extends BaseRESTfulController {
             }
         }catch (Exception e){
             e.printStackTrace();
+            return failed(e.getMessage());
         }
         BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
         if(saleOrderId != null){

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -249,6 +249,9 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //通过运输订单Id或运输订单号查询订单类型
     Integer getOrderTypeByOrderId(BigDecimal orderId);
 
+    //通过运输订单ID或运输订单号查询是否出库
+    Integer getOutCountsByOrderId(BigDecimal orderId);
+
     // 销售中的运输订单
     Map<String, Object> getSaleMap(BigDecimal orderId);
 

+ 4 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java

@@ -303,7 +303,7 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
      * @return
      */
     @Transactional
-    public int updateMaterialMes(Map<String, Object> map) {
+    public int updateMaterialMes(Map<String, Object> map) throws Exception {
         OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
         List<Map<String,Object>>mapList = (List<Map<String, Object>>) map.get("mapList");
         Object orderIds = map.get("orderId");
@@ -311,6 +311,9 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
         for (Map<String, Object>map1 : mapList) {
             if (orderIds != null) {
                 BigDecimal orderId = DataChange.dataToBigDecimal(orderIds);
+                if(omstruckOrderMapper.getOutCountsByOrderId(orderId) > 0){
+                    throw new Exception("订单已出库,不能修改件数!");
+                }
                 //根据运输订单id去查询订单类型
                 Integer orderType = omstruckOrderMapper.getOrderTypeByOrderId(orderId);
                 BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));

+ 4 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -3565,6 +3565,10 @@
         where ORDER_ID = #{orderId}
     </select>
 
+    <select id="getOutCountsByOrderId" parameterType="DECIMAL" resultType="java.lang.Integer">
+        SELECT count(1) AS counts FROM OYE_OUTBOUND_RESULT t WHERE t.order_id = #{orderId}
+    </select>
+
 
     <select id="getCarrierIdBySSO" parameterType="java.lang.String" resultType="DECIMAL" >
         SELECT