采购商品回显
This commit is contained in:
1 parent
1c779026f8
commit
fce244e243
5 files changed
+63
-9
No files matched your search
+4
@@ -132,4 +132,8 @@ public class SmErpCgPlanEntity extends Model<SmErpCgPlanEntity> {
|
||||
*/
|
||||
@Schema(description="租户编号")
|
||||
private Long tenantId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description="商品名称")
|
||||
private String productName;
|
||||
}
|
||||
+1
-1
@@ -180,7 +180,7 @@ public class SmErpCgDdController {
|
||||
|
||||
//todo 审核成功条件
|
||||
// wrapper.eq(SmErpCgPlanEntity::getCheckStatus,);
|
||||
return R.ok(smErpCgPlanService.pageScope(page, wrapper));
|
||||
return R.ok(smErpCgPlanService.pageCgsqScope(page, wrapper));
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -73,7 +73,7 @@ public class SmErpCgPlanController {
|
||||
wrapper.eq(Objects.nonNull(smErpCgPlan.getPlanDate()),SmErpCgPlanEntity::getPlanDate,smErpCgPlan.getPlanDate());
|
||||
wrapper.eq(Objects.nonNull(smErpCgPlan.getHandlerUserId()),SmErpCgPlanEntity::getHandlerUserId,smErpCgPlan.getHandlerUserId());
|
||||
wrapper.eq(StrUtil.isNotBlank(smErpCgPlan.getCheckStatus()),SmErpCgPlanEntity::getCheckStatus,smErpCgPlan.getCheckStatus());
|
||||
return R.ok(smErpCgPlanService.page(page, wrapper));
|
||||
return R.ok(smErpCgPlanService.pageScope(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
-1
@@ -36,5 +36,9 @@ public interface SmErpCgPlanService extends IService<SmErpCgPlanEntity> {
|
||||
* @param wrapper
|
||||
* @return
|
||||
*/
|
||||
Page<SmErpCgPlanVo> pageScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper);
|
||||
Page<SmErpCgPlanVo> pageCgsqScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper);
|
||||
|
||||
|
||||
|
||||
Object pageScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper);
|
||||
}
|
||||
+52
-6
@@ -14,9 +14,11 @@ 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.SmErpSpuEntity;
|
||||
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.SmErpSpuMapper;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmErpUnitMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpCgPlanService;
|
||||
import com.bsd.pjcloud.supermarket.vo.cgdd.SmErpCgDdVo;
|
||||
@@ -26,10 +28,7 @@ import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -46,6 +45,8 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
|
||||
private final SmErpUnitMapper smErpUnitMapper;
|
||||
|
||||
private final SmErpSpuMapper smErpSpuMapper;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@@ -93,7 +94,7 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SmErpCgPlanVo> pageScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper) {
|
||||
public Page<SmErpCgPlanVo> pageCgsqScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper) {
|
||||
// 1. 查询主表分页数据
|
||||
Page<SmErpCgPlanEntity> pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
List<SmErpCgPlanEntity> records = pageData.getRecords();
|
||||
@@ -122,6 +123,7 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
|
||||
} else {
|
||||
itemMap = Collections.emptyMap();
|
||||
unitList = Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +136,15 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
SmErpCgPlanItemVo.class
|
||||
);
|
||||
itemVos.forEach(item -> {
|
||||
|
||||
List<SmErpUnitEntity> unitEntities = unitList.stream().filter(unit -> unit.getSpuId().equals(item.getErpSpuId())).collect(Collectors.toList());
|
||||
unitEntities.stream().forEach(unit -> {
|
||||
if(unit.getId().equals(item.getUnitId())){
|
||||
item.setSpec(unit.getSpec());
|
||||
item.setUnit(unit.getUnit());
|
||||
item.setPackageNum(unit.getPackageNum());
|
||||
item.setPurchasePrice(unit.getPurchasePrice());
|
||||
}
|
||||
});
|
||||
});
|
||||
vo.setItems(itemVos);
|
||||
});
|
||||
@@ -145,4 +155,40 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
return resultPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object pageScope(Page page, LambdaQueryWrapper<SmErpCgPlanEntity> wrapper) {
|
||||
Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
List<SmErpCgPlanEntity> records = pageData.getRecords();
|
||||
|
||||
// 2. 提前收集所有主表ID(去重处理)
|
||||
Set<Long> planIds = records.stream()
|
||||
.map(SmErpCgPlanEntity::getId)
|
||||
.collect(Collectors.toSet());
|
||||
LambdaQueryWrapper<SmErpCgPlanItemEntity> smErpCgPlanItemEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpCgPlanItemEntityLambdaQueryWrapper.in(SmErpCgPlanItemEntity::getPlanId,planIds);
|
||||
List<SmErpCgPlanItemEntity> cgPlanItemEntities = smErpCgPlanItemMapper.selectList(smErpCgPlanItemEntityLambdaQueryWrapper);
|
||||
|
||||
Set<Long> erpSpuIds = cgPlanItemEntities.stream().map(SmErpCgPlanItemEntity::getErpSpuId).collect(Collectors.toSet());
|
||||
List<SmErpSpuEntity> smErpSpuEntities = smErpSpuMapper.selectList(new LambdaQueryWrapper<SmErpSpuEntity>().in(SmErpSpuEntity::getId, erpSpuIds));
|
||||
Map<Long,SmErpSpuEntity> spuMap = smErpSpuEntities.stream().collect(Collectors.toMap(SmErpSpuEntity::getId, spu -> spu));
|
||||
|
||||
|
||||
// 按采购计划分组商品名称
|
||||
Map<Long, List<String>> planGoodsMap = cgPlanItemEntities.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
SmErpCgPlanItemEntity::getPlanId,
|
||||
Collectors.mapping(
|
||||
item -> spuMap.getOrDefault(item.getErpSpuId(), new SmErpSpuEntity()).getProductName(),
|
||||
Collectors.toList()
|
||||
)
|
||||
));
|
||||
// 设置商品名称到主表实体
|
||||
records.forEach(plan -> {
|
||||
List<String> names = planGoodsMap.getOrDefault(plan.getId(), Collections.emptyList());
|
||||
plan.setProductName(String.join(", ", names));
|
||||
});
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user