浏览代码

'销售采购汽运结算合并'

HUJIANGUO 3 年之前
父节点
当前提交
a5210af2a2
共有 32 个文件被更改,包括 4266 次插入49 次删除
  1. 6 1
      pom.xml
  2. 47 0
      src/main/java/com/steerinfo/dil/controller/BmstruckCheckController.java
  3. 36 5
      src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java
  4. 164 0
      src/main/java/com/steerinfo/dil/controller/BmstruckInvoiceController.java
  5. 111 0
      src/main/java/com/steerinfo/dil/controller/BmstruckStatementController.java
  6. 14 0
      src/main/java/com/steerinfo/dil/mapper/BmstruckCheckMapper.java
  7. 36 1
      src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java
  8. 16 0
      src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsStatementMapper.java
  9. 24 0
      src/main/java/com/steerinfo/dil/mapper/BmstruckInvoiceMapper.java
  10. 33 0
      src/main/java/com/steerinfo/dil/mapper/BmstruckStatementMapper.java
  11. 228 0
      src/main/java/com/steerinfo/dil/model/BmstruckCheck.java
  12. 15 0
      src/main/java/com/steerinfo/dil/model/BmstruckDetailsOrder.java
  13. 154 0
      src/main/java/com/steerinfo/dil/model/BmstruckDetailsStatement.java
  14. 274 0
      src/main/java/com/steerinfo/dil/model/BmstruckInvoice.java
  15. 228 0
      src/main/java/com/steerinfo/dil/model/BmstruckStatement.java
  16. 31 0
      src/main/java/com/steerinfo/dil/service/IBmstruckCheckService.java
  17. 9 1
      src/main/java/com/steerinfo/dil/service/IBmstruckDetailsOrderService.java
  18. 23 0
      src/main/java/com/steerinfo/dil/service/IBmstruckDetailsStatementService.java
  19. 52 0
      src/main/java/com/steerinfo/dil/service/IBmstruckInvoiceService.java
  20. 45 0
      src/main/java/com/steerinfo/dil/service/IBmstruckStatementService.java
  21. 60 0
      src/main/java/com/steerinfo/dil/service/impl/BmstruckCheckServiceImpl.java
  22. 73 14
      src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java
  23. 33 0
      src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsStatementServiceImpl.java
  24. 97 0
      src/main/java/com/steerinfo/dil/service/impl/BmstruckInvoiceServiceImpl.java
  25. 156 0
      src/main/java/com/steerinfo/dil/service/impl/BmstruckStatementServiceImpl.java
  26. 57 0
      src/main/java/com/steerinfo/dil/util/FileNameUtils.java
  27. 1 1
      src/main/resources/bootstrap.yml
  28. 424 0
      src/main/resources/com/steerinfo/dil/mapper/BmstruckCheckMapper.xml
  29. 420 26
      src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml
  30. 294 0
      src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsStatementMapper.xml
  31. 519 0
      src/main/resources/com/steerinfo/dil/mapper/BmstruckInvoiceMapper.xml
  32. 586 0
      src/main/resources/com/steerinfo/dil/mapper/BmstruckStatementMapper.xml

+ 6 - 1
pom.xml

@@ -49,6 +49,11 @@
 
     <dependencies>
         <!--websocket-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-freemarker</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-websocket</artifactId>
@@ -111,7 +116,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>BMSTRUCK_FORMULA</param><!--运力-->
+                        <param>BMSTRUCK_INVOICE</param><!--运力-->
                     </tables>
                 </configuration>
                 <executions>

+ 47 - 0
src/main/java/com/steerinfo/dil/controller/BmstruckCheckController.java

@@ -0,0 +1,47 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.BmstruckCheckServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+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;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/9/24 17:29
+ * @Version:V2.0
+ */
+@RestController
+@RequestMapping("/${api.version}/bmstruckcheck")
+public class BmstruckCheckController extends BaseRESTfulController {
+
+    @Autowired
+    BmstruckCheckServiceImpl bmstruckCheckService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    /**
+     * 修改审核状态
+     *
+     * @param statementId
+     * @return
+     */
+    @ApiModelProperty(value = "修改审核状态")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "statementId", value = "销售账单id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/updateBmstruckCheck")
+    public RESTfulResult updateBmstruckCheck(@RequestParam BigDecimal statementId,
+                                             @RequestParam Integer status,
+                                             @RequestParam String person) {
+        int code = bmstruckCheckService.updateBmstruckCheck(statementId, status, person);
+        return success(code);
+    }
+}

+ 36 - 5
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -44,17 +44,48 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
-            @ApiImplicitParam(name = "apiId", value = "140", required = false, dataType = "BigDecimal")
+            @ApiImplicitParam(name = "apiId", value = "销售:176/采购:140", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "orderType" ,value = "1:销售,3:采购",required = false,dataType = "Integer")
     })
     @PostMapping("/getTruckDetailsOrderList")
     public RESTfulResult getTruckDetailsOrderList(@RequestBody(required = false) Map<String,Object> mapVal,
                                                   Integer pageNum,
                                                   Integer pageSize,
-                                                  Integer apiId) {
-        List<Map<String, Object>> list = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapVal);
+                                                  Integer apiId,
+                                                  Integer orderType) {
+        List<Map<String, Object>> list = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapVal,orderType);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
-        List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapVal);
+        List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapVal,orderType);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        return success(data);
+    }
+
+    /**
+     * 展示汽运未生成账单的详单信息
+     * @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:销售",required = false,dataType = "Integer")
+    })
+    @PostMapping("/getUnFinishedTruckDetailsOrderList")
+    public RESTfulResult getUnFinishedTruckDetailsOrderList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  Integer apiId,
+                                                  Integer orderType) {
+        List<Map<String, Object>> list = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapVal,orderType);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapVal,orderType);
         PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
         return success(data);
     }
@@ -71,7 +102,7 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
-            @ApiImplicitParam(name = "apiId", value = "142", required = false, dataType = "BigDecimal")
+            @ApiImplicitParam(name = "apiId", value = "销售:177/采购:142", required = false, dataType = "BigDecimal")
     })
     @PostMapping("/getTruckResultList")
     public RESTfulResult getTruckResultList(@RequestBody(required = false) Map<String,Object> mapVal,

+ 164 - 0
src/main/java/com/steerinfo/dil/controller/BmstruckInvoiceController.java

@@ -0,0 +1,164 @@
+package com.steerinfo.dil.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.steerinfo.dil.model.BmstruckInvoice;
+import com.steerinfo.dil.service.impl.BmstruckInvoiceServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.FileNameUtils;
+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 oracle.jdbc.proxy.annotation.Post;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ResourceLoader;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/9/24 17:29
+ * @Version:V2.0
+ */
+@RestController
+@RequestMapping("/${api.version}/bmstruckinvoice")
+public class BmstruckInvoiceController extends BaseRESTfulController {
+
+    @Autowired
+    BmstruckInvoiceServiceImpl bmstruckInvoiceService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    private final String UPLOAD_PATH = "C:/Download/Files/InvoicePhotos/";
+
+    // 资源加载
+    private final ResourceLoader resourceLoader;
+
+    public BmstruckInvoiceController(ResourceLoader resourceLoader) {
+        this.resourceLoader = resourceLoader;
+    }
+
+    /**
+     * 新增发票
+     *
+     * @param mapVal
+     * @return
+     */
+    @ApiModelProperty(value = "新增发票")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapVal", value = "销售账单id,托运方id,承运商id", required = false, dataType = "mapVal"),
+    })
+    @PostMapping("/addBmstruckInvoice")
+    public RESTfulResult addBmstruckInvoice(@RequestBody Map<String, Object> mapVal) {
+        int code = bmstruckInvoiceService.addBmstruckInvoice(mapVal);
+        return success(code);
+    }
+
+    /**
+     * 展示发票
+     *
+     * @param mapValue
+     * @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 = "178", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getInvoiceList")
+    public RESTfulResult getInvoiceList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        Integer pageNum,
+                                        Integer pageSize,
+                                        Integer apiId) {
+        List<Map<String, Object>> list = bmstruckInvoiceService.getInvoiceList(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckInvoiceService.getInvoiceList(mapValue);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        return success(data);
+    }
+
+    /**
+     * 上传发票图片接口
+     * @param invoiceId
+     * @param file
+     * @param request
+     * @return
+     */
+    @ApiModelProperty(value = "上传发票图片接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "invoiceId", value = "发票id", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "file", value = "图片文件", required = false, dataType = "MultipartFile"),
+            @ApiImplicitParam(name = "request", value = "请求", required = false, dataType = "HttpServletRequest")
+    })
+    @PostMapping("/singleFileUpdate/{invoiceId}")
+    public RESTfulResult singleFileUpdate(@PathVariable("invoiceId") Integer invoiceId,
+                                          @RequestParam MultipartFile file,
+                                          HttpServletRequest request) {
+        try {
+            byte[] bytes = file.getBytes();
+            String imageFileName = file.getOriginalFilename();
+            String fileName = FileNameUtils.getPhotoName("imag", imageFileName);
+            Path path = Paths.get(UPLOAD_PATH + fileName);
+            BmstruckInvoice bmstruckInvoice = bmstruckInvoiceService.selectByPrimaryKey(new BigDecimal(invoiceId));
+            bmstruckInvoice.setInvoiceImagePath(path.toString());
+            bmstruckInvoice.setInvoiceBillingDate(new Date());
+            int code = bmstruckInvoiceService.updateByPrimaryKeySelective(bmstruckInvoice);
+            Files.write(path, bytes);
+            return success(code);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return success();
+    }
+
+    /**
+     * 查询发票图片
+     *
+     * @param response
+     * @param invoiceId
+     * @throws IOException
+     */
+    @ApiModelProperty(value = "查询发票图片")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "invoiceId", value = "发票id", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "response", value = "响应", required = false, dataType = "HttpServletResponse")
+    })
+    @GetMapping(value = "/getImage/{invoiceId}")
+    public void getImage(HttpServletResponse response,
+                         @PathVariable("invoiceId") Integer invoiceId) throws IOException {
+        response.setContentType("image/jpeg;charset=utf-8");
+        response.setHeader("Content-Disposition", "inline; filename=girls.png");
+        ServletOutputStream outputStream = response.getOutputStream();
+        BmstruckInvoice bmstruckInvoice = bmstruckInvoiceService.selectByPrimaryKey(new BigDecimal(invoiceId));
+        String invoiceImagePath = bmstruckInvoice.getInvoiceImagePath();
+        String replaceStr = invoiceImagePath.replace(UPLOAD_PATH, "换");
+        int index = replaceStr.indexOf("换");
+        String name = replaceStr.substring(index + 1);
+        outputStream.write(Files.readAllBytes(Paths.get(UPLOAD_PATH).resolve(name)));
+        outputStream.flush();
+        outputStream.close();
+    }
+
+}

+ 111 - 0
src/main/java/com/steerinfo/dil/controller/BmstruckStatementController.java

@@ -0,0 +1,111 @@
+package com.steerinfo.dil.controller;
+
+import com.github.pagehelper.PageHelper;
+import com.steerinfo.dil.service.impl.BmstruckStatementServiceImpl;
+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 io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/9/24 17:29
+ * @Version:V2.0
+ */
+@RestController
+@RequestMapping("/${api.version}/bmstruckstatement")
+public class BmstruckStatementController extends BaseRESTfulController {
+
+    @Autowired
+    BmstruckStatementServiceImpl bmstruckStatementService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    /**
+     * 展示汽运账单信息
+     * @param mapValue
+     * @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 = "179", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getTruckStatementList")
+    public RESTfulResult getTruckStatementList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                          Integer pageNum,
+                                          Integer pageSize,
+                                          Integer apiId) {
+        List<Map<String, Object>> list = bmstruckStatementService.getTruckStatementList(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckStatementService.getTruckStatementList(mapValue);
+        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("/addTruckStatement")
+    public RESTfulResult addTruckStatement(@RequestBody List<Map<String,Object>> mapList) {
+        int code1 = bmstruckStatementService.addTruckStatement(mapList);
+        return success(code1);
+    }
+
+    /**
+     * 展示账单下的详单
+     * @param mapVal
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @return
+     */
+    @ApiOperation(value="展示账单下的详单", notes="分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "statementId", value = "账单id", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "177", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping(value = "/getSaleTruckStatementDetailsOrderList")
+    public RESTfulResult getSaleTruckStatementDetailsOrderList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                                      Integer pageNum,
+                                                      Integer pageSize,
+                                                      Integer apiId,
+                                                      BigDecimal statementId){
+        if (mapVal==null) {
+            mapVal = new HashMap<>();
+        }
+        mapVal.put("statementId",statementId);
+        List<Map<String,Object>> list = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapVal);
+        com.steerinfo.framework.service.pagehelper.PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapVal);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        return success(data);
+    }
+
+}

+ 14 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckCheckMapper.java

@@ -0,0 +1,14 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.BmstruckCheck;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface BmstruckCheckMapper extends IBaseMapper<BmstruckCheck, BigDecimal> {
+
+    @Select("select seq_BMSTRUCK_CHECK.nextval from dual")
+    BigDecimal selectCheckId();
+}

+ 36 - 1
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java

@@ -32,6 +32,13 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
      */
     BigDecimal selectMaxId();
 
+    /**
+     * 运单id
+     * @param orderId
+     * @return
+     */
+    BigDecimal getOrderType(BigDecimal orderId);
+
     /**
      * 展示汽运实绩列表
      * @param mapVal
@@ -65,6 +72,34 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
      */
     BigDecimal getNetWeight(BigDecimal orderId);
 
-    @Select("select seq_BMSTRUCK_DETAIL.nextval from dual")
+//    /**
+//     * 生成汽运账单
+//     * @param mapList
+//     * @return
+//     */
+//    int addTruckStatement(List<Map<String, Object>> mapList);
+
+    @Select("select seq_BMSTRUCK_STATEMENT.nextval from dual")
     BigDecimal selectDetailsId();
+
+    /**
+     * 展示汽运实绩列表
+     * @param mapVal
+     * @return
+     */
+    List<Map<String, Object>> getSaleTruckResultList(Map<String,Object> mapVal);
+
+    /**
+     * 查看未转账单的详单
+     * @param mapVal
+     * @return
+     */
+    List<Map<String, Object>> getUnFinishedTruckDetailsOrderList(Map<String, Object> mapVal);
+
+    /**
+     * 查看详单
+     * @param mapVal
+     * @return
+     */
+    List<Map<String, Object>> getSaleTruckDetailsOrderList(Map<String, Object> mapVal);
 }

+ 16 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsStatementMapper.java

@@ -0,0 +1,16 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.BmstruckDetailsStatement;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface BmstruckDetailsStatementMapper extends IBaseMapper<BmstruckDetailsStatement, Short> {
+
+    @Select("select seq_BMSTRUCK_STATEMENTDETAILS.nextval from dual")
+    BigDecimal selectDetailsStatementId();
+
+    int insertSelective(BmstruckDetailsStatement bmstruckDetailsStatement);
+}

+ 24 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckInvoiceMapper.java

@@ -0,0 +1,24 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.BmstruckInvoice;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface BmstruckInvoiceMapper extends IBaseMapper<BmstruckInvoice, BigDecimal> {
+
+    @Select("select seq_BMSTRUCK_INVOICE.nextval from dual")
+    BigDecimal selectInvoiceId();
+
+    /**
+     * 展示发票信息
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> getInvoiceList(Map<String, Object> mapValue);
+}

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

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.BmstruckStatement;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface BmstruckStatementMapper extends IBaseMapper<BmstruckStatement, BigDecimal> {
+
+    /**
+     * 展示汽运账单
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> getTruckStatementList(Map<String, Object> mapValue);
+
+
+
+    @Select("select seq_BMSTRUCK_DETAIL.nextval from dual")
+    BigDecimal selectStatementId();
+
+    /**
+     * 展示账单下的详单
+     * @param mapVal
+     * @return
+     */
+    List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal);
+}

+ 228 - 0
src/main/java/com/steerinfo/dil/model/BmstruckCheck.java

@@ -0,0 +1,228 @@
+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;
+
+@ApiModel(value="计费账单稽核")
+public class BmstruckCheck implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(CHECK_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal checkId;
+
+    /**
+     * 账单ID(STATEMENT_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="账单ID",required=false)
+    private BigDecimal statementId;
+
+    /**
+     * 收货客户ID(RECEIVE_CUSTOMER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="收货客户ID",required=false)
+    private BigDecimal receiveCustomerId;
+
+    /**
+     * 收货客户稽核状态(0:拒绝;1:同意)(CHECK_RECEIVE_CUSTOMER_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="收货客户稽核状态(0:拒绝;1:同意)",required=false)
+    private BigDecimal checkReceiveCustomerStatus;
+
+    /**
+     * 承运商ID(CARRIER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="承运商ID",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 承运商稽核状态(0:拒绝;1:同意)(CHECK_CARRIER_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="承运商稽核状态(0:拒绝;1:同意)",required=false)
+    private BigDecimal checkCarrierStatus;
+
+    /**
+     * 销售公司ID(SHIPPER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售公司ID",required=false)
+    private BigDecimal shipperId;
+
+    /**
+     * 销售公司稽核状态(0:拒绝;1:同意)(CHECK_SHIPPER_STATUS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售公司稽核状态(0:拒绝;1:同意)",required=false)
+    private BigDecimal checkShipperStatus;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.checkId;
+    }
+
+    @Override
+    public void setId(BigDecimal checkId) {
+        this.checkId = checkId;
+    }
+
+    public BigDecimal getCheckId() {
+        return checkId;
+    }
+
+    public void setCheckId(BigDecimal checkId) {
+        this.checkId = checkId;
+    }
+
+    public BigDecimal getStatementId() {
+        return statementId;
+    }
+
+    public void setStatementId(BigDecimal statementId) {
+        this.statementId = statementId;
+    }
+
+    public BigDecimal getReceiveCustomerId() {
+        return receiveCustomerId;
+    }
+
+    public void setReceiveCustomerId(BigDecimal receiveCustomerId) {
+        this.receiveCustomerId = receiveCustomerId;
+    }
+
+    public BigDecimal getCheckReceiveCustomerStatus() {
+        return checkReceiveCustomerStatus;
+    }
+
+    public void setCheckReceiveCustomerStatus(BigDecimal checkReceiveCustomerStatus) {
+        this.checkReceiveCustomerStatus = checkReceiveCustomerStatus;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public BigDecimal getCheckCarrierStatus() {
+        return checkCarrierStatus;
+    }
+
+    public void setCheckCarrierStatus(BigDecimal checkCarrierStatus) {
+        this.checkCarrierStatus = checkCarrierStatus;
+    }
+
+    public BigDecimal getShipperId() {
+        return shipperId;
+    }
+
+    public void setShipperId(BigDecimal shipperId) {
+        this.shipperId = shipperId;
+    }
+
+    public BigDecimal getCheckShipperStatus() {
+        return checkShipperStatus;
+    }
+
+    public void setCheckShipperStatus(BigDecimal checkShipperStatus) {
+        this.checkShipperStatus = checkShipperStatus;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", checkId=").append(checkId);
+        sb.append(", statementId=").append(statementId);
+        sb.append(", receiveCustomerId=").append(receiveCustomerId);
+        sb.append(", checkReceiveCustomerStatus=").append(checkReceiveCustomerStatus);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", checkCarrierStatus=").append(checkCarrierStatus);
+        sb.append(", shipperId=").append(shipperId);
+        sb.append(", checkShipperStatus=").append(checkShipperStatus);
+        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();
+    }
+}

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

@@ -80,6 +80,12 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="记录创建或修改备注",required=false)
     private String insertUpdateRemark;
 
+    /**
+     * 是否转成账单:(0:否,1:是)(WETHER_TO_STATEMENT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否转成账单:(0:否,1:是)",required=false)
+    private BigDecimal wetherToStatement;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -188,6 +194,14 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
     }
 
+    public BigDecimal getWetherToStatement() {
+        return wetherToStatement;
+    }
+
+    public void setWetherToStatement(BigDecimal wetherToStatement) {
+        this.wetherToStatement = wetherToStatement;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -206,6 +220,7 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         sb.append(", updateUsername=").append(updateUsername);
         sb.append(", updateTime=").append(updateTime);
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", wetherToStatement=").append(wetherToStatement);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 154 - 0
src/main/java/com/steerinfo/dil/model/BmstruckDetailsStatement.java

@@ -0,0 +1,154 @@
+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;
+
+@ApiModel(value="null")
+public class BmstruckDetailsStatement implements IBasePO<BigDecimal> {
+    /**
+     * 汽运详单-账单中间id(DETAILS_STATEMENT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="汽运详单-账单中间id",required=true)
+    private BigDecimal detailsStatementId;
+
+    /**
+     * 汽运账单id(STATEMENT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="汽运账单id",required=false)
+    private BigDecimal statementId;
+
+    /**
+     * 汽运详单id(DETAILS_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="汽运详单id",required=false)
+    private BigDecimal detailsId;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,200)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.detailsStatementId;
+    }
+
+    @Override
+    public void setId(BigDecimal detailsStatementId) {
+        this.detailsStatementId = detailsStatementId;
+    }
+
+    public BigDecimal getDetailsStatementId() {
+        return detailsStatementId;
+    }
+
+    public void setDetailsStatementId(BigDecimal detailsStatementId) {
+        this.detailsStatementId = detailsStatementId;
+    }
+
+    public BigDecimal getStatementId() {
+        return statementId;
+    }
+
+    public void setStatementId(BigDecimal statementId) {
+        this.statementId = statementId;
+    }
+
+    public BigDecimal getDetailsId() {
+        return detailsId;
+    }
+
+    public void setDetailsId(BigDecimal detailsId) {
+        this.detailsId = detailsId;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", detailsStatementId=").append(detailsStatementId);
+        sb.append(", statementId=").append(statementId);
+        sb.append(", detailsId=").append(detailsId);
+        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();
+    }
+}

+ 274 - 0
src/main/java/com/steerinfo/dil/model/BmstruckInvoice.java

@@ -0,0 +1,274 @@
+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;
+
+@ApiModel(value="发票")
+public class BmstruckInvoice implements IBasePO<BigDecimal> {
+    /**
+     * 主键id(INVOICE_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键id",required=true)
+    private BigDecimal invoiceId;
+
+    /**
+     * 结算单id(STATEMENT_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="结算单id",required=false)
+    private BigDecimal statementId;
+
+    /**
+     * 甲方id(GROUP_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="甲方id",required=false)
+    private BigDecimal groupId;
+
+    /**
+     * 乙方id(CARRIER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="乙方id",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 图片路径(INVOICE_IMAGE_PATH,VARCHAR,200)
+     */
+    @ApiModelProperty(value="图片路径",required=false)
+    private String invoiceImagePath;
+
+    /**
+     * 票据编号(INVOICE_NUMBER,VARCHAR,20)
+     */
+    @ApiModelProperty(value="票据编号",required=false)
+    private String invoiceNumber;
+
+    /**
+     * 开票日期(INVOICE_BILLING_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="开票日期",required=false)
+    private Date invoiceBillingDate;
+
+    /**
+     * 备注
+(INVOICE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="备注",required=false)
+    private String invoiceRemark;
+
+    /**
+     * 收款人(INVOICE_PAYEE,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收款人",required=false)
+    private String invoicePayee;
+
+    /**
+     * 复核人(INVOICE_REVIEWER,VARCHAR,20)
+     */
+    @ApiModelProperty(value="复核人",required=false)
+    private String invoiceReviewer;
+
+    /**
+     * 开票人(INVOICE_ISSUER,VARCHAR,20)
+     */
+    @ApiModelProperty(value="开票人",required=false)
+    private String invoiceIssuer;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.invoiceId;
+    }
+
+    @Override
+    public void setId(BigDecimal invoiceId) {
+        this.invoiceId = invoiceId;
+    }
+
+    public BigDecimal getInvoiceId() {
+        return invoiceId;
+    }
+
+    public void setInvoiceId(BigDecimal invoiceId) {
+        this.invoiceId = invoiceId;
+    }
+
+    public BigDecimal getStatementId() {
+        return statementId;
+    }
+
+    public void setStatementId(BigDecimal statementId) {
+        this.statementId = statementId;
+    }
+
+    public BigDecimal getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(BigDecimal groupId) {
+        this.groupId = groupId;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public String getInvoiceImagePath() {
+        return invoiceImagePath;
+    }
+
+    public void setInvoiceImagePath(String invoiceImagePath) {
+        this.invoiceImagePath = invoiceImagePath == null ? null : invoiceImagePath.trim();
+    }
+
+    public String getInvoiceNumber() {
+        return invoiceNumber;
+    }
+
+    public void setInvoiceNumber(String invoiceNumber) {
+        this.invoiceNumber = invoiceNumber == null ? null : invoiceNumber.trim();
+    }
+
+    public Date getInvoiceBillingDate() {
+        return invoiceBillingDate;
+    }
+
+    public void setInvoiceBillingDate(Date invoiceBillingDate) {
+        this.invoiceBillingDate = invoiceBillingDate;
+    }
+
+    public String getInvoiceRemark() {
+        return invoiceRemark;
+    }
+
+    public void setInvoiceRemark(String invoiceRemark) {
+        this.invoiceRemark = invoiceRemark == null ? null : invoiceRemark.trim();
+    }
+
+    public String getInvoicePayee() {
+        return invoicePayee;
+    }
+
+    public void setInvoicePayee(String invoicePayee) {
+        this.invoicePayee = invoicePayee == null ? null : invoicePayee.trim();
+    }
+
+    public String getInvoiceReviewer() {
+        return invoiceReviewer;
+    }
+
+    public void setInvoiceReviewer(String invoiceReviewer) {
+        this.invoiceReviewer = invoiceReviewer == null ? null : invoiceReviewer.trim();
+    }
+
+    public String getInvoiceIssuer() {
+        return invoiceIssuer;
+    }
+
+    public void setInvoiceIssuer(String invoiceIssuer) {
+        this.invoiceIssuer = invoiceIssuer == null ? null : invoiceIssuer.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", invoiceId=").append(invoiceId);
+        sb.append(", statementId=").append(statementId);
+        sb.append(", groupId=").append(groupId);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", invoiceImagePath=").append(invoiceImagePath);
+        sb.append(", invoiceNumber=").append(invoiceNumber);
+        sb.append(", invoiceBillingDate=").append(invoiceBillingDate);
+        sb.append(", invoiceRemark=").append(invoiceRemark);
+        sb.append(", invoicePayee=").append(invoicePayee);
+        sb.append(", invoiceReviewer=").append(invoiceReviewer);
+        sb.append(", invoiceIssuer=").append(invoiceIssuer);
+        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();
+    }
+}

+ 228 - 0
src/main/java/com/steerinfo/dil/model/BmstruckStatement.java

@@ -0,0 +1,228 @@
+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;
+
+@ApiModel(value="结算单")
+public class BmstruckStatement implements IBasePO<BigDecimal> {
+    /**
+     * 主键id(STATEMENT_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键id",required=true)
+    private BigDecimal statementId;
+
+    /**
+     * 结算单编号(STATEMENT_NUMBER,VARCHAR,200)
+     */
+    @ApiModelProperty(value="结算单编号",required=false)
+    private String statementNumber;
+
+    /**
+     * 额外费用id(COST_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="额外费用id",required=false)
+    private BigDecimal costId;
+
+    /**
+     * 支付单位(STATEMENT_PAYMENT_UNIT,VARCHAR,200)
+     */
+    @ApiModelProperty(value="支付单位",required=false)
+    private String statementPaymentUnit;
+
+    /**
+     * 不含税金额(STATEMENT_EXCLUD_TAX,DECIMAL,0)
+     */
+    @ApiModelProperty(value="不含税金额",required=false)
+    private BigDecimal statementExcludTax;
+
+    /**
+     * 含税金额/油价和税率调整后结算金额(STATEMENT_INCLUD_TAX,DECIMAL,0)
+     */
+    @ApiModelProperty(value="含税金额/油价和税率调整后结算金额",required=false)
+    private BigDecimal statementIncludTax;
+
+    /**
+     * 备注(STATEMENT_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="备注",required=false)
+    private String statementRemark;
+
+    /**
+     * 结算状态(0未结算,1结算90%,2结算10%)(STATEMENT_SETTLEMENT_STATUS,VARCHAR,20)
+     */
+    @ApiModelProperty(value="结算状态(0未结算,1结算90%,2结算10%)",required=false)
+    private String statementSettlementStatus;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.statementId;
+    }
+
+    @Override
+    public void setId(BigDecimal statementId) {
+        this.statementId = statementId;
+    }
+
+    public BigDecimal getStatementId() {
+        return statementId;
+    }
+
+    public void setStatementId(BigDecimal statementId) {
+        this.statementId = statementId;
+    }
+
+    public String getStatementNumber() {
+        return statementNumber;
+    }
+
+    public void setStatementNumber(String statementNumber) {
+        this.statementNumber = statementNumber == null ? null : statementNumber.trim();
+    }
+
+    public BigDecimal getCostId() {
+        return costId;
+    }
+
+    public void setCostId(BigDecimal costId) {
+        this.costId = costId;
+    }
+
+    public String getStatementPaymentUnit() {
+        return statementPaymentUnit;
+    }
+
+    public void setStatementPaymentUnit(String statementPaymentUnit) {
+        this.statementPaymentUnit = statementPaymentUnit == null ? null : statementPaymentUnit.trim();
+    }
+
+    public BigDecimal getStatementExcludTax() {
+        return statementExcludTax;
+    }
+
+    public void setStatementExcludTax(BigDecimal statementExcludTax) {
+        this.statementExcludTax = statementExcludTax;
+    }
+
+    public BigDecimal getStatementIncludTax() {
+        return statementIncludTax;
+    }
+
+    public void setStatementIncludTax(BigDecimal statementIncludTax) {
+        this.statementIncludTax = statementIncludTax;
+    }
+
+    public String getStatementRemark() {
+        return statementRemark;
+    }
+
+    public void setStatementRemark(String statementRemark) {
+        this.statementRemark = statementRemark == null ? null : statementRemark.trim();
+    }
+
+    public String getStatementSettlementStatus() {
+        return statementSettlementStatus;
+    }
+
+    public void setStatementSettlementStatus(String statementSettlementStatus) {
+        this.statementSettlementStatus = statementSettlementStatus == null ? null : statementSettlementStatus.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @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();
+    }
+}

+ 31 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckCheckService.java

@@ -0,0 +1,31 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.BmstruckCheck;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * BmstruckCheck服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 03:35
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckCheck服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IBmstruckCheckService{
+
+    /**
+     * 修改审核状态
+     * @param statementId
+     * @param status
+     * @param person
+     * @return
+     */
+    int updateBmstruckCheck(BigDecimal statementId,Integer status,String person);
+}

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

@@ -18,7 +18,7 @@ public interface IBmstruckDetailsOrderService {
      * @param mapVal
      * @return
      */
-    List<Map<String,Object>> getTruckDetailsOrderList(Map<String,Object> mapVal);
+    List<Map<String,Object>> getTruckDetailsOrderList(Map<String,Object> mapVal,Integer orderType);
 
     /**
      * 新增汽运详单
@@ -65,4 +65,12 @@ public interface IBmstruckDetailsOrderService {
      * @return
      */
     BigDecimal getNetWeight(BigDecimal orderId);
+
+    /**
+     * 展示未转成账单的销售详单
+     * @param mapVal
+     * @param orderType
+     * @return
+     */
+    List<Map<String, Object>> getUnFinishedTruckDetailsOrderList(Map<String, Object> mapVal, Integer orderType);
 }

+ 23 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckDetailsStatementService.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.BmstruckDetailsStatement;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * BmstruckDetailsStatement服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 10:56
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckDetailsStatement服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IBmstruckDetailsStatementService {
+
+}

+ 52 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckInvoiceService.java

@@ -0,0 +1,52 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.BmstruckInvoice;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * BmstruckInvoice服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 04:13
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckInvoice服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IBmstruckInvoiceService{
+
+    /**
+     * 新增发票
+     * @param mapVal
+     * @return
+     */
+    int addBmstruckInvoice(Map<String, Object> mapVal);
+
+    /**
+     * 展示发票信息
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> getInvoiceList(Map<String, Object> mapValue);
+
+    /**
+     * 通过主键查询
+     * @param invoiceId
+     * @return
+     */
+    BmstruckInvoice selectByPrimaryKey(BigDecimal invoiceId);
+
+    /**
+     * 修改发票图片路径
+     * @param bmstruckInvoice
+     * @return
+     */
+    int updateByPrimaryKeySelective(BmstruckInvoice bmstruckInvoice);
+}

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

@@ -0,0 +1,45 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.BmstruckStatement;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * BmstruckStatement服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-15 06:20
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-15
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckStatement服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IBmstruckStatementService{
+
+    /**
+     * 展示汽运账单
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> getTruckStatementList(Map<String, Object> mapValue);
+
+    /**
+     * 生成汽运账单
+     * @param mapList
+     * @return
+     */
+    int addTruckStatement(List<Map<String, Object>> mapList);
+
+    /**
+     * 展示账单下的详单
+     * @param mapVal
+     * @return
+     */
+    List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal);
+}

+ 60 - 0
src/main/java/com/steerinfo/dil/service/impl/BmstruckCheckServiceImpl.java

@@ -0,0 +1,60 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.model.BmstruckCheck;
+import com.steerinfo.dil.mapper.BmstruckCheckMapper;
+import com.steerinfo.dil.service.IBmstruckCheckService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * BmstruckCheck服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 03:35
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckCheck服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "bmstruckCheckService")
+public class BmstruckCheckServiceImpl implements IBmstruckCheckService {
+
+    @Autowired
+    private BmstruckCheckMapper bmstruckCheckMapper;
+
+    /**
+     * 修改审核状态
+     * @param statementId
+     * @param status
+     * @param person
+     * @return
+     */
+    @Override
+    public int updateBmstruckCheck(BigDecimal statementId,Integer status,String person) {
+        BigDecimal realStatus = new BigDecimal(status);
+        Map<String,Object> map = new HashMap<>();
+        map.put("statementId",statementId);
+        List<BmstruckCheck> bmstruckChecks = bmstruckCheckMapper.selectByParameters(map);
+        BmstruckCheck bmstruckCheck = bmstruckChecks.get(0);
+        bmstruckCheck.setStatementId(statementId);
+        switch (person){
+            case "收货客户": bmstruckCheck.setCheckReceiveCustomerStatus(realStatus);
+                break;
+            case "承运商": bmstruckCheck.setCheckCarrierStatus(realStatus);
+                break;
+            case "销售公司": bmstruckCheck.setCheckShipperStatus(realStatus);
+                break;
+        }
+        return bmstruckCheckMapper.updateByPrimaryKeySelective(bmstruckCheck);
+    }
+}

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

@@ -9,10 +9,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -38,8 +35,19 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
      * @return
      */
     @Override
-    public List<Map<String, Object>> getTruckDetailsOrderList(Map<String, Object> mapVal) {
-        return bmstruckDetailsOrderMapper.getTruckDetailsOrderList(mapVal);
+    public List<Map<String, Object>> getTruckDetailsOrderList(Map<String, Object> mapVal,Integer orderType) {
+        if (mapVal == null) {
+            mapVal = new HashMap<>();
+        }
+        mapVal.put("orderType",orderType);
+        List<Map<String, Object>> truckDetailsOrderList;
+        if (orderType == 3) {
+            truckDetailsOrderList = bmstruckDetailsOrderMapper.getTruckDetailsOrderList(mapVal);
+        }
+        else {
+            truckDetailsOrderList = bmstruckDetailsOrderMapper.getSaleTruckDetailsOrderList(mapVal);
+        }
+        return truckDetailsOrderList;
     }
 
     /**
@@ -51,7 +59,6 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     public int insertSelective(BigDecimal orderId) throws Exception {
         // 得到最大id
         BigDecimal detailsId = selectMaxId();
-        BigDecimal purchaseOrderId = getFormulaMembers(orderId);
         String detailsNo = noUtil.setResultNo("QYXD", detailsId);
         List<Map<String, Object>> list = getPriceId();
         Map<String, Object> map = list.get(0);
@@ -61,10 +68,14 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         DecimalFormat df = new DecimalFormat("0.00");
         String format = df.format(amount);
         BigDecimal detailsAmount = new BigDecimal(format);
+        BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
         BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
+        if (orderType.intValue() == 3){
+            BigDecimal purchaseOrderId = getFormulaMembers(orderId);
+            bmstruckDetailsOrder.setPurchaseOrderId(purchaseOrderId);
+        }
         bmstruckDetailsOrder.setDetailsId(detailsId);
         bmstruckDetailsOrder.setOrderId(orderId);
-        bmstruckDetailsOrder.setPurchaseOrderId(purchaseOrderId);
         bmstruckDetailsOrder.setDetailsNo(detailsNo);
         bmstruckDetailsOrder.setPriceId(priceId);
         bmstruckDetailsOrder.setDetailsAmount(detailsAmount);
@@ -94,7 +105,16 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
      */
     @Override
     public List<Map<String, Object>> getTruckResultList(Map<String, Object> mapVal) {
-        return bmstruckDetailsOrderMapper.getTruckResultList(mapVal);
+        BigDecimal orderId = (BigDecimal) mapVal.get("orderId") ;
+        BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
+        List<Map<String,Object>> mapList;
+        if (orderType.intValue() == 1) {
+            mapList = bmstruckDetailsOrderMapper.getSaleTruckResultList(mapVal);
+        }
+        else {
+            mapList = bmstruckDetailsOrderMapper.getTruckResultList(mapVal);
+        }
+        return mapList;
     }
 
     /**
@@ -136,6 +156,21 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         return bmstruckDetailsOrderMapper.getNetWeight(orderId);
     }
 
+    /**
+     * 展示未转成销售账单的销售详单
+     * @param mapVal
+     * @param orderType
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getUnFinishedTruckDetailsOrderList(Map<String, Object> mapVal, Integer orderType) {
+        if (mapVal == null) {
+            mapVal = new HashMap<>();
+        }
+        mapVal.put("orderType",new BigDecimal(orderType));
+        return bmstruckDetailsOrderMapper.getUnFinishedTruckDetailsOrderList(mapVal);
+    }
+
     /**
      * 替换汽运费公式并进行计算
      * @param orderId
@@ -143,16 +178,40 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
      * @throws Exception
      */
     public BigDecimal generateTruckFees(BigDecimal orderId) throws Exception {
+        BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
         List<Map<String, Object>> priceList = getPriceId();
         Map<String, Object> map = priceList.get(0);
         BigDecimal priceId = (BigDecimal) map.get("priceId");
         BigDecimal priceValue = getPriceValue(priceId);
         BigDecimal netWeight = getNetWeight(orderId);
-        // 得到船运途损费计费公式
-        String formula_string = bmstruckFormulaService.getTruckFormula(new BigDecimal(8));
-        // 替换船运计算公式
-        formula_string = formula_string.replace("到厂计量湿吨",netWeight.toString())
-                .replace("单价",priceValue.toString());
+        // 得到计费公式
+        String formula_string = null;
+        if (orderType.intValue() == 3) {
+            // 得到采购汽运计费公式
+            formula_string = bmstruckFormulaService.getTruckFormula(new BigDecimal(8));
+            // 替换采购汽运运计算公式
+            formula_string = formula_string.replace("到厂计量湿吨",netWeight.toString())
+                    .replace("单价",priceValue.toString());
+        }
+        if (orderType.intValue() == 1) {
+            BigDecimal distance = new BigDecimal(101);
+            // 得到销售汽运计费公式
+            if (distance.intValue() >= 91 || distance.intValue() <= 109) {
+                // 得到销售10km差距内的汽运计费公式
+                formula_string = bmstruckFormulaService.getTruckFormula(new BigDecimal(10));
+                // 替换采购汽运运计算公式
+                formula_string = formula_string.replace("运输单价",priceValue.toString())
+                        .replace("物资净重",netWeight.toString());
+            }
+            else {
+                // 得到销售10km差距外的汽运计费公式
+                formula_string = bmstruckFormulaService.getTruckFormula(new BigDecimal(11));
+                // 替换采购汽运运计算公式
+                formula_string = formula_string.replace("运输单价",priceValue.toString())
+                        .replace("运输距离",distance.toString())
+                        .replace("物资净重",netWeight.toString());
+            }
+        }
         String s = toSufExpr(formula_string);
         return calSufExpr(s);
     }

+ 33 - 0
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsStatementServiceImpl.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.model.BmstruckDetailsStatement;
+import com.steerinfo.dil.mapper.BmstruckDetailsStatementMapper;
+import com.steerinfo.dil.service.IBmstruckDetailsStatementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * BmstruckDetailsStatement服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 10:56
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckDetailsStatement服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "bmstruckDetailsStatementService")
+public class BmstruckDetailsStatementServiceImpl implements IBmstruckDetailsStatementService {
+
+    @Autowired
+    private BmstruckDetailsStatementMapper bmstruckDetailsStatementMapper;
+
+
+}

+ 97 - 0
src/main/java/com/steerinfo/dil/service/impl/BmstruckInvoiceServiceImpl.java

@@ -0,0 +1,97 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.util.NoUtil;
+import com.steerinfo.dil.model.BmstruckInvoice;
+import com.steerinfo.dil.mapper.BmstruckInvoiceMapper;
+import com.steerinfo.dil.service.IBmstruckInvoiceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * BmstruckInvoice服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-16 04:13
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-16
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckInvoice服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "bmstruckInvoiceService")
+public class BmstruckInvoiceServiceImpl implements IBmstruckInvoiceService {
+
+    @Autowired
+    private BmstruckInvoiceMapper bmstruckInvoiceMapper;
+    @Autowired
+    NoUtil noUtil;
+
+
+    /**
+     * 新增发票
+     * @param mapVal
+     * @return
+     */
+    @Override
+    public int addBmstruckInvoice(Map<String, Object> mapVal) {
+        Map<String,Object> map1 = (Map<String, Object>) mapVal.get("map1");
+        Map<String,Object> map2 = (Map<String, Object>) mapVal.get("map2");
+        BmstruckInvoice bmstruckInvoice = new BmstruckInvoice();
+        BigDecimal invoiceId = bmstruckInvoiceMapper.selectInvoiceId();
+        BigDecimal statementId = new BigDecimal((Integer)map1.get("statementId"));
+        BigDecimal shipperId = new BigDecimal((Integer)map1.get("shipperId"));
+        BigDecimal carrierId = new BigDecimal((Integer)map1.get("carrierId"));
+        String invoiceRemark = (String) map2.get("invoiceRemark");
+//        String invoiceImagePath = (String) map2.get("invoiceImagePath");
+        String invoiceNumber = noUtil.setResultNo("FP", invoiceId);
+//        bmstruckInvoice.setInvoiceImagePath(invoiceImagePath);
+        bmstruckInvoice.setInvoiceRemark(invoiceRemark);
+        bmstruckInvoice.setInvoiceNumber(invoiceNumber);
+        bmstruckInvoice.setInvoiceId(invoiceId);
+        bmstruckInvoice.setCarrierId(carrierId);
+        bmstruckInvoice.setGroupId(shipperId);
+        bmstruckInvoice.setStatementId(statementId);
+        bmstruckInvoice.setInsertTime(new Date());
+        bmstruckInvoice.setInsertUsername("admin");
+        bmstruckInvoice.setUpdateTime(new Date());
+        bmstruckInvoice.setUpdateUsername("admin");
+        bmstruckInvoice.setInsertUpdateRemark("无");
+        return bmstruckInvoiceMapper.insertSelective(bmstruckInvoice);
+    }
+
+    /**
+     * 展示发票信息
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getInvoiceList(Map<String, Object> mapValue) {
+        return bmstruckInvoiceMapper.getInvoiceList(mapValue);
+    }
+
+    /**
+     * 通过主键查询
+     * @param invoiceId
+     * @return
+     */
+    @Override
+    public BmstruckInvoice selectByPrimaryKey(BigDecimal invoiceId){
+        return bmstruckInvoiceMapper.selectByPrimaryKey(invoiceId);
+    }
+
+    /**
+     * 修改发票图片路径
+     * @param bmstruckInvoice
+     * @return
+     */
+    @Override
+    public int updateByPrimaryKeySelective(BmstruckInvoice bmstruckInvoice) {
+        return bmstruckInvoiceMapper.updateByPrimaryKeySelective(bmstruckInvoice);
+    }
+}

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

@@ -0,0 +1,156 @@
+package com.steerinfo.dil.service.impl;
+
+import com.fasterxml.jackson.databind.node.BigIntegerNode;
+import com.steerinfo.dil.mapper.BmstruckCheckMapper;
+import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
+import com.steerinfo.dil.mapper.BmstruckDetailsStatementMapper;
+import com.steerinfo.dil.model.BmstruckCheck;
+import com.steerinfo.dil.model.BmstruckDetailsOrder;
+import com.steerinfo.dil.model.BmstruckDetailsStatement;
+import com.steerinfo.dil.util.NoUtil;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.model.BmstruckStatement;
+import com.steerinfo.dil.mapper.BmstruckStatementMapper;
+import com.steerinfo.dil.service.IBmstruckStatementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.DecimalFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * BmstruckStatement服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-15 06:20
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-15
+ * 作者:generator
+ * 参考:
+ * 描述:BmstruckStatement服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "bmstruckStatementService")
+public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
+
+    @Autowired
+    BmstruckStatementMapper bmstruckStatementMapper;
+    @Autowired
+    BmstruckDetailsStatementMapper bmstruckDetailsStatementMapper;
+    @Autowired
+    BmstruckDetailsOrderMapper bmstruckDetailsOrderMapper;
+    @Autowired
+    BmstruckCheckMapper bmstruckCheckMapper;
+    @Autowired
+    NoUtil noUtil;
+
+    /**
+     * 展示计费账单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getTruckStatementList(Map<String, Object> mapValue) {
+        List<Map<String, Object>> mapList = bmstruckStatementMapper.getTruckStatementList(mapValue);
+        String checkStatus = "";
+        for (Map<String,Object> map: mapList ) {
+            BigDecimal checkCarrierStatus = (BigDecimal) map.get("checkCarrierStatus");
+            BigDecimal checkReceiveCustomerStatus = (BigDecimal) map.get("checkReceiveCustomerStatus");
+            BigDecimal checkShipperStatus = (BigDecimal) map.get("checkShipperStatus");
+            // 有人拒绝:未通过审核
+            if (checkCarrierStatus.intValue() == 0 || checkReceiveCustomerStatus.intValue() == 0 || checkShipperStatus.intValue() == 0){
+                checkStatus = "未通过审核";
+            }
+            // 全部通过:已通过审核
+            if (checkCarrierStatus.intValue() == 1 && checkReceiveCustomerStatus.intValue() == 1 && checkShipperStatus.intValue() == 1) {
+                checkStatus = "已通过审核";
+            }
+            // 有人未审核,且没人拒绝:审核中
+            if (checkCarrierStatus == null || checkReceiveCustomerStatus == null || checkShipperStatus == null && checkStatus != "未通过审批"){
+                checkStatus = "审核中";
+            }
+            // 全部都没审核:待审核
+            if (checkCarrierStatus == null && checkReceiveCustomerStatus == null && checkShipperStatus == null) {
+                checkStatus = "待审核";
+            }
+            map.put("checkStatus",checkStatus);
+        }
+        return mapList;
+    }
+
+    /**
+     * 生成汽运账单
+     * @param mapList
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addTruckStatement(List<Map<String, Object>> mapList) {
+        BmstruckStatement bmstruckStatement = new BmstruckStatement();
+        BmstruckCheck bmstruckCheck = new BmstruckCheck();
+        // 汽运账单主键
+        BigDecimal statementId = bmstruckStatementMapper.selectStatementId();
+        bmstruckStatement.setStatementId(statementId);
+        BigDecimal checkId = bmstruckCheckMapper.selectCheckId();
+        bmstruckCheck.setCheckId(checkId);
+        bmstruckCheck.setStatementId(statementId);
+        bmstruckCheckMapper.insertSelective(bmstruckCheck);
+        // 汽运账单编号
+        String statementNumber = noUtil.setResultNo("QYZD",statementId);
+        bmstruckStatement.setStatementNumber(statementNumber);
+        // 支付单位
+        bmstruckStatement.setStatementPaymentUnit("四川达州钢铁集团有限责任公司");
+        // 备注
+        bmstruckStatement.setStatementRemark("汽运费账单");
+        // 常规字段
+        bmstruckStatement.setInsertTime(new Date());
+        bmstruckStatement.setInsertUsername("admin");
+        bmstruckStatement.setUpdateTime(new Date());
+        bmstruckStatement.setUpdateUsername("admin");
+        bmstruckStatement.setInsertUpdateRemark("无");
+        Double doubleTotalAmount = new Double(0);
+        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));
+            bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+            BmstruckDetailsStatement bmstruckDetailsStatement = new BmstruckDetailsStatement();
+            bmstruckDetailsStatement.setDetailsStatementId(detailsStatementId);
+            bmstruckDetailsStatement.setStatementId(statementId);
+            bmstruckDetailsStatement.setDetailsId(detailsId);
+            // 设置常规字段
+            bmstruckDetailsStatement.setInsertTime(new Date());
+            bmstruckDetailsStatement.setInsertUsername("admin");
+            bmstruckDetailsStatement.setUpdateTime(new Date());
+            bmstruckDetailsStatement.setUpdateUsername("admin");
+            bmstruckDetailsStatement.setInsertUpdateRemark("无");
+            BigDecimal detailsAmount = new BigDecimal((Integer)map.get("detailsAmount"));
+            Double detailsAmountDouble = Double.valueOf(detailsAmount.toString());
+            doubleTotalAmount += detailsAmountDouble;
+            bmstruckDetailsStatementMapper.insertSelective(bmstruckDetailsStatement);
+        }
+        DecimalFormat df = new DecimalFormat("0.00");
+        String statementTotalAmount = df.format(doubleTotalAmount);
+        bmstruckStatement.setStatementExcludTax(new BigDecimal(statementTotalAmount));
+        return bmstruckStatementMapper.insertSelective(bmstruckStatement);
+    }
+
+    /**
+     * 展示账单下的详单
+     * @param mapVal
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal) {
+        return bmstruckStatementMapper.getSaleTruckStatementDetailsOrderList(mapVal);
+    }
+}

+ 57 - 0
src/main/java/com/steerinfo/dil/util/FileNameUtils.java

@@ -0,0 +1,57 @@
+package com.steerinfo.dil.util;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Calendar;
+
+/**
+ * 文件上传工具包
+ */
+public class FileNameUtils {
+
+    public static String getPhotoName(String name , String imageFileName) {
+        String fileName = name;
+        Calendar cal = Calendar.getInstance();
+        // 如果年的目录不存在,创建年的目录
+        int year = cal.get(Calendar.YEAR);
+        fileName = fileName + "_" + year;
+        // 如果月份不存在,创建月份目录
+        int month = cal.get(Calendar.MONTH) + 1;
+        fileName = fileName + "_";
+        if (month < 10) {
+            fileName = fileName + "0";
+        }
+        fileName = fileName + month;
+        // 生成文件名日的部分
+        int day = cal.get(Calendar.DAY_OF_MONTH);
+        fileName = fileName + "_";
+        if (day < 10) {
+            fileName = fileName + "0";
+        }
+        fileName = fileName + day;
+        // 生成文件名的小时部分
+        int hour = cal.get(Calendar.HOUR_OF_DAY);
+        if (hour < 10) {
+            fileName = fileName + "0";
+        }
+        fileName = fileName + hour;
+        // 生成文件名分钟部分
+        int minute = cal.get(Calendar.MINUTE);
+        if (minute < 10) {
+            fileName = fileName + "0";
+        }
+        fileName = fileName + minute;
+        // 生成文件名秒的部分
+        int second = cal.get(Calendar.SECOND);
+        if (second < 10) {
+            fileName = fileName + second;
+        }
+        fileName = fileName + second;
+        // 生成文件名的扩展名部分,只截取最后单位
+        String endName = imageFileName.substring(imageFileName.lastIndexOf("."));
+        fileName = fileName + endName;
+        return fileName;
+    }
+}

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

@@ -14,7 +14,7 @@ spring:
 
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:localhost:8083}
+    url: ${COLUMNDATAFEIGN_URL:192.168.0.111:8083}
 
 #eureka设置
 eureka:

+ 424 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckCheckMapper.xml

@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.BmstruckCheckMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckCheck">
+    <id column="CHECK_ID" jdbcType="DECIMAL" property="checkId" />
+    <result column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId" />
+    <result column="RECEIVE_CUSTOMER_ID" jdbcType="DECIMAL" property="receiveCustomerId" />
+    <result column="CHECK_RECEIVE_CUSTOMER_STATUS" jdbcType="DECIMAL" property="checkReceiveCustomerStatus" />
+    <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+    <result column="CHECK_CARRIER_STATUS" jdbcType="DECIMAL" property="checkCarrierStatus" />
+    <result column="SHIPPER_ID" jdbcType="DECIMAL" property="shipperId" />
+    <result column="CHECK_SHIPPER_STATUS" jdbcType="DECIMAL" property="checkShipperStatus" />
+    <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" />
+  </resultMap>
+  <sql id="columns">
+    CHECK_ID, STATEMENT_ID, RECEIVE_CUSTOMER_ID, CHECK_RECEIVE_CUSTOMER_STATUS, CARRIER_ID, 
+    CHECK_CARRIER_STATUS, SHIPPER_ID, CHECK_SHIPPER_STATUS, INSERT_USERNAME, INSERT_TIME, 
+    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.CHECK_ID, t.STATEMENT_ID, t.RECEIVE_CUSTOMER_ID, t.CHECK_RECEIVE_CUSTOMER_STATUS, 
+    t.CARRIER_ID, t.CHECK_CARRIER_STATUS, t.SHIPPER_ID, t.CHECK_SHIPPER_STATUS, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM BMSTRUCK_CHECK
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM BMSTRUCK_CHECK t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="checkId != null">
+        and CHECK_ID = #{checkId}
+      </if>
+      <if test="statementId != null">
+        and STATEMENT_ID = #{statementId}
+      </if>
+      <if test="receiveCustomerId != null">
+        and RECEIVE_CUSTOMER_ID = #{receiveCustomerId}
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        and CHECK_RECEIVE_CUSTOMER_STATUS = #{checkReceiveCustomerStatus}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="checkCarrierStatus != null">
+        and CHECK_CARRIER_STATUS = #{checkCarrierStatus}
+      </if>
+      <if test="shipperId != null">
+        and SHIPPER_ID = #{shipperId}
+      </if>
+      <if test="checkShipperStatus != null">
+        and CHECK_SHIPPER_STATUS = #{checkShipperStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="checkId != null">
+        and CHECK_ID = #{checkId}
+      </if>
+      <if test="statementId != null">
+        and STATEMENT_ID = #{statementId}
+      </if>
+      <if test="receiveCustomerId != null">
+        and RECEIVE_CUSTOMER_ID = #{receiveCustomerId}
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        and CHECK_RECEIVE_CUSTOMER_STATUS = #{checkReceiveCustomerStatus}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="checkCarrierStatus != null">
+        and CHECK_CARRIER_STATUS = #{checkCarrierStatus}
+      </if>
+      <if test="shipperId != null">
+        and SHIPPER_ID = #{shipperId}
+      </if>
+      <if test="checkShipperStatus != null">
+        and CHECK_SHIPPER_STATUS = #{checkShipperStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from BMSTRUCK_CHECK
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from BMSTRUCK_CHECK
+    where 1!=1 
+      <if test="statementId != null">
+        or STATEMENT_ID = #{statementId}
+      </if>
+      <if test="receiveCustomerId != null">
+        or RECEIVE_CUSTOMER_ID = #{receiveCustomerId}
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        or CHECK_RECEIVE_CUSTOMER_STATUS = #{checkReceiveCustomerStatus}
+      </if>
+      <if test="carrierId != null">
+        or CARRIER_ID = #{carrierId}
+      </if>
+      <if test="checkCarrierStatus != null">
+        or CHECK_CARRIER_STATUS = #{checkCarrierStatus}
+      </if>
+      <if test="shipperId != null">
+        or SHIPPER_ID = #{shipperId}
+      </if>
+      <if test="checkShipperStatus != null">
+        or CHECK_SHIPPER_STATUS = #{checkShipperStatus}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckCheck">
+    insert into BMSTRUCK_CHECK (CHECK_ID, STATEMENT_ID, RECEIVE_CUSTOMER_ID, 
+      CHECK_RECEIVE_CUSTOMER_STATUS, CARRIER_ID, 
+      CHECK_CARRIER_STATUS, SHIPPER_ID, CHECK_SHIPPER_STATUS, 
+      INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK)
+    values (#{checkId,jdbcType=DECIMAL}, #{statementId,jdbcType=DECIMAL}, #{receiveCustomerId,jdbcType=DECIMAL}, 
+      #{checkReceiveCustomerStatus,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}, 
+      #{checkCarrierStatus,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{checkShipperStatus,jdbcType=DECIMAL}, 
+      #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckCheck">
+    insert into BMSTRUCK_CHECK
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="checkId != null">
+        CHECK_ID,
+      </if>
+      <if test="statementId != null">
+        STATEMENT_ID,
+      </if>
+      <if test="receiveCustomerId != null">
+        RECEIVE_CUSTOMER_ID,
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        CHECK_RECEIVE_CUSTOMER_STATUS,
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID,
+      </if>
+      <if test="checkCarrierStatus != null">
+        CHECK_CARRIER_STATUS,
+      </if>
+      <if test="shipperId != null">
+        SHIPPER_ID,
+      </if>
+      <if test="checkShipperStatus != null">
+        CHECK_SHIPPER_STATUS,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="checkId != null">
+        #{checkId,jdbcType=DECIMAL},
+      </if>
+      <if test="statementId != null">
+        #{statementId,jdbcType=DECIMAL},
+      </if>
+      <if test="receiveCustomerId != null">
+        #{receiveCustomerId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        #{checkReceiveCustomerStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkCarrierStatus != null">
+        #{checkCarrierStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="shipperId != null">
+        #{shipperId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkShipperStatus != null">
+        #{checkShipperStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckCheck">
+    update BMSTRUCK_CHECK
+    set STATEMENT_ID = #{statementId,jdbcType=DECIMAL},
+      RECEIVE_CUSTOMER_ID = #{receiveCustomerId,jdbcType=DECIMAL},
+      CHECK_RECEIVE_CUSTOMER_STATUS = #{checkReceiveCustomerStatus,jdbcType=DECIMAL},
+      CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      CHECK_CARRIER_STATUS = #{checkCarrierStatus,jdbcType=DECIMAL},
+      SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
+      CHECK_SHIPPER_STATUS = #{checkShipperStatus,jdbcType=DECIMAL},
+      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}
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckCheck">
+    update BMSTRUCK_CHECK
+    <set>
+      <if test="statementId != null">
+        STATEMENT_ID = #{statementId,jdbcType=DECIMAL},
+      </if>
+      <if test="receiveCustomerId != null">
+        RECEIVE_CUSTOMER_ID = #{receiveCustomerId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkReceiveCustomerStatus != null">
+        CHECK_RECEIVE_CUSTOMER_STATUS = #{checkReceiveCustomerStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkCarrierStatus != null">
+        CHECK_CARRIER_STATUS = #{checkCarrierStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="shipperId != null">
+        SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
+      </if>
+      <if test="checkShipperStatus != null">
+        CHECK_SHIPPER_STATUS = #{checkShipperStatus,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into BMSTRUCK_CHECK 
+      (CHECK_ID, 
+      STATEMENT_ID, RECEIVE_CUSTOMER_ID, 
+      CHECK_RECEIVE_CUSTOMER_STATUS, CARRIER_ID, 
+      CHECK_CARRIER_STATUS, SHIPPER_ID, 
+      CHECK_SHIPPER_STATUS, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.checkId,jdbcType=DECIMAL}, 
+      #{item.statementId,jdbcType=DECIMAL}, #{item.receiveCustomerId,jdbcType=DECIMAL}, 
+      #{item.checkReceiveCustomerStatus,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, 
+      #{item.checkCarrierStatus,jdbcType=DECIMAL}, #{item.shipperId,jdbcType=DECIMAL}, 
+      #{item.checkShipperStatus,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update BMSTRUCK_CHECK
+     set
+       CHECK_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkId,jdbcType=DECIMAL}
+       </foreach>
+       ,STATEMENT_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
+       </foreach>
+       ,RECEIVE_CUSTOMER_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.receiveCustomerId,jdbcType=DECIMAL}
+       </foreach>
+       ,CHECK_RECEIVE_CUSTOMER_STATUS=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkReceiveCustomerStatus,jdbcType=DECIMAL}
+       </foreach>
+       ,CARRIER_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+       </foreach>
+       ,CHECK_CARRIER_STATUS=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkCarrierStatus,jdbcType=DECIMAL}
+       </foreach>
+       ,SHIPPER_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.shipperId,jdbcType=DECIMAL}
+       </foreach>
+       ,CHECK_SHIPPER_STATUS=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkShipperStatus,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach collection="list" item="item" index="index" separator=" " open="case CHECK_ID" close="end">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where CHECK_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.checkId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from BMSTRUCK_CHECK
+    where CHECK_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  
+</mapper>

+ 420 - 26
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -14,15 +14,17 @@
         <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="WETHER_TO_STATEMENT" jdbcType="DECIMAL" property="wetherToStatement"/>
     </resultMap>
     <sql id="columns">
         DETAILS_ID, PURCHASE_ORDER_ID, ORDER_ID, DETAILS_NO, DETAILS_TIME, PRICE_ID, DETAILS_AMOUNT,
-    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+    WETHER_TO_STATEMENT
     </sql>
     <sql id="columns_alias">
         t.DETAILS_ID, t.PURCHASE_ORDER_ID, t.ORDER_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.INSERT_UPDATE_REMARK, t.WETHER_TO_STATEMENT
     </sql>
     <sql id="select">
         SELECT
@@ -72,6 +74,9 @@
             <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
                 and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
             </if>
+            <if test="wetherToStatement != null">
+                and WETHER_TO_STATEMENT = #{wetherToStatement}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -112,6 +117,9 @@
             <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
                 and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
             </if>
+            <if test="wetherToStatement != null">
+                and WETHER_TO_STATEMENT = #{wetherToStatement}
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -155,17 +163,22 @@
         <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
             or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
         </if>
+        <if test="wetherToStatement != null">
+            or WETHER_TO_STATEMENT = #{wetherToStatement}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         insert into BMSTRUCK_DETAILS_ORDER (DETAILS_ID, PURCHASE_ORDER_ID, ORDER_ID,
                                             DETAILS_NO, DETAILS_TIME, PRICE_ID,
                                             DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME,
-                                            UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK)
+                                            UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+                                            WETHER_TO_STATEMENT)
         values (#{detailsId,jdbcType=DECIMAL}, #{purchaseOrderId,jdbcType=DECIMAL}, #{orderId,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})
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+                #{wetherToStatement,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         insert into BMSTRUCK_DETAILS_ORDER
@@ -206,6 +219,9 @@
             <if test="insertUpdateRemark != null">
                 INSERT_UPDATE_REMARK,
             </if>
+            <if test="wetherToStatement != null">
+                WETHER_TO_STATEMENT,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="detailsId != null">
@@ -244,6 +260,9 @@
             <if test="insertUpdateRemark != null">
                 #{insertUpdateRemark,jdbcType=VARCHAR},
             </if>
+            <if test="wetherToStatement != null">
+                #{wetherToStatement,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
@@ -258,7 +277,8 @@
             INSERT_TIME          = #{insertTime,jdbcType=TIMESTAMP},
             UPDATE_USERNAME      = #{updateUsername,jdbcType=VARCHAR},
             UPDATE_TIME          = #{updateTime,jdbcType=TIMESTAMP},
-            INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR}
+            INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            WETHER_TO_STATEMENT  = #{wetherToStatement,jdbcType=DECIMAL}
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
@@ -297,6 +317,9 @@
             <if test="insertUpdateRemark != null">
                 INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
             </if>
+            <if test="wetherToStatement != null">
+                WETHER_TO_STATEMENT = #{wetherToStatement,jdbcType=DECIMAL},
+            </if>
         </set>
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
@@ -319,7 +342,8 @@
         DETAILS_TIME, PRICE_ID, DETAILS_AMOUNT,
         INSERT_USERNAME, INSERT_TIME,
         UPDATE_USERNAME, UPDATE_TIME,
-        INSERT_UPDATE_REMARK)
+        INSERT_UPDATE_REMARK, WETHER_TO_STATEMENT
+        )
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.detailsId,jdbcType=DECIMAL},
@@ -328,7 +352,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} from dual
+        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.wetherToStatement,jdbcType=DECIMAL}
+        from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -382,6 +407,10 @@
         <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
         </foreach>
+        ,WETHER_TO_STATEMENT=
+        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+            when #{item.detailsId,jdbcType=DECIMAL} then #{item.wetherToStatement,jdbcType=DECIMAL}
+        </foreach>
         where DETAILS_ID in
         <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
             #{item.detailsId,jdbcType=DECIMAL}
@@ -396,8 +425,7 @@
     </delete>
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-
-    <!-- 展示详单列表 -->
+    <!-- 销售汽运结算详单 -->
     <select id="getTruckDetailsOrderList" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT * FROM(
         SELECT DISTINCT
@@ -434,6 +462,7 @@
         ON twr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
         LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
         ON actp.PRICE_ID = bdo.PRICE_ID
+        WHERE oo.ORDER_TYPE = #{orderType}
         )
         <where>
             <if test="purchaseOrderNo!= null">
@@ -493,6 +522,195 @@
         </where>
         <include refid="orderBy"></include>
     </select>
+
+    <!-- 未转账单的销售详单 -->
+    <select id="getUnFinishedTruckDetailsOrderList" 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",
+        rct.CAPACITY_TYPE_NAME as "capacityTypeName",
+        rs.SHIPPER_NAME as "shipperName",
+        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        actp.PRICE_VALUE as "priceValue",
+        bdo.DETAILS_AMOUNT as "detailsAmount"
+        FROM BMSTRUCK_DETAILS_ORDER bdo
+        LEFT JOIN OMSTRUCK_ORDER oo
+        ON oo.ORDER_ID = bdo.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+        ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER aso
+        ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER rs
+        ON rs.SHIPPER_ID = aso.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE rco
+        ON rco.CONSIGNEE_ID = aso.RECEIVE_ID
+        LEFT JOIN RMS_CAPACITY rc
+        ON oo.CAPACITY_ID = rc.CAPACITY_ID
+        LEFT JOIN 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 = #{orderType}
+        AND bdo.WETHER_TO_STATEMENT = 0
+        )
+        <where>
+            <if test="detailsNo!= null">
+                and
+                <foreach collection="detailsNo" item="item" open="(" separator="," close=")">
+                    "detailsNo" in #{item}
+                </foreach>
+            </if>
+            <if test="orderNumber!= null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="," close=")">
+                    "orderNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsTime!= null">
+                and
+                <foreach collection="detailsTime" item="item" open="(" separator="," close=")">
+                    "detailsTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="capacityTypeName!= null">
+                and
+                <foreach collection="capacityTypeName" item="item" open="(" separator="," close=")">
+                    "capacityTypeName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+            <if test="consigneeReceiveAddress!= null">
+                and
+                <foreach collection="consigneeReceiveAddress" item="item" open="(" separator="," close=")">
+                    "consigneeReceiveAddress" in #{item}
+                </foreach>
+            </if>
+            <if test="priceValue!= null">
+                and
+                <foreach collection="priceValue" item="item" open="(" separator="," close=")">
+                    "priceValue" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsAmount!= null">
+                and
+                <foreach collection="detailsAmount" item="item" open="(" separator="," close=")">
+                    "detailsAmount" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
+    <!-- 销售汽运结算详单 -->
+    <select id="getSaleTruckDetailsOrderList" 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",
+        rct.CAPACITY_TYPE_NAME as "capacityTypeName",
+        rs.SHIPPER_NAME as "shipperName",
+        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        actp.PRICE_VALUE as "priceValue",
+        bdo.DETAILS_AMOUNT as "detailsAmount"
+        FROM BMSTRUCK_DETAILS_ORDER bdo
+        LEFT JOIN OMSTRUCK_ORDER oo
+        ON oo.ORDER_ID = bdo.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+        ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER aso
+        ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER rs
+        ON rs.SHIPPER_ID = aso.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE rco
+        ON rco.CONSIGNEE_ID = aso.RECEIVE_ID
+        LEFT JOIN RMS_CAPACITY rc
+        ON oo.CAPACITY_ID = rc.CAPACITY_ID
+        LEFT JOIN 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 = #{orderType}
+        )
+        <where>
+            <if test="detailsNo!= null">
+                and
+                <foreach collection="detailsNo" item="item" open="(" separator="," close=")">
+                    "detailsNo" in #{item}
+                </foreach>
+            </if>
+            <if test="orderNumber!= null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="," close=")">
+                    "orderNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsTime!= null">
+                and
+                <foreach collection="detailsTime" item="item" open="(" separator="," close=")">
+                    "detailsTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="capacityTypeName!= null">
+                and
+                <foreach collection="capacityTypeName" item="item" open="(" separator="," close=")">
+                    "capacityTypeName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+            <if test="consigneeReceiveAddress!= null">
+                and
+                <foreach collection="consigneeReceiveAddress" item="item" open="(" separator="," close=")">
+                    "consigneeReceiveAddress" in #{item}
+                </foreach>
+            </if>
+            <if test="priceValue!= null">
+                and
+                <foreach collection="priceValue" item="item" open="(" separator="," close=")">
+                    "priceValue" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsAmount!= null">
+                and
+                <foreach collection="detailsAmount" item="item" open="(" separator="," close=")">
+                    "detailsAmount" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
     <!-- 得到最大id -->
     <select id="selectMaxId" resultType="DECIMAL">
         SELECT MAX(DETAILS_ID)
@@ -511,7 +729,14 @@
         </if>
     </sql>
 
-    <!-- 展示汽运实绩列表 -->
+    <!-- 根据运单id查询运单类型 -->
+    <select id="getOrderType" parameterType="DECIMAL" resultType="DECIMAL">
+        SELECT ORDER_TYPE
+        FROM OMSTRUCK_ORDER
+        WHERE ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 展示采购汽运实绩列表 -->
     <select id="getTruckResultList" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT *
         FROM (
@@ -596,6 +821,179 @@
         <include refid="orderBy"></include>
     </select>
 
+    <!-- 得到销售汽运实绩 -->
+    <select id="getSaleTruckResultList" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        FROM (
+        SELECT oo.INSERT_TIME as "insertTime",
+        oo.ORDER_NUMBER as "orderNumber",
+        rca.CAPACITY_NUMBER as "capacityNumber",
+        rcd.DRIVER_NAME as "driverName",
+        rc.CARRIER_NAME as "carrierName",
+        rl.LINE_NO as "lineNo",
+        ter.RESULT_ENTRY_GATE_TIME as "resultEntryGateTime",
+        rge.GATEPOST_NAME as "enGatepostName",
+        twr.RESULT_TARE_WEIGHT_TIME as "resultTareWeightTime",
+        twr.RESULT_TARE_WEIGHT as "resultTareWeight",
+        rtct.TRUCK_CALCULATE_NUMBER as "tareCalculateNumber",
+        tlr.RESULT_LOAD_START_TIME as "resultLoadStartTime",
+        tlr.RESULT_MEASURED_TONNAGE as "resultMeasuredTonnage",
+        rw.WAREHOUSE_NAME as "warehouseName",
+        twr.RESULT_GROSS_WEIGHT_TIME as "resultGrossWeightTime",
+        twr.RESULT_GROSS_WEIGHT as "resultGrossWeight",
+        rtcg.TRUCK_CALCULATE_NUMBER as "grossCalculateNumber",
+        tlfr.RESULT_OUT_GATE_TIME as "resultOutGateTime",
+        rgl.GATEPOST_NAME as "leaveGatepostName"
+        FROM OMSTRUCK_ORDER oo
+        LEFT JOIN RMS_CAPACITY rca
+        ON rca.CAPACITY_ID = oo.CAPACITY_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+        ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
+        LEFT JOIN RMS_DRIVER_CAPACITY rdc
+        ON rdc.DRIVER_CAPACITY_ID = oo.DRIVER_CAPACITY_ID
+        LEFT JOIN RMS_CAR_DRIVER rcd
+        ON rcd.DRIVER_ID = rdc.DRIVER_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER adso
+        ON adso.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER rc
+        ON rc.CARRIER_ID = adso.CARRIER_ID
+        LEFT JOIN RMS_LINE rl
+        ON oo.LINE_ID = rl.LINE_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttr
+        ON oo.ORDER_ID = ttr.ORDER_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT ter
+        ON ter.RESULT_TOTAL_ID = ttr.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rge
+        ON rge.GATEPOST_ID = ter.GATEPOST_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+        ON twr.RESULT_TOTAL_ID = ttr.RESULT_TOTAL_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtct
+        ON rtct.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LOAD_RESULT tlr
+        ON tlr.RESULT_TOTAL_ID = ttr.RESULT_TOTAL_ID
+        LEFT JOIN RMS_WAREHOUSE rw
+        ON rw.WAREHOUSE_ID = tlr.LOADING_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtcg
+        ON rtcg.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT tlfr
+        ON tlfr.RESULT_TOTAL_ID = ttr.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rgl
+        ON rgl.GATEPOST_ID = ter.GATEPOST_ID
+        WHERE oo.ORDER_ID = #{orderId}
+        )
+        <where>
+            <if test="orderNumber!= null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="," close=")">
+                    "orderNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="driverName!= null">
+                and
+                <foreach collection="driverName" item="item" open="(" separator="," close=")">
+                    "driverName" in #{item}
+                </foreach>
+            </if>
+            <if test="carrierName!= null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="," close=")">
+                    "carrierName" in #{item}
+                </foreach>
+            </if>
+            <if test="lineNo!= null">
+                and
+                <foreach collection="lineNo" item="item" open="(" separator="," close=")">
+                    "lineNo" in #{item}
+                </foreach>
+            </if>
+            <if test="resultEntryGateTime!= null">
+                and
+                <foreach collection="resultEntryGateTime" item="item" open="(" separator="," close=")">
+                    "resultEntryGateTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="enGatepostName!= null">
+                and
+                <foreach collection="enGatepostName" item="item" open="(" separator="," close=")">
+                    "enGatepostName" in #{item}
+                </foreach>
+            </if>
+            <if test="resultTareWeightTime!= null">
+                and
+                <foreach collection="resultTareWeightTime" item="item" open="(" separator="," close=")">
+                    "resultTareWeightTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="resultTareWeight!= null">
+                and
+                <foreach collection="resultTareWeight" item="item" open="(" separator="," close=")">
+                    "resultTareWeight" in #{item}
+                </foreach>
+            </if>
+            <if test="tareCalculateNumber!= null">
+                and
+                <foreach collection="tareCalculateNumber" item="item" open="(" separator="," close=")">
+                    "tareCalculateNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="resultLoadStartTime!= null">
+                and
+                <foreach collection="resultLoadStartTime" item="item" open="(" separator="," close=")">
+                    "resultLoadStartTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="resultMeasuredTonnage!= null">
+                and
+                <foreach collection="resultMeasuredTonnage" item="item" open="(" separator="," close=")">
+                    "resultMeasuredTonnage" in #{item}
+                </foreach>
+            </if>
+            <if test="warehouseName!= null">
+                and
+                <foreach collection="warehouseName" item="item" open="(" separator="," close=")">
+                    "warehouseName" in #{item}
+                </foreach>
+            </if>
+            <if test="resultGrossWeightTime!= null">
+                and
+                <foreach collection="resultGrossWeightTime" item="item" open="(" separator="," close=")">
+                    "resultGrossWeightTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="resultGrossWeight!= null">
+                and
+                <foreach collection="resultGrossWeight" item="item" open="(" separator="," close=")">
+                    "resultGrossWeight" in #{item}
+                </foreach>
+            </if>
+            <if test="grossCalculateNumber!= null">
+                and
+                <foreach collection="grossCalculateNumber" item="item" open="(" separator="," close=")">
+                    "grossCalculateNumber" 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>
+            <if test="leaveGatepostName!= null">
+                and
+                <foreach collection="leaveGatepostName" item="item" open="(" separator="," close=")">
+                    "leaveGatepostName" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
     <!-- 得到计算因子 -->
     <select id="getFormulaMembers" parameterType="DECIMAL" resultType="DECIMAL">
         SELECT apo.PURCHASE_ORDER_ID
@@ -606,33 +1004,29 @@
     </select>
 
     <!-- 得到单价id -->
-    <select id="getPriceId" resultType="java.util.Map" >
-        SELECT
-        actp.PRICE_ID as "priceId"
+    <select id="getPriceId" resultType="java.util.Map">
+        SELECT actp.PRICE_ID as "priceId"
         FROM AMS_CONTRACT_TRANSPORT_PRICE actp
-        LEFT JOIN RMS_CAPACITY rc
-        ON rc.CAPACITY_ID = actp.CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY rc
+                           ON rc.CAPACITY_ID = actp.CAPACITY_ID
         WHERE rc.CAPACITY_TYPE_ID = 1
-        AND actp.DELETED = 0
+          AND actp.DELETED = 0
         ORDER BY actp.PRICE_DATE DESC
     </select>
 
     <select id="getPriceValue" parameterType="DECIMAL" resultType="DECIMAL">
-        SELECT
-        actp.PRICE_VALUE as "priceValue"
+        SELECT actp.PRICE_VALUE as "priceValue"
         FROM AMS_CONTRACT_TRANSPORT_PRICE actp
         WHERE PRICE_ID = #{priceId}
     </select>
-    
+
     <select id="getNetWeight" parameterType="DECIMAL" resultType="DECIMAL">
-        SELECT
-        twr.RESULT_NET_WEIGHT as "netWeight"
+        SELECT twr.RESULT_NET_WEIGHT as "netWeight"
         FROM OMSTRUCK_ORDER oo
-        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttr
-        ON oo.ORDER_ID = ttr.ORDER_ID
-        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
-        ON ttr.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT ttr
+                           ON oo.ORDER_ID = ttr.ORDER_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+                           ON ttr.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
         WHERE oo.ORDER_ID = #{orderId}
     </select>
-
 </mapper>

+ 294 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsStatementMapper.xml

@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.BmstruckDetailsStatementMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckDetailsStatement">
+    <id column="DETAILS_STATEMENT_ID" jdbcType="DECIMAL" property="detailsStatementId" />
+    <result column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId" />
+    <result column="DETAILS_ID" jdbcType="DECIMAL" property="detailsId" />
+    <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" />
+  </resultMap>
+  <sql id="columns">
+    DETAILS_STATEMENT_ID, STATEMENT_ID, DETAILS_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+    UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.DETAILS_STATEMENT_ID, t.STATEMENT_ID, t.DETAILS_ID, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM BMSTRUCK_DETAILS_STATEMENT
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM BMSTRUCK_DETAILS_STATEMENT t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="detailsStatementId != null">
+        and DETAILS_STATEMENT_ID = #{detailsStatementId}
+      </if>
+      <if test="statementId != null">
+        and STATEMENT_ID = #{statementId}
+      </if>
+      <if test="detailsId != null">
+        and DETAILS_ID = #{detailsId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="detailsStatementId != null">
+        and DETAILS_STATEMENT_ID = #{detailsStatementId}
+      </if>
+      <if test="statementId != null">
+        and STATEMENT_ID = #{statementId}
+      </if>
+      <if test="detailsId != null">
+        and DETAILS_ID = #{detailsId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    delete from BMSTRUCK_DETAILS_STATEMENT
+    where DETAILS_STATEMENT_ID = #{detailsStatementId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from BMSTRUCK_DETAILS_STATEMENT
+    where 1!=1 
+      <if test="statementId != null">
+        or STATEMENT_ID = #{statementId}
+      </if>
+      <if test="detailsId != null">
+        or DETAILS_ID = #{detailsId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckDetailsStatement">
+    insert into BMSTRUCK_DETAILS_STATEMENT (DETAILS_STATEMENT_ID, STATEMENT_ID, 
+      DETAILS_ID, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    values (#{detailsStatementId,jdbcType=DECIMAL}, #{statementId,jdbcType=DECIMAL}, 
+      #{detailsId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsStatement">
+    insert into BMSTRUCK_DETAILS_STATEMENT
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="detailsStatementId != null">
+        DETAILS_STATEMENT_ID,
+      </if>
+      <if test="statementId != null">
+        STATEMENT_ID,
+      </if>
+      <if test="detailsId != null">
+        DETAILS_ID,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="detailsStatementId != null">
+        #{detailsStatementId,jdbcType=DECIMAL},
+      </if>
+      <if test="statementId != null">
+        #{statementId,jdbcType=DECIMAL},
+      </if>
+      <if test="detailsId != null">
+        #{detailsId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckDetailsStatement">
+    update BMSTRUCK_DETAILS_STATEMENT
+    set STATEMENT_ID = #{statementId,jdbcType=DECIMAL},
+      DETAILS_ID = #{detailsId,jdbcType=DECIMAL},
+      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}
+    where DETAILS_STATEMENT_ID = #{detailsStatementId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsStatement">
+    update BMSTRUCK_DETAILS_STATEMENT
+    <set>
+      <if test="statementId != null">
+        STATEMENT_ID = #{statementId,jdbcType=DECIMAL},
+      </if>
+      <if test="detailsId != null">
+        DETAILS_ID = #{detailsId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where DETAILS_STATEMENT_ID = #{detailsStatementId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where DETAILS_STATEMENT_ID = #{detailsStatementId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into BMSTRUCK_DETAILS_STATEMENT 
+      (DETAILS_STATEMENT_ID, 
+      STATEMENT_ID, DETAILS_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.detailsStatementId,jdbcType=DECIMAL}, 
+      #{item.statementId,jdbcType=DECIMAL}, #{item.detailsId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update BMSTRUCK_DETAILS_STATEMENT
+     set
+       DETAILS_STATEMENT_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.detailsStatementId,jdbcType=DECIMAL}
+       </foreach>
+       ,STATEMENT_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
+       </foreach>
+       ,DETAILS_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.detailsId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_STATEMENT_ID" close="end">
+          when #{item.detailsStatementId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where DETAILS_STATEMENT_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.detailsStatementId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from BMSTRUCK_DETAILS_STATEMENT
+    where DETAILS_STATEMENT_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  
+</mapper>

+ 519 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckInvoiceMapper.xml

@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.BmstruckInvoiceMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckInvoice">
+        <id column="INVOICE_ID" jdbcType="DECIMAL" property="invoiceId"/>
+        <result column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId"/>
+        <result column="GROUP_ID" jdbcType="DECIMAL" property="groupId"/>
+        <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId"/>
+        <result column="INVOICE_IMAGE_PATH" jdbcType="VARCHAR" property="invoiceImagePath"/>
+        <result column="INVOICE_NUMBER" jdbcType="VARCHAR" property="invoiceNumber"/>
+        <result column="INVOICE_BILLING_DATE" jdbcType="TIMESTAMP" property="invoiceBillingDate"/>
+        <result column="INVOICE_REMARK" jdbcType="VARCHAR" property="invoiceRemark"/>
+        <result column="INVOICE_PAYEE" jdbcType="VARCHAR" property="invoicePayee"/>
+        <result column="INVOICE_REVIEWER" jdbcType="VARCHAR" property="invoiceReviewer"/>
+        <result column="INVOICE_ISSUER" jdbcType="VARCHAR" property="invoiceIssuer"/>
+        <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"/>
+    </resultMap>
+    <sql id="columns">
+        INVOICE_ID, STATEMENT_ID, GROUP_ID, CARRIER_ID, INVOICE_IMAGE_PATH, INVOICE_NUMBER,
+    INVOICE_BILLING_DATE, INVOICE_REMARK, INVOICE_PAYEE, INVOICE_REVIEWER, INVOICE_ISSUER, 
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+    </sql>
+    <sql id="columns_alias">
+        t.INVOICE_ID, t.STATEMENT_ID, t.GROUP_ID, t.CARRIER_ID, t.INVOICE_IMAGE_PATH, t.INVOICE_NUMBER,
+    t.INVOICE_BILLING_DATE, t.INVOICE_REMARK, t.INVOICE_PAYEE, t.INVOICE_REVIEWER, t.INVOICE_ISSUER, 
+    t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+    </sql>
+    <sql id="select">
+        SELECT
+        <include refid="columns"/>
+        FROM BMSTRUCK_INVOICE
+    </sql>
+    <sql id="select_alias">
+        SELECT
+        <include refid="columns_alias"/>
+        FROM BMSTRUCK_INVOICE t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="invoiceId != null">
+                and INVOICE_ID = #{invoiceId}
+            </if>
+            <if test="statementId != null">
+                and STATEMENT_ID = #{statementId}
+            </if>
+            <if test="groupId != null">
+                and GROUP_ID = #{groupId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="invoiceImagePath != null and invoiceImagePath != ''">
+                and INVOICE_IMAGE_PATH = #{invoiceImagePath}
+            </if>
+            <if test="invoiceNumber != null and invoiceNumber != ''">
+                and INVOICE_NUMBER = #{invoiceNumber}
+            </if>
+            <if test="invoiceBillingDate != null">
+                and TO_CHAR(INVOICE_BILLING_DATE,'yyyy-MM-dd') = #{invoiceBillingDate}
+            </if>
+            <if test="invoiceRemark != null and invoiceRemark != ''">
+                and INVOICE_REMARK = #{invoiceRemark}
+            </if>
+            <if test="invoicePayee != null and invoicePayee != ''">
+                and INVOICE_PAYEE = #{invoicePayee}
+            </if>
+            <if test="invoiceReviewer != null and invoiceReviewer != ''">
+                and INVOICE_REVIEWER = #{invoiceReviewer}
+            </if>
+            <if test="invoiceIssuer != null and invoiceIssuer != ''">
+                and INVOICE_ISSUER = #{invoiceIssuer}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME = #{insertUsername}
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME = #{updateUsername}
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="invoiceId != null">
+                and INVOICE_ID = #{invoiceId}
+            </if>
+            <if test="statementId != null">
+                and STATEMENT_ID = #{statementId}
+            </if>
+            <if test="groupId != null">
+                and GROUP_ID = #{groupId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="invoiceImagePath != null and invoiceImagePath != ''">
+                and INVOICE_IMAGE_PATH LIKE '%${invoiceImagePath}%'
+            </if>
+            <if test="invoiceNumber != null and invoiceNumber != ''">
+                and INVOICE_NUMBER LIKE '%${invoiceNumber}%'
+            </if>
+            <if test="invoiceBillingDate != null">
+                and TO_CHAR(INVOICE_BILLING_DATE,'yyyy-MM-dd') = #{invoiceBillingDate}
+            </if>
+            <if test="invoiceRemark != null and invoiceRemark != ''">
+                and INVOICE_REMARK LIKE '%${invoiceRemark}%'
+            </if>
+            <if test="invoicePayee != null and invoicePayee != ''">
+                and INVOICE_PAYEE LIKE '%${invoicePayee}%'
+            </if>
+            <if test="invoiceReviewer != null and invoiceReviewer != ''">
+                and INVOICE_REVIEWER LIKE '%${invoiceReviewer}%'
+            </if>
+            <if test="invoiceIssuer != null and invoiceIssuer != ''">
+                and INVOICE_ISSUER LIKE '%${invoiceIssuer}%'
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME LIKE '%${insertUsername}%'
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME LIKE '%${updateUsername}%'
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+        delete
+        from BMSTRUCK_INVOICE
+        where INVOICE_ID = #{invoiceId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from BMSTRUCK_INVOICE
+        where 1!=1
+        <if test="statementId != null">
+            or STATEMENT_ID = #{statementId}
+        </if>
+        <if test="groupId != null">
+            or GROUP_ID = #{groupId}
+        </if>
+        <if test="carrierId != null">
+            or CARRIER_ID = #{carrierId}
+        </if>
+        <if test="invoiceImagePath != null and invoiceImagePath != ''">
+            or INVOICE_IMAGE_PATH = #{invoiceImagePath}
+        </if>
+        <if test="invoiceNumber != null and invoiceNumber != ''">
+            or INVOICE_NUMBER = #{invoiceNumber}
+        </if>
+        <if test="invoiceBillingDate != null">
+            or TO_CHAR(INVOICE_BILLING_DATE,'yyyy-MM-dd') = '#{invoiceBillingDate}'
+        </if>
+        <if test="invoiceRemark != null and invoiceRemark != ''">
+            or INVOICE_REMARK = #{invoiceRemark}
+        </if>
+        <if test="invoicePayee != null and invoicePayee != ''">
+            or INVOICE_PAYEE = #{invoicePayee}
+        </if>
+        <if test="invoiceReviewer != null and invoiceReviewer != ''">
+            or INVOICE_REVIEWER = #{invoiceReviewer}
+        </if>
+        <if test="invoiceIssuer != null and invoiceIssuer != ''">
+            or INVOICE_ISSUER = #{invoiceIssuer}
+        </if>
+        <if test="insertUsername != null and insertUsername != ''">
+            or INSERT_USERNAME = #{insertUsername}
+        </if>
+        <if test="insertTime != null">
+            or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+        </if>
+        <if test="updateUsername != null and updateUsername != ''">
+            or UPDATE_USERNAME = #{updateUsername}
+        </if>
+        <if test="updateTime != null">
+            or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+        </if>
+        <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+            or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckInvoice">
+        insert into BMSTRUCK_INVOICE (INVOICE_ID, STATEMENT_ID, GROUP_ID,
+                                      CARRIER_ID, INVOICE_IMAGE_PATH, INVOICE_NUMBER,
+                                      INVOICE_BILLING_DATE, INVOICE_REMARK, INVOICE_PAYEE,
+                                      INVOICE_REVIEWER, INVOICE_ISSUER, INSERT_USERNAME,
+                                      INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
+                                      INSERT_UPDATE_REMARK)
+        values (#{invoiceId,jdbcType=DECIMAL}, #{statementId,jdbcType=DECIMAL}, #{groupId,jdbcType=DECIMAL},
+                #{carrierId,jdbcType=DECIMAL}, #{invoiceImagePath,jdbcType=VARCHAR}, #{invoiceNumber,jdbcType=VARCHAR},
+                #{invoiceBillingDate,jdbcType=TIMESTAMP}, #{invoiceRemark,jdbcType=VARCHAR},
+                #{invoicePayee,jdbcType=VARCHAR},
+                #{invoiceReviewer,jdbcType=VARCHAR}, #{invoiceIssuer,jdbcType=VARCHAR},
+                #{insertUsername,jdbcType=VARCHAR},
+                #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+                #{insertUpdateRemark,jdbcType=VARCHAR})
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckInvoice">
+        insert into BMSTRUCK_INVOICE
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="invoiceId != null">
+                INVOICE_ID,
+            </if>
+            <if test="statementId != null">
+                STATEMENT_ID,
+            </if>
+            <if test="groupId != null">
+                GROUP_ID,
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID,
+            </if>
+            <if test="invoiceImagePath != null">
+                INVOICE_IMAGE_PATH,
+            </if>
+            <if test="invoiceNumber != null">
+                INVOICE_NUMBER,
+            </if>
+            <if test="invoiceBillingDate != null">
+                INVOICE_BILLING_DATE,
+            </if>
+            <if test="invoiceRemark != null">
+                INVOICE_REMARK,
+            </if>
+            <if test="invoicePayee != null">
+                INVOICE_PAYEE,
+            </if>
+            <if test="invoiceReviewer != null">
+                INVOICE_REVIEWER,
+            </if>
+            <if test="invoiceIssuer != null">
+                INVOICE_ISSUER,
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME,
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME,
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME,
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME,
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="invoiceId != null">
+                #{invoiceId,jdbcType=DECIMAL},
+            </if>
+            <if test="statementId != null">
+                #{statementId,jdbcType=DECIMAL},
+            </if>
+            <if test="groupId != null">
+                #{groupId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="invoiceImagePath != null">
+                #{invoiceImagePath,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceNumber != null">
+                #{invoiceNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceBillingDate != null">
+                #{invoiceBillingDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="invoiceRemark != null">
+                #{invoiceRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="invoicePayee != null">
+                #{invoicePayee,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceReviewer != null">
+                #{invoiceReviewer,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceIssuer != null">
+                #{invoiceIssuer,jdbcType=VARCHAR},
+            </if>
+            <if test="insertUsername != null">
+                #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckInvoice">
+        update BMSTRUCK_INVOICE
+        set STATEMENT_ID         = #{statementId,jdbcType=DECIMAL},
+            GROUP_ID             = #{groupId,jdbcType=DECIMAL},
+            CARRIER_ID           = #{carrierId,jdbcType=DECIMAL},
+            INVOICE_IMAGE_PATH   = #{invoiceImagePath,jdbcType=VARCHAR},
+            INVOICE_NUMBER       = #{invoiceNumber,jdbcType=VARCHAR},
+            INVOICE_BILLING_DATE = #{invoiceBillingDate,jdbcType=TIMESTAMP},
+            INVOICE_REMARK       = #{invoiceRemark,jdbcType=VARCHAR},
+            INVOICE_PAYEE        = #{invoicePayee,jdbcType=VARCHAR},
+            INVOICE_REVIEWER     = #{invoiceReviewer,jdbcType=VARCHAR},
+            INVOICE_ISSUER       = #{invoiceIssuer,jdbcType=VARCHAR},
+            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}
+        where INVOICE_ID = #{invoiceId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckInvoice">
+        update BMSTRUCK_INVOICE
+        <set>
+            <if test="statementId != null">
+                STATEMENT_ID = #{statementId,jdbcType=DECIMAL},
+            </if>
+            <if test="groupId != null">
+                GROUP_ID = #{groupId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="invoiceImagePath != null">
+                INVOICE_IMAGE_PATH = #{invoiceImagePath,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceNumber != null">
+                INVOICE_NUMBER = #{invoiceNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceBillingDate != null">
+                INVOICE_BILLING_DATE = #{invoiceBillingDate,jdbcType=TIMESTAMP},
+            </if>
+            <if test="invoiceRemark != null">
+                INVOICE_REMARK = #{invoiceRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="invoicePayee != null">
+                INVOICE_PAYEE = #{invoicePayee,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceReviewer != null">
+                INVOICE_REVIEWER = #{invoiceReviewer,jdbcType=VARCHAR},
+            </if>
+            <if test="invoiceIssuer != null">
+                INVOICE_ISSUER = #{invoiceIssuer,jdbcType=VARCHAR},
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where INVOICE_ID = #{invoiceId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+        <include refid="select"/>
+        where INVOICE_ID = #{invoiceId,jdbcType=DECIMAL}
+    </select>
+    <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="where"/>
+    </select>
+    <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="whereLike"/>
+    </select>
+    <insert id="batchInsert" parameterType="java.util.List">
+        insert into BMSTRUCK_INVOICE
+        (INVOICE_ID,
+        STATEMENT_ID, GROUP_ID, CARRIER_ID,
+        INVOICE_IMAGE_PATH, INVOICE_NUMBER,
+        INVOICE_BILLING_DATE, INVOICE_REMARK,
+        INVOICE_PAYEE, INVOICE_REVIEWER,
+        INVOICE_ISSUER, INSERT_USERNAME,
+        INSERT_TIME, UPDATE_USERNAME,
+        UPDATE_TIME, INSERT_UPDATE_REMARK
+        )
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.invoiceId,jdbcType=DECIMAL},
+        #{item.statementId,jdbcType=DECIMAL}, #{item.groupId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL},
+        #{item.invoiceImagePath,jdbcType=VARCHAR}, #{item.invoiceNumber,jdbcType=VARCHAR},
+        #{item.invoiceBillingDate,jdbcType=TIMESTAMP}, #{item.invoiceRemark,jdbcType=VARCHAR},
+        #{item.invoicePayee,jdbcType=VARCHAR}, #{item.invoiceReviewer,jdbcType=VARCHAR},
+        #{item.invoiceIssuer,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR},
+        #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update BMSTRUCK_INVOICE
+        set
+        INVOICE_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceId,jdbcType=DECIMAL}
+        </foreach>
+        ,STATEMENT_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
+        </foreach>
+        ,GROUP_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.groupId,jdbcType=DECIMAL}
+        </foreach>
+        ,CARRIER_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+        </foreach>
+        ,INVOICE_IMAGE_PATH=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceImagePath,jdbcType=VARCHAR}
+        </foreach>
+        ,INVOICE_NUMBER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceNumber,jdbcType=VARCHAR}
+        </foreach>
+        ,INVOICE_BILLING_DATE=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceBillingDate,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INVOICE_REMARK=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceRemark,jdbcType=VARCHAR}
+        </foreach>
+        ,INVOICE_PAYEE=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoicePayee,jdbcType=VARCHAR}
+        </foreach>
+        ,INVOICE_REVIEWER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceReviewer,jdbcType=VARCHAR}
+        </foreach>
+        ,INVOICE_ISSUER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.invoiceIssuer,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,UPDATE_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,UPDATE_TIME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INSERT_UPDATE_REMARK=
+        <foreach collection="list" item="item" index="index" separator=" " open="case INVOICE_ID" close="end">
+            when #{item.invoiceId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        </foreach>
+        where INVOICE_ID in
+        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+            #{item.invoiceId,jdbcType=DECIMAL}
+        </foreach>
+    </update>
+    <delete id="batchDelete" parameterType="java.util.List">
+        delete from BMSTRUCK_INVOICE
+        where INVOICE_ID in
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+    <!-- 查询发票列表 -->
+    <select id="getInvoiceList" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT BS.STATEMENT_NUMBER     AS "statementNumber",
+               BI.INVOICE_BILLING_DATE AS "invoiceBillingDate",
+               BI.INVOICE_IMAGE_PATH   AS "invoiceImagePath",
+               BI.INVOICE_ID           AS "invoiceId"
+        FROM BMSTRUCK_INVOICE BI
+                 LEFT JOIN BMSTRUCK_STATEMENT BS
+                           ON BI.STATEMENT_ID = BS.STATEMENT_ID
+
+    </select>
+
+</mapper>

+ 586 - 0
src/main/resources/com/steerinfo/dil/mapper/BmstruckStatementMapper.xml

@@ -0,0 +1,586 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.BmstruckStatementMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckStatement">
+        <id column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId"/>
+        <result column="STATEMENT_NUMBER" jdbcType="VARCHAR" property="statementNumber"/>
+        <result column="COST_ID" jdbcType="DECIMAL" property="costId"/>
+        <result column="STATEMENT_PAYMENT_UNIT" jdbcType="VARCHAR" property="statementPaymentUnit"/>
+        <result column="STATEMENT_EXCLUD_TAX" jdbcType="DECIMAL" property="statementExcludTax"/>
+        <result column="STATEMENT_INCLUD_TAX" jdbcType="DECIMAL" property="statementIncludTax"/>
+        <result column="STATEMENT_REMARK" jdbcType="VARCHAR" property="statementRemark"/>
+        <result column="STATEMENT_SETTLEMENT_STATUS" jdbcType="VARCHAR" property="statementSettlementStatus"/>
+        <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"/>
+    </resultMap>
+    <sql id="columns">
+        STATEMENT_ID, STATEMENT_NUMBER, COST_ID, STATEMENT_PAYMENT_UNIT, STATEMENT_EXCLUD_TAX,
+    STATEMENT_INCLUD_TAX, STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS, INSERT_USERNAME, 
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+    </sql>
+    <sql id="columns_alias">
+        t.STATEMENT_ID, t.STATEMENT_NUMBER, t.COST_ID, t.STATEMENT_PAYMENT_UNIT, t.STATEMENT_EXCLUD_TAX,
+    t.STATEMENT_INCLUD_TAX, t.STATEMENT_REMARK, t.STATEMENT_SETTLEMENT_STATUS, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+    </sql>
+    <sql id="select">
+        SELECT
+        <include refid="columns"/>
+        FROM BMSTRUCK_STATEMENT
+    </sql>
+    <sql id="select_alias">
+        SELECT
+        <include refid="columns_alias"/>
+        FROM BMSTRUCK_STATEMENT t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="statementId != null">
+                and STATEMENT_ID = #{statementId}
+            </if>
+            <if test="statementNumber != null and statementNumber != ''">
+                and STATEMENT_NUMBER = #{statementNumber}
+            </if>
+            <if test="costId != null">
+                and COST_ID = #{costId}
+            </if>
+            <if test="statementPaymentUnit != null and statementPaymentUnit != ''">
+                and STATEMENT_PAYMENT_UNIT = #{statementPaymentUnit}
+            </if>
+            <if test="statementExcludTax != null">
+                and STATEMENT_EXCLUD_TAX = #{statementExcludTax}
+            </if>
+            <if test="statementIncludTax != null">
+                and STATEMENT_INCLUD_TAX = #{statementIncludTax}
+            </if>
+            <if test="statementRemark != null and statementRemark != ''">
+                and STATEMENT_REMARK = #{statementRemark}
+            </if>
+            <if test="statementSettlementStatus != null and statementSettlementStatus != ''">
+                and STATEMENT_SETTLEMENT_STATUS = #{statementSettlementStatus}
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME = #{insertUsername}
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME = #{updateUsername}
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="statementId != null">
+                and STATEMENT_ID = #{statementId}
+            </if>
+            <if test="statementNumber != null and statementNumber != ''">
+                and STATEMENT_NUMBER LIKE '%${statementNumber}%'
+            </if>
+            <if test="costId != null">
+                and COST_ID = #{costId}
+            </if>
+            <if test="statementPaymentUnit != null and statementPaymentUnit != ''">
+                and STATEMENT_PAYMENT_UNIT LIKE '%${statementPaymentUnit}%'
+            </if>
+            <if test="statementExcludTax != null">
+                and STATEMENT_EXCLUD_TAX = #{statementExcludTax}
+            </if>
+            <if test="statementIncludTax != null">
+                and STATEMENT_INCLUD_TAX = #{statementIncludTax}
+            </if>
+            <if test="statementRemark != null and statementRemark != ''">
+                and STATEMENT_REMARK LIKE '%${statementRemark}%'
+            </if>
+            <if test="statementSettlementStatus != null and statementSettlementStatus != ''">
+                and STATEMENT_SETTLEMENT_STATUS LIKE '%${statementSettlementStatus}%'
+            </if>
+            <if test="insertUsername != null and insertUsername != ''">
+                and INSERT_USERNAME LIKE '%${insertUsername}%'
+            </if>
+            <if test="insertTime != null">
+                and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+            </if>
+            <if test="updateUsername != null and updateUsername != ''">
+                and UPDATE_USERNAME LIKE '%${updateUsername}%'
+            </if>
+            <if test="updateTime != null">
+                and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+            </if>
+            <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+                and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+        delete
+        from BMSTRUCK_STATEMENT
+        where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from BMSTRUCK_STATEMENT
+        where 1!=1
+        <if test="statementNumber != null and statementNumber != ''">
+            or STATEMENT_NUMBER = #{statementNumber}
+        </if>
+        <if test="costId != null">
+            or COST_ID = #{costId}
+        </if>
+        <if test="statementPaymentUnit != null and statementPaymentUnit != ''">
+            or STATEMENT_PAYMENT_UNIT = #{statementPaymentUnit}
+        </if>
+        <if test="statementExcludTax != null">
+            or STATEMENT_EXCLUD_TAX = #{statementExcludTax}
+        </if>
+        <if test="statementIncludTax != null">
+            or STATEMENT_INCLUD_TAX = #{statementIncludTax}
+        </if>
+        <if test="statementRemark != null and statementRemark != ''">
+            or STATEMENT_REMARK = #{statementRemark}
+        </if>
+        <if test="statementSettlementStatus != null and statementSettlementStatus != ''">
+            or STATEMENT_SETTLEMENT_STATUS = #{statementSettlementStatus}
+        </if>
+        <if test="insertUsername != null and insertUsername != ''">
+            or INSERT_USERNAME = #{insertUsername}
+        </if>
+        <if test="insertTime != null">
+            or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+        </if>
+        <if test="updateUsername != null and updateUsername != ''">
+            or UPDATE_USERNAME = #{updateUsername}
+        </if>
+        <if test="updateTime != null">
+            or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+        </if>
+        <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+            or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckStatement">
+        insert into BMSTRUCK_STATEMENT (STATEMENT_ID, STATEMENT_NUMBER, COST_ID,
+                                        STATEMENT_PAYMENT_UNIT, STATEMENT_EXCLUD_TAX,
+                                        STATEMENT_INCLUD_TAX, STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS,
+                                        INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                        UPDATE_TIME, INSERT_UPDATE_REMARK)
+        values (#{statementId,jdbcType=DECIMAL}, #{statementNumber,jdbcType=VARCHAR}, #{costId,jdbcType=DECIMAL},
+                #{statementPaymentUnit,jdbcType=VARCHAR}, #{statementExcludTax,jdbcType=DECIMAL},
+                #{statementIncludTax,jdbcType=DECIMAL}, #{statementRemark,jdbcType=VARCHAR},
+                #{statementSettlementStatus,jdbcType=VARCHAR},
+                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+                #{updateUsername,jdbcType=VARCHAR},
+                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR})
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckStatement">
+        insert into BMSTRUCK_STATEMENT
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="statementId != null">
+                STATEMENT_ID,
+            </if>
+            <if test="statementNumber != null">
+                STATEMENT_NUMBER,
+            </if>
+            <if test="costId != null">
+                COST_ID,
+            </if>
+            <if test="statementPaymentUnit != null">
+                STATEMENT_PAYMENT_UNIT,
+            </if>
+            <if test="statementExcludTax != null">
+                STATEMENT_EXCLUD_TAX,
+            </if>
+            <if test="statementIncludTax != null">
+                STATEMENT_INCLUD_TAX,
+            </if>
+            <if test="statementRemark != null">
+                STATEMENT_REMARK,
+            </if>
+            <if test="statementSettlementStatus != null">
+                STATEMENT_SETTLEMENT_STATUS,
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME,
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME,
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME,
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME,
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="statementId != null">
+                #{statementId,jdbcType=DECIMAL},
+            </if>
+            <if test="statementNumber != null">
+                #{statementNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="costId != null">
+                #{costId,jdbcType=DECIMAL},
+            </if>
+            <if test="statementPaymentUnit != null">
+                #{statementPaymentUnit,jdbcType=VARCHAR},
+            </if>
+            <if test="statementExcludTax != null">
+                #{statementExcludTax,jdbcType=DECIMAL},
+            </if>
+            <if test="statementIncludTax != null">
+                #{statementIncludTax,jdbcType=DECIMAL},
+            </if>
+            <if test="statementRemark != null">
+                #{statementRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="statementSettlementStatus != null">
+                #{statementSettlementStatus,jdbcType=VARCHAR},
+            </if>
+            <if test="insertUsername != null">
+                #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckStatement">
+        update BMSTRUCK_STATEMENT
+        set STATEMENT_NUMBER            = #{statementNumber,jdbcType=VARCHAR},
+            COST_ID                     = #{costId,jdbcType=DECIMAL},
+            STATEMENT_PAYMENT_UNIT      = #{statementPaymentUnit,jdbcType=VARCHAR},
+            STATEMENT_EXCLUD_TAX        = #{statementExcludTax,jdbcType=DECIMAL},
+            STATEMENT_INCLUD_TAX        = #{statementIncludTax,jdbcType=DECIMAL},
+            STATEMENT_REMARK            = #{statementRemark,jdbcType=VARCHAR},
+            STATEMENT_SETTLEMENT_STATUS = #{statementSettlementStatus,jdbcType=VARCHAR},
+            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}
+        where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckStatement">
+        update BMSTRUCK_STATEMENT
+        <set>
+            <if test="statementNumber != null">
+                STATEMENT_NUMBER = #{statementNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="costId != null">
+                COST_ID = #{costId,jdbcType=DECIMAL},
+            </if>
+            <if test="statementPaymentUnit != null">
+                STATEMENT_PAYMENT_UNIT = #{statementPaymentUnit,jdbcType=VARCHAR},
+            </if>
+            <if test="statementExcludTax != null">
+                STATEMENT_EXCLUD_TAX = #{statementExcludTax,jdbcType=DECIMAL},
+            </if>
+            <if test="statementIncludTax != null">
+                STATEMENT_INCLUD_TAX = #{statementIncludTax,jdbcType=DECIMAL},
+            </if>
+            <if test="statementRemark != null">
+                STATEMENT_REMARK = #{statementRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="statementSettlementStatus != null">
+                STATEMENT_SETTLEMENT_STATUS = #{statementSettlementStatus,jdbcType=VARCHAR},
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+        <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"/>
+    </select>
+    <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+        <include refid="select"/>
+        <include refid="whereLike"/>
+    </select>
+    <insert id="batchInsert" parameterType="java.util.List">
+        insert into BMSTRUCK_STATEMENT
+        (STATEMENT_ID,
+        STATEMENT_NUMBER, COST_ID, STATEMENT_PAYMENT_UNIT,
+        STATEMENT_EXCLUD_TAX, STATEMENT_INCLUD_TAX,
+        STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS,
+        INSERT_USERNAME, INSERT_TIME,
+        UPDATE_USERNAME, UPDATE_TIME,
+        INSERT_UPDATE_REMARK)
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.statementId,jdbcType=DECIMAL},
+        #{item.statementNumber,jdbcType=VARCHAR}, #{item.costId,jdbcType=DECIMAL},
+        #{item.statementPaymentUnit,jdbcType=VARCHAR},
+        #{item.statementExcludTax,jdbcType=DECIMAL}, #{item.statementIncludTax,jdbcType=DECIMAL},
+        #{item.statementRemark,jdbcType=VARCHAR}, #{item.statementSettlementStatus,jdbcType=VARCHAR},
+        #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+        #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+        #{item.insertUpdateRemark,jdbcType=VARCHAR} from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update BMSTRUCK_STATEMENT
+        set
+        STATEMENT_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
+        </foreach>
+        ,STATEMENT_NUMBER=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementNumber,jdbcType=VARCHAR}
+        </foreach>
+        ,COST_ID=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.costId,jdbcType=DECIMAL}
+        </foreach>
+        ,STATEMENT_PAYMENT_UNIT=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementPaymentUnit,jdbcType=VARCHAR}
+        </foreach>
+        ,STATEMENT_EXCLUD_TAX=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementExcludTax,jdbcType=DECIMAL}
+        </foreach>
+        ,STATEMENT_INCLUD_TAX=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementIncludTax,jdbcType=DECIMAL}
+        </foreach>
+        ,STATEMENT_REMARK=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementRemark,jdbcType=VARCHAR}
+        </foreach>
+        ,STATEMENT_SETTLEMENT_STATUS=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementSettlementStatus,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_USERNAME=
+        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+            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">
+            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">
+            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">
+            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">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        </foreach>
+        where STATEMENT_ID in
+        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+            #{item.statementId,jdbcType=DECIMAL}
+        </foreach>
+    </update>
+    <delete id="batchDelete" parameterType="java.util.List">
+        delete from BMSTRUCK_STATEMENT
+        where STATEMENT_ID in
+        <foreach collection="list" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+    <!-- 展示汽运账单列表 -->
+    <select id="getTruckStatementList" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        FROM (
+        SELECT BS.STATEMENT_NUMBER AS "statementNumber",
+        BS.INSERT_TIME AS "insertTime",
+        BS.STATEMENT_PAYMENT_UNIT AS "statementPaymentUnit",
+        BS.STATEMENT_EXCLUD_TAX AS "statementExcludTax",
+        BC.CHECK_CARRIER_STATUS AS "checkCarrierStatus",
+        BC.CHECK_RECEIVE_CUSTOMER_STATUS AS "checkReceiveCustomerStatus",
+        BC.CHECK_SHIPPER_STATUS AS "checkShipperStatus",
+        BS.STATEMENT_ID AS "statementId",
+        BC.CARRIER_ID AS "carrierId",
+        BC.SHIPPER_ID AS "shipperId"
+        FROM BMSTRUCK_STATEMENT BS
+        LEFT JOIN BMSTRUCK_CHECK BC
+        ON BC.STATEMENT_ID = BS.STATEMENT_ID
+        )
+        <where>
+            <if test="statementNumber!= null">
+                and
+                <foreach collection="statementNumber" item="item" open="(" separator="," close=")">
+                    "statementNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="insertTime!= null">
+                and
+                <foreach collection="insertTime" item="item" open="(" separator="," close=")">
+                    "insertTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="statementPaymentUnit!= null">
+                and
+                <foreach collection="statementPaymentUnit" item="item" open="(" separator="," close=")">
+                    "statementPaymentUnit" in #{item}
+                </foreach>
+            </if>
+            <if test="statementExcludTax!= null">
+                and
+                <foreach collection="statementExcludTax" item="item" open="(" separator="," close=")">
+                    "statementExcludTax" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
+        </if>
+    </sql>
+
+    <!-- 销售汽运账单下的详单 -->
+    <select id="getSaleTruckStatementDetailsOrderList" 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",
+        rct.CAPACITY_TYPE_NAME as "capacityTypeName",
+        rs.SHIPPER_NAME as "shipperName",
+        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        actp.PRICE_VALUE as "priceValue",
+        bdo.DETAILS_AMOUNT as "detailsAmount"
+        FROM BMSTRUCK_DETAILS_ORDER bdo
+        LEFT JOIN OMSTRUCK_ORDER oo
+        ON oo.ORDER_ID = bdo.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
+        ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER aso
+        ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER rs
+        ON rs.SHIPPER_ID = aso.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE rco
+        ON rco.CONSIGNEE_ID = aso.RECEIVE_ID
+        LEFT JOIN RMS_CAPACITY rc
+        ON oo.CAPACITY_ID = rc.CAPACITY_ID
+        LEFT JOIN 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
+        LEFT JOIN BMSTRUCK_DETAILS_STATEMENT bds
+        ON bdo.DETAILS_ID = bds.DETAILS_ID
+        WHERE bds.STATEMENT_ID = #{statementId}
+        AND bdo.WETHER_TO_STATEMENT = 0
+        )
+        <where>
+            <if test="detailsNo!= null">
+                and
+                <foreach collection="detailsNo" item="item" open="(" separator="," close=")">
+                    "detailsNo" in #{item}
+                </foreach>
+            </if>
+            <if test="orderNumber!= null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="," close=")">
+                    "orderNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsTime!= null">
+                and
+                <foreach collection="detailsTime" item="item" open="(" separator="," close=")">
+                    "detailsTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="capacityTypeName!= null">
+                and
+                <foreach collection="capacityTypeName" item="item" open="(" separator="," close=")">
+                    "capacityTypeName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+            <if test="consigneeReceiveAddress!= null">
+                and
+                <foreach collection="consigneeReceiveAddress" item="item" open="(" separator="," close=")">
+                    "consigneeReceiveAddress" in #{item}
+                </foreach>
+            </if>
+            <if test="priceValue!= null">
+                and
+                <foreach collection="priceValue" item="item" open="(" separator="," close=")">
+                    "priceValue" in #{item}
+                </foreach>
+            </if>
+            <if test="detailsAmount!= null">
+                and
+                <foreach collection="detailsAmount" item="item" open="(" separator="," close=")">
+                    "detailsAmount" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+
+</mapper>