src/main/java/com/ruoyi/procurementrecord/dto/Details.java
@@ -10,10 +10,11 @@ */ @Data public class Details { private Integer id; // 浜у搧id private Integer id; // 鍙拌处浜у搧id private BigDecimal inboundQuantity; // 鍏ュ簱鏁伴噺 private BigDecimal warnNum; // 棰勮鏁伴噺锛堥噰璐叆搴撴墠鏈夛級 //鍗曚环 private BigDecimal unitPrice; private BigDecimal totalPrice; private Long productModelId; // 鍩虹浜у搧id } src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutAdd.java
@@ -24,4 +24,6 @@ */ private Integer type; private Long productModelId;// 鍩虹浜у搧ID } src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -9,6 +9,7 @@ import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; /** @@ -41,4 +42,6 @@ IPage<ProcurementPageDtoCopy> listPageCopyByProduction(Page page, @Param("req") ProcurementPageDto procurementDto); IPage<ProcurementPageDtoCopy> listPagePRS(Page page, @Param("req") ProcurementPageDto procurementDto); BigDecimal getSumQuantity(@Param("productModelId") Long productModelId); } src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordOutMapper.java
@@ -7,6 +7,7 @@ import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; /** @@ -26,4 +27,6 @@ IPage<ProcurementRecordOutPageDto> listPageByProduct(Page page,@Param("req") ProcurementRecordOutPageDto procurementDto); IPage<ProcurementRecordOutPageDto> listPageByCustom(Page page,@Param("req") ProcurementRecordOutPageDto procurementDto); BigDecimal getSumQuantity(@Param("productModelId") Long productModelId); } src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
@@ -1,8 +1,6 @@ package com.ruoyi.procurementrecord.pojo; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Data; @@ -89,4 +87,9 @@ @TableField(fill = FieldFill.INSERT) private Long tenantId; /** * 浜у搧ID */ private Long productModelId; } src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
@@ -95,4 +95,9 @@ */ @TableField(fill = FieldFill.INSERT) private Long tenantId; /** * 浜у搧ID */ private Long productModelId; } src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -10,7 +10,6 @@ import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordOutService; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; @@ -22,7 +21,6 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.DateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -80,7 +78,8 @@ .createUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .createBy(sysUser.getNickName()) .updateUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .updateTime(LocalDateTime.now()); .updateTime(LocalDateTime.now()) .productModelId(procurementRecordOutAdd.getProductModelId()); this.save(procurementRecordOut.build()); return 0; } src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -14,8 +14,8 @@ import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.CustomStorage; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; @@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -772,7 +771,8 @@ .createUser(loginUser.getUserId()) .updateTime(LocalDateTime.now()) .updateUser(loginUser.getUserId()) .createBy(procurementDto.getNickName()); .createBy(procurementDto.getNickName()) .productModelId(detail.getProductModelId()); this.save(procurementRecordBuilder.build()); // 鍏ュ簱鎴愬姛鍑忔帀閲囪喘鏁伴噺 // LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>(); src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
对比新文件 @@ -0,0 +1,24 @@ package com.ruoyi.procurementrecord.utils; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import java.math.BigDecimal; @Component @RequiredArgsConstructor public class StockUtils { private final ProcurementRecordOutMapper procurementRecordOutMapper; private final ProcurementRecordMapper procurementRecordMapper; // 鑾峰彇鍟嗗搧鍓╀綑搴撳瓨 public BigDecimal getStockQuantity(Long productModelId) { // 鍏ュ簱鏁伴噺 BigDecimal sumQuantity = procurementRecordMapper.getSumQuantity(productModelId); // 鍑哄簱鏁伴噺 BigDecimal outQuantity = procurementRecordOutMapper.getSumQuantity(productModelId); return outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity); } } src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -353,4 +353,9 @@ </if> </where> </select> <select id="getSumQuantity" resultType="BigDecimal"> select COALESCE(sum(inbound_num), 0) from procurement_record_storage where product_model_id = #{productModelId} </select> </mapper> src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
@@ -169,4 +169,11 @@ </where> order by t1.create_time desc </select> <select id="getSumQuantity" resultType="BigDecimal"> select sum(inbound_num) from procurement_record_out where type = 1 and product_model_id = #{productModelId} </select> </mapper>