From cd4fcbc4243ef3e4824f8ea4ac43f02a8902fae9 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 30 一月 2026 16:59:54 +0800
Subject: [PATCH] 仓储物流(运费结算)
---
src/main/java/com/ruoyi/fakeWarehousing/service/FakeFreightSettlementService.java | 14 ++
src/main/java/com/ruoyi/fakeWarehousing/controller/FakeDeliveryTrackController.java | 6
src/main/java/com/ruoyi/fakeWarehousing/pojo/FakeFreightSettlement.java | 110 ++++++++++++++++++++++
src/main/java/com/ruoyi/fakeWarehousing/controller/FakeFreightSettlementController.java | 92 ++++++++++++++++++
src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeFreightSettlementServiceImpl.java | 39 +++++++
src/main/resources/mapper/fakeWarehousing/FakeFreightSettlementMapper.xml | 20 ++++
src/main/java/com/ruoyi/fakeWarehousing/mapper/FakeFreightSettlementMapper.java | 11 ++
7 files changed, 289 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeDeliveryTrackController.java b/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeDeliveryTrackController.java
index 6decb30..9309b81 100644
--- a/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeDeliveryTrackController.java
+++ b/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeDeliveryTrackController.java
@@ -10,9 +10,9 @@
import com.ruoyi.framework.web.domain.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
import java.util.Arrays;
/**
@@ -21,11 +21,11 @@
*/
@Api(tags = "鍙戣揣璺熻釜绠$悊鎺ュ彛")
@RestController
+@RequiredArgsConstructor
@RequestMapping("/fakeWarehousing/deliveryTrack")
public class FakeDeliveryTrackController {
- @Resource
- private IFakeDeliveryTrackService fakeDeliveryTrackService;
+ private final IFakeDeliveryTrackService fakeDeliveryTrackService;
/**
* 鍒嗛〉鏌ヨ鍙戣揣璺熻釜鍒楄〃
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeFreightSettlementController.java b/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeFreightSettlementController.java
new file mode 100644
index 0000000..a99623a
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/controller/FakeFreightSettlementController.java
@@ -0,0 +1,92 @@
+package com.ruoyi.fakeWarehousing.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.fakeWarehousing.pojo.FakeFreightSettlement;
+import com.ruoyi.fakeWarehousing.service.FakeFreightSettlementService;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.domain.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+
+/**
+ * 杩愯垂缁撶畻鍗曟帶鍒跺櫒
+ * 閫傞厤妗嗘灦缁熶竴杩斿洖R銆両Page鍒嗛〉銆佹瀯閫犲櫒娉ㄥ叆绛夎鑼�
+ *
+ * @author ruoyi
+ * @date 2026-01-30
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/fakeWarehousing/freightSettlement")
+@Api(tags = "杩愯垂缁撶畻鍗曠鐞�")
+public class FakeFreightSettlementController {
+
+ private final FakeFreightSettlementService fakeFreightSettlementService;
+
+ /**
+ * 鍒嗛〉鏌ヨ杩愯垂缁撶畻鍗曞垪琛�
+ *
+ * @param page 鍒嗛〉鍙傛暟
+ * @param settlement 鏌ヨ鏉′欢
+ * @return 鍒嗛〉缁撴灉
+ */
+ @GetMapping("/list")
+ @ApiOperation(value = "鍒嗛〉鏌ヨ杩愯垂缁撶畻鍗曞垪琛�", notes = "鍒嗛〉鏌ヨ杩愯垂缁撶畻鍗曞垪琛紝鏀寔澶氭潯浠舵ā绯婃煡璇�")
+ public IPage<FakeFreightSettlement> list(Page<FakeFreightSettlement> page, FakeFreightSettlement settlement) {
+ return fakeFreightSettlementService.selectFakeFreightSettlementPage(page, settlement);
+ }
+
+ /**
+ * 鏍规嵁缁撶畻ID鏌ヨ
+ *
+ * @param
+ * @return 缁撶畻鍗曡鎯�
+ */
+ @GetMapping("/{id}")
+ @ApiOperation(value = "鏍规嵁缁撶畻ID鏌ヨ", notes = "鏍规嵁缁撶畻ID鏌ヨ")
+ public R<FakeFreightSettlement> getById(@PathVariable Long id) {
+ return R.ok(fakeFreightSettlementService.getById(id));
+ }
+
+ /**
+ * 鏂板杩愯垂缁撶畻鍗�
+ *
+ * @param settlement 缁撶畻鍗曞疄浣擄紙鍚壙杩愬晢銆佸彂绁ㄧ瓑鏍稿績瀛楁锛�
+ * @return 鎿嶄綔缁撴灉
+ */
+ @Log(title = "鏂板杩愯垂缁撶畻鍗�", businessType = BusinessType.INSERT)
+ @PostMapping
+ @ApiOperation(value = "鏂板杩愯垂缁撶畻鍗�", notes = "鏂板杩愯垂缁撶畻鍗曪紝鑷姩鐢熸垚缁撶畻鍗曞彿")
+ public R add(@RequestBody FakeFreightSettlement settlement) {
+ return R.ok(fakeFreightSettlementService.save(settlement));
+ }
+
+ /**
+ * 淇敼杩愯垂缁撶畻鍗�
+ *
+ * @param settlement 缁撶畻鍗曞疄浣擄紙蹇呴』鍖呭惈缁撶畻鍗曞彿锛�
+ * @return 鎿嶄綔缁撴灉
+ */
+ @Log(title = "淇敼杩愯垂缁撶畻鍗�", businessType = BusinessType.UPDATE)
+ @PutMapping
+ @ApiOperation(value = "淇敼杩愯垂缁撶畻鍗�", notes = "淇敼杩愯垂缁撶畻鍗曪紝浠呭緟缁撶畻鐘舵�佸彲缂栬緫")
+ public R edit(@RequestBody FakeFreightSettlement settlement) {
+ return R.ok(fakeFreightSettlementService.updateById(settlement));
+ }
+
+ /**
+ * 鍒犻櫎杩愯垂缁撶畻鍗曪紙鏀寔鍗曟潯/澶氭潯鍒犻櫎锛�
+ */
+ @Log(title = "鍒犻櫎杩愯垂缁撶畻鍗�", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ @ApiOperation(value = "鍒犻櫎杩愯垂缁撶畻鍗�", notes = "鍒犻櫎杩愯垂缁撶畻鍗曪紙鏀寔鍗曟潯/澶氭潯锛夛紝浠呭緟缁撶畻鐘舵�佸彲鍒犻櫎")
+ public R remove(@PathVariable Long[] ids) {
+ return R.ok(fakeFreightSettlementService.removeByIds(Arrays.asList(ids)));
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/mapper/FakeFreightSettlementMapper.java b/src/main/java/com/ruoyi/fakeWarehousing/mapper/FakeFreightSettlementMapper.java
new file mode 100644
index 0000000..91a05cd
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/mapper/FakeFreightSettlementMapper.java
@@ -0,0 +1,11 @@
+package com.ruoyi.fakeWarehousing.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.fakeWarehousing.pojo.FakeFreightSettlement;
+
+/**
+ * 杩愯垂缁撶畻鍗昅apper鎺ュ彛
+ */
+public interface FakeFreightSettlementMapper extends BaseMapper<FakeFreightSettlement> {
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/pojo/FakeFreightSettlement.java b/src/main/java/com/ruoyi/fakeWarehousing/pojo/FakeFreightSettlement.java
new file mode 100644
index 0000000..e206dbe
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/pojo/FakeFreightSettlement.java
@@ -0,0 +1,110 @@
+package com.ruoyi.fakeWarehousing.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 杩愯垂缁撶畻鍗�
+ */
+@Data
+@TableName("fake_freight_settle")
+public class FakeFreightSettlement implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 缁撶畻鍗旾D锛堜富閿級
+ */
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "缁撶畻鍗旾D")
+ private Long id;
+
+ /**
+ * 缁撶畻鍗曞彿锛堜笟鍔″敮涓�鏍囪瘑锛�
+ */
+ @ApiModelProperty(value = "缁撶畻鍗曞彿")
+ private String settleNo;
+
+ // -------- 鎵胯繍鍟嗕俊鎭� --------
+ /**
+ * 鎵胯繍鍟嗗悕绉�
+ */
+ @ApiModelProperty(value = "鎵胯繍鍟嗗悕绉�")
+ private String carrierName;
+
+ // -------- 鍙戠エ淇℃伅 --------
+ /**
+ * 鍙戠エ鍙风爜
+ */
+ @ApiModelProperty(value = "鍙戠エ鍙风爜")
+ private String invoiceNo;
+
+ /**
+ * 鍙戠エ閲戦锛堝崟浣嶏細鍏冿紝楂樼簿搴︿繚鐣�2浣嶅皬鏁帮級
+ */
+ @ApiModelProperty(value = "鍙戠エ閲戦(鍏�)")
+ private BigDecimal invoiceAmt;
+
+ /**
+ * 寮�绁ㄦ棩鏈�
+ */
+ @ApiModelProperty(value = "寮�绁ㄦ棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private LocalDate invoiceDate;
+
+ // -------- 缁撶畻鍔炵悊 --------
+ /**
+ * 缁撶畻閲戦锛堝崟浣嶏細鍏冿紝鍚屽彂绁ㄩ噾棰�/鎸夐渶璋冩暣锛屼繚鐣�2浣嶅皬鏁帮級
+ */
+ @ApiModelProperty(value = "缁撶畻閲戦(鍏�)")
+ private BigDecimal settleAmt;
+
+ /**
+ * 缁撶畻鐘舵�侊細0-寰呯粨绠楋紝1-宸茬粨绠�
+ */
+ @ApiModelProperty(value = "缁撶畻鐘舵�侊細0-寰呯粨绠楋紝1-宸茬粨绠�")
+ private Integer status;
+
+ /**
+ * 鍒涘缓鏃堕棿锛圡yBatis-Plus鑷姩濉厖锛�
+ */
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鏃堕棿锛圡yBatis-Plus鑷姩濉厖锛�
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ private LocalDateTime updateTime;
+
+ /**
+ * 鍒涘缓鑰咃紙鑻ヤ緷妗嗘灦锛孧yBatis-Plus鑷姩濉厖锛岀敤鎴稩D锛�
+ */
+ @TableField(fill = FieldFill.INSERT)
+ @ApiModelProperty(value = "鍒涘缓鑰�", hidden = true)
+ private Integer createUser;
+
+ /**
+ * 淇敼鑰咃紙鑻ヤ緷妗嗘灦锛孧yBatis-Plus鑷姩濉厖锛岀敤鎴稩D锛�
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @ApiModelProperty(value = "淇敼鑰�", hidden = true)
+ private Integer updateUser;
+
+ /**
+ * 绉熸埛ID锛堝绉熸埛闅旂锛孧yBatis-Plus鑷姩濉厖锛�
+ */
+ @TableField(fill = FieldFill.INSERT)
+ @ApiModelProperty(value = "绉熸埛ID", hidden = true)
+ private Long tenantId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/service/FakeFreightSettlementService.java b/src/main/java/com/ruoyi/fakeWarehousing/service/FakeFreightSettlementService.java
new file mode 100644
index 0000000..c0f7952
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/service/FakeFreightSettlementService.java
@@ -0,0 +1,14 @@
+package com.ruoyi.fakeWarehousing.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.fakeWarehousing.pojo.FakeFreightSettlement;
+
+/**
+ * 杩愯垂缁撶畻鍗昐ervice鎺ュ彛
+ */
+public interface FakeFreightSettlementService extends IService<FakeFreightSettlement> {
+
+ IPage<FakeFreightSettlement> selectFakeFreightSettlementPage(Page<FakeFreightSettlement> page, FakeFreightSettlement settlement);
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeFreightSettlementServiceImpl.java b/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeFreightSettlementServiceImpl.java
new file mode 100644
index 0000000..e103786
--- /dev/null
+++ b/src/main/java/com/ruoyi/fakeWarehousing/service/impl/FakeFreightSettlementServiceImpl.java
@@ -0,0 +1,39 @@
+package com.ruoyi.fakeWarehousing.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.fakeWarehousing.mapper.FakeFreightSettlementMapper;
+import com.ruoyi.fakeWarehousing.pojo.FakeFreightSettlement;
+import com.ruoyi.fakeWarehousing.service.FakeFreightSettlementService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * 杩愯垂缁撶畻鍗昐ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2026-01-30
+ */
+@Service
+@RequiredArgsConstructor
+public class FakeFreightSettlementServiceImpl extends ServiceImpl<FakeFreightSettlementMapper, FakeFreightSettlement>
+ implements FakeFreightSettlementService {
+
+ private final FakeFreightSettlementMapper fakeFreightSettlementMapper;
+
+ @Override
+ public IPage<FakeFreightSettlement> selectFakeFreightSettlementPage(Page<FakeFreightSettlement> page, FakeFreightSettlement settlement) {
+ LambdaQueryWrapper<FakeFreightSettlement> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if (settlement != null && StringUtils.isNotBlank(settlement.getSettleNo())) {
+ lambdaQueryWrapper.like(FakeFreightSettlement::getSettleNo, settlement.getSettleNo());
+ }
+ if (settlement != null && StringUtils.isNotBlank(settlement.getCarrierName())) {
+ lambdaQueryWrapper.like(FakeFreightSettlement::getCarrierName, settlement.getCarrierName());
+ }
+ lambdaQueryWrapper.orderByDesc(FakeFreightSettlement::getCreateTime);
+ return fakeFreightSettlementMapper.selectPage(page, lambdaQueryWrapper);
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/mapper/fakeWarehousing/FakeFreightSettlementMapper.xml b/src/main/resources/mapper/fakeWarehousing/FakeFreightSettlementMapper.xml
new file mode 100644
index 0000000..6478814
--- /dev/null
+++ b/src/main/resources/mapper/fakeWarehousing/FakeFreightSettlementMapper.xml
@@ -0,0 +1,20 @@
+<?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.fakeWarehousing.mapper.FakeFreightSettlementMapper">
+
+ <resultMap type="com.ruoyi.fakeWarehousing.pojo.FakeFreightSettlement" id="FakeFreightSettlementResult">
+ <id column="id" property="id"/>
+ <result column="settle_no" property="settleNo"/>
+ <result column="carrier_name" property="carrierName"/>
+ <result column="invoice_no" property="invoiceNo"/>
+ <result column="invoice_amt" property="invoiceAmt"/>
+ <result column="invoice_date" property="invoiceDate"/>
+ <result column="settle_amt" property="settleAmt"/>
+ <result column="status" property="status"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="create_user" property="createUser"/>
+ <result column="update_user" property="updateUser"/>
+ <result column="tenant_id" property="tenantId"/>
+ </resultMap>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3