소스 검색

提交代码

zengyf 2 년 전
부모
커밋
b4366c5218

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

@@ -486,6 +486,10 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
     @PostMapping("updateDetailsStatus")
     public RESTfulResult updateDetailsStatus(@RequestBody Map<String,Object> map) {
         List<Integer> mapList = (List<Integer>)map.get("orderList");
+        List<Map<String,Object>> amsPriceList = (List<Map<String, Object>>) map.get("amsPriceList");
+        if (amsPriceList.size()>0){
+            bmstruckDetailsOrderService.insertPriceValue(amsPriceList);
+        }
         int i = bmstruckDetailsOrderService.updateDetailsStatus(mapList);
         return success(i);
     }

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

@@ -201,4 +201,17 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
     int updateDetailsStatus(Integer orderId);
 
     int getSaleOrderStatus(BigDecimal orderId);
+
+    //获取单价
+    BigDecimal getPriceIdInt(Integer placeId);
+
+    //获取单价Id
+    BigDecimal getOmsTruckOrderPriceId(BigDecimal orderId);
+
+    //查询主键最大值
+    @Select("select seq_truck_price.nextval from dual")
+    BigDecimal selectMaxIdNew();
+
+    //新增单价
+    int insertPriceValue(Map<String,Object> map);
 }

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

@@ -11,4 +11,6 @@ import java.util.Date;
 public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecimal> {
 
     public void modifyOldTime(BigDecimal bigDecimal, Date date);
+
+    BigDecimal getPriceId(Integer orderId);
 }

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

@@ -119,4 +119,7 @@ public interface IBmstruckDetailsOrderService {
 
     //查询订单状态
     int getSaleOrderStatus(BigDecimal orderId);
+
+    //新增单价信息
+    int insertPriceValue(List<Map<String,Object>> mapList);
 }

+ 35 - 3
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -591,17 +591,17 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
                 BigDecimal newAmount = updateSteelAmounts(map);
                 bmstruckDetailsOrder.setDetailsAmount(newAmount.divide(new BigDecimal(1),2, RoundingMode.HALF_UP));
                 //修改单价的历史时间
-                omstruckOrderMapper.modifyOldTime(priceId,new Date());
+                //omstruckOrderMapper.modifyOldTime(priceId,new Date());
             }catch (Exception e) {
                 System.out.println("更新历史时间失败");
             }
             result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
         }
-        try {
+        /*try {
             amsFeign.copySteelPrice(mapValue);
         } catch (Exception e) {
             e.printStackTrace();
-        }
+        }*/
         if(DataChange.dataToBigDecimal(mapValue.get("updatePlace")).intValue() == 1) {
             Map<String, Object> stringObjectMap = bmstruckDetailsOrderMapper.getsaleShippingAddressId(mapValue);
             BigDecimal saleShippingAddressId = (BigDecimal) stringObjectMap.get("saleShippingAddressId");
@@ -928,6 +928,8 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             //bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(1));
             //i += bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
             i += bmstruckDetailsOrderMapper.updateDetailsStatus(orderId);
+            /*BigDecimal priceId = omstruckOrderMapper.getPriceId(orderId);
+            omstruckOrderMapper.modifyOldTime(priceId,new Date());*/
         }
         return i;
     }
@@ -936,4 +938,34 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     public int getSaleOrderStatus(BigDecimal orderId) {
         return bmstruckDetailsOrderMapper.getSaleOrderStatus(orderId);
     }
+
+    @Override
+    public int insertPriceValue(List<Map<String, Object>> mapList) {
+        for (Map<String, Object> map : mapList) {
+            Integer placeId =(Integer) map.get("placeId");
+            //根据位置ID去查询是否有单价存在,如果有就跳过
+            BigDecimal priceIdInt = bmstruckDetailsOrderMapper.getPriceIdInt(placeId);
+            if (priceIdInt!=null&&priceIdInt.compareTo(BigDecimal.ZERO)!=0){
+                break;
+            }else {
+                //新增单价
+                BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+                BigDecimal omsTruckOrderPriceId = bmstruckDetailsOrderMapper.getOmsTruckOrderPriceId(orderId);
+                Map<String,Object> map1=new HashMap<>();
+                map1.put("orderId",orderId);
+                map1.put("priceId",omsTruckOrderPriceId);
+                try {
+                    amsFeign.copySteelPrice(map1);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                //单价的主键
+                //map1.put("priceId",bmstruckDetailsOrderMapper.selectMaxIdNew());
+                //map1.put("priceValue",map.get("priceValue"));
+                //map1.put("placeId",placeId);
+                //bmstruckDetailsOrderMapper.insertPriceValue(map1);
+            }
+        }
+        return 0;
+    }
 }

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

@@ -2375,4 +2375,23 @@
         WHERE OO .ORDER_ID = #{orderId}
         FETCH NEXT 1 ROWS ONLY
     </select>
+
+    <select id="getPriceIdInt" resultType="java.math.BigDecimal">
+        SELECT NVL(ACTP.PRICE_ID,0) "priceId" FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+        WHERE ACTP.TYPE = 1
+        and ACTP.DELETED = 0
+        AND ACTP.PLACE_ID = #{placeId}
+        fetch first 1 row only
+    </select>
+
+    <select id="getOmsTruckOrderPriceId" resultType="java.math.BigDecimal">
+       select OO.PRICE_ID from OMSTRUCK_ORDER OO
+       WHERE OO.ORDER_ID=#{orderId}
+       fetch first 1 row only
+    </select>
+
+    <insert id="insertPriceValue">
+        insert into AMS_CONTRACT_TRANSPORT_PRICE(PRICE_ID,PRICE_VALUE,PLACE_ID,ISSTANDARD)
+        VALUES(#{priceId},#{priceValue},#{placeId},'1')
+    </insert>
 </mapper>

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

@@ -689,5 +689,10 @@
         set t.OLD_DATE=#{date}
         where t.PRICE_ID=#{bigDecimal}
     </update>
+    
+    <select id="getPriceId" resultType="java.math.BigDecimal">
+        select OO.PRICE_ID "priceId" FROM OMSTRUCK_ORDER OO
+        WHERE OO.ORDER_ID=#{orderId}
+    </select>
 
 </mapper>