From 510f839b2a8703fc9faa7dc987b1421ea1716bce Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 05 三月 2026 09:50:16 +0800
Subject: [PATCH] 售后服务关联销售单号和产品
---
src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java | 17 ++++
src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceNewDto.java | 19 ++++
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 10 ++
src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java | 51 ++++++++----
src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java | 5 +
src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java | 11 --
src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java | 4 +
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java | 2
src/main/resources/mapper/sales/ShippingInfoMapper.xml | 5 +
src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java | 54 +++++++++++++
src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceExeclDto.java | 5 -
src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java | 3
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 35 ++++++++
src/main/resources/application-dev.yml | 8 +-
14 files changed, 194 insertions(+), 35 deletions(-)
diff --git a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
index fee8947..15dcfac 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
@@ -2,19 +2,19 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.aftersalesservice.dto.AfterSalesServiceDto;
+import com.ruoyi.aftersalesservice.dto.AfterSalesServiceExeclDto;
+import com.ruoyi.aftersalesservice.dto.AfterSalesServiceNewDto;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
-import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
-import com.ruoyi.purchase.dto.VatDto;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.service.ISalesLedgerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
@@ -25,6 +25,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author :yys
@@ -42,6 +43,9 @@
@Autowired
private SysUserMapper sysUserMapper;
+ @Autowired
+ private ISalesLedgerService salesLedgerService;
+
@GetMapping("/listPage")
@ApiOperation("鍞悗鏈嶅姟-鍒嗛〉鏌ヨ")
@Log(title = "鍞悗鏈嶅姟-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -57,14 +61,14 @@
Page page = new Page(-1,-1);
AfterSalesService afterSalesService = new AfterSalesService();
IPage<AfterSalesService> listPage = afterSalesServiceService.listPage(page, afterSalesService);
- List<AfterSalesServiceDto> list = new ArrayList<>();
+ List<AfterSalesServiceExeclDto> list = new ArrayList<>();
listPage.getRecords().forEach(item -> {
- AfterSalesServiceDto dto = new AfterSalesServiceDto();
+ AfterSalesServiceExeclDto dto = new AfterSalesServiceExeclDto();
BeanUtils.copyProperties(item, dto);
dto.setStatusName(item.getStatus().toString());
list.add(dto);
});
- ExcelUtil<AfterSalesServiceDto> util = new ExcelUtil<AfterSalesServiceDto>(AfterSalesServiceDto.class);
+ ExcelUtil<AfterSalesServiceExeclDto> util = new ExcelUtil<AfterSalesServiceExeclDto>(AfterSalesServiceExeclDto.class);
util.exportExcel(response, list , "鍙嶉鐧昏");
}
@@ -85,20 +89,21 @@
@PostMapping("/add")
@ApiOperation("鍞悗鏈嶅姟-鏂板")
@Log(title = "鍞悗鏈嶅姟-鏂板", businessType = BusinessType.INSERT)
- public AjaxResult add(@RequestBody AfterSalesService afterSalesService) {
- afterSalesService.setStatus(1);
- SysUser sysUser = sysUserMapper.selectUserById(afterSalesService.getCheckUserId());
- if(sysUser == null) throw new RuntimeException("瀹℃牳浜轰笉瀛樺湪");
- afterSalesService.setCheckNickName(sysUser.getNickName());
- boolean save = afterSalesServiceService.save(afterSalesService);
- return save ? AjaxResult.success() : AjaxResult.error();
+ public AjaxResult add(@RequestBody AfterSalesServiceNewDto afterSalesServiceNewDto) {
+ return afterSalesServiceService.addAfterSalesServiceDto(afterSalesServiceNewDto) ? AjaxResult.success() : AjaxResult.error();
}
@PostMapping("/update")
@ApiOperation("鍞悗鏈嶅姟-淇敼")
@Log(title = "鍞悗鏈嶅姟-淇敼", businessType = BusinessType.UPDATE)
- public AjaxResult update(@RequestBody AfterSalesService afterSalesService) {
- boolean update = afterSalesServiceService.updateById(afterSalesService);
+ public AjaxResult update(@RequestBody AfterSalesServiceNewDto afterSalesServiceNewDto) {
+ if (afterSalesServiceNewDto.getProductModelIdList() != null && afterSalesServiceNewDto.getProductModelIdList().isEmpty() ) {
+ String productModelIds = afterSalesServiceNewDto.getProductModelIdList().stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ afterSalesServiceNewDto.setProductModelIds(productModelIds);
+ }
+ boolean update = afterSalesServiceService.updateById(afterSalesServiceNewDto);
return update ? AjaxResult.success() : AjaxResult.error();
}
@@ -129,4 +134,18 @@
}
+ @GetMapping("listSalesLedger")
+ @ApiOperation("鍞悗鏈嶅姟-鑾峰彇閿�鍞彴璐�")
+ public AjaxResult listSalesLedger(SalesLedgerDto salesLedgerDto, Page page) {
+ IPage<SalesLedgerDto> list = salesLedgerService.listSalesLedger(salesLedgerDto,page);
+ return AjaxResult.success(list);
+ }
+
+
+ @GetMapping("getById")
+ @ApiOperation("鍞悗鏈嶅姟-鏍规嵁id鑾峰彇璇︽儏")
+ public AjaxResult getById(Long id) {
+ return AjaxResult.success(afterSalesServiceService.getAfterSalesServiceNewDtoById(id));
+ }
+
}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceDto.java b/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceExeclDto.java
similarity index 88%
rename from src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceDto.java
rename to src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceExeclDto.java
index 8a7c70b..c8526c7 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceDto.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceExeclDto.java
@@ -1,14 +1,11 @@
package com.ruoyi.aftersalesservice.dto;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
-import java.time.LocalDateTime;
import java.util.Date;
/**
@@ -16,7 +13,7 @@
* @date : 2025/11/3 11:14
*/
@Data
-public class AfterSalesServiceDto {
+public class AfterSalesServiceExeclDto {
/**
* 鐘舵�� 1-寰呭鐞� 2-宸插鐞�
diff --git a/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceNewDto.java b/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceNewDto.java
new file mode 100644
index 0000000..19320a2
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/dto/AfterSalesServiceNewDto.java
@@ -0,0 +1,19 @@
+package com.ruoyi.aftersalesservice.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AfterSalesServiceNewDto extends AfterSalesService {
+
+ @ApiModelProperty("浜у搧鍨嬪彿ID鏁扮粍")
+ private List<Long> productModelIdList;
+
+ private SalesLedgerDto salesLedgerDto;
+}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java b/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
index 67ccd01..3d4bb51 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
@@ -138,5 +138,22 @@
private String deptName;
+ @TableField("鍞悗绫诲瀷")
+ private String serviceType;
+
+ @TableField("绱ф�ョ▼搴�")
+ private String urgency;
+
+ @TableField("閿�鍞彴璐D")
+ private Long salesLedgerId;
+
+ @TableField("鍒嗛厤浜篒D")
+ private Long distributionUserId;
+
+
+ @TableField("浜у搧鍨嬪彿IDs")
+ private String productModelIds;
+
+
}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java b/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
index f5ba2d7..21b4e75 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
@@ -3,6 +3,7 @@
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.aftersalesservice.dto.AfterSalesServiceNewDto;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
/**
@@ -19,4 +20,8 @@
* @return
*/
IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService);
+
+ boolean addAfterSalesServiceDto(AfterSalesServiceNewDto afterSalesServiceNewDto);
+
+ AfterSalesServiceNewDto getAfterSalesServiceNewDtoById(Long id);
}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
index 4f8237f..5f399ca 100644
--- a/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
+++ b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
@@ -1,17 +1,34 @@
package com.ruoyi.aftersalesservice.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.aftersalesservice.dto.AfterSalesServiceNewDto;
import com.ruoyi.aftersalesservice.mapper.AfterSalesServiceMapper;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.system.domain.SysDept;
+import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysDeptMapper;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.ISalesLedgerProductService;
+import com.ruoyi.sales.service.ISalesLedgerService;
+import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl;
+import com.ruoyi.sales.service.impl.SalesLedgerServiceImpl;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* @author :yys
@@ -27,6 +44,13 @@
@Autowired
private SysDeptMapper sysDeptMapper;
+ @Autowired
+ private SysUserMapper sysUserMapper;
+ @Autowired
+ private ISalesLedgerProductService salesLedgerProductService;
+ @Autowired
+ private ISalesLedgerService salesLedgerService;
+
@Override
public IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService) {
Long tenantId = SecurityUtils.getLoginUser().getTenantId();
@@ -37,4 +61,34 @@
});
return afterSalesServiceIPage;
}
+
+ @Override
+ public boolean addAfterSalesServiceDto(AfterSalesServiceNewDto afterSalesServiceNewDto) {
+ afterSalesServiceNewDto.setStatus(1);
+ if (afterSalesServiceNewDto.getProductModelIdList() != null && afterSalesServiceNewDto.getProductModelIdList().isEmpty() ) {
+ String productModelIds = afterSalesServiceNewDto.getProductModelIdList().stream()
+ .map(String::valueOf)
+ .collect(Collectors.joining(","));
+ afterSalesServiceNewDto.setProductModelIds(productModelIds);
+ }
+ SysUser sysUser = sysUserMapper.selectUserById(afterSalesServiceNewDto.getCheckUserId());
+ if(sysUser == null) throw new RuntimeException("瀹℃牳浜轰笉瀛樺湪");
+ afterSalesServiceNewDto.setCheckNickName(sysUser.getNickName());
+ return this.save(afterSalesServiceNewDto);
+ }
+
+ @Override
+ public AfterSalesServiceNewDto getAfterSalesServiceNewDtoById(Long id) {
+ AfterSalesService afterSalesService = afterSalesServiceMapper.selectById(id);
+ SalesLedger byId = salesLedgerService.getById(afterSalesService.getSalesLedgerId());
+ List<Long> collect = Arrays.stream(afterSalesService.getProductModelIds().split(",")).map(Long::valueOf).collect(Collectors.toList());
+ List<SalesLedgerProduct> list = salesLedgerProductService.list(new QueryWrapper<SalesLedgerProduct>().lambda().in(SalesLedgerProduct::getProductModelId, collect));
+ AfterSalesServiceNewDto afterSalesServiceNewDto = new AfterSalesServiceNewDto();
+ BeanUtils.copyProperties(afterSalesService, afterSalesServiceNewDto);
+ SalesLedgerDto salesLedgerDto = new SalesLedgerDto();
+ BeanUtils.copyProperties(byId, salesLedgerDto);
+ salesLedgerDto.setProductData( list);
+ afterSalesServiceNewDto.setSalesLedgerDto(salesLedgerDto);
+ return afterSalesServiceNewDto;
+ }
}
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java b/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
index 71556a2..f2e7928 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
@@ -1,26 +1,15 @@
package com.ruoyi.sales.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.ruoyi.aftersalesservice.dto.AfterSalesServiceDto;
-import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
-import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.aspectj.lang.annotation.Log;
-import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.sales.dto.SalesQuotationDto;
-import com.ruoyi.sales.pojo.SalesQuotation;
import com.ruoyi.sales.service.SalesQuotationService;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.List;
@RestController
@RequestMapping("/sales/quotation")
diff --git a/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java b/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
index 3561c18..260d217 100644
--- a/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/ShippingInfoDto.java
@@ -29,4 +29,8 @@
@TableField(exist = false)
private List<CommonFile> commonFileList;
+ private String specificationModel;
+
+ private String productName;
+
}
diff --git a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java b/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
index 77faa01..8dfb5f9 100644
--- a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.home.dto.IncomeExpenseAnalysisDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.dto.SalesTrendDto;
@@ -83,4 +84,6 @@
"ORDER BY month" +
"</script>")
List<SalesTrendDto> statisticsTable(@Param("statisticsTableDto")StatisticsTableDto statisticsTableDto);
+
+ IPage<SalesLedgerDto> listSalesLedger(Page page,@Param("ew") SalesLedgerDto salesLedgerDto);
}
diff --git a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
index 8c973b3..c359fd3 100644
--- a/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
+++ b/src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -3,6 +3,7 @@
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.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.sales.dto.LossProductModelDto;
import com.ruoyi.sales.dto.MonthlyAmountDto;
@@ -43,4 +44,5 @@
List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
+ IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page);
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 3a42fc7..03635b4 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -9,6 +9,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
@@ -452,6 +453,40 @@
return lossProductModelDtos;
}
+ @Override
+ public IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page) {
+ IPage<SalesLedgerDto> salesLedgerDtoIPage = salesLedgerMapper.listSalesLedger(page, salesLedgerDto);
+ for (SalesLedgerDto salesLedger : salesLedgerDtoIPage.getRecords()) {
+ LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
+ productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId());
+ productWrapper.eq(SalesLedgerProduct::getType, 1);
+ List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
+ for (SalesLedgerProduct product : products) {
+ product.setOriginalNoInvoiceNum(product.getNoInvoiceNum());
+ // 鎻愪緵涓存椂鏈紑绁ㄦ暟锛屾湭寮�绁ㄩ噾棰濅緵鍓嶆璁$畻
+ product.setTempnoInvoiceAmount(product.getNoInvoiceAmount());
+ product.setTempNoInvoiceNum(product.getNoInvoiceNum());
+ product.setRegister(SecurityUtils.getLoginUser().getUser().getNickName());
+ product.setRegisterDate(LocalDateTime.now());
+ // 鍙戣揣淇℃伅
+ ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>()
+ .eq(ShippingInfo::getSalesLedgerProductId, product.getId())
+ .orderByDesc(ShippingInfo::getCreateTime)
+ .last("limit 1"));
+ if (shippingInfo != null) {
+ product.setShippingStatus(shippingInfo.getStatus());
+
+ }
+ }
+ if (!products.isEmpty()) {
+ salesLedger.setHasChildren(true);
+ salesLedger.setProductData(products);
+ }
+ }
+
+ return salesLedgerDtoIPage;
+ }
+
// 鍐呴儴绫荤敤浜庡瓨鍌ㄨ仛鍚堢粨鏋�
private static class GroupedCustomer {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index ff56f9d..aa5df94 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -28,7 +28,7 @@
# 寮�鍙戠幆澧冮厤缃�
server:
# 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
- port: 7003
+ port: 7008
servlet:
# 搴旂敤鐨勮闂矾寰�
context-path: /
@@ -74,9 +74,9 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:mysql://localhost:3306/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://1.15.17.182:9999/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
- password: 123456
+ password: xd@123456..
# 浠庡簱鏁版嵁婧�
slave:
# 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
@@ -154,7 +154,7 @@
database: 0
# 瀵嗙爜
# password: root2022!
- password:
+ password: 123456
# 杩炴帴瓒呮椂鏃堕棿
timeout: 10s
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index c5d7aed..85f62c0 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -111,4 +111,14 @@
FROM sales_ledger
GROUP BY customer_name
</select>
+ <select id="listSalesLedger" resultType="com.ruoyi.sales.dto.SalesLedgerDto">
+ select * from
+ sales_ledger sl
+ <where>
+ <if test="ew.customerName != null and ew.customerName != '' ">
+ and sl.customer_name like concat('%',#{ew.customerName},'%')
+ </if>
+ </where>
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index 6026980..89134d5 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -19,9 +19,14 @@
s.update_user,
s.tenant_id,
sl.sales_contract_no,
+ slp.specification_model,
+ p.product_name,
sl.customer_name
FROM shipping_info s
LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
+ LEFT JOIN sales_ledger_product slp ON s.sales_ledger_product_id = slp.id
+ left join product_model pm on slp.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
WHERE 1=1
<if test="req.salesContractNo != null and req.salesContractNo != ''">
AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%')
--
Gitblit v1.9.3