|
...
|
...
|
@@ -2,6 +2,7 @@ package org.jeecg.modules.erp.trade.controller; |
|
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
import java.net.URLDecoder;
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.stream.Collectors;
|
|
...
|
...
|
@@ -10,8 +11,11 @@ import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
import cn.hutool.core.lang.Opt;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import org.jeecg.modules.erp.trade.entity.*;
|
|
|
|
import org.jeecg.modules.erp.trade.mapper.TblTradeBidMaterialDetailsMapper;
|
|
|
|
import org.jeecg.modules.erp.trade.service.*;
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
import org.jeecg.modules.erp.trade.entity.TblTradeInventoryIn;
|
|
...
|
...
|
@@ -65,6 +69,10 @@ public class TblTradeBidSubController { |
|
|
|
private ITblTradeInventoryInService tblTradeInventoryInService;
|
|
|
|
@Autowired
|
|
|
|
private ITblTradePurchaseInfoService tblTradePurchaseInfoService;
|
|
|
|
@Autowired
|
|
|
|
private ITblTradeInventoryService tblTradeInventoryService;
|
|
|
|
@Autowired
|
|
|
|
private TblTradeBidMaterialDetailsMapper tblTradeBidMaterialDetailsMapper;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 分页列表查询
|
|
...
|
...
|
@@ -89,12 +97,34 @@ public class TblTradeBidSubController { |
|
|
|
IPage <TblTradeBidSub> page = new Page<>();
|
|
|
|
List<TblTradeBidSub> tblTradeBidSubList = tblTradeBidSubService.list(queryWrapper);
|
|
|
|
List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null);
|
|
|
|
List<TblTradeInventory> inventoryList = tblTradeInventoryService.list(null);
|
|
|
|
List<TblTradeBidMaterialDetails> lastBidDataList = tblTradeBidMaterialDetailsMapper.getLastBidData();
|
|
|
|
tblTradeBidSubList.forEach(e->{
|
|
|
|
e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get());
|
|
|
|
|
|
|
|
// TODO 获取库存数据、在途库存、最近中标单价、最后一次中标时间
|
|
|
|
// 库存数据、在途库存
|
|
|
|
TblTradeInventory tblTradeInventory = inventoryList.stream()
|
|
|
|
.filter(i -> StrUtil.equals(i.getMaterialCode(), e.getWlbm())).findFirst().orElse(null);
|
|
|
|
e.setKcsj(Opt.ofNullable(tblTradeInventory)
|
|
|
|
.map(TblTradeInventory::getActualInventory).orElse(0).toString());
|
|
|
|
e.setZtkf(Opt.ofNullable(tblTradeInventory)
|
|
|
|
.map(TblTradeInventory::getQuantityInTransit).orElse(0).toString());
|
|
|
|
|
|
|
|
// 最近中标单价、最后一次中标时间
|
|
|
|
TblTradeBidMaterialDetails bidMaterialDetails = lastBidDataList.stream()
|
|
|
|
.filter(i -> StrUtil.equals(i.getMaterialCode(), e.getWlbm())).findFirst().orElse(null);
|
|
|
|
BigDecimal zjzbdj = Opt.ofNullable(bidMaterialDetails).map(TblTradeBidMaterialDetails::getWinningBidPrice)
|
|
|
|
.orElse(null);
|
|
|
|
if (ObjectUtil.isNotNull(zjzbdj)){
|
|
|
|
e.setZjzbdj(zjzbdj.toPlainString());
|
|
|
|
}
|
|
|
|
e.setZhzbsj(Opt.ofNullable(bidMaterialDetails).map(TblTradeBidMaterialDetails::getBidDate)
|
|
|
|
.orElse(""));
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page.setRecords(tblTradeBidSubList);
|
|
|
|
page.setTotal(tblTradeBidSubList.size());
|
|
|
|
|
|
...
|
...
|
@@ -483,18 +513,64 @@ public class TblTradeBidSubController { |
|
|
|
* @param tblTradeBidSub
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@RequestMapping("getBidSubData")
|
|
|
|
public Result<TblTradeBidSub> getBidSubData(@RequestBody TblTradeBidSub tblTradeBidSub){
|
|
|
|
@RequestMapping("getBidSubData")
|
|
|
|
public Result<TblTradeBidSub> getBidSubData(@RequestBody TblTradeBidSub tblTradeBidSub) {
|
|
|
|
|
|
|
|
TblTradeBidSub data = tblTradeBidSubService.getOne(Wrappers.lambdaQuery(TblTradeBidSub.class)
|
|
|
|
.eq(TblTradeBidSub::getTradeId, tblTradeBidSub.getTradeId()));
|
|
|
|
|
|
|
|
// 获取库存数据、在途库存、最近中标单价、最后一次中标时间
|
|
|
|
List<TblTradeInventory> inventoryList = tblTradeInventoryService.list(null);
|
|
|
|
List<TblTradeBidMaterialDetails> lastBidDataList = tblTradeBidMaterialDetailsMapper.getLastBidData();
|
|
|
|
|
|
|
|
// 库存数据、在途库存
|
|
|
|
TblTradeInventory tblTradeInventory = inventoryList.stream()
|
|
|
|
.filter(e -> StrUtil.equals(e.getMaterialCode(), data.getWlbm())).findFirst().orElse(null);
|
|
|
|
data.setKcsj(Opt.ofNullable(tblTradeInventory)
|
|
|
|
.map(TblTradeInventory::getActualInventory).orElse(0).toString());
|
|
|
|
data.setZtkf(Opt.ofNullable(tblTradeInventory)
|
|
|
|
.map(TblTradeInventory::getQuantityInTransit).orElse(0).toString());
|
|
|
|
|
|
|
|
// 最近中标单价、最后一次中标时间
|
|
|
|
TblTradeBidMaterialDetails bidMaterialDetails = lastBidDataList.stream()
|
|
|
|
.filter(e -> StrUtil.equals(e.getMaterialCode(), data.getWlbm())).findFirst().orElse(null);
|
|
|
|
BigDecimal zjzbdj = Opt.ofNullable(bidMaterialDetails).map(TblTradeBidMaterialDetails::getWinningBidPrice)
|
|
|
|
.orElse(null);
|
|
|
|
if (ObjectUtil.isNotNull(zjzbdj)){
|
|
|
|
data.setZjzbdj(zjzbdj.toPlainString());
|
|
|
|
}
|
|
|
|
data.setZhzbsj(Opt.ofNullable(bidMaterialDetails).map(TblTradeBidMaterialDetails::getBidDate)
|
|
|
|
.orElse(""));
|
|
|
|
|
|
|
|
TblTradeTenderInfo tenderInfo = tblTradeTenderInfoService.getById(tblTradeBidSub.getTradeId());
|
|
|
|
data.setTenderInfo(tenderInfo);
|
|
|
|
|
|
|
|
TblTradeBidSub data = tblTradeBidSubService.getOne(Wrappers.lambdaQuery(TblTradeBidSub.class)
|
|
|
|
.eq(TblTradeBidSub::getTradeId, tblTradeBidSub.getTradeId()));
|
|
|
|
return Result.OK(data);
|
|
|
|
}
|
|
|
|
|
|
|
|
// TODO 获取库存数据、在途库存、最近中标单价、最后一次中标时间
|
|
|
|
|
|
|
|
TblTradeTenderInfo tenderInfo = tblTradeTenderInfoService.getById(tblTradeBidSub.getTradeId());
|
|
|
|
data.setTenderInfo(tenderInfo);
|
|
|
|
/**
|
|
|
|
* 投标主管审批
|
|
|
|
*
|
|
|
|
* @param tblTradeBidSubPage
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@AutoLog(value = "投标主管审批")
|
|
|
|
@ApiOperation(value="投标主管审批", notes="投标主管审批")
|
|
|
|
@RequestMapping(value = "/bidApproval", method = {RequestMethod.PUT,RequestMethod.POST})
|
|
|
|
public Result<String> bidApproval(@RequestBody TblTradeBidSubPage tblTradeBidSubPage) {
|
|
|
|
TblTradeBidSub tblTradeBidSub = new TblTradeBidSub();
|
|
|
|
BeanUtils.copyProperties(tblTradeBidSubPage, tblTradeBidSub);
|
|
|
|
|
|
|
|
TblTradeBidSub tblTradeBidSubEntity = tblTradeBidSubService.getById(tblTradeBidSub.getId());
|
|
|
|
if(tblTradeBidSubEntity==null) {
|
|
|
|
return Result.error("未找到对应数据");
|
|
|
|
}
|
|
|
|
|
|
|
|
return Result.OK(data);
|
|
|
|
// 投标审核状态:0-询价中、1-询价完成、2-投标待审核、3-投标审核完成
|
|
|
|
tblTradeBidSub.setStatus("3");
|
|
|
|
tblTradeBidSubService.updateById(tblTradeBidSub);
|
|
|
|
return Result.OK("审批成功!");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
...
|
...
|
|