From 79370218e152be17382e792c3cab98e2f1a5a587 Mon Sep 17 00:00:00 2001 From: jiang <1354748262@qq.com> Date: 星期二, 30 一月 2024 16:45:07 +0800 Subject: [PATCH] 修改订单排产时间 --- jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 97 insertions(+), 15 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 9b7dd5c..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,20 +1,35 @@ 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涓氬姟灞傚鐞� * * @author jiang - * @date 2024-01-09 + * @date 2024-01-13 */ @Service -public class BsOrderSchedulingServiceImpl implements IBsOrderSchedulingService +public class BsOrderSchedulingServiceImpl implements IBsOrderSchedulingService { @Autowired private BsOrderSchedulingMapper bsOrderSchedulingMapper; @@ -22,13 +37,13 @@ /** * 鏌ヨ璁㈠崟鎺掍骇 * - * @param orderNumber 璁㈠崟鎺掍骇涓婚敭 + * @param id 璁㈠崟鎺掍骇涓婚敭 * @return 璁㈠崟鎺掍骇 */ @Override - public BsOrderScheduling selectBsOrderSchedulingByOrderNumber(String orderNumber) + public BsOrderScheduling selectBsOrderSchedulingById(Long id) { - return bsOrderSchedulingMapper.selectBsOrderSchedulingByOrderNumber(orderNumber); + return bsOrderSchedulingMapper.selectBsOrderSchedulingById(id); } /** @@ -40,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); + } /** * 鏂板璁㈠崟鎺掍骇 * @@ -52,6 +132,7 @@ @Override public int insertBsOrderScheduling(BsOrderScheduling bsOrderScheduling) { + bsOrderScheduling.setCreateTime(DateUtils.getNowDate()); return bsOrderSchedulingMapper.insertBsOrderScheduling(bsOrderScheduling); } @@ -64,30 +145,31 @@ @Override public int updateBsOrderScheduling(BsOrderScheduling bsOrderScheduling) { + bsOrderScheduling.setUpdateTime(DateUtils.getNowDate()); return bsOrderSchedulingMapper.updateBsOrderScheduling(bsOrderScheduling); } /** * 鎵归噺鍒犻櫎璁㈠崟鎺掍骇 * - * @param orderNumbers 闇�瑕佸垹闄ょ殑璁㈠崟鎺掍骇涓婚敭 + * @param ids 闇�瑕佸垹闄ょ殑璁㈠崟鎺掍骇涓婚敭 * @return 缁撴灉 */ @Override - public int deleteBsOrderSchedulingByOrderNumbers(String[] orderNumbers) + public int deleteBsOrderSchedulingByIds(Long[] ids) { - return bsOrderSchedulingMapper.deleteBsOrderSchedulingByOrderNumbers(orderNumbers); + return bsOrderSchedulingMapper.deleteBsOrderSchedulingByIds(ids); } /** * 鍒犻櫎璁㈠崟鎺掍骇淇℃伅 * - * @param orderNumber 璁㈠崟鎺掍骇涓婚敭 + * @param id 璁㈠崟鎺掍骇涓婚敭 * @return 缁撴灉 */ @Override - public int deleteBsOrderSchedulingByOrderNumber(String orderNumber) + public int deleteBsOrderSchedulingById(Long id) { - return bsOrderSchedulingMapper.deleteBsOrderSchedulingByOrderNumber(orderNumber); + return bsOrderSchedulingMapper.deleteBsOrderSchedulingById(id); } } -- Gitblit v1.9.3