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