package com.hivekion.statistic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hivekion.baseData.entity.Fightpowerstaff; import com.hivekion.baseData.entity.OrgSupplier; import com.hivekion.baseData.service.FightpowerstaffService; import com.hivekion.baseData.service.OrgSupplierService; import com.hivekion.scenario.entity.ScenarioOrgPost; import com.hivekion.scenario.entity.ScenarioResource; import com.hivekion.scenario.entity.ScenarioTask; import com.hivekion.scenario.service.IScenarioOrgPostService; import com.hivekion.scenario.service.ScenarioResourceService; import com.hivekion.scenario.service.ScenarioTaskService; import com.hivekion.statistic.bean.ScenarioInfo; import com.hivekion.statistic.service.ScenarioService; import com.hivekion.supplier.entity.SupplierRequest; import com.hivekion.supplier.service.ISupplierRequestService; import com.hivekion.supplier.service.SuppliesDictService; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Component("WebsocketScenarioService") public class ScenarioServiceImpl implements ScenarioService { @Resource private ScenarioResourceService scenarioResourceService; @Resource private OrgSupplierService orgSupplierService; @Resource private SuppliesDictService suppliesDictService; @Resource private IScenarioOrgPostService scenarioOrgPostService; @Resource private FightpowerstaffService fightpowerstaffService; @Resource private ScenarioTaskService scenarioTaskService; @Resource private ISupplierRequestService supplierRequestService; @Override public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) { //获取分队信息 ScenarioResource resourceInstance = scenarioResourceService.getById(resourceId); //获取关联的组织机构信息 ScenarioOrgPost post = new ScenarioOrgPost(); post.setResourceId(resourceId); List orgPostList = scenarioOrgPostService.selectByCondition(post); List orgList = orgPostList.stream().map(ScenarioOrgPost::getOrgId) .collect(Collectors.toList()); List staffList = null; if(!orgList.isEmpty()){ staffList = fightpowerstaffService.queryByOrgIds(orgList); }else{ staffList = new ArrayList<>(); } //获取物资信息 List suppliers = orgSupplierService.selectByOrgIds(orgList); ScenarioTask scenarioTask = new ScenarioTask(); scenarioTask.setScenarioId(scenarioId); scenarioTask.setRoomId(roomId); scenarioTask.setResourceId(resourceId); List scenarioTasks = scenarioTaskService.queryTaskList(scenarioTask); List supplierRequests = supplierRequestService.list(new QueryWrapper().eq("FROM_RESOURCE_ID",resourceId)); ScenarioInfo scenarioInfo = new ScenarioInfo(); scenarioInfo.setScenarioTasks(scenarioTasks); scenarioInfo.setStaffList(staffList); scenarioInfo.setOrgPostList(orgPostList); scenarioInfo.setSuppliers(suppliers); scenarioInfo.setSupplierRequests(supplierRequests); return scenarioInfo; } }