库存修改联动 单据数量

This commit is contained in:
liuhanqing
2026-01-23 17:24:11 +08:00
parent 695a065dc0
commit 7393f62e0b
4 changed files with 33 additions and 5 deletions

View File

@@ -10,6 +10,8 @@ import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.stock.freeze.domain.BasStockFreezeRecord; import com.ruoyi.stock.freeze.domain.BasStockFreezeRecord;
@@ -51,6 +53,8 @@ public class BasStockServiceImpl implements IBasStockService
private IBasJobIdService basJobIdService; private IBasJobIdService basJobIdService;
@Autowired @Autowired
private IInStockinDetailService stockinDetailService; private IInStockinDetailService stockinDetailService;
@Autowired
private IInStockinService inStockinService;
/** /**
* 查询库存信息 * 查询库存信息
@@ -120,6 +124,13 @@ public class BasStockServiceImpl implements IBasStockService
if (StrUtil.isNotEmpty(basStock.getStockinDetailId())) { if (StrUtil.isNotEmpty(basStock.getStockinDetailId())) {
InStockinDetail inStockinDetail = stockinDetailService.selectInStockinDetailByStockinDetailId(basStock.getStockinDetailId()); InStockinDetail inStockinDetail = stockinDetailService.selectInStockinDetailByStockinDetailId(basStock.getStockinDetailId());
if (inStockinDetail != null) { if (inStockinDetail != null) {
InStockin inStockin = inStockinService.selectInStockinByStockinGuid(inStockinDetail.getStockinGuid());
if ("1".equals(inStockin.getStatus()) || "2".equals(inStockin.getStatus())) {
inStockin.setStatus("3");
inStockinService.updateInStockin(inStockin);
}
basStock.setStockinId(inStockin.getStockinId());
BigDecimal scanNum = Convert.toBigDecimal(inStockinDetail.getScanNum()); BigDecimal scanNum = Convert.toBigDecimal(inStockinDetail.getScanNum());
BigDecimal assignNum = Convert.toBigDecimal(inStockinDetail.getAssignNum()); BigDecimal assignNum = Convert.toBigDecimal(inStockinDetail.getAssignNum());
inStockinDetail.setScanNum(Convert.toStr(scanNum.add(Convert.toBigDecimal(basStock.getQuantity())))); inStockinDetail.setScanNum(Convert.toStr(scanNum.add(Convert.toBigDecimal(basStock.getQuantity()))));
@@ -244,8 +255,8 @@ public class BasStockServiceImpl implements IBasStockService
BigDecimal oldQuantity = Convert.toBigDecimal(oldBasStock.getQuantity()); BigDecimal oldQuantity = Convert.toBigDecimal(oldBasStock.getQuantity());
BigDecimal newQuantity = Convert.toBigDecimal(basStock.getQuantity()); BigDecimal newQuantity = Convert.toBigDecimal(basStock.getQuantity());
BigDecimal subtract = newQuantity.subtract(oldQuantity); BigDecimal subtract = newQuantity.subtract(oldQuantity);
BigDecimal newAssignNum = assignNum.subtract(subtract); BigDecimal newAssignNum = assignNum.add(subtract);
BigDecimal newScanNum = scanNum.subtract(subtract); BigDecimal newScanNum = scanNum.add(subtract);
inStockinDetail.setScanNum(newScanNum.toString()); inStockinDetail.setScanNum(newScanNum.toString());
inStockinDetail.setAssignNum(newAssignNum.toString()); inStockinDetail.setAssignNum(newAssignNum.toString());
stockinDetailService.updateInStockinDetail(inStockinDetail); stockinDetailService.updateInStockinDetail(inStockinDetail);
@@ -312,6 +323,22 @@ public class BasStockServiceImpl implements IBasStockService
BasStock oldBasStock = basStockMapper.selectBasStockByStockId(stockId); BasStock oldBasStock = basStockMapper.selectBasStockByStockId(stockId);
insertMaintainRecord(oldBasStock,oldBasStock,"3"); insertMaintainRecord(oldBasStock,oldBasStock,"3");
basStockMapper.deleteBasStockByStockId(stockId); basStockMapper.deleteBasStockByStockId(stockId);
String stockinDetailId = oldBasStock.getStockinDetailId();
if (StrUtil.isNotEmpty(stockinDetailId)) {
InStockinDetail inStockinDetail = stockinDetailService.selectInStockinDetailByStockinDetailId(stockinDetailId);
if (inStockinDetail != null) {
BigDecimal scanNum = Convert.toBigDecimal(inStockinDetail.getScanNum());
BigDecimal assignNum = Convert.toBigDecimal(inStockinDetail.getAssignNum());
BigDecimal oldQuantity = Convert.toBigDecimal(oldBasStock.getQuantity());
BigDecimal newQuantity = new BigDecimal(0);
BigDecimal subtract = newQuantity.subtract(oldQuantity);
BigDecimal newAssignNum = assignNum.add(subtract);
BigDecimal newScanNum = scanNum.add(subtract);
inStockinDetail.setScanNum(newScanNum.toString());
inStockinDetail.setAssignNum(newAssignNum.toString());
stockinDetailService.updateInStockinDetail(inStockinDetail);
}
}
warehouseId = oldBasStock.getWarehouseId(); warehouseId = oldBasStock.getWarehouseId();
trayCode = oldBasStock.getTrayCode(); trayCode = oldBasStock.getTrayCode();
//判断是否是最后一件货物 //判断是否是最后一件货物

View File

@@ -184,7 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and locked = 'N' and locked = 'N'
and warehouse_id = #{warehouseId} and warehouse_id = #{warehouseId}
and roadway_id = #{roadwayId} and roadway_id = #{roadwayId}
<if test="cargoHight !=null and cargoHight != ''">and cargo_hight = #{cargoHight}</if>" <if test="cargoHight !=null and cargoHight != ''">and cargo_hight = #{cargoHight}</if>
<if test="thePlatoon != null">and the_platoon = #{thePlatoon}</if> <if test="thePlatoon != null">and the_platoon = #{thePlatoon}</if>
<if test="rule1 != null and theFloor != null">and the_floor &lt; #{theFloor}</if> <if test="rule1 != null and theFloor != null">and the_floor &lt; #{theFloor}</if>
<if test="rule2 != null and theFloor != null">and the_floor &gt;= #{theFloor}</if> <if test="rule2 != null and theFloor != null">and the_floor &gt;= #{theFloor}</if>

View File

@@ -98,7 +98,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bs.spare1, --用途 bs.spare1, --用途
bs.distribution, --用途 bs.distribution, --用途
bs.model, --用途 bs.model, --用途
bcs.the_type as net_weight --重量 bcs.the_type as net_weight, --重量
bs.stockin_detail_id --入库子单
from bas_stock bs from bas_stock bs
left join bas_product bp on bs.product_id = bp.product_id left join bas_product bp on bs.product_id = bp.product_id
left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id

View File

@@ -1,4 +1,4 @@
## 开发 ## 开发
```bash ```bash
# 克隆项目 # 克隆项目