From beb074bf390cdd09b1c8089e395db5f421efc34c Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期三, 23 十月 2024 10:58:53 +0800
Subject: [PATCH] 优化代码
---
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java | 57 +++++++++++++++++++++++++++++++--------------------------
1 files changed, 31 insertions(+), 26 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 228b8d5..4c909c6 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;
@@ -48,7 +49,7 @@
throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅");
}
extractedCheck(p);
- p.setDeleted(false);
+ p.deleted = false;
BaUser loginUser = userUtil.getUser(UserTokenContext.get());
if (loginUser != null) {
p.creator = loginUser.id;
@@ -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 != null && 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