From fbc53e77f994f15c3ebcd4fa07dfd23671c0ce26 Mon Sep 17 00:00:00 2001
From: lishenao <3065849776@qq.com>
Date: 星期五, 04 七月 2025 16:04:51 +0800
Subject: [PATCH] 入库管理,出库管理,库存管理后端接口修改
---
src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java | 127 ++--------
src/main/java/com/ruoyi/inventory/dto/StockManagementDto.java | 6
src/main/resources/mapper/inventory/StockOutMapper.xml | 34 ++
src/main/resources/mapper/purchase/ProductRecordMapper.xml | 34 +++
src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java | 2
src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java | 72 +++---
src/main/java/com/ruoyi/purchase/service/IProductRecordService.java | 1
src/main/java/com/ruoyi/inventory/service/StockManagementService.java | 2
src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java | 2
src/main/java/com/ruoyi/inventory/dto/StockoutDto.java | 6
src/main/resources/mapper/inventory/StockInMapper.xml | 82 ++----
src/main/java/com/ruoyi/inventory/service/StockOutService.java | 2
src/main/java/com/ruoyi/inventory/pojo/StockIn.java | 8
src/main/java/com/ruoyi/inventory/controller/StockOutController.java | 10
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java | 12 +
src/main/resources/mapper/inventory/StockManagementMapper.xml | 37 ++
src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java | 57 ----
src/main/java/com/ruoyi/inventory/dto/StockinDto.java | 6
src/main/java/com/ruoyi/inventory/pojo/StockOut.java | 9
src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java | 7
/dev/null | 67 ------
src/main/java/com/ruoyi/inventory/controller/StockInController.java | 9
src/main/java/com/ruoyi/inventory/service/StockInService.java | 2
src/main/java/com/ruoyi/inventory/pojo/StockManagement.java | 9
src/main/java/com/ruoyi/inventory/controller/StockManagementController.java | 6
25 files changed, 262 insertions(+), 347 deletions(-)
diff --git a/src/main/java/com/ruoyi/inventory/controller/StockInController.java b/src/main/java/com/ruoyi/inventory/controller/StockInController.java
index b205053..57e1baa 100644
--- a/src/main/java/com/ruoyi/inventory/controller/StockInController.java
+++ b/src/main/java/com/ruoyi/inventory/controller/StockInController.java
@@ -12,7 +12,10 @@
import com.ruoyi.inventory.excel.StockInExcelDto;
import com.ruoyi.inventory.service.StockInService;
import com.ruoyi.inventory.pojo.StockIn;
+import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
+import com.ruoyi.purchase.pojo.ProductRecord;
+import com.ruoyi.purchase.service.IProductRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -26,6 +29,12 @@
public class StockInController{
@Autowired
private StockInService stockInService;
+ @Autowired
+ private IProductRecordService productRecordService;
+ @GetMapping("/productlist")
+ public AjaxResult list(String purchaseContractNumber) {
+ return AjaxResult.success(productRecordService.selectProductRecordListByPuechaserId(purchaseContractNumber));
+ }
@GetMapping("/listPage")
public AjaxResult listPage(Page page, StockinDto stockinDto) {
diff --git a/src/main/java/com/ruoyi/inventory/controller/StockManagementController.java b/src/main/java/com/ruoyi/inventory/controller/StockManagementController.java
index fba713f..c2f9c85 100644
--- a/src/main/java/com/ruoyi/inventory/controller/StockManagementController.java
+++ b/src/main/java/com/ruoyi/inventory/controller/StockManagementController.java
@@ -22,6 +22,11 @@
public class StockManagementController {
@Autowired
private StockManagementService stockManagementService;
+// 鏍规嵁id鏌ヨ
+ @RequestMapping("/{id}")
+ public AjaxResult getStockManageById(@PathVariable Long id) {
+ return success(stockManagementService.getStockManageById(id));
+ }
// 鏇存柊搴撳瓨
@PutMapping("/update")
@@ -51,4 +56,5 @@
public AjaxResult stockout(@RequestBody StockManagement stockManagement) {
return success(stockManagementService.stockout(stockManagement));
}
+
}
diff --git a/src/main/java/com/ruoyi/inventory/controller/StockOutController.java b/src/main/java/com/ruoyi/inventory/controller/StockOutController.java
index c850bff..0da5c70 100644
--- a/src/main/java/com/ruoyi/inventory/controller/StockOutController.java
+++ b/src/main/java/com/ruoyi/inventory/controller/StockOutController.java
@@ -27,11 +27,11 @@
@Autowired
private StockManagementMapper stockManagementMapper;
- @PostMapping("/add")
- public AjaxResult add(@RequestBody StockOut stockout) {
- stockOutService.saveStockout(stockout);
- return AjaxResult.success();
- }
+// @PostMapping("/add")
+// public AjaxResult add(@RequestBody StockOut stockout) {
+// stockOutService.saveStockout(stockout);
+// return AjaxResult.success();
+// }
@RequestMapping("/{id}")
public AjaxResult getStockOutById(@PathVariable Long id) {
diff --git a/src/main/java/com/ruoyi/inventory/dto/StockManagementDto.java b/src/main/java/com/ruoyi/inventory/dto/StockManagementDto.java
index e896ca0..ac13ae5 100644
--- a/src/main/java/com/ruoyi/inventory/dto/StockManagementDto.java
+++ b/src/main/java/com/ruoyi/inventory/dto/StockManagementDto.java
@@ -8,7 +8,7 @@
public class StockManagementDto extends StockManagement {
private String supplierName;
- private String productCategory;
+ private String productName;
private String unit;
/**
* 鍚◣鍗曚环
@@ -32,9 +32,9 @@
/**
* 瑙勬牸鍨嬪彿
*/
- private String specificationModel;
+ private String model;
/**
* 鍏ュ簱浜�
*/
- private String nickname;
+ private String nickName;
}
diff --git a/src/main/java/com/ruoyi/inventory/dto/StockinDto.java b/src/main/java/com/ruoyi/inventory/dto/StockinDto.java
index 6cc55e0..02d0030 100644
--- a/src/main/java/com/ruoyi/inventory/dto/StockinDto.java
+++ b/src/main/java/com/ruoyi/inventory/dto/StockinDto.java
@@ -16,16 +16,16 @@
/**
* 鍏ュ簱浜�
*/
- private String nickname;
+ private String nickName;
@ApiModelProperty(value = "浜у搧澶х被")
- private String productCategory;
+ private String productName;
/**
* 瑙勬牸鍨嬪彿
*/
@ApiModelProperty(value = "瑙勬牸鍨嬪彿")
- private String specificationModel;
+ private String model;
@ApiModelProperty(value = "鍗曚綅")
private String unit;
/**
diff --git a/src/main/java/com/ruoyi/inventory/dto/StockoutDto.java b/src/main/java/com/ruoyi/inventory/dto/StockoutDto.java
index 85ac947..7418708 100644
--- a/src/main/java/com/ruoyi/inventory/dto/StockoutDto.java
+++ b/src/main/java/com/ruoyi/inventory/dto/StockoutDto.java
@@ -10,7 +10,7 @@
private String supplierName;
private String unit;
- private String productCategory;
+ private String productName;
/**
* 鍚◣鍗曚环
*/
@@ -34,9 +34,9 @@
/**
* 瑙勬牸鍨嬪彿
*/
- private String specificationModel;
+ private String model;
/**
* 鍏ュ簱浜�
*/
- private String nickname;
+ private String nickName;
}
diff --git a/src/main/java/com/ruoyi/inventory/mapper/StockProductMapper.java b/src/main/java/com/ruoyi/inventory/mapper/StockProductMapper.java
deleted file mode 100644
index 357d413..0000000
--- a/src/main/java/com/ruoyi/inventory/mapper/StockProductMapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.inventory.mapper;
-
-
-
-import com.ruoyi.inventory.pojo.StockProduct;
-
-import java.util.List;
-
-/**
-* @author 86151
-* @description 閽堝琛ㄣ�恠tock_product銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2025-06-23 18:11:59
-* @Entity inventory.domain.StockProduct
-*/
-public interface StockProductMapper {
- List<StockProduct> selectList();
- int deleteByPrimaryKey(Long id);
-
- int insertSelective(StockProduct record);
-
- StockProduct selectByPrimaryKey(Long id);
-
- int updateByPrimaryKeySelective(StockProduct record);
-
-
-}
diff --git a/src/main/java/com/ruoyi/inventory/pojo/StockIn.java b/src/main/java/com/ruoyi/inventory/pojo/StockIn.java
index 8eb7902..f6f52e6 100644
--- a/src/main/java/com/ruoyi/inventory/pojo/StockIn.java
+++ b/src/main/java/com/ruoyi/inventory/pojo/StockIn.java
@@ -23,14 +23,9 @@
private Integer id;
/**
- * 浜у搧id
- */
- private Integer productRecordid;
-
- /**
* 鍏ュ簱鏃堕棿
*/
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date inboundTime;
/**
@@ -53,6 +48,7 @@
* 鍏ュ簱浜�
*/
private Long userId;
+ private Long productrecordId;
// tenant_id
/**
* 绉熸埛ID
diff --git a/src/main/java/com/ruoyi/inventory/pojo/StockManagement.java b/src/main/java/com/ruoyi/inventory/pojo/StockManagement.java
index 935bc91..a4ddfff 100644
--- a/src/main/java/com/ruoyi/inventory/pojo/StockManagement.java
+++ b/src/main/java/com/ruoyi/inventory/pojo/StockManagement.java
@@ -22,10 +22,7 @@
*/
private Integer id;
- /**
- * 浜у搧id
- */
- private Integer productRecordid;
+ private Long productrecordId;
/**
* 褰撳墠搴撳瓨閲�
@@ -35,9 +32,9 @@
private String inboundBatch;
private Integer supplierId;
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date boundTime;
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date inboundTime;
/**
diff --git a/src/main/java/com/ruoyi/inventory/pojo/StockOut.java b/src/main/java/com/ruoyi/inventory/pojo/StockOut.java
index 47c494a..34ba8c4 100644
--- a/src/main/java/com/ruoyi/inventory/pojo/StockOut.java
+++ b/src/main/java/com/ruoyi/inventory/pojo/StockOut.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
/**
@@ -21,14 +22,12 @@
*/
private Integer id;
- /**
- * 浜у搧id
- */
- private Integer productRecordid;
+ private Long productrecordId;
/**
* 鍑哄簱鏃堕棿
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date inboundTime;
/**
@@ -52,7 +51,7 @@
* 鍑哄簱浜�
*/
private Long userId;
- private Integer stockmanageId;
+
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
diff --git a/src/main/java/com/ruoyi/inventory/pojo/StockProduct.java b/src/main/java/com/ruoyi/inventory/pojo/StockProduct.java
deleted file mode 100644
index f897913..0000000
--- a/src/main/java/com/ruoyi/inventory/pojo/StockProduct.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.inventory.pojo;
-
-import java.io.Serializable;
-import lombok.Data;
-
-/**
- *
- * @TableName stock_product
- */
-@Data
-public class StockProduct implements Serializable {
- /**
- * 浜у搧ID
- */
- private Integer id;
-
- /**
- * 浜у搧澶х被锛堝鈥滀骇鍝�1鈥濓級
- */
- private String productCategory;
-
- /**
- * 瑙勬牸鍨嬪彿
- */
- private String specModel;
-
- /**
- * 鍗曚綅锛堝鈥滃惃鈥濓級
- */
- private String unit;
-
- private static final long serialVersionUID = 1L;
-}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/inventory/service/StockInService.java b/src/main/java/com/ruoyi/inventory/service/StockInService.java
index 551a09e..cb6312e 100644
--- a/src/main/java/com/ruoyi/inventory/service/StockInService.java
+++ b/src/main/java/com/ruoyi/inventory/service/StockInService.java
@@ -19,7 +19,7 @@
StockIn getStockInById(Long id);
- boolean updateStockIn(StockIn stockIn);
+ void updateStockIn(StockIn stockIn);
int delStockin(List<Integer> ids);
// PageInfo<StockinProcuct> getStockInPage(Integer pageNum, Integer pageSize, StockInQueryDTO query);
diff --git a/src/main/java/com/ruoyi/inventory/service/StockManagementService.java b/src/main/java/com/ruoyi/inventory/service/StockManagementService.java
index 4d75978..4a7043c 100644
--- a/src/main/java/com/ruoyi/inventory/service/StockManagementService.java
+++ b/src/main/java/com/ruoyi/inventory/service/StockManagementService.java
@@ -18,4 +18,6 @@
void stockManageExport(HttpServletResponse response, StockManagementDto stockManagementdto);
int stockout(StockManagement stockManagement);
int addStockManage(StockManagement stockManagement);
+// 鏍规嵁id鏌ヨ
+ StockManagement getStockManageById(Long id);
}
diff --git a/src/main/java/com/ruoyi/inventory/service/StockOutService.java b/src/main/java/com/ruoyi/inventory/service/StockOutService.java
index cd8700c..3609ea1 100644
--- a/src/main/java/com/ruoyi/inventory/service/StockOutService.java
+++ b/src/main/java/com/ruoyi/inventory/service/StockOutService.java
@@ -15,7 +15,7 @@
int delStockOut(List<Integer> ids);
StockOut getStockOutById(Long id);
- void saveStockout(StockOut stockout);
+// void saveStockout(StockOut stockout);
int updateStockOut(StockOut stockOut);
IPage<StockoutDto> selectStockOutPage(Page page, StockoutDto stockoutDto);
void stockoutExport(HttpServletResponse response, StockoutDto stockoutDto);
diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
index 371dad2..6ad5d02 100644
--- a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
+++ b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java
@@ -14,6 +14,7 @@
import com.ruoyi.inventory.mapper.StockInMapper;
import com.ruoyi.inventory.pojo.StockManagement;
import com.ruoyi.inventory.service.StockInService;
+import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
import com.ruoyi.purchase.pojo.ProductRecord;
@@ -46,41 +47,30 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void saveStockin(StockIn stockIn) {
-//闇�瑕佸厛鍒ゆ柇浜у搧璁板綍琛ㄤ腑鏄惁鏈夎浜у搧
- ProductRecord productRecord = productRecordMapper.selectById(stockIn.getProductRecordid());
- if (productRecord == null) {
- throw new RuntimeException("浜у搧璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝�");
- }
-// 闇�瑕佸厛鍒ゆ柇渚涘簲鍟嗚〃涓槸鍚︽湁璇ヤ緵搴斿晢
- SupplierManage supplierManage = supplierManageMapper.selectById(stockIn.getSupplierId());
- if (supplierManage == null) {
- throw new RuntimeException("渚涘簲鍟嗚〃涓病鏈夎渚涘簲鍟�");
- }
-// 闇�瑕佸厛鍒ゆ柇搴撳瓨绠$悊琛ㄤ腑鏄惁鏈夎浜у搧
- LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(StockManagement::getProductRecordid, stockIn.getProductRecordid());
- queryWrapper.eq(StockManagement::getSupplierId, stockIn.getSupplierId());
- queryWrapper.eq(StockManagement::getUserId, stockIn.getUserId());
- StockManagement stockManagement = stockManagementMapper.selectOne(queryWrapper);
- if (stockManagement == null) {
-// 濡傛灉娌℃湁璇ヤ骇鍝侊紝闇�瑕佸厛鏂板搴撳瓨绠$悊琛�
- stockManagement = new StockManagement();
- stockManagement.setProductRecordid(stockIn.getProductRecordid());
- stockManagement.setSupplierId(stockIn.getSupplierId());
+//闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰�
+// 鏍规嵁浜у搧id鏌ヨ閲囪喘璁板綍琛�
+ ProductRecordDto productRecordDto = productRecordMapper.selectProductRecordById(stockIn.getProductrecordId());
+ if (productRecordDto != null) {
+// 娣诲姞鍏ュ簱璁板綍鍜屽簱瀛樼鐞嗚褰�
+ stockIn.setInboundTime(new Date());
+// 鑷姩鐢熸垚鎵规鐮�
+ String batchCode = "RK" + System.currentTimeMillis();
+ stockIn.setInboundBatch(batchCode);
+ stockIn.setSupplierId(productRecordDto.getSupplierId());
+ stockInMapper.insert(stockIn);
+// 鍦ㄥ簱瀛樼鐞嗚〃涓坊鍔犲簱瀛樼鐞嗚褰�
+ StockManagement stockManagement = new StockManagement();
+ stockManagement.setProductrecordId(productRecordDto.getId());
stockManagement.setStockQuantity(stockIn.getInboundQuantity());
stockManagement.setInboundTime(stockIn.getInboundTime());
- stockManagement.setBoundTime(new Date());
+ stockManagement.setInboundBatch(stockIn.getInboundBatch());
stockManagement.setUserId(stockIn.getUserId());
+ stockManagement.setSupplierId(productRecordDto.getSupplierId());
+ stockManagement.setBoundTime(stockIn.getInboundTime());
stockManagementMapper.insert(stockManagement);
+ }else {
+ throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍");
}
-// 濡傛灉鏈夎浜у搧锛岄渶瑕佸厛鏇存柊搴撳瓨绠$悊琛�
- stockManagement.setStockQuantity(stockManagement.getStockQuantity() + stockIn.getInboundQuantity());
- stockManagement.setInboundTime(stockIn.getInboundTime());
- stockManagement.setBoundTime(new Date());
- stockManagement.setUserId(stockIn.getUserId());
- stockManagementMapper.updateById(stockManagement);
-// 闇�瑕佸厛鏂板搴撳瓨鍏ュ簱琛�
- stockInMapper.insert(stockIn);
}
@Override//鏍规嵁id鑾峰彇搴撳瓨鍏ュ簱淇℃伅
@@ -88,75 +78,20 @@
StockIn stockIn = stockInMapper.selectById(id);
return stockIn;
}
+
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean updateStockIn(StockIn stockIn) {
- // 1. 鍙傛暟鏍¢獙
- if (stockIn == null || stockIn.getId() == null) {
- throw new IllegalArgumentException("鍏ュ簱璁板綍ID涓嶈兘涓虹┖");
+ public void updateStockIn(StockIn stockIn) {
+// 闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰�
+ LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>();
+ queryWrapper1.eq(ProductRecord::getId, stockIn.getProductrecordId());
+ ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1);
+ if (productRecord!= null) {
+ stockIn.setInboundTime(stockIn.getInboundTime());
+ stockInMapper.updateById(stockIn);
+ } else {
+ throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍");
}
-
- // 2. 鑾峰彇鍘熷璁板綍
- StockIn original = stockInMapper.selectById(stockIn.getId());
- if (original == null) {
- throw new RuntimeException("瑕佷慨鏀圭殑鍏ュ簱璁板綍涓嶅瓨鍦紝ID: " + stockIn.getId());
- }
-
- // 3. 妫�鏌ュ叧鑱旀暟鎹�
- // 3.1 妫�鏌ヤ骇鍝�
- if (stockIn.getProductRecordid() != null &&
- productRecordMapper.selectById(stockIn.getProductRecordid()) == null) {
- throw new RuntimeException("浜у搧璁板綍涓嶅瓨鍦紝ID: " + stockIn.getProductRecordid());
- }
-
- // 3.2 妫�鏌ヤ緵搴斿晢
- if (stockIn.getSupplierId() != null &&
- supplierManageMapper.selectById(stockIn.getSupplierId()) == null) {
- throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪锛孖D: " + stockIn.getSupplierId());
- }
-
- // 4. 纭畾鏈�缁堜娇鐢ㄧ殑鍚処D鍊�
- Integer finalProductId = stockIn.getProductRecordid() != null ?
- stockIn.getProductRecordid() : original.getProductRecordid();
- Integer finalSupplierId = stockIn.getSupplierId() != null ?
- stockIn.getSupplierId() : original.getSupplierId();
- Long finalUserId = stockIn.getUserId() != null ?
- stockIn.getUserId() : original.getUserId();
-
- // 5. 澶勭悊搴撳瓨璁板綍锛堢‘淇濆瓨鍦ㄥ搴旇褰曪級
- LambdaQueryWrapper<StockManagement> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(StockManagement::getProductRecordid, finalProductId)
- .eq(StockManagement::getSupplierId, finalSupplierId)
- .eq(StockManagement::getUserId, finalUserId);
-
- StockManagement stock = stockManagementMapper.selectOne(wrapper);
-
- // 璁$畻鏁伴噺鍙樺寲锛堝鏋滄湁淇敼锛�
- Integer quantityChange = stockIn.getInboundQuantity() != null ?
- stockIn.getInboundQuantity() - original.getInboundQuantity() : 0;
-
- if (stock == null) {
- // 5.1 涓嶅瓨鍦ㄥ垯鍒涘缓鏂拌褰�
- stock = new StockManagement();
- stock.setProductRecordid(finalProductId);
- stock.setSupplierId(finalSupplierId);
- stock.setUserId(finalUserId);
- // 鍒濆搴撳瓨 = 鍘熷搴撳瓨 + 鍙樺寲閲忥紙鑰冭檻淇敼鍚庣殑鍊硷級
- stock.setStockQuantity(original.getInboundQuantity() + quantityChange);
- stockManagementMapper.insert(stock);
- } else if (quantityChange != 0) {
- // 5.2 瀛樺湪涓旀暟閲忔湁鍙樺寲鍒欐洿鏂�
- stock.setStockQuantity(stock.getStockQuantity() + quantityChange);
- stockManagementMapper.updateById(stock);
- }
-
- // 6. 鏇存柊鍏ュ簱璁板綍
- int updateResult = stockInMapper.updateById(stockIn);
- if (updateResult <= 0) {
- throw new RuntimeException("鍏ュ簱璁板綍鏇存柊澶辫触");
- }
-
- return updateResult > 0;
}
diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java
index a19d90b..b5dc014 100644
--- a/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java
@@ -14,12 +14,14 @@
import com.ruoyi.inventory.pojo.StockManagement;
import com.ruoyi.inventory.pojo.StockOut;
import com.ruoyi.inventory.service.StockManagementService;
+import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
import com.ruoyi.purchase.pojo.ProductRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
import java.util.List;
@Service
@@ -60,51 +62,55 @@
@Override
public int stockout(StockManagement stockManagement) {
-// 闇�瑕佽繘琛屽垽鏂紝搴撳瓨鏁伴噺鏄惁瓒冲
- StockManagement stockManagement1 = stockManagementMapper.selectById(stockManagement.getId());
+// 鍦ㄥ墠绔叾瀹炲氨绌夸簡3涓暟锛屾暟閲忥紝鍑哄簱浜猴紝鏃堕棿锛屽彧闇�瑕佽繘琛屽垽鏂紝搴撳瓨鏁伴噺鏄惁瓒冲鍗冲彲,鏈変笁绉嶆儏鍐�
+ StockOut stockOut = new StockOut();
+ LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(StockManagement::getId, stockManagement.getId());
+ StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper);
if (stockManagement1.getStockQuantity() < stockManagement.getStockQuantity()) {
throw new RuntimeException("搴撳瓨鏁伴噺涓嶈冻");
- }else if (stockManagement1.getStockQuantity().equals(stockManagement.getStockQuantity())){
-// 鍑忓幓鐨勬暟閲忚鍦ㄥ嚭搴撹褰曡〃涓姞涓�鏉℃暟鎹�
- StockOut stockOut = new StockOut();
- stockOut.setInboundQuantity(stockManagement.getStockQuantity());
- stockOut.setProductRecordid(stockManagement1.getProductRecordid());
- stockOut.setSupplierId(stockManagement1.getSupplierId());
- stockOut.setUserId(stockManagement.getUserId());
- stockOut.setInboundTime(stockManagement1.getBoundTime());
- stockOutMapper.insert(stockOut);
- return stockManagementMapper.deleteById(stockManagement.getId());
+ } else if (stockManagement1.getStockQuantity() > stockManagement.getStockQuantity()) {
+ stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() - stockManagement.getStockQuantity());
+ stockManagementMapper.updateById(stockManagement1);
}
else {
- stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() - stockManagement.getStockQuantity());
- StockOut stockOut = new StockOut();
- stockOut.setInboundQuantity(stockManagement.getStockQuantity());
- stockOut.setProductRecordid(stockManagement1.getProductRecordid());
- stockOut.setSupplierId(stockManagement1.getSupplierId());
- stockOut.setUserId(stockManagement.getUserId());
- stockOut.setInboundTime(stockManagement1.getBoundTime());
- stockOutMapper.insert(stockOut);
- return stockManagementMapper.updateById(stockManagement1);
+ stockManagementMapper.deleteById(stockManagement.getId());
}
+ stockOut.setProductrecordId(stockManagement1.getProductrecordId());
+ stockOut.setInboundTime(stockManagement.getBoundTime());
+// 鍑哄簱鎵规鑷姩鐢熸垚
+ String batchCode = "CK" + System.currentTimeMillis();
+ stockOut.setInboundBatch(batchCode);
+ stockOut.setSupplierId(stockManagement1.getSupplierId());
+ stockOut.setInboundQuantity(stockManagement.getStockQuantity());
+ stockOut.setUserId(stockManagement.getUserId());
+ return stockOutMapper.insert(stockOut);
}
// 娣诲姞搴撳瓨鏂规硶
@Override
public int addStockManage(StockManagement stockManagement) {
-// 闇�瑕佽繘琛屽垽鏂�
+// 闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰�
LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>();
- queryWrapper1.eq(ProductRecord::getProductId, stockManagement.getProductRecordid());
+ queryWrapper1.eq(ProductRecord::getId, stockManagement.getProductrecordId());
ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1);
- if (productRecord == null) {
- throw new RuntimeException("浜у搧涓嶅瓨鍦�");
+ ProductRecordDto productRecordDto = productRecordMapper.selectProductRecordById(productRecord.getId());
+ if (productRecordDto!= null) {
+ stockManagement.setProductrecordId(productRecordDto.getId());
+ stockManagement.setBoundTime(stockManagement.getBoundTime());
+ stockManagement.setSupplierId(productRecordDto.getSupplierId());
+ stockManagement.setStockQuantity(stockManagement.getStockQuantity());
+ stockManagement.setUserId(stockManagement.getUserId());
+ return stockManagementMapper.insert(stockManagement);
+ }else {
+ throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍");
}
- LambdaQueryWrapper<SupplierManage> queryWrapper2 = new LambdaQueryWrapper<>();
- queryWrapper2.eq(SupplierManage::getId, stockManagement.getSupplierId());
- SupplierManage supplierManage = supplierManageMapper.selectOne(queryWrapper2);
- System.out.println(supplierManage+"11");
- if (supplierManage == null) {
- throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪");
- }
- return stockManagementMapper.insert(stockManagement);
}
+
+ @Override
+ public StockManagement getStockManageById(Long id) {
+ return stockManagementMapper.selectById(id);
+ }
+
+
}
diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java
index d6e2383..e7b326b 100644
--- a/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java
+++ b/src/main/java/com/ruoyi/inventory/service/impl/StockOutServiceImpl.java
@@ -49,59 +49,16 @@
return stockOut;
}
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void saveStockout(StockOut stockOut) {
-// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id,瑕佸垽鏂璸roduct_id鍦ㄨ〃product_record涓槸鍚﹀瓨鍦紝鍥犱负stock_out琛ㄤ腑鐨刾roduct_id鏄痯roduct_record琛ㄤ腑鐨刾roduct_id鍏宠仈鐨�
- LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>();
- queryWrapper1.eq(ProductRecord::getProductId, stockOut.getProductRecordid());
- ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1);
- if (productRecord == null) {
- throw new RuntimeException("浜у搧涓嶅瓨鍦�");
- }
- LambdaQueryWrapper<SupplierManage> queryWrapper2 = new LambdaQueryWrapper<>();
- queryWrapper2.eq(SupplierManage::getId, stockOut.getSupplierId());
- SupplierManage supplierManage = supplierManageMapper.selectOne(queryWrapper2);
- if (supplierManage == null) {
- throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪");
- }
- LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(StockManagement::getProductRecordid, stockOut.getProductRecordid());
- queryWrapper.eq(StockManagement::getSupplierId, stockOut.getSupplierId());
- StockManagement stockManagement = stockManagementMapper.selectOne(queryWrapper);
- if (stockManagement != null) {
- stockOut.setStockmanageId(stockManagement.getId());
- stockOutMapper.insert(stockOut);
- }else {
- throw new RuntimeException("搴撳瓨涓笉瀛樺湪璇ヤ骇鍝佸拰渚涘簲鍟�");
- }
- }
+// @Override
+// @Transactional(rollbackFor = Exception.class)
+// public void saveStockout(StockOut stockOut) {
+//
+// }
@Override
public int updateStockOut(StockOut stockOut) {
-// 淇敼鐨勬椂鍊欒鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢id
- LambdaQueryWrapper<ProductRecord> queryWrapper1 = new LambdaQueryWrapper<>();
- queryWrapper1.eq(ProductRecord::getProductId, stockOut.getProductRecordid());
- ProductRecord productRecord = productRecordMapper.selectOne(queryWrapper1);
- if (productRecord == null) {
- throw new RuntimeException("浜у搧涓嶅瓨鍦�");
- }
- LambdaQueryWrapper<SupplierManage> queryWrapper2 = new LambdaQueryWrapper<>();
- queryWrapper2.eq(SupplierManage::getId, stockOut.getSupplierId());
- SupplierManage supplierManage = supplierManageMapper.selectOne(queryWrapper2);
- if (supplierManage == null) {
- throw new RuntimeException("渚涘簲鍟嗕笉瀛樺湪");
- }
- LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(StockManagement::getProductRecordid, stockOut.getProductRecordid());
- queryWrapper.eq(StockManagement::getSupplierId, stockOut.getSupplierId());
- StockManagement stockManagement = stockManagementMapper.selectOne(queryWrapper);
- if (stockManagement != null) {
- stockOut.setStockmanageId(stockManagement.getId());
- return stockOutMapper.updateById(stockOut);
- }else {
- throw new RuntimeException("搴撳瓨涓笉瀛樺湪璇ヤ骇鍝佸拰渚涘簲鍟�");
- }
+// 淇敼鍑哄簱璁板綍琛�
+ return stockOutMapper.updateById(stockOut);
}
@Override
diff --git a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index f08882a..975a957 100644
--- a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -2,6 +2,7 @@
import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.project.system.domain.SysUser;
@@ -11,6 +12,7 @@
*
* @author ruoyi
*/
+@Mapper
public interface SysUserMapper
{
/**
diff --git a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
index ab7365f..0ed50a5 100644
--- a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
@@ -8,6 +8,8 @@
@Data
public class ProductRecordDto extends ProductRecord {
+// 渚涘簲鍟咺D
+ private Integer supplierId;
//閿�鍞悎鍚屽彿
private String salesContractNo;
diff --git a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
index fb691ed..38c4d7d 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java
@@ -6,7 +6,10 @@
import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.dto.TicketRegistrationDto;
import com.ruoyi.purchase.pojo.ProductRecord;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 閲囪喘鍙拌处浜у搧寮�绁ㄨ褰昅apper鎺ュ彛
@@ -14,7 +17,11 @@
* @author ruoyi
* @date 2025-05-23
*/
+@Mapper
public interface ProductRecordMapper extends BaseMapper<ProductRecord> {
IPage<ProductRecordDto> productRecordPage(Page page, @Param("c") TicketRegistrationDto ticketRegistrationDto);
+
+ List<ProductRecordDto> selectProductRecordListByPuechaserId(String purchaseContractNumber);
+ ProductRecordDto selectProductRecordById(Long id);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
index 235f096..aac4492 100644
--- a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java
@@ -20,4 +20,5 @@
List<ProductRecord> selectProductRecordList(TicketRegistrationDto ticketRegistrationDto);
IPage<ProductRecordDto> productRecordPage(Page page, TicketRegistrationDto ticketRegistrationDto);
+ List<ProductRecordDto> selectProductRecordListByPuechaserId(String purchaseContractNumber);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
index a8b594d..5cddc7e 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -8,7 +8,9 @@
import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.dto.TicketRegistrationDto;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.ProductRecord;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.service.IProductRecordService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.pojo.CommonFile;
@@ -34,6 +36,9 @@
@Autowired
private CommonFileMapper commonFileMapper;
+ @Autowired
+ private PurchaseLedgerMapper purchaseLedgerMapper;
+
@@ -59,4 +64,11 @@
});
return productRecordDtoIPage;
}
+
+ @Override
+ public List<ProductRecordDto> selectProductRecordListByPuechaserId(String purchaseContractNumber) {
+ return productRecordMapper.selectProductRecordListByPuechaserId(purchaseContractNumber);
+ }
+
+
}
diff --git a/src/main/resources/mapper/inventory/StockInMapper.xml b/src/main/resources/mapper/inventory/StockInMapper.xml
index aa53b7d..02003d4 100644
--- a/src/main/resources/mapper/inventory/StockInMapper.xml
+++ b/src/main/resources/mapper/inventory/StockInMapper.xml
@@ -5,41 +5,13 @@
<mapper namespace="com.ruoyi.inventory.mapper.StockInMapper">
-<!-- <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultType="com.ruoyi.inventory.dto.StockinDto">-->
-<!-- SELECT-->
-<!-- T1.id,-->
-<!-- T1.product_id,-->
-<!-- T1.inbound_time,-->
-<!-- T1.inbound_batch,-->
-<!-- T1.supplier_id,-->
-<!-- T1.inbound_quantity,-->
-<!-- T1.tax_inclusive_price,-->
-<!-- T1.tax_inclusive_total,-->
-<!-- T1.tax_rate,-->
-<!-- T1.tax_exclusive_total,-->
-<!-- T1.inbound_person,-->
-<!-- T1.tenant_id,-->
-<!-- T2.product_category,-->
-<!-- T2.specification_model,-->
-<!-- T3.supplier_name-->
-<!-- FROM-->
-<!-- stock_in T1-->
-<!-- INNER JOIN-->
-<!-- product_record T2-->
-<!-- ON-->
-<!-- T1.product_id = T2.product_id-->
-<!-- INNER JOIN-->
-<!-- supplier_manage T3-->
-<!-- ON-->
-<!-- T1.supplier_id = T3.id-->
-<!-- where T1.id = #{id,jdbcType=INTEGER}-->
-<!-- </select>-->
-
<select id="selectStockInWithProductInfo" resultType="com.ruoyi.inventory.dto.StockinDto">
SELECT
T1.id,
- T1.product_recordid,
+ T1.productrecord_id,
+ T1.user_id,
+ T1.tenant_id,
T1.inbound_time,
T1.inbound_batch,
T1.supplier_id,
@@ -48,11 +20,9 @@
T2.tax_inclusive_total_price,
T2.tax_rate,
T2.tax_exclusive_total_price,
- T1.user_id,
- T1.tenant_id,
- T2.product_category,
- T2.specification_model,
- T2.unit,
+ T5.product_name,
+ T6.model,
+ T6.unit,
T3.supplier_name,
T4.nick_name
FROM
@@ -60,7 +30,7 @@
INNER JOIN
product_record T2
ON
- T1.product_recordid = T2.id
+ T1.productrecord_id = T2.id
INNER JOIN
supplier_manage T3
ON
@@ -68,7 +38,16 @@
INNER JOIN sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T6
+ ON
+ T2.product_model_id = T6.id
+ INNER JOIN
+ product T5
+ ON
+ T2.product_id = T5.id
<where>
+ T2.type = 2
<if test="stockinDto.supplierName != null and stockinDto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockinDto.supplierName}, '%')
</if>
@@ -79,7 +58,9 @@
<select id="stockinExportList" resultType="com.ruoyi.inventory.excel.StockInExcelDto">
SELECT
T1.id,
- T1.product_recordid,
+ T1.productrecord_id,
+ T1.user_id,
+ T1.tenant_id,
T1.inbound_time,
T1.inbound_batch,
T1.supplier_id,
@@ -88,11 +69,9 @@
T2.tax_inclusive_total_price,
T2.tax_rate,
T2.tax_exclusive_total_price,
- T1.user_id,
- T1.tenant_id,
- T2.product_category,
- T2.specification_model,
- T2.unit,
+ T5.product_name,
+ T6.model,
+ T6.unit,
T3.supplier_name,
T4.nick_name
FROM
@@ -100,7 +79,7 @@
INNER JOIN
product_record T2
ON
- T1.product_recordid = T2.id
+ T1.productrecord_id = T2.id
INNER JOIN
supplier_manage T3
ON
@@ -108,15 +87,18 @@
INNER JOIN sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T6
+ ON
+ T2.product_model_id = T6.id
+ INNER JOIN
+ product T5
+ ON
+ T2.product_id = T5.id
<where>
+ T2.type = 2
<if test="stockinDto.supplierName != null and stockinDto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockinDto.supplierName}, '%')
- </if>
- <if test="stockinDto.startTime != null and stockinDto.startTime != ''">
- AND T1.inbound_time >= #{stockinDto.startTime}
- </if>
- <if test="stockinDto.endTime != null and stockinDto.endTime != ''">
- AND T1.inbound_time <= #{stockinDto.endTime}
</if>
</where>
ORDER BY T1.inbound_time DESC
diff --git a/src/main/resources/mapper/inventory/StockManagementMapper.xml b/src/main/resources/mapper/inventory/StockManagementMapper.xml
index 4bc349f..6387ddc 100644
--- a/src/main/resources/mapper/inventory/StockManagementMapper.xml
+++ b/src/main/resources/mapper/inventory/StockManagementMapper.xml
@@ -7,12 +7,12 @@
<!-- 鏍规嵁渚涘簲鍟嗘ā绯婃悳绱�-->
<select id="selectStockManagementBypage" resultType="com.ruoyi.inventory.dto.StockManagementDto">
SELECT
- T2.unit,
- T2.product_category,
- T2.specification_model,
+ T5.unit,
+ T5.model,
+ T6.product_name,
T3.supplier_name,
T1.id,
- T1.product_recordid,
+ T1.productrecord_id,
T1.stock_quantity,
T2.tax_inclusive_unit_price,
T2.tax_inclusive_total_price,
@@ -30,7 +30,7 @@
INNER JOIN
product_record T2
ON
- T1.product_recordid = T2.id
+ T1.productrecord_id = T2.id
INNER JOIN
supplier_manage T3
ON
@@ -39,6 +39,14 @@
sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T5
+ ON
+ T2.product_model_id = T5.id
+ INNER JOIN
+ product T6
+ ON
+ T2.product_id = T6.id
<where>
<if test="stockManagementDto.supplierName != null and stockManagementDto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockManagementDto.supplierName}, '%')
@@ -48,12 +56,12 @@
<select id="stockManageExportList" resultType="com.ruoyi.inventory.excel.StockManagementExcelDto">
SELECT
- T2.unit,
- T2.product_category,
- T2.specification_model,
+ T5.unit,
+ T5.model,
+ T6.product_name,
T3.supplier_name,
T1.id,
- T1.product_recordid,
+ T1.productrecord_id,
T1.stock_quantity,
T2.tax_inclusive_unit_price,
T2.tax_inclusive_total_price,
@@ -71,7 +79,7 @@
INNER JOIN
product_record T2
ON
- T1.product_recordid = T2.id
+ T1.productrecord_id = T2.id
INNER JOIN
supplier_manage T3
ON
@@ -80,6 +88,14 @@
sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T5
+ ON
+ T2.product_model_id = T5.id
+ INNER JOIN
+ product T6
+ ON
+ T2.product_id = T6.id
<where>
<if test="stockManagementDto.supplierName != null and stockManagementDto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockManagementDto.supplierName}, '%')
@@ -88,4 +104,5 @@
</select>
+
</mapper>
diff --git a/src/main/resources/mapper/inventory/StockOutMapper.xml b/src/main/resources/mapper/inventory/StockOutMapper.xml
index 024494e..00909df 100644
--- a/src/main/resources/mapper/inventory/StockOutMapper.xml
+++ b/src/main/resources/mapper/inventory/StockOutMapper.xml
@@ -7,7 +7,7 @@
<select id="selectStockOutBypage" resultType="com.ruoyi.inventory.dto.StockoutDto">
SELECT
T1.id,
- T1.product_recordid,
+ T1.productrecord_id,
T1.inbound_time,
T1.inbound_batch,
T1.supplier_id,
@@ -18,9 +18,9 @@
T2.tax_exclusive_total_price,
T1.user_id,
T1.tenant_id,
- T2.product_category,
- T2.specification_model,
- T2.unit,
+ T6.product_name,
+ T5.model,
+ T5.unit,
T3.supplier_name,
T4.nick_name
FROM
@@ -28,7 +28,7 @@
INNER JOIN
product_record T2
ON
- T1.product_recordid = T2.id
+ T1.productrecord_id = T2.id
INNER JOIN
supplier_manage T3
ON
@@ -37,7 +37,16 @@
sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T5
+ ON
+ T2.product_model_id = T5.id
+ INNER JOIN
+ product T6
+ ON
+ T2.product_id = T6.id
<where>
+ T2.type = 1
<if test="stockOutdto.supplierName != null and stockOutdto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockOutdto.supplierName}, '%')
</if>
@@ -58,9 +67,9 @@
T2.tax_exclusive_total_price,
T1.user_id,
T1.tenant_id,
- T2.product_category,
- T2.specification_model,
- T2.unit,
+ T6.product_name,
+ T5.model,
+ T5.unit,
T3.supplier_name,
T4.nick_name
FROM
@@ -77,7 +86,16 @@
sys_user T4
ON
T1.user_id = T4.user_id
+ INNER JOIN
+ product_model T5
+ ON
+ T2.product_model_id = T5.id
+ INNER JOIN
+ product T6
+ ON
+ T2.product_id = T6.id
<where>
+ T2.type = 1
<if test="stockOutdto.supplierName != null and stockOutdto.supplierName != ''">
AND T3.supplier_name LIKE CONCAT('%', #{stockOutdto.supplierName}, '%')
</if>
diff --git a/src/main/resources/mapper/inventory/StockProductMapper.xml b/src/main/resources/mapper/inventory/StockProductMapper.xml
deleted file mode 100644
index baf75a8..0000000
--- a/src/main/resources/mapper/inventory/StockProductMapper.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?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.inventory.mapper.StockProductMapper">
-
- <resultMap id="BaseResultMap" type="com.ruoyi.inventory.pojo.StockProduct">
- <id property="id" column="id" jdbcType="INTEGER"/>
- <result property="productCategory" column="product_category" jdbcType="VARCHAR"/>
- <result property="specModel" column="spec_model" jdbcType="VARCHAR"/>
- <result property="unit" column="unit" jdbcType="VARCHAR"/>
- </resultMap>
-
- <sql id="Base_Column_List">
- id,product_category,spec_model,
- unit
- </sql>
-
- <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
- select
- <include refid="Base_Column_List" />
- from stock_product
- where id = #{id,jdbcType=INTEGER}
- </select>
- <select id="selectList" resultType="com.ruoyi.inventory.pojo.StockProduct">
- select
- <include refid="Base_Column_List" />
- from stock_product
- </select>
-
- <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
- delete from stock_product
- where id = #{id,jdbcType=INTEGER}
- </delete>
-
- <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.ruoyi.inventory.pojo.StockProduct" useGeneratedKeys="true">
- insert into stock_product
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="id != null">id,</if>
- <if test="productCategory != null">product_category,</if>
- <if test="specModel != null">spec_model,</if>
- <if test="unit != null">unit,</if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="id != null">#{id,jdbcType=INTEGER},</if>
- <if test="productCategory != null">#{productCategory,jdbcType=VARCHAR},</if>
- <if test="specModel != null">#{specModel,jdbcType=VARCHAR},</if>
- <if test="unit != null">#{unit,jdbcType=VARCHAR},</if>
- </trim>
- </insert>
- <update id="updateByPrimaryKeySelective" parameterType="com.ruoyi.inventory.pojo.StockProduct">
- update stock_product
- <set>
- <if test="productCategory != null">
- product_category = #{productCategory,jdbcType=VARCHAR},
- </if>
- <if test="specModel != null">
- spec_model = #{specModel,jdbcType=VARCHAR},
- </if>
- <if test="unit != null">
- unit = #{unit,jdbcType=VARCHAR},
- </if>
- </set>
- where id = #{id,jdbcType=INTEGER}
- </update>
-
-</mapper>
diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
index 35f08ac..e749894 100644
--- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml
+++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
@@ -36,4 +36,38 @@
and pr.created_at <= date_format(#{c.createdAtEnd},'%Y-%m-%d hh:mm:ss')
</if>
</select>
+ <select id="selectProductRecordListByPuechaserId" resultType="com.ruoyi.purchase.dto.ProductRecordDto">
+ SELECT
+ P1.id,
+ P1.product_category,
+ P1.specification_model,
+ P1.unit,
+ P1.quantity,
+ P1.tax_rate,
+ P1.tax_inclusive_unit_price,
+ P1.tax_inclusive_total_price,
+ P1.tax_exclusive_total_price,
+ P2.supplier_name,
+ p2.supplier_id
+ from product_record P1
+ left join purchase_ledger P2 on P1.purchase_ledger_id = P2.id
+ where p2.purchase_contract_number = #{purchaseContractNumber} and P1.type = 2
+ </select>
+ <select id="selectProductRecordById" resultType="com.ruoyi.purchase.dto.ProductRecordDto">
+ SELECT
+ P1.id,
+ P1.product_category,
+ P1.specification_model,
+ P1.unit,
+ P1.quantity,
+ P1.tax_rate,
+ P1.tax_inclusive_unit_price,
+ P1.tax_inclusive_total_price,
+ P1.tax_exclusive_total_price,
+ P2.supplier_name,
+ p2.supplier_id
+ from product_record P1
+ left join purchase_ledger P2 on P1.purchase_ledger_id = P2.id
+ where P1.id = #{id} and P1.type = 2
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3