Procházet zdrojové kódy

Merge remote-tracking branch 'origin/dev_huangjunjie'

13660505945 před 3 týdny
rodič
revize
0846e8e16d

+ 1 - 1
src/main/java/com/jsh/erp/controller/DepotItemController.java

@@ -149,7 +149,7 @@ public class DepotItemController {
         Map<String, Object> map = new HashMap<String, Object>();
         try {
             BigDecimal stock = BigDecimal.ZERO;
-            List<MaterialVo4Unit> list = materialService.getMaterialByBatchNumber(barCode);
+            List<MaterialVo4Unit> list = materialService.getMaterialByBarCode(barCode);
             if(list!=null && list.size()>0) {
                 MaterialVo4Unit materialVo4Unit = list.get(0);
                 if(StringUtil.isNotEmpty(materialVo4Unit.getSku())){

+ 2 - 56
src/main/java/com/jsh/erp/controller/MaterialController.java

@@ -7,6 +7,7 @@ import com.jsh.erp.base.BaseController;
 import com.jsh.erp.base.TableDataInfo;
 import com.jsh.erp.datasource.dto.MaterialDto;
 import com.jsh.erp.datasource.entities.*;
+import com.jsh.erp.datasource.vo.TaskStocktakingItemVO;
 import com.jsh.erp.service.*;
 import com.jsh.erp.utils.*;
 import io.swagger.annotations.Api;
@@ -843,62 +844,7 @@ public class MaterialController extends BaseController {
             Long userId = userService.getUserId(request);
             String priceLimit = userService.getRoleTypeByUserId(userId).getPriceLimit();
             String[] mpArr = mpList.split(",");
-            //支持序列号查询,先根据序列号查询条码,如果查不到就直接查条码
-//            MaterialExtend materialExtend = materialService.getMaterialExtendBySerialNumber(barCode);
-//            if(materialExtend!=null && StringUtil.isNotEmpty(materialExtend.getBarCode())) {
-//                barCode = materialExtend.getBarCode();
-//            }
-            List<MaterialVo4Unit> list = materialService.getMaterialByBatchNumber(batchNumber);
-            if(list!=null && list.size()>0) {
-                for(MaterialVo4Unit mvo: list) {
-                    mvo.setMaterialOther(materialService.getMaterialOtherByParam(mpArr, mvo));
-                    if ("LSCK".equals(prefixNo) || "LSTH".equals(prefixNo)) {
-                        //零售价
-                        mvo.setBillPrice(mvo.getCommodityDecimal());
-                    } else if ("CGDD".equals(prefixNo) || "CGRK".equals(prefixNo) || "CGTH".equals(prefixNo)) {
-                        //采购价
-                        mvo.setBillPrice(mvo.getPurchaseDecimal());
-                    } else if("QTRK".equals(prefixNo) || "DBCK".equals(prefixNo) || "ZZD".equals(prefixNo) || "CXD".equals(prefixNo)
-                            || "PDLR".equals(prefixNo) || "PDFP".equals(prefixNo)) {
-                        //采购价-给录入界面按权限屏蔽
-                        mvo.setBillPrice(roleService.parseBillPriceByLimit(mvo.getPurchaseDecimal(), "buy", priceLimit, request));
-                    } if ("XSDD".equals(prefixNo) || "XSCK".equals(prefixNo) || "XSTH".equals(prefixNo) || "QTCK".equals(prefixNo)) {
-                        //销售价
-                        if(organId == null) {
-                            mvo.setBillPrice(mvo.getWholesaleDecimal());
-                        } else {
-                            //查询最后一单的销售价,实现不同的客户不同的销售价
-                            BigDecimal lastUnitPrice = depotItemService.getLastUnitPriceByParam(organId, mvo.getMeId(), prefixNo);
-                            mvo.setBillPrice(lastUnitPrice!=null? lastUnitPrice : mvo.getWholesaleDecimal());
-                        }
-                        //销售价-给录入界面按权限屏蔽价格
-                        if("QTCK".equals(prefixNo)) {
-                            mvo.setBillPrice(roleService.parseBillPriceByLimit(mvo.getWholesaleDecimal(), "sale", priceLimit, request));
-                        }
-                    }
-                    //仓库id
-//                    if (depotId == null) {
-//                        JSONArray depotArr = depotService.findDepotByCurrentUser();
-//                        for (Object obj : depotArr) {
-//                            JSONObject depotObj = JSONObject.parseObject(obj.toString());
-//                            if (depotObj.get("isDefault") != null) {
-//                                Boolean isDefault = depotObj.getBoolean("isDefault");
-//                                if (isDefault) {
-//                                    Long id = depotObj.getLong("id");
-//                                    if (!"CGDD".equals(prefixNo) && !"XSDD".equals(prefixNo)) {
-//                                        //除订单之外的单据才有仓库
-//                                        mvo.setDepotId(id);
-//                                    }
-//                                    getStockByMaterialInfo(mvo);
-//                                }
-//                            }
-//                        }
-//                    } else {
-//                        mvo.setDepotId(depotId);
-//                        getStockByMaterialInfo(mvo);
-//                    }
-                }
-            }
+            List<TaskStocktakingItemVO> list = materialService.getMaterialByBatchNumber(batchNumber);
             res.code = 200;
             res.data = list;
         } catch(Exception e){

+ 1 - 1
src/main/java/com/jsh/erp/controller/materialBatch/MaterialBatchController.java

@@ -56,7 +56,7 @@ public class MaterialBatchController extends BaseController {
                 str.append("," + material.getBatchNumber());
             }
         }
-        return AjaxResult.success(str.deleteCharAt(0));
+        return AjaxResult.success(str.length() > 1 ? str.deleteCharAt(0) : str);
     }
 
 }

+ 8 - 13
src/main/java/com/jsh/erp/controller/stocktaking/StocktakingController.java

@@ -9,17 +9,11 @@ import com.jsh.erp.datasource.dto.TaskStocktakingDTO;
 import com.jsh.erp.datasource.dto.TaskStocktakingItemDTO;
 import com.jsh.erp.datasource.dto.TaskStocktakingItemQueryDTO;
 import com.jsh.erp.datasource.dto.TaskStocktakingQueryDTO;
-import com.jsh.erp.datasource.entities.MaterialExtend;
-import com.jsh.erp.datasource.entities.TaskStocktaking;
-import com.jsh.erp.datasource.entities.TaskStocktakingItem;
-import com.jsh.erp.datasource.entities.User;
+import com.jsh.erp.datasource.entities.*;
 import com.jsh.erp.datasource.vo.SpinnerVO;
 import com.jsh.erp.datasource.vo.TaskStocktakingVO;
 import com.jsh.erp.query.LambdaQueryWrapperX;
-import com.jsh.erp.service.MaterialExtendService;
-import com.jsh.erp.service.TaskStocktakingItemService;
-import com.jsh.erp.service.TaskStocktakingService;
-import com.jsh.erp.service.UserService;
+import com.jsh.erp.service.*;
 import com.jsh.erp.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,7 +39,8 @@ public class StocktakingController extends BaseController {
     private TaskStocktakingItemService taskStocktakingItemService;
 
     @Resource
-    private MaterialExtendService materialExtendService;
+    private MaterialBatchService materialBatchService;
+
 
     @ApiOperation("盘点任务列表")
     @PostMapping("/list")
@@ -181,10 +176,10 @@ public class StocktakingController extends BaseController {
             taskStocktakingService.update(new UpdateWrapper<TaskStocktaking>().set("task_status", 5).eq("id", id));
             List<TaskStocktakingItem> list = taskStocktakingItemService.list(new LambdaQueryWrapperX<TaskStocktakingItem>().eq(TaskStocktakingItem::getTaskStocktakingId,id));
             for (TaskStocktakingItem taskStocktakingItem : list) {
-                MaterialExtend materialExtend = materialExtendService.getMaterialExtend(taskStocktakingItem.getMaterialItemId());
-                materialExtend.setInventory(taskStocktakingItem.getNewInventory());
-                materialExtend.setPosition(taskStocktakingItem.getNewPosition());
-                //materialExtendService.updateInventory("盘点",taskStocktakingItem.getId(),materialExtend);
+                MaterialBatch materialBatch = materialBatchService.getById(taskStocktakingItem.getMaterialItemId());
+                materialBatch.setInventory(taskStocktakingItem.getNewInventory());
+                materialBatch.setPosition(taskStocktakingItem.getNewPosition());
+                materialBatchService.updateInventory("盘点",taskStocktakingItem.getId(),materialBatch);
             }
         }
         return AjaxResult.success();

+ 2 - 1
src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java

@@ -5,6 +5,7 @@ import com.jsh.erp.datasource.pda.dto.PDAInventoryDTO;
 import com.jsh.erp.datasource.pda.vo.PDADepotItemVO;
 import com.jsh.erp.datasource.vo.MaterialCurrentStock4SystemSku;
 import com.jsh.erp.datasource.vo.MaterialVoSearch;
+import com.jsh.erp.datasource.vo.TaskStocktakingItemVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
@@ -162,7 +163,7 @@ public interface MaterialMapperEx {
     MaterialExtend getMaterialExtendBySerialNumber(
             @Param("serialNumber") String serialNumber);
 
-    List<MaterialVo4Unit> getMaterialByBatchNumber(@Param("batchNumberArray") String [] batchNumberArray);
+    List<TaskStocktakingItemVO> getMaterialByBatchNumber(@Param("batchNumberArray") String [] batchNumberArray);
 
     List<MaterialVo4Unit> getMaterialBySystemSku(@Param("systemSkuArray") String [] systemSkuArray);
 

+ 1 - 1
src/main/java/com/jsh/erp/service/MaterialBatchService.java

@@ -19,7 +19,7 @@ public interface MaterialBatchService extends IService<MaterialBatch> {
      * @param depotItem 单据子表id
      */
     @Transactional(value = "transactionManager", rollbackFor = Exception.class)
-    void generateMaterialBatchByDepotItemId(DepotItem depotItem) throws Exception;
+    void generateMaterialBatchByDepotItemId(DepotItem depotItem, Long supplierId) throws Exception;
 
     /**
      * 根据单据子表id处理商品批次数据

+ 2 - 1
src/main/java/com/jsh/erp/service/MaterialService.java

@@ -11,6 +11,7 @@ import com.jsh.erp.datasource.pda.vo.PDADepotItemVO;
 import com.jsh.erp.datasource.vo.MaterialCurrentStock4SystemSku;
 import com.jsh.erp.datasource.pda.vo.PDATypeTree;
 import com.jsh.erp.datasource.vo.MaterialWarnListVo;
+import com.jsh.erp.datasource.vo.TaskStocktakingItemVO;
 import com.jsh.erp.utils.BaseResponseInfo;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
@@ -179,7 +180,7 @@ public interface MaterialService extends IService<Material> {
 
     MaterialExtend getMaterialExtendBySerialNumber(String serialNumber);
 
-    List<MaterialVo4Unit> getMaterialByBatchNumber(String batchNumber);
+    List<TaskStocktakingItemVO> getMaterialByBatchNumber(String batchNumber);
 
     Material getMaterialById(Long id);
 

+ 1 - 7
src/main/java/com/jsh/erp/service/impl/DepotHeadServiceImpl.java

@@ -2,19 +2,14 @@ package com.jsh.erp.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.jsh.erp.constants.BusinessConstants;
 import com.jsh.erp.constants.ExceptionConstants;
 import com.jsh.erp.datasource.entities.*;
 import com.jsh.erp.datasource.mappers.DepotHeadMapper;
 import com.jsh.erp.datasource.mappers.DepotHeadMapperEx;
 import com.jsh.erp.datasource.mappers.DepotItemMapperEx;
-import com.jsh.erp.datasource.mappers.MaterialCurrentStockMapper;
-import com.jsh.erp.datasource.mappers.MaterialCurrentStockMapperEx;
 import com.jsh.erp.datasource.pda.dto.PDADepotHeadDTO;
 import com.jsh.erp.datasource.pda.dto.PDADepotMaterialDto;
 import com.jsh.erp.datasource.pda.vo.PDADepotHeadVO;
@@ -26,7 +21,6 @@ import com.jsh.erp.query.QueryWrapperX;
 import com.jsh.erp.service.*;
 import com.jsh.erp.util.QRCodeGenerator;
 import com.jsh.erp.utils.ExcelUtils;
-import com.jsh.erp.utils.HttpClient;
 import com.jsh.erp.utils.PageUtils;
 import com.jsh.erp.utils.StringUtil;
 import com.jsh.erp.utils.Tools;
@@ -2051,7 +2045,7 @@ public class DepotHeadServiceImpl extends ServiceImpl<DepotHeadMapper, DepotHead
             depotItemService.insertDepotItemWithObj(depotItem);
             if(BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType())){
                 //表单入库,新增批次商品信息
-                materialBatchService.generateMaterialBatchByDepotItemId(depotItem);
+                materialBatchService.generateMaterialBatchByDepotItemId(depotItem,depotHead.getOrganId());
             }else if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())){
                 //表单出库,修改商品库存
                 //materialExtend.setInventory(materialExtend.getInventory().subtract(depotItem.getBasicNumber()));

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

@@ -824,7 +824,7 @@ public class DepotItemServiceImpl extends ServiceImpl<DepotItemMapper, DepotItem
                 this.insertDepotItemWithObj(depotItem);
                 if(BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType())){
                     //表单入库,新增批次商品信息
-                    materialBatchService.generateMaterialBatchByDepotItemId(depotItem);
+                    materialBatchService.generateMaterialBatchByDepotItemId(depotItem,depotHead.getOrganId());
                 }else if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())){
                     //表单出库,修改商品库存
                     //materialExtend.setInventory(materialExtend.getInventory().subtract(depotItem.getBasicNumber()));

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

@@ -41,14 +41,10 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
     @Resource
     private InventoryLogService inventoryLogService;
 
-    @Resource
-    private MaterialCategoryMapperEx materialCategoryMapperEx;
-
 
     @Override
-    public void generateMaterialBatchByDepotItemId(DepotItem depotItem) throws Exception {
+    public void generateMaterialBatchByDepotItemId(DepotItem depotItem, Long supplierId) throws Exception {
         //获取单据子表信息
-        //DepotItem depotItem = depotItemService.getDepotItem(diId);
         //获取条码信息
         MaterialExtend materialExtend = materialExtendService.getMaterialExtend(depotItem.getMaterialExtendId());
         //创建批次信息
@@ -57,6 +53,8 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
         materialBatch.setDepotItemId(depotItem.getId());
         //设置商品id
         materialBatch.setMaterialId(depotItem.getMaterialId());
+        //设置供应商id
+        materialBatch.setSupplierId(supplierId);
         //设置商品单位
         materialBatch.setCommodityUnit(depotItem.getMaterialUnit());
         User user = userService.getCurrentUser();
@@ -83,7 +81,7 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
     }
 
     @Override
-    public synchronized void handleMaterialBatchByDepotItemId(Long diId) throws Exception {
+    public void handleMaterialBatchByDepotItemId(Long diId) throws Exception {
         DepotItem depotItem = depotItemService.getDepotItem(diId);
         //根据单据商品id查询商品批次数据
         List<MaterialBatch> list = materialBatchMapper.getMaterialBatchByMaterialId(depotItem.getMaterialId());
@@ -125,6 +123,8 @@ public class MaterialBatchServiceImpl extends ServiceImpl<MaterialBatchMapper,Ma
                 log.setType(type);
                 inventoryLogService.save(log);
                 update(new UpdateWrapper<MaterialBatch>().set("inventory",materialBatch.getInventory()).eq("id",materialBatch.getId()));
+                //更新当前库存
+                depotItemService.updateCurrentStockFun(materialBatch.getMaterialId(),materialBatch.getDepotId());
             }
         }
     }

+ 3 - 5
src/main/java/com/jsh/erp/service/impl/MaterialServiceImpl.java

@@ -16,6 +16,7 @@ import com.jsh.erp.datasource.vo.MaterialCurrentStock4SystemSku;
 import com.jsh.erp.datasource.pda.vo.PDATypeTree;
 import com.jsh.erp.datasource.vo.MaterialVoSearch;
 import com.jsh.erp.datasource.vo.MaterialWarnListVo;
+import com.jsh.erp.datasource.vo.TaskStocktakingItemVO;
 import com.jsh.erp.exception.BusinessRunTimeException;
 import com.jsh.erp.exception.JshException;
 import com.jsh.erp.query.LambdaQueryWrapperX;
@@ -1598,12 +1599,9 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> i
      * @param batchNumber 批次号
      */
     @Override
-    public List<MaterialVo4Unit> getMaterialByBatchNumber(String batchNumber) {
+    public List<TaskStocktakingItemVO> getMaterialByBatchNumber(String batchNumber) {
         String [] batchNumberArray=batchNumber.split(",");
-        List<MaterialVo4Unit> list =  materialMapperEx.getMaterialByBatchNumber(batchNumberArray);
-        list.forEach(v -> {
-            v.setUnitList(v.getUnitId() == null ? null : unitService.getUnitListByID(v.getUnitId()));
-        });
+        List<TaskStocktakingItemVO> list =  materialMapperEx.getMaterialByBatchNumber(batchNumberArray);
         return list;
     }
 

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

@@ -67,27 +67,27 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
     public boolean add(TaskStocktakingDTO taskStocktakingDTO) {
         try {
             List<String> collect;
-            List<MaterialBatch> materialExtendList;
+            List<MaterialBatch> materialBatchList;
             //全盘,抽盘,处理任务明细
             if (taskStocktakingDTO.getTaskType() == 1) {
-                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory));
-                collect = materialExtendList
+                materialBatchList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory));
+                collect = materialBatchList
                         .stream()
                         .map(MaterialBatch::getPosition)
                         .collect(Collectors.toList());
-                List<Long> materialIdList = materialExtendList.stream().map(MaterialBatch::getMaterialId).distinct().collect(Collectors.toList());
+                List<Long> materialIdList = materialBatchList.stream().map(MaterialBatch::getMaterialId).distinct().collect(Collectors.toList());
                 List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapperX<Material>().eq(Material::getId, materialIdList));
                 List<Long> categoryIdList = materialList.stream().map(Material::getCategoryId).distinct().collect(Collectors.toList());
                 taskStocktakingDTO.setCategoryCount(categoryIdList.size());
-                taskStocktakingDTO.setMaterialCount(materialExtendList.size());
+                taskStocktakingDTO.setMaterialCount(materialBatchList.size());
             } else {
-                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().in(MaterialBatch::getBatchNumber, taskStocktakingDTO.getMaterialExtendIdList()));
-                collect = materialExtendList.stream().map(MaterialBatch::getPosition).collect(Collectors.toList());
-                List<Long> materialIdList = materialExtendList.stream().map(MaterialBatch::getMaterialId).collect(Collectors.toList());
+                materialBatchList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().in(MaterialBatch::getBatchNumber, taskStocktakingDTO.getMaterialExtendIdList()));
+                collect = materialBatchList.stream().map(MaterialBatch::getPosition).collect(Collectors.toList());
+                List<Long> materialIdList = materialBatchList.stream().map(MaterialBatch::getMaterialId).collect(Collectors.toList());
                 List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapperX<Material>().in(Material::getId, materialIdList));
                 List<Long> categoryIdList = materialList.stream().map(Material::getCategoryId).distinct().collect(Collectors.toList());
                 taskStocktakingDTO.setCategoryCount(categoryIdList.size());
-                taskStocktakingDTO.setMaterialCount(materialExtendList.size());
+                taskStocktakingDTO.setMaterialCount(materialBatchList.size());
             }
             //处理商品库位范围处理
             String positionRange = extractRangePair(collect);
@@ -102,7 +102,7 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
             this.save(taskStocktakingDTO);
             //生成任务明细
             List<TaskStocktakingItem> taskStocktakingItemList = new ArrayList<>();
-            materialExtendList.forEach(item -> {
+            materialBatchList.forEach(item -> {
                 TaskStocktakingItem taskStocktakingItem = new TaskStocktakingItem();
                 taskStocktakingItem.setTaskStocktakingId(taskStocktakingDTO.getId());
                 taskStocktakingItem.setMaterialItemId(item.getId());
@@ -153,23 +153,23 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
     public boolean detailUpdate(TaskStocktakingDTO taskStocktakingDTO) {
         try {
             List<String> collect;
-            List<MaterialExtend> materialExtendList;
+            List<MaterialBatch> materialExtendList;
             //全盘,抽盘,处理任务明细
             if (taskStocktakingDTO.getTaskType() == 1) {
-                materialExtendList = materialExtendMapper.selectList(new LambdaQueryWrapper<MaterialExtend>().ne(MaterialExtend::getInventory, BigDecimal.ZERO).isNotNull(MaterialExtend::getInventory));
+                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().ne(MaterialBatch::getInventory, BigDecimal.ZERO).isNotNull(MaterialBatch::getInventory));
                 collect = materialExtendList
                         .stream()
-                        .map(MaterialExtend::getPosition)
+                        .map(MaterialBatch::getPosition)
                         .collect(Collectors.toList());
-                List<Long> materialIdList = materialExtendList.stream().map(MaterialExtend::getMaterialId).distinct().collect(Collectors.toList());
+                List<Long> materialIdList = materialExtendList.stream().map(MaterialBatch::getMaterialId).distinct().collect(Collectors.toList());
                 List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapperX<Material>().eq(Material::getId, materialIdList));
                 List<Long> categoryIdList = materialList.stream().map(Material::getCategoryId).distinct().collect(Collectors.toList());
                 taskStocktakingDTO.setCategoryCount(categoryIdList.size());
                 taskStocktakingDTO.setMaterialCount(materialExtendList.size());
             } else {
-                materialExtendList = materialExtendMapper.selectList(new LambdaQueryWrapper<MaterialExtend>().in(MaterialExtend::getBatchNumber, taskStocktakingDTO.getMaterialExtendIdList()));
-                collect = materialExtendList.stream().map(MaterialExtend::getPosition).collect(Collectors.toList());
-                List<Long> materialIdList = materialExtendList.stream().map(MaterialExtend::getMaterialId).collect(Collectors.toList());
+                materialExtendList = materialBatchMapper.selectList(new LambdaQueryWrapper<MaterialBatch>().in(MaterialBatch::getBatchNumber, taskStocktakingDTO.getMaterialExtendIdList()));
+                collect = materialExtendList.stream().map(MaterialBatch::getPosition).collect(Collectors.toList());
+                List<Long> materialIdList = materialExtendList.stream().map(MaterialBatch::getMaterialId).collect(Collectors.toList());
                 List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapperX<Material>().in(Material::getId, materialIdList));
                 List<Long> categoryIdList = materialList.stream().map(Material::getCategoryId).distinct().collect(Collectors.toList());
                 taskStocktakingDTO.setCategoryCount(categoryIdList.size());
@@ -195,7 +195,7 @@ public class TaskStocktakingServiceImpl extends ServiceImpl<TaskStocktakingMappe
                     addTaskStocktakingItemList.add(taskStocktakingItem);
                 }
             });
-            List<Long> materialExtendIdList = materialExtendList.stream().map(MaterialExtend::getId).collect(Collectors.toList());
+            List<Long> materialExtendIdList = materialExtendList.stream().map(MaterialBatch::getId).collect(Collectors.toList());
             taskStocktakingItemIdList.forEach(item -> {
                 if (!materialExtendIdList.contains(item)) {
                     TaskStocktakingItem taskStocktakingItem = new TaskStocktakingItem();

+ 1 - 3
src/main/resources/application-dev.yml

@@ -35,10 +35,8 @@ tesco:
   openSycn: false
   sycnErpMaterialStockUrl: http://localhost:8088/no-auth/erp/sync-stock
   sycnErpMaterialPriceUrl: http://localhost:8088/no-auth/erp/sync-saleprice
+
 mybatis-plus:
-  global-config:
-    db-config:
-      id-type: auto
   configuration:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     #   log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl

+ 1 - 1
src/main/resources/mapper_xml/DepotItemMapper.xml

@@ -665,7 +665,7 @@
     WHERE
       di.delete_flag = '0'
       AND dh.delete_flag = '0'
-      AND dh.status in ('2','3')
+      AND dh.status in ('1','2','3')
       AND dh.type = #{type}
       AND di.material_id = #{materialId}
   </select>

+ 20 - 3
src/main/resources/mapper_xml/MaterialMapperEx.xml

@@ -791,12 +791,29 @@
         limit 0,1
     </select>
 
-    <select id="getMaterialByBatchNumber" parameterType="com.jsh.erp.datasource.entities.MaterialExample" resultType="com.jsh.erp.datasource.entities.MaterialVo4Unit">
-        select m.*,u.name unit_name, me.id meId, me.commodity_unit, me.purchase_decimal, me.commodity_decimal,me.inventory,
-        me.wholesale_decimal, me.low_decimal, me.sku,me.production_date, me.expiry_num, me.supplier_id, me.bar_code, me.batch_number, me.depot_id, me.position,d.`name` depotName,s.supplier supplierName
+    <select id="getMaterialByBatchNumber" parameterType="com.jsh.erp.datasource.entities.MaterialExample" resultType="com.jsh.erp.datasource.vo.TaskStocktakingItemVO">
+        select
+        mc.`name` AS category_name,
+        m.`name` AS material_name,
+        m.standard AS standard,
+        m.model AS model,
+        m.color AS color,
+        m.brand AS brand,
+        me.position AS position,
+        me.batch_number AS batch_number,
+        m.system_sku AS system_sku,
+        me.sku AS sku,
+        me.commodity_unit AS commodity_unit,
+        me.production_date AS production_date,
+        s.supplier AS supplier_name,
+        me.bar_code AS bar_code,
+        me.inventory AS inventory,
+        me.expiry_num AS expiry_num,
+        d.`name` AS depot_name
         from jsh_material m
         left join material_batch me on m.id=me.material_id and ifnull(me.delete_Flag,'0') !='1'
         left join jsh_unit u on m.unit_id=u.id and ifnull(u.delete_Flag,'0') !='1'
+        LEFT JOIN jsh_material_category mc ON mc.id = m.category_id
         left JOIN jsh_depot d on me.depot_id = d.id and ifnull(d.delete_Flag,'0') !='1'
         left JOIN jsh_supplier s on me.supplier_id = s.id and ifnull(s.delete_Flag,'0') !='1'
         where

+ 1 - 1
src/main/resources/mapper_xml/TaskStocktakingMapper.xml

@@ -60,7 +60,7 @@
                 LEFT JOIN jsh_user u ON ts.creator = u.id
                 LEFT JOIN task_stocktaking_item tsi ON ts.id = tsi.task_stocktaking_id
         <where>
-            ts.delete_flag = 0
+            ts.delete_flag = 0 AND tsi.delete_flag = 0
             <if test="number != null and number != ''">
                 AND (ts.number LIKE CONCAT('%',#{number},'%') OR ts.task_name LIKE CONCAT('%',#{number},'%'))
             </if>