作者 王鹏

增加首页,优化采买

@@ -88,6 +88,7 @@ public class TblTradeBidSubController { @@ -88,6 +88,7 @@ public class TblTradeBidSubController {
88 List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null); 88 List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null);
89 tblTradeBidSubList.forEach(e->{ 89 tblTradeBidSubList.forEach(e->{
90 e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get()); 90 e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get());
  91 +
91 }); 92 });
92 page.setRecords(tblTradeBidSubList); 93 page.setRecords(tblTradeBidSubList);
93 page.setTotal(tblTradeBidSubList.size()); 94 page.setTotal(tblTradeBidSubList.size());
@@ -152,6 +153,75 @@ public class TblTradeBidSubController { @@ -152,6 +153,75 @@ public class TblTradeBidSubController {
152 List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null); 153 List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null);
153 pageList.getRecords().forEach(e->{ 154 pageList.getRecords().forEach(e->{
154 e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get()); 155 e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get());
  156 + e.setJldw(e.getTenderInfo().getJldw());
  157 + e.setPinpai(e.getTenderInfo().getPinpai());
  158 + e.setSl(e.getTenderInfo().getSl());
  159 + e.setXqdw(e.getTenderInfo().getXqdw());
  160 + });
  161 +
  162 + return Result.OK(pageList);
  163 + }
  164 +
  165 + /**
  166 + * 分页列表查询
  167 + *
  168 + * @param tblTradeBidSub
  169 + * @param pageNo
  170 + * @param pageSize
  171 + * @param req
  172 + * @return
  173 + */
  174 + //@AutoLog(value = "投标表-分页列表查询")
  175 + @ApiOperation(value="采买订单-分页列表查询", notes="采买订单-分页列表查询")
  176 + @GetMapping(value = "/purchaseInfoList")
  177 + public Result<IPage<TblTradeBidSub>> queryPurchaseInfoList(TblTradeBidSub tblTradeBidSub,
  178 + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  179 + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  180 + HttpServletRequest req) {
  181 + QueryWrapper<TblTradeBidSub> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidSub, req.getParameterMap());
  182 + queryWrapper.isNotNull("qudao");
  183 + Page<TblTradeBidSub> page = new Page<TblTradeBidSub>(pageNo, pageSize);
  184 + IPage<TblTradeBidSub> pageList = tblTradeBidSubService.page(page, queryWrapper);
  185 +
  186 + List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null);
  187 + pageList.getRecords().forEach(e->{
  188 + e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get());
  189 + e.setJldw(e.getTenderInfo().getJldw());
  190 + e.setPinpai(e.getTenderInfo().getPinpai());
  191 + e.setSl(e.getTenderInfo().getSl());
  192 + e.setXqdw(e.getTenderInfo().getXqdw());
  193 + });
  194 +
  195 + return Result.OK(pageList);
  196 + }
  197 +
  198 + /**
  199 + * 分页列表查询
  200 + *
  201 + * @param tblTradeBidSub
  202 + * @param pageNo
  203 + * @param pageSize
  204 + * @param req
  205 + * @return
  206 + */
  207 + @ApiOperation(value="物料异常-分页列表查询", notes="物料异常-分页列表查询")
  208 + @GetMapping(value = "/abnormalList")
  209 + public Result<IPage<TblTradeBidSub>> queryAbnormalList(TblTradeBidSub tblTradeBidSub,
  210 + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  211 + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  212 + HttpServletRequest req) {
  213 + QueryWrapper<TblTradeBidSub> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidSub, req.getParameterMap());
  214 + queryWrapper.eq("sfyllyc","是");
  215 + Page<TblTradeBidSub> page = new Page<TblTradeBidSub>(pageNo, pageSize);
  216 + IPage<TblTradeBidSub> pageList = tblTradeBidSubService.page(page, queryWrapper);
  217 +
  218 + List<TblTradeTenderInfo> tenderInfoList = tblTradeTenderInfoService.list(null);
  219 + pageList.getRecords().forEach(e->{
  220 + e.setTenderInfo(tenderInfoList.stream().filter(i->StrUtil.equals(i.getId(),e.getTradeId())).findFirst().get());
  221 + e.setJldw(e.getTenderInfo().getJldw());
  222 + e.setPinpai(e.getTenderInfo().getPinpai());
  223 + e.setSl(e.getTenderInfo().getSl());
  224 + e.setXqdw(e.getTenderInfo().getXqdw());
155 }); 225 });
156 226
157 return Result.OK(pageList); 227 return Result.OK(pageList);
@@ -172,6 +242,20 @@ public class TblTradeBidSubController { @@ -172,6 +242,20 @@ public class TblTradeBidSubController {
172 tblTradeBidSubService.saveMain(tblTradeBidSub, tblTradeBidSubPage.getTblTradeInquiryInfoList()); 242 tblTradeBidSubService.saveMain(tblTradeBidSub, tblTradeBidSubPage.getTblTradeInquiryInfoList());
173 return Result.OK("添加成功!"); 243 return Result.OK("添加成功!");
174 } 244 }
  245 +
  246 + /**
  247 + * 添加
  248 + *
  249 + * @param
  250 + * @return
  251 + */
  252 + @AutoLog(value = "投标表-添加")
  253 + @ApiOperation(value="投标表-添加", notes="投标表-添加")
  254 + @PostMapping(value = "/batchSave")
  255 + public Result<String> batchSave(@RequestBody List<TblTradeBidSub> tblTradeBidSubList) {
  256 + tblTradeBidSubService.updateBatchById(tblTradeBidSubList);
  257 + return Result.OK("保存成功!");
  258 + }
175 259
176 /** 260 /**
177 * 编辑 261 * 编辑
1 package org.jeecg.modules.erp.trade.controller; 1 package org.jeecg.modules.erp.trade.controller;
2 2
3 import java.util.Arrays; 3 import java.util.Arrays;
  4 +import java.util.Date;
4 import java.util.List; 5 import java.util.List;
5 import java.util.Map; 6 import java.util.Map;
6 import java.util.stream.Collectors; 7 import java.util.stream.Collectors;
@@ -9,6 +10,8 @@ import java.io.UnsupportedEncodingException; @@ -9,6 +10,8 @@ import java.io.UnsupportedEncodingException;
9 import java.net.URLDecoder; 10 import java.net.URLDecoder;
10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse; 12 import javax.servlet.http.HttpServletResponse;
  13 +
  14 +import cn.hutool.core.util.StrUtil;
12 import org.jeecg.common.api.vo.Result; 15 import org.jeecg.common.api.vo.Result;
13 import org.jeecg.common.system.query.QueryGenerator; 16 import org.jeecg.common.system.query.QueryGenerator;
14 import org.jeecg.common.util.oConvertUtils; 17 import org.jeecg.common.util.oConvertUtils;
@@ -86,6 +89,15 @@ public class TblTradeMeterialController extends JeecgController<TblTradeMeterial @@ -86,6 +89,15 @@ public class TblTradeMeterialController extends JeecgController<TblTradeMeterial
86 @ApiOperation(value="贸易管理物料表-添加", notes="贸易管理物料表-添加") 89 @ApiOperation(value="贸易管理物料表-添加", notes="贸易管理物料表-添加")
87 @PostMapping(value = "/add") 90 @PostMapping(value = "/add")
88 public Result<String> add(@RequestBody TblTradeMeterial tblTradeMeterial) { 91 public Result<String> add(@RequestBody TblTradeMeterial tblTradeMeterial) {
  92 + if (StrUtil.isNotBlank(tblTradeMeterial.getCert())){
  93 + tblTradeMeterial.setCertDate(new Date());
  94 + }
  95 + if (StrUtil.isNotBlank(tblTradeMeterial.getModelChange())){
  96 + tblTradeMeterial.setModelChangeDate(new Date());
  97 + }
  98 + if (StrUtil.isNotBlank(tblTradeMeterial.getOther())){
  99 + tblTradeMeterial.setOtherDate(new Date());
  100 + }
89 tblTradeMeterialService.save(tblTradeMeterial); 101 tblTradeMeterialService.save(tblTradeMeterial);
90 TblTradeInventory record = new TblTradeInventory(tblTradeMeterial); 102 TblTradeInventory record = new TblTradeInventory(tblTradeMeterial);
91 tblTradeInventoryService.save(record); 103 tblTradeInventoryService.save(record);
@@ -318,32 +318,33 @@ public class TblTradePriceInquiryController { @@ -318,32 +318,33 @@ public class TblTradePriceInquiryController {
318 public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { 318 public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
319 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; 319 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
320 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); 320 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
321 - for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {  
322 - // 获取上传文件对象  
323 - MultipartFile file = entity.getValue();  
324 - ImportParams params = new ImportParams();  
325 - params.setTitleRows(2);  
326 - params.setHeadRows(1);  
327 - params.setNeedSave(true);  
328 - try {  
329 - List<TblTradePriceInquiryPage> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradePriceInquiryPage.class, params);  
330 - for (TblTradePriceInquiryPage page : list) {  
331 - TblTradePriceInquiry po = new TblTradePriceInquiry();  
332 - BeanUtils.copyProperties(page, po);  
333 - tblTradePriceInquiryService.saveMain(po, page.getTblTradeTenderInfoList());  
334 - }  
335 - return Result.OK("文件导入成功!数据行数:" + list.size());  
336 - } catch (Exception e) {  
337 - log.error(e.getMessage(),e);  
338 - return Result.error("文件导入失败:"+e.getMessage());  
339 - } finally {  
340 - try {  
341 - file.getInputStream().close();  
342 - } catch (IOException e) {  
343 - e.printStackTrace();  
344 - }  
345 - }  
346 - } 321 + System.out.println(fileMap);
  322 +// for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  323 +// // 获取上传文件对象
  324 +// MultipartFile file = entity.getValue();
  325 +// ImportParams params = new ImportParams();
  326 +// params.setTitleRows(2);
  327 +// params.setHeadRows(1);
  328 +// params.setNeedSave(true);
  329 +// try {
  330 +// List<TblTradePriceInquiryPage> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradePriceInquiryPage.class, params);
  331 +// for (TblTradePriceInquiryPage page : list) {
  332 +// TblTradePriceInquiry po = new TblTradePriceInquiry();
  333 +// BeanUtils.copyProperties(page, po);
  334 +// tblTradePriceInquiryService.saveMain(po, page.getTblTradeTenderInfoList());
  335 +// }
  336 +// return Result.OK("文件导入成功!数据行数:" + list.size());
  337 +// } catch (Exception e) {
  338 +// log.error(e.getMessage(),e);
  339 +// return Result.error("文件导入失败:"+e.getMessage());
  340 +// } finally {
  341 +// try {
  342 +// file.getInputStream().close();
  343 +// } catch (IOException e) {
  344 +// e.printStackTrace();
  345 +// }
  346 +// }
  347 +// }
347 return Result.OK("文件导入失败!"); 348 return Result.OK("文件导入失败!");
348 } 349 }
349 350
  1 +package org.jeecg.modules.erp.trade.controller;
  2 +
  3 +import com.alibaba.excel.ExcelReader;
  4 +import org.apache.poi.ss.usermodel.Sheet;
  5 +import org.apache.poi.ss.usermodel.Workbook;
  6 +import org.apache.poi.ss.usermodel.WorkbookFactory;
  7 +import org.jeecg.common.system.query.QueryGenerator;
  8 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  9 +import com.baomidou.mybatisplus.core.metadata.IPage;
  10 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  11 +import lombok.extern.slf4j.Slf4j;
  12 +import org.jeecg.common.system.base.controller.JeecgController;
  13 +import org.jeecg.common.api.vo.Result;
  14 +import org.jeecg.modules.erp.trade.vo.TblTradeBidSubPage;
  15 +import org.jeecgframework.poi.util.ExcelUtil;
  16 +import org.springframework.beans.BeanUtils;
  17 +import org.springframework.beans.factory.annotation.Autowired;
  18 +import org.springframework.web.bind.annotation.*;
  19 +import javax.servlet.http.HttpServletRequest;
  20 +import javax.servlet.http.HttpServletResponse;
  21 +import org.springframework.web.servlet.ModelAndView;
  22 +import java.util.Arrays;
  23 +import org.jeecg.common.util.oConvertUtils;
  24 +import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
  25 +import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
  26 +import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
  27 +import org.jeecg.modules.erp.trade.service.ITblTradeTenderInfoService;
  28 +import org.jeecg.modules.erp.trade.service.ITblTradeInquiryInfoService;
  29 +import org.jeecg.modules.erp.trade.service.ITblTradeBidSubService;
  30 +import io.swagger.annotations.Api;
  31 +import io.swagger.annotations.ApiOperation;
  32 +import org.jeecg.common.aspect.annotation.AutoLog;
  33 +import org.apache.shiro.SecurityUtils;
  34 +import org.jeecg.common.system.vo.LoginUser;
  35 +import org.jeecgframework.poi.excel.ExcelImportUtil;
  36 +import org.jeecgframework.poi.excel.def.NormalExcelConstants;
  37 +import org.jeecgframework.poi.excel.entity.ExportParams;
  38 +import org.jeecgframework.poi.excel.entity.ImportParams;
  39 +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
  40 +import org.springframework.web.multipart.MultipartFile;
  41 +import org.springframework.web.multipart.MultipartHttpServletRequest;
  42 +import java.io.IOException;
  43 +import java.util.List;
  44 +import java.util.Map;
  45 +import java.util.stream.Collectors;
  46 +
  47 + /**
  48 + * @Description: 贸易招标信息
  49 + * @Author: jeecg-boot
  50 + * @Date: 2025-02-22
  51 + * @Version: V1.0
  52 + */
  53 +@Api(tags="贸易招标信息")
  54 +@RestController
  55 +@RequestMapping("/trade/tblTradeTenderInfo")
  56 +@Slf4j
  57 +public class TblTradeTenderInfoController extends JeecgController<TblTradeTenderInfo, ITblTradeTenderInfoService> {
  58 +
  59 + @Autowired
  60 + private ITblTradeTenderInfoService tblTradeTenderInfoService;
  61 +
  62 + @Autowired
  63 + private ITblTradeInquiryInfoService tblTradeInquiryInfoService;
  64 +
  65 + @Autowired
  66 + private ITblTradeBidSubService tblTradeBidSubService;
  67 +
  68 +
  69 + /*---------------------------------主表处理-begin-------------------------------------*/
  70 +
  71 + /**
  72 + * 分页列表查询
  73 + * @param tblTradeTenderInfo
  74 + * @param pageNo
  75 + * @param pageSize
  76 + * @param req
  77 + * @return
  78 + */
  79 + //@AutoLog(value = "贸易招标信息-分页列表查询")
  80 + @ApiOperation(value="贸易招标信息-分页列表查询", notes="贸易招标信息-分页列表查询")
  81 + @GetMapping(value = "/list")
  82 + public Result<IPage<TblTradeTenderInfo>> queryPageList(TblTradeTenderInfo tblTradeTenderInfo,
  83 + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  84 + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  85 + HttpServletRequest req) {
  86 + QueryWrapper<TblTradeTenderInfo> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeTenderInfo, req.getParameterMap());
  87 + Page<TblTradeTenderInfo> page = new Page<TblTradeTenderInfo>(pageNo, pageSize);
  88 + IPage<TblTradeTenderInfo> pageList = tblTradeTenderInfoService.page(page, queryWrapper);
  89 + return Result.OK(pageList);
  90 + }
  91 +
  92 + /**
  93 + * 添加
  94 + * @param tblTradeTenderInfo
  95 + * @return
  96 + */
  97 + @AutoLog(value = "贸易招标信息-添加")
  98 + @ApiOperation(value="贸易招标信息-添加", notes="贸易招标信息-添加")
  99 + @PostMapping(value = "/add")
  100 + public Result<String> add(@RequestBody TblTradeTenderInfo tblTradeTenderInfo) {
  101 + tblTradeTenderInfoService.save(tblTradeTenderInfo);
  102 + return Result.OK("添加成功!");
  103 + }
  104 +
  105 + /**
  106 + * 编辑
  107 + * @param tblTradeTenderInfo
  108 + * @return
  109 + */
  110 + @AutoLog(value = "贸易招标信息-编辑")
  111 + @ApiOperation(value="贸易招标信息-编辑", notes="贸易招标信息-编辑")
  112 + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
  113 + public Result<String> edit(@RequestBody TblTradeTenderInfo tblTradeTenderInfo) {
  114 + tblTradeTenderInfoService.updateById(tblTradeTenderInfo);
  115 + return Result.OK("编辑成功!");
  116 + }
  117 +
  118 + /**
  119 + * 通过id删除
  120 + * @param id
  121 + * @return
  122 + */
  123 + @AutoLog(value = "贸易招标信息-通过id删除")
  124 + @ApiOperation(value="贸易招标信息-通过id删除", notes="贸易招标信息-通过id删除")
  125 + @DeleteMapping(value = "/delete")
  126 + public Result<String> delete(@RequestParam(name="id",required=true) String id) {
  127 + tblTradeTenderInfoService.delMain(id);
  128 + return Result.OK("删除成功!");
  129 + }
  130 +
  131 + /**
  132 + * 批量删除
  133 + * @param ids
  134 + * @return
  135 + */
  136 + @AutoLog(value = "贸易招标信息-批量删除")
  137 + @ApiOperation(value="贸易招标信息-批量删除", notes="贸易招标信息-批量删除")
  138 + @DeleteMapping(value = "/deleteBatch")
  139 + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
  140 + this.tblTradeTenderInfoService.delBatchMain(Arrays.asList(ids.split(",")));
  141 + return Result.OK("批量删除成功!");
  142 + }
  143 +
  144 + /**
  145 + * 导出
  146 + * @return
  147 + */
  148 + @RequestMapping(value = "/exportXls")
  149 + public ModelAndView exportXls(HttpServletRequest request, TblTradeTenderInfo tblTradeTenderInfo) {
  150 + return super.exportXls(request, tblTradeTenderInfo, TblTradeTenderInfo.class, "贸易招标信息");
  151 + }
  152 +
  153 + /**
  154 + * 导入
  155 + * @return
  156 + */
  157 + @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
  158 + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
  159 + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  160 + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  161 + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  162 + // 获取上传文件对象
  163 + MultipartFile file = entity.getValue();
  164 + ImportParams params = new ImportParams();
  165 + params.setTitleRows(6);
  166 + params.setHeadRows(1);
  167 + params.setNeedSave(true);
  168 +
  169 +
  170 + try {
  171 + Workbook workbook = WorkbookFactory.create(file.getInputStream());
  172 + Sheet sheetAt = workbook.getSheetAt(0);
  173 + String xjbswjh = sheetAt.getRow(0).getCell(1).getStringCellValue();
  174 + String xmlx = sheetAt.getRow(1).getCell(1).getStringCellValue();
  175 + String shdz = sheetAt.getRow(2).getCell(1).getStringCellValue();
  176 + String yxdj = sheetAt.getRow(3).getCell(1).getStringCellValue();
  177 + String xjwcrq = sheetAt.getRow(4).getCell(1).getStringCellValue();
  178 + String bdlx = sheetAt.getRow(5).getCell(1).getStringCellValue();
  179 +
  180 + List<TblTradeTenderInfo> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradeTenderInfo.class, params);
  181 + for (TblTradeTenderInfo page : list) {
  182 + page.setXjbswjh(xjbswjh);
  183 + page.setXmlx(xmlx);
  184 + page.setShdz(shdz);
  185 + page.setYxdj(yxdj);
  186 + page.setXjjhwcsj(xjwcrq);
  187 + page.setBdlx(bdlx);
  188 + }
  189 + tblTradeTenderInfoService.saveUploadData(list);
  190 + return Result.OK("文件导入成功!数据行数:" + list.size());
  191 + } catch (Exception e) {
  192 + log.error(e.getMessage(),e);
  193 + return Result.error("文件导入失败:"+e.getMessage());
  194 + } finally {
  195 + try {
  196 + file.getInputStream().close();
  197 + } catch (IOException e) {
  198 + e.printStackTrace();
  199 + }
  200 + }
  201 + }
  202 + return Result.OK("文件导入失败!");
  203 +// return super.importExcel(request, response, TblTradeTenderInfo.class);
  204 + }
  205 + /*---------------------------------主表处理-end-------------------------------------*/
  206 +
  207 +
  208 + /*--------------------------------子表处理-询价明细表-begin----------------------------------------------*/
  209 + /**
  210 + * 通过主表ID查询
  211 + * @return
  212 + */
  213 + //@AutoLog(value = "询价明细表-通过主表ID查询")
  214 + @ApiOperation(value="询价明细表-通过主表ID查询", notes="询价明细表-通过主表ID查询")
  215 + @GetMapping(value = "/listTblTradeInquiryInfoByMainId")
  216 + public Result<IPage<TblTradeInquiryInfo>> listTblTradeInquiryInfoByMainId(TblTradeInquiryInfo tblTradeInquiryInfo,
  217 + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
  218 + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
  219 + HttpServletRequest req) {
  220 + QueryWrapper<TblTradeInquiryInfo> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeInquiryInfo, req.getParameterMap());
  221 + Page<TblTradeInquiryInfo> page = new Page<TblTradeInquiryInfo>(pageNo, pageSize);
  222 + IPage<TblTradeInquiryInfo> pageList = tblTradeInquiryInfoService.page(page, queryWrapper);
  223 + return Result.OK(new Page<>());
  224 + }
  225 +
  226 + /**
  227 + * 添加
  228 + * @param tblTradeInquiryInfo
  229 + * @return
  230 + */
  231 + @AutoLog(value = "询价明细表-添加")
  232 + @ApiOperation(value="询价明细表-添加", notes="询价明细表-添加")
  233 + @PostMapping(value = "/addTblTradeInquiryInfo")
  234 + public Result<String> addTblTradeInquiryInfo(@RequestBody TblTradeInquiryInfo tblTradeInquiryInfo) {
  235 + tblTradeInquiryInfoService.save(tblTradeInquiryInfo);
  236 + return Result.OK("添加成功!");
  237 + }
  238 +
  239 + /**
  240 + * 编辑
  241 + * @param tblTradeInquiryInfo
  242 + * @return
  243 + */
  244 + @AutoLog(value = "询价明细表-编辑")
  245 + @ApiOperation(value="询价明细表-编辑", notes="询价明细表-编辑")
  246 + @RequestMapping(value = "/editTblTradeInquiryInfo", method = {RequestMethod.PUT,RequestMethod.POST})
  247 + public Result<String> editTblTradeInquiryInfo(@RequestBody TblTradeInquiryInfo tblTradeInquiryInfo) {
  248 + tblTradeInquiryInfoService.updateById(tblTradeInquiryInfo);
  249 + return Result.OK("编辑成功!");
  250 + }
  251 +
  252 + /**
  253 + * 通过id删除
  254 + * @param id
  255 + * @return
  256 + */
  257 + @AutoLog(value = "询价明细表-通过id删除")
  258 + @ApiOperation(value="询价明细表-通过id删除", notes="询价明细表-通过id删除")
  259 + @DeleteMapping(value = "/deleteTblTradeInquiryInfo")
  260 + public Result<String> deleteTblTradeInquiryInfo(@RequestParam(name="id",required=true) String id) {
  261 + tblTradeInquiryInfoService.removeById(id);
  262 + return Result.OK("删除成功!");
  263 + }
  264 +
  265 + /**
  266 + * 批量删除
  267 + * @param ids
  268 + * @return
  269 + */
  270 + @AutoLog(value = "询价明细表-批量删除")
  271 + @ApiOperation(value="询价明细表-批量删除", notes="询价明细表-批量删除")
  272 + @DeleteMapping(value = "/deleteBatchTblTradeInquiryInfo")
  273 + public Result<String> deleteBatchTblTradeInquiryInfo(@RequestParam(name="ids",required=true) String ids) {
  274 + this.tblTradeInquiryInfoService.removeByIds(Arrays.asList(ids.split(",")));
  275 + return Result.OK("批量删除成功!");
  276 + }
  277 +
  278 + /**
  279 + * 导出
  280 + * @return
  281 + */
  282 + @RequestMapping(value = "/exportTblTradeInquiryInfo")
  283 + public ModelAndView exportTblTradeInquiryInfo(HttpServletRequest request, TblTradeInquiryInfo tblTradeInquiryInfo) {
  284 + // Step.1 组装查询条件
  285 + QueryWrapper<TblTradeInquiryInfo> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeInquiryInfo, request.getParameterMap());
  286 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
  287 +
  288 + // Step.2 获取导出数据
  289 + List<TblTradeInquiryInfo> pageList = tblTradeInquiryInfoService.list(queryWrapper);
  290 + List<TblTradeInquiryInfo> exportList = null;
  291 +
  292 + // 过滤选中数据
  293 + String selections = request.getParameter("selections");
  294 + if (oConvertUtils.isNotEmpty(selections)) {
  295 + List<String> selectionList = Arrays.asList(selections.split(","));
  296 + exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
  297 + } else {
  298 + exportList = pageList;
  299 + }
  300 +
  301 + // Step.3 AutoPoi 导出Excel
  302 + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
  303 + //此处设置的filename无效,前端会重更新设置一下
  304 + mv.addObject(NormalExcelConstants.FILE_NAME, "询价明细表");
  305 + mv.addObject(NormalExcelConstants.CLASS, TblTradeInquiryInfo.class);
  306 + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("询价明细表报表", "导出人:" + sysUser.getRealname(), "询价明细表"));
  307 + mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
  308 + return mv;
  309 + }
  310 +
  311 + /**
  312 + * 导入
  313 + * @return
  314 + */
  315 + @RequestMapping(value = "/importTblTradeInquiryInfo/{mainId}")
  316 + public Result<?> importTblTradeInquiryInfo(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") String mainId) {
  317 + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  318 + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  319 + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  320 + // 获取上传文件对象
  321 + MultipartFile file = entity.getValue();
  322 + ImportParams params = new ImportParams();
  323 + params.setTitleRows(2);
  324 + params.setHeadRows(1);
  325 + params.setNeedSave(true);
  326 + try {
  327 + List<TblTradeInquiryInfo> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradeInquiryInfo.class, params);
  328 + for (TblTradeInquiryInfo temp : list) {
  329 + temp.setTradeId(mainId);
  330 + }
  331 + long start = System.currentTimeMillis();
  332 + tblTradeInquiryInfoService.saveBatch(list);
  333 + log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
  334 + return Result.OK("文件导入成功!数据行数:" + list.size());
  335 + } catch (Exception e) {
  336 + log.error(e.getMessage(), e);
  337 + return Result.error("文件导入失败:" + e.getMessage());
  338 + } finally {
  339 + try {
  340 + file.getInputStream().close();
  341 + } catch (IOException e) {
  342 + e.printStackTrace();
  343 + }
  344 + }
  345 + }
  346 + return Result.error("文件导入失败!");
  347 + }
  348 +
  349 + /*--------------------------------子表处理-询价明细表-end----------------------------------------------*/
  350 +
  351 + /*--------------------------------子表处理-投标表-begin----------------------------------------------*/
  352 + /**
  353 + * 通过主表ID查询
  354 + * @return
  355 + */
  356 + //@AutoLog(value = "投标表-通过主表ID查询")
  357 + @ApiOperation(value="投标表-通过主表ID查询", notes="投标表-通过主表ID查询")
  358 + @GetMapping(value = "/listTblTradeBidSubByMainId")
  359 + public Result<IPage<TblTradeBidSub>> listTblTradeBidSubByMainId(TblTradeBidSub tblTradeBidSub,
  360 + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
  361 + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
  362 + HttpServletRequest req) {
  363 + QueryWrapper<TblTradeBidSub> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidSub, req.getParameterMap());
  364 + Page<TblTradeBidSub> page = new Page<TblTradeBidSub>(pageNo, pageSize);
  365 + IPage<TblTradeBidSub> pageList = tblTradeBidSubService.page(page, queryWrapper);
  366 + return Result.OK(new Page<>());
  367 + }
  368 +
  369 + /**
  370 + * 添加
  371 + * @param tblTradeBidSub
  372 + * @return
  373 + */
  374 + @AutoLog(value = "投标表-添加")
  375 + @ApiOperation(value="投标表-添加", notes="投标表-添加")
  376 + @PostMapping(value = "/addTblTradeBidSub")
  377 + public Result<String> addTblTradeBidSub(@RequestBody TblTradeBidSub tblTradeBidSub) {
  378 + tblTradeBidSubService.save(tblTradeBidSub);
  379 + return Result.OK("添加成功!");
  380 + }
  381 +
  382 + /**
  383 + * 编辑
  384 + * @param tblTradeBidSub
  385 + * @return
  386 + */
  387 + @AutoLog(value = "投标表-编辑")
  388 + @ApiOperation(value="投标表-编辑", notes="投标表-编辑")
  389 + @RequestMapping(value = "/editTblTradeBidSub", method = {RequestMethod.PUT,RequestMethod.POST})
  390 + public Result<String> editTblTradeBidSub(@RequestBody TblTradeBidSub tblTradeBidSub) {
  391 + tblTradeBidSubService.updateById(tblTradeBidSub);
  392 + return Result.OK("编辑成功!");
  393 + }
  394 +
  395 + /**
  396 + * 通过id删除
  397 + * @param id
  398 + * @return
  399 + */
  400 + @AutoLog(value = "投标表-通过id删除")
  401 + @ApiOperation(value="投标表-通过id删除", notes="投标表-通过id删除")
  402 + @DeleteMapping(value = "/deleteTblTradeBidSub")
  403 + public Result<String> deleteTblTradeBidSub(@RequestParam(name="id",required=true) String id) {
  404 + tblTradeBidSubService.removeById(id);
  405 + return Result.OK("删除成功!");
  406 + }
  407 +
  408 + /**
  409 + * 批量删除
  410 + * @param ids
  411 + * @return
  412 + */
  413 + @AutoLog(value = "投标表-批量删除")
  414 + @ApiOperation(value="投标表-批量删除", notes="投标表-批量删除")
  415 + @DeleteMapping(value = "/deleteBatchTblTradeBidSub")
  416 + public Result<String> deleteBatchTblTradeBidSub(@RequestParam(name="ids",required=true) String ids) {
  417 + this.tblTradeBidSubService.removeByIds(Arrays.asList(ids.split(",")));
  418 + return Result.OK("批量删除成功!");
  419 + }
  420 +
  421 + /**
  422 + * 导出
  423 + * @return
  424 + */
  425 + @RequestMapping(value = "/exportTblTradeBidSub")
  426 + public ModelAndView exportTblTradeBidSub(HttpServletRequest request, TblTradeBidSub tblTradeBidSub) {
  427 + // Step.1 组装查询条件
  428 + QueryWrapper<TblTradeBidSub> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidSub, request.getParameterMap());
  429 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
  430 +
  431 + // Step.2 获取导出数据
  432 + List<TblTradeBidSub> pageList = tblTradeBidSubService.list(queryWrapper);
  433 + List<TblTradeBidSub> exportList = null;
  434 +
  435 + // 过滤选中数据
  436 + String selections = request.getParameter("selections");
  437 + if (oConvertUtils.isNotEmpty(selections)) {
  438 + List<String> selectionList = Arrays.asList(selections.split(","));
  439 + exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
  440 + } else {
  441 + exportList = pageList;
  442 + }
  443 +
  444 + // Step.3 AutoPoi 导出Excel
  445 + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
  446 + //此处设置的filename无效,前端会重更新设置一下
  447 + mv.addObject(NormalExcelConstants.FILE_NAME, "投标表");
  448 + mv.addObject(NormalExcelConstants.CLASS, TblTradeBidSub.class);
  449 + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("投标表报表", "导出人:" + sysUser.getRealname(), "投标表"));
  450 + mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
  451 + return mv;
  452 + }
  453 +
  454 + /**
  455 + * 导入
  456 + * @return
  457 + */
  458 + @RequestMapping(value = "/importTblTradeBidSub/{mainId}")
  459 + public Result<?> importTblTradeBidSub(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") String mainId) {
  460 + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  461 + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  462 + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  463 + // 获取上传文件对象
  464 + MultipartFile file = entity.getValue();
  465 + ImportParams params = new ImportParams();
  466 + params.setTitleRows(2);
  467 + params.setHeadRows(1);
  468 + params.setNeedSave(true);
  469 + try {
  470 + List<TblTradeBidSub> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradeBidSub.class, params);
  471 + for (TblTradeBidSub temp : list) {
  472 + temp.setTradeId(mainId);
  473 + }
  474 + long start = System.currentTimeMillis();
  475 + tblTradeBidSubService.saveBatch(list);
  476 + log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
  477 + return Result.OK("文件导入成功!数据行数:" + list.size());
  478 + } catch (Exception e) {
  479 + log.error(e.getMessage(), e);
  480 + return Result.error("文件导入失败:" + e.getMessage());
  481 + } finally {
  482 + try {
  483 + file.getInputStream().close();
  484 + } catch (IOException e) {
  485 + e.printStackTrace();
  486 + }
  487 + }
  488 + }
  489 + return Result.error("文件导入失败!");
  490 + }
  491 +
  492 + /*--------------------------------子表处理-投标表-end----------------------------------------------*/
  493 +
  494 +
  495 +
  496 +
  497 +}
@@ -232,6 +232,24 @@ public class TblTradeBidSub implements Serializable { @@ -232,6 +232,24 @@ public class TblTradeBidSub implements Serializable {
232 @ApiModelProperty(value = "供应商评级") 232 @ApiModelProperty(value = "供应商评级")
233 private java.lang.String gyspj; 233 private java.lang.String gyspj;
234 234
  235 + /**采购单位*/
  236 + @Excel(name = "采购单位", width = 15)
  237 + @ApiModelProperty(value = "采购单位")
  238 + private java.lang.String cgdw;
  239 + /**联系人*/
  240 + @Excel(name = "联系人", width = 15)
  241 + @ApiModelProperty(value = "联系人")
  242 + private java.lang.String lxr;
  243 + /**供应商评级*/
  244 + @Excel(name = "SRM编码", width = 15)
  245 + @ApiModelProperty(value = "SRM编码")
  246 + private java.lang.String srm;
  247 + /**供应商评级*/
  248 + @Excel(name = "需求单位", width = 15)
  249 + @ApiModelProperty(value = "需求单位")
  250 + private java.lang.String zbxqdw;
  251 +
  252 +
235 253
236 @TableField(exist = false) 254 @TableField(exist = false)
237 private TblTradeTenderInfo tenderInfo; 255 private TblTradeTenderInfo tenderInfo;
@@ -55,11 +55,13 @@ public class TblTradeTenderInfo implements Serializable { @@ -55,11 +55,13 @@ public class TblTradeTenderInfo implements Serializable {
55 @ApiModelProperty(value = "招标号") 55 @ApiModelProperty(value = "招标号")
56 private java.lang.String tenderNo; 56 private java.lang.String tenderNo;
57 /**物料编码*/ 57 /**物料编码*/
58 - @Excel(name = "物料编码", width = 15) 58 + @Excel(name = "物料编码\n" +
  59 + "(非必填项)", width = 15)
59 @ApiModelProperty(value = "物料编码") 60 @ApiModelProperty(value = "物料编码")
60 private java.lang.String code; 61 private java.lang.String code;
61 /**标段(包)名称*/ 62 /**标段(包)名称*/
62 - @Excel(name = "标段(包)名称", width = 15) 63 + @Excel(name = "标段(包)名称\n" +
  64 + "(非必填项)", width = 15)
63 @ApiModelProperty(value = "标段(包)名称") 65 @ApiModelProperty(value = "标段(包)名称")
64 private java.lang.String tenderName; 66 private java.lang.String tenderName;
65 /**物料长描述*/ 67 /**物料长描述*/
@@ -85,11 +87,11 @@ public class TblTradeTenderInfo implements Serializable { @@ -85,11 +87,11 @@ public class TblTradeTenderInfo implements Serializable {
85 @ApiModelProperty(value = "品牌") 87 @ApiModelProperty(value = "品牌")
86 private java.lang.String pinpai; 88 private java.lang.String pinpai;
87 /**税率*/ 89 /**税率*/
88 - @Excel(name = "税率", width = 15) 90 + @Excel(name = "税率(%)", width = 15)
89 @ApiModelProperty(value = "税率") 91 @ApiModelProperty(value = "税率")
90 private java.lang.String sl; 92 private java.lang.String sl;
91 /**响应单价*/ 93 /**响应单价*/
92 - @Excel(name = "响应单价", width = 15) 94 + @Excel(name = "响应单价(不含税)", width = 15)
93 @ApiModelProperty(value = "响应单价") 95 @ApiModelProperty(value = "响应单价")
94 private java.lang.String xydj; 96 private java.lang.String xydj;
95 /**响应数量*/ 97 /**响应数量*/
@@ -14,4 +14,20 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +14,20 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
14 */ 14 */
15 public interface TblTradeBidSubMapper extends BaseMapper<TblTradeBidSub> { 15 public interface TblTradeBidSubMapper extends BaseMapper<TblTradeBidSub> {
16 16
  17 + /**
  18 + * 通过主表id删除子表数据
  19 + *
  20 + * @param mainId 主表id
  21 + * @return boolean
  22 + */
  23 + public boolean deleteByMainId(@Param("mainId") String mainId);
  24 +
  25 + /**
  26 + * 通过主表id查询子表数据
  27 + *
  28 + * @param mainId 主表id
  29 + * @return List<TblTradeBidSub>
  30 + */
  31 + public List<TblTradeBidSub> selectByMainId(@Param("mainId") String mainId);
  32 +
17 } 33 }
@@ -2,4 +2,16 @@ @@ -2,4 +2,16 @@
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 <mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeBidSubMapper"> 3 <mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeBidSubMapper">
4 4
  5 + <delete id="deleteByMainId" parameterType="java.lang.String">
  6 + DELETE
  7 + FROM tbl_trade_bid_sub
  8 + WHERE
  9 + trade_id = #{mainId} </delete>
  10 +
  11 + <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.erp.trade.entity.TblTradeBidSub">
  12 + SELECT *
  13 + FROM tbl_trade_bid_sub
  14 + WHERE
  15 + trade_id = #{mainId} </select>
  16 +
5 </mapper> 17 </mapper>
@@ -44,5 +44,13 @@ public interface ITblTradeBidSubService extends IService<TblTradeBidSub> { @@ -44,5 +44,13 @@ public interface ITblTradeBidSubService extends IService<TblTradeBidSub> {
44 * @param idList 44 * @param idList
45 */ 45 */
46 public void delBatchMain (Collection<? extends Serializable> idList); 46 public void delBatchMain (Collection<? extends Serializable> idList);
  47 +
  48 + /**
  49 + * 通过主表id查询子表数据
  50 + *
  51 + * @param mainId 主表id
  52 + * @return List<TblTradeBidSub>
  53 + */
  54 + public List<TblTradeBidSub> selectByMainId(String mainId);
47 55
48 } 56 }
1 package org.jeecg.modules.erp.trade.service; 1 package org.jeecg.modules.erp.trade.service;
2 2
  3 +import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
  4 +import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
3 import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo; 5 import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
4 import com.baomidou.mybatisplus.extension.service.IService; 6 import com.baomidou.mybatisplus.extension.service.IService;
  7 +
  8 +import java.io.Serializable;
  9 +import java.util.Collection;
5 import java.util.List; 10 import java.util.List;
6 11
7 /** 12 /**
@@ -19,4 +24,21 @@ public interface ITblTradeTenderInfoService extends IService<TblTradeTenderInfo> @@ -19,4 +24,21 @@ public interface ITblTradeTenderInfoService extends IService<TblTradeTenderInfo>
19 * @return List<TblTradeTenderInfo> 24 * @return List<TblTradeTenderInfo>
20 */ 25 */
21 public List<TblTradeTenderInfo> selectByMainId(String mainId); 26 public List<TblTradeTenderInfo> selectByMainId(String mainId);
  27 +
  28 + /**
  29 + * 删除一对多
  30 + *
  31 + * @param id
  32 + */
  33 + public void delMain (String id);
  34 +
  35 + /**
  36 + * 批量删除一对多
  37 + *
  38 + * @param idList
  39 + */
  40 + public void delBatchMain (Collection<? extends Serializable> idList);
  41 +
  42 +
  43 + void saveUploadData(List<TblTradeTenderInfo> list);
22 } 44 }
@@ -73,5 +73,10 @@ public class TblTradeBidSubServiceImpl extends ServiceImpl<TblTradeBidSubMapper, @@ -73,5 +73,10 @@ public class TblTradeBidSubServiceImpl extends ServiceImpl<TblTradeBidSubMapper,
73 tblTradeBidSubMapper.deleteById(id); 73 tblTradeBidSubMapper.deleteById(id);
74 } 74 }
75 } 75 }
  76 +
  77 + @Override
  78 + public List<TblTradeBidSub> selectByMainId(String mainId) {
  79 + return tblTradeBidSubMapper.selectByMainId(mainId);
  80 + }
76 81
77 } 82 }
1 package org.jeecg.modules.erp.trade.service.impl; 1 package org.jeecg.modules.erp.trade.service.impl;
2 2
  3 +import cn.hutool.core.date.DatePattern;
  4 +import cn.hutool.core.date.DateUtil;
  5 +import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
  6 +import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
  7 +import org.jeecg.modules.erp.trade.entity.TblTradePriceInquiry;
3 import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo; 8 import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
  9 +import org.jeecg.modules.erp.trade.mapper.TblTradeBidSubMapper;
  10 +import org.jeecg.modules.erp.trade.mapper.TblTradeInquiryInfoMapper;
  11 +import org.jeecg.modules.erp.trade.mapper.TblTradePriceInquiryMapper;
4 import org.jeecg.modules.erp.trade.mapper.TblTradeTenderInfoMapper; 12 import org.jeecg.modules.erp.trade.mapper.TblTradeTenderInfoMapper;
  13 +import org.jeecg.modules.erp.trade.service.ITblTradeBidSubService;
5 import org.jeecg.modules.erp.trade.service.ITblTradeTenderInfoService; 14 import org.jeecg.modules.erp.trade.service.ITblTradeTenderInfoService;
6 import org.springframework.stereotype.Service; 15 import org.springframework.stereotype.Service;
  16 +
  17 +import java.io.Serializable;
  18 +import java.util.ArrayList;
  19 +import java.util.Collection;
  20 +import java.util.Date;
  21 +import java.util.HashMap;
7 import java.util.List; 22 import java.util.List;
  23 +import java.util.Map;
  24 +
8 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 25 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9 import org.springframework.beans.factory.annotation.Autowired; 26 import org.springframework.beans.factory.annotation.Autowired;
  27 +import org.springframework.transaction.annotation.Transactional;
10 28
11 /** 29 /**
12 * @Description: 贸易招标信息 30 * @Description: 贸易招标信息
@@ -19,9 +37,75 @@ public class TblTradeTenderInfoServiceImpl extends ServiceImpl<TblTradeTenderInf @@ -19,9 +37,75 @@ public class TblTradeTenderInfoServiceImpl extends ServiceImpl<TblTradeTenderInf
19 37
20 @Autowired 38 @Autowired
21 private TblTradeTenderInfoMapper tblTradeTenderInfoMapper; 39 private TblTradeTenderInfoMapper tblTradeTenderInfoMapper;
  40 + @Autowired
  41 + private TblTradeInquiryInfoMapper tblTradeInquiryInfoMapper;
  42 + @Autowired
  43 + private TblTradeBidSubMapper tblTradeBidSubMapper;
  44 + @Autowired
  45 + private ITblTradeBidSubService tblTradeBidSubService;
  46 + @Autowired
  47 + private TblTradePriceInquiryMapper tblTradePriceInquiryMapper;
22 48
23 @Override 49 @Override
24 public List<TblTradeTenderInfo> selectByMainId(String mainId) { 50 public List<TblTradeTenderInfo> selectByMainId(String mainId) {
25 return tblTradeTenderInfoMapper.selectByMainId(mainId); 51 return tblTradeTenderInfoMapper.selectByMainId(mainId);
26 } 52 }
  53 +
  54 +
  55 + @Override
  56 + @Transactional(rollbackFor = Exception.class)
  57 + public void delMain(String id) {
  58 + tblTradeInquiryInfoMapper.deleteByMainId(id);
  59 + tblTradeBidSubMapper.deleteByMainId(id);
  60 + tblTradeTenderInfoMapper.deleteById(id);
  61 + }
  62 +
  63 + @Override
  64 + @Transactional(rollbackFor = Exception.class)
  65 + public void delBatchMain(Collection<? extends Serializable> idList) {
  66 + for(Serializable id:idList) {
  67 + tblTradeInquiryInfoMapper.deleteByMainId(id.toString());
  68 + tblTradeBidSubMapper.deleteByMainId(id.toString());
  69 + tblTradeTenderInfoMapper.deleteById(id);
  70 + }
  71 + }
  72 +
  73 + @Override
  74 + @Transactional(rollbackFor = Exception.class)
  75 + public void saveUploadData(List<TblTradeTenderInfo> list) {
  76 + Map<String,Object> map = new HashMap<>();
  77 + map.put("xjbswjh",list.get(0).getXjbswjh());
  78 + // 删除同标书号的数据
  79 + tblTradeTenderInfoMapper.deleteByMap(map);
  80 + this.saveBatch(list);
  81 +
  82 + // 保存标书信息
  83 + tblTradePriceInquiryMapper.deleteByMap(map);
  84 + TblTradePriceInquiry priceInquiry = new TblTradePriceInquiry();
  85 + priceInquiry.setDanhao("BSZXJ"+ DatePattern.PURE_DATETIME_FORMAT.format(new Date()));
  86 + priceInquiry.setYxdj(list.get(0).getYxdj());
  87 + priceInquiry.setXjbswjh(list.get(0).getXjbswjh());
  88 + priceInquiry.setXjwcrq(list.get(0).getXjjhwcsj());
  89 + priceInquiry.setXmlx(list.get(0).getXmlx());
  90 + priceInquiry.setShdz(list.get(0).getShdz());
  91 + priceInquiry.setXdzt("未完成");
  92 + tblTradePriceInquiryMapper.insert(priceInquiry);
  93 +
  94 +
  95 + // 保存sub表
  96 + tblTradeBidSubMapper.deleteByMap(map);
  97 + List<TblTradeBidSub> bidSubList = new ArrayList<>();
  98 + list.forEach(e->{
  99 + TblTradeBidSub bidSub = new TblTradeBidSub();
  100 + bidSub.setTradeId(e.getId());
  101 + bidSub.setXjbswjh(e.getXjbswjh());
  102 + bidSub.setWlbm(e.getCode());
  103 + bidSub.setMiaoshu(e.getMiaoshu());
  104 + bidSubList.add(bidSub);
  105 + });
  106 + tblTradeBidSubService.saveBatch(bidSubList);
  107 +
  108 + }
  109 +
  110 +
27 } 111 }
  1 +package org.jeecg.modules.erp.trade.vo;
  2 +
  3 +import java.util.List;
  4 +import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
  5 +import org.jeecg.modules.erp.trade.entity.TblTradeInquiryInfo;
  6 +import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
  7 +import lombok.Data;
  8 +import org.jeecgframework.poi.excel.annotation.Excel;
  9 +import org.jeecgframework.poi.excel.annotation.ExcelEntity;
  10 +import org.jeecgframework.poi.excel.annotation.ExcelCollection;
  11 +import com.fasterxml.jackson.annotation.JsonFormat;
  12 +import org.springframework.format.annotation.DateTimeFormat;
  13 +import java.util.Date;
  14 +import org.jeecg.common.aspect.annotation.Dict;
  15 +import io.swagger.annotations.ApiModel;
  16 +import io.swagger.annotations.ApiModelProperty;
  17 +
  18 +/**
  19 + * @Description: 贸易招标信息
  20 + * @Author: jeecg-boot
  21 + * @Date: 2025-02-22
  22 + * @Version: V1.0
  23 + */
  24 +@Data
  25 +@ApiModel(value="tbl_trade_tender_infoPage对象", description="贸易招标信息")
  26 +public class TblTradeTenderInfoPage {
  27 +
  28 + /**主键*/
  29 + @ApiModelProperty(value = "主键")
  30 + private String id;
  31 + /**创建人*/
  32 + @ApiModelProperty(value = "创建人")
  33 + private String createBy;
  34 + /**创建日期*/
  35 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
  36 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  37 + @ApiModelProperty(value = "创建日期")
  38 + private Date createTime;
  39 + /**更新人*/
  40 + @ApiModelProperty(value = "更新人")
  41 + private String updateBy;
  42 + /**更新日期*/
  43 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
  44 + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
  45 + @ApiModelProperty(value = "更新日期")
  46 + private Date updateTime;
  47 + /**所属部门*/
  48 + @ApiModelProperty(value = "所属部门")
  49 + private String sysOrgCode;
  50 + /**招标号*/
  51 + @Excel(name = "招标号", width = 15)
  52 + @ApiModelProperty(value = "招标号")
  53 + private String tenderNo;
  54 + /**物料编码*/
  55 + @Excel(name = "物料编码", width = 15)
  56 + @ApiModelProperty(value = "物料编码")
  57 + private String code;
  58 + /**标段(包)名称*/
  59 + @Excel(name = "标段(包)名称", width = 15)
  60 + @ApiModelProperty(value = "标段(包)名称")
  61 + private String tenderName;
  62 + /**物料长描述*/
  63 + @Excel(name = "物料长描述", width = 15)
  64 + @ApiModelProperty(value = "物料长描述")
  65 + private String miaoshu;
  66 + /**计量单位*/
  67 + @Excel(name = "计量单位", width = 15)
  68 + @ApiModelProperty(value = "计量单位")
  69 + private String jldw;
  70 + /**需求数量*/
  71 + @Excel(name = "需求数量", width = 15)
  72 + @ApiModelProperty(value = "需求数量")
  73 + private String xqsl;
  74 + /**需求交货期*/
  75 + @Excel(name = "需求交货期", width = 15, format = "yyyy-MM-dd")
  76 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  77 + @DateTimeFormat(pattern="yyyy-MM-dd")
  78 + @ApiModelProperty(value = "需求交货期")
  79 + private Date xqjhq;
  80 + /**品牌*/
  81 + @Excel(name = "品牌", width = 15)
  82 + @ApiModelProperty(value = "品牌")
  83 + private String pinpai;
  84 + /**税率*/
  85 + @Excel(name = "税率", width = 15)
  86 + @ApiModelProperty(value = "税率")
  87 + private String sl;
  88 + /**响应单价*/
  89 + @Excel(name = "响应单价", width = 15)
  90 + @ApiModelProperty(value = "响应单价")
  91 + private String xydj;
  92 + /**响应数量*/
  93 + @Excel(name = "响应数量", width = 15)
  94 + @ApiModelProperty(value = "响应数量")
  95 + private String xysl;
  96 + /**响应交货期*/
  97 + @Excel(name = "响应交货期", width = 15)
  98 + @ApiModelProperty(value = "响应交货期")
  99 + private String xyjhq;
  100 + /**响应说明*/
  101 + @Excel(name = "响应说明", width = 15)
  102 + @ApiModelProperty(value = "响应说明")
  103 + private String xysm;
  104 + /**响应品牌*/
  105 + @Excel(name = "响应品牌", width = 15)
  106 + @ApiModelProperty(value = "响应品牌")
  107 + private String xypp;
  108 + /**响应币种*/
  109 + @Excel(name = "响应币种", width = 15)
  110 + @ApiModelProperty(value = "响应币种")
  111 + private String xybz;
  112 + /**交货期否决项*/
  113 + @Excel(name = "交货期否决项", width = 15)
  114 + @ApiModelProperty(value = "交货期否决项")
  115 + private String jhqfjx;
  116 + /**付款方式否决项*/
  117 + @Excel(name = "付款方式否决项", width = 15)
  118 + @ApiModelProperty(value = "付款方式否决项")
  119 + private String fkfsfjx;
  120 + /**规格型号否决项*/
  121 + @Excel(name = "规格型号否决项", width = 15)
  122 + @ApiModelProperty(value = "规格型号否决项")
  123 + private String ggxhfjx;
  124 + /**品牌否决项*/
  125 + @Excel(name = "品牌否决项", width = 15)
  126 + @ApiModelProperty(value = "品牌否决项")
  127 + private String ppfjx;
  128 + /**需求单位*/
  129 + @Excel(name = "需求单位", width = 15)
  130 + @ApiModelProperty(value = "需求单位")
  131 + private String xqdw;
  132 + /**备注*/
  133 + @Excel(name = "备注", width = 15)
  134 + @ApiModelProperty(value = "备注")
  135 + private String bz;
  136 + /**询价标书文件号*/
  137 + @Excel(name = "询价标书文件号", width = 15)
  138 + @ApiModelProperty(value = "询价标书文件号")
  139 + private String xjbswjh;
  140 + /**项目类型*/
  141 + @Excel(name = "项目类型", width = 15)
  142 + @ApiModelProperty(value = "项目类型")
  143 + private String xmlx;
  144 + /**送货地址*/
  145 + @Excel(name = "送货地址", width = 15)
  146 + @ApiModelProperty(value = "送货地址")
  147 + private String shdz;
  148 + /**优先等级*/
  149 + @Excel(name = "优先等级", width = 15)
  150 + @ApiModelProperty(value = "优先等级")
  151 + private String yxdj;
  152 + /**询价计划完成日期*/
  153 + @Excel(name = "询价计划完成日期", width = 15)
  154 + @ApiModelProperty(value = "询价计划完成日期")
  155 + private String xjjhwcsj;
  156 + /**标的类型*/
  157 + @Excel(name = "标的类型", width = 15)
  158 + @ApiModelProperty(value = "标的类型")
  159 + private String bdlx;
  160 + /**状态*/
  161 + @Excel(name = "状态", width = 15)
  162 + @ApiModelProperty(value = "状态")
  163 + private String status;
  164 +
  165 + @ExcelCollection(name="询价明细表")
  166 + @ApiModelProperty(value = "询价明细表")
  167 + private List<TblTradeInquiryInfo> tblTradeInquiryInfoList;
  168 + @ExcelCollection(name="投标表")
  169 + @ApiModelProperty(value = "投标表")
  170 + private List<TblTradeBidSub> tblTradeBidSubList;
  171 +
  172 +}