分包商

This commit is contained in:
zt
2025-03-28 16:38:03 +08:00
parent 8289974a21
commit b4491e0848
37 changed files with 1515 additions and 30 deletions

View File

@ -1,9 +1,6 @@
package com.ruoyi.zbf.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -31,7 +28,7 @@ public class ZbfProjectSubcontractingApply implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 项目ID */

View File

@ -1,10 +1,14 @@
package com.ruoyi.zbf.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
/**
* 总包方项目标段Mapper接口
@ -16,4 +20,7 @@ import org.apache.ibatis.annotations.CacheNamespace;
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface ZbfProjectSectionMapper extends BaseMapperPlus<ZbfProjectSection> {
// 查询分包商已加入的项目标段
Page<FbsProjectSectionListVO> joinSectionList(@Param("page") Page<FbsProjectSectionListDTO> page, @Param("dto") FbsProjectSectionListDTO dto);
}

View File

@ -3,6 +3,8 @@ package com.ruoyi.zbf.service;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
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;
@ -53,4 +55,10 @@ public interface IZbfProjectSectionService extends IServicePlus<ZbfProjectSectio
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 分包商查询自己的项目分包列表
*/
TableDataInfo<FbsProjectSectionListVO> fbsSubList(FbsProjectSectionListDTO dto) ;
}

View File

@ -8,12 +8,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
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.mapper.ZbfProjectSectionMapper;
import com.ruoyi.zbf.service.IZbfProjectSectionService;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -27,6 +35,9 @@ import java.util.Map;
@Service
public class ZbfProjectSectionServiceImpl extends ServicePlusImpl<ZbfProjectSectionMapper, ZbfProjectSection> implements IZbfProjectSectionService {
@Autowired
private IZbfProjectSubcontractingService zbfProjectSubcontractingService;
@Override
public ZbfProjectSection queryById(Long id){
return getById(id);
@ -82,4 +93,31 @@ public class ZbfProjectSectionServiceImpl extends ServicePlusImpl<ZbfProjectSect
}
return removeByIds(ids);
}
@Override
public TableDataInfo<FbsProjectSectionListVO> fbsSubList(FbsProjectSectionListDTO dto) {
Page<FbsProjectSectionListDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
dto.setFbsUserId(SecurityUtils.getAppUserId());
Page<FbsProjectSectionListVO> queryVOPage = baseMapper.joinSectionList(queryDTOPage, dto);
for (FbsProjectSectionListVO sectionListVO : queryVOPage.getRecords()){
//分包处理
List<FbsProjectSubcontractingListVO> subListVO = new ArrayList<>();
//查询标段下的所有已承接的分包
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getSectionId, sectionListVO.getId())
.eq(ZbfProjectSubcontracting::getUserId, SecurityUtils.getAppUserId()));
for (ZbfProjectSubcontracting sub : subList){
FbsProjectSubcontractingListVO fbsProjectSubcontractingListVO = new FbsProjectSubcontractingListVO();
BeanUtil.copyProperties(sub, fbsProjectSubcontractingListVO);
subListVO.add(fbsProjectSubcontractingListVO);
}
sectionListVO.setSubList(subListVO);
}
return PageUtils.buildDataInfo(queryVOPage);
}
}