仓库管理修改

liweidong
wusiyu 15 hours ago
parent 007b0a0f95
commit db41a330c3
  1. 4
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StStorehouseVO.java
  2. 26
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StComboxController.java
  3. 2
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsMapper.java
  4. 9
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsMapper.xml
  5. 15
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StStorehouseMapper.xml

@ -1,5 +1,6 @@
package org.springblade.wms.pojo.vo; package org.springblade.wms.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -38,5 +39,8 @@ public class StStorehouseVO extends StStorehouse {
@Schema(description = "物料名称") @Schema(description = "物料名称")
private String goodsName; private String goodsName;
@TableField(exist = false)
private String goodsCodeAndGoodsName;
} }

@ -242,15 +242,29 @@ public class StComboxController {
return R.data(new ArrayList<>()); return R.data(new ArrayList<>());
} }
List<StRealtimeStockVO> allStockList = new ArrayList<>();
// 4. 取出 物料ID(从传入的 stStorehouse 里拿) // 4. 取出 物料ID(从传入的 stStorehouse 里拿)
StGoods goods = stGoodsMapper.queryByCode(stStorehouse.getGoodsCode()); if (StrUtil.isNotBlank(stStorehouse.getGoodsCodeAndGoodsName())) {
List<Long> goodsIdList = stGoodsMapper.getGoods(stStorehouse.getGoodsCodeAndGoodsName());
// 5. 调用 实时库存查询(传入 物料ID + 库房ID) // 5. 调用 实时库存查询(传入 物料ID + 库房ID)
List<StRealtimeStockVO> allStockList = new ArrayList<>(); for (Long shId : shIdList) {
for (Long shId : shIdList) { for (Long goodsId : goodsIdList) {
IPage<StRealtimeStockVO> stockPage = stRealtimeStockService.selectByGoodsIdShId(Condition.getPage(query), goods.getId(), shId, null, null);
allStockList.addAll(stockPage.getRecords()); IPage<StRealtimeStockVO> stockPage = stRealtimeStockService.selectByGoodsIdShId(Condition.getPage(query), goodsId, shId, null, null);
allStockList.addAll(stockPage.getRecords());
}
}
} else {
StGoods goods = stGoodsMapper.queryByCode(stStorehouse.getGoodsCode());
// 5. 调用 实时库存查询(传入 物料ID + 库房ID)
for (Long shId : shIdList) {
IPage<StRealtimeStockVO> stockPage = stRealtimeStockService.selectByGoodsIdShId(Condition.getPage(query), goods.getId(), shId, null, null);
allStockList.addAll(stockPage.getRecords());
}
} }
return R.data(allStockList); return R.data(allStockList);
} }

@ -45,5 +45,7 @@ public interface StGoodsMapper extends BaseMapper<StGoods> {
List<StGoodsVO> selectFindAllGoodsPage(IPage<StGoodsVO> page, StGoodsVO stGoods); List<StGoodsVO> selectFindAllGoodsPage(IPage<StGoodsVO> page, StGoodsVO stGoods);
List<StGoodsVO> queryByShId(IPage<StGoodsVO> page, StGoodsVO stGoods); List<StGoodsVO> queryByShId(IPage<StGoodsVO> page, StGoodsVO stGoods);
List<Long> getGoods(String goodsCodeAndGoodsName);
} }

@ -134,4 +134,13 @@
) WHERE rn = 1 ) WHERE rn = 1
</select> </select>
<select id="getGoods" resultType="java.lang.Long">
SELECT g.id
FROM st_goods g
WHERE g.is_deleted = 0
AND g.used = 1
<if test="goodsCodeAndGoodsName != null and goodsCodeAndGoodsName != ''">
AND (g.goods_code LIKE '%' || #{goodsCodeAndGoodsName} || '%' OR g.goods_name LIKE '%' || #{goodsCodeAndGoodsName} || '%')
</if>
</select>
</mapper> </mapper>

@ -40,6 +40,21 @@
</if> </if>
<!-- 【新增】根据物料编号过滤库房 --> <!-- 【新增】根据物料编号过滤库房 -->
<if test="stStorehouse.goodsCodeAndGoodsName != null and stStorehouse.goodsCodeAndGoodsName != ''">
AND EXISTS (
SELECT 1
FROM st_realtime_stock r
JOIN st_goods g ON r.goods_id = g.id
WHERE r.sh_id = t.id
AND r.is_deleted = 0
AND g.is_deleted = 0
AND (
g.goods_code LIKE '%' || #{stStorehouse.goodsCodeAndGoodsName} || '%'
OR g.goods_name LIKE '%' || #{stStorehouse.goodsCodeAndGoodsName} || '%'
)
)
</if>
<if test="stStorehouse.goodsCode != null and stStorehouse.goodsCode != ''"> <if test="stStorehouse.goodsCode != null and stStorehouse.goodsCode != ''">
AND EXISTS ( AND EXISTS (
SELECT 1 SELECT 1

Loading…
Cancel
Save