JiangYouYao
2022-03-18 e1ff283be2a6ca6ed8cead6248b4efa8eb005f6e
重构:订单取消逻辑
12 files modified
270 ■■■■ changed files
zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java 3 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java 1 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java 7 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/SysOutStoreService.java 14 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java 44 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 143 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOutStoreServiceImpl.java 29 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
@@ -2,7 +2,6 @@
import com.matrix.component.asyncmessage.AsyncMessageManager;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.WebUtil;
@@ -87,7 +86,7 @@
    @RequestMapping(value = "/cz")
    public @ResponseBody
    AjaxResult cz(@RequestBody CzXkVo czVo) {
        SysOrder order=  orderService.updateAddCardMoney(czVo);
        SysOrder order=  orderService.moneyCardCz(czVo);
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "充值成功");
        //发送微信公众号提醒
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -149,7 +149,7 @@
        sysOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_N);
        //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新
        sysOrder = orderService.checkAndSaveOrder(sysOrder);
        orderService.updateReceiptMoney(sysOrder);
        orderService.payOrder(sysOrder);
        //发送微信公众号提醒
        UniformMsgParam uniformMsgParam = new UniformMsgParam(user.getCompanyId(), UniformMsgParam.GZH_GMCG);
@@ -259,7 +259,7 @@
    @RequestMapping(value = "/sk")
    public @ResponseBody
    AjaxResult sk(SysOrder order) throws GlobleException {
        orderService.updateReceiptMoney(order);
        orderService.payOrder(order);
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "收款成功");
    }
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -26,6 +26,8 @@
     */
    public static final int ORDER_TYPE_REFUND= 2;
    /**
     * 序号
     */
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java
@@ -121,4 +121,5 @@
    List<DailyBeautyListVo> findDailyBeautyList(AchieveNew achieveNew, PaginationVO pageVo);
    int findDailyBeautyListTotal(AchieveNew achieveNew);
    void removeByOrderId(Long id);
}
zq-erp/src/main/java/com/matrix/system/hive/service/MoneyCardUseService.java
@@ -5,6 +5,7 @@
import com.matrix.system.hive.dto.MoneyCardOperationDto;
import com.matrix.system.hive.dto.MoneyCardPayDto;
import com.matrix.system.hive.plugin.util.BaseServices;
import com.matrix.system.hive.pojo.CzXkVo;
import java.util.List;
@@ -135,4 +136,6 @@
     * @param id
     */
    void deleteByOrderItemId(Long id);
    void vipCardRecharge(CzXkVo czVo);
}
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -80,7 +80,7 @@
    * @date 2016年7月18日 上午11:14:07
    * @throws
     */
    public void updateReceiptMoney(SysOrder sysOrder) throws GlobleException;
    public void payOrder(SysOrder sysOrder) throws GlobleException;
    public void refundOrderMoney(SysOrder sysOrder);
@@ -100,10 +100,7 @@
    * @date 2016年9月20日 下午12:07:21
    * @throws
     */
    public SysOrder updateAddCardMoney(CzXkVo czVo);
    public SysOrder moneyCardCz(CzXkVo czVo);
    /**
     * 校验订单是否满足结算条件
zq-erp/src/main/java/com/matrix/system/hive/service/SysOutStoreService.java
@@ -61,11 +61,19 @@
     */
    public SysOutStore  findById(Long id);
    /**
     * 出库单审核通过,并扣减库存
     * @param sysOutStore
     * @return
     * 删除出库单,恢复库存
     * @param id
     */
    public void cancelOutStore(Long id);
        /**
         * 出库单审核通过,并扣减库存
         * @param sysOutStore
         * @return
         */
    public int effectOutStore(SysOutStore sysOutStore);
       
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -489,4 +489,9 @@
    public int findDailyBeautyListTotal(AchieveNew achieveNew) {
        return achieveNewDao.selectDailyBeautyListTotal(achieveNew);
    }
    @Override
    public void removeByOrderId(Long orderId) {
        achieveNewDao.deleteByOrderId(orderId);
    }
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/MoneyCardUseServiceImpl.java
@@ -16,6 +16,7 @@
import com.matrix.system.hive.dto.MoneyCardOperationDto;
import com.matrix.system.hive.dto.MoneyCardPayDto;
import com.matrix.system.hive.plugin.util.MoneyUtil;
import com.matrix.system.hive.pojo.CzXkVo;
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.ShoppingGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -109,6 +110,20 @@
        }
    }
    @Override
    public void vipCardRecharge(CzXkVo czVo) {
        MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId());
        MoneyCardPayDto moneyCardPayDto=new MoneyCardPayDto();
        moneyCardPayDto.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney()));
        moneyCardPayDto.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney()));
        moneyCardPayDto.setCarUseId(cardUser.getId());
        moneyCardPayDto.setOrderId();
        moneyCardUseDao.update(cardUser);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void changeMoneyCard(List<MoneyCardPayDto> moneyCardPayDtoList) {
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceHelper.java
@@ -30,6 +30,7 @@
import com.matrix.system.hive.dto.ProjUseOperationDto;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.MoneyUtil;
import com.matrix.system.hive.pojo.CzXkVo;
import com.matrix.system.hive.service.CodeService;
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.SysProjUseService;
@@ -43,6 +44,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -96,16 +98,18 @@
    @Autowired
    BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    private WarehouseDao warehouseDao;
    @Autowired
    MoneyCardUseService moneyCardUseService;
    @Autowired
    private SysOrderItemDao orderItemDao;
    @Autowired
    MoneyCardUseDao moneyCardUseDao;
    /**
     * 创建支付流水
@@ -206,6 +210,7 @@
    public void cardPaySk(SysOrder pageOrder) {
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        List<SysOrderFlow> flows = pageOrder.getFlows();
        List<Long> goodsIds = pageOrder.getItems().stream().map(e -> e.getGoodsId()).collect(Collectors.toList());
@@ -286,6 +291,8 @@
     * @date 2016年9月19日
     */
    public void addMoneyCardUse(SysOrder sourceOrder) {
        List<MoneyCardOperationDto> moneyCardOperationDtos = Lists.newArrayList();
        List<SysOrderItem> orderItemList = sourceOrder.getItems();
        for (SysOrderItem sysOrderItem : orderItemList) {
@@ -612,9 +619,11 @@
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        sysOrder.setZkTotal(zkTotal);
        sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
        sysOrder.setShopId(user.getShopId());
        sysOrder.setStaffId(user.getSuId());
        sysOrder.setCompanyId(user.getCompanyId());
        sysOrder.setOrderTime(new Date());
        sysOrder.setOrderType(SysOrder.ORDER_TYPE_SEAL);
        //新增订单
        sysOrder.setOrderNo(codeService.getOrderCode());
@@ -680,4 +689,33 @@
        return sysOrder;
    }
    /**
     * 创建充值订单
     * @param czVo
     * @return
     */
    public SysOrder createCzOrder(CzXkVo czVo){
        MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId());
        SysOrder order= new SysOrder();
        order.setFlows(czVo.getFlows());
        order.setVipId(czVo.getVipId());
        order.setRemark(cardUser.getCardName());
        SysOrderItem orderItem = new SysOrderItem();
        ShoppingGoods shoppingGoods = shoppingGoodsDao.selectVipCzGoods();
        orderItem.setGoodsId(shoppingGoods.getId());
        orderItem.setType(Dictionary.SHOPPING_GOODS_TYPE_CZK);
        orderItem.setCount(1);
        orderItem.setIsFree(Dictionary.FLAG_NO);
        orderItem.setZkPrice(czVo.getBjmoney());
        orderItem.setAchieveList(czVo.getAchaeveList());
        order.setItems(Arrays.asList(orderItem));
        saveOrder(order);
        return order;
    }
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -9,7 +9,6 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.LogUtil;
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;
@@ -30,6 +29,7 @@
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.dto.GoodsSealLimitDto;
import com.matrix.system.hive.dto.MoneyCardPayDto;
import com.matrix.system.hive.dto.SysOrderItemDto;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.MoneyUtil;
@@ -68,7 +68,7 @@
    @Autowired
    SysVipInfoDao sysVipInfoDao;
    @Autowired
    SysOutStoreDao sysOutStoreDao;
    SysOutStoreService sysOutStoreService;
    @Autowired
    SysOutStoreItemDao sysOutStoreItemDao;
    @Autowired
@@ -153,7 +153,7 @@
        if (Objects.isNull(sysOrder.getId())) {
            LogUtil.info("新增正向订单");
            return sysOrderServiceHelper.saveOrder(sysOrder);
            return sysOrderServiceHelper.saveOrder(sysOrder,SysOrder.ORDER_TYPE_SEAL);
        } else {
            LogUtil.info("修改订单");
            return sysOrderServiceHelper.modifyOrder(sysOrder);
@@ -197,6 +197,7 @@
        //储值卡退款
        sysOrderServiceHelper.returnMoneyCardPay(order);
        //套餐项目取消
        List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(order.getId());
        for (SysOrderItem orderItem : sysOrderItems) {
            // 充值卡类型退款
@@ -214,24 +215,14 @@
        //删除出库单,恢复库存
        SysOutStore sysOutStore = new SysOutStore();
        sysOutStore.setOrderId(order.getId());
        List<SysOutStore> sysOutStores = sysOutStoreDao.selectByModel(sysOutStore);
        List<SysOutStore> sysOutStores = sysOutStoreService.findByModel(sysOutStore);
        if (sysOutStores.size() == 1) {
            sysOutStore = sysOutStores.get(0);
            List<SysOutStoreItem> outStoreItemList = sysOutStoreItemDao.selectByOrderId(sysOutStore.getId());
            for (SysOutStoreItem item : outStoreItemList) {
                SysStoreInfo sysStoreInfo = storeInfoDao.selectById(item.getStoreId());
                sysStoreInfo.setStoreTotal(sysStoreInfo.getStoreTotal() + item.getAmount());
                //更新库存
                storeInfoDao.update(sysStoreInfo);
            }
            sysOutStoreDao.deleteById(sysOutStore.getId());
            sysOutStoreItemDao.deleteByOrderId(sysOutStore.getId());
            sysOutStoreService.cancelOutStore(sysOutStore.getId());
        }
        // 删除业绩
        AchieveNew achieveNew = new AchieveNew();
        achieveNew.setOrderId(order.getId());
        achieveNewService.removeByModel(achieveNew);
        achieveNewService.removeByOrderId(order.getId());
        // 删除收款记录
        sysOrderFlowDao.deleteByOrderId(order.getId());
@@ -242,6 +233,7 @@
        // 取消订单
        order.setStatu(Dictionary.ORDER_STATU_YQX);
        sysOrderDao.update(order);
        //保存单据日志
        operationLogService.saveOperation(order.getCompanyId(), order.getShopId(), sysUsers.getSuId(),
                OperationFunctionEnum.ORDER,
@@ -285,16 +277,13 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateReceiptMoney(SysOrder pageOrder) throws GlobleException {
    public void payOrder(SysOrder pageOrder) throws GlobleException {
        //校验订单是否满足收款条件
        checkOrderAblePay(pageOrder);
        // 更新订单主表信息
        updateOrderInfo(pageOrder);
        // 设置用户为成交客户
        sysVipInfoService.updateDealStatus(pageOrder.getVipId(), BooleanEnum.TRUE.getValue());
        payEndUpdateOrderInfo(pageOrder);
        //添加支付流水
        sysOrderServiceHelper.addOrderFlow(pageOrder, false);
@@ -344,7 +333,7 @@
     *
     * @param pageOrder
     */
    private void updateOrderInfo(SysOrder pageOrder) {
    private void payEndUpdateOrderInfo(SysOrder pageOrder) {
        LogUtil.info("付款更新订单信息 id={}", pageOrder.getId());
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        pageOrder.setCashierId(user.getSuId());
@@ -381,8 +370,8 @@
        sysOrderDao.update(pageOrder);
        // 设置用户为成交客户
        sysVipInfoService.updateDealStatus(pageOrder.getVipId(), BooleanEnum.TRUE.getValue());
    }
    /**
@@ -497,91 +486,33 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public SysOrder updateAddCardMoney(CzXkVo czVo) {
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
//        SysVipInfo vip = (SysVipInfo) WebUtil.getSession().getAttribute(SystemConstance.CURRENT_CUSTOMER);
//        czVo.setVipId(vip.getId());
        //更新会员会员卡金额
        MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId());
        cardUser.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney()));
        cardUser.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney()));
        moneyCardUseDao.update(cardUser);
        // 为会员新增积分
        SysVipInfo vipInfo = sysVipInfoDao.selectById(cardUser.getVipId());
        vipInfo.setPointAll(vipInfo.getPointAll() == null ? 0 : vipInfo.getPointAll() + czVo.getJf());
        sysVipInfoDao.update(vipInfo);
    public SysOrder moneyCardCz(CzXkVo czVo) {
        // 新增一个充值订单
        SysOrder order = new SysOrder();
        order.setArrears(0D);
        order.setTotal(czVo.getBjmoney());
        order.setZkTotal(czVo.getBjmoney());
        order.setCashPay(czVo.getBjmoney());
        order.setShopId(user.getShopId());
        order.setOrderNo(codeService.getOrderCode());
        order.setVipId(czVo.getVipId());
        Date orderTime = new Date();
        if (StringUtils.isNotBlank(czVo.getDateTime())) {
            orderTime = DateUtil.stringToDateNew(czVo.getDateTime(), DateUtil.DATE_FORMAT_DD);
        }
        order.setOrderTime(orderTime);
        order.setPayTime(orderTime);
        order.setRemark(cardUser.getCardName());
        order.setStaffId(user.getSuId());
        order.setIsCross(2 + "");
        order.setOrderType(SysOrder.ORDER_TYPE_SEAL);
        order.setStatu(Dictionary.ORDER_STATU_YFK);
        order.setCompanyId(user.getCompanyId());
        sysOrderDao.insert(order);
        SysOrder order =sysOrderServiceHelper.createCzOrder(czVo);
        SysOrderItem orderItem = new SysOrderItem();
        orderItem.setOrderId(order.getId());
        orderItem.setOrderNo(order.getOrderNo());
        orderItem.setArrears(0D);
        ShoppingGoods shoppingGoods = shoppingGoodsDao.selectVipCzGoods();
        orderItem.setGoodsId(shoppingGoods.getId());
        orderItem.setPayMethod(Dictionary.PAY_TYPE_MOENY);
        orderItem.setCashPay(czVo.getBjmoney());
        orderItem.setZkPrice(czVo.getBjmoney());
        orderItem.setCardPay(0D);
        orderItem.setType(Dictionary.SHOPPING_GOODS_TYPE_CZK);
        orderItem.setCount(1);
        orderItem.setIsFree(Dictionary.FLAG_NO);
        orderItem.setPrice(czVo.getBjmoney());
        orderItem.setStatus(Dictionary.ORDER_STATU_YFK);
        orderItem.setAchieveList(czVo.getAchaeveList());
        orderItem.setShoppingGoods(shoppingGoods);
        orderItemDao.insert(orderItem);
        List<SysOrderItem> items = new ArrayList<>();
        items.add(orderItem);
        order.setItems(items);
        //新增会员卡金额
        MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId());
        MoneyCardPayDto moneyCardPayDto=new MoneyCardPayDto();
        moneyCardPayDto.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney()));
        moneyCardPayDto.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney()));
        moneyCardPayDto.setCarUseId(cardUser.getId());
        moneyCardPayDto.setOrderId(order.getId());
        moneyCardPayDto.setOrderNo(order.getOrderNo());
        moneyCardPayDto.setType(MoneyCardUseFlow.USE_TYPE_CZ);
        moneyCardUseService.changeMoneyCard(Arrays.asList(moneyCardPayDto));
        // 更新订单主表信息
        payEndUpdateOrderInfo(order);
        //设置卡项使用流水
        MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow();
        moneyCardUseFlow.setTotal(czVo.getBjmoney());
        moneyCardUseFlow.setGiftMoney(czVo.getGiftMoney());
        moneyCardUseFlow.setCarUseId(czVo.getCardId());
        moneyCardUseFlow.setVipId(czVo.getVipId());
        moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CZ);
        moneyCardUseFlow.setOrderNo(order.getOrderNo());
        moneyCardUseFlow.setCreateTime(new Date());
        moneyCardUseFlow.setOperationId(user.getSuId());
        moneyCardUseFlow.setBalance(cardUser.getGiftMoney() + cardUser.getRealMoney());
        moneyCardUseFlow.setCarUseId(cardUser.getId());
        moneyCardUseFlowDao.insert(moneyCardUseFlow);
        order.setFlows(czVo.getFlows());
        //添加支付流水
        sysOrderServiceHelper.addOrderFlow(order, false);
        // 添加员工业绩
        // 设置业绩
        achieveNewService.addAchaeveByOrder(order);
        //设置会员积分
        sysOrderServiceHelper.addVipScore(order);
        return order;
@@ -637,7 +568,6 @@
        SysOrder sourceOrder = new SysOrder();
        sourceOrder.setId(sysOrder.getOldOrderId());
        sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y);
//        sourceOrder.setStatu(Dictionary.ORDER_STATU_TK);
        sysOrderDao.update(sourceOrder);
        SysOrder oldOrder = sysOrderDao.selectById(sysOrder.getOldOrderId());
@@ -669,8 +599,6 @@
            item.setOrderId(sysOrder.getId());
            orderItemDao.insert(item);
        }
        // 添加订单收款流水
        sysOrderServiceHelper.addOrderFlow(sysOrder, false);
        //退款退套餐退项目
@@ -690,10 +618,6 @@
                sysOrder.getVipId());
    }
    /**
     * 退款退项目,套餐,卡项
     *
@@ -770,9 +694,6 @@
                    moneyCardUseDao.update(moneyCardUse);
                }
            }
            ShoppingGoods goods = shoppingGoodsDao.selectById(item.getGoodsId());
            goods.setRealSealCount(goods.getRealSealCount() - item.getCount());
            shoppingGoodsDao.update(goods);
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOutStoreServiceImpl.java
@@ -3,30 +3,23 @@
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.SysOutStore;
import com.matrix.system.hive.bean.SysOutStoreItem;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.bean.SysStoreInfo;
import com.matrix.system.hive.dao.SysOutStoreDao;
import com.matrix.system.hive.dao.SysOutStoreItemDao;
import com.matrix.system.hive.dao.SysStoreInfoDao;
import com.matrix.system.hive.service.CodeService;
import com.matrix.system.hive.service.SysOutStoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
/**
 * @date 2016-07-25 12:43
@@ -143,7 +136,27 @@
    }
    /**
     * 取消出库单
     * @param id
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void cancelOutStore(Long id) {
        List<SysOutStoreItem> outStoreItemList = sysOutStoreItemDao.selectByOrderId(id);
        for (SysOutStoreItem item : outStoreItemList) {
            SysStoreInfo sysStoreInfo = storeInfoDao.selectById(item.getStoreId());
            sysStoreInfo.setStoreTotal(sysStoreInfo.getStoreTotal() + item.getAmount());
            //更新库存
            storeInfoDao.update(sysStoreInfo);
        }
        sysOutStoreDao.deleteById(id);
        sysOutStoreItemDao.deleteByOrderId(id);
    }
        @Override
    public int effectOutStore(SysOutStore sysOutStore) {
        SysOutStore queryStore = sysOutStoreDao.selectById(sysOutStore.getId());