935090232@qq.com
2022-03-20 e23c8975e6bb0934cb5db46a94d0f83c9739d9ab
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -19,7 +19,10 @@
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.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 +64,8 @@
    @Autowired
    private SysProjUseDao sysProjUseDao;
    @Autowired
    private OperationLogService operationLogService;
    @Autowired
    private SysOutStoreDao sysOutStoreDao;
@@ -141,10 +145,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 +253,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 +477,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;
    }
@@ -499,7 +520,12 @@
        //组合配料参数
        projServices.setOutStoreItem(outStoreItemList);
        //调用配料出库方法
        modifyPLProjServices(projServices);
        try {
            modifyPLProjServices(projServices);
        }catch (GlobleException e){
            LogUtil.debug("配料失败:{}",e.getMessage());
        }
    }
@@ -562,6 +588,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);
@@ -675,6 +711,7 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public int modifyHKProjServices(SysProjServices projServices) throws GlobleException {
        SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        projServices = sysProjServicesDao.selectById(projServices.getId());
        if (!projServices.getState().equals(Dictionary.SERVICE_STATU_FWWC)) {
            throw new GlobleException("该服务单状态为" + projServices.getState() + ",不可以进行当前操作!");
@@ -703,6 +740,7 @@
            projServices.setState(Dictionary.SERVICE_STATU_FFJS);
            projServices.setConsumeTime(new Date());
            projServices.setCashierId(sysUsers.getSuId());
            int result = sysProjServicesDao.update(projServices);
            achieveNewService.addAchieveByServiceOrder(projServices);
@@ -715,6 +753,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;
        }
@@ -957,6 +1003,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);
    }
@@ -1013,6 +1068,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);
    }
@@ -1055,7 +1118,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;
    }
@@ -1107,11 +1176,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());