招采管理模块修改

This commit is contained in:
2025-08-21 21:41:20 +08:00
parent dad8a12e11
commit 86945b9122
22 changed files with 148 additions and 32 deletions

View File

@ -16,6 +16,7 @@ import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log; import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.tender.domain.vo.BusBLimitListVersionsVo;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -63,6 +64,15 @@ public class BusBiddingLimitListController extends BaseController {
return R.ok(busBiddingLimitListService.obtainAllVersionNumbers(bo)); return R.ok(busBiddingLimitListService.obtainAllVersionNumbers(bo));
} }
/**
* 获取所有版本详细信息
*/
@SaCheckPermission("bidding:biddingLimitList:getVersionDetail")
@GetMapping("/getVersionDetail/{id}")
public R<BusBiddingLimitVersionsVo> getVersionDetail(@NotNull(message = "id不能为空") @PathVariable Long id) {
return R.ok(busBiddingLimitListService.getVersionDetail(id));
}
/** /**
* 获取指定版本的sheet * 获取指定版本的sheet
*/ */

View File

@ -41,8 +41,8 @@ public class BusListOfWinningBidsController extends BaseController {
*/ */
@SaCheckPermission("bidding:listOfWinningBids:list") @SaCheckPermission("bidding:listOfWinningBids:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<BusListOfWinningBidsVo> list(BusListOfWinningBidsBo bo, PageQuery pageQuery) { public R<BusListOfWinningBidsVo> list(BusListOfWinningBidsBo bo) {
return busListOfWinningBidsService.queryPageList(bo, pageQuery); return R.ok(busListOfWinningBidsService.queryOne(bo));
} }
/** /**
@ -75,7 +75,7 @@ public class BusListOfWinningBidsController extends BaseController {
@Log(title = "中标项目一览", businessType = BusinessType.INSERT) @Log(title = "中标项目一览", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusListOfWinningBidsBo bo) { public R<Void> add(@RequestBody BusListOfWinningBidsBo bo) {
return toAjax(busListOfWinningBidsService.insertByBo(bo)); return toAjax(busListOfWinningBidsService.insertByBo(bo));
} }

View File

@ -9,6 +9,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.tender.domain.vo.BusBLimitListVersionsVo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Collection; import java.util.Collection;
@ -84,4 +85,6 @@ public interface IBusBiddingLimitListService extends IService<BusBiddingLimitLis
List<BusBiddingLimitVersionsVo> obtainAllVersionNumbers(BiddingAllVersionNumbersReq bo); List<BusBiddingLimitVersionsVo> obtainAllVersionNumbers(BiddingAllVersionNumbersReq bo);
List<String> sheetList(BusBiddingLimitListBo bo); List<String> sheetList(BusBiddingLimitListBo bo);
BusBiddingLimitVersionsVo getVersionDetail(Long id);
} }

View File

@ -3,6 +3,7 @@ package org.dromara.bidding.service;
import org.dromara.bidding.domain.vo.BusListOfWinningBidsVo; import org.dromara.bidding.domain.vo.BusListOfWinningBidsVo;
import org.dromara.bidding.domain.bo.BusListOfWinningBidsBo; import org.dromara.bidding.domain.bo.BusListOfWinningBidsBo;
import org.dromara.bidding.domain.BusListOfWinningBids; import org.dromara.bidding.domain.BusListOfWinningBids;
import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
@ -67,4 +68,6 @@ public interface IBusListOfWinningBidsService extends IService<BusListOfWinningB
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
BusListOfWinningBidsVo queryOne(BusListOfWinningBidsBo bo);
} }

View File

@ -23,6 +23,7 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.utils.excel.ExcelDynamicReader; import org.dromara.common.utils.excel.ExcelDynamicReader;
import org.dromara.tender.domain.vo.BusBLimitListVersionsVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -238,6 +239,12 @@ public class BusBiddingLimitListServiceImpl extends ServiceImpl<BusBiddingLimitL
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override
public BusBiddingLimitVersionsVo getVersionDetail(Long id) {
return busBiddingLimitVersionsService.queryById(id);
}
/** /**
* 递归构建树形结构 * 递归构建树形结构
* *

View File

@ -1,6 +1,8 @@
package org.dromara.bidding.service.impl; package org.dromara.bidding.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -102,13 +104,20 @@ public class BusListOfWinningBidsServiceImpl extends ServiceImpl<BusListOfWinnin
*/ */
@Override @Override
public Boolean insertByBo(BusListOfWinningBidsBo bo) { public Boolean insertByBo(BusListOfWinningBidsBo bo) {
BusListOfWinningBids add = MapstructUtils.convert(bo, BusListOfWinningBids.class); if (bo.getId() == null) {
validEntityBeforeSave(add); BusListOfWinningBids add = MapstructUtils.convert(bo, BusListOfWinningBids.class);
boolean flag = baseMapper.insert(add) > 0; Long count = baseMapper.selectCount(new LambdaQueryWrapper<BusListOfWinningBids>().eq(BusListOfWinningBids::getProjectId, bo.getProjectId()));
if (flag) { if (count > 0) {
bo.setId(add.getId()); throw new ServiceException("项目已存在不允许新增");
}
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
} }
return flag; return updateByBo(bo);
} }
/** /**
@ -145,4 +154,10 @@ public class BusListOfWinningBidsServiceImpl extends ServiceImpl<BusListOfWinnin
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public BusListOfWinningBidsVo queryOne(BusListOfWinningBidsBo bo) {
return baseMapper.selectVoOne(new LambdaQueryWrapper<BusListOfWinningBids>()
.eq(BusListOfWinningBids::getProjectId, bo.getProjectId()));
}
} }

View File

@ -63,7 +63,6 @@ public class BusBillofquantitiesLimitListController extends BaseController {
@SaCheckPermission("tender:billofquantitiesLimitList:obtainAllVersionNumbers") @SaCheckPermission("tender:billofquantitiesLimitList:obtainAllVersionNumbers")
@GetMapping("/obtainAllVersionNumbers") @GetMapping("/obtainAllVersionNumbers")
public R<List<BusBLimitListVersionsVo>> obtainAllVersionNumbers(TenderAllVersionNumbersReq bo) { public R<List<BusBLimitListVersionsVo>> obtainAllVersionNumbers(TenderAllVersionNumbersReq bo) {
bo.setWorkOrderType(LimitListTypeEnum.COMPANY.getCode());
return R.ok(busBillofquantitiesLimitListService.obtainAllVersionNumbers(bo)); return R.ok(busBillofquantitiesLimitListService.obtainAllVersionNumbers(bo));
} }
@ -73,7 +72,7 @@ public class BusBillofquantitiesLimitListController extends BaseController {
@SaCheckPermission("tender:billofquantitiesLimitList:sheetList") @SaCheckPermission("tender:billofquantitiesLimitList:sheetList")
@GetMapping("/sheetList") @GetMapping("/sheetList")
public R<List<String>> sheetList(BusBillofquantitiesLimitListBo bo) { public R<List<String>> sheetList(BusBillofquantitiesLimitListBo bo) {
bo.setType(LimitListTypeEnum.COMPANY.getCode()); // bo.setType(LimitListTypeEnum.COMPANY.getCode());
return R.ok(busBillofquantitiesLimitListService.sheetList(bo)); return R.ok(busBillofquantitiesLimitListService.sheetList(bo));
} }
@ -96,8 +95,8 @@ public class BusBillofquantitiesLimitListController extends BaseController {
@Log(title = "导入excel", businessType = BusinessType.INSERT) @Log(title = "导入excel", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/importExcelFile") @PostMapping("/importExcelFile")
public R<Void> importExcelFile(Long projectId, @RequestParam("file") MultipartFile file) throws Exception { public R<Void> importExcelFile(BusBillofquantitiesLimitListBo bo, @RequestParam("file") MultipartFile file) throws Exception {
return toAjax(busBillofquantitiesLimitListService.importExcelFile(projectId, file)); return toAjax(busBillofquantitiesLimitListService.importExcelFile(bo, file));
} }
/** /**

View File

@ -64,6 +64,15 @@ public class BusTenderPlanLimitListController extends BaseController {
return R.ok(busBillofquantitiesLimitListService.obtainAllVersionNumbers(bo)); return R.ok(busBillofquantitiesLimitListService.obtainAllVersionNumbers(bo));
} }
/**
* 获取所有版本详细信息
*/
@SaCheckPermission("tender:tenderPlanLimitList:getVersionDetail")
@GetMapping("/getVersionDetail/{id}")
public R<BusBLimitListVersionsVo> getVersionDetail(Long id) {
return R.ok(busBillofquantitiesLimitListService.getVersionDetail(id));
}
/** /**
* 获取指定版本的sheet * 获取指定版本的sheet
*/ */
@ -91,8 +100,8 @@ public class BusTenderPlanLimitListController extends BaseController {
@Log(title = "导入excel", businessType = BusinessType.INSERT) @Log(title = "导入excel", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping("/importExcelFile") @PostMapping("/importExcelFile")
public R<Void> importExcelFile(Long projectId, @RequestParam("file") MultipartFile file) throws Exception { public R<Void> importExcelFile(BusBillofquantitiesLimitListBo bo, @RequestParam("file") MultipartFile file) throws Exception {
return toAjax(busBillofquantitiesLimitListService.importExcelFile(projectId, file)); return toAjax(busBillofquantitiesLimitListService.importExcelFile(bo, file));
} }
/** /**

View File

@ -54,6 +54,15 @@ public class TenderSupplierInputController extends BaseController {
return tenderSupplierInputService.queryPageList(bo, pageQuery); return tenderSupplierInputService.queryPageList(bo, pageQuery);
} }
/**
* 查询供应商入库列表
*/
@SaCheckPermission("supplierInput:supplierInput:getList")
@GetMapping("/getList")
public R<List<TenderSupplierInputVo>> list(TenderSupplierInputBo bo) {
return R.ok(tenderSupplierInputService.getList(bo));
}
/** /**
* 导出供应商入库列表 * 导出供应商入库列表
*/ */
@ -98,7 +107,7 @@ public class TenderSupplierInputController extends BaseController {
public R<Void> edit(TenderSupplierInputBo bo,@RequestPart("file") MultipartFile file) { public R<Void> edit(TenderSupplierInputBo bo,@RequestPart("file") MultipartFile file) {
return toAjax(tenderSupplierInputService.updateByBo(bo,file)); return toAjax(tenderSupplierInputService.updateByBo(bo,file));
} }
/** /**
* 删除供应商入库 * 删除供应商入库
* *

View File

@ -102,5 +102,10 @@ public class BusBiddingPlan extends BaseEntity {
*/ */
private String winningBidder; private String winningBidder;
/**
* 中标单位id
*/
private Long winningBidderId;
} }

View File

@ -56,7 +56,7 @@ public class BusSegmentedIndicatorPlanning extends BaseEntity {
/** /**
* 总价 * 总价
*/ */
private Long price; private BigDecimal price;
/** /**
* 分包内容 * 分包内容

View File

@ -104,6 +104,11 @@ public class BusBiddingPlanBo extends BaseEntity {
*/ */
private Integer status; private Integer status;
/**
* 中标单位id
*/
private Long winningBidderId;
/** /**
* 限价一览表ids * 限价一览表ids
*/ */

View File

@ -120,5 +120,10 @@ public class BusBiddingPlanVo implements Serializable {
*/ */
private String winningBidder; private String winningBidder;
/**
* 中标单位id
*/
private Long winningBidderId;
} }

View File

@ -73,16 +73,18 @@ public class BusBillofquantitiesLimitListVo implements Serializable {
@ExcelProperty(value = "编号") @ExcelProperty(value = "编号")
private String num; private String num;
/**
* 类型
*/
@ExcelProperty(value = "类型")
private String type;
/** /**
* 名称 * 名称
*/ */
@ExcelProperty(value = "名称") @ExcelProperty(value = "名称")
private String name; private String name;
/**
* 类型
*/
private String type;
/** /**
* 规格 * 规格

View File

@ -16,5 +16,6 @@ import java.util.List;
public interface BusBillofquantitiesLimitListMapper extends BaseMapperPlus<BusBillofquantitiesLimitList, BusBillofquantitiesLimitListVo> { public interface BusBillofquantitiesLimitListMapper extends BaseMapperPlus<BusBillofquantitiesLimitList, BusBillofquantitiesLimitListVo> {
//,@Param("type") String type
List<BusBillofquantitiesLimitListVo> selectListBySids(@Param("sids") List<String> sids); List<BusBillofquantitiesLimitListVo> selectListBySids(@Param("sids") List<String> sids);
} }

View File

@ -94,7 +94,14 @@ public interface IBusBillofquantitiesLimitListService extends IService<BusBillof
* @param file * @param file
* @return * @return
*/ */
Boolean importExcelFile(Long id, MultipartFile file) throws Exception; Boolean importExcelFile(BusBillofquantitiesLimitListBo id, MultipartFile file) throws Exception;
List<BusBillofquantitiesLimitListVo> getListByIds(List<Long> ids); List<BusBillofquantitiesLimitListVo> getListByIds(List<Long> ids);
/**
* 获取版本详细信息
* @param id
* @return
*/
BusBLimitListVersionsVo getVersionDetail(Long id);
} }

View File

@ -70,4 +70,6 @@ ITenderSupplierInputService extends IService<TenderSupplierInput>{
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<TenderSupplierInputVo> getList(TenderSupplierInputBo bo);
} }

View File

@ -174,7 +174,6 @@ public class BusBiddingPlanServiceImpl extends ServiceImpl<BusBiddingPlanMapper,
planAnnex.setBiddingPlanId(bo.getId()); planAnnex.setBiddingPlanId(bo.getId());
List<BusBiddingPlanAnnexVo> planAnnexVoList = busBiddingPlanAnnexService.queryList(planAnnex); List<BusBiddingPlanAnnexVo> planAnnexVoList = busBiddingPlanAnnexService.queryList(planAnnex);
if (planAnnexVoList != null && !planAnnexVoList.isEmpty() ) { if (planAnnexVoList != null && !planAnnexVoList.isEmpty() ) {
if (!bidFile.isEmpty()){ if (!bidFile.isEmpty()){
SysOssUploadVo wordEntity = ossService.uploadWithNoSave(bidFile, ossService.minioFileName(FormalitiesAnnex,bidFile)); SysOssUploadVo wordEntity = ossService.uploadWithNoSave(bidFile, ossService.minioFileName(FormalitiesAnnex,bidFile));
update.setBidFile(wordEntity.getUrl()); update.setBidFile(wordEntity.getUrl());
@ -234,6 +233,9 @@ public class BusBiddingPlanServiceImpl extends ServiceImpl<BusBiddingPlanMapper,
ids.add(planningLimitList.getLimitListId()); ids.add(planningLimitList.getLimitListId());
} }
List<BusBillofquantitiesLimitListVo> billofquantitiesLimitListList = busBillofquantitiesLimitListService.getListByIds(ids); List<BusBillofquantitiesLimitListVo> billofquantitiesLimitListList = busBillofquantitiesLimitListService.getListByIds(ids);
if (billofquantitiesLimitListList.isEmpty()){
return billofquantitiesLimitListList;
}
List<BusBillofquantitiesLimitListVo> list = billofquantitiesLimitListList.stream().distinct().collect(Collectors.toList()); List<BusBillofquantitiesLimitListVo> list = billofquantitiesLimitListList.stream().distinct().collect(Collectors.toList());
for (BusBillofquantitiesLimitListVo limitList : list) { for (BusBillofquantitiesLimitListVo limitList : list) {
for (BusTenderPlanningLimitList limitList1 : planningLimitListList) { for (BusTenderPlanningLimitList limitList1 : planningLimitListList) {

View File

@ -13,6 +13,7 @@ import org.dromara.common.utils.excel.ExcelDynamicReader;
import org.dromara.tender.domain.bo.BusBLimitListVersionsBo; import org.dromara.tender.domain.bo.BusBLimitListVersionsBo;
import org.dromara.tender.domain.bo.TenderAllVersionNumbersReq; import org.dromara.tender.domain.bo.TenderAllVersionNumbersReq;
import org.dromara.tender.domain.vo.BusBLimitListVersionsVo; import org.dromara.tender.domain.vo.BusBLimitListVersionsVo;
import org.dromara.tender.enums.LimitListTypeEnum;
import org.dromara.tender.service.IBusBLimitListVersionsService; import org.dromara.tender.service.IBusBLimitListVersionsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -159,8 +160,11 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
listVoList.stream().filter(vo -> vo.getUnitPrice() !=null && vo.getUnitPrice().compareTo(BigDecimal.ZERO) != 0) listVoList.stream().filter(vo -> vo.getUnitPrice() !=null && vo.getUnitPrice().compareTo(BigDecimal.ZERO) != 0)
.filter(vo ->vo.getQuantity() !=null && vo.getQuantity().compareTo(BigDecimal.ZERO) != 0) .filter(vo ->vo.getQuantity() !=null && vo.getQuantity().compareTo(BigDecimal.ZERO) != 0)
.forEach(item -> { .forEach(item -> {
item.setPrice(item.getUnitPrice().multiply(item.getQuantity()).setScale(2, RoundingMode.HALF_UP)); item.setPrice(item.getUnitPrice().multiply(item.getQuantity()).setScale(2, RoundingMode.HALF_UP));
}); });
if (bo.getType().equals(LimitListTypeEnum.SPECIAL.getCode())){
return listVoList;
}
//构建父子映射 //构建父子映射
Map<String, List<BusBillofquantitiesLimitListVo>> parentMap = listVoList.stream() Map<String, List<BusBillofquantitiesLimitListVo>> parentMap = listVoList.stream()
@ -195,7 +199,7 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
} }
@Override @Override
public Boolean importExcelFile(Long id, MultipartFile file) throws Exception{ public Boolean importExcelFile(BusBillofquantitiesLimitListBo bo, MultipartFile file) throws Exception{
// 跳过1行表头读取0到6列共7列映射到ExcelData实体类 // 跳过1行表头读取0到6列共7列映射到ExcelData实体类
@ -203,7 +207,7 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
file, // 上传的文件 file, // 上传的文件
1, // 跳过1行表头 1, // 跳过1行表头
0, // 从第0列开始 0, // 从第0列开始
12, // 到第5列结束 13, // 到第5列结束
BusBillofquantitiesLimitListBo.class // 目标实体类 BusBillofquantitiesLimitListBo.class // 目标实体类
); );
List<BusBillofquantitiesLimitList> busBillofquantities = new ArrayList<BusBillofquantitiesLimitList>(); List<BusBillofquantitiesLimitList> busBillofquantities = new ArrayList<BusBillofquantitiesLimitList>();
@ -214,7 +218,8 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
.forEach(item -> { .forEach(item -> {
BusBillofquantitiesLimitList limitList = new BusBillofquantitiesLimitList(); BusBillofquantitiesLimitList limitList = new BusBillofquantitiesLimitList();
limitList.setId(item.getId()); limitList.setId(item.getId());
limitList.setProjectId(id); limitList.setProjectId(bo.getProjectId());
limitList.setType(bo.getType());
limitList.setUnitPrice(item.getUnitPrice()); limitList.setUnitPrice(item.getUnitPrice());
busBillofquantities.add(limitList); busBillofquantities.add(limitList);
}); });
@ -229,11 +234,19 @@ public class BusBillofquantitiesLimitListServiceImpl extends ServiceImpl<BusBill
limitListList.forEach(item -> { limitListList.forEach(item -> {
sids.add(item.getSid()); sids.add(item.getSid());
}); });
if (sids.isEmpty()) {
return new ArrayList<>();
}
List<BusBillofquantitiesLimitListVo> listVoList = baseMapper.selectListBySids(sids); List<BusBillofquantitiesLimitListVo> listVoList = baseMapper.selectListBySids(sids);
return listVoList; return listVoList;
} }
@Override
public BusBLimitListVersionsVo getVersionDetail(Long id) {
return busBLimitListVersionsService.queryById(id);
}
/** /**
* 递归构建树形结构 * 递归构建树形结构
* @param parentId 父节点ID顶级节点为0 * @param parentId 父节点ID顶级节点为0

View File

@ -117,7 +117,7 @@ public class BusSegmentedIndicatorPlanningServiceImpl extends ServiceImpl<BusSeg
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(BusSegmentedIndicatorPlanningBo bo) { public Boolean insertByBo(BusSegmentedIndicatorPlanningBo bo) {
BusSegmentedIndicatorPlanning add = MapstructUtils.convert(bo, BusSegmentedIndicatorPlanning.class); BusSegmentedIndicatorPlanning add = MapstructUtils.convert(bo, BusSegmentedIndicatorPlanning.class);
validEntityBeforeSave(add); // validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
@ -155,7 +155,7 @@ public class BusSegmentedIndicatorPlanningServiceImpl extends ServiceImpl<BusSeg
@Override @Override
public Boolean updateByBo(BusSegmentedIndicatorPlanningBo bo) { public Boolean updateByBo(BusSegmentedIndicatorPlanningBo bo) {
BusSegmentedIndicatorPlanning update = MapstructUtils.convert(bo, BusSegmentedIndicatorPlanning.class); BusSegmentedIndicatorPlanning update = MapstructUtils.convert(bo, BusSegmentedIndicatorPlanning.class);
validEntityBeforeSave(update); // validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
@ -165,7 +165,7 @@ public class BusSegmentedIndicatorPlanningServiceImpl extends ServiceImpl<BusSeg
private void validEntityBeforeSave(BusSegmentedIndicatorPlanning entity) { private void validEntityBeforeSave(BusSegmentedIndicatorPlanning entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
String dictName = entity.getDictName(); String dictName = entity.getDictName();
BigDecimal contractPrice = entity.getLimitPrice().multiply(new BigDecimal("10000")); BigDecimal contractPrice = entity.getPrice().multiply(new BigDecimal("10000"));
switch (dictName) { switch (dictName) {
case "1" -> { case "1" -> {
if (contractPrice.compareTo(BigDecimal.valueOf(100000000)) > 0) { if (contractPrice.compareTo(BigDecimal.valueOf(100000000)) > 0) {
@ -238,6 +238,9 @@ public class BusSegmentedIndicatorPlanningServiceImpl extends ServiceImpl<BusSeg
ids.add(planningLimitList.getLimitListId()); ids.add(planningLimitList.getLimitListId());
} }
List<BusBillofquantitiesLimitListVo> billofquantitiesLimitListList = busBillofquantitiesLimitListService.getListByIds(ids); List<BusBillofquantitiesLimitListVo> billofquantitiesLimitListList = busBillofquantitiesLimitListService.getListByIds(ids);
if (billofquantitiesLimitListList.isEmpty()) {
return billofquantitiesLimitListList;
}
List<BusBillofquantitiesLimitListVo> list = billofquantitiesLimitListList.stream().distinct().collect(Collectors.toList()); List<BusBillofquantitiesLimitListVo> list = billofquantitiesLimitListList.stream().distinct().collect(Collectors.toList());
for (BusBillofquantitiesLimitListVo limitList : list) { for (BusBillofquantitiesLimitListVo limitList : list) {
for (BusIndicatorPlanningLimitList limitList1 : planningLimitListList) { for (BusIndicatorPlanningLimitList limitList1 : planningLimitListList) {

View File

@ -91,6 +91,7 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
lqw.orderByDesc(TenderSupplierInput::getId); lqw.orderByDesc(TenderSupplierInput::getId);
lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), TenderSupplierInput::getSupplierType, bo.getSupplierType()); lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), TenderSupplierInput::getSupplierType, bo.getSupplierType());
lqw.eq(StringUtils.isNotBlank(bo.getInputFile()), TenderSupplierInput::getInputFile, bo.getInputFile()); lqw.eq(StringUtils.isNotBlank(bo.getInputFile()), TenderSupplierInput::getInputFile, bo.getInputFile());
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), TenderSupplierInput::getSupplierName, bo.getSupplierName());
return lqw; return lqw;
} }
@ -165,6 +166,20 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public List<TenderSupplierInputVo> getList(TenderSupplierInputBo bo) {
LambdaQueryWrapper<TenderSupplierInput> lqw = buildQueryWrapper(bo);
List<TenderSupplierInputVo> tenderSupplierInputVos = baseMapper.selectVoList(lqw);
List<TenderSupplierInputVo> list = new ArrayList<>();
tenderSupplierInputVos.forEach(tenderSupplierInputVo -> {
TenderSupplierInputVo vo = new TenderSupplierInputVo();
vo.setSupplierName(tenderSupplierInputVo.getSupplierName());
vo.setId(tenderSupplierInputVo.getId());
list.add(vo);
});
return list;
}
/** /**
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)

View File

@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<!-- b.type = #{type} and-->
<select id="selectListBySids" resultType="org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo"> <select id="selectListBySids" resultType="org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo">
with recursive parent as ( with recursive parent as (
select b.id as id, select b.id as id,
@ -38,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
b.remark as remark, b.remark as remark,
0 as level 0 as level
from bus_billofquantities_limit_list b from bus_billofquantities_limit_list b
where b.sid in where b.sid in
<foreach collection="sids" item="sid" separator="," open="(" close=")"> <foreach collection="sids" item="sid" separator="," open="(" close=")">
#{sid} #{sid}
</foreach> </foreach>