From 1f81840839e868b5a0c9689e78767ff97b683e4e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 08 七月 2025 11:07:58 +0800
Subject: [PATCH] yys 1.新增入库查询 2.新增入库 3.入库分页查询 4.编辑
---
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementDto.java | 89 ++++++++
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 123 +++++++++++
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java | 62 +++++
src/main/resources/application-druid.yml | 2
src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java | 26 ++
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java | 28 ++
src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecord.java | 60 +++++
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml | 56 +++++
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java | 98 ++++++++
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementAddDto.java | 18 +
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java | 18 +
src/main/resources/application.yml | 2
src/main/java/com/ruoyi/procurementrecord/dto/Details.java | 24 ++
13 files changed, 604 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
new file mode 100644
index 0000000..b522be4
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
@@ -0,0 +1,62 @@
+package com.ruoyi.procurementrecord.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.framework.web.page.TableDataInfo;
+import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
+import com.ruoyi.procurementrecord.dto.ProcurementDto;
+import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
+import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
+import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:32
+ */
+@RestController
+@Api(tags = "閲囪喘鍏ュ簱")
+@RequestMapping("/stockin")
+public class ProcurementRecordController extends BaseController {
+
+
+ @Autowired
+ private ProcurementRecordService procurementRecordService;
+
+ @GetMapping("/productlist")
+ @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鏂板鍏ュ簱鏌ヨ", businessType = BusinessType.OTHER)
+ public AjaxResult list(ProcurementDto procurementDto) {
+ List<ProcurementDto> result =procurementRecordService.listProcurementBySalesLedgerId(procurementDto);
+ return AjaxResult.success(result);
+ }
+
+ @PostMapping("/add")
+ @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鏂板鍏ュ簱", businessType = BusinessType.INSERT)
+ public AjaxResult add(@RequestBody ProcurementAddDto procurementDto) {
+ return AjaxResult.success(procurementRecordService.add(procurementDto));
+ }
+
+ @PostMapping("/update")
+ @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-淇敼鍏ュ簱", businessType = BusinessType.UPDATE)
+ public AjaxResult updatePro(@RequestBody ProcurementUpdateDto procurementDto) {
+ return AjaxResult.success(procurementRecordService.updatePro(procurementDto));
+ }
+
+ @GetMapping("/listPage")
+ @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鍏ュ簱鏌ヨ", businessType = BusinessType.OTHER)
+ public AjaxResult listPage(Page page, ProcurementPageDto procurementDto) {
+ IPage<ProcurementPageDto> result =procurementRecordService.listPage(page, procurementDto);
+ return AjaxResult.success(result);
+ }
+
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/Details.java b/src/main/java/com/ruoyi/procurementrecord/dto/Details.java
new file mode 100644
index 0000000..510b62d
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/Details.java
@@ -0,0 +1,24 @@
+package com.ruoyi.procurementrecord.dto;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 16:17
+ */
+public class Details {
+ private Integer id;
+ private BigDecimal inboundQuantity;
+ public Integer getId() {
+ return id;
+ }
+ public void setId(Integer id) {
+ this.id = id;
+ }
+ public BigDecimal getInboundQuantity() {
+ return inboundQuantity;
+ }
+ public void setInboundQuantity(BigDecimal inboundQuantity) {
+ this.inboundQuantity = inboundQuantity;
+ }
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementAddDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementAddDto.java
new file mode 100644
index 0000000..73d9895
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementAddDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.procurementrecord.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 16:07
+ */
+@Data
+public class ProcurementAddDto {
+
+ private List<Details> details;
+
+ private String nickName;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementDto.java
new file mode 100644
index 0000000..63ce258
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementDto.java
@@ -0,0 +1,89 @@
+package com.ruoyi.procurementrecord.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:46
+ */
+@Data
+public class ProcurementDto {
+
+ private String purchaseContractNumber;
+
+ private Integer id;
+
+ private Integer recordId;
+
+ /**
+ * 鍏ュ簱鏁伴噺
+ */
+ private Integer quantityStock;
+
+ /**
+ * 渚涘簲鍟嗗悕绉�
+ */
+ @Excel(name = "渚涘簲鍟嗗悕绉�")
+ private String supplierName;
+
+
+ /**
+ * 浜у搧澶х被
+ */
+ @Excel(name = "浜у搧澶х被")
+ private String productCategory;
+
+ /**
+ * 瑙勬牸鍨嬪彿
+ */
+ @Excel(name = "瑙勬牸鍨嬪彿")
+ private String specificationModel;
+
+ /**
+ * 鍗曚綅
+ */
+ @Excel(name = "鍗曚綅")
+ private String unit;
+
+ /**
+ * 鏁伴噺
+ */
+ @Excel(name = "鏁伴噺")
+ private BigDecimal quantity;
+
+ /**
+ * 寰呭叆搴撴暟閲�
+ */
+ @Excel(name = "寰呭叆搴撴暟閲�")
+ private BigDecimal quantity0;
+
+ /**
+ * 绋庣巼
+ */
+ @Excel(name = "绋庣巼")
+ private BigDecimal taxRate;
+
+ /**
+ * 鍚◣鍗曚环
+ */
+ @Excel(name = "鍚◣鍗曚环")
+ private BigDecimal taxInclusiveUnitPrice;
+
+ /**
+ * 鍚◣鎬讳环
+ */
+ @Excel(name = "鍚◣鎬讳环")
+ private BigDecimal taxInclusiveTotalPrice;
+
+ /**
+ * 涓嶅惈绋庢�讳环
+ */
+ @Excel(name = "涓嶅惈绋庢�讳环")
+ private BigDecimal taxExclusiveTotalPrice;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
new file mode 100644
index 0000000..cfa078b
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -0,0 +1,98 @@
+package com.ruoyi.procurementrecord.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 17:00
+ */
+@Data
+public class ProcurementPageDto {
+
+ private Integer id;
+
+ /**
+ * 鍏ュ簱鎵规
+ */
+ @Excel(name = "鍏ュ簱鎵规")
+ private String inboundBatches;
+
+ /**
+ * 鍚堝悓鍙�
+ */
+ private String purchaseContractNumber;
+
+ /**
+ * 鍑哄叆搴撴暟閲�
+ */
+ @Excel(name = "鍑哄叆搴撴暟閲�")
+ private BigDecimal inboundNum;
+
+ /**
+ * 鍑哄叆搴撴椂闂�
+ */
+ @Excel(name = "鍑哄叆搴撴椂闂�")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime createDate;
+
+ /**
+ * 鍑哄叆搴撶敤鎴�
+ */
+ @Excel(name = "鍑哄叆搴撶敤鎴�")
+ private String createBy;
+
+ /**
+ * 渚涘簲鍟嗗悕绉�
+ */
+ @Excel(name = "渚涘簲鍟嗗悕绉�")
+ private String supplierName;
+
+
+ /**
+ * 浜у搧澶х被
+ */
+ @Excel(name = "浜у搧澶х被")
+ private String productCategory;
+
+ /**
+ * 瑙勬牸鍨嬪彿
+ */
+ @Excel(name = "瑙勬牸鍨嬪彿")
+ private String specificationModel;
+
+ /**
+ * 鍗曚綅
+ */
+ @Excel(name = "鍗曚綅")
+ private String unit;
+
+ /**
+ * 绋庣巼
+ */
+ @Excel(name = "绋庣巼")
+ private BigDecimal taxRate;
+
+ /**
+ * 鍚◣鍗曚环
+ */
+ @Excel(name = "鍚◣鍗曚环")
+ private BigDecimal taxInclusiveUnitPrice;
+
+ /**
+ * 鍚◣鎬讳环
+ */
+ @Excel(name = "鍚◣鎬讳环")
+ private BigDecimal taxInclusiveTotalPrice;
+
+ /**
+ * 涓嶅惈绋庢�讳环
+ */
+ @Excel(name = "涓嶅惈绋庢�讳环")
+ private BigDecimal taxExclusiveTotalPrice;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
new file mode 100644
index 0000000..2e122b9
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.procurementrecord.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :yys
+ * @date : 2025/7/8 10:40
+ */
+@Data
+public class ProcurementUpdateDto {
+
+ private Integer id;
+
+ private BigDecimal quantityStock;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
new file mode 100644
index 0000000..e1c7f28
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.procurementrecord.mapper;
+
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.procurementrecord.dto.ProcurementDto;
+import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
+import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:30
+ */
+public interface ProcurementRecordMapper extends BaseMapper<ProcurementRecord> {
+ /**
+ * 鏍规嵁閲囪喘鍙拌处id鏌ヨ閲囪喘鍏ュ簱淇℃伅
+ *
+ * @param procurementDto
+ * @return
+ */
+ List<ProcurementDto> listProcurementBySalesLedgerId(@Param("req") ProcurementDto procurementDto);
+
+ IPage<ProcurementPageDto> listPage(Page page,@Param("req") ProcurementPageDto procurementDto);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecord.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecord.java
new file mode 100644
index 0000000..05b6e33
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecord.java
@@ -0,0 +1,60 @@
+package com.ruoyi.procurementrecord.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Builder;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:25
+ */
+@TableName("procurement_record")
+@Data
+@Builder
+public class ProcurementRecord {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 浜у搧淇℃伅琛╥d
+ */
+ private Integer salesLedgerProductId;
+
+ /**
+ * 閲囪喘鍒嗙被锛�1-鍏ュ簱 2-鍑哄簱锛�
+ */
+ private Integer procurementCategory;
+
+ /**
+ * 鍏ュ簱鎵规
+ */
+ private String inboundBatches;
+
+ /**
+ * 鍑哄叆搴撴暟閲�
+ */
+ private BigDecimal inboundNum;
+
+ /**
+ * 鍑哄叆搴撴椂闂�
+ */
+ private LocalDateTime createDate;
+
+ /**
+ * 鍑哄叆搴撶敤鎴�
+ */
+ private String createBy;
+
+ /**
+ * 绉熸埛ID
+ */
+ private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
new file mode 100644
index 0000000..7343054
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
@@ -0,0 +1,26 @@
+package com.ruoyi.procurementrecord.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.procurementrecord.dto.ProcurementAddDto;
+import com.ruoyi.procurementrecord.dto.ProcurementDto;
+import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
+import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
+import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:36
+ */
+public interface ProcurementRecordService extends IService<ProcurementRecord> {
+ List<ProcurementDto> listProcurementBySalesLedgerId(ProcurementDto procurementDto);
+
+ int add(ProcurementAddDto procurementDto);
+
+ IPage<ProcurementPageDto> listPage(Page page, ProcurementPageDto procurementDto);
+
+ int updatePro(ProcurementUpdateDto procurementDto);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
new file mode 100644
index 0000000..112e168
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -0,0 +1,123 @@
+package com.ruoyi.procurementrecord.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.common.utils.SecurityUtils;
+import com.ruoyi.framework.security.LoginUser;
+import com.ruoyi.procurementrecord.dto.*;
+import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
+import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
+import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author :yys
+ * @date : 2025/7/7 14:38
+ */
+@Service
+@RequiredArgsConstructor
+@Slf4j
+public class ProcurementRecordServiceImpl extends ServiceImpl<ProcurementRecordMapper, ProcurementRecord> implements ProcurementRecordService {
+
+ private final ProcurementRecordMapper procurementRecordMapper;
+
+ private final SalesLedgerProductMapper salesLedgerProductMapper;
+
+ @Override
+ public List<ProcurementDto> listProcurementBySalesLedgerId(ProcurementDto procurementDto) {
+ List<ProcurementDto> procurementDtos = procurementRecordMapper.listProcurementBySalesLedgerId(procurementDto);
+ // 璁$畻寰呭叆搴撴暟閲�
+ // 鏌ヨ閲囪喘璁板綍宸插叆搴撴暟閲�
+ List<Integer> collect = procurementDtos.stream().map(ProcurementDto::getId).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty( collect)){
+ return procurementDtos;
+ }
+ LambdaQueryWrapper<ProcurementRecord> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ procurementRecordLambdaQueryWrapper.in(ProcurementRecord::getSalesLedgerProductId, collect);
+ List<ProcurementRecord> procurementRecords = procurementRecordMapper.selectList(procurementRecordLambdaQueryWrapper);
+ if(CollectionUtils.isEmpty( procurementRecords)){
+ return procurementDtos;
+ }
+ for (ProcurementDto dto : procurementDtos) {
+ // 鏍规嵁閲囪喘鍙拌处ID绛涢�夊搴旂殑鍏ュ簱璁板綍
+ List<ProcurementRecord> collect1 = procurementRecords.stream()
+ .filter(procurementRecord -> procurementRecord.getSalesLedgerProductId().equals(dto.getId()))
+ .collect(Collectors.toList());
+
+ // 濡傛灉娌℃湁鐩稿叧鐨勫叆搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
+ if(CollectionUtils.isEmpty(collect1)){
+ continue;
+ }
+
+ // 璁$畻宸插叆搴撴暟閲忔�诲拰锛屽苟璁剧疆寰呭叆搴撴暟閲�
+ BigDecimal totalInboundNum = collect1.stream()
+ .map(ProcurementRecord::getInboundNum)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ // 寰呭叆搴撴暟閲� = 鎬绘暟閲� - 宸插叆搴撴暟閲�
+ dto.setQuantity0(dto.getQuantity().subtract(totalInboundNum));
+ }
+ return procurementDtos;
+ }
+
+ @Override
+ public int updatePro(ProcurementUpdateDto procurementDto) {
+ ProcurementRecord procurementRecord = procurementRecordMapper.selectById(procurementDto.getId());
+ if(procurementRecord == null) {
+ throw new RuntimeException("鏈壘鍒拌閲囪喘鍏ュ簱璁板綍");
+ }
+ procurementRecord.setInboundNum(procurementDto.getQuantityStock());
+ return procurementRecordMapper.updateById(procurementRecord);
+ }
+
+ @Override
+ public int add(ProcurementAddDto procurementDto) {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ // 鎵归噺鏂板
+ for (Details detail : procurementDto.getDetails()) {
+ // 鏌ヨ閲囪喘鍏ュ簱鏁伴噺
+ LambdaQueryWrapper<ProcurementRecord> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ procurementRecordLambdaQueryWrapper.eq(ProcurementRecord::getSalesLedgerProductId, detail.getId())
+ .eq(ProcurementRecord::getProcurementCategory, 1);
+ Long aLong = procurementRecordMapper.selectCount(procurementRecordLambdaQueryWrapper);
+
+ ProcurementRecord.ProcurementRecordBuilder procurementRecordBuilder = ProcurementRecord.builder()
+ .salesLedgerProductId(detail.getId())
+ .procurementCategory(1)
+ .inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规")
+ .inboundNum(detail.getInboundQuantity())
+ .createDate(LocalDateTime.now())
+ .tenantId(loginUser.getTenantId())
+ .createBy(procurementDto.getNickName());
+ this.save(procurementRecordBuilder.build());
+ // 鍏ュ簱鎴愬姛鍑忔帀閲囪喘鏁伴噺
+ LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, detail.getId());
+ SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(salesLedgerProductLambdaQueryWrapper);
+ if(salesLedgerProduct == null){
+ throw new RuntimeException("鏈壘鍒拌鍟嗗搧");
+ }
+ salesLedgerProduct.setQuantity(salesLedgerProduct.getQuantity().subtract(detail.getInboundQuantity()));
+ salesLedgerProductMapper.updateById(salesLedgerProduct);
+ }
+ return 1;
+ }
+
+ @Override
+ public IPage<ProcurementPageDto> listPage(Page page, ProcurementPageDto procurementDto) {
+ return procurementRecordMapper.listPage(page,procurementDto);
+ }
+
+}
diff --git a/src/main/resources/application-druid.yml b/src/main/resources/application-druid.yml
index 1869049..70ab54a 100644
--- a/src/main/resources/application-druid.yml
+++ b/src/main/resources/application-druid.yml
@@ -7,7 +7,7 @@
# 涓诲簱鏁版嵁婧�
master:
# url: jdbc:mysql://localhost:3306/product-inventory-management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- url: jdbc:mysql://114.132.189.42:9004/product-inventory-management-copy?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://114.132.189.42:9004/product-inventory-management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 浠庡簱鏁版嵁婧�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e1ac4d3..6699d22 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -75,7 +75,7 @@
# 鏁版嵁搴撶储寮�
database: 0
# 瀵嗙爜
- password: root2022!
+ password:
# password: 123456
# 杩炴帴瓒呮椂鏃堕棿
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
new file mode 100644
index 0000000..0af090e
--- /dev/null
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -0,0 +1,56 @@
+<?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.procurementrecord.mapper.ProcurementRecordMapper">
+
+ <select id="listProcurementBySalesLedgerId" resultType="com.ruoyi.procurementrecord.dto.ProcurementDto">
+ select
+ t1.supplier_name,
+ t2.product_category,
+ t2.id,
+ t3.id as recordId,
+ t2.specification_model,
+ t2.unit,
+ t2.quantity,
+ t2.tax_rate,
+ t2.tax_inclusive_unit_price,
+ t2.tax_inclusive_total_price,
+ t2.tax_exclusive_total_price,
+ t3.inbound_num as quantityStock
+ from purchase_ledger t1
+ left join sales_ledger_product t2 on t1.id = t2.sales_ledger_id
+ left join procurement_record t3 on t2.id = t3.sales_ledger_product_id
+ where t1.purchase_contract_number = #{req.purchaseContractNumber}
+ <if test="req.id != null and req.id != ''">
+ and t3.id = #{req.id}
+ </if>
+ group by t2.id
+ </select>
+ <select id="listPage" resultType="com.ruoyi.procurementrecord.dto.ProcurementPageDto">
+ select
+ t3.supplier_name,
+ t3.purchase_contract_number,
+ t2.product_category,
+ t1.id,
+ t2.specification_model,
+ t2.unit,
+ t2.quantity,
+ t2.quantity as quantity0,
+ t2.tax_rate,
+ t2.tax_inclusive_unit_price,
+ t2.tax_inclusive_total_price,
+ t2.tax_exclusive_total_price,
+ t1.inbound_batches,
+ t1.inbound_num,
+ t1.create_date,
+ t1.create_by
+ from procurement_record t1
+ left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id
+ left join purchase_ledger t3 on t3.id = t2.sales_ledger_id
+ <where>
+ 1 = 1
+ <if test="req.supplierName != null and req.supplierName != ''">
+ and t3.supplier_name like concat('%',#{req.supplierName},'%')
+ </if>
+ </where>
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3