package com.qianwen.mdc.service.workshop; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.apache.tomcat.util.buf.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.qianwen.mdc.domain.Section; import com.qianwen.mdc.domain.workshop.Workshop; import com.qianwen.mdc.domain.workshop.WorkshopAssembler; import com.qianwen.mdc.dto.workshop.WorkshopDTO; import com.qianwen.mdc.dto.workshop.WorkshopFullDTO; import com.qianwen.mdc.dto.workshop.WorkshopQueryDTO; import com.qianwen.mdc.mapper.SectionMapper; import com.qianwen.mdc.mapper.WorkshopMapper; /** * @author y_ys79 * 车间服务,提供增删改查全部操作(逻辑比较简单) */ @Service public class WorkshopService { @Autowired private WorkshopMapper workshopMapper; @Autowired private SectionMapper sectionMapper; /** * 获取车间列表,附带车间下的工段数据 * @return */ @Transactional(readOnly=true) public List listWithSections() { List list = workshopMapper.selectList(Wrappers.emptyWrapper()); return list.stream().map(ws -> { List
sectionList = sectionMapper.queryByWorkshopId(ws.getId()); WorkshopDTO wsDTO = WorkshopAssembler.toDTO(ws,sectionList); return wsDTO; }).collect(Collectors.toList()); } @Transactional(readOnly=true) public Page pageQuery(WorkshopQueryDTO dto) { Page rowPage = new Page<>(dto.finalPageNo(),dto.finalPageSize()); rowPage = workshopMapper.queryPage(rowPage, dto); rowPage.getRecords().forEach((ws) -> { List
sectionList = sectionMapper.queryByWorkshopId(ws.getId()); List nameList = new ArrayList<>(); for(Section s : sectionList) { nameList.add(s.getName()); } ws.setSectionNames(StringUtils.join(nameList,',')); }); return rowPage; } }