Explorar o código

限制已审核修改单价

liyg %!s(int64=2) %!d(string=hai) anos
pai
achega
64e788e2e7

+ 10 - 0
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -329,6 +329,16 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
     public RESTfulResult updateBatchDetailsOrder(@RequestBody Map<String,Object> mapValue) throws Exception {
         List<Map<String,Object>> mapList = (List<Map<String,Object>>) mapValue.get("mapList");
         int code = 0;
+        try{
+            for (Map<String,Object> map :mapList) {
+                if(bmstruckDetailsOrderService.getSaleOrderStatus(DataChange.dataToBigDecimal(map.get("orderId")))!=4){
+                    return failed("存在未审核的订单,不允许修改单价!");
+                }
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+            System.out.println("查询订单状态异常");
+        }
         for (Map<String,Object> map :mapList) {
              map.put("updatePlace",mapValue.get("updatePlace"));
              code += bmstruckDetailsOrderService.updateDetailsOrder(map);

+ 1 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java

@@ -190,4 +190,5 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 
     int updateDetailsStatus(Integer orderId);
 
+    int getSaleOrderStatus(BigDecimal orderId);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckDetailsOrderService.java

@@ -116,4 +116,7 @@ public interface IBmstruckDetailsOrderService {
     int newInwardSettle(List<Map<String,Object>> orderIds);
 
     int updateDetailsStatus(List<Integer> mapList);
+
+    //查询订单状态
+    int getSaleOrderStatus(BigDecimal orderId);
 }

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

@@ -890,4 +890,9 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         }
         return i;
     }
+
+    @Override
+    public int getSaleOrderStatus(BigDecimal orderId) {
+        return bmstruckDetailsOrderMapper.getSaleOrderStatus(orderId);
+    }
 }

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -2335,4 +2335,12 @@
         SET BDO.WETHER_TO_STATEMENT = 1
         WHERE BDO.ORDER_ID = #{orderId}
     </update>
+    <select id="getSaleOrderStatus" resultType="java.lang.Integer">
+        SELECT ASO.SALE_ORDER_STATUS
+        FROM AMS_SALE_ORDER ASO
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                 LEFT JOIN OMSTRUCK_ORDER OO ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID AND NVL(OO.ORDER_TYPE,0) in (0,1)
+        WHERE OO .ORDER_ID = #{orderId}
+        FETCH NEXT 1 ROWS ONLY
+    </select>
 </mapper>