From 2e303227c3d50e54c896b4b4bf165b92951e3c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8E=89=E4=B8=9C?= <129883742+liyudong2018@users.noreply.github.com> Date: Sat, 20 Sep 2025 15:57:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ScenarioServiceImpl.java | 191 ++++++++++-------- 1 file changed, 102 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java b/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java index de88e73..ab3523a 100644 --- a/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java +++ b/src/main/java/com/hivekion/statistic/service/impl/ScenarioServiceImpl.java @@ -17,104 +17,117 @@ import com.hivekion.supplier.entity.SupplierRequest; import com.hivekion.supplier.entity.SuppliesDict; 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.Map; import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.springframework.stereotype.Component; @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 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) { - ScenarioInfo scenarioInfo = new ScenarioInfo(); - //获取分队信息 - 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); - if(suppliers==null||suppliers.isEmpty()){ - return new ScenarioInfo(); - } - Map supplierMap = suppliesDictService.supplierDictMap(); + @Resource + private ScenarioTaskService scenarioTaskService; + @Resource + private ISupplierRequestService supplierRequestService; - suppliers.forEach(supplier -> { - - SuppliesDict dict = supplierMap.get(supplier.getSupplierId()); - - if (dict != null) { - switch (dict.getCode()) { - case "FOOD": - scenarioInfo.getFood().setTotal(scenarioInfo.getFood().getTotal()+supplier.getAccount()); - scenarioInfo.getFood().setCurrent(scenarioInfo.getFood().getCurrent()+supplier.getAccount()); - break; - case "WATER": - scenarioInfo.getWater().setTotal(scenarioInfo.getWater().getTotal()+supplier.getAccount()); - scenarioInfo.getWater().setCurrent(scenarioInfo.getWater().getCurrent()+supplier.getAccount()); - break; - case "FUEL": - scenarioInfo.getFuel().setTotal(scenarioInfo.getFuel().getTotal()+supplier.getAccount()); - scenarioInfo.getFuel().setCurrent(scenarioInfo.getFuel().getCurrent()+supplier.getAccount()); - break; - case "MEDICAL": - scenarioInfo.getMedical().setTotal( scenarioInfo.getMedical().getTotal()+supplier.getAccount()); - scenarioInfo.getMedical().setCurrent( scenarioInfo.getMedical().getCurrent()+supplier.getAccount()); - break; - - case "AMMUNITION": - scenarioInfo.getAmmunition().setTotal( scenarioInfo.getAmmunition().getTotal()+supplier.getAccount()); - scenarioInfo.getAmmunition().setCurrent(scenarioInfo.getAmmunition().getCurrent()+supplier.getAccount()); - break; - default: - break; - } - } - }); - - 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.setScenarioTasks(scenarioTasks); - scenarioInfo.setStaffList(staffList); - scenarioInfo.setOrgPostList(orgPostList); - scenarioInfo.setSuppliers(suppliers); - scenarioInfo.setSupplierRequests(supplierRequests); - return scenarioInfo; + @Override + public ScenarioInfo listScenarioInfo(Integer scenarioId, String roomId, String resourceId) { + ScenarioInfo scenarioInfo = new ScenarioInfo(); + //获取分队信息 + 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<>(); } + if (orgList.isEmpty()) { + return new ScenarioInfo(); + } + //获取物资信息 + List suppliers = orgSupplierService.selectByOrgIds(orgList); + if (suppliers == null || suppliers.isEmpty()) { + return new ScenarioInfo(); + } + Map supplierMap = suppliesDictService.supplierDictMap(); + + suppliers.forEach(supplier -> { + + SuppliesDict dict = supplierMap.get(supplier.getSupplierId()); + + if (dict != null) { + switch (dict.getCode()) { + case "FOOD": + scenarioInfo.getFood() + .setTotal(scenarioInfo.getFood().getTotal() + supplier.getAccount()); + scenarioInfo.getFood() + .setCurrent(scenarioInfo.getFood().getCurrent() + supplier.getAccount()); + break; + case "WATER": + scenarioInfo.getWater() + .setTotal(scenarioInfo.getWater().getTotal() + supplier.getAccount()); + scenarioInfo.getWater() + .setCurrent(scenarioInfo.getWater().getCurrent() + supplier.getAccount()); + break; + case "FUEL": + scenarioInfo.getFuel() + .setTotal(scenarioInfo.getFuel().getTotal() + supplier.getAccount()); + scenarioInfo.getFuel() + .setCurrent(scenarioInfo.getFuel().getCurrent() + supplier.getAccount()); + break; + case "MEDICAL": + scenarioInfo.getMedical() + .setTotal(scenarioInfo.getMedical().getTotal() + supplier.getAccount()); + scenarioInfo.getMedical() + .setCurrent(scenarioInfo.getMedical().getCurrent() + supplier.getAccount()); + break; + + case "AMMUNITION": + scenarioInfo.getAmmunition() + .setTotal(scenarioInfo.getAmmunition().getTotal() + supplier.getAccount()); + scenarioInfo.getAmmunition() + .setCurrent(scenarioInfo.getAmmunition().getCurrent() + supplier.getAccount()); + break; + default: + break; + } + } + }); + + 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.setScenarioTasks(scenarioTasks); + scenarioInfo.setStaffList(staffList); + scenarioInfo.setOrgPostList(orgPostList); + scenarioInfo.setSuppliers(suppliers); + scenarioInfo.setSupplierRequests(supplierRequests); + return scenarioInfo; + } }