From ac35ad68b181c020ad4afaf76176bc7f1cdf0c4d Mon Sep 17 00:00:00 2001 From: jiang <1354748262@qq.com> Date: 星期二, 30 一月 2024 13:31:59 +0800 Subject: [PATCH] 修改订单排产时间 --- jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 5 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java index 7439a3b..5965407 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java @@ -1,12 +1,26 @@ package com.jcdm.main.bs.orderScheduling.service.impl; -import java.util.List; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.jcdm.common.utils.DateUtils; +import com.jcdm.common.utils.StringUtils; +import com.jcdm.main.bs.orderScheduling.Query.PrepareOnlineQuery; +import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; +import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; +import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; +import com.jcdm.main.bs.orderScheduling.vo.LineChartVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; -import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; -import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 璁㈠崟鎺掍骇Service涓氬姟灞傚鐞� @@ -15,7 +29,7 @@ * @date 2024-01-13 */ @Service -public class BsOrderSchedulingServiceImpl implements IBsOrderSchedulingService +public class BsOrderSchedulingServiceImpl implements IBsOrderSchedulingService { @Autowired private BsOrderSchedulingMapper bsOrderSchedulingMapper; @@ -41,9 +55,74 @@ @Override public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling) { + if(bsOrderScheduling.getDateConditions()!=null){ + String[] conditions = bsOrderScheduling.getDateConditions(); + bsOrderScheduling.setStartTime(conditions[0]); + bsOrderScheduling.setEndTime(conditions[1]); + } return bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling); } + @Override + public List<LineChartVO> getOffLineNum() + { + List<LineChartVO> result = new ArrayList<>(); + BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.getDayOfMonth(),8,0,0); + LocalDateTime endTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.plusDays(1).getDayOfMonth(),22,0,0); + String s1 = startTime.format(formatter); + String s2 = endTime.format(formatter); + bsOrderScheduling.setStartTime(s1); + bsOrderScheduling.setEndTime(s2); + List<BsOrderScheduling> todayList = bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling); + todayList = todayList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getCvtOfflineTime())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(todayList)){ + List<String> allModel = todayList.stream().map(BsOrderScheduling::getModel).distinct().collect(Collectors.toList()); + Map<String, List<BsOrderScheduling>> collect = new HashMap<>(); + for (String s : allModel) { + LineChartVO vo = new LineChartVO(); + List<Integer> arr = new ArrayList<>(); + vo.setName(s); + collect = todayList.stream().filter(x -> s.equals(x.getModel())).collect(Collectors.groupingBy(item -> new SimpleDateFormat("yyyy-MM-dd HH").format(item + .getCvtOfflineTime()))); + Map<Integer,Integer> temp = new HashMap<>(); + if (CollUtil.isNotEmpty(collect)){ + for (String string : collect.keySet()) { + int size = collect.get(string).size(); + String s3 = string.split(StringUtils.SPACE)[1]; + if (StringUtils.isNotEmpty(s3)){ + int i = Integer.parseInt(s3); + temp.put(i+1,size); + } + } + } + for (int i = 8; i < 23; i++) { + if (i==8){ + arr.add(0); + }else { + arr.add(temp.getOrDefault(i, 0)); + } + } + vo.setData(arr); + vo.setType("line"); + result.add(vo); + } + + } + return result; + } + + + /** + * 鏌ヨ鍚堢涓婄嚎鍒楄〃 + * @param prepareOnlineQuery + * @return list + */ + public List<BsOrderScheduling> getPrepareOnlineList(PrepareOnlineQuery prepareOnlineQuery){ + return bsOrderSchedulingMapper.getPrepareOnlineList(prepareOnlineQuery); + } /** * 鏂板璁㈠崟鎺掍骇 * -- Gitblit v1.9.3