From 732b40515d87a1780a5986227513d507076ca5eb Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 27 八月 2024 13:56:10 +0800 Subject: [PATCH] fix order search --- pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java | 55 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 30 insertions(+), 25 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 2999306..f0ac85d 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 @@ -40,6 +40,7 @@ public void setUserUtil(UserUtil userUtil) { this.userUtil = userUtil; } + @Transactional public int save(PrOrder p) { p.id = null; @@ -123,25 +124,27 @@ } private void changeRate(PrOrder prOrder) { - List<PrOrderItem> items = prOrder.items; - for (int i = 1; i < items.size(); i++) { - for (int j = i - 1; j >= 0; j--) { - //鎷跨潃i渚濇璺熶笂涓�涓瘮杈�,濡傛灉浜у搧鐩稿悓,鍒欎笂涓�涓褰昪omplete_number - number 濡傛灉 > 0 鍒嗙粰i ,濡傛灉 < 0 鍒欏皢 complete_number 缃负0 - if (items.get(j).getProId().intValue() == items.get(i).getProId().intValue()) { - int remainNumber = items.get(j).getCompleteNumber() - items.get(j).getNumber(); - if (remainNumber > 0) { - items.get(j).setCompleteNumber(items.get(j).getNumber()); - items.get(j).setCompleteRate("100.00%"); - items.get(i).setCompleteNumber(remainNumber); - BigDecimal remainBig = new BigDecimal(remainNumber * 100); - BigDecimal iNumberBig = new BigDecimal(items.get(i).getNumber()); - BigDecimal result = remainBig.divide(iNumberBig, 2, RoundingMode.HALF_UP); - items.get(i).setCompleteRate(result.toString() +"%"); - }else{ - items.get(i).setCompleteNumber(0); - items.get(i).setCompleteRate("0.00%"); + if (prOrder.items != null) { + List<PrOrderItem> items = prOrder.items; + for (int i = 1; i < items.size(); i++) { + for (int j = i - 1; j >= 0; j--) { + //鎷跨潃i渚濇璺熶笂涓�涓瘮杈�,濡傛灉浜у搧鐩稿悓,鍒欎笂涓�涓褰昪omplete_number - number 濡傛灉 > 0 鍒嗙粰i ,濡傛灉 < 0 鍒欏皢 complete_number 缃负0 + if (items.get(j).getProId().intValue() == items.get(i).getProId().intValue()) { + int remainNumber = items.get(j).getCompleteNumber() - items.get(j).getNumber(); + if (remainNumber > 0) { + items.get(j).setCompleteNumber(items.get(j).getNumber()); + items.get(j).setCompleteRate("100.00%"); + items.get(i).setCompleteNumber(remainNumber); + BigDecimal remainBig = new BigDecimal(remainNumber * 100); + BigDecimal iNumberBig = new BigDecimal(items.get(i).getNumber()); + BigDecimal result = remainBig.divide(iNumberBig, 2, RoundingMode.HALF_UP); + items.get(i).setCompleteRate(result.toString() + "%"); + } else { + items.get(i).setCompleteNumber(0); + items.get(i).setCompleteRate("0.00%"); + } + break; } - break; } } } @@ -155,27 +158,29 @@ } return orderList; } + /** * 鍙洿鏂扮姸鎬�,涓嶆洿鏂板叾浠栧瓧娈� - * @param order - * 鏇存柊鐘舵�� 濡傛灉鏈夊湪鎵ц涓殑浠诲姟,涓嶈鏆傚仠 + * + * @param order 鏇存柊鐘舵�� 濡傛灉鏈夊湪鎵ц涓殑浠诲姟,涓嶈鏆傚仠 * @return */ - @Transactional + @Transactional public int updateStatus(PrOrder order) { - if(order.status == OrderStatusEnum.NORMAL.getCode()){ + 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; + 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()){ + if (order.status == OrderStatusEnum.NORMAL.getCode()) { String deliveryDateStr = order.getDeliveryDate(); LocalDate endDate = LocalDate.parse(deliveryDateStr, DateTimeFormatter.ISO_LOCAL_DATE); LocalDate nextDay = endDate.plusDays(1); -- Gitblit v1.8.0