feat: 产线负载接口
This commit is contained in:
@@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsProductionLineBo;
|
||||
import com.klp.domain.vo.WmsProductionLineVo;
|
||||
import com.klp.domain.vo.LineLoadInfo;
|
||||
import com.klp.domain.WmsProductionLine;
|
||||
import com.klp.mapper.WmsProductionLineMapper;
|
||||
import com.klp.service.IWmsProductionLineService;
|
||||
@@ -46,6 +47,10 @@ public class WmsProductionLineServiceImpl implements IWmsProductionLineService {
|
||||
public TableDataInfo<WmsProductionLineVo> queryPageList(WmsProductionLineBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsProductionLine> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsProductionLineVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
|
||||
// 填充负载信息
|
||||
fillLoadInfo(result.getRecords());
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -55,7 +60,10 @@ public class WmsProductionLineServiceImpl implements IWmsProductionLineService {
|
||||
@Override
|
||||
public List<WmsProductionLineVo> queryList(WmsProductionLineBo bo) {
|
||||
LambdaQueryWrapper<WmsProductionLine> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
List<WmsProductionLineVo> list = baseMapper.selectVoList(lqw);
|
||||
// 填充负载信息
|
||||
fillLoadInfo(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WmsProductionLine> buildQueryWrapper(WmsProductionLineBo bo) {
|
||||
@@ -110,4 +118,32 @@ public class WmsProductionLineServiceImpl implements IWmsProductionLineService {
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充产线负载信息
|
||||
*/
|
||||
private void fillLoadInfo(List<WmsProductionLineVo> productionLineList) {
|
||||
if (productionLineList == null || productionLineList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
// 获取所有产线ID
|
||||
List<Long> lineIds = productionLineList.stream()
|
||||
.map(WmsProductionLineVo::getLineId)
|
||||
.collect(java.util.stream.Collectors.toList());
|
||||
// 批量查询负载信息
|
||||
List<LineLoadInfo> loadInfoList = baseMapper.selectLineLoadInfo(lineIds);
|
||||
Map<Long, LineLoadInfo> loadInfoMap = loadInfoList.stream()
|
||||
.collect(java.util.stream.Collectors.toMap(LineLoadInfo::getLineId, java.util.function.Function.identity()));
|
||||
// 填充到VO
|
||||
for (WmsProductionLineVo vo : productionLineList) {
|
||||
LineLoadInfo loadInfo = loadInfoMap.get(vo.getLineId());
|
||||
if (loadInfo != null) {
|
||||
vo.setPlanDetailCount(loadInfo.getPlanDetailCount());
|
||||
vo.setTotalPlanDays(loadInfo.getTotalPlanDays());
|
||||
} else {
|
||||
vo.setPlanDetailCount(0);
|
||||
vo.setTotalPlanDays(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user