luobang 3 năm trước cách đây
mục cha
commit
0101e61bc8

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

@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Required;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
@@ -116,6 +117,37 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         return success(data);
     }
 
+    /*
+    内转计重计费详单
+     */
+    @PostMapping("/getInwardWeightDetailsOrder")
+    public RESTfulResult getInwardWeightDetailsOrder(@RequestBody(required = false) Map<String,Object>mapValue,
+                                                     Integer pageNum,
+                                                     Integer pageSize,
+                                                     Integer apiId,
+                                                     String carrierSsoId,
+                                                     Integer detailStatus,
+                                                     Integer orderType,
+                                                     String userId){
+        if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
+            carrierSsoId = null;
+        }
+        if (carrierSsoId != null) {
+            BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
+            mapValue.put("carrierId",carrierId);
+        }
+        if(userId != null){
+            mapValue.put("userId",userId);
+        }
+        mapValue.put("detailStatus",detailStatus);
+        List<Map<String, Object>> truckDetailList = bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, truckDetailList, columnList);
+        return success(data);
+    }
+
     /**
      * 展示汽运实绩信息
      *
@@ -165,6 +197,17 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         return success(code);
     }
 
+    @ApiModelProperty(value = "新增内转计费详单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderId", value = "汽运计量实绩id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/addInwardDetailsOrder")
+    public RESTfulResult addInwardDetailsOrder(@RequestBody(required = false) Map<String, Object> mapVal) {
+        int code = bmstruckDetailsOrderService.inserInwardOrder(mapVal);
+        return success(code);
+    }
+
+
     /**
      * 修改详单
      *

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

@@ -125,4 +125,19 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
     BigDecimal getOrderId(BigDecimal weightTaskResultId);
 
     List<Map<String,Object>> getWeightTaskResultId(BigDecimal orderId);
+
+    //内转计重结算
+    List<Map<String, Object>> getInwardWeightDetailsOrder(Map<String, Object> mapValue);
+
+    //采购内转计重结算
+    List<Map<String, Object>> getPurInwarWeightDetailsOrder(Map<String, Object> mapValue);
+
+    //内转计时结算
+    List<Map<String, Object>> getInwardTimeDetailsOrder(Map<String, Object> mapValue);
+
+    Map<String,Object> getPriceByPur(int i);
+
+    //获取计时时长
+    List<Map<String, Object>> getTimeTaskResult(BigDecimal orderId);
+
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/model/BmstruckDetailsOrder.java

@@ -93,6 +93,12 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="金蝶核准金额",required=false)
     private BigDecimal easAmount;
 
+    /**
+     * 订单ID(ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="订单ID",required=false)
+    private BigDecimal orderId;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -217,6 +223,14 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         this.easAmount = easAmount;
     }
 
+    public BigDecimal getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -237,6 +251,7 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", wetherToStatement=").append(wetherToStatement);
         sb.append(", easAmount=").append(easAmount);
+        sb.append(", orderId=").append(orderId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -100,4 +100,8 @@ public interface IBmstruckDetailsOrderService {
 
     // 增加焦炭途损费
     int addLossFeeOfCoke(Map<String,Object> map);
+
+    List<Map<String, Object>> getInwardWeightDetailsOrder(Map<String, Object> mapValue,Integer orderType);
+
+    int inserInwardOrder(Map<String, Object> mapVal);
 }

+ 101 - 7
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -9,10 +9,13 @@ import com.steerinfo.dil.service.IBmstruckDetailsOrderService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.EASUtil;
 import com.steerinfo.dil.util.NoUtil;
+import io.swagger.models.auth.In;
+import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.lang.reflect.Array;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.util.*;
@@ -106,13 +109,6 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             bmstruckDetailsOrder.setInsertUpdateRemark("无");
             result += bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
         }
-//        // 调用金蝶接口
-//        if (orderType.intValue() == 3) {
-//            Map<String, Object> input = joinApiFeign.getPurchaseDetailsOrder(detailsId.intValue());
-//            Map<String, Object> totalMap = easUtil.getTotalMap();
-//            totalMap.put("input",input);
-//            joinApiFeign.WSFaceWay(totalMap);
-//        }
         return result;
     }
 
@@ -522,4 +518,102 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         int result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
         return result;
     }
+
+    /*
+    内转计重计费详单
+     */
+    @Override
+    public List<Map<String, Object>> getInwardWeightDetailsOrder(Map<String, Object> mapValue, Integer orderType) {
+        List<Map<String,Object>>mapList = new ArrayList<>();
+        switch (orderType){
+            case 11:
+                return bmstruckDetailsOrderMapper.getInwardWeightDetailsOrder(mapValue);
+            case 10:
+                List<Map<String, Object>> inwardReportResult =  bmstruckDetailsOrderMapper.getPurInwarWeightDetailsOrder(mapValue);
+                return inwardReportResult;
+            case 21:
+                return bmstruckDetailsOrderMapper.getInwardTimeDetailsOrder(mapValue);
+            default:
+                break;
+        }
+        return mapList;
+    }
+
+    @Override
+    public int inserInwardOrder(Map<String, Object> mapVal) {
+        BigDecimal orderId= DataChange.dataToBigDecimal(mapVal.get("orderId"));
+        //根据运输订单去查找订单类型
+        BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
+        List<Map<String,Object>> priceAmountList = new ArrayList<>();
+        if(orderType.intValue() == 11 || orderType.intValue() == 10 || orderType.intValue() == 20){
+                priceAmountList = bmstruckDetailsOrderMapper.getWeightTaskResultId(orderId);
+        }
+        if(orderType.intValue() == 10){
+            Map<String,Object>map = bmstruckDetailsOrderMapper.getPriceByPur(3);
+            mapVal.putAll(map);
+        }
+        if(orderType.intValue() == 20){
+            Map<String,Object>map = bmstruckDetailsOrderMapper.getPriceByPur(2);
+            mapVal.putAll(map);
+        }
+        if(orderType.intValue() == 21){
+            priceAmountList.add(mapVal);
+        }
+        //获取单价ID
+        BigDecimal priceId = DataChange.dataToBigDecimal(mapVal.get("priceId")) ;
+        //获取单价值
+        BigDecimal priceValue = DataChange.dataToBigDecimal(mapVal.get("priceValue"));
+        int result = 0;
+        for (Map<String, Object> map : priceAmountList) {
+            BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
+            if(orderType.intValue() == 11 || orderType.intValue() == 20 || orderType.intValue() == 10){
+                BigDecimal weightTaskResultId = DataChange.dataToBigDecimal(map.get("weightTaskResultId"));
+                BigDecimal netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
+                BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*netWeight.doubleValue());
+                DecimalFormat df = new DecimalFormat("0.00");
+                String format = df.format(detailsAmount);
+                bmstruckDetailsOrder.setWeightTaskResultId(weightTaskResultId);
+                bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(format));
+            }
+            //内转计时结算
+            if(orderType.intValue() == 21){
+                BigDecimal resultTime = DataChange.dataToBigDecimal(map.get("Time1"));
+                //保留两位小数
+                DecimalFormat df = new DecimalFormat("0.00");
+                BigDecimal settleTime  = new BigDecimal(df.format((float)resultTime.doubleValue()/60.00));
+                if(settleTime.doubleValue()<1.00){
+                    BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue());
+                    bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(df.format(detailsAmount)));
+                }else{
+                    BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*settleTime.doubleValue());
+                    bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(df.format(detailsAmount)));
+                }
+                bmstruckDetailsOrder.setOrderId(orderId);
+            }
+            bmstruckDetailsOrder.setPriceId(priceId);
+            // 得到最大id
+            BigDecimal detailsId = selectMaxId();
+            String detailsNo = noUtil.setResultNo("QYXD", detailsId);
+            bmstruckDetailsOrder.setDetailsId(detailsId);
+            bmstruckDetailsOrder.setDetailsNo(detailsNo);
+            bmstruckDetailsOrder.setDetailsTime(new Date());
+            // 设置常规字段
+            bmstruckDetailsOrder.setInsertTime(new Date());
+            bmstruckDetailsOrder.setUpdateTime(new Date());
+            bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
+            bmstruckDetailsOrder.setInsertUsername("admin");
+            bmstruckDetailsOrder.setUpdateUsername("admin");
+            bmstruckDetailsOrder.setInsertUpdateRemark("无");
+            result += bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
+        }
+        return result;
+    }
+
+    @Test
+    public void test(){
+        DecimalFormat df = new DecimalFormat("#.00");
+
+        System.out.println(new BigDecimal(df.format(300.959999999999979536369210109114646911)));
+    }
+
 }

+ 344 - 99
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -16,16 +16,17 @@
         <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
         <result column="WETHER_TO_STATEMENT" jdbcType="DECIMAL" property="wetherToStatement" />
         <result column="EAS_AMOUNT" jdbcType="DECIMAL" property="easAmount" />
+        <result column="ORDER_ID" jdbcType="DECIMAL" property="orderId" />
     </resultMap>
     <sql id="columns">
-        DETAILS_ID, PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID, DETAILS_NO, DETAILS_TIME, PRICE_ID,
-    DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    WETHER_TO_STATEMENT, EAS_AMOUNT
+        DETAILS_ID, PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID, DETAILS_NO, DETAILS_TIME, PRICE_ID, 
+    DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+    WETHER_TO_STATEMENT, EAS_AMOUNT, ORDER_ID
     </sql>
     <sql id="columns_alias">
-        t.DETAILS_ID, t.PURCHASE_ORDER_ID, t.WEIGHT_TASK_RESULT_ID, t.DETAILS_NO, t.DETAILS_TIME,
-    t.PRICE_ID, t.DETAILS_AMOUNT, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME,
-    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.WETHER_TO_STATEMENT, t.EAS_AMOUNT
+        t.DETAILS_ID, t.PURCHASE_ORDER_ID, t.WEIGHT_TASK_RESULT_ID, t.DETAILS_NO, t.DETAILS_TIME, 
+    t.PRICE_ID, t.DETAILS_AMOUNT, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, 
+    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.WETHER_TO_STATEMENT, t.EAS_AMOUNT, t.ORDER_ID
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM BMSTRUCK_DETAILS_ORDER
@@ -77,6 +78,9 @@
             <if test="easAmount != null">
                 and EAS_AMOUNT = #{easAmount}
             </if>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -123,6 +127,9 @@
             <if test="easAmount != null">
                 and EAS_AMOUNT = #{easAmount}
             </if>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
@@ -171,18 +178,23 @@
         <if test="easAmount != null">
             or EAS_AMOUNT = #{easAmount}
         </if>
+        <if test="orderId != null">
+            or ORDER_ID = #{orderId}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         insert into BMSTRUCK_DETAILS_ORDER (DETAILS_ID, PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID,
                                             DETAILS_NO, DETAILS_TIME, PRICE_ID,
                                             DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME,
                                             UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-                                            WETHER_TO_STATEMENT, EAS_AMOUNT)
+                                            WETHER_TO_STATEMENT, EAS_AMOUNT, ORDER_ID
+        )
         values (#{detailsId,jdbcType=DECIMAL}, #{purchaseOrderId,jdbcType=DECIMAL}, #{weightTaskResultId,jdbcType=DECIMAL},
                 #{detailsNo,jdbcType=VARCHAR}, #{detailsTime,jdbcType=TIMESTAMP}, #{priceId,jdbcType=DECIMAL},
                 #{detailsAmount,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
                 #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
-                #{wetherToStatement,jdbcType=DECIMAL}, #{easAmount,jdbcType=DECIMAL})
+                #{wetherToStatement,jdbcType=DECIMAL}, #{easAmount,jdbcType=DECIMAL}, #{orderId,jdbcType=DECIMAL}
+               )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         insert into BMSTRUCK_DETAILS_ORDER
@@ -229,6 +241,9 @@
             <if test="easAmount != null">
                 EAS_AMOUNT,
             </if>
+            <if test="orderId != null">
+                ORDER_ID,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="detailsId != null">
@@ -273,6 +288,9 @@
             <if test="easAmount != null">
                 #{easAmount,jdbcType=DECIMAL},
             </if>
+            <if test="orderId != null">
+                #{orderId,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
@@ -289,7 +307,8 @@
             UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
             INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
             WETHER_TO_STATEMENT = #{wetherToStatement,jdbcType=DECIMAL},
-            EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL}
+            EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL},
+            ORDER_ID = #{orderId,jdbcType=DECIMAL}
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
@@ -334,6 +353,9 @@
             <if test="easAmount != null">
                 EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL},
             </if>
+            <if test="orderId != null">
+                ORDER_ID = #{orderId,jdbcType=DECIMAL},
+            </if>
         </set>
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
@@ -357,7 +379,8 @@
         DETAILS_AMOUNT, INSERT_USERNAME,
         INSERT_TIME, UPDATE_USERNAME,
         UPDATE_TIME, INSERT_UPDATE_REMARK,
-        WETHER_TO_STATEMENT, EAS_AMOUNT)
+        WETHER_TO_STATEMENT, EAS_AMOUNT,
+        ORDER_ID)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.detailsId,jdbcType=DECIMAL},
@@ -366,7 +389,8 @@
         #{item.detailsAmount,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},
         #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
         #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
-        #{item.wetherToStatement,jdbcType=DECIMAL}, #{item.easAmount,jdbcType=DECIMAL} from dual
+        #{item.wetherToStatement,jdbcType=DECIMAL}, #{item.easAmount,jdbcType=DECIMAL},
+        #{item.orderId,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -428,6 +452,10 @@
         <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.easAmount,jdbcType=DECIMAL}
         </foreach>
+        ,ORDER_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
+            when #{item.detailsId,jdbcType=DECIMAL} then #{item.orderId,jdbcType=DECIMAL}
+        </foreach>
         where DETAILS_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.detailsId,jdbcType=DECIMAL}
@@ -442,6 +470,8 @@
     </delete>
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
     <!-- 销售汽运结算详单 -->
     <select id="getTruckDetailsOrderList" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT * FROM(
@@ -1145,94 +1175,7 @@
     </select>
 
     <!--  查询未生成账单的计时详单  -->
-    <!--计时-->
-    <select id="getUnFinishedTimeTruckDetailsOrderList" parameterType="java.util.Map" resultType="java.util.Map">
-        select bdo.details_no         as "detailsNo",
-               bdo.order_id           as "orderId",
-               bdo.details_time       as "detailsTime",
-               rc.capacity_number     as "capacityNumber",
-               rct.capacity_type_name as "capacityType",
-               air.requirement_type   as "requirementType",
-               bdo.price_id           as "priceId",
-               bdo.details_amount     as "detailsAmount"
-        from bmstruck_details_order bdo
-                 join omstruck_order oo on bdo.order_id = oo.order_id
-                 join rms_capacity rc on oo.capacity_id = rc.capacity_id
-                 join rms_capacity_type rct on rc.capacity_type_id = rct.capacity_type_id
-                 join amstruck_inward_plan aip on oo.order_plan_id = aip.plan_id
-                 join amstruck_requirement_plan arp on aip.plan_id = arp.plan_id
-                 join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
-                 join rms_line rl on air.line_id = rl.line_id
-        where air.requirement_type = 1
-          and bdo.wether_to_statement = 0
-          and oo.order_type = 4
-    </select>
-    <!--计数-->
-    <select id="getUnFinishedNumTruckDetailsOrderList" parameterType="java.util.Map" resultType="java.util.Map">
-        select bdo.details_no         as "detailsNo",
-               bdo.order_id           as "orderId",
-               bdo.details_time       as "detailsTime",
-               rc.capacity_number     as "capacityNumber",
-               rct.capacity_type_name as "capacityType",
-               air.requirement_type   as "requirementType",
-               bdo.price_id           as "priceId",
-               bdo.details_amount     as "detailsAmount"
-        from bmstruck_details_order bdo
-                 join omstruck_order oo on bdo.order_id = oo.order_id
-                 join rms_capacity rc on oo.capacity_id = rc.capacity_id
-                 join rms_capacity_type rct on rc.capacity_type_id = rct.capacity_type_id
-                 join amstruck_inward_plan aip on oo.order_plan_id = aip.plan_id
-                 join amstruck_requirement_plan arp on aip.plan_id = arp.plan_id
-                 join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
-                 join rms_line rl on air.line_id = rl.line_id
-        where air.requirement_type = 2
-          and bdo.wether_to_statement = 0
-          and oo.order_type = 4
-    </select>
-    <!--计重-->
-    <select id="getUnFinishedWeightTruckDetailsOrderList" parameterType="java.util.Map" resultType="java.util.Map">
-        select bdo.details_no         as "detailsNo",
-               bdo.order_id           as "orderId",
-               bdo.details_time       as "detailsTime",
-               rc.capacity_number     as "capacityNumber",
-               rct.capacity_type_name as "capacityType",
-               air.requirement_type   as "requirementType",
-               bdo.price_id           as "priceId",
-               bdo.details_amount     as "detailsAmount"
-        from bmstruck_details_order bdo
-                 join omstruck_order oo on bdo.order_id = oo.order_id
-                 join rms_capacity rc on oo.capacity_id = rc.capacity_id
-                 join rms_capacity_type rct on rc.capacity_type_id = rct.capacity_type_id
-                 join amstruck_inward_plan aip on oo.order_plan_id = aip.plan_id
-                 join amstruck_requirement_plan arp on aip.plan_id = arp.plan_id
-                 join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
-                 join rms_line rl on air.line_id = rl.line_id
-        where air.requirement_type = 0
-          and bdo.wether_to_statement = 0
-          and oo.order_type = 4
-    </select>
     <!--包月-->
-    <select id="getUnFinishedMonthTruckDetailsOrderList" parameterType="java.util.Map" resultType="java.util.Map">
-        select bdo.details_no         as "detailsNo",
-               bdo.order_id           as "orderId",
-               bdo.details_time       as "detailsTime",
-               rc.capacity_number     as "capacityNumber",
-               rct.capacity_type_name as "capacityType",
-               air.requirement_type   as "requirementType",
-               bdo.price_id           as "priceId",
-               bdo.details_amount     as "detailsAmount"
-        from bmstruck_details_order bdo
-                 join omstruck_order oo on bdo.order_id = oo.order_id
-                 join rms_capacity rc on oo.capacity_id = rc.capacity_id
-                 join rms_capacity_type rct on rc.capacity_type_id = rct.capacity_type_id
-                 join amstruck_inward_plan aip on oo.order_plan_id = aip.plan_id
-                 join amstruck_requirement_plan arp on aip.plan_id = arp.plan_id
-                 join amstruck_inward_requirement air on arp.requirement_plan_id = air.requirement_id
-                 join rms_line rl on air.line_id = rl.line_id
-        where air.requirement_type = 3
-          and bdo.wether_to_statement = 0
-          and oo.order_type = 4
-    </select>
 
     <!--  通过运单id获取需求类型(需求类型(0:计重;1:计时;2:计次;3:包月))-->
     <select id="getSettlement" parameterType="java.math.BigDecimal" resultType="java.util.Map">
@@ -1266,12 +1209,314 @@
     </select>
 
     <select id="getWeightTaskResultId" parameterType="DECIMAL" resultType="java.util.Map" >
-        SELECT TWR.WEIGHT_TASK_RESULT_ID AS "weightTaskResultId"
+        select * from (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)
+        where rownum = 1
+    </select>
+          <select id="getInwardWeightDetailsOrder" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT *
+        FROM (SELECT DISTINCT bdo.INSERT_TIME       as "insertTime",
+                              bdo.DETAILS_ID        as "detailsId",
+                              oo.ORDER_ID           as "orderId",
+                              bdo.DETAILS_NO        as "detailsNo",
+                              oo.ORDER_NUMBER       as "orderNumber",
+                              bdo.DETAILS_TIME      as "detailsTime",
+                              rc.CAPACITY_NUMBER    as "capacityNumber",
+                              RCE.CARRIER_NAME      as "carrierName",
+                              actp.PRICE_VALUE      as "priceValue",
+                              bdo.DETAILS_AMOUNT    as "detailsAmount",
+                              twr.RESULT_NET_WEIGHT as "resultNetWeight",
+                              RW.WAREHOUSE_NAME     as "unloadName",
+                              RW1.WAREHOUSE_NAME    as "loadName",
+                              RS.SHIPPER_NAME       as "shipperName",
+                              RM.MATERIAL_NAME      as "materialName",
+                              GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,
+                                TWR.RESULT_TARE_WEIGHT_TIME) as "netTime"
+              FROM BMSTRUCK_DETAILS_ORDER bdo
+                       LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+                                 ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+                       LEFT JOIN RMS_MATERIAL RM
+                                 ON RM.MATERIAL_ID = TWR.MATERIAL_ID
+                       LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+                                 ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+                       LEFT JOIN OMSTRUCK_ORDER oo
+                                 ON oo.ORDER_ID = ttl.ORDER_ID
+                       LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+                                 ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+                       LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+                                 ON AIP.PLAN_ID = ARP.PLAN_ID
+                       LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+                                 ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                       LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+                                 ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                       LEFT JOIN RMS_WAREHOUSE RW
+                                 ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+                       LEFT JOIN RMS_WAREHOUSE RW1
+                                 ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+                       LEFT JOIN RMS_SHIPPER RS
+                                 ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+                       LEFT JOIN RMS_CARRIER RCE
+                                 ON RCE.CARRIER_ID = AIP.CARRIER_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
+              WHERE oo.ORDER_TYPE = 11
+                AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                <if test="userId != null" >
+                    AND  AIR.INSERT_USERNAME LIKE #{userId}
+                </if>
+            )
+        <where>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="carrierName!= null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="," close=")">
+                    "carrierName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+            <if test="loadName!= null">
+                and
+                <foreach collection="loadName" item="item" open="(" separator="," close=")">
+                    "loadName" in #{item}
+                </foreach>
+            </if>
+            <if test="unloadName!= null">
+                and
+                <foreach collection="unloadName" item="item" open="(" separator="," close=")">
+                    "unloadName" in #{item}
+                </foreach>
+            </if>
+            <if test="materialName!= null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    "materialName" in #{item}
+                </foreach>
+            </if>
+            <if test="resultOutGateTime!= null">
+                and
+                <foreach collection="resultOutGateTime" item="item" open="(" separator="," close=")">
+                    "resultOutGateTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <select id="getPurInwarWeightDetailsOrder" resultType="java.util.Map" parameterType="java.util.Map">
+        select *
+        from (select oo.order_id                   "orderId",
+                     bdo.DETAILS_ID                "detailsId",
+                     oo.order_type                 "orderType",
+                     rm.material_name              "materialName",
+                     apo.purchase_order_no         "purchaseNo",
+                     rc.capacity_number            "capacityNo",
+                     rs.supplier_name              "supplierName",
+                     oo.order_number               "orderNumber",
+                     rce.consignee_company_name    "consigneeName",
+                     twr2.result_gross_weight_time "grossWeigtTimeFirst",
+                     twr2.result_net_weight        "netWeightFirst",
+                     twr4.result_tare_weight_time  "tareWeightTimeSecond",
+                     twr4.result_net_weight        "netWeightSecond",
+                     bdo.details_no               "detailNo",
+                     bdo.details_amount           "secondAmount",
+                     actp.price_value              "priceValue",
+                     bdo.INSERT_TIME               "insertTime",
+                     RTR.TRANS_RANGE_VALUE          "transRange"
+              from omstruck_order oo
+                       left join omstruck_order_material oom
+                                 on oom.order_id = oo.order_id
+                       left join rms_material rm
+                                 on rm.material_id = oom.material_id
+                       left join rms_capacity rc
+                                 on rc.capacity_id = oo.capacity_id
+                       left join amstruck_inward_plan aip
+                                 on aip.plan_id = oo.order_plan_id
+                       left join amstruck_requirement_plan arp
+                                 on arp.plan_id = aip.plan_id
+                       left join amstruck_inward_requirement air
+                                 on air.requirement_id = arp.requirement_id
+                       left join ams_purchase_order apo
+                                 on apo.purchase_order_id = air.purchase_order_id
+                       left join rms_supplier rs
+                                 on rs.supplier_id = apo.supplier_unit_id
+                       left join rms_consignee rce
+                                 on rce.consignee_id = apo.receive_unit_id
+                       left join tmstruck_total_result ttr
+                                 on ttr.order_id = oo.order_id
+                       left join tmstruck_enfactory_result ter1
+                                 on ter1.result_total_id = ttr.result_total_id
+                       left join tmstruck_weight_result twr1
+                                 on twr1.result_total_id = ttr.result_total_id
+                       left join tmstruck_load_result tlr
+                                 on tlr.result_total_id = ttr.result_total_id
+                       left join tmstruck_weight_result twr2
+                                 on twr2.result_total_id = ttr.result_total_id
+                       left join tmstruck_leave_factory_result tlfr1
+                                 on tlfr1.result_total_id = ttr.result_total_id
+                       left join tmstruck_enfactory_result ter2
+                                 on ter2.result_total_id = ttr.result_total_id
+                       left join tmstruck_weight_result twr3
+                                 on twr3.result_total_id = ttr.result_total_id
+                       left join tmstruck_unload_result tur
+                                 on tur.result_total_id = ttr.result_total_id
+                       left join tmstruck_weight_result twr4
+                                 on twr4.result_total_id = ttr.result_total_id
+                       left join tmstruck_leave_factory_result tlfr2
+                                 on tlfr2.result_total_id = ttr.result_total_id
+                       left join bmstruck_details_order bdo
+                                 on bdo.weight_task_result_id = twr4.weight_task_result_id
+                       left join ams_contract_transport_price actp
+                                 on actp.price_id = bdo.price_id
+                       left join RMS_TRANS_RANGE RTR
+                                 on RTR.TRANS_RANGE_ID = AIR.LINE_ID
+                      where oo.order_type in (10, 20)
+                        and ter1.segmen_sqe = 1
+                        and twr1.tare_segment_sqe = 2
+                        and tlr.segment_sqe = 3
+                        and twr2.gross_segment_sqe = 4
+                        and tlfr1.segment_sqe = 5
+                        and ter2.segmen_sqe = 6
+                        and twr3.gross_segment_sqe = 7
+                        and tur.segment_sqe = 8
+                        and twr4.tare_segment_sqe = 9
+                        and tlfr2.segment_sqe = 10
+                        AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                        <if test="userId != null" >
+                            AND AIR.INSERT_USERNAME LIKE #{userId}
+                        </if>)
+        <where>
+            <if test="capacityNo!= null">
+                and
+                <foreach collection="capacityNo" item="item" open="(" separator="," close=")">
+                    "capacityNo" in #{item}
+                </foreach>
+            </if>
+            <if test="materialName!= null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    "materialName" in #{item}
+                </foreach>
+            </if>
+            <if test="supplierName!= null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="," close=")">
+                    "supplierName" in #{item}
+                </foreach>
+            </if>
+            <if test="purchaseNo!= null">
+                and
+                <foreach collection="purchaseNo" item="item" open="(" separator="," close=")">
+                    "purchaseNo" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <select id="getInwardTimeDetailsOrder" resultType="java.util.Map" parameterType="java.util.Map">
+        select *
+        from (select RC.CAPACITY_NUMBER "capacityNum",
+                     rs.shipper_name    "shipperName",
+                     rw.warehouse_name  "unloadName",
+                     rw2.warehouse_name "loadName",
+                     rm.material_name   "materialName",
+                     tttr.RESULT_VALUE   "resultTime",
+                     actp.price_value   "priceValue",
+                     bdo.details_time   "detailsTime",
+                     bdo.details_amount "detailsAmount",
+                     oo.order_number    "orderNumber",
+                     bdo.details_no     "detailsNo",
+                     bdo.INSERT_TIME    "insertTime",
+                     bdo.DETAILS_ID     "detailsId"
+              from bmstruck_details_order bdo
+                       left join OMSTRUCK_ORDER OO
+                                 ON OO.ORDER_ID = BDO.ORDER_ID
+                       LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                                 ON TTR.ORDER_ID = OO.ORDER_ID
+                       LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+                                 ON TTTR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                       LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+                                 ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+                       LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+                                 ON ARP.PLAN_ID = AIP.PLAN_ID
+                       LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+                                 ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                       LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+                                 ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                       LEFT JOIN RMS_WAREHOUSE RW
+                                 ON ARM.REQUIREMENT_UNLOAD_UNIT_ID = RW.WAREHOUSE_ID
+                       LEFT JOIN RMS_WAREHOUSE RW2
+                                 ON RW2.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+                       LEFT JOIN RMS_MATERIAL RM
+                                 ON RM.MATERIAL_ID = ARM.MATERIAL_ID
+                       LEFT JOIN RMS_SHIPPER RS
+                                 ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+                       LEFT JOIN RMS_UNIT_OF_MEASURE RUOM
+                                 ON TTTR.RESULT_UOM_ID = RUOM.UNIT_OF_MEASURE_ID
+                       LEFT JOIN RMS_CAPACITY RC
+                                 ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                       LEFT JOIN RMS_CAPACITY_TYPE RCT
+                                 ON RCT.CAPACITY_TYPE_ID = RC.CAPACITY_TYPE_ID
+                       LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                                 ON ACTP.PRICE_ID = BDO.PRICE_ID
+              WHERE OO.ORDER_TYPE = 21
+                AND TTTR.RESULT_TIME_TYPE = 3
+                AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                <if test="userId != null" >
+                    AND AIR.INSERT_USERNAME LIKE #{userId}
+                </if>)
+        <where>
+            <if test="capacityNo!= null">
+                and
+                <foreach collection="capacityNo" item="item" open="(" separator="," close=")">
+                    "capacityNo" in #{item}
+                </foreach>
+            </if>
+            <if test="materialName!= null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    "materialName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <select id="getPriceByPur" resultType="java.util.Map" parameterType="java.lang.Integer">
+        select actp.PRICE_ID "priceId" ,actp.PRICE_VALUE "priceValue" from AMS_CONTRACT_TRANSPORT_PRICE actp
+        where type = 2
+          and actp.DELETED = 0
+        and actp.LINE_ID = #{i}
+    </select>
+    <select id="getTimeTaskResult" resultType="java.util.Map" parameterType="decimal">
+        select TTTR.RESULT_VALUE "resultTime" from TMSTRUCK_TIME_TASK_RESULT TTTR
+        left join TMSTRUCK_TOTAL_RESULT TTR
+        on ttr.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
+        left join OMSTRUCK_ORDER OO
+        on oo.ORDER_ID = ttr.ORDER_ID
+        where oo.ORDER_ID = #{orderId}
+        and TTTR.RESULT_TIME_TYPE = 3
     </select>
 </mapper>