jiangping
2024-11-26 f1864f6d2d85b49fc901b22e9f6759a5d0fb360b
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -66,6 +66,7 @@
        model.setIsdeleted(Constants.ZERO);
        model.setCreateDate(new Date());
        model.setStatus(Constants.ZERO);
        model.setDealStatus(Constants.ZERO);
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywWorkorderMapper.insert(model);
@@ -78,11 +79,12 @@
                if(StringUtils.isBlank(multifile.getFileurl())){
                    continue;
                }
                multifile.setCreateDate(new Date());
                multifile.setCreateDate(model.getCreateDate());
                multifile.setEditDate(model.getCreateDate());
                multifile.setCreator(model.getEditor());
                multifile.setIsdeleted(Constants.ZERO);
                multifile.setObjId(model.getId());
                multifile.setCreator(model.getCreator());
                multifile.setEditor(model.getCreator());
                multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey());
                multifile.setSortnum(i+1);
                fileList.add(multifile);
@@ -168,7 +170,9 @@
        if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,工单信息不存在!");
        }
        if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO) && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE)){
        if(!Constants.equalsInteger(model.getDealStatus(),Constants.ZERO)
//                && !Constants.equalsInteger(model.getDealStatus(),Constants.ONE)
        ){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,工单状态已流转,不支持当前操作!");
        }
@@ -184,8 +188,9 @@
        update.setDispatchUserId(update.getEditor());
        update.setDispatchDate(update.getEditDate());
        update.setDispatchInfo(ywWorkorder.getDispatchInfo());
        update.setDealUserId(ywWorkorder.getDealUserId());
        ywWorkorderMapper.updateById(update);
        dealLogBiz(model,Constants.YwLogType.WORKORDER_DISPATCH,model.getLoginUserInfo().getRealname(),user.getRealname());//记录新建日志
        dealLogBiz(model,Constants.YwLogType.WORKORDER_DISPATCH,ywWorkorder.getLoginUserInfo().getRealname(),user.getRealname());//记录新建日志
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
@@ -198,10 +203,10 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,工单状态已流转,不支持当前操作!");
        }
        SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId());
        if(user ==null ||  (user.getDeleted()!=null&& user.getDeleted() )){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,员工信息不存在!");
        }
//        SystemUser user = systemUserMapper.selectById(ywWorkorder.getDealUserId());
//        if(user ==null ||  (user.getDeleted()!=null&& user.getDeleted() )){
//            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,员工信息不存在!");
//        }
        YwWorkorder update = new YwWorkorder();
        update.setId(model.getId());
        update.setEditDate(new Date());
@@ -209,9 +214,31 @@
        update.setDealStatus(Constants.TWO);
        update.setDealUserId(update.getEditor());
        update.setDealDate(update.getEditDate());
        update.setDealInfo(ywWorkorder.getDispatchInfo());
        update.setDealInfo(ywWorkorder.getDealInfo());
        ywWorkorderMapper.updateById(update);
        dealLogBiz(model,Constants.YwLogType.WORKORDER_DEAL,model.getLoginUserInfo().getRealname(),null);//记录新建日志
        List<Multifile> fileList = new ArrayList<>();
        if(ywWorkorder.getDealFileList()!=null && ywWorkorder.getDealFileList().size()>0){
            for (int i = 0; i <  ywWorkorder.getDealFileList().size(); i++) {
                Multifile multifile =  ywWorkorder.getDealFileList().get(i);
                if(StringUtils.isBlank(multifile.getFileurl())){
                    continue;
                }
                multifile.setCreateDate(update.getEditDate());
                multifile.setCreator(update.getEditor());
                multifile.setEditDate(update.getEditDate());
                multifile.setIsdeleted(Constants.ZERO);
                multifile.setObjId(model.getId());
                multifile.setEditor(update.getEditor());
                multifile.setObjType(Constants.MultiFile.YW_WORKORDER_DEAL.getKey());
                multifile.setSortnum(i+1);
                fileList.add(multifile);
            }
        }
        if(fileList.size()>0){
            multifileMapper.insert(fileList);
        }
        dealLogBiz(model,Constants.YwLogType.WORKORDER_DEAL,ywWorkorder.getLoginUserInfo().getRealname(),null);//记录新建日志
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
@@ -293,19 +320,23 @@
    @Override
    public YwWorkorder findById(Integer id) {
        MPJLambdaWrapper<YwWorkorder> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(YwWorkorder.class )
                .selectAs(SystemUser::getRealname,YwWorkorder::getDispatchUserName)
                .select("t2.realname",YwWorkorder::getDealUserName)
        MPJLambdaWrapper<YwWorkorder> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(YwWorkorder.class )
                .selectAs(SystemUser::getRealname,YwWorkorder::getDealUserName)
                .select("t3.realname",YwWorkorder::getCreatorName)
                .selectAs(SystemUser::getMobile,YwWorkorder::getCreatorPhone)
                .selectAs(Company::getCompanyNamePath,YwWorkorder::getCreatorCompany)
                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDispatchUserId)
                .selectAs(Category::getName,YwWorkorder::getCategoryName)
                .selectAs(YwRoom::getName,YwWorkorder::getRoomName)
                .selectAs(YwRoom::getRoomNum,YwWorkorder::getRoomNum)
                .selectAs(YwFloor::getName,YwWorkorder::getFloorName)
                .selectAs(YwBuilding::getName,YwWorkorder::getBuildingName)
                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getDealUserId)
                .leftJoin(Category.class,Category::getId,YwWorkorder::getCateId)
                .leftJoin(SystemUser.class,SystemUser::getId,YwWorkorder::getCreator)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .leftJoin(YwRoom.class,YwRoom::getId,YwWorkorder::getRoomId)
                .leftJoin(YwFloor.class,YwFloor::getId,YwWorkorder::getFloorId)
                .leftJoin(YwBuilding.class,YwBuilding::getId,YwWorkorder::getBuildingId)
                .eq(YwWorkorder::getId,id);
        YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,wrapper);
        YwWorkorder model = ywWorkorderMapper.selectJoinOne(YwWorkorder.class,queryWrapper);
        initFiles(model);//读取附件信息
        YwWorkorderLog log = new YwWorkorderLog();
        log.setJobId(model.getId());