diff --git a/src/main/java/com/wms/controller/MonitorController.java b/src/main/java/com/wms/controller/MonitorController.java index 5ae4ab3..91139c0 100644 --- a/src/main/java/com/wms/controller/MonitorController.java +++ b/src/main/java/com/wms/controller/MonitorController.java @@ -5,14 +5,8 @@ import com.wms.entity.app.monitor.Analysis7Days; import com.wms.entity.app.monitor.FinishDetail; import com.wms.entity.app.monitor.LocationUseDetail; import com.wms.entity.app.monitor.WorkInfoByStand; -import com.wms.entity.table.Location; -import com.wms.entity.table.Stand; -import com.wms.entity.table.WorkFlow; -import com.wms.entity.table.WorkSummary; -import com.wms.service.LocationService; -import com.wms.service.StandService; -import com.wms.service.WorkFlowService; -import com.wms.service.WorkSummaryService; +import com.wms.entity.table.*; +import com.wms.service.*; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -22,8 +16,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.time.LocalDate; +import java.time.chrono.ChronoLocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; import static com.wms.utils.StringUtils.convertJsonString; @@ -39,6 +35,7 @@ public class MonitorController { private final WorkFlowService workFlowService; private final WorkSummaryService workSummaryService; private final StandService standService; + private final StockService stockService; /** * 请求库位使用情况 * @return 库位使用情况 @@ -46,15 +43,24 @@ public class MonitorController { @GetMapping("/getLocationUseDetail") @ResponseBody public String getLocationUseDetail() { + //开始时间 + long l = System.currentTimeMillis(); LocationUseDetail response = new LocationUseDetail(); try { // //总库位 -// int allSize = (int) locationService.count(); -// //空库位 -// int emptySize = (int) locationService.count(new LambdaQueryWrapper() -// .eq(Location::getIsLock, 0) -// .eq(Location::getLocationStatus, 0)); - response = locationService.statisticLocationList(); + int allSize = (int) locationService.count(); + //空库位 + int emptySize = (int) locationService.count(new LambdaQueryWrapper() + .eq(Location::getIsLock, 0) + .eq(Location::getLocationStatus, 0)); + //查询所有库存 + List stockList = stockService.list(); + //根据库存去重库位 + long count = stockList.stream().map(Stock::getLocationId).distinct().count(); + response.setEmpty(emptySize); + response.setUsed((int) count); + response.setEmptyUsed(allSize - emptySize - response.getUsed()); +// response = locationService.statisticLocationList(); } catch (Exception e) { @@ -62,6 +68,7 @@ public class MonitorController { response.setEmpty(0); response.setEmptyUsed(0); } + System.out.println("结束执行getLocationUseDetail方法:"+(System.currentTimeMillis()-l)); return convertJsonString(response); } @@ -73,8 +80,8 @@ public class MonitorController { @ResponseBody public String getAnalysis7Days() { //记录开始时间戳 - long startTime = System.currentTimeMillis(); - System.out.println("开始执行getAnalysis7Days方法:"+startTime); +// long startTime = System.currentTimeMillis(); +// System.out.println("开始执行getAnalysis7Days方法:"+startTime); Analysis7Days response = new Analysis7Days(); List dateList = new ArrayList<>(); WorkInfoByStand works = new WorkInfoByStand(); @@ -86,8 +93,9 @@ public class MonitorController { //List allWorkSummaries = workSummaryService.list(); List workDays = workSummaryService.getRecentWorkDays(); // +// long totalTime = System.currentTimeMillis() - startTime; +// System.out.println("总用时1:" + totalTime); Collections.reverse(workDays); - // List allWorkSummaries = workSummaryService.getByWorkDays(workDays); Map param = new HashMap<>(); param.put("startDate", workDays.get(0)); if(workDays.size() == 1){ @@ -96,6 +104,8 @@ public class MonitorController { param.put("endDate", workDays.get(workDays.size() - 1)); } List allWorkSummaries = workSummaryService.getByWorkDays(param); +// long totalTime2 = System.currentTimeMillis() - startTime; +// System.out.println("总用时2:" + totalTime2); // int dayOffset = 0; // while (dates.size() < 7) { // LocalDate targetDate = now.minusDays(dayOffset++); @@ -174,8 +184,8 @@ public class MonitorController { response.setWorks(works); response.setDate(dateList); //记录总用时 - long totalTime = System.currentTimeMillis() - startTime; - System.out.println("总用时:" + totalTime); +// long totalTime3 = System.currentTimeMillis() - startTime; +// System.out.println("总用时:" + totalTime3); return convertJsonString(response); } diff --git a/src/main/resources/mapper/LocationMapper.xml b/src/main/resources/mapper/LocationMapper.xml index 1ec9bfd..3113551 100644 --- a/src/main/resources/mapper/LocationMapper.xml +++ b/src/main/resources/mapper/LocationMapper.xml @@ -3,6 +3,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - SELECT DISTINCT DATE(work_date) AS work_day + SELECT CAST(work_date AS DATE) AS work_day FROM tbl_app_work_summary - ORDER BY DATE(work_date) DESC - LIMIT 7 + GROUP BY work_day + ORDER BY work_day DESC + LIMIT 7;