Pārlūkot izejas kodu

盘点任务新增编辑-全盘增加仓库筛选,选择商品显示批次信息bug修改

huang 1 nedēļu atpakaļ
vecāks
revīzija
e4931bee9b

+ 2 - 0
src/main/java/com/jsh/erp/datasource/mappers/MaterialExtendMapperEx.java

@@ -41,4 +41,6 @@ public interface MaterialExtendMapperEx {
      * 仓库删除校验
      */
     int getMaterialExtendCountByDepotIds(@Param("depotIds") String[] depotIds);
+
+    List<Long> getIdsByBarcode(@Param("barCodeList") List<String> barCodeList);
 }

+ 6 - 0
src/main/java/com/jsh/erp/service/MaterialExtendService.java

@@ -60,4 +60,10 @@ public interface MaterialExtendService extends IService<MaterialExtend> {
     int getCountByManyBarCodeWithoutUs(String manyBarCode, String barCode);
 
     MaterialExtend getInfoByBatchNumber(String batchNumber)throws Exception;
+
+    /**
+     * 根据商品条码集合查询商品id
+     * @param barCodeList 商品条码
+     */
+    List<Long> selectIdsByBarCode(List<String> barCodeList);
 }

+ 5 - 1
src/main/java/com/jsh/erp/service/impl/MaterialBatchServiceImpl.java

@@ -42,6 +42,9 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
     @Resource
     private InventoryLogService inventoryLogService;
 
+    @Resource
+    private MaterialService materialService;
+
 
     @Override
     public void generateMaterialBatchByDepotItemId(DepotItem depotItem, Long supplierId) throws Exception {
@@ -165,7 +168,8 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
         if (barCodes != null && !barCodes.isEmpty()){
             barCodeList = Arrays.asList(barCodes.split(","));
         }
-        List<MaterialBatch> list = materialBatchMapper.selectList(new LambdaQueryWrapperX<MaterialBatch>().eq(MaterialBatch::getDepotId,depotId).inIfPresent(MaterialBatch::getBarCode,barCodeList).gt(MaterialBatch::getInventory,BigDecimal.ZERO));
+        List<Long> ids = materialExtendService.selectIdsByBarCode(barCodeList);
+        List<MaterialBatch> list = materialBatchMapper.selectList(new LambdaQueryWrapperX<MaterialBatch>().eq(MaterialBatch::getDepotId,depotId).inIfPresent(MaterialBatch::getMaterialId,ids).gt(MaterialBatch::getInventory,BigDecimal.ZERO));
         return list;
     }
 

+ 10 - 0
src/main/java/com/jsh/erp/service/impl/MaterialExtendServiceImpl.java

@@ -536,6 +536,16 @@ public class MaterialExtendServiceImpl extends ServiceImpl<MaterialExtendMapper,
     }
 
     /**
+     * 根据商品条码集合查询商品id
+     *
+     * @param barCodeList 商品条码
+     */
+    @Override
+    public List<Long> selectIdsByBarCode(List<String> barCodeList) {
+        return materialExtendMapperEx.getIdsByBarcode(barCodeList);
+    }
+
+    /**
      * 设置当前库存
      * @param depotId 仓库id
      * @param mId 商品id

+ 2 - 2
src/main/java/com/jsh/erp/service/impl/TaskStocktakingServiceImpl.java

@@ -70,7 +70,7 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
             List<MaterialBatch> materialBatchList;
             //全盘,抽盘,处理任务明细
             if (taskStocktakingDTO.getTaskType() == 1) {
-                materialBatchList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory));
+                materialBatchList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory).eq(MaterialBatch::getDepotId,taskStocktakingDTO.getDepotId()));
                 collect = materialBatchList
                         .stream()
                         .map(MaterialBatch::getPosition)
@@ -161,7 +161,7 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
             List<MaterialBatch> materialExtendList;
             //全盘,抽盘,处理任务明细
             if (taskStocktakingDTO.getTaskType() == 1) {
-                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory));
+                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory).eq(MaterialBatch::getDepotId,taskStocktakingDTO.getDepotId()));
                 collect = materialExtendList
                         .stream()
                         .map(MaterialBatch::getPosition)

+ 14 - 0
src/main/resources/mapper_xml/MaterialExtendMapperEx.xml

@@ -92,4 +92,18 @@
         )
         AND IFNULL(delete_Flag,'0') != '1'
     </select>
+
+    <select id="getIdsByBarcode" resultType="java.lang.Long">
+        SELECT DISTINCT material_id FROM jsh_material_extend
+        <where>
+            <if test="barCodeList != null and barCodeList.size()>0">
+                and bar_code in
+                <foreach collection="barCodeList" item="item" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+            AND IFNULL(delete_Flag,'0') != '1'
+        </where>
+    </select>
+
 </mapper>