Browse Source

'修改满足接口需求'

HUJIANGUO 3 years ago
parent
commit
db1f60b52b

+ 4 - 4
pom.xml

@@ -105,13 +105,13 @@
                 <artifactId>generator-maven-plugin</artifactId>
                 <version>3.0</version>
                 <configuration>
-                    <connUrl>jdbc:oracle:thin:@192.168.1.51:1521:steerinfo</connUrl>
-                    <user>DIL0901</user>
-                    <password>st#0901</password>
+                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:isldbpri</connUrl>
+                    <user>dil</user>
+                    <password>Dil123789</password>
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>BMSPORT_HANDLING_FEE</param><!--运力-->
+                        <param>BMSSHIP_STATEMENT</param><!--运力-->
                     </tables>
                 </configuration>
                 <executions>

+ 68 - 20
src/main/java/com/steerinfo/dil/controller/BmsportHandlingFeeController.java

@@ -1,5 +1,7 @@
 package com.steerinfo.dil.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.model.BmsportHandlingFee;
 import com.steerinfo.dil.service.impl.BmsportHandlingFeeServiceImpl;
 import com.steerinfo.dil.service.impl.BmsshipStatementServiceImpl;
@@ -40,9 +42,12 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
     BmstruckFormulaServiceImpl bmstruckFormulaService;
     @Autowired
     ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
 
     /**
      * 展示港口装卸费结算信息
+     *
      * @param mapValue
      * @param pageNum
      * @param pageSize
@@ -56,20 +61,57 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
             @ApiImplicitParam(name = "apiId", value = "151", required = false, dataType = "BigDecimal")
     })
     @PostMapping("/getPortHandlingFeeList")
-    public RESTfulResult getPortHandlingFeeList(@RequestBody(required = false) Map<String,Object> mapValue,
-                                          Integer pageNum,
-                                          Integer pageSize,
-                                          Integer apiId) {
-        List<Map<String, Object>> list = bmsportHandlingFeeService.getPortHandlingFeeList(mapValue);
+    public RESTfulResult getPortHandlingFeeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                Integer apiId) {
+        //初始化过滤
+        List<Map<String, Object>> detailListTotal = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue == null) {
+            //将查询结果存入索引中
+            detailListTotal = bmsportHandlingFeeService.getPortHandlingFeeList(null);
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_port_handling_fee_list");
+            //添加id
+            map.put("indexId", "feeId");
+            detailListTotal.add(map);
+            //新建索引
+            String s = JSON.toJSONString(detailListTotal);
+            esFeign.insertIndex(detailListTotal);
+            //删除
+            detailListTotal.remove(detailListTotal.size() - 1);
+        }
+        if (detailListTotal == null) {
+            detailListTotal = bmsportHandlingFeeService.getPortHandlingFeeList(mapValue);
+        }
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmsportHandlingFeeService.getPortHandlingFeeList(mapValue);
-        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, detailListTotal, columnList);
         return success(data);
     }
 
+    @PostMapping("/getPortHandlingFeeList/{apiId}")
+    public RESTfulResult getPortHandlingFeeList(@PathVariable("apiId") Integer apiId,
+                                                @RequestBody(required = false) Map<String, Object> mapValue,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                String con) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        //设置要查询的索引名称
+        String index = "get_port_handling_fee_list";
+        //获取查询结果
+        PageListAdd list = esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con);
+        return success(list);
+    }
+
     /**
      * 展示批次信息
+     *
      * @param mapValue
      * @param pageNum
      * @param pageSize
@@ -83,10 +125,10 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
             @ApiImplicitParam(name = "apiId", value = "115", required = false, dataType = "BigDecimal")
     })
     @PostMapping("/getBatch")
-    public RESTfulResult getBatch(@RequestBody(required = false) Map<String,Object> mapValue,
-                                        Integer pageNum,
-                                        Integer pageSize,
-                                        Integer apiId) {
+    public RESTfulResult getBatch(@RequestBody(required = false) Map<String, Object> mapValue,
+                                  Integer pageNum,
+                                  Integer pageSize,
+                                  Integer apiId) {
         List<Map<String, Object>> list = bmsshipStatementService.getBatch(mapValue);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
@@ -97,6 +139,7 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
 
     /**
      * 新增港口装卸费结算
+     *
      * @param map
      * @return
      */
@@ -105,13 +148,14 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
             @ApiImplicitParam(name = "map", value = "港口装卸费字段", required = false, dataType = "java.util.List"),
     })
     @PostMapping("/addPortHandlingFee")
-    public RESTfulResult addPortHandlingFee(@RequestBody Map<String,Object> map) throws Exception {
+    public RESTfulResult addPortHandlingFee(@RequestBody Map<String, Object> map) throws Exception {
         int code1 = bmsportHandlingFeeService.insert(map);
         return success(code1);
     }
 
     /**
      * 修改港口装卸费结算
+     *
      * @param bmsportHandlingFee
      * @return
      */
@@ -120,28 +164,30 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
             @ApiImplicitParam(name = "bmsportHandlingFee", value = "港口装卸费", required = false, dataType = "BmsportHandlingFee"),
     })
     @PostMapping("/updatePortHandlingFee")
-    public RESTfulResult updatePortHandlingFee(@RequestBody BmsportHandlingFee bmsportHandlingFee){
+    public RESTfulResult updatePortHandlingFee(@RequestBody BmsportHandlingFee bmsportHandlingFee) {
         int code1 = bmsportHandlingFeeService.update(bmsportHandlingFee);
         return success(code1);
     }
 
     /**
      * 查询修改数据渲染表单
+     *
      * @param feeId
      * @return
      */
-    @ApiOperation(value="查询修改数据渲染表单")
+    @ApiOperation(value = "查询修改数据渲染表单")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "feeId",value = "港口装卸费结算字段",required = true,paramType = "java.math.BigDecimal")
+            @ApiImplicitParam(name = "feeId", value = "港口装卸费结算字段", required = true, paramType = "java.math.BigDecimal")
     })
     @PostMapping("/getFeeToUpdate/{feeId}")
     public RESTfulResult getFeeToUpdate(@PathVariable("feeId") BigDecimal feeId) {
-        List<Map<String,Object>> tmsshipLoadShipResult = bmsportHandlingFeeService.getFeeToUpdate(feeId);
+        List<Map<String, Object>> tmsshipLoadShipResult = bmsportHandlingFeeService.getFeeToUpdate(feeId);
         return success(tmsshipLoadShipResult);
     }
 
     /**
      * 逻辑删除港口装卸费结算
+     *
      * @param feeId
      * @return
      */
@@ -150,28 +196,30 @@ public class BmsportHandlingFeeController extends BaseRESTfulController {
             @ApiImplicitParam(name = "feeId", value = "主键id", required = false, dataType = "java.util.List"),
     })
     @PostMapping("/deletePortHandlingFee/{feeId}")
-    public RESTfulResult deletePortHandlingFee(@PathVariable("feeId") String feeId){
+    public RESTfulResult deletePortHandlingFee(@PathVariable("feeId") String feeId) {
         int code1 = bmsportHandlingFeeService.deleteByUpdate(new BigDecimal(feeId));
         return success(code1);
     }
 
     /**
      * 获取物资下拉
+     *
      * @return
      */
     @GetMapping(value = "/getMaterialId")
-    public RESTfulResult getMaterialId(){
-        List<Map<String,Object>> list= bmsportHandlingFeeService.getMaterialId();
+    public RESTfulResult getMaterialId() {
+        List<Map<String, Object>> list = bmsportHandlingFeeService.getMaterialId();
         return success(list);
     }
 
     /**
      * 获取价格下拉
+     *
      * @return
      */
     @GetMapping(value = "/getPriceId")
-    public RESTfulResult getPriceId(){
-        List<Map<String,Object>> list= bmsportHandlingFeeService.getPriceId();
+    public RESTfulResult getPriceId() {
+        List<Map<String, Object>> list = bmsportHandlingFeeService.getPriceId();
         return success(list);
     }
 

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

@@ -189,7 +189,7 @@ public class BmsshipStatementController extends BaseRESTfulController {
      */
     @ApiModelProperty(value = "生成途损账单")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "map", value = "批次", required = false, dataType = "java.util.List"),
+            @ApiImplicitParam(name = "map", value = "批次", required = false, dataType = "java.util.Map"),
     })
     @PostMapping("/addLossStatement")
     public RESTfulResult addLossStatement(@RequestBody Map<String,Object> map) throws Exception {

+ 42 - 0
src/main/java/com/steerinfo/dil/feign/JoinApiFeign.java

@@ -0,0 +1,42 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/11/10 9:02
+ * @Version:V2.0
+ */
+@FeignClient(value = "DAL-DAZHOU-JOIN-API",url = "https://172.16.33.161:8066")
+public interface JoinApiFeign {
+    /**
+     * 采购船运详单接口
+     * @param statementId
+     * @return
+     */
+    @PostMapping("api/v1/join/bmsshipdetailsorder/getPurchaseShipDetails")
+    List<Map<String,Object>> getPurchaseShipDetails(@RequestParam("statementId") Integer statementId);
+
+    /**
+     * 采购水运费账单接口
+     * @param statementId
+     * @return
+     */
+    @PostMapping("api/v1/join/bmsshipstatement/getShipStatement")
+    Map<String,Object> getShipStatement(@RequestParam("statementId") Integer statementId);
+
+    /**
+     * 港口装卸费结算接口
+     * @param feeId
+     * @return
+     */
+    @PostMapping("api/v1/join/bmsporthandlingfee/getPortFee")
+    Map<String,Object> getPortFee(@RequestParam("feeId") Integer feeId);
+
+}

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

@@ -83,4 +83,6 @@ public interface BmsshipStatementMapper extends IBaseMapper<BmsshipStatement, Bi
 
     @Select("select seq_BMS_STATEMENT.nextval from dual")
     BigDecimal selectStatementId();
+
+    BigDecimal getCarrierId(BigDecimal batchId);
 }

+ 17 - 1
src/main/java/com/steerinfo/dil/model/BmsshipStatement.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.model;
 import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -15,7 +16,7 @@ public class BmsshipStatement implements IBasePO<BigDecimal> {
     private BigDecimal statementId;
 
     /**
-     * 账单编号(STATEMENT_NO,VARCHAR,20)
+     * 账单编号(STATEMENT_NO,VARCHAR,200)
      */
     @ApiModelProperty(value="账单编号",required=false)
     private String statementNo;
@@ -74,6 +75,12 @@ public class BmsshipStatement implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="费用类型:水运费,途损费,水分检测费",required=false)
     private String statementType;
 
+    /**
+     * 批次ID(BATCH_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="批次ID",required=false)
+    private BigDecimal batchId;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -174,6 +181,14 @@ public class BmsshipStatement implements IBasePO<BigDecimal> {
         this.statementType = statementType == null ? null : statementType.trim();
     }
 
+    public BigDecimal getBatchId() {
+        return batchId;
+    }
+
+    public void setBatchId(BigDecimal batchId) {
+        this.batchId = batchId;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -191,6 +206,7 @@ public class BmsshipStatement implements IBasePO<BigDecimal> {
         sb.append(", updateTime=").append(updateTime);
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", statementType=").append(statementType);
+        sb.append(", batchId=").append(batchId);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 9 - 1
src/main/java/com/steerinfo/dil/service/impl/BmsportHandlingFeeServiceImpl.java

@@ -1,10 +1,12 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.JoinApiFeign;
 import com.steerinfo.dil.mapper.BmsportHandlingFeeMapper;
 import com.steerinfo.dil.model.BmsportHandlingFee;
 import com.steerinfo.dil.service.IBmsportHandlingFeeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
@@ -25,6 +27,8 @@ public class BmsportHandlingFeeServiceImpl implements IBmsportHandlingFeeService
     BmsportHandlingFeeMapper bmsportHandlingFeeMapper;
     @Autowired
     BmstruckFormulaServiceImpl bmstruckFormulaService;
+    @Autowired
+    JoinApiFeign joinApiFeign;
 
     /**
      * 修改港口装卸费结算
@@ -54,6 +58,7 @@ public class BmsportHandlingFeeServiceImpl implements IBmsportHandlingFeeService
      * @param map
      * @return
      */
+    @Transactional
     @Override
     public int insert(Map<String,Object> map) throws Exception {
         Map<String,Object> mapVal = (Map<String, Object>) map.get("mapVal");
@@ -83,7 +88,10 @@ public class BmsportHandlingFeeServiceImpl implements IBmsportHandlingFeeService
         bmsportHandlingFee.setUpdateTime(new Date());
         bmsportHandlingFee.setUpdateUsername("admin");
         bmsportHandlingFee.setInsertUpdateRemark("无");
-        return bmsportHandlingFeeMapper.insertSelective(bmsportHandlingFee);
+        int code = bmsportHandlingFeeMapper.insertSelective(bmsportHandlingFee);
+        // 调用金蝶接口
+        Map<String, Object> mapValue = joinApiFeign.getPortFee(feeId.intValue());
+        return code;
     }
 
     /**

+ 10 - 1
src/main/java/com/steerinfo/dil/service/impl/BmsshipStatementServiceImpl.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.JoinApiFeign;
 import com.steerinfo.dil.mapper.BmsshipStatementMapper;
 import com.steerinfo.dil.model.BmsshipDetailsOrder;
 import com.steerinfo.dil.model.BmsshipDetailsStatement;
@@ -33,6 +34,8 @@ public class BmsshipStatementServiceImpl implements IBmsshipStatementService {
     BmstruckFormulaServiceImpl bmstruckFormulaService;
     @Autowired
     NoUtil noUtil;
+    @Autowired
+    JoinApiFeign joinApiFeign;
 
     /**
      * 生成水运费账单
@@ -87,6 +90,10 @@ public class BmsshipStatementServiceImpl implements IBmsshipStatementService {
         bmsshipStatement.setStatementTotalAmount(new BigDecimal(statementTotalAmount));
         bmsshipStatement.setStatementType("水运费");
         int code = bmsshipStatementMapper.insertSelective(bmsshipStatement);
+        // 调用金蝶接口
+        List<Map<String,Object>> mapList = joinApiFeign.getPurchaseShipDetails(statementId.intValue());
+        Map<String,Object> mapValue = joinApiFeign.getShipStatement(statementId.intValue());
+        mapValue.put("mapList",mapList);
         return code;
     }
 
@@ -133,13 +140,15 @@ public class BmsshipStatementServiceImpl implements IBmsshipStatementService {
         String statementNo = noUtil.setResultNo("ZD",statementId);
         bmsshipStatement.setStatementNo(statementNo);
         bmsshipStatement.setStatementDate(new Date());
-        bmsshipStatement.setStatementShipperId(new BigDecimal(1));
+        BigDecimal statementShipperId = bmsshipStatementMapper.getCarrierId(batchId);
+        bmsshipStatement.setStatementShipperId(statementShipperId);
         BigDecimal doubleTotalAmount = bmstruckFormulaService.generateLossCost(batchId);
         // 详单-账单
         DecimalFormat df = new DecimalFormat("0.00");
         String statementTotalAmount = df.format(doubleTotalAmount.doubleValue());
         bmsshipStatement.setStatementTotalAmount(new BigDecimal(statementTotalAmount));
         bmsshipStatement.setStatementType("物流途损超标扣款");
+        bmsshipStatement.setBatchId(batchId);
         // 设置常规字段
         bmsshipStatement.setInsertTime(new Date());
         bmsshipStatement.setInsertUsername("admin");

+ 4 - 5
src/main/resources/application-dev.yml

@@ -1,9 +1,8 @@
 spring:
   datasource:
-    url: jdbc:oracle:thin:@192.168.1.51:1521:steerinfo
-    password: st#0901
-    username: DIL0901
+    url: jdbc:oracle:thin:@172.16.33.163:1521:isldbpri
+    password: Dil123789
+    username: dil
     driver-class-name: oracle.jdbc.OracleDriver
   application:
-    name: dil-bmsship-api-dev
-
+    name: dil-bmsship-api-dev

+ 3 - 3
src/main/resources/application-prod.yml

@@ -1,8 +1,8 @@
 spring:
   datasource:
-    url: jdbc:oracle:thin:@192.168.1.51:1521:steerinfo
-    password: st#0901
-    username: DIL0901
+    url: jdbc:oracle:thin:@172.16.33.163:1521:isldbpri
+    password: Dil123789
+    username: dil
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dil-bmsship-api-dev

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -16,7 +16,7 @@ openfeign:
   ESFeign:
     url: ${ESFEIGN_URL:localhost:8099}
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:localhost:8083}
+    url: ${COLUMNDATAFEIGN_URL:192.168.0.107:8083}
 
 #eureka设置
 eureka:

+ 85 - 59
src/main/resources/com/steerinfo/dil/mapper/BmsshipStatementMapper.xml

@@ -2,37 +2,34 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.steerinfo.dil.mapper.BmsshipStatementMapper">
     <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmsshipStatement">
-        <id column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId"/>
-        <result column="STATEMENT_NO" jdbcType="VARCHAR" property="statementNo"/>
-        <result column="STATEMENT_SHIPPER_ID" jdbcType="DECIMAL" property="statementShipperId"/>
-        <result column="STATEMENT_TOTAL_AMOUNT" jdbcType="DECIMAL" property="statementTotalAmount"/>
-        <result column="STATEMENT_DATE" jdbcType="TIMESTAMP" property="statementDate"/>
-        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername"/>
-        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime"/>
-        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername"/>
-        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/>
-        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark"/>
-        <result column="STATEMENT_TYPE" jdbcType="VARCHAR" property="statementType"/>
+        <id column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId" />
+        <result column="STATEMENT_NO" jdbcType="VARCHAR" property="statementNo" />
+        <result column="STATEMENT_SHIPPER_ID" jdbcType="DECIMAL" property="statementShipperId" />
+        <result column="STATEMENT_TOTAL_AMOUNT" jdbcType="DECIMAL" property="statementTotalAmount" />
+        <result column="STATEMENT_DATE" jdbcType="TIMESTAMP" property="statementDate" />
+        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+        <result column="STATEMENT_TYPE" jdbcType="VARCHAR" property="statementType" />
+        <result column="BATCH_ID" jdbcType="DECIMAL" property="batchId" />
     </resultMap>
     <sql id="columns">
         STATEMENT_ID, STATEMENT_NO, STATEMENT_SHIPPER_ID, STATEMENT_TOTAL_AMOUNT, STATEMENT_DATE,
     INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    STATEMENT_TYPE
+    STATEMENT_TYPE, BATCH_ID
     </sql>
     <sql id="columns_alias">
         t.STATEMENT_ID, t.STATEMENT_NO, t.STATEMENT_SHIPPER_ID, t.STATEMENT_TOTAL_AMOUNT,
     t.STATEMENT_DATE, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
-    t.INSERT_UPDATE_REMARK, t.STATEMENT_TYPE
+    t.INSERT_UPDATE_REMARK, t.STATEMENT_TYPE, t.BATCH_ID
     </sql>
     <sql id="select">
-        SELECT
-        <include refid="columns"/>
-        FROM BMSSHIP_STATEMENT
+        SELECT <include refid="columns" /> FROM BMSSHIP_STATEMENT
     </sql>
     <sql id="select_alias">
-        SELECT
-        <include refid="columns_alias"/>
-        FROM BMSSHIP_STATEMENT t
+        SELECT <include refid="columns_alias" /> FROM BMSSHIP_STATEMENT t
     </sql>
     <sql id="where">
         <where>
@@ -69,6 +66,9 @@
             <if test="statementType != null and statementType != ''">
                 and STATEMENT_TYPE = #{statementType}
             </if>
+            <if test="batchId != null">
+                and BATCH_ID = #{batchId}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -106,11 +106,13 @@
             <if test="statementType != null and statementType != ''">
                 and STATEMENT_TYPE LIKE '%${statementType}%'
             </if>
+            <if test="batchId != null">
+                and BATCH_ID = #{batchId}
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
-        delete
-        from BMSSHIP_STATEMENT
+        delete from BMSSHIP_STATEMENT
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </delete>
     <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
@@ -146,19 +148,21 @@
         <if test="statementType != null and statementType != ''">
             or STATEMENT_TYPE = #{statementType}
         </if>
+        <if test="batchId != null">
+            or BATCH_ID = #{batchId}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.BmsshipStatement">
         insert into BMSSHIP_STATEMENT (STATEMENT_ID, STATEMENT_NO, STATEMENT_SHIPPER_ID,
                                        STATEMENT_TOTAL_AMOUNT, STATEMENT_DATE,
                                        INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
-                                       UPDATE_TIME, INSERT_UPDATE_REMARK, STATEMENT_TYPE)
-        values (#{statementId,jdbcType=DECIMAL}, #{statementNo,jdbcType=VARCHAR},
-                #{statementShipperId,jdbcType=DECIMAL},
+                                       UPDATE_TIME, INSERT_UPDATE_REMARK, STATEMENT_TYPE,
+                                       BATCH_ID)
+        values (#{statementId,jdbcType=DECIMAL}, #{statementNo,jdbcType=VARCHAR}, #{statementShipperId,jdbcType=DECIMAL},
                 #{statementTotalAmount,jdbcType=DECIMAL}, #{statementDate,jdbcType=TIMESTAMP},
-                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
-                #{updateUsername,jdbcType=VARCHAR},
-                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
-                #{statementType,jdbcType=VARCHAR})
+                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{statementType,jdbcType=VARCHAR},
+                #{batchId,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmsshipStatement">
         insert into BMSSHIP_STATEMENT
@@ -196,6 +200,9 @@
             <if test="statementType != null">
                 STATEMENT_TYPE,
             </if>
+            <if test="batchId != null">
+                BATCH_ID,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="statementId != null">
@@ -231,20 +238,24 @@
             <if test="statementType != null">
                 #{statementType,jdbcType=VARCHAR},
             </if>
+            <if test="batchId != null">
+                #{batchId,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmsshipStatement">
         update BMSSHIP_STATEMENT
-        set STATEMENT_NO           = #{statementNo,jdbcType=VARCHAR},
-            STATEMENT_SHIPPER_ID   = #{statementShipperId,jdbcType=DECIMAL},
+        set STATEMENT_NO = #{statementNo,jdbcType=VARCHAR},
+            STATEMENT_SHIPPER_ID = #{statementShipperId,jdbcType=DECIMAL},
             STATEMENT_TOTAL_AMOUNT = #{statementTotalAmount,jdbcType=DECIMAL},
-            STATEMENT_DATE         = #{statementDate,jdbcType=TIMESTAMP},
-            INSERT_USERNAME        = #{insertUsername,jdbcType=VARCHAR},
-            INSERT_TIME            = #{insertTime,jdbcType=TIMESTAMP},
-            UPDATE_USERNAME        = #{updateUsername,jdbcType=VARCHAR},
-            UPDATE_TIME            = #{updateTime,jdbcType=TIMESTAMP},
-            INSERT_UPDATE_REMARK   = #{insertUpdateRemark,jdbcType=VARCHAR},
-            STATEMENT_TYPE         = #{statementType,jdbcType=VARCHAR}
+            STATEMENT_DATE = #{statementDate,jdbcType=TIMESTAMP},
+            INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            STATEMENT_TYPE = #{statementType,jdbcType=VARCHAR},
+            BATCH_ID = #{batchId,jdbcType=DECIMAL}
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmsshipStatement">
@@ -280,20 +291,23 @@
             <if test="statementType != null">
                 STATEMENT_TYPE = #{statementType,jdbcType=VARCHAR},
             </if>
+            <if test="batchId != null">
+                BATCH_ID = #{batchId,jdbcType=DECIMAL},
+            </if>
         </set>
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </update>
     <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
-        <include refid="select"/>
+        <include refid="select" />
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </select>
     <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="where"/>
+        <include refid="select" />
+        <include refid="where" />
     </select>
     <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="whereLike"/>
+        <include refid="select" />
+        <include refid="whereLike" />
     </select>
     <insert id="batchInsert" parameterType="java.util.List">
         insert into BMSSHIP_STATEMENT
@@ -302,8 +316,8 @@
         STATEMENT_TOTAL_AMOUNT, STATEMENT_DATE,
         INSERT_USERNAME, INSERT_TIME,
         UPDATE_USERNAME, UPDATE_TIME,
-        INSERT_UPDATE_REMARK, STATEMENT_TYPE
-        )
+        INSERT_UPDATE_REMARK, STATEMENT_TYPE,
+        BATCH_ID)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.statementId,jdbcType=DECIMAL},
@@ -311,71 +325,76 @@
         #{item.statementTotalAmount,jdbcType=DECIMAL}, #{item.statementDate,jdbcType=TIMESTAMP},
         #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
         #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
-        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.statementType,jdbcType=VARCHAR}
-        from dual
+        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.statementType,jdbcType=VARCHAR},
+        #{item.batchId,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
         update BMSSHIP_STATEMENT
         set
         STATEMENT_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_NO=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementNo,jdbcType=VARCHAR}
         </foreach>
         ,STATEMENT_SHIPPER_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementShipperId,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_TOTAL_AMOUNT=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementTotalAmount,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_DATE=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementDate,jdbcType=TIMESTAMP}
         </foreach>
         ,INSERT_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
         </foreach>
         ,INSERT_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
         </foreach>
         ,UPDATE_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
         </foreach>
         ,UPDATE_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
         </foreach>
         ,INSERT_UPDATE_REMARK=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
         </foreach>
         ,STATEMENT_TYPE=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementType,jdbcType=VARCHAR}
         </foreach>
+        ,BATCH_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.batchId,jdbcType=DECIMAL}
+        </foreach>
         where STATEMENT_ID in
-        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+        <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.statementId,jdbcType=DECIMAL}
         </foreach>
     </update>
     <delete id="batchDelete" parameterType="java.util.List">
         delete from BMSSHIP_STATEMENT
         where STATEMENT_ID in
-        <foreach collection="list" item="id" open="(" close=")" separator=",">
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
             #{id}
         </foreach>
     </delete>
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
     <select id="selectMaxId" resultType="DECIMAL">
         SELECT MAX(STATEMENT_ID)
         FROM BMSSHIP_STATEMENT
@@ -985,4 +1004,11 @@
             order by "receiveTime" desc
         </if>
     </sql>
+
+    <select id="getCarrierId" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT AP.CARRIER_ID AS "carrierId"
+        FROM DIL_BATCH DB
+                 LEFT JOIN AMSTRUCK_PURPLAN AP
+                           ON AP.BATCH_ID = DB.BATCH_ID
+    </select>
 </mapper>