From fd78b45fbaa37cf845b0da6ecd986e39c347ce5d Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 29 七月 2025 11:36:05 +0800
Subject: [PATCH] 新增调度单后端
---
service/src/main/java/com/ruoyi/cwgl/domain/DispatchOrder.java | 201 +++++++++++
service/src/main/java/com/ruoyi/cwgl/service/IDispatchOrderService.java | 102 ++++++
service/src/main/java/com/ruoyi/cwgl/service/impl/DispatchOrderServiceImpl.java | 182 ++++++++++
service/src/main/resources/mapper/cwgl/DispatchOrderMapper.xml | 242 ++++++++++++++
service/src/main/java/com/ruoyi/cwgl/mapper/DispatchOrderMapper.java | 87 +++++
service/src/main/java/com/ruoyi/cwgl/controller/DispatchOrderController.java | 108 ++++++
pom.xml | 1
service/pom.xml | 47 ++
8 files changed, 970 insertions(+), 0 deletions(-)
diff --git a/pom.xml b/pom.xml
index 7fed988..de12611 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,7 @@
<module>system</module>
<module>quartz</module>
<module>common</module>
+ <module>service</module>
</modules>
<packaging>pom</packaging>
diff --git a/service/pom.xml b/service/pom.xml
new file mode 100644
index 0000000..4902321
--- /dev/null
+++ b/service/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>manage</artifactId>
+ <groupId>com.ruoyi</groupId>
+ <version>master</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>com.cwgl</groupId>
+ <artifactId>service</artifactId>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
+ <dependencies>
+
+
+ <!-- 閫氱敤宸ュ叿-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!--鎸佷箙鍖栧眰妯″潡-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>core</artifactId>
+ <version>${ruoyi.version}</version>
+ </dependency>
+ <!--鎸佷箙鍖栧眰妯″潡-->
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>framework</artifactId>
+ <version>${ruoyi.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/DispatchOrderController.java b/service/src/main/java/com/ruoyi/cwgl/controller/DispatchOrderController.java
new file mode 100644
index 0000000..d13f333
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/DispatchOrderController.java
@@ -0,0 +1,108 @@
+package com.ruoyi.cwgl.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.utils.file.DownloadExportUtil;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.cwgl.domain.DispatchOrder;
+import com.ruoyi.cwgl.service.IDispatchOrderService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 璋冨害鍗旵ontroller
+ *
+ * @author ruoyi
+ * @date 2025-07-29
+ */
+@RestController
+@RequestMapping("/cwgl/dispatchOrder")
+public class DispatchOrderController extends BaseController
+{
+ @Autowired
+ private IDispatchOrderService dispatchOrderService;
+
+
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛�
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(DispatchOrder dispatchOrder)
+ {
+ startPage();
+ List<DispatchOrder> list = dispatchOrderService.selectDispatchOrderList(dispatchOrder);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭璋冨害鍗曞垪琛�
+ * @param dispatchOrder 鏌ヨ鏉′欢瀵硅薄
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:export')")
+ @Log(title = "璋冨害鍗�", businessType = BusinessType.EXPORT)
+ @GetMapping("/export")
+ public AjaxResult export(DispatchOrder dispatchOrder,String exportKey)
+ {
+ dispatchOrderService.export(dispatchOrder,exportKey);
+ return AjaxResult.success("瀵煎嚭璇锋眰鎴愬姛锛岃绋嶅悗鐐瑰嚮涓嬭浇...!");
+ }
+
+
+
+ /**
+ * 鑾峰彇璋冨害鍗曡缁嗕俊鎭�
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Integer id)
+ {
+ return AjaxResult.success(dispatchOrderService.selectDispatchOrderById(id));
+ }
+
+ /**
+ * 鏂板璋冨害鍗�
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:add')")
+ @Log(title = "璋冨害鍗�", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody DispatchOrder dispatchOrder)
+ {
+ return toAjax(dispatchOrderService.insertDispatchOrder(dispatchOrder));
+ }
+
+ /**
+ * 淇敼璋冨害鍗�
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:edit')")
+ @Log(title = "璋冨害鍗�", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody DispatchOrder dispatchOrder)
+ {
+ return toAjax(dispatchOrderService.updateDispatchOrder(dispatchOrder));
+ }
+
+ /**
+ * 鍒犻櫎璋冨害鍗�
+ */
+ @PreAuthorize("@ss.hasPermi('cwgl:dispatchOrder:remove')")
+ @Log(title = "璋冨害鍗�", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Integer[] ids)
+ {
+ return toAjax(dispatchOrderService.deleteDispatchOrderByIds(ids));
+ }
+}
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/DispatchOrder.java b/service/src/main/java/com/ruoyi/cwgl/domain/DispatchOrder.java
new file mode 100644
index 0000000..3613070
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/DispatchOrder.java
@@ -0,0 +1,201 @@
+package com.ruoyi.cwgl.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.util.Date;
+import lombok.Data;
+/**
+ * 璋冨害鍗曞璞� dispatch_order
+ *
+ * @author ruoyi
+ * @date 2025-07-29
+ */
+@Data
+public class DispatchOrder{
+
+
+ /** ID */
+ @TableField("id")
+ private Integer id;
+
+
+ /** 璋冨害鍗曞彿 */
+ @Excel(name = "璋冨害鍗曞彿")
+
+ @TableField("dispatch_no")
+ private String dispatchNo;
+
+
+ /** 杩愯緭鏂瑰紡 */
+ @Excel(name = "杩愯緭鏂瑰紡")
+
+ @TableField("transport_mode")
+ private String transportMode;
+
+
+ /** 鏈嶅姟浜у搧鍚嶇О */
+ @Excel(name = "鏈嶅姟浜у搧鍚嶇О")
+
+ @TableField("product_name")
+ private String productName;
+
+
+ /** 鎵胯繍鍟� */
+ @Excel(name = "鎵胯繍鍟�")
+
+ @TableField("carrier_name")
+ private String carrierName;
+
+
+ /** 鍑哄彂鍦板悕绉� */
+ @Excel(name = "鍑哄彂鍦板悕绉�")
+
+ @TableField("departure_location_name")
+ private String departureLocationName;
+
+
+ /** 鐩殑鍦板悕绉� */
+ @Excel(name = "鐩殑鍦板悕绉�")
+
+ @TableField("arrival_location_name")
+ private String arrivalLocationName;
+
+
+ /** 杞︾墝 */
+ @Excel(name = "杞︾墝")
+
+ @TableField("license_plate_number")
+ private String licensePlateNumber;
+
+
+ /** 杞︽澘鍙� */
+ @Excel(name = "杞︽澘鍙�")
+
+ @TableField("vehicle_plate_id")
+ private String vehiclePlateId;
+
+
+ /** 涓婚┚椹跺憳 */
+ @Excel(name = "涓婚┚椹跺憳")
+
+ @TableField("main_driver_name")
+ private String mainDriverName;
+
+
+ /** 鍓┚椹跺憳 */
+ @Excel(name = "鍓┚椹跺憳")
+
+ @TableField("assistant_driver_name")
+ private String assistantDriverName;
+
+
+ /** 鎻愰�佽揣鐐规暟 */
+ @Excel(name = "鎻愰�佽揣鐐规暟")
+
+ @TableField("point_num")
+ private Integer pointNum;
+
+
+ /** 浠舵暟 */
+ @Excel(name = "浠舵暟")
+
+ @TableField("quantity")
+ private Integer quantity;
+
+
+ /** 瀹為檯鍑哄彂鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "瀹為檯鍑哄彂鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+ @TableField("actual_departure_time")
+ private Date actualDepartureTime;
+
+
+ /** 瑕佹眰鍒拌揪鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "瑕佹眰鍒拌揪鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+ @TableField("required_arrival_time")
+ private Date requiredArrivalTime;
+
+
+ /** 瀹為檯鍒拌揪鏃堕棿 */
+ @Excel(name = "瀹為檯鍒拌揪鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @TableField("actual_arrival_time")
+ private Date actualArrivalTime;
+
+
+ /** 鏄惁鍥炵▼(N,Y) */
+ @Excel(name = "鏄惁鍥炵▼(N,Y)")
+
+ @TableField("be_return")
+ private String beReturn;
+
+
+ /** 瀹炲彂浠舵暟 */
+ @Excel(name = "瀹炲彂浠舵暟")
+
+ @TableField("dispatch_quantity")
+ private Integer dispatchQuantity;
+
+
+ /** 瀹炲彂閲嶉噺锛堝崈鍏嬶級 */
+ @Excel(name = "瀹炲彂閲嶉噺", readConverterExp = "鍗�=鍏�")
+
+ @TableField("dispatch_weight")
+ private BigDecimal dispatchWeight;
+
+
+ /** 瀹炲彂浣撶Н(绔嬫柟锛� */
+ @Excel(name = "瀹炲彂浣撶Н(绔嬫柟锛�")
+
+ @TableField("dispatch_volume")
+ private BigDecimal dispatchVolume;
+
+
+ /** 鐘舵��(A-鐢熸晥,O-鎵撳紑,J-宸叉帴鍗�,K-宸插埌搴�,Z-宸茶杞�,T-鍦ㄩ��,F-宸插纾�,D-宸茶繍鎶�) */
+ @Excel(name = "鐘舵��(A-鐢熸晥,O-鎵撳紑,J-宸叉帴鍗�,K-宸插埌搴�,Z-宸茶杞�,T-鍦ㄩ��,F-宸插纾�,D-宸茶繍鎶�)")
+
+ @TableField("status")
+ private String status;
+
+
+ /** 澶囨敞 */
+ @Excel(name = "澶囨敞")
+
+ @TableField("remark")
+ private String remark;
+
+
+ /** 鍒涘缓浜� */
+ @TableField("create_by")
+ private String createBy;
+
+
+ /** 鍒涘缓鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @TableField("create_time")
+ private Date createTime;
+
+
+ /** 淇敼浜� */
+ @TableField("update_by")
+ private String updateBy;
+
+
+ /** 淇敼鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @TableField("update_time")
+ private Date updateTime;
+
+
+ /** 鏄惁鍒犻櫎(0-鍚�,1-鏄�) */
+ @Excel(name = "鏄惁鍒犻櫎(0-鍚�,1-鏄�)")
+
+ @TableField("is_deleted")
+ private Integer isDeleted;
+
+
+}
diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/DispatchOrderMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/DispatchOrderMapper.java
new file mode 100644
index 0000000..592b268
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/mapper/DispatchOrderMapper.java
@@ -0,0 +1,87 @@
+package com.ruoyi.cwgl.mapper;
+
+import java.util.List;
+import com.ruoyi.cwgl.domain.DispatchOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * 璋冨害鍗昅apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-07-29
+ */
+public interface DispatchOrderMapper extends BaseMapper<DispatchOrder>
+{
+ /**
+ * 鏌ヨ璋冨害鍗�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 璋冨害鍗�
+ */
+ public DispatchOrder selectDispatchOrderById(Integer id);
+
+ /**
+ * 鏌ヨ璋冨害鍗� 璁板綍鏁�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ public int selectDispatchOrderCount(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ public List<DispatchOrder> selectDispatchOrderList(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏂板璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int insertDispatchOrder(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏂板璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int insertDispatchOrderBatch(List<DispatchOrder> dispatchOrders);
+
+ /**
+ * 淇敼璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int updateDispatchOrder(DispatchOrder dispatchOrder);
+
+ /**
+ * 淇敼璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int updateDispatchOrderBatch(List<DispatchOrder> dispatchOrders);
+
+ /**
+ * 鍒犻櫎璋冨害鍗�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 缁撴灉
+ */
+ public int deleteDispatchOrderById(Integer id);
+
+ /**
+ * 鎵归噺鍒犻櫎璋冨害鍗�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+ * @return 缁撴灉
+ */
+ public int deleteDispatchOrderByIds(Integer[] ids);
+}
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IDispatchOrderService.java b/service/src/main/java/com/ruoyi/cwgl/service/IDispatchOrderService.java
new file mode 100644
index 0000000..e7f7ab7
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/service/IDispatchOrderService.java
@@ -0,0 +1,102 @@
+package com.ruoyi.cwgl.service;
+
+import java.util.List;
+import com.ruoyi.cwgl.domain.DispatchOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+/**
+ * 璋冨害鍗昐ervice鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2025-07-29
+ */
+public interface IDispatchOrderService extends IService<DispatchOrder>
+{
+ /**
+ * 鏌ヨ璋冨害鍗�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 璋冨害鍗�
+ */
+ public DispatchOrder selectDispatchOrderById(Integer id);
+
+ /**
+ * 鏌ヨ璋冨害鍗� 璁板綍鏁�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ public int selectDispatchOrderCount(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ public List<DispatchOrder> selectDispatchOrderList(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛� 寮傛 瀵煎嚭
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ public void export(DispatchOrder dispatchOrder, String exportKey) ;
+
+
+ /**
+ * 鏂板璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int insertDispatchOrder(DispatchOrder dispatchOrder);
+
+ /**
+ * 鏂板璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int insertDispatchOrderBatch(List<DispatchOrder> dispatchOrders);
+
+ /**
+ * 淇敼璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int updateDispatchOrder(DispatchOrder dispatchOrder);
+
+ /**
+ * 淇敼璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ public int updateDispatchOrderBatch(List<DispatchOrder> dispatchOrders);
+ /**
+ * 鎵归噺鍒犻櫎璋冨害鍗�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+ * @return 缁撴灉
+ */
+ public int deleteDispatchOrderByIds(String ids);
+
+ /**
+ * 鎵归噺鍒犻櫎璋冨害鍗�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+ * @return 缁撴灉
+ */
+ public int deleteDispatchOrderByIds(Integer[] ids);
+
+ /**
+ * 鍒犻櫎璋冨害鍗曚俊鎭�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 缁撴灉
+ */
+ public int deleteDispatchOrderById(Integer id);
+}
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/DispatchOrderServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/DispatchOrderServiceImpl.java
new file mode 100644
index 0000000..5643f03
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/DispatchOrderServiceImpl.java
@@ -0,0 +1,182 @@
+package com.ruoyi.cwgl.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import javax.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.stereotype.Service;
+import org.springframework.scheduling.annotation.Async;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.ruoyi.common.core.service.BaseService;
+
+import com.ruoyi.cwgl.mapper.DispatchOrderMapper;
+import com.ruoyi.cwgl.domain.DispatchOrder;
+import com.ruoyi.cwgl.service.IDispatchOrderService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 璋冨害鍗昐ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-07-29
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class DispatchOrderServiceImpl extends BaseService<DispatchOrderMapper, DispatchOrder> implements IDispatchOrderService
+{
+ protected final Logger logger = LoggerFactory.getLogger(getClass());
+ @Resource
+ private DispatchOrderMapper dispatchOrderMapper;
+
+
+ /**
+ * 鏌ヨ璋冨害鍗�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 璋冨害鍗�
+ */
+ @DataSource(DataSourceType.SLAVE)
+ @Override
+ public DispatchOrder selectDispatchOrderById(Integer id)
+ {
+ return dispatchOrderMapper.selectDispatchOrderById(id);
+ }
+
+ /**
+ * 鏌ヨ璋冨害鍗� 璁板綍鏁�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ @DataSource(DataSourceType.SLAVE)
+ @Override
+ public int selectDispatchOrderCount(DispatchOrder dispatchOrder)
+ {
+ return dispatchOrderMapper.selectDispatchOrderCount(dispatchOrder);
+ }
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 璋冨害鍗�
+ */
+ @DataSource(DataSourceType.SLAVE)
+ @Override
+ public List<DispatchOrder> selectDispatchOrderList(DispatchOrder dispatchOrder)
+ {
+ return dispatchOrderMapper.selectDispatchOrderList(dispatchOrder);
+ }
+
+ /**
+ * 鏌ヨ璋冨害鍗曞垪琛� 寮傛 瀵煎嚭
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑
+ * @return 璋冨害鍗曢泦鍚�
+ */
+ @DataSource(DataSourceType.SLAVE)
+ @Async
+ @Override
+ public void export(DispatchOrder dispatchOrder,String exportKey) {
+
+ super.export(DispatchOrder.class,exportKey,"dispatchOrderData",(pageNum)->{
+ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
+ return selectDispatchOrderList(dispatchOrder);
+ });
+ }
+
+
+ /**
+ * 鏂板璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertDispatchOrder(DispatchOrder dispatchOrder)
+ {
+ dispatchOrder.setCreateTime(DateUtils.getNowDate());
+ return dispatchOrderMapper.insertDispatchOrder(dispatchOrder);
+ }
+
+ /**
+ * 鏂板璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertDispatchOrderBatch(List<DispatchOrder> dispatchOrders)
+ {
+ int rows = dispatchOrderMapper.insertDispatchOrderBatch(dispatchOrders);
+ return rows;
+ }
+
+ /**
+ * 淇敼璋冨害鍗�
+ *
+ * @param dispatchOrder 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateDispatchOrder(DispatchOrder dispatchOrder)
+ {
+ dispatchOrder.setUpdateTime(DateUtils.getNowDate());
+ return dispatchOrderMapper.updateDispatchOrder(dispatchOrder);
+ }
+
+ /**
+ * 淇敼璋冨害鍗昜鎵归噺]
+ *
+ * @param dispatchOrders 璋冨害鍗�
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateDispatchOrderBatch(List<DispatchOrder> dispatchOrders){
+ return dispatchOrderMapper.updateDispatchOrderBatch(dispatchOrders);
+ }
+
+ /**
+ * 鍒犻櫎璋冨害鍗曞璞�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteDispatchOrderByIds(String ids)
+ {
+ return deleteDispatchOrderByIds(Convert.toIntArray(ids));
+ }
+
+ /**
+ * 鍒犻櫎璋冨害鍗曞璞�
+ *
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteDispatchOrderByIds(Integer[] ids)
+ {
+ return dispatchOrderMapper.deleteDispatchOrderByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎璋冨害鍗曚俊鎭�
+ *
+ * @param id 璋冨害鍗旾D
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteDispatchOrderById(Integer id)
+ {
+ return dispatchOrderMapper.deleteDispatchOrderById(id);
+ }
+}
diff --git a/service/src/main/resources/mapper/cwgl/DispatchOrderMapper.xml b/service/src/main/resources/mapper/cwgl/DispatchOrderMapper.xml
new file mode 100644
index 0000000..c5218ba
--- /dev/null
+++ b/service/src/main/resources/mapper/cwgl/DispatchOrderMapper.xml
@@ -0,0 +1,242 @@
+<?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.ruoyi.cwgl.mapper.DispatchOrderMapper">
+
+ <resultMap type="com.ruoyi.cwgl.domain.DispatchOrder" id="DispatchOrderResult">
+ <result property="id" column="id" />
+ <result property="dispatchNo" column="dispatch_no" />
+ <result property="transportMode" column="transport_mode" />
+ <result property="productName" column="product_name" />
+ <result property="carrierName" column="carrier_name" />
+ <result property="departureLocationName" column="departure_location_name" />
+ <result property="arrivalLocationName" column="arrival_location_name" />
+ <result property="licensePlateNumber" column="license_plate_number" />
+ <result property="vehiclePlateId" column="vehicle_plate_id" />
+ <result property="mainDriverName" column="main_driver_name" />
+ <result property="assistantDriverName" column="assistant_driver_name" />
+ <result property="pointNum" column="point_num" />
+ <result property="quantity" column="quantity" />
+ <result property="actualDepartureTime" column="actual_departure_time" />
+ <result property="requiredArrivalTime" column="required_arrival_time" />
+ <result property="actualArrivalTime" column="actual_arrival_time" />
+ <result property="beReturn" column="be_return" />
+ <result property="dispatchQuantity" column="dispatch_quantity" />
+ <result property="dispatchWeight" column="dispatch_weight" />
+ <result property="dispatchVolume" column="dispatch_volume" />
+ <result property="status" column="status" />
+ <result property="remark" column="remark" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="isDeleted" column="is_deleted" />
+ </resultMap>
+
+ <sql id="selectDispatchOrderVo">
+ select thisTab.id, thisTab.dispatch_no, thisTab.transport_mode, thisTab.product_name, thisTab.carrier_name, thisTab.departure_location_name, thisTab.arrival_location_name, thisTab.license_plate_number, thisTab.vehicle_plate_id, thisTab.main_driver_name, thisTab.assistant_driver_name, thisTab.point_num, thisTab.quantity, thisTab.actual_departure_time, thisTab.required_arrival_time, thisTab.actual_arrival_time, thisTab.be_return, thisTab.dispatch_quantity, thisTab.dispatch_weight, thisTab.dispatch_volume, thisTab.status, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.is_deleted from dispatch_order AS thisTab
+ </sql>
+ <sql id="selectDispatchOrderVoCount">
+ select count(0) from dispatch_order as thisTab
+ </sql>
+
+ <sql id="whereCondition">
+ <if test="dispatchNo != null and dispatchNo != ''"> and thisTab.dispatch_no = #{dispatchNo}</if>
+ <if test="transportMode != null and transportMode != ''"> and thisTab.transport_mode = #{transportMode}</if>
+ <if test="productName != null and productName != ''"> and thisTab.product_name like concat('%', #{productName}, '%')</if>
+ <if test="carrierName != null and carrierName != ''"> and thisTab.carrier_name like concat('%', #{carrierName}, '%')</if>
+ <if test="departureLocationName != null and departureLocationName != ''"> and thisTab.departure_location_name like concat('%', #{departureLocationName}, '%')</if>
+ <if test="arrivalLocationName != null and arrivalLocationName != ''"> and thisTab.arrival_location_name like concat('%', #{arrivalLocationName}, '%')</if>
+ <if test="licensePlateNumber != null and licensePlateNumber != ''"> and thisTab.license_plate_number = #{licensePlateNumber}</if>
+ <if test="vehiclePlateId != null and vehiclePlateId != ''"> and thisTab.vehicle_plate_id = #{vehiclePlateId}</if>
+ <if test="mainDriverName != null and mainDriverName != ''"> and thisTab.main_driver_name like concat('%', #{mainDriverName}, '%')</if>
+ <if test="assistantDriverName != null and assistantDriverName != ''"> and thisTab.assistant_driver_name like concat('%', #{assistantDriverName}, '%')</if>
+ <if test="pointNum != null "> and thisTab.point_num = #{pointNum}</if>
+ <if test="quantity != null "> and thisTab.quantity = #{quantity}</if>
+ <if test="actualDepartureTime != null "> and thisTab.actual_departure_time = #{actualDepartureTime}</if>
+ <if test="requiredArrivalTime != null "> and thisTab.required_arrival_time = #{requiredArrivalTime}</if>
+ <if test="actualArrivalTime != null "> and thisTab.actual_arrival_time = #{actualArrivalTime}</if>
+ <if test="beReturn != null and beReturn != ''"> and thisTab.be_return = #{beReturn}</if>
+ <if test="dispatchQuantity != null "> and thisTab.dispatch_quantity = #{dispatchQuantity}</if>
+ <if test="dispatchWeight != null "> and thisTab.dispatch_weight = #{dispatchWeight}</if>
+ <if test="dispatchVolume != null "> and thisTab.dispatch_volume = #{dispatchVolume}</if>
+ <if test="status != null and status != ''"> and thisTab.status = #{status}</if>
+ <if test="isDeleted != null "> and thisTab.is_deleted = #{isDeleted}</if>
+ </sql>
+
+ <!--鏌ヨ-->
+ <select id="selectDispatchOrderById" parameterType="Integer" resultMap="DispatchOrderResult">
+ <include refid="selectDispatchOrderVo"/>
+ where id = #{id}
+ </select>
+
+ <select id="selectDispatchOrderCount" parameterType="com.ruoyi.cwgl.domain.DispatchOrder" resultType="int">
+ <include refid="selectDispatchOrderVoCount"/>
+ <where>
+ <include refid="whereCondition"/>
+ </where>
+ </select>
+
+ <select id="selectDispatchOrderList" parameterType="com.ruoyi.cwgl.domain.DispatchOrder" resultMap="DispatchOrderResult">
+ <include refid="selectDispatchOrderVo"/>
+ <where>
+ <include refid="whereCondition"/>
+ </where>
+ order by thisTab.id desc
+ </select>
+
+ <!-- 鏂板 -->
+ <insert id="insertDispatchOrder" parameterType="com.ruoyi.cwgl.domain.DispatchOrder" useGeneratedKeys="true" keyProperty="id">
+ insert into dispatch_order
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="dispatchNo != null and dispatchNo != ''">dispatch_no,</if>
+ <if test="transportMode != null">transport_mode,</if>
+ <if test="productName != null">product_name,</if>
+ <if test="carrierName != null">carrier_name,</if>
+ <if test="departureLocationName != null">departure_location_name,</if>
+ <if test="arrivalLocationName != null">arrival_location_name,</if>
+ <if test="licensePlateNumber != null">license_plate_number,</if>
+ <if test="vehiclePlateId != null">vehicle_plate_id,</if>
+ <if test="mainDriverName != null">main_driver_name,</if>
+ <if test="assistantDriverName != null">assistant_driver_name,</if>
+ <if test="pointNum != null">point_num,</if>
+ <if test="quantity != null">quantity,</if>
+ <if test="actualDepartureTime != null">actual_departure_time,</if>
+ <if test="requiredArrivalTime != null">required_arrival_time,</if>
+ <if test="actualArrivalTime != null">actual_arrival_time,</if>
+ <if test="beReturn != null">be_return,</if>
+ <if test="dispatchQuantity != null">dispatch_quantity,</if>
+ <if test="dispatchWeight != null">dispatch_weight,</if>
+ <if test="dispatchVolume != null">dispatch_volume,</if>
+ <if test="status != null">status,</if>
+ <if test="remark != null">remark,</if>
+ <if test="createBy != null">create_by,</if>
+ <if test="createTime != null">create_time,</if>
+ <if test="updateBy != null">update_by,</if>
+ <if test="updateTime != null">update_time,</if>
+ <if test="isDeleted != null">is_deleted,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="dispatchNo != null and dispatchNo != ''">#{dispatchNo},</if>
+ <if test="transportMode != null">#{transportMode},</if>
+ <if test="productName != null">#{productName},</if>
+ <if test="carrierName != null">#{carrierName},</if>
+ <if test="departureLocationName != null">#{departureLocationName},</if>
+ <if test="arrivalLocationName != null">#{arrivalLocationName},</if>
+ <if test="licensePlateNumber != null">#{licensePlateNumber},</if>
+ <if test="vehiclePlateId != null">#{vehiclePlateId},</if>
+ <if test="mainDriverName != null">#{mainDriverName},</if>
+ <if test="assistantDriverName != null">#{assistantDriverName},</if>
+ <if test="pointNum != null">#{pointNum},</if>
+ <if test="quantity != null">#{quantity},</if>
+ <if test="actualDepartureTime != null">#{actualDepartureTime},</if>
+ <if test="requiredArrivalTime != null">#{requiredArrivalTime},</if>
+ <if test="actualArrivalTime != null">#{actualArrivalTime},</if>
+ <if test="beReturn != null">#{beReturn},</if>
+ <if test="dispatchQuantity != null">#{dispatchQuantity},</if>
+ <if test="dispatchWeight != null">#{dispatchWeight},</if>
+ <if test="dispatchVolume != null">#{dispatchVolume},</if>
+ <if test="status != null">#{status},</if>
+ <if test="remark != null">#{remark},</if>
+ <if test="createBy != null">#{createBy},</if>
+ <if test="createTime != null">#{createTime},</if>
+ <if test="updateBy != null">#{updateBy},</if>
+ <if test="updateTime != null">#{updateTime},</if>
+ <if test="isDeleted != null">#{isDeleted},</if>
+ </trim>
+ </insert>
+
+ <insert id="insertDispatchOrderBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
+ insert into dispatch_order
+ <trim prefix="(" suffix=") values" suffixOverrides=",">
+ id,dispatch_no,transport_mode,product_name,carrier_name,departure_location_name,arrival_location_name,license_plate_number,vehicle_plate_id,main_driver_name,assistant_driver_name,point_num,quantity,actual_departure_time,required_arrival_time,actual_arrival_time,be_return,dispatch_quantity,dispatch_weight,dispatch_volume,status,remark,create_by,create_time,update_by,update_time,is_deleted,
+ </trim>
+ <foreach item="item" index="index" collection="list" separator=",">
+ <trim prefix="(" suffix=") " suffixOverrides=",">
+ #{item.id},#{item.dispatchNo},#{item.transportMode},#{item.productName},#{item.carrierName},#{item.departureLocationName},#{item.arrivalLocationName},#{item.licensePlateNumber},#{item.vehiclePlateId},#{item.mainDriverName},#{item.assistantDriverName},#{item.pointNum},#{item.quantity},#{item.actualDepartureTime},#{item.requiredArrivalTime},#{item.actualArrivalTime},#{item.beReturn},#{item.dispatchQuantity},#{item.dispatchWeight},#{item.dispatchVolume},#{item.status},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.isDeleted},
+ </trim>
+ </foreach>
+ </insert>
+
+ <!-- 淇敼 -->
+ <update id="updateDispatchOrder" parameterType="com.ruoyi.cwgl.domain.DispatchOrder">
+ update dispatch_order
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="dispatchNo != null and dispatchNo != ''">dispatch_no = #{dispatchNo},</if>
+ <if test="transportMode != null">transport_mode = #{transportMode},</if>
+ <if test="productName != null">product_name = #{productName},</if>
+ <if test="carrierName != null">carrier_name = #{carrierName},</if>
+ <if test="departureLocationName != null">departure_location_name = #{departureLocationName},</if>
+ <if test="arrivalLocationName != null">arrival_location_name = #{arrivalLocationName},</if>
+ <if test="licensePlateNumber != null">license_plate_number = #{licensePlateNumber},</if>
+ <if test="vehiclePlateId != null">vehicle_plate_id = #{vehiclePlateId},</if>
+ <if test="mainDriverName != null">main_driver_name = #{mainDriverName},</if>
+ <if test="assistantDriverName != null">assistant_driver_name = #{assistantDriverName},</if>
+ <if test="pointNum != null">point_num = #{pointNum},</if>
+ <if test="quantity != null">quantity = #{quantity},</if>
+ <if test="actualDepartureTime != null">actual_departure_time = #{actualDepartureTime},</if>
+ <if test="requiredArrivalTime != null">required_arrival_time = #{requiredArrivalTime},</if>
+ <if test="actualArrivalTime != null">actual_arrival_time = #{actualArrivalTime},</if>
+ <if test="beReturn != null">be_return = #{beReturn},</if>
+ <if test="dispatchQuantity != null">dispatch_quantity = #{dispatchQuantity},</if>
+ <if test="dispatchWeight != null">dispatch_weight = #{dispatchWeight},</if>
+ <if test="dispatchVolume != null">dispatch_volume = #{dispatchVolume},</if>
+ <if test="status != null">status = #{status},</if>
+ <if test="remark != null">remark = #{remark},</if>
+ <if test="createBy != null">create_by = #{createBy},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="isDeleted != null">is_deleted = #{isDeleted},</if>
+ </trim>
+ where id = #{id}
+ </update>
+ <!-- 淇敼 -->
+ <update id="updateDispatchOrderBatch" parameterType="java.util.List">
+ <foreach collection="list" item="item" index="index" separator=";">
+ update dispatch_order
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.dispatchNo != null and item.dispatchNo != ''">dispatch_no = #{item.dispatchNo},</if>
+ <if test="item.transportMode != null">transport_mode = #{item.transportMode},</if>
+ <if test="item.productName != null">product_name = #{item.productName},</if>
+ <if test="item.carrierName != null">carrier_name = #{item.carrierName},</if>
+ <if test="item.departureLocationName != null">departure_location_name = #{item.departureLocationName},</if>
+ <if test="item.arrivalLocationName != null">arrival_location_name = #{item.arrivalLocationName},</if>
+ <if test="item.licensePlateNumber != null">license_plate_number = #{item.licensePlateNumber},</if>
+ <if test="item.vehiclePlateId != null">vehicle_plate_id = #{item.vehiclePlateId},</if>
+ <if test="item.mainDriverName != null">main_driver_name = #{item.mainDriverName},</if>
+ <if test="item.assistantDriverName != null">assistant_driver_name = #{item.assistantDriverName},</if>
+ <if test="item.pointNum != null">point_num = #{item.pointNum},</if>
+ <if test="item.quantity != null">quantity = #{item.quantity},</if>
+ <if test="item.actualDepartureTime != null">actual_departure_time = #{item.actualDepartureTime},</if>
+ <if test="item.requiredArrivalTime != null">required_arrival_time = #{item.requiredArrivalTime},</if>
+ <if test="item.actualArrivalTime != null">actual_arrival_time = #{item.actualArrivalTime},</if>
+ <if test="item.beReturn != null">be_return = #{item.beReturn},</if>
+ <if test="item.dispatchQuantity != null">dispatch_quantity = #{item.dispatchQuantity},</if>
+ <if test="item.dispatchWeight != null">dispatch_weight = #{item.dispatchWeight},</if>
+ <if test="item.dispatchVolume != null">dispatch_volume = #{item.dispatchVolume},</if>
+ <if test="item.status != null">status = #{item.status},</if>
+ <if test="item.remark != null">remark = #{item.remark},</if>
+ <if test="item.createBy != null">create_by = #{item.createBy},</if>
+ <if test="item.createTime != null">create_time = #{item.createTime},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ <if test="item.isDeleted != null">is_deleted = #{item.isDeleted},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
+
+ <!--鍒犻櫎-->
+ <delete id="deleteDispatchOrderById" parameterType="Integer">
+ delete from dispatch_order where id = #{id}
+ </delete>
+ <delete id="deleteDispatchOrderByIds" parameterType="Integer">
+ delete from dispatch_order where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0