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