Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

zyf 2 rokov pred
rodič
commit
e9cfcad7e1

+ 9 - 24
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -401,7 +401,7 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
                                                    String startTime,
                                                    String endTime,
                                                    String con){
-        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        DataChange.queryDataByDateTimeYestDay(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         if (carrierSsoId != null && !"null".equals(carrierSsoId)) {
             BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
             mapValue.put("carrierId",carrierId);
@@ -409,42 +409,27 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         if (con != null && !"null".equals(con)){
             mapValue.put("con","%" +con+ "%");
         }
-        if(pageNum!=null&&!("".equals(pageNum))&&pageSize!=null&&!("".equals(pageSize))){
-            PageHelper.startPage(pageNum, pageSize);
+        if(pageNum !=null &&!("".equals(pageNum))&&pageSize!=null&&!("".equals(pageSize))){
+            //PageHelper.startPage(pageNum, pageSize);
         }
         List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getSteelTruckDetailsOrder(mapValue);
-        //查询多条数据
-        for (Map<String, Object> objectMap : columnList) {
-            String priceids = (String) objectMap.get("priceids");
-            if (priceids!=null&&!("".equals(priceids))){
-                String[] split = priceids.split(",");
-                String address1="";
-                for (String s : split) {
-                    //查询出运输订单的行
-                    Map<String, Object> queryaddress = bmstruckDetailsOrderMapper.queryaddress(new BigDecimal(s));
-                    String address = bmstruckDetailsOrderMapper.queryaddress1((BigDecimal) queryaddress.get("placeid"));
-                    address1+=address+",";
-                }
-                objectMap.put("realAddress",address1);
-            }
-        }
         List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
         int i=0;
         for (Map<String, Object> columnData : columnDataList) {
             //每个表头字段的过滤条件
             columnData.put("filters", setListMap(columnList,columnData.get("prop").toString()));
             if (i==1){
-                columnData.put("min-width","83px");
+                columnData.put("min-width","83");
             }else if (i==2){
-                columnData.put("min-width","207px");
+                columnData.put("min-width","207");
             }else if (i==5){
-                columnData.put("min-width","101px");
+                columnData.put("min-width","101");
             }else if (i==8){
-                columnData.put("min-width","184px");
+                columnData.put("min-width","184");
             }else if (i==10){
-                columnData.put("min-width","242px");
+                columnData.put("min-width","120");
             }else if (i==15){
-                columnData.put("min-width","228px");
+                columnData.put("min-width","228");
             }
             i++;
         }

+ 17 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+
+
+@FeignClient(value = "dil-ams-api", url = "${openfeign.AmsFeign.url}")
+public interface AmsFeign {
+
+    @PostMapping(value = "/api/v1/ams/amscontracttransportprice/copySteelPrice")
+    Map<String,Object> copySteelPrice(@RequestBody Map<String, Object> priceMap);
+}

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

@@ -177,4 +177,13 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
     List<Map<String, Object>> getInwardCountDetailsOrder(Map<String, Object> mapValue);
     //查询该订单是否是计重且计时
     String selectWeightAndTimeByOrderId(BigDecimal orderId);
+
+    int getIsHaveDetailsOrder(BigDecimal weightTaskResultId);
+
+    List<Map<String, Object>> getSteelWeightTaskResultId(BigDecimal orderId);
+
+    List<BigDecimal> getDetailIds(BigDecimal orderId);
+
+    int updatePlace(Map<String, Object> mapValue);
+
 }

+ 46 - 22
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.AmsFeign;
 import com.steerinfo.dil.feign.JoinApiFeign;
 import com.steerinfo.dil.feign.OmsFeign;
 import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
@@ -17,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.lang.reflect.Array;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
@@ -49,6 +51,9 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     @Autowired
     OmsFeign omsFeign;
 
+    @Autowired
+    AmsFeign amsFeign;
+
     //以下订单类型是需要算计量实绩的
     final private List<Integer>  inwardTypeList = Arrays.asList(10,11,15,16,23,24,20,25);
     //以下订单类型是需要根据线路去匹配承运起止范围以及物资
@@ -83,7 +88,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
      */
     @Override
     public int insertSelective(BigDecimal orderId) throws Exception {
-        List<Map<String,Object>> weightTaskResultIdList = bmstruckDetailsOrderMapper.getWeightTaskResultId(orderId);
+        List<Map<String,Object>> weightTaskResultIdList = bmstruckDetailsOrderMapper.getSteelWeightTaskResultId(orderId);
         Map<String,Object> priceMap = getPriceId(orderId);
         if (priceMap == null || priceMap.size() == 0) {
             return 0;
@@ -95,6 +100,10 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         int result = 0;
         for (Map<String, Object> map : weightTaskResultIdList) {
             BigDecimal weightTaskResultId = DataChange.dataToBigDecimal(map.get("weightTaskResultId"));
+            //判断该计量实绩有没有结算数据
+            if(bmstruckDetailsOrderMapper.getIsHaveDetailsOrder(weightTaskResultId) > 0 ){
+                continue;
+            }
             BigDecimal detailsAmountOld = generateTruckFees(orderId, weightTaskResultId);
             Double amount = detailsAmountOld.doubleValue();
             DecimalFormat df = new DecimalFormat("0.00");
@@ -114,6 +123,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             String detailsNo = noUtil.setResultNo("QYXD", detailsId);
             bmstruckDetailsOrder.setDetailsId(detailsId);
             bmstruckDetailsOrder.setWeightTaskResultId(weightTaskResultId);
+            bmstruckDetailsOrder.setOrderId(orderId);
             bmstruckDetailsOrder.setDetailsNo(detailsNo);
             bmstruckDetailsOrder.setPriceId(priceId);
             bmstruckDetailsOrder.setDetailsAmount(detailsAmount);
@@ -484,33 +494,47 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     @Transactional
     @Override
     public int updateDetailsOrder(Map<String, Object> mapValue) {
+        BigDecimal orderId = DataChange.dataToBigDecimal(mapValue.get("orderId"));
+        try {
+            int i = insertSelective(orderId);
+        } catch (Exception e) {
+        }
         BigDecimal priceId = DataChange.dataToBigDecimal(mapValue.get("priceId"));
-        BigDecimal detailsId = DataChange.dataToBigDecimal(mapValue.get("detailsId"));
-        BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
-        // 重新设置单价
-        BigDecimal priceId1 = bmstruckDetailsOrder.getPriceId();
-        bmstruckDetailsOrder.setPriceids(priceId1+","+priceId);
-        bmstruckDetailsOrder.setPriceId(priceId);
-        BigDecimal weightTaskResultId = bmstruckDetailsOrder.getWeightTaskResultId();
-        BigDecimal orderId = bmstruckDetailsOrderMapper.getOrderId(weightTaskResultId);
-        OmstruckOrder omstruckOrder = new OmstruckOrder();
-        omstruckOrder.setOrderId(orderId);
-        omstruckOrder.setPriceId(priceId);
-        omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        //根据运输订单id查询计费详单id
+        List<BigDecimal> detailIds = bmstruckDetailsOrderMapper.getDetailIds(orderId);
+        int result = 0;
+        for (BigDecimal detailsId : detailIds) {
+            BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
+            // 重新设置单价
+            BigDecimal priceId1 = bmstruckDetailsOrder.getPriceId();
+            bmstruckDetailsOrder.setPriceids(priceId1+","+priceId);
+            bmstruckDetailsOrder.setPriceId(priceId);
+            BigDecimal weightTaskResultId = bmstruckDetailsOrder.getWeightTaskResultId();
+            try {
+                // 计算出新的详单金额
+                BigDecimal newAmount = generateTruckFees(orderId,weightTaskResultId);
+                bmstruckDetailsOrder.setDetailsAmount(newAmount);
+                //修改计量表的历史时间
+                omstruckOrderMapper.modifyOldTime(priceId,new Date());
+            }catch (Exception e){
+                System.out.println("更新历史时间失败");
+            }
+            result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        }
         try {
-            // 计算出新的详单金额
-            BigDecimal newAmount = generateTruckFees(orderId,weightTaskResultId);
-            bmstruckDetailsOrder.setDetailsAmount(newAmount);
+            amsFeign.copySteelPrice(mapValue);
         } catch (Exception e) {
             e.printStackTrace();
         }
-        try{
-            //修改计量表的历史时间
-            omstruckOrderMapper.modifyOldTime(priceId,new Date());
-        }catch (Exception e){
-            System.out.println("更新历史时间失败");
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(orderId);
+        omstruckOrder.setPriceId(priceId);
+        omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        if(DataChange.dataToBigDecimal(mapValue.get("updatePlace")).intValue() == 1) {
+            //修改地址
+            bmstruckDetailsOrderMapper.updatePlace(mapValue);
         }
-        int result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        //BigDecimal detailsId = DataChange.dataToBigDecimal(mapValue.get("detailsId"));
         return result;
     }
 

+ 22 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -257,4 +257,26 @@ public class DataChange {
         map.put("startDate", dayStartTime + " 00:00:00");
         map.put("endDate", dayEndTime + " 00:00:00");
     }
+
+    public static void queryDataByDateTimeYestDay(String startTime, String endTime, Map<String, Object> map,SimpleDateFormat sdf){
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdfDate.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdfDate.format(new Date(Long.parseLong(endTime))));
+        }
+        //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
+        else if((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))){
+            if(startTime != null && !"null".equals(startTime)){
+                queryDataByTwoDateSon(map, startTime, sdfDate);
+            }
+            if(endTime != null && !"null".equals(endTime)){
+                queryDataByTwoDateSon(map, endTime, sdfDate);
+            }
+        }else {
+            //如果两者时间都为空,则查询当天和昨天数据
+            //String yesDate = sdfDate.format(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24));
+            String nowDate = sdfDate.format(new Date());
+            map.put("oneDate", nowDate);
+        }
+    }
 }

+ 2 - 1
src/main/resources/application-prod.yml

@@ -13,6 +13,7 @@ openfeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   OmsFeign:
     url: ${OMSFEIGN_URL:172.16.33.166:8095}
-
+  AmsFeign:
+    url: ${AMSFEIGN_URL:172.16.33.166:8079}
 server:
   port: 8076

+ 63 - 31
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -884,7 +884,17 @@
             order by "insertTime" desc
         </if>
     </sql>
-
+    <sql id="orderBySteel">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+        <if test="orderField == null  ">
+            order by "orderId" desc
+        </if>
+    </sql>
     <!-- 根据运单id查询运单类型 -->
     <select id="getOrderType" parameterType="DECIMAL" resultType="DECIMAL">
         SELECT ORDER_TYPE
@@ -1627,7 +1637,6 @@
         and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME)
         and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME)
         </if>
-
         order by twr.result_tare_weight_time desc
         )
         <where>
@@ -2008,30 +2017,30 @@
                         rsa.area_name "areaName",
                         aso.sale_order_receive_customer "receiveMoneyCus",
                         ASM.EAS_PRIMARY_ID "easPrimaryId",
-                        oo.ORDER_ISSUE_TIME "orderissuetime",
+                        to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd')   "orderDate",
                         bdo.PRICEIDS  "priceids"
                         FROM
                         BMSTRUCK_DETAILS_ORDER bdo
-                        JOIN TMSTRUCK_WEIGHT_RESULT twr ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
-                        JOIN TMSTRUCK_TOTAL_RESULT ttl ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
-                        JOIN TMSTRUCK_LOAD_RESULT tlr ON tlr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+                        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+                        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+                        LEFT JOIN TMSTRUCK_LOAD_RESULT tlr ON tlr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
                         AND TWR.MATERIAL_ID = TLR.MATERIAL_ID
-                        JOIN OMSTRUCK_ORDER oo ON oo.ORDER_ID = ttl.ORDER_ID
-                        JOIN AMS_SALE_ORDER_MATERIAL asom ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
-                        JOIN AMS_DISPATCH_SALE_ORDER ADSO ON ADSO.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
-                        JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
-                        JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID AND ASM.MATERIAL_ID = TWR.MATERIAL_ID
-                        JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+                        LEFT JOIN OMSTRUCK_ORDER oo ON oo.ORDER_ID = ttl.ORDER_ID
+                        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+                        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO ON ADSO.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
+                        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                        LEFT JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID AND ASM.MATERIAL_ID = TWR.MATERIAL_ID
+                        LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
                         AND ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
-                        JOIN RMS_CARRIER RC2 ON RC2.CARRIER_ID = ADSO.CARRIER_ID
-                        JOIN RMS_SHIPPER rs ON rs.SHIPPER_ID = aso.SHIPPER_ID
-                        JOIN RMS_CONSIGNEE rco ON rco.CONSIGNEE_ID = aso.RECEIVE_ID
-                        JOIN RMS_CAPACITY rc ON oo.CAPACITY_ID = rc.CAPACITY_ID
-                        JOIN AMS_CONTRACT_TRANSPORT_PRICE actp ON actp.PRICE_ID = bdo.PRICE_ID
-                        JOIN RMS_RECEIVE_PLACE RRP ON RRP.PLACE_ID = asom.SALE_SHIPPING_ADDRESS_ID
-                        JOIN RMS_RECEIVE_ADDRESS RRA ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
-                        JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASM.MATERIAL_ID
-                        JOIN RMS_SALE_AREA RSA ON RSA.AREA_ID = RCO.AREA_ID
+                        LEFT JOIN RMS_CARRIER RC2 ON RC2.CARRIER_ID = ADSO.CARRIER_ID
+                        LEFT JOIN RMS_SHIPPER rs ON rs.SHIPPER_ID = aso.SHIPPER_ID
+                        LEFT JOIN RMS_CONSIGNEE rco ON rco.CONSIGNEE_ID = aso.RECEIVE_ID
+                        LEFT JOIN RMS_CAPACITY rc ON oo.CAPACITY_ID = rc.CAPACITY_ID
+                        LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp ON actp.PRICE_ID = bdo.PRICE_ID
+                        LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.PLACE_ID = asom.SALE_SHIPPING_ADDRESS_ID
+                        LEFT JOIN RMS_RECEIVE_ADDRESS RRA ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+                        LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+                        LEFT JOIN RMS_SALE_AREA RSA ON RSA.AREA_ID = RCO.AREA_ID
                         WHERE
                         oo.ORDER_TYPE = 1
                         AND bdo.WETHER_TO_STATEMENT = 0
@@ -2045,15 +2054,16 @@
                              and RC2.CARRIER_ID = #{carrierId}
                          </if>
                         <if test="oneDate != null">
-                            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                            and to_date(#{oneDate}, 'yyyy-mm-dd') &lt; = to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
                         </if>
                         <if test="startDate != null">
-                            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
-                            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
+                            and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+                            and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
                         </if>
                         order by oo.order_id desc
             )
             <where>
+                "shipperName" is not null and "priceValue" is not null
                 <if test="preparationDate!= null">
                     and
                     <foreach collection="preparationDate" item="item" open="(" separator="or" close=")">
@@ -2156,14 +2166,8 @@
                         "receiveMoneyCus" like '%${item}%'
                     </foreach>
                 </if>
-                <if test="orderissuetime!= null">
-                    and
-                    <foreach collection="orderissuetime" item="item" open="(" separator="or" close=")">
-                        "orderissuetime" like '%${item}%'
-                    </foreach>
-                </if>
             </where>
-        <include refid="orderBy"></include>
+        <include refid="orderBySteel"></include>
     </select>
     <select id="selectDetailsByOrder" resultType="java.lang.Integer" parameterType="decimal">
         SELECT count(BDO.DETAILS_ID) FROM BMSTRUCK_DETAILS_ORDER BDO
@@ -2290,4 +2294,32 @@
                                  ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
                                  where oo.ORDER_ID = #{orderId}
     </select>
+    <select id="getIsHaveDetailsOrder" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+       SELECT COUNT(BDO.DETAILS_ID)  FROM BMSTRUCK_DETAILS_ORDER BDO
+        WHERE BDO.WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
+    </select>
+    <select id="getSteelWeightTaskResultId" resultType="java.util.Map">
+        SELECT
+            TWR.WEIGHT_TASK_RESULT_ID AS "weightTaskResultId",
+            TWR.RESULT_NET_WEIGHT     AS "netWeight"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON TTR.ORDER_ID = OO.ORDER_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                           ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+        WHERE OO.ORDER_ID = #{orderId}
+        order by twr.GROSS_SEGMENT_SQE desc
+    </select>
+    <select id="getDetailIds" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT BDO.DETAILS_ID "detailId" FROM BMSTRUCK_DETAILS_ORDER BDO
+        WHERE BDO.ORDER_ID = #{orderId}
+    </select>
+    <update id="updatePlace" parameterType="map">
+        update AMS_SALE_ORDER_MATERIAL ASOM
+        set asom.SALE_SHIPPING_ADDRESS_ID = #{placeId}
+        where ASOM.SALE_ORDER_MATERIAL_ID = (SELECT oo.order_plan_id FROM
+        OMSTRUCK_ORDER OO
+        WHERE OO.ORDER_ID = #{orderId}
+        )
+    </update>
 </mapper>