diff --git a/klp-cost/src/main/java/com/klp/cost/domain/CostItem.java b/klp-cost/src/main/java/com/klp/cost/domain/CostItem.java index fcbc32c0f..73c6541ec 100644 --- a/klp-cost/src/main/java/com/klp/cost/domain/CostItem.java +++ b/klp-cost/src/main/java/com/klp/cost/domain/CostItem.java @@ -48,6 +48,8 @@ public class CostItem extends BaseEntity { * 查询条件(JSON格式) */ private String queryCondition; + + private Long productionLineId; /** * 删除标识 0=正常 2=删除 */ diff --git a/klp-cost/src/main/java/com/klp/cost/domain/WmsProductionLineSimple.java b/klp-cost/src/main/java/com/klp/cost/domain/WmsProductionLineSimple.java new file mode 100644 index 000000000..1be2c80ff --- /dev/null +++ b/klp-cost/src/main/java/com/klp/cost/domain/WmsProductionLineSimple.java @@ -0,0 +1,16 @@ +package com.klp.cost.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("wms_production_line") +public class WmsProductionLineSimple { + + @TableId(value = "line_id") + private Long lineId; + + private String lineName; +} + diff --git a/klp-cost/src/main/java/com/klp/cost/domain/bo/CostItemBo.java b/klp-cost/src/main/java/com/klp/cost/domain/bo/CostItemBo.java index 25d1cf3b2..866dc5df4 100644 --- a/klp-cost/src/main/java/com/klp/cost/domain/bo/CostItemBo.java +++ b/klp-cost/src/main/java/com/klp/cost/domain/bo/CostItemBo.java @@ -52,5 +52,7 @@ public class CostItemBo extends BaseEntity { */ private String queryCondition; + private Long productionLineId; + } diff --git a/klp-cost/src/main/java/com/klp/cost/domain/vo/CostItemVo.java b/klp-cost/src/main/java/com/klp/cost/domain/vo/CostItemVo.java index d7aa837ed..9d2dd322b 100644 --- a/klp-cost/src/main/java/com/klp/cost/domain/vo/CostItemVo.java +++ b/klp-cost/src/main/java/com/klp/cost/domain/vo/CostItemVo.java @@ -61,5 +61,10 @@ public class CostItemVo { @ExcelProperty(value = "查询条件(JSON格式)") private String queryCondition; + @ExcelProperty(value = "产线ID") + private Long productionLineId; + + @ExcelProperty(value = "产线") + private String productionLineName; } diff --git a/klp-cost/src/main/java/com/klp/cost/service/impl/CostItemServiceImpl.java b/klp-cost/src/main/java/com/klp/cost/service/impl/CostItemServiceImpl.java index ff2bb8d42..e462a6089 100644 --- a/klp-cost/src/main/java/com/klp/cost/service/impl/CostItemServiceImpl.java +++ b/klp-cost/src/main/java/com/klp/cost/service/impl/CostItemServiceImpl.java @@ -1,23 +1,28 @@ package com.klp.cost.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.toolkit.Db; import com.klp.common.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.cost.domain.bo.CostItemBo; import com.klp.cost.domain.vo.CostItemVo; import com.klp.cost.domain.CostItem; +import com.klp.cost.domain.WmsProductionLineSimple; import com.klp.cost.mapper.CostItemMapper; import com.klp.cost.service.ICostItemService; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Objects; +import java.util.stream.Collectors; /** * 成本项目配置Service业务层处理 @@ -36,7 +41,11 @@ public class CostItemServiceImpl implements ICostItemService { */ @Override public CostItemVo queryById(Long itemId){ - return baseMapper.selectVoById(itemId); + CostItemVo vo = baseMapper.selectVoById(itemId); + if (vo != null) { + fillProductionLineName(CollUtil.newArrayList(vo)); + } + return vo; } /** @@ -46,6 +55,7 @@ public class CostItemServiceImpl implements ICostItemService { public TableDataInfo queryPageList(CostItemBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + fillProductionLineName(result.getRecords()); return TableDataInfo.build(result); } @@ -55,7 +65,9 @@ public class CostItemServiceImpl implements ICostItemService { @Override public List queryList(CostItemBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + fillProductionLineName(list); + return list; } private LambdaQueryWrapper buildQueryWrapper(CostItemBo bo) { @@ -66,9 +78,32 @@ public class CostItemServiceImpl implements ICostItemService { lqw.eq(StringUtils.isNotBlank(bo.getCategory()), CostItem::getCategory, bo.getCategory()); lqw.eq(StringUtils.isNotBlank(bo.getUnit()), CostItem::getUnit, bo.getUnit()); lqw.eq(StringUtils.isNotBlank(bo.getQueryCondition()), CostItem::getQueryCondition, bo.getQueryCondition()); + lqw.eq(bo.getProductionLineId() != null, CostItem::getProductionLineId, bo.getProductionLineId()); return lqw; } + private void fillProductionLineName(List voList) { + if (CollUtil.isEmpty(voList)) { + return; + } + List lineIds = voList.stream() + .map(CostItemVo::getProductionLineId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isEmpty(lineIds)) { + return; + } + Map lineNameMap = Db.lambdaQuery(WmsProductionLineSimple.class) + .in(WmsProductionLineSimple::getLineId, lineIds) + .select(WmsProductionLineSimple::getLineId, WmsProductionLineSimple::getLineName) + .list() + .stream() + .collect(Collectors.toMap(WmsProductionLineSimple::getLineId, WmsProductionLineSimple::getLineName, (a, b) -> a)); + + voList.forEach(v -> v.setProductionLineName(lineNameMap.get(v.getProductionLineId()))); + } + /** * 新增成本项目配置 */ diff --git a/klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml b/klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml index c2b63d286..a3d8070e7 100644 --- a/klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml +++ b/klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml @@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/klp-ui/src/views/cost/item.vue b/klp-ui/src/views/cost/item.vue index aacacbad1..275123cf6 100644 --- a/klp-ui/src/views/cost/item.vue +++ b/klp-ui/src/views/cost/item.vue @@ -42,6 +42,17 @@ @keyup.enter.native="handleQuery" /> + + + + + + @@ -157,6 +169,11 @@ + + + + + @@ -174,6 +191,7 @@