From befc0e5606ab7c913dda0346152a4150d0ee5f79 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 06 六月 2025 09:35:59 +0800
Subject: [PATCH] 供应商,客户优化
---
basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java | 56 +++++
basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java | 9 +
basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java | 2
basic-server/src/main/resources/db/migration/postgresql/V20250530152701__create_table_supply.sql | 35 ++-
basic-server/src/main/java/com/ruoyi/basic/dto/CustomerDto.java | 24 ++
basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java | 14 +
basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java | 15 +
basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 102 +++++++++++
basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java | 187 ++++++++++----------
basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java | 15 +
basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java | 3
basic-server/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql | 22 +-
main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java | 1
13 files changed, 361 insertions(+), 124 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
index 3ed0e81..4a9b8b5 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
@@ -1,12 +1,20 @@
package com.ruoyi.basic.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.CustomerDto;
+import com.ruoyi.basic.entity.Customer;
+import com.ruoyi.basic.service.CustomerService;
+import com.ruoyi.common.core.domain.R;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 瀹㈡埛淇℃伅 鍓嶇鎺у埗鍣�
* </p>
*
* @author ruoyi
@@ -18,4 +26,46 @@
@RequestMapping("/customer")
public class CustomerController {
+ private CustomerService customerService;
+
+ /**
+ * 鏌ヨ
+ */
+ @GetMapping("/list")
+ public R<IPage<Customer>> list(Page page, CustomerDto customerDto) {
+ IPage<Customer> list = customerService.selectCustomerList(page, customerDto);
+ return R.ok(list);
+ }
+
+ /**
+ * 瀹㈡埛list
+ */
+ @GetMapping("/customerList")
+ public R<List<Customer>> list() {
+ return R.ok(customerService.customerList());
+ }
+
+ /**
+ * 鏂板淇敼
+ */
+ @PostMapping("/addOrEditCustomer")
+ public R addOrEditSupply(@RequestBody CustomerDto customerDto) {
+ return R.ok(customerService.addOrEditCustomer(customerDto));
+ }
+
+ /**
+ * 鍒犻櫎
+ */
+ @DeleteMapping("/delCustomer")
+ public R remove(@RequestBody Long[] ids) {
+ return R.ok(customerService.delCustomerByIds(ids));
+ }
+
+ /**
+ * 瀹㈡埛淇℃伅瀵煎嚭
+ */
+ @PostMapping("/export")
+ public void supplierExport(HttpServletResponse response, CustomerDto customerDto) {
+ customerService.customerExport(response, customerDto);
+ }
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
index ac4b428..06a6be5 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
@@ -6,6 +6,7 @@
import com.ruoyi.basic.entity.Supply;
import com.ruoyi.basic.service.SupplyService;
import com.ruoyi.common.core.domain.R;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -60,4 +61,12 @@
return R.ok(supplyService.delSupplyByIds(ids));
}
+ /**
+ * 渚涘簲鍟嗗鍑�
+ */
+ @PostMapping("/export")
+ public void supplierExport(HttpServletResponse response, SupplyDto supplyDto) {
+ supplyService.supplyExport(response, supplyDto);
+ }
+
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/CustomerDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/CustomerDto.java
new file mode 100644
index 0000000..3aa4d94
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/CustomerDto.java
@@ -0,0 +1,24 @@
+package com.ruoyi.basic.dto;
+
+import com.ruoyi.basic.entity.Customer;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CustomerDto extends Customer {
+
+ /**
+ * 缁忚惀鍦板潃鐪佸競鍖篿ds
+ */
+ private List<Long> bids;
+
+ /**
+ * 鑱旂郴鍦板潃鐪佸競鍖篿ds
+ */
+ private List<Long> cids;
+
+ private String searchAll;
+
+ private List<Long> ids;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java
index b044e12..2629975 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java
@@ -19,4 +19,6 @@
private List<Long> cids;
private String searchAll;
+
+ private List<Long> ids;
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java b/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java
index 2a96b0b..faf057e 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java
@@ -1,105 +1,106 @@
package com.ruoyi.basic.entity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.MyBaseEntity;
import lombok.Data;
- import com.ruoyi.common.core.domain.BaseEntity;
/**
-* 瀹炰綋绫�
-*
-* @author ruoyi
-* @date 2025-06-03
-*/
+ * 瀹炰綋绫�
+ *
+ * @author ruoyi
+ * @date 2025-06-03
+ */
@Data
@TableName("customer")
public class Customer extends MyBaseEntity {
-private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- /**
- * 瀹㈡埛鍞竴鏍囪瘑锛屼富閿�
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
- /**
- * 瀹㈡埛鍚嶇О锛屼笉鑳戒负绌�
- */
- @TableField(value = "customer_name")
- private String customerName;
- /**
- * 绾崇◣浜鸿瘑鍒彿锛屼腑鍥藉ぇ闄嗕负缁熶竴绀句細淇$敤浠g爜锛屼笉鑳戒负绌�
- */
- @TableField(value = "taxpayer_id")
- private String taxpayerId;
- /**
- * 缁忚惀鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "business_province_id")
- private Long businessProvinceId;
- /**
- * 缁忚惀鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "business_city_id")
- private Long businessCityId;
- /**
- * 缁忚惀鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "business_district_id")
- private Long businessDistrictId;
- /**
- * 缁忚惀璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
- */
- @TableField(value = "business_address")
- private String businessAddress;
- /**
- * 閾惰璐︽埛鍙风爜锛岄粯璁ょ┖瀛楃涓�
- */
- @TableField(value = "bank_account")
- private String bankAccount;
- /**
- * 寮�鎴烽摱琛屽悕绉帮紝榛樿绌哄瓧绗︿覆
- */
- @TableField(value = "bank_name")
- private String bankName;
- /**
- * 瀹㈡埛鑱旂郴浜哄鍚嶏紝榛樿绌哄瓧绗︿覆
- */
- @TableField(value = "contact_person")
- private String contactPerson;
- /**
- * 鑱旂郴浜虹數璇濆彿鐮侊紝榛樿绌哄瓧绗︿覆
- */
- @TableField(value = "contact_phone")
- private String contactPhone;
- /**
- * 鑱旂郴鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "province_id")
- private Long provinceId;
- /**
- * 鑱旂郴鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "city_id")
- private Long cityId;
- /**
- * 鑱旂郴鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
- */
- @TableField(value = "district_id")
- private Long districtId;
- /**
- * 鑱旂郴璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
- */
- @TableField(value = "contact_address")
- private String contactAddress;
- /**
- * 鍒涘缓璇ヨ褰曠殑鐢ㄦ埛ID锛岄粯璁�0
- */
- @TableField(value = "create_user")
- private Long createUser;
- /**
- * 鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴稩D锛岄粯璁�0
- */
- @TableField(value = "update_user")
- private Long updateUser;
+ /**
+ * 瀹㈡埛鍞竴鏍囪瘑锛屼富閿�
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ /**
+ * 瀹㈡埛鍚嶇О锛屼笉鑳戒负绌�
+ */
+ @Excel(name = "瀹㈡埛鍚嶇О")
+ @TableField(value = "customer_name")
+ private String customerName;
+ /**
+ * 绾崇◣浜鸿瘑鍒彿锛屼腑鍥藉ぇ闄嗕负缁熶竴绀句細淇$敤浠g爜锛屼笉鑳戒负绌�
+ */
+ @Excel(name = "绾崇◣浜鸿瘑鍒彿")
+ @TableField(value = "taxpayer_id")
+ private String taxpayerId;
+ /**
+ * 缁忚惀鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "business_province_id")
+ private Long businessProvinceId;
+ /**
+ * 缁忚惀鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "business_city_id")
+ private Long businessCityId;
+ /**
+ * 缁忚惀鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "business_district_id")
+ private Long businessDistrictId;
+ /**
+ * 缁忚惀璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
+ */
+ @Excel(name = "缁忚惀璇︾粏鍦板潃")
+ @TableField(value = "business_address")
+ private String businessAddress;
+ /**
+ * 閾惰璐︽埛鍙风爜锛岄粯璁ょ┖瀛楃涓�
+ */
+ @Excel(name = "閾惰璐︽埛")
+ @TableField(value = "bank_account")
+ private String bankAccount;
+ /**
+ * 寮�鎴烽摱琛屽悕绉帮紝榛樿绌哄瓧绗︿覆
+ */
+ @Excel(name = "寮�鎴疯")
+ @TableField(value = "bank_name")
+ private String bankName;
+ /**
+ * 瀹㈡埛鑱旂郴浜哄鍚嶏紝榛樿绌哄瓧绗︿覆
+ */
+ @Excel(name = "鑱旂郴浜�")
+ @TableField(value = "contact_person")
+ private String contactPerson;
+ /**
+ * 鑱旂郴浜虹數璇濆彿鐮侊紝榛樿绌哄瓧绗︿覆
+ */
+ @Excel(name = "鑱旂郴浜虹數璇�")
+ @TableField(value = "contact_phone")
+ private String contactPhone;
+ /**
+ * 鑱旂郴鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "province_id")
+ private Long provinceId;
+ /**
+ * 鑱旂郴鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "city_id")
+ private Long cityId;
+ /**
+ * 鑱旂郴鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
+ */
+ @TableField(value = "district_id")
+ private Long districtId;
+ /**
+ * 鑱旂郴璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
+ */
+ @Excel(name = "鑱旂郴璇︾粏鍦板潃")
+ @TableField(value = "contact_address")
+ private String contactAddress;
}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java b/basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java
index 556a7dc..c1ea428 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java
@@ -1,6 +1,10 @@
package com.ruoyi.basic.entity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.MyBaseEntity;
import lombok.Data;
@@ -25,42 +29,50 @@
* 渚涘簲鍟嗗叏绉帮紝涓氬姟鍦烘櫙涓敮涓�璇嗗埆鐨勫悕绉帮紝
*/
@TableField(value = "supplier_name")
+ @Excel(name = "渚涘簲鍟�")
private String supplierName;
/**
* 渚涘簲鍟嗙◣鍔$櫥璁板敮涓�鏍囪瘑锛堝缁熶竴绀句細淇$敤浠g爜锛夛紝鐢ㄤ簬璐㈢◣绠$悊
*/
@TableField(value = "taxpayer_id")
+ @Excel(name = "绋庡彿")
private String taxpayerId;
/**
* 渚涘簲鍟嗚惀涓氭墽鐓ф敞鍐屽湴鍧�鎴栦富瑕佺粡钀ュ満鎵�锛岄粯璁ょ┖瀛楃涓�
*/
@TableField(value = "business_address")
+ @Excel(name = "娉ㄥ唽鍦板潃")
private String businessAddress;
/**
* 渚涘簲鍟嗘敹娆鹃摱琛岃处鎴蜂俊鎭紝榛樿绌哄瓧绗︿覆锛岀敤浜庤祫閲戝線鏉�
*/
@TableField(value = "bank_account")
+ @Excel(name = "閾惰璐︽埛")
private String bankAccount;
/**
* 渚涘簲鍟嗛摱琛岃处鎴风殑寮�鎴锋満鏋勫悕绉帮紝榛樿绌哄瓧绗︿覆锛�
*/
@TableField(value = "bank_name")
+ @Excel(name = "閾惰璐︽埛")
private String bankName;
/**
* 渚涘簲鍟嗕笟鍔″鎺ヤ汉濮撳悕
*/
@TableField(value = "contact_person")
+ @Excel(name = "鑱旂郴浜�")
private String contactPerson;
/**
* 渚涘簲鍟嗚仈绯讳汉鐨勮仈绯诲湴鍧�
*/
@TableField(value = "contact_address")
+ @Excel(name = "鑱旂郴鍦板潃")
private String contactAddress;
/**
* 鑱旂郴浜虹殑鐢佃瘽
*/
@TableField(value = "contact_phone")
+ @Excel(name = "鑱旂郴鐢佃瘽")
private String contactPhone;
/**
* 渚涘簲鍟嗘墍鍦ㄧ渷浠界殑ID锛堝叧鑱斿湴鍧�瀛楀吀琛級锛岄粯璁�0
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java
index 3d3985b..671db62 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java
@@ -1,7 +1,13 @@
package com.ruoyi.basic.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.basic.dto.CustomerDto;
import com.ruoyi.basic.entity.Customer;
+import jakarta.servlet.http.HttpServletResponse;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +19,13 @@
*/
public interface CustomerService extends IService<Customer> {
+ IPage<Customer> selectCustomerList(Page page, CustomerDto customerDto);
+
+ List<Customer> customerList();
+
+ int addOrEditCustomer(CustomerDto customerDto);
+
+ int delCustomerByIds(Long[] ids);
+
+ void customerExport(HttpServletResponse response, CustomerDto customerDto);
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java b/basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java
index 77cfe64..32dc581 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.SupplyDto;
import com.ruoyi.basic.entity.Supply;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@@ -25,4 +26,6 @@
int delSupplyByIds(Long[] ids);
List<Supply> supplyList();
+
+ void supplyExport(HttpServletResponse response, SupplyDto supplyDto);
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index dc873b3..2186ae5 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -1,11 +1,23 @@
package com.ruoyi.basic.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.CustomerDto;
import com.ruoyi.basic.entity.Customer;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.service.CustomerService;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+import java.util.Objects;
/**
* <p>
@@ -18,5 +30,95 @@
@Service
@RequiredArgsConstructor
public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements CustomerService {
+
+ private final CustomerMapper customerMapper;
+ @Override
+ public IPage<Customer> selectCustomerList(Page page, CustomerDto customerDto) {
+ LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<>();
+ // 鍏ㄥ眬妯$硦鎼滅储瀛楁
+ if (StringUtils.hasText(customerDto.getSearchAll())) {
+ String keyword = customerDto.getSearchAll();
+ queryWrapper.and(wrapper -> wrapper
+ .like(Customer::getCustomerName, keyword)
+ .or()
+ .like(Customer::getTaxpayerId, keyword)
+ .or()
+ .like(Customer::getBusinessAddress, keyword)
+ );
+ } else {
+ // 鍗曠嫭鏉′欢鏌ヨ
+ if (StringUtils.hasText(customerDto.getCustomerName())) {
+ queryWrapper.like(Customer::getCustomerName, customerDto.getCustomerName());
+ }
+ if (StringUtils.hasText(customerDto.getTaxpayerId())) {
+ queryWrapper.like(Customer::getTaxpayerId, customerDto.getTaxpayerId());
+ }
+ if (StringUtils.hasText(customerDto.getBusinessAddress())) {
+ queryWrapper.like(Customer::getBusinessAddress, customerDto.getBusinessAddress());
+ }
+ }
+ // 榛樿鎸夊垱寤烘椂闂村�掑簭鎺掑垪
+ queryWrapper.orderByDesc(Customer::getCreateTime);
+ return customerMapper.selectPage(page, queryWrapper);
+ }
+
+ @Override
+ public List<Customer> customerList() {
+ return customerMapper.selectList(null);
+ }
+
+ @Override
+ public int addOrEditCustomer(CustomerDto customerDto) {
+ Customer customer = new Customer();
+ BeanUtils.copyProperties(customerDto, customer);
+ if (customerDto.getBids().size() != 3) {
+ throw new RuntimeException("璇烽�夋嫨缁忚惀鍦板潃鐪佸競鍖�");
+ }
+
+ if (customerDto.getCids().size() != 3) {
+ throw new RuntimeException("璇烽�夋嫨鑱旂郴鍦板潃鐪佸競鍖�");
+ }
+
+ customer.setBusinessProvinceId(customerDto.getBids().get(0));
+ customer.setBusinessCityId(customerDto.getBids().get(1));
+ customer.setBusinessDistrictId(customerDto.getBids().get(2));
+
+ customer.setProvinceId(customerDto.getCids().get(0));
+ customer.setCityId(customerDto.getCids().get(1));
+ customer.setDistrictId(customerDto.getCids().get(2));
+
+ if (Objects.isNull(customerDto.getId())) {
+ return customerMapper.insert(customer);
+ } else {
+ return customerMapper.updateById(customer);
+ }
+ }
+
+ @Override
+ public int delCustomerByIds(Long[] ids) {
+ // 妫�鏌ュ弬鏁�
+ if (ids == null || ids.length == 0) {
+ return 0;
+ }
+ // 鏋勯�犳洿鏂版潯浠�
+ UpdateWrapper<Customer> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.in("id", ids)
+ .set("deleted", 1); // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄�
+ // 鎵ц鎵归噺閫昏緫鍒犻櫎
+ return customerMapper.update(null, updateWrapper);
+ }
+
+ @Override
+ public void customerExport(HttpServletResponse response, CustomerDto customerDto) {
+ List<Long> ids = customerDto.getIds();
+ List<Customer> list;
+ if (ids != null && ids.size() > 0) {
+ list = customerMapper.selectByIds(ids);
+ } else {
+ list = customerMapper.selectList(null);
+ }
+ ExcelUtil<Customer> util = new ExcelUtil<>(Customer.class);
+ util.exportExcel(response, list, "瀹㈡埛鏁版嵁");
+ }
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java
index 9946698..fdf4c45 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java
@@ -10,6 +10,8 @@
import com.ruoyi.basic.mapper.SupplyMapper;
import com.ruoyi.basic.service.SupplyService;
import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -104,6 +106,19 @@
}
@Override
+ public void supplyExport(HttpServletResponse response, SupplyDto supplyDto) {
+ List<Long> ids = supplyDto.getIds();
+ List<Supply> list;
+ if (ids != null && ids.size() > 0) {
+ list = supplyMapper.selectByIds(ids);
+ } else {
+ list = supplyMapper.selectList(null);
+ }
+ ExcelUtil<Supply> util = new ExcelUtil<>(Supply.class);
+ util.exportExcel(response, list, "渚涘簲鍟嗘暟鎹�");
+ }
+
+ @Override
public List<Supply> supplyList() {
return supplyMapper.selectList(null);
}
diff --git a/basic-server/src/main/resources/db/migration/postgresql/V20250530152701__create_table_supply.sql b/basic-server/src/main/resources/db/migration/postgresql/V20250530152701__create_table_supply.sql
index 314bed4..5b006fb 100644
--- a/basic-server/src/main/resources/db/migration/postgresql/V20250530152701__create_table_supply.sql
+++ b/basic-server/src/main/resources/db/migration/postgresql/V20250530152701__create_table_supply.sql
@@ -3,24 +3,25 @@
CREATE TABLE supply
(
id BIGSERIAL PRIMARY KEY,
- supplier_name VARCHAR(255) NOT NULL, -- 渚涘簲鍟嗗悕绉�
- taxpayer_id VARCHAR(255) NOT NULL, -- 绾崇◣浜鸿瘑鍒彿
- business_address VARCHAR(255) NOT NULL DEFAULT '', -- 缁忚惀鍦板潃
- bank_account VARCHAR(255) NOT NULL DEFAULT '', -- 閾惰璐﹀彿
- bank_name VARCHAR(255) NOT NULL DEFAULT '', -- 寮�鎴疯
- contact_person VARCHAR(255) NOT NULL DEFAULT '', -- 鑱旂郴浜�
- contact_address VARCHAR(255) NOT NULL DEFAULT '', -- 鑱旂郴鍦板潃
- b_province_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃鐪乮d
- b_city_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃甯俰d
- b_district_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃鍖篿d
- c_province_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃鐪乮d
- c_city_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃甯俰d
- c_district_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃鍖篿d
- deleted int4 NOT NULL DEFAULT 0, -- 鏄惁鍒犻櫎锛堣蒋鍒犻櫎鏍囧織锛�
- create_by VARCHAR(255), -- 鍒涘缓浜�
+ supplier_name VARCHAR(255) NOT NULL, -- 渚涘簲鍟嗗悕绉�
+ taxpayer_id VARCHAR(255) NOT NULL, -- 绾崇◣浜鸿瘑鍒彿
+ business_address VARCHAR(255) NOT NULL DEFAULT '', -- 缁忚惀鍦板潃
+ bank_account VARCHAR(255) NOT NULL DEFAULT '', -- 閾惰璐﹀彿
+ bank_name VARCHAR(255) NOT NULL DEFAULT '', -- 寮�鎴疯
+ contact_person VARCHAR(255) NOT NULL DEFAULT '', -- 鑱旂郴浜�
+ contact_address VARCHAR(255) NOT NULL DEFAULT '', -- 鑱旂郴鍦板潃
+ b_province_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃鐪乮d
+ b_city_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃甯俰d
+ b_district_id BIGINT NOT NULL DEFAULT 0, -- 缁忚惀鍦板潃鍖篿d
+ c_province_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃鐪乮d
+ c_city_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃甯俰d
+ c_district_id BIGINT NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃鍖篿d
+ deleted int4 NOT NULL DEFAULT 0, -- 鏄惁鍒犻櫎锛堣蒋鍒犻櫎鏍囧織锛�
+ create_by VARCHAR(255), -- 鍒涘缓浜�
create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
- update_by VARCHAR(255), -- 鏈�鍚庢洿鏂颁汉
- update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+ update_by VARCHAR(255), -- 鏈�鍚庢洿鏂颁汉
+ update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+ contact_phone VARCHAR(255) -- 鑱旂郴浜虹數璇�
);
-- 琛ㄦ敞閲婏細渚涘簲鍟嗕俊鎭〃锛屽瓨鍌ㄤ緵搴斿晢鍩烘湰淇℃伅锛堝惈鍦板潃灞傜骇鍏宠仈锛�
diff --git a/basic-server/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql b/basic-server/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql
index 6abc76d..f99ebd3 100644
--- a/basic-server/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql
+++ b/basic-server/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql
@@ -17,11 +17,12 @@
city_id INT8 NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃甯�
district_id INT8 NOT NULL DEFAULT 0, -- 鑱旂郴鍦板潃鍖�
contact_address VARCHAR(255) NOT NULL DEFAULT '', -- 鑱旂郴璇︾粏鍦板潃
- create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,-- 鍒涘缓鏃堕棿
- update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,-- 淇敼鏃堕棿
- create_user INT8 NOT NULL , -- 鍒涘缓鐢ㄦ埛
- update_user INT8 NOT NULL , -- 淇敼鐢ㄦ埛
- deleted INT2 NOT NULL DEFAULT 0 -- 鍒犻櫎鏍囪 0鏈垹闄� 1宸插垹闄�
+
+ deleted INT NOT NULL DEFAULT 0, -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄�
+ create_by VARCHAR(255), -- 鍒涘缓浜虹敤鎴峰悕
+ create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+ update_by VARCHAR(255), -- 鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�
+ update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
);
COMMENT ON COLUMN customer.id IS '瀹㈡埛鍞竴鏍囪瘑锛屼富閿�';
@@ -39,9 +40,10 @@
COMMENT ON COLUMN customer.city_id IS '鑱旂郴鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0';
COMMENT ON COLUMN customer.district_id IS '鑱旂郴鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0';
COMMENT ON COLUMN customer.contact_address IS '鑱旂郴璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�';
-COMMENT ON COLUMN customer.create_time IS '璁板綍鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�';
-COMMENT ON COLUMN customer.update_time IS '璁板綍鏈�鍚庝慨鏀规椂闂达紝榛樿褰撳墠鏃堕棿';
-COMMENT ON COLUMN customer.create_user IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛ID锛岄粯璁�0';
-COMMENT ON COLUMN customer.update_user IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴稩D锛岄粯璁�0';
-COMMENT ON COLUMN customer.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
+-- 鏂板瀛楁鐨勬敞閲�
+COMMENT ON COLUMN customer.deleted IS '杞垹闄ゆ爣蹇楋紝true琛ㄧず宸插垹闄�';
+COMMENT ON COLUMN customer.create_by IS '鍒涘缓浜虹敤鎴峰悕';
+COMMENT ON COLUMN customer.create_time IS '璁板綍鍒涘缓鏃堕棿';
+COMMENT ON COLUMN customer.update_by IS '鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�';
+COMMENT ON COLUMN customer.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�';
diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
index 2e87119..642cfea 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
@@ -41,6 +41,7 @@
public int addOrEditPR(PurchaseRegistrationDto purchaseRegistrationDto) {
PurchaseRegistration purchaseRegistration = new PurchaseRegistration();
BeanUtils.copyProperties(purchaseRegistrationDto,purchaseRegistration);
+
if (Objects.isNull(purchaseRegistrationDto.getId())) {
return purchaseRegistrationMapper.insert(purchaseRegistration);
} else {
--
Gitblit v1.9.3