From 05e8b12d65aa67415f0f32893449a9a48a6c9a48 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Mon, 18 Jan 2021 00:10:50 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 41 insertions(+), 14 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 4a5ebcc..8bd6280 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -7,6 +7,7 @@
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.OrderListDto;
+import com.matrix.system.app.mapper.SysProjUseMapper;
import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.app.vo.OrderDetailVo;
@@ -106,6 +107,7 @@
@Autowired
private SysInstoreInfoService sysInstoreInfoService;
+
@Override
public int add(SysOrder sysOrder) {
return sysOrderDao.insert(sysOrder);
@@ -165,6 +167,10 @@
@Override
public SysOrder checkAndSaveOrder(SysOrder sysOrder) {
// 收款改变订单状态
+ SysOrder source = null;
+ if (sysOrder.getId() != null) {
+ source = sysOrderDao.selectById(sysOrder.getId());
+ }
// 计算订单折扣金额,收款情况下 计算订单总额
double zkTotal = 0.0;
@@ -201,8 +207,8 @@
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
sysOrder.setZkTotal(zkTotal);
sysOrder.setStatu(orderStatus);
- sysOrder.setStaffId(user.getSuId());
- sysOrder.setCompanyId(user.getCompanyId());
+ sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId());
+ sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId());
sysOrder.setPayTime(new Date());
if(sysOrder.getId()==null){
@@ -219,7 +225,16 @@
sysOrder.getItems().forEach(sysOrderItem -> {
sysOrderItem.setOrderId(sysOrder.getId());
- orderItemDao.insert(sysOrderItem);
+ if (sysOrder.getStatu().equals(Dictionary.ORDER_STATU_TK)) {
+ // 取负数
+ sysOrderItem.setCount(-sysOrderItem.getCount());
+ orderItemDao.insert(sysOrderItem);
+ // 调整回来
+ sysOrderItem.setCount(-sysOrderItem.getCount());
+ } else {
+ orderItemDao.insert(sysOrderItem);
+ }
+
});
return sysOrder;
@@ -422,7 +437,6 @@
// 设置订单总价与折后价
order.setTotal(total);
order.setZkTotal(zkTotal);
- order.setArrears(zkTotal);
sysOrderDao.update(order);
return i;
}
@@ -525,6 +539,8 @@
if (!SysOrderFlow.PAY_METHOD_ARREARS.equals(flow.getPayMethod()) && !SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
cashPayTotal += flow.getAmount().doubleValue();
}
+ flow.setShopId(sourceOrder.getShopId());
+ flow.setCompanyId(sourceOrder.getCompanyId());
sysOrderFlowDao.insert(flow);
i++;
}
@@ -557,8 +573,7 @@
Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId());
buyNum = (buyNum == null ? 0 : buyNum);
if ((buyNum + carItem.getCount()) > maxNum) {
-
- throw new GlobleException(shopGoods.getName() + "已超过最大销售数量,还剩【" + (maxNum - buyNum) + "】件");
+ throw new GlobleException(shopGoods.getName() + "已超过最大销售数量");
}
if ((buyNum + carItem.getCount()) == maxNum) {
if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) {
@@ -634,8 +649,10 @@
}
ShoppingGoods shoppingGoods = shoppingGoodsService.findById(moneyCardUse.getGoodsId());
- Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
- moneyCardUse.setFailTime(invalidTime);
+ if (shoppingGoods != null) {
+ Date invalidTime = shoppingGoodsService.calInvalidTime(shoppingGoods, 2, moneyCardUse.getFailTime());
+ moneyCardUse.setFailTime(invalidTime);
+ }
// 更新充值卡信息
moneyCardUseDao.update(moneyCardUse);
}
@@ -788,6 +805,8 @@
}
refundTotal += flow.getAmount().doubleValue();
+ flow.setShopId(sourceOrder.getShopId());
+ flow.setCompanyId(sourceOrder.getCompanyId());
sysOrderFlowDao.insert(flow);
i++;
}
@@ -1233,15 +1252,10 @@
return sysOrderDao.selectShopAchieveRanking(sysOrder);
}
- @Override
- public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
- return sysOrderDao.selectStaffSaleAchieveRanking(sysOrder);
- }
-
@Transactional(rollbackFor = Exception.class)
@Override
public void refundOrderMoney(SysOrder pageOrder) {
-
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
// 插入订单流水
changeOrderStatu(pageOrder);
@@ -1269,6 +1283,13 @@
sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
}
sysProjUseDao.update(sysProjUse);
+
+ SysProjUseFlow sysProjUseFlow = SysProjUseMapper.INSTANCE.projUseToFlow(sysProjUse);
+ sysProjUseFlow.setOptionType("退款修改");
+ sysProjUseFlow.setId(null);
+ sysProjUseFlow.setUpdateBy(user.getSuName());
+ sysProjUseFlow.setCreateBy(user.getSuName());
+ sysProjUseDao.insertFlow(sysProjUseFlow);
}
}
@@ -1285,6 +1306,12 @@
sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
sysProjUseDao.update(sysProjUse);
+ SysProjUseFlow sysProjUseFlow = SysProjUseMapper.INSTANCE.projUseToFlow(sysProjUse);
+ sysProjUseFlow.setOptionType("退款修改");
+ sysProjUseFlow.setId(null);
+ sysProjUseFlow.setUpdateBy(user.getSuName());
+ sysProjUseFlow.setCreateBy(user.getSuName());
+ sysProjUseDao.insertFlow(sysProjUseFlow);
}
}
--
Gitblit v1.9.1