zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -1,5 +1,6 @@ package com.matrix.system.hive.action; import cn.hutool.core.collection.CollUtil; import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; @@ -95,10 +96,8 @@ RabiitMqTemplate rabiitMqTemplate; @Autowired private SysProjUseDao sysProjUseDao; private SysProjServicesDao sysProjServicesDao; @Autowired private SysProjServicesService projServicesService; @Value("${evn}") private String evn; @@ -479,8 +478,14 @@ return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!"); } // SysProjServices sysProjServices = new SysProjServices(); // projServicesService.findByModel() List<SysOrderItem> items = orderItemDao.selectByOrderId(id); for (SysOrderItem item : items) { List<SysProjServices> sysProjServices = sysProjServicesDao.selectProjServicesByOrderItemId(item.getId()); if (CollUtil.isNotEmpty(sysProjServices)) { return new AjaxResult(AjaxResult.STATUS_FAIL, "订单存在进行中的服务单无法取消/删除"); } } orderService.cancelOrder(id); // if (del > 0) { // orderService.removeById(id); zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
@@ -68,4 +68,6 @@ * @return */ int updateNoticeTimes(@Param("list")List<Long> noticedIds); List<SysProjServices> selectProjServicesByOrderItemId(@Param("itemId") Long itemId); } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -278,23 +278,22 @@ throw new GlobleException("订单已取消"); } List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id); List<SysOrderFlow> flows = sysOrderFlowDao.selectByOrderId(id); // 非现金收款退回扣卡余额 for (SysOrderFlow flow : flows) { if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) { for (SysOrderItem orderItem : sysOrderItems) { //非现金收款退回扣卡余额 if (StringUtils.isNotBlank(orderItem.getPayMethodDetail())) { MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(orderItem.getPayMethodDetail())); MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId()); MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow(); if (moneyCardUse != null) { // 根据订单明细判断是赠送金额购买还是本金购买 moneyCardUseFlow.setTotal(orderItem.getCardPay()); moneyCardUse.setRealMoney(MoneyUtil.add(moneyCardUse.getRealMoney(), orderItem.getCardPay())); //TODO 目前无法退回到具体的赠送金额还是本金 moneyCardUseFlow.setTotal(flow.getAmount().doubleValue()); if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) { moneyCardUse.setGiftMoney(MoneyUtil.add(moneyCardUse.getGiftMoney(), flow.getAmount().doubleValue())); } else { moneyCardUse.setRealMoney(MoneyUtil.add(moneyCardUse.getRealMoney(), flow.getAmount().doubleValue())); } if (!moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_YES_Y)) { if (moneyCardUse.getLastCount() != null) { @@ -316,29 +315,26 @@ moneyCardUseFlowDao.insert(moneyCardUseFlow); } } } List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id); for (SysOrderItem orderItem : sysOrderItems) { // 充值卡类型退款 if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(orderItem.getType())) { ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(orderItem.getGoodsId()); //删除购买的充值卡 moneyCardUseDao.deleteByOrderItemId(orderItem.getId()); } else if (Dictionary.SHOPPING_GOODS_TYPE_XM.equals(orderItem.getType()) || Dictionary.SHOPPING_GOODS_TYPE_TC.equals(orderItem.getType())) { // 项目套餐退款 // 删除套餐项目使用情况 sysProjUseDao.deleteByOrderItemId(orderItem.getId()); } else if (Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(orderItem.getType())) { // 综合卡 // 删除套餐项目使用情况 sysProjUseDao.deleteByOrderItemId(orderItem.getId()); // 删除充值卡 moneyCardUseDao.deleteByOrderItemId(orderItem.getId()); } } @@ -368,8 +364,6 @@ // 取消订单 order.setStatu(Dictionary.ORDER_STATU_YQX); return sysOrderDao.update(order); } zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -700,4 +700,10 @@ </select> <select id="selectProjServicesByOrderItemId" resultMap="SysProjServicesMap"> select a.* from sys_proj_services a inner join sys_beautician_state b on a.id=b.SERVICES_ID inner join sys_proj_use c on c.id=b.puse_id where ORDER_ITEM_ID=#{itemId} and a.STATE!='预约取消' </select> </mapper> zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/underlineOrder.html
@@ -223,7 +223,11 @@ btn: ['确认', '取消并删除', '取消'] //可以无限个按钮 }, function(index, layero){ $.post(basePath+'/admin/order/cancelOrder?id='+id+'&del=0', {}, function(data){ parent.layer.msg(data.info,{icon: 1}); if (data.status == '200') { parent.layer.msg(data.info,{icon: 1}); } else { parent.layer.msg(data.info,{icon: 2}); } layer.closeAll(); myGrid.serchData(); });