作者 lixiang

1、中标逻辑 修改

... ... @@ -13,6 +13,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.erp.trade.entity.TblTradeBidMaterialDetails;
import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
import org.jeecg.modules.erp.trade.service.ITblTradeBidMaterialDetailsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
... ... @@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.erp.trade.service.ITblTradeBidSubService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
... ... @@ -49,6 +51,8 @@ import org.jeecg.common.aspect.annotation.AutoLog;
public class TblTradeBidMaterialDetailsController extends JeecgController<TblTradeBidMaterialDetails, ITblTradeBidMaterialDetailsService> {
@Autowired
private ITblTradeBidMaterialDetailsService tblTradeBidMaterialDetailsService;
@Autowired
private ITblTradeBidSubService tblTradeBidSubService;
/**
* 分页列表查询
... ... @@ -69,6 +73,13 @@ public class TblTradeBidMaterialDetailsController extends JeecgController<TblTra
QueryWrapper<TblTradeBidMaterialDetails> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidMaterialDetails, req.getParameterMap());
Page<TblTradeBidMaterialDetails> page = new Page<TblTradeBidMaterialDetails>(pageNo, pageSize);
IPage<TblTradeBidMaterialDetails> pageList = tblTradeBidMaterialDetailsService.page(page, queryWrapper);
// QueryWrapper<TblTradeBidSub> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidSub, req.getParameterMap());
// Page<TblTradeBidSub> page = new Page<TblTradeBidSub>(pageNo, pageSize);
// IPage<TblTradeBidSub> pageList = tblTradeBidSubService.page(page, queryWrapper);
return Result.OK(pageList);
}
... ...
... ... @@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
... ... @@ -129,13 +130,15 @@ public class TblTradePriceInquiryController {
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value = "中标列表查询", notes = "中标列表查询")
@GetMapping(value = "/winBidList")
public Result<IPage<Map<String, Object>>> queryWinBidList(TblTradeBidMaterialDetails tblTradeBidMaterialDetails,
public Result<IPage<Map<String, Object>>> queryWinBidList(TblTradeBidSub tblTradeBidSub,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Page<TblTradeBidMaterialDetails> page = new Page<>(pageNo, pageSize);
IPage<Map<String, Object>> pageList = tblTradeBidMaterialDetailsService.pageList(page, tblTradeBidMaterialDetails);
IPage<Map<String, Object>> pageList = tblTradeBidSubService.selectWinBidInfo(page, tblTradeBidSub);
// IPage<Map<String, Object>> pageList = tblTradeBidMaterialDetailsService.pageList(page, tblTradeBidMaterialDetails);
return Result.OK(pageList);
}
... ... @@ -299,8 +302,10 @@ public class TblTradePriceInquiryController {
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
// 提取采购项目编号
String projectNumber = sheet.getRow(1).getCell(2).getStringCellValue();
String bidDate = sheet.getRow(2).getCell(6).getStringCellValue();
String projectNumber = cellTypeToString(sheet.getRow(1).getCell(2));
String bidDate = cellTypeToString(sheet.getRow(2).getCell(6));
QueryWrapper<TblTradeBidSub> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("xjbswjh", projectNumber);
List<TblTradeBidSub> tblTradeBidSubs = tblTradeBidSubService.list(queryWrapper);
... ... @@ -311,7 +316,7 @@ public class TblTradePriceInquiryController {
//标段(包)名称 物料编码
//SRM编码 物料长描述 单位 品牌 数量 中标单价 税率(%) 总价(不含税,元) 需求单位 交货时间 合同编号 合同日期
ArrayList<TblTradeBidMaterialDetails> tblTradeBidMaterialDetails = new ArrayList<>();
for (int i = 10; i < sheet.getLastRowNum(); i++) {
for (int i = 10; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
if (row == null) continue;
//物料编码
... ... @@ -347,7 +352,7 @@ public class TblTradePriceInquiryController {
materialInfo.setRequiredDeliveryTime(fmt.format(dateCellValue)); // 交货时间
materialInfo.setDemandUnit(cellTypeToString(row.getCell(11))); // 需求单位
//投标价格
if (tblTradeBidSubInfo.getTbjg() != null){
if (tblTradeBidSubInfo != null && tblTradeBidSubInfo.getTbjg() != null){
BigDecimal tbjg = new BigDecimal(tblTradeBidSubInfo.getTbjg());
materialInfo.setBidPrice(tbjg);
materialInfo.setDiffPrice(tbjg.subtract(zbjg));
... ... @@ -356,6 +361,12 @@ public class TblTradePriceInquiryController {
materialInfo.setBidNum(projectNumber);
materialInfo.setBidDate(bidDate);
tblTradeBidMaterialDetails.add(materialInfo);
tblTradeBidSubService.update(
Wrappers.lambdaUpdate(TblTradeBidSub.class)
.eq(TblTradeBidSub::getWlbm, materialCode)
.eq(TblTradeBidSub::getXjbswjh,projectNumber)
.set(TblTradeBidSub::getSfzb,"1")
);
}
tblTradeBidMaterialDetailsService.saveBatch(tblTradeBidMaterialDetails);
... ...
package org.jeecg.modules.erp.trade.mapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.erp.trade.entity.TblTradeBidMaterialDetails;
import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
... ... @@ -30,4 +34,5 @@ public interface TblTradeBidSubMapper extends BaseMapper<TblTradeBidSub> {
*/
public List<TblTradeBidSub> selectByMainId(@Param("mainId") String mainId);
IPage<Map<String, Object>> selectWinBidInfo(Page<TblTradeBidMaterialDetails> page,@Param("param") TblTradeBidSub tblTradeBidSub);
}
... ...
... ... @@ -13,5 +13,19 @@
FROM tbl_trade_bid_sub
WHERE
trade_id = #{mainId} </select>
<select id="selectWinBidInfo" resultType="java.util.Map">
SELECT
xjbswjh,
COUNT(*) AS ljbs,
SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) AS tbbs,
SUM(CASE WHEN sfzb = 1 THEN 1 ELSE 0 END) AS zbbs,
ROUND(SUM(CASE WHEN sfzb = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS zbl
FROM
tbl_trade_bid_sub
GROUP BY
xjbswjh
ORDER BY
xjbswjh;
</select>
</mapper>
\ No newline at end of file
... ...
package org.jeecg.modules.erp.trade.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.erp.trade.entity.TblTradeBidMaterialDetails;
import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
import com.baomidou.mybatisplus.extension.service.IService;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* @Description: 投标表
... ... @@ -59,4 +63,6 @@ public interface ITblTradeBidSubService extends IService<TblTradeBidSub> {
* @param tblTradeInquiryInfoList
*/
void inquiryApproval(TblTradeBidSub tblTradeBidSub, List<TblTradeInquiryInfo> tblTradeInquiryInfoList);
IPage<Map<String, Object>> selectWinBidInfo(Page<TblTradeBidMaterialDetails> page, TblTradeBidSub tblTradeBidSub);
}
... ...
... ... @@ -2,11 +2,10 @@ package org.jeecg.modules.erp.trade.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
import org.jeecg.modules.erp.trade.entity.TblTradePriceInquiry;
import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.erp.trade.entity.*;
import org.jeecg.modules.erp.trade.mapper.TblTradeInquiryInfoMapper;
import org.jeecg.modules.erp.trade.mapper.TblTradeBidSubMapper;
import org.jeecg.modules.erp.trade.mapper.TblTradePriceInquiryMapper;
... ... @@ -19,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
import java.util.Collection;
import java.util.Map;
/**
* @Description: 投标表
... ... @@ -105,8 +105,13 @@ public class TblTradeBidSubServiceImpl extends ServiceImpl<TblTradeBidSubMapper,
}
}
@Override
public IPage<Map<String, Object>> selectWinBidInfo(Page<TblTradeBidMaterialDetails> page, TblTradeBidSub tblTradeBidSub) {
return tblTradeBidSubMapper.selectWinBidInfo(page,tblTradeBidSub);
}
@Override
@Override
@Transactional(rollbackFor = Exception.class)
public void delMain(String id) {
tblTradeInquiryInfoMapper.deleteByMainId(id);
... ...