总包方

This commit is contained in:
zt
2025-04-08 10:41:50 +08:00
parent 7aa7db4d37
commit 069529f78c
52 changed files with 1180 additions and 88 deletions

View File

@ -7,6 +7,8 @@ import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
import java.util.Collection;
import java.util.List;
@ -61,4 +63,10 @@ public interface IZbfProjectSectionService extends IServicePlus<ZbfProjectSectio
* 分包商查询自己的项目分包列表
*/
TableDataInfo<FbsProjectSectionListVO> fbsSubList(FbsProjectSectionListDTO dto) ;
/**
* 总包方分包切换列表
*/
TableDataInfo<ZbfProjectSectionListVO> zbfSubSwitchList(ZbfSubSwitchListDTO dto);
}

View File

@ -8,10 +8,11 @@ import com.ruoyi.fbs.domain.dto.FbsProjectListDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.domain.dto.ZbfProgressListDTO;
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectCountVO;
import com.ruoyi.zbf.domain.vo.ZbfProjectListVO;
import com.ruoyi.zbf.domain.dto.ZbfProjectSwitchListDTO;
import com.ruoyi.zbf.domain.vo.*;
import java.util.Collection;
import java.util.List;
@ -139,10 +140,57 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
TableDataInfo<ZbfProjectListVO> queryZbfList(ZbfProjectListDTO dto);
/**
* 总包方查询自建项目统计
* 总包方项目统计
*/
ZbfProjectCountVO projectCount();
/**
* 总包方项目列表(精简)
*/
TableDataInfo<ZbfProject> conciseList(ZbfProjectListDTO dto);
/**
* 总包方项目信息
*/
ZbfProjectDetailVO zbfInfo(Long id);
/**
* 总包方项目详情-标段信息
*/
ZbfProjectDetailSectionVO sectionInfo(Long id);
/**
* 总包方项目详情-用工数量
*/
ZbfPersonCountVO personCount(Long id);
/**
* 总包方项目详情-考勤情况
*/
ZbfAttendanceCountVO attendanceCount(Long id);
/**
* 总包方项目详情-用工进度
*/
ZbfProjectDetailProgressVO zbfProgress(Long projectId);
/**
* 总包方项目详情-用工进度列表
*/
TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto);
/**
* 总包方项目详情-付款情况
*/
ZbfProjectDetailWageVO zbfWage(Long projectId);
/**
* 总包方项目详情-付款情况查看更多
*/
TableDataInfo<ZbfWageApplicationVO> zbfWageList(Long projectId);
/**
* 总包方项目详情-项目切换
*/
TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto);
}

View File

@ -1,9 +1,11 @@
package com.ruoyi.zbf.service;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
import java.util.Collection;
import java.util.List;
@ -57,4 +59,11 @@ public interface IZbfProjectSubcontractingApplyService extends IServicePlus<ZbfP
* 总包方选择分包商
*/
Boolean choose(Long id);
/**
* 总包方查看分包商申请列表
*/
TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto);
}

View File

@ -53,4 +53,5 @@ public interface IZbfProjectSubcontractingService extends IServicePlus<ZbfProjec
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.zbf.service;
import com.ruoyi.common.core.domain.entity.ZbfUser;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.domain.dto.CompanyAuthenticateDTO;
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
import java.util.Collection;
@ -62,4 +63,9 @@ public interface IZbfUserService extends IServicePlus<ZbfUser> {
* 通过userId查询用户
*/
ZbfUser selectUserByUserId(Long userId);
/**
* 企业认证
*/
Long authenticate(CompanyAuthenticateDTO dto);
}

View File

@ -15,6 +15,9 @@ import com.ruoyi.fbs.domain.vo.FbsProjectSubcontractingListVO;
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingListVO;
import com.ruoyi.zbf.mapper.ZbfProjectSectionMapper;
import com.ruoyi.zbf.service.IZbfProjectSectionService;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
@ -121,4 +124,31 @@ public class ZbfProjectSectionServiceImpl extends ServicePlusImpl<ZbfProjectSect
return PageUtils.buildDataInfo(queryVOPage);
}
@Override
public TableDataInfo<ZbfProjectSectionListVO> zbfSubSwitchList(ZbfSubSwitchListDTO dto) {
Page<ZbfSubSwitchListDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
dto.setZbfUserId(SecurityUtils.getAppUserId());
Page<ZbfProjectSectionListVO> queryVOPage = baseMapper.zbfSubSwitchList(queryDTOPage, dto);
for (ZbfProjectSectionListVO sectionListVO : queryVOPage.getRecords()){
//分包处理
List<ZbfProjectSubcontractingListVO> subListVO = new ArrayList<>();
//查询标段下的所有的分包
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getSectionId, sectionListVO.getId())
);
for (ZbfProjectSubcontracting sub : subList){
ZbfProjectSubcontractingListVO zbfProjectSubcontractingListVO = new ZbfProjectSubcontractingListVO();
BeanUtil.copyProperties(sub, zbfProjectSubcontractingListVO);
zbfProjectSubcontractingListVO.setProjectAddress(sectionListVO.getProjectAddress());
subListVO.add(zbfProjectSubcontractingListVO);
}
sectionListVO.setSubList(subListVO);
}
return PageUtils.buildDataInfo(queryVOPage);
}
}

View File

@ -6,14 +6,18 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
import com.ruoyi.bgt.domain.BgtWageApplication;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
import com.ruoyi.bgt.service.IBgtWageApplicationService;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.ProjectStatus;
import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.common.enums.SubcontractingApplyStatus;
import com.ruoyi.common.util.DataUtil;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
@ -23,19 +27,14 @@ import com.ruoyi.fbs.domain.dto.FbsProjectListDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import com.ruoyi.fbs.service.IFbsWageApplicationService;
import com.ruoyi.wgz.service.IWgzAttendanceService;
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
import com.ruoyi.zbf.domain.dto.ZbfProjectSectionAddDTO;
import com.ruoyi.zbf.domain.dto.ZbfProjectSubcontractingAddDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectCountVO;
import com.ruoyi.zbf.domain.vo.ZbfProjectListVO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingListVO;
import com.ruoyi.zbf.domain.dto.*;
import com.ruoyi.zbf.domain.vo.*;
import com.ruoyi.zbf.mapper.ZbfProjectMapper;
import com.ruoyi.zbf.service.IZbfProjectSectionService;
import com.ruoyi.zbf.service.IZbfProjectService;
@ -46,6 +45,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@ -72,6 +73,11 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
private IFbsWageApplicationService fbsWageApplicationService;
@Autowired
private IBgtWageApplicationService bgtWageApplicationService;
@Autowired
private IBgtProjectRecruitApplyService bgtProjectRecruitApplyService;
@Autowired
private IWgzAttendanceService wgzAttendanceService;
@Override
public ZbfProject queryById(Long id) {
@ -632,9 +638,161 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
List<ZbfProject> list = list(wrapper);
zbfProjectCountVO.setAllCount(list.size());
long startCount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.START.getCode())).count();
long completeCcount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.COMPLETE.getCode())).count();
long completeCount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.COMPLETE.getCode())).count();
zbfProjectCountVO.setStartCount((int) startCount);
zbfProjectCountVO.setCompleteCount((int) completeCcount);
zbfProjectCountVO.setCompleteCount((int) completeCount);
return zbfProjectCountVO;
}
@Override
public TableDataInfo<ZbfProject> conciseList(ZbfProjectListDTO dto) {
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
wrapper.eq(StrUtil.isNotBlank(dto.getProjectStatus()), ZbfProject::getProjectStatus, dto.getProjectStatus());
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
return PageUtils.buildDataInfo(result);
}
@Override
public ZbfProjectDetailVO zbfInfo(Long id) {
ZbfProject project = getById(id);
return BeanUtil.copyProperties(project, ZbfProjectDetailVO.class);
}
@Override
public ZbfProjectDetailSectionVO sectionInfo(Long id) {
ZbfProjectDetailSectionVO zbfProjectDetailSectionVO = new ZbfProjectDetailSectionVO();
//标段处理
List<ZbfProjectSectionListVO> sectionListVO = new ArrayList<>();
int subNumber = 0;
//查询项目下的所有标段
List<ZbfProjectSection> sectionList = zbfProjectSectionService.list(Wrappers.<ZbfProjectSection>lambdaQuery()
.eq(ZbfProjectSection::getProjectId, id));
for (ZbfProjectSection zbfProjectSection : sectionList) {
//查询标段下的所有的分包
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
ZbfProjectSectionListVO zbfProjectSectionListVO = new ZbfProjectSectionListVO();
BeanUtil.copyProperties(zbfProjectSection, zbfProjectSectionListVO);
zbfProjectSectionListVO.setSubList(BeanUtil.copyToList(subList, ZbfProjectSubcontractingListVO.class));
subNumber += subList.size();
sectionListVO.add(zbfProjectSectionListVO);
}
zbfProjectDetailSectionVO.setSectionList(sectionListVO);
zbfProjectDetailSectionVO.setSubNumber(subNumber);
return zbfProjectDetailSectionVO;
}
@Override
public ZbfPersonCountVO personCount(Long id) {
ZbfPersonCountVO zbfPersonCountVO = new ZbfPersonCountVO();
List<FbsProjectTask> list = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getProjectId, id)
.isNotNull(FbsProjectTask::getUserId)
);
zbfPersonCountVO.setBgtCount(list.size());
List<Long> taskIds = list.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
zbfPersonCountVO.setWgzCount(0);
if(CollectionUtil.isNotEmpty(taskIds)){
//任务下的招工
List<BgtProjectRecruitApply> recruitApplyList = bgtProjectRecruitApplyService.list(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
.in(BgtProjectRecruitApply::getTaskId, taskIds)
.in(BgtProjectRecruitApply::getStatus, RecruitApplyStatus.getWorkStatus())
);
zbfPersonCountVO.setWgzCount(recruitApplyList.size());
}
zbfPersonCountVO.setTotalCount(zbfPersonCountVO.getBgtCount()+zbfPersonCountVO.getWgzCount());
return zbfPersonCountVO;
}
@Override
public ZbfAttendanceCountVO attendanceCount(Long id) {
ZbfAttendanceCountVO vo = new ZbfAttendanceCountVO();
LocalDate now = LocalDate.now();
LocalDate previousDate = now.minusDays(7);
List<ZbfDayAttendanceCountVO> zbfDayAttendanceCountVOS = wgzAttendanceService.countDayByProjectId(id, previousDate, now);
List<ZbfDayAttendanceCountVO> countList = DataUtil.zbfFillMissingDates(zbfDayAttendanceCountVOS, previousDate, now);
ZbfDayAttendanceCountVO zbfDayAttendanceCountVO = countList.get(countList.size() - 1);
vo.setReportToDutyNum(zbfDayAttendanceCountVO.getReportToDutyNum());
vo.setCountList(countList);
Integer total = wgzAttendanceService.dayTotalNumByProjectId(id, now);
vo.setTotalCount(total);
vo.setRate(0);
if(total!=null && total>0){
int rate = new BigDecimal(vo.getReportToDutyNum()).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100)).intValue();
vo.setRate(rate);
}
return vo;
}
@Override
public ZbfProjectDetailProgressVO zbfProgress(Long projectId) {
//查询所有创建的任务
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getProjectId, projectId)
);
ZbfProjectDetailProgressVO vo = new ZbfProjectDetailProgressVO();
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(taskIds)){
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
vo.setProgress(progressByTaskIds.stream().mapToInt(BgtProjectTaskProgress::getProgress).sum());
vo.setTotalProgress(taskList.size() * 100);
}
return vo;
}
@Override
public TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto) {
Page<ZbfProgressListVO> voPage = new Page<>();
//查询所有创建的任务
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getProjectId, dto)
);
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(taskIds)){
TableDataInfo<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(dto.getPageSize(), dto.getPageNum(), taskIds);
voPage.setTotal(progressByTaskIds.getTotal());
voPage.setRecords(BeanUtil.copyToList(progressByTaskIds.getRows(), ZbfProgressListVO.class));
}
return PageUtils.buildDataInfo(voPage);
}
@Override
public ZbfProjectDetailWageVO zbfWage(Long projectId) {
ZbfProjectDetailWageVO vo = new ZbfProjectDetailWageVO();
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getProjectId, projectId)
);
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
//总金额
BigDecimal totalAmount = subList.stream().map(ZbfProjectSubcontracting::getSubAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setTotalAmount(totalAmount);
//接收金额
vo.setPayAmount(BigDecimal.ZERO);
if(CollectionUtil.isNotEmpty(subIds)){
List<FbsWageApplication> passList= fbsWageApplicationService.getPassListBySubIds(subIds);
BigDecimal payAmount = passList.stream().map(FbsWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setPayAmount(payAmount);
}
return vo;
}
@Override
public TableDataInfo<ZbfWageApplicationVO> zbfWageList(Long projectId) {
return null;
}
@Override
public TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto) {
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
return PageUtils.buildDataInfo(result);
}
}

View File

@ -22,6 +22,8 @@ import com.ruoyi.zbf.domain.ZbfMessage;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
import com.ruoyi.zbf.mapper.ZbfProjectSubcontractingApplyMapper;
import com.ruoyi.zbf.service.IZbfMessageService;
import com.ruoyi.zbf.service.IZbfProjectService;
@ -231,4 +233,13 @@ public class ZbfProjectSubcontractingApplyServiceImpl extends ServicePlusImpl<Zb
// fbsMessageService.operationBatch(USERTYPE_FBS,SecurityUtils.getAppUserId(),list.stream().map(FbsProjectTaskApply::getId).collect(Collectors.toList()),SqlHelper.table(FbsProjectTaskApply.class).getTableName());
return super.updateBatchById(list);
}
@Override
public TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto) {
Page<ZbfProjectSubApplyListDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
Page<ZbfProjectSubcontractingApplyListVO> fbsList = baseMapper.getFbsList(queryDTOPage, dto);
return PageUtils.buildDataInfo(fbsList);
}
}

View File

@ -8,10 +8,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.entity.ZbfUser;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.domain.Company;
import com.ruoyi.common.domain.dto.CompanyAuthenticateDTO;
import com.ruoyi.common.service.ICompanyService;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
import com.ruoyi.zbf.mapper.ZbfUserMapper;
import com.ruoyi.zbf.service.IZbfUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collection;
@ -27,6 +32,9 @@ import java.util.Map;
@Service
public class ZbfUserServiceImpl extends ServicePlusImpl<ZbfUserMapper, ZbfUser> implements IZbfUserService {
@Autowired
private ICompanyService companyService;
@Override
public ZbfUser queryById(Long id){
return getById(id);
@ -107,4 +115,14 @@ public class ZbfUserServiceImpl extends ServicePlusImpl<ZbfUserMapper, ZbfUser>
public ZbfUser selectUserByUserId(Long userId) {
return baseMapper.selectOne(new LambdaQueryWrapper<ZbfUser>().eq(ZbfUser::getUserId, userId));
}
@Override
public Long authenticate(CompanyAuthenticateDTO dto) {
Company company = BeanUtil.copyProperties(dto, Company.class);
companyService.save(company);
ZbfUser zbfUser = selectUserByUserId(SecurityUtils.getAppUserId());
zbfUser.setCompanyId(company.getId());
updateById(zbfUser);
return company.getId();
}
}