From 6dbefbb50c62e6b16ab851bb0f7f77da9321d206 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 18 Jan 2021 18:01:13 +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