From 0c479f17e5f9ff3ad638f3af783cf22b0a77fbd0 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期一, 26 八月 2024 16:04:43 +0800 Subject: [PATCH] 排班导出优化 --- pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java | 74 +++++++++++++++++++++++++------------ 1 files changed, 50 insertions(+), 24 deletions(-) diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java index c50b240..228b8d5 100644 --- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java +++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java @@ -1,26 +1,21 @@ package com.dy.pmsProduct.order; -import cn.hutool.core.codec.Base64; import com.dy.common.webFilter.UserTokenContext; import com.dy.common.webUtil.QueryResultVo; -import com.dy.pmsGlobal.daoOth.OthFileMapper; import com.dy.pmsGlobal.daoPr.*; -import com.dy.pmsGlobal.dyFile.FileOperate; import com.dy.pmsGlobal.pojoBa.BaUser; -import com.dy.pmsGlobal.pojoPlt.PltProduct; import com.dy.pmsGlobal.pojoPr.*; import com.dy.pmsGlobal.util.UserUtil; -import com.dy.pmsProduct.order.QueryVo; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -30,10 +25,6 @@ private PrOrderMapper orderDao; private PrOrderItemMapper orderItemDao; private UserUtil userUtil; - private FileOperate fileOperate; - private OthFileMapper othFileMapper; - @Value("${dy.webFile.fmUrl}") - private String fmUrl; @Autowired public void setOrderDao(PrOrderMapper orderDao) { @@ -49,17 +40,6 @@ public void setUserUtil(UserUtil userUtil) { this.userUtil = userUtil; } - - @Autowired - public void setFileOperate(FileOperate fileOperate) { - this.fileOperate = fileOperate; - } - - @Autowired - public void setOthFileMapper(OthFileMapper othFileMapper) { - this.othFileMapper = othFileMapper; - } - @Transactional public int save(PrOrder p) { p.id = null; @@ -67,6 +47,7 @@ if (orderDao.exists(p.name, p.id)) { throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅"); } + extractedCheck(p); p.setDeleted(false); BaUser loginUser = userUtil.getUser(UserTokenContext.get()); if (loginUser != null) { @@ -82,6 +63,7 @@ if (orderDao.exists(p.name, p.id)) { throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅"); } + extractedCheck(p); int count = orderDao.updateByPrimaryKeySelective(p); if (count > 0) { saveOrderItems(p); @@ -114,6 +96,7 @@ public PrOrder selectById(String proId) { PrOrder pro = orderDao.selectByPrimaryKey(Long.valueOf(proId)); + changeRate(pro); return pro; } @@ -162,11 +145,54 @@ } } } - prOrder.setItems(items); } public List<PrOrder> selectAll(QueryVo queryVo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); - return orderDao.selectAll(params); + List<PrOrder> orderList = orderDao.selectAll(params); + for (PrOrder prOrder : orderList) { + changeRate(prOrder); + } + return orderList; + } + /** + * 鍙洿鏂扮姸鎬�,涓嶆洿鏂板叾浠栧瓧娈� + * @param order + * 鏇存柊鐘舵�� 濡傛灉鏈夊湪鎵ц涓殑浠诲姟,涓嶈鏆傚仠 + * @return + */ + @Transactional + public int updateStatus(PrOrder order) { + if(order.status == OrderStatusEnum.NORMAL.getCode()){ + PrOrder prOrder = orderDao.selectByPrimaryKey(order.id); + prOrder.status = order.status; + extractedCheck(prOrder); + } + PrOrder param = new PrOrder(); + param.id =order.id; + param.status = order.status; + return orderDao.updateByPrimaryKeySelective(param); + } + //濡傛灉浜ゆ湡灏忎簬褰撳墠鏃堕棿,涓嶅厑璁歌缃负姝e父 + private void extractedCheck(PrOrder order) { + if(order.status == OrderStatusEnum.NORMAL.getCode()){ + String deliveryDateStr = order.getDeliveryDate(); + LocalDate endDate = LocalDate.parse(deliveryDateStr, DateTimeFormatter.ISO_LOCAL_DATE); + LocalDate nextDay = endDate.plusDays(1); + LocalDate today = LocalDate.now(); // 鑾峰彇褰撳墠鏃ユ湡 + if (nextDay.isBefore(today)) { + throw new RuntimeException("浜や粯鏃ユ湡蹇呴』澶т簬绛変簬褰撳墠鏃ユ湡,璇蜂慨鏀逛氦浠樻棩鏈�"); + } + } + //濡傛灉鏈夊湪鐢熶骇鐨勪换鍔′笉鑳借缃负鏆傚仠 鎴� 缁撴潫 + /* + PrProductionProcess process = processDao.selectByPrimaryKey(order.processId); + if(process == null || !process.proId.equals(order.proId)){ + throw new RuntimeException("浜у搧涓庣敓浜ф祦绋嬩笉鍖归厤"); + } + //寮�濮嬫棩鏈熻灏忎簬缁撴潫鏃ユ湡 + if(order.startDate.compareTo(order.endDate) > 0){ + throw new RuntimeException("寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�"); + }*/ } } \ No newline at end of file -- Gitblit v1.8.0