935090232@qq.com
2021-10-30 caa15383382af86c00f7176c1d24280a7da6d9e2
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -1,6 +1,7 @@
package com.matrix.system.hive.service.imp;
import cn.hutool.core.collection.CollUtil;
import com.google.common.collect.Lists;
import com.matrix.component.asyncmessage.AsyncMessageManager;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
@@ -17,6 +18,7 @@
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysUsersDao;
import com.matrix.system.common.service.BusParameterSettingService;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
@@ -67,7 +69,8 @@
    private SysOutStoreItemDao sysOutStoreItemDao;
    @Autowired
    private SysBedInfoDao sysBedInfoDao;
    @Autowired
    TaiYanAliyunSmsService taiYanAliyunSmsService;
    @Autowired
    private SysStoreInfoDao storeInfoDao;
@@ -118,12 +121,17 @@
    BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    BusParameterSettingService busParameterSettingService;
    @Autowired
    ScoreVipDetailService scoreVipDetailService;
    @Autowired
    SysVipInfoDao sysVipInfoDao;
    @Autowired
    ShoppingGoodsAssembleDao goodsAssembleDao;
    /**
     * 新增服务单 jyy
@@ -257,6 +265,12 @@
        for (SysBeauticianState sysBeauticianState : sysProjServices.getServiceItems()) {
            SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getPuseId());
            //检查是否已经处于无效状态
            if (Dictionary.TAOCAN_STATUS_WX.equals(sysProjUse.getStatus())) {
                return new VerifyResult(true, sysProjUse.getProjName() + "项目已经失效");
            }
            int kjcs = 1;
            if (sysProjUse.getTaocanId() != null) {
                kjcs = sysBeauticianState.getCount() * sysProjUse.getDeductionNum();
@@ -443,7 +457,49 @@
            lastList.add(lastWork);
        }
        LastestWorkBeatuistaffDao.batchInsert(lastList);
        return sysProjServicesDao.update(projServices);
        int i = sysProjServicesDao.update(projServices);
        //根据配置是否完成自动配料
        if (busParameterSettingService.isSettingOpen(AppConstance.OPEN_SERVICE_ORDER_AUTO_BATCHING, checkProjServices.getCompanyId())){
            autoBatching(projServices);
        }
        return i;
    }
    /**
     * 根据配置是否完成自动配料
     *
     * @param projServices
     */
    private void autoBatching(SysProjServices projServices) {
        //获取最新的服务单信息
        projServices=findById(projServices.getId());
        List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId());
        List<SysOutStoreItem> outStoreItemList = Lists.newLinkedList();
        beauticianStateList.stream().forEach(item -> {
            List<ShoppingGoodsAssemble> shoppingGoodsAssembles = goodsAssembleDao.selectGoodsByShoppingGoodsIdAndType(item.getProjId(), ShoppingGoods.SHOPPING_GOODS_TYPE_JJCP);
            if (CollUtil.isNotEmpty(shoppingGoodsAssembles)) {
                outStoreItemList.addAll(shoppingGoodsAssembles.stream().map(assemble -> {
                    SysOutStoreItem outStoreItem = new SysOutStoreItem();
                    outStoreItem.setSkuId(assemble.getAssembleGoodId());
                    outStoreItem.setAmount(Double.parseDouble(assemble.getTotal()+""));
                    outStoreItem.setRemark("自动配料");
                    return outStoreItem;
                }).collect(Collectors.toList()));
            }
        });
        //组合配料参数
        projServices.setOutStoreItem(outStoreItemList);
        //调用配料出库方法
        modifyPLProjServices(projServices);
    }
@@ -656,7 +712,9 @@
            //发送微信公众号提醒
            UniformMsgParam uniformMsgParam = new UniformMsgParam(projServices.getCompanyId(), UniformMsgParam.GZH_FWWC);
            uniformMsgParam.put("serviceId", projServices.getId());
            asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam);
            asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam);
            //发送划扣短信提醒
            taiYanAliyunSmsService.sendHkNotice(projServices);
            return result;
        }
@@ -1046,4 +1104,27 @@
        return flag;
    }
    @Override
    public int confirmServiceOrder(Long id) {
        SysProjServices services = new SysProjServices();
        services.setId(id);
        services.setState(Dictionary.BEATUI_STATE_DYY);
        int i = modify(services);
        if (i > 0) {
            //发送微信公众号提醒
            services = findById(services.getId());
            UniformMsgParam uniformMsgParam = new UniformMsgParam(services.getCompanyId(), UniformMsgParam.GZH_YYCG);
            uniformMsgParam.put("serviceId", services.getId());
            asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam);
            taiYanAliyunSmsService.sendYycgNotice(services);
        }
        return i;
    }
}