xiaoyong931011
2022-03-29 68defbe491894e01c4402922de33c39633fca091
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -19,7 +19,11 @@
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.common.service.OperationLogService;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.enums.BooleanEnum;
import com.matrix.system.enums.OperationButtonEnum;
import com.matrix.system.enums.OperationFunctionEnum;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.MoneyUtil;
@@ -61,7 +65,8 @@
    @Autowired
    private SysProjUseDao sysProjUseDao;
    @Autowired
    private OperationLogService operationLogService;
    @Autowired
    private SysOutStoreDao sysOutStoreDao;
@@ -141,10 +146,10 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public SysProjServices addSysProjServices(SysProjServices sysProjServices) throws GlobleException {
        SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        //创建服务单
        if (WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY) != null) {
            SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
            sysProjServices.setCreateStaffId(user.getSuId());
            sysProjServices.setShopId(user.getShopId());
            sysProjServices.setCompanyId(user.getCompanyId());
@@ -249,6 +254,15 @@
        sysProjServices.setTotalTime(totalTime);
        sysProjServices.setMoney(new BigDecimal(hkPrice).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue());
        sysProjServicesDao.update(sysProjServices);
        //保存单据日志
        operationLogService.saveOperation(sysProjServices.getCompanyId(), sysProjServices.getShopId(),user.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.CREATE,
                sysProjServices.getId(),
                sysProjServices.getServiceNo(),
                sysProjServices.getVipId());
        return sysProjServices;
    }
@@ -464,6 +478,14 @@
            autoBatching(projServices);
        }
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        //保存单据日志
        operationLogService.saveOperation(checkProjServices.getCompanyId(), checkProjServices.getShopId(),users.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.SERVICE_ORDER_PB,
                checkProjServices.getId(),
                checkProjServices.getServiceNo(),
                checkProjServices.getVipId());
        return i;
    }
@@ -567,6 +589,16 @@
        }
        //删除积分
        scoreVipDetailService.removeByBusinessId(checkProjServices.getVipId(), checkProjServices.getId());
        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        //保存单据日志
        operationLogService.saveOperation(checkProjServices.getCompanyId(), checkProjServices.getShopId(),users.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.CANCEL,
                checkProjServices.getId(),
                checkProjServices.getServiceNo(),
                checkProjServices.getVipId());
        //更新服务单状态
        return sysProjServicesDao.update(checkProjServices);
@@ -722,6 +754,14 @@
            asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG, uniformMsgParam);
            //发送划扣短信提醒
            taiYanAliyunSmsService.sendHkNotice(projServices);
            //保存单据日志
            operationLogService.saveOperation(projServices.getCompanyId(), projServices.getShopId(),users.getSuId(),
                    OperationFunctionEnum.SERVICE_ORDER,
                    OperationButtonEnum.SERVICE_ORDER_HK,
                    projServices.getId(),
                    projServices.getServiceNo(),
                    projServices.getVipId());
            return result;
        }
@@ -964,6 +1004,15 @@
//        // 判断是服务超时还是服务提前结束,如果minspace大于0则是超时服务,小于0则是提前结束服务
//        projServices.setIsOverTime(minspace + "");
//        projServices.setState(Dictionary.SERVICE_STATU_FWWC);
        //保存单据日志
        operationLogService.saveOperation(projServices.getCompanyId(), projServices.getShopId(),sysUsers.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.SERVICE_ORDER_PL,
                projServices.getId(),
                projServices.getServiceNo(),
                projServices.getVipId());
        return sysProjServicesDao.update(projServices);
    }
@@ -977,7 +1026,8 @@
        if (CollectionUtils.isNotEmpty(projServicesVo.getOutStoreItem())) {
            BusParameterSettings manageStockSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WAREHOUSE_MANAGE_STOCK, projServicesVo.getCompanyId());
            if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) {
//            if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) {
            if (BooleanEnum.TRUE.getValue() == manageStockSetting.getIntParamValue()) {
                for (SysOutStoreItem item : projServicesVo.getOutStoreItem()) {
                    if (item.getAmount() != null && item.getAmount() > 0) {
                        return true;
@@ -1020,6 +1070,14 @@
        // 设置美疗师实际开始时间
        checkBeauticianState.setState(Dictionary.BEATUI_STATE_SYZ);
        projServices.getVipId();
        //保存单据日志
        operationLogService.saveOperation(projServices.getCompanyId(), projServices.getShopId(),users.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.SERVICE_ORDER_BEGIN,
                projServices.getId(),
                projServices.getServiceNo(),
                projServices.getVipId());
        return beauticianStateDao.update(checkBeauticianState);
    }
@@ -1062,7 +1120,13 @@
            checkprojServices.setState(Dictionary.SERVICE_STATU_FWWC);
            sysProjServicesDao.update(checkprojServices);
        }
        //保存单据日志
        operationLogService.saveOperation(projServices.getCompanyId(), projServices.getShopId(),users.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.SERVICE_ORDER_END,
                projServices.getId(),
                projServices.getServiceNo(),
                projServices.getVipId());
        return rerunlt;
    }
@@ -1102,7 +1166,11 @@
        boolean flag = false;
        if (CollUtil.isNotEmpty(settings)) {
            for (ParameterSettings setting : settings) {
                if (step.equals(setting.getCode()) && Dictionary.FLAG_YES.equals(setting.getUserValue())) {
//                if (step.equals(setting.getCode()) && Dictionary.FLAG_YES.equals(setting.getUserValue())) {
//                    flag = true;
//                    break;
//                }
                if (step.equals(setting.getCode()) && BooleanEnum.TRUE.getValue() == Integer.parseInt(setting.getUserValue())) {
                    flag = true;
                    break;
                }
@@ -1114,11 +1182,22 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int confirmServiceOrder(Long id) {
        SysUsers users = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
        SysProjServices services = new SysProjServices();
        services.setId(id);
        services.setState(Dictionary.BEATUI_STATE_DYY);
        int i = modify(services);
        SysProjServices projServices =findById(id);
         //保存单据日志
        operationLogService.saveOperation(projServices.getCompanyId(), projServices.getShopId(),users.getSuId(),
                OperationFunctionEnum.SERVICE_ORDER,
                OperationButtonEnum.SERVICE_ORDER_QRYY,
                projServices.getId(),
                projServices.getServiceNo(),
                projServices.getVipId());
        if (i > 0) {
            //发送微信公众号提醒
            services = findById(services.getId());