yangk hace 3 años
padre
commit
4252c0dd65

+ 72 - 0
src/main/java/com/steerinfo/dil/controller/BmstruckConvertedController.java

@@ -0,0 +1,72 @@
+package com.steerinfo.dil.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.steerinfo.dil.service.IBmstruckDetailsOrderService;
+import com.steerinfo.dil.service.impl.BmstruckDetailsOrderServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+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.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/${api.version}/bmstruckConverted")
+public class BmstruckConvertedController extends BaseRESTfulController {
+    @Autowired
+    BmstruckDetailsOrderServiceImpl bmstruckDetailsOrderService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    //生成不同的计费账单
+    //查询未生成账单的计时作业的详单
+    /**
+     * 展示汽运未生成账单的详单信息
+     * @param mapVal
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @return
+     */
+    @ApiModelProperty(value = "展示汽运未生成账单的作业详单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "销售:176", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "orderType" ,value = "1:计时,2:计数,3:计重,4:包月",required = false,dataType = "Integer")
+    })
+    @PostMapping("/getUnFinishedConvertedTruckDetailsOrderList")
+    public RESTfulResult getUnFinishedConvertedTruckDetailsOrderList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                                                     Integer pageNum,
+                                                                     Integer pageSize,
+                                                                     Integer apiId,
+                                                                     Integer orderType) {
+        List<Map<String, Object>> list = bmstruckDetailsOrderService.getUnFinishedConvertedTruckDetailsOrderList(mapVal,orderType);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getUnFinishedConvertedTruckDetailsOrderList(mapVal,orderType);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        return success(data);
+    }
+
+    /**
+     * 新增内转详单
+     * @param orderId
+     * @return
+     */
+    @ApiModelProperty(value = "新增内转详单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderId", value = "汽运运单id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/addConvertedDetailsOrder/{orderId}")
+    public RESTfulResult addConvertedDetailsOrder(@PathVariable("orderId") BigDecimal orderId) throws Exception {
+        int code = bmstruckDetailsOrderService.addConvertedDetailsOrder(orderId);
+        return success(code);
+    }
+}

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

@@ -136,4 +136,6 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         int code = bmstruckDetailsOrderService.insertSelective(orderId);
         return success(code);
     }
+
+
 }

+ 30 - 1
src/main/java/com/steerinfo/dil/controller/BmstruckStatementController.java

@@ -107,5 +107,34 @@ public class BmstruckStatementController extends BaseRESTfulController {
         PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
         return success(data);
     }
-
+    /**
+     * 生成内转汽运账单
+     * @param mapList
+     * @return
+     */
+    @ApiModelProperty(value = "生成内转汽运账单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapList", value = "详单列表", required = false, dataType = "java.util.List"),
+    })
+    @PostMapping("/addConvertedTruckStatement")
+    public RESTfulResult addConvertedTruckStatement(@RequestBody List<Map<String,Object>> mapList,Integer orderType) {
+        int code1 = bmstruckStatementService.addConvertedTruckStatement(mapList,orderType);
+        return success(code1);
+    }
+    /**
+     *删除汽运账单
+     */
+    @PostMapping("/deleteConvertedTruckStatement/{statementId}")
+    public RESTfulResult deleteConvertedTruckStatement(@PathVariable("statementId") BigDecimal statementId) {
+        bmstruckStatementService.delete(statementId);
+        return success("删除成功");
+    }
+    /**
+     * 审批计费账单
+     */
+    @PostMapping("/updateConvertedTruckStatement/{statementId}")
+    public RESTfulResult updateConvertedTruckStatement(@PathVariable("statementId") BigDecimal statementId) {
+        bmstruckStatementService.update(statementId);
+        return success("修改成功");
+    }
 }

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

@@ -102,4 +102,19 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
      * @return
      */
     List<Map<String, Object>> getSaleTruckDetailsOrderList(Map<String, Object> mapVal);
+
+    //计时
+    List<Map<String, Object>> getUnFinishedTimeTruckDetailsOrderList(Map<String, Object> mapVal);
+    //计数
+    List<Map<String, Object>> getUnFinishedNumTruckDetailsOrderList(Map<String, Object> mapVal);
+    //计重
+    List<Map<String, Object>> getUnFinishedWeightTruckDetailsOrderList(Map<String, Object> mapVal);
+    //包月
+    List<Map<String, Object>> getUnFinishedMonthTruckDetailsOrderList(Map<String, Object> mapVal);
+
+    //通过运单id获取需求类型(需求类型(0:计重;1:计时;2:计次;3:包月))
+    Map<String, Object> getSettlement(BigDecimal orderId);
+
+    //通过物资id与需求类型获取单价
+    BigDecimal getPriceByWz(String requirementType, Integer materialId);
 }

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

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.mapper;
 
+import com.steerinfo.dil.model.BmstruckDetailsOrder;
 import com.steerinfo.dil.model.BmstruckStatement;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
@@ -30,4 +31,6 @@ public interface BmstruckStatementMapper extends IBaseMapper<BmstruckStatement,
      * @return
      */
     List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal);
+    //通过账单id获取账单对应的详单信息
+    List<BigDecimal> getDetailById(BigDecimal statementId);
 }

+ 30 - 20
src/main/java/com/steerinfo/dil/model/BmstruckStatement.java

@@ -86,6 +86,20 @@ public class BmstruckStatement implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="记录创建或修改备注",required=false)
     private String insertUpdateRemark;
 
+    /**
+     * 审核状态(0:未审核,1:已审核)(STATEMENT_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="审核状态(0:未审核,1:已审核)",required=false)
+    private BigDecimal statementType;
+
+    public BigDecimal getStatementType() {
+        return statementType;
+    }
+
+    public void setStatementType(BigDecimal statementType) {
+        this.statementType = statementType;
+    }
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -204,25 +218,21 @@ public class BmstruckStatement implements IBasePO<BigDecimal> {
 
     @Override
     public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", statementId=").append(statementId);
-        sb.append(", statementNumber=").append(statementNumber);
-        sb.append(", costId=").append(costId);
-        sb.append(", statementPaymentUnit=").append(statementPaymentUnit);
-        sb.append(", statementExcludTax=").append(statementExcludTax);
-        sb.append(", statementIncludTax=").append(statementIncludTax);
-        sb.append(", statementRemark=").append(statementRemark);
-        sb.append(", statementSettlementStatus=").append(statementSettlementStatus);
-        sb.append(", insertUsername=").append(insertUsername);
-        sb.append(", insertTime=").append(insertTime);
-        sb.append(", updateUsername=").append(updateUsername);
-        sb.append(", updateTime=").append(updateTime);
-        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
-        sb.append(", serialVersionUID=").append(serialVersionUID);
-        sb.append("]");
-        return sb.toString();
+        return "BmstruckStatement{" +
+                "statementId=" + statementId +
+                ", statementNumber='" + statementNumber + '\'' +
+                ", costId=" + costId +
+                ", statementPaymentUnit='" + statementPaymentUnit + '\'' +
+                ", statementExcludTax=" + statementExcludTax +
+                ", statementIncludTax=" + statementIncludTax +
+                ", statementRemark='" + statementRemark + '\'' +
+                ", statementSettlementStatus='" + statementSettlementStatus + '\'' +
+                ", insertUsername='" + insertUsername + '\'' +
+                ", insertTime=" + insertTime +
+                ", updateUsername='" + updateUsername + '\'' +
+                ", updateTime=" + updateTime +
+                ", insertUpdateRemark='" + insertUpdateRemark + '\'' +
+                ", statementType=" + statementType +
+                '}';
     }
 }

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

@@ -73,4 +73,19 @@ public interface IBmstruckDetailsOrderService {
      * @return
      */
     List<Map<String, Object>> getUnFinishedTruckDetailsOrderList(Map<String, Object> mapVal, Integer orderType);
+
+    List<Map<String, Object>> getUnFinishedConvertedTruckDetailsOrderList(Map<String, Object> mapVal, Integer orderType);
+
+    /**
+     * 新增内转汽运详单
+     * @param orderId
+     * @return
+     */
+    int addConvertedDetailsOrder(BigDecimal orderId) throws Exception;
+
+    //通过运单id获取需求类型(需求类型(0:计重;1:计时;2:计次;3:包月))
+    Map<String, Object> getSettlement(BigDecimal orderId);
+
+    //通过物资id与需求类型获取单价
+    BigDecimal getPriceByWz(String requirementType, Integer materialId);
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckStatementService.java

@@ -42,4 +42,11 @@ public interface IBmstruckStatementService{
      * @return
      */
     List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal);
+
+    //新增内转汽运账单
+    int addConvertedTruckStatement(List<Map<String, Object>> mapList, Integer orderType);
+    //根据主键id删除
+    int delete(BigDecimal statementId);
+    //用车单位审批汽运账单
+    int update(BigDecimal statementId);
 }

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

@@ -173,6 +173,26 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         mapVal.put("orderType",new BigDecimal(orderType));
         return bmstruckDetailsOrderMapper.getUnFinishedTruckDetailsOrderList(mapVal);
     }
+    //通过不同的值,查询未生成账单的计费详单
+    @Override
+    public List<Map<String, Object>> getUnFinishedConvertedTruckDetailsOrderList(Map<String, Object> mapVal, Integer orderType) {
+        //orderType:1:计时,2:计数,3:计重,4:包月
+        if(orderType==1){
+            return bmstruckDetailsOrderMapper.getUnFinishedTimeTruckDetailsOrderList(mapVal);
+        }
+        else if(orderType==2){
+            return bmstruckDetailsOrderMapper.getUnFinishedNumTruckDetailsOrderList(mapVal);
+        }
+        else if(orderType==3){
+            return bmstruckDetailsOrderMapper.getUnFinishedWeightTruckDetailsOrderList(mapVal);
+        }
+        else if(orderType==4){
+            return bmstruckDetailsOrderMapper.getUnFinishedMonthTruckDetailsOrderList(mapVal);
+        }
+        return null;
+    }
+
+
 
     /**
      * 替换汽运费公式并进行计算
@@ -365,4 +385,57 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         }
         return result;
     }
+
+
+    /**
+     * 新增内转汽运详单
+     * @param orderId
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public int addConvertedDetailsOrder(BigDecimal orderId) throws Exception {
+        // 得到最大id
+        BigDecimal detailsId = selectMaxId();
+        String detailsNo = noUtil.setResultNo("QYXD", detailsId);
+        // 新增详单实体
+        BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
+        // 设置常规字段
+        bmstruckDetailsOrder.setInsertTime(new Date());
+        bmstruckDetailsOrder.setInsertUsername("admin");
+        bmstruckDetailsOrder.setInsertUpdateRemark("无");
+        // 通过订单号获取物资信息以及结算方式
+        Map<String, Object> mapVal=getSettlement(orderId);
+        //需求类型(0:计重;1:计时;2:计次;3:包月)
+        String requirementType=mapVal.get("requirementType").toString();
+        Integer materialId =Integer.parseInt(mapVal.get("materialId").toString());
+        //通过物资id以及结算方式获取单价;
+        BigDecimal priceId=getPriceByWz(requirementType,materialId);
+        // 将单价存入实体
+        bmstruckDetailsOrder.setPriceId(priceId);
+        // 获取物资数量/计时获取时长/计数为一次/包月为包月价
+        if("0".equals(requirementType)){
+            //通过单价ID获取单价
+            BigDecimal price=getPriceValue(priceId);
+            //获取物资重量
+            BigDecimal weight=getNetWeight(priceId);
+            bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(price.doubleValue()*weight.doubleValue()));
+        }
+        else{
+            //通过单价ID获取单价
+            BigDecimal price=getPriceValue(priceId);
+            bmstruckDetailsOrder.setDetailsAmount(price);
+        }
+        return bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
+    }
+    //通过物资id以及结算方式获取单价;
+    @Override
+    public BigDecimal getPriceByWz(String requirementType, Integer materialId) {
+        return bmstruckDetailsOrderMapper.getPriceByWz(requirementType,materialId);
+    }
+    @Override
+    // 通过订单号获取物资信息以及结算方式
+    public Map<String, Object> getSettlement(BigDecimal orderId) {
+        return bmstruckDetailsOrderMapper.getSettlement(orderId);
+    }
 }

+ 93 - 0
src/main/java/com/steerinfo/dil/service/impl/BmstruckStatementServiceImpl.java

@@ -160,4 +160,97 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
     public List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal) {
         return bmstruckStatementMapper.getSaleTruckStatementDetailsOrderList(mapVal);
     }
+
+    /**
+     * 新增内转汽运账单
+     * @param mapList
+     * @param orderType
+     * @return
+     */
+    @Override
+    public int addConvertedTruckStatement(List<Map<String, Object>> mapList, Integer orderType) {
+        //orderType:1:计时,2:计数,3:计重,4:包月
+        // 生成汽运账单主键
+        BigDecimal statementId = bmstruckStatementMapper.selectStatementId();
+        // 创建账单实体
+        BmstruckStatement bmstruckStatement = new BmstruckStatement();
+        // 常规字段
+        bmstruckStatement.setInsertTime(new Date());
+        bmstruckStatement.setInsertUsername("admin");
+        bmstruckStatement.setInsertUpdateRemark("无");
+        // 计算账单总金额
+        Double doubleTotalAmount = new Double(0);
+        //将详单id与账单id绑定至中间表
+        for (Map<String, Object> map : mapList) {
+            // 中间表主键
+            BigDecimal detailsStatementId = bmstruckDetailsStatementMapper.selectDetailsStatementId();
+            // 详单id
+            BigDecimal detailsId = new BigDecimal((Integer) map.get("detailsId"));
+            // 获取详单信息
+            BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
+            // 将该详单状态变为已生成账单
+            bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(1));
+            bmstruckDetailsOrder.setUpdateTime(new Date());
+            bmstruckDetailsOrder.setUpdateUsername("admin");
+            // 修改详单信息
+            bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+            // 新增中间表实体
+            BmstruckDetailsStatement bmstruckDetailsStatement = new BmstruckDetailsStatement();
+            //设置主键
+            bmstruckDetailsStatement.setDetailsStatementId(detailsStatementId);
+            bmstruckDetailsStatement.setStatementId(statementId);
+            bmstruckDetailsStatement.setDetailsId(detailsId);
+            // 设置常规字段
+            bmstruckDetailsStatement.setInsertTime(new Date());
+            bmstruckDetailsStatement.setInsertUsername("admin");
+            bmstruckDetailsStatement.setInsertUpdateRemark("无");
+            BigDecimal detailsAmount = new BigDecimal((Double) map.get("detailsAmount"));
+            Double detailsAmountDouble = Double.valueOf(detailsAmount.toString());
+            doubleTotalAmount += detailsAmountDouble;
+            bmstruckDetailsStatementMapper.insertSelective(bmstruckDetailsStatement);
+        }
+        if(orderType==1){
+            // 备注
+            bmstruckStatement.setStatementRemark("计时汽运费账单");
+        }
+        else if(orderType==2){
+            // 备注
+            bmstruckStatement.setStatementRemark("计数汽运费账单");
+        }
+        else if(orderType==3){
+            // 备注
+            bmstruckStatement.setStatementRemark("计重汽运费账单");
+        }
+        else if(orderType==4){
+            // 备注
+            bmstruckStatement.setStatementRemark("包月汽运费账单");
+        }
+        bmstruckStatement.setStatementExcludTax(new BigDecimal(doubleTotalAmount));
+        return bmstruckStatementMapper.insertSelective(bmstruckStatement);
+    }
+
+    @Override
+    public int delete(BigDecimal statementId) {
+        //通过账单id获取详单
+        List<BigDecimal> list=bmstruckStatementMapper.getDetailById(statementId);
+        for (BigDecimal detailsId:list
+             ) {
+        BmstruckDetailsOrder bmstruckDetailsOrder=new BmstruckDetailsOrder();
+        bmstruckDetailsOrder.setDetailsId(detailsId);
+        bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
+        bmstruckDetailsOrder.setUpdateTime(new Date());
+        bmstruckDetailsOrder.setUpdateUsername("admin");
+        bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        }
+        return bmstruckStatementMapper.deleteByPrimaryKey(statementId);
+    }
+    //审核账单,获取账单的主键,将状态修改为已审核
+    @Override
+    public int update(BigDecimal statementId) {
+        BmstruckStatement bmstruckStatement=new BmstruckStatement();
+        bmstruckStatement.setStatementType(new BigDecimal(1));
+        bmstruckStatement.setUpdateTime(new Date());
+        bmstruckStatement.setUpdateUsername("admin");
+        return bmstruckStatementMapper.updateByPrimaryKeySelective(bmstruckStatement);
+    }
 }

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

@@ -1029,4 +1029,98 @@
                            ON ttr.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
         WHERE oo.ORDER_ID = #{orderId}
     </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">
+        select air.requirement_type as "requirementType",
+               oom.material_id as "materialId"
+        from omstruck_order oo
+               left join omstruck_order_material oom on oo.order_id=oom.order_id
+               left join amstruck_inward_plan aip on oo.order_plan_id=aip.plan_id
+               left join amstruck_requirement_plan arp on arp.plan_id=aip.plan_id
+               left join amstruck_inward_requirement air on arp.requirement_id=air.requirement_id
+        where oo.order_id=#{orderId}
+    </select>
 </mapper>

+ 9 - 1
src/main/resources/com/steerinfo/dil/mapper/BmstruckStatementMapper.xml

@@ -582,5 +582,13 @@
         </where>
         <include refid="orderBy"></include>
     </select>
-
+<!--    //通过账单id获取账单对应的详单信息-->
+<!--    List<BmstruckDetailsOrder> getDetailById(BigDecimal statementId);-->
+    <select id="getDetailById" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+        select bdo.details_id
+        from bmstruck_statement bs
+                 left join bmstruck_statement_detail_list bsdl on bs.statement_id = bsdl.cost_id
+                 left join bmstruck_details_order bdo on bsdl.list_id=bdo.details_id
+        where bs.statement_id=#{statementId}
+    </select>
 </mapper>