This commit is contained in:
zjf committed 2025-02-21 16:15:14 +08:00
1 parent ec77d06197
commit 114b31eb8f
3 files changed
+19 -2

No files matched your search

@@ -178,8 +178,8 @@ public class SmErpUnitController {
* @return R
*/
@Operation(summary = "条码查询对应的包装单位商品价格" , description = "条码查询对应的包装单位商品价格" )
@PostMapping("/ad/getSupermarketUnits" )
public R getSupermarketUnits(@RequestParam("barCode")String barCode) {
@PostMapping("/ad/getPriceByBarCode" )
public R getPriceByBarCode(@RequestParam("barCode")String barCode) {
List<UnitPriceInfo> unitPriceInfos=smErpUnitService.listScope(barCode);
return R.ok(unitPriceInfos);
}
@@ -122,5 +122,6 @@ public class SmErpCgDdServiceImpl extends ServiceImpl<SmErpCgDdMapper, SmErpCgDd
org.springframework.beans.BeanUtils.copyProperties(pageData, resultPage, "records"); // 复制分页参数
resultPage.setRecords(voList);
return resultPage;
}
}
@@ -14,8 +14,10 @@ import com.bsd.pjcloud.supermarket.dto.cgplan.SmCgPlanEditItemDTO;
import com.bsd.pjcloud.supermarket.dto.cgplan.SmCgPlanSaveItemDTO;
import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity;
import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanItemEntity;
import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity;
import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanItemMapper;
import com.bsd.pjcloud.supermarket.mapper.SmErpCgPlanMapper;
import com.bsd.pjcloud.supermarket.mapper.SmErpUnitMapper;
import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService;
import com.bsd.pjcloud.supermarket.vo.cgdd.SmErpCgDdVo;
import com.bsd.pjcloud.supermarket.vo.cgplan.SmErpCgPlanVo;
@@ -42,6 +44,8 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
private final SmErpCgPlanItemMapper smErpCgPlanItemMapper;
private final SmErpUnitMapper smErpUnitMapper;
@Override
@@ -101,18 +105,27 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
// 3. 批量查询所有子表数据(仅1次数据库查询)
Map<Long, List<SmErpCgPlanItemEntity>> itemMap;
List<SmErpUnitEntity> unitList;
if (!planIds.isEmpty()) {
LambdaQueryWrapper<SmErpCgPlanItemEntity> itemWrapper = new LambdaQueryWrapper<>();
itemWrapper.in(SmErpCgPlanItemEntity::getPlanId, planIds);
List<SmErpCgPlanItemEntity> items = smErpCgPlanItemMapper.selectList(itemWrapper);
//获取采购item下已选择的item的所有包装单位
List<Long> spuIds =items.stream().map(vo -> vo.getErpSpuId()).collect(Collectors.toList());
unitList = smErpUnitMapper.selectList(new LambdaQueryWrapper<SmErpUnitEntity>().in(SmErpUnitEntity::getSpuId, spuIds));
// 按planId分组建立映射关系
itemMap = items.stream()
.collect(Collectors.groupingBy(SmErpCgPlanItemEntity::getPlanId));
} else {
itemMap = Collections.emptyMap();
}
// 4. 转换主表VO并关联子表数据
List<SmErpCgPlanVo> voList = BeanUtils.toBean(records, SmErpCgPlanVo.class);
voList.forEach(vo -> {
@@ -120,6 +133,9 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
itemMap.getOrDefault(vo.getId(), Collections.emptyList()),
SmErpCgPlanItemVo.class
);
itemVos.forEach(item -> {
});
vo.setItems(itemVos);
});
Page<SmErpCgPlanVo> resultPage = new Page<>();