作者 lixiang

1、中标模块代码

2、采买模块代码
正在显示 42 个修改的文件 包含 2517 行增加310 行删除
package org.jeecg.modules.erp.trade.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.service.ITblTradeBidMaterialDetailsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_trade_bid_material_details
* @Author: jeecg-boot
* @Date: 2025-03-14
* @Version: V1.0
*/
@Api(tags="tbl_trade_bid_material_details")
@RestController
@RequestMapping("/trade/tblTradeBidMaterialDetails")
@Slf4j
public class TblTradeBidMaterialDetailsController extends JeecgController<TblTradeBidMaterialDetails, ITblTradeBidMaterialDetailsService> {
@Autowired
private ITblTradeBidMaterialDetailsService tblTradeBidMaterialDetailsService;
/**
* 分页列表查询
*
* @param tblTradeBidMaterialDetails
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_trade_bid_material_details-分页列表查询")
@ApiOperation(value="tbl_trade_bid_material_details-分页列表查询", notes="tbl_trade_bid_material_details-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradeBidMaterialDetails>> queryPageList(TblTradeBidMaterialDetails tblTradeBidMaterialDetails,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradeBidMaterialDetails> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidMaterialDetails, req.getParameterMap());
Page<TblTradeBidMaterialDetails> page = new Page<TblTradeBidMaterialDetails>(pageNo, pageSize);
IPage<TblTradeBidMaterialDetails> pageList = tblTradeBidMaterialDetailsService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblTradeBidMaterialDetails
* @return
*/
@AutoLog(value = "tbl_trade_bid_material_details-添加")
@ApiOperation(value="tbl_trade_bid_material_details-添加", notes="tbl_trade_bid_material_details-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradeBidMaterialDetails tblTradeBidMaterialDetails) {
tblTradeBidMaterialDetailsService.save(tblTradeBidMaterialDetails);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradeBidMaterialDetails
* @return
*/
@AutoLog(value = "tbl_trade_bid_material_details-编辑")
@ApiOperation(value="tbl_trade_bid_material_details-编辑", notes="tbl_trade_bid_material_details-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradeBidMaterialDetails tblTradeBidMaterialDetails) {
tblTradeBidMaterialDetailsService.updateById(tblTradeBidMaterialDetails);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_trade_bid_material_details-通过id删除")
@ApiOperation(value="tbl_trade_bid_material_details-通过id删除", notes="tbl_trade_bid_material_details-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradeBidMaterialDetailsService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_trade_bid_material_details-批量删除")
@ApiOperation(value="tbl_trade_bid_material_details-批量删除", notes="tbl_trade_bid_material_details-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradeBidMaterialDetailsService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_trade_bid_material_details-通过id查询")
@ApiOperation(value="tbl_trade_bid_material_details-通过id查询", notes="tbl_trade_bid_material_details-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradeBidMaterialDetails> queryById(@RequestParam(name="id",required=true) String id) {
TblTradeBidMaterialDetails tblTradeBidMaterialDetails = tblTradeBidMaterialDetailsService.getById(id);
if(tblTradeBidMaterialDetails==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradeBidMaterialDetails);
}
/**
* 导出excel
*
* @param request
* @param tblTradeBidMaterialDetails
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradeBidMaterialDetails tblTradeBidMaterialDetails) {
return super.exportXls(request, tblTradeBidMaterialDetails, TblTradeBidMaterialDetails.class, "tbl_trade_bid_material_details");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblTradeBidMaterialDetails.class);
}
}
... ...
... ... @@ -11,10 +11,8 @@ import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import org.jeecg.modules.erp.trade.entity.TblTradeInventoryIn;
import org.jeecg.modules.erp.trade.entity.TblTradeTenderInfo;
import org.jeecg.modules.erp.trade.service.ITblTradeInventoryInService;
import org.jeecg.modules.erp.trade.service.ITblTradeTenderInfoService;
import org.jeecg.modules.erp.trade.entity.*;
import org.jeecg.modules.erp.trade.service.*;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
... ... @@ -25,11 +23,7 @@ import org.apache.shiro.SecurityUtils;
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.TblTradeInquiryInfo;
import org.jeecg.modules.erp.trade.entity.TblTradeBidSub;
import org.jeecg.modules.erp.trade.vo.TblTradeBidSubPage;
import org.jeecg.modules.erp.trade.service.ITblTradeBidSubService;
import org.jeecg.modules.erp.trade.service.ITblTradeInquiryInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
... ... @@ -64,6 +58,8 @@ public class TblTradeBidSubController {
private ITblTradeTenderInfoService tblTradeTenderInfoService;
@Autowired
private ITblTradeInventoryInService tblTradeInventoryInService;
@Autowired
private ITblTradePurchaseInfoService tblTradePurchaseInfoService;
/**
* 分页列表查询
... ... @@ -347,14 +343,12 @@ public class TblTradeBidSubController {
*/
@ApiOperation(value="通过合同号和物料编码查询", notes="投标表根据合同号和物料编码进行查询订单信息")
@GetMapping(value = "/queryHtInfoByHthAndWlbm")
public Result<TblTradeBidSub> queryHtInfoByHthAndWlbm( TblTradeBidSub tblTradeBidSub) {
QueryWrapper<TblTradeBidSub> queryWrapper = new QueryWrapper<>();
public Result<TblTradePurchaseInfo> queryHtInfoByHthAndWlbm( TblTradeBidSub tblTradeBidSub) {
QueryWrapper<TblTradePurchaseInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hth",tblTradeBidSub.getHth());
queryWrapper.eq("wlbm",tblTradeBidSub.getWlbm());
List<TblTradeBidSub> list = tblTradeBidSubService.list(queryWrapper);
queryWrapper.eq("wlbh",tblTradeBidSub.getWlbm());
List<TblTradePurchaseInfo> list = tblTradePurchaseInfoService.list(queryWrapper);
//查询历史入库记录,确认历史入库数量
QueryWrapper<TblTradeInventoryIn> wrapper = new QueryWrapper<>();
wrapper.eq("material_code", tblTradeBidSub.getWlbm());
wrapper.eq("delivery_contract_number", tblTradeBidSub.getHth());
... ... @@ -366,11 +360,10 @@ public class TblTradeBidSubController {
if(CollectionUtil.isEmpty(list)) {
return Result.OK(new TblTradeBidSub());
return Result.OK(new TblTradePurchaseInfo());
}
TblTradeBidSub sub = list.get(0);
String sl = sub.getSl();
int isl = Integer.parseInt(sl);
TblTradePurchaseInfo sub = list.get(0);
Integer isl = sub.getPurchaseQuantity();
sub.setSl(String.valueOf(isl-yrksl));
return Result.OK(list.get(0));
}
... ...
package org.jeecg.modules.erp.trade.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.TblTradeContractAwarded;
import org.jeecg.modules.erp.trade.service.ITblTradeContractAwardedService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_trade_contract_awarded
* @Author: jeecg-boot
* @Date: 2025-03-18
* @Version: V1.0
*/
@Api(tags="tbl_trade_contract_awarded")
@RestController
@RequestMapping("/trade/tblTradeContractAwarded")
@Slf4j
public class TblTradeContractAwardedController extends JeecgController<TblTradeContractAwarded, ITblTradeContractAwardedService> {
@Autowired
private ITblTradeContractAwardedService tblTradeContractAwardedService;
/**
* 分页列表查询
*
* @param tblTradeContractAwarded
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_trade_contract_awarded-分页列表查询")
@ApiOperation(value="tbl_trade_contract_awarded-分页列表查询", notes="tbl_trade_contract_awarded-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradeContractAwarded>> queryPageList(TblTradeContractAwarded tblTradeContractAwarded,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradeContractAwarded> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeContractAwarded, req.getParameterMap());
Page<TblTradeContractAwarded> page = new Page<TblTradeContractAwarded>(pageNo, pageSize);
IPage<TblTradeContractAwarded> pageList = tblTradeContractAwardedService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblTradeContractAwarded
* @return
*/
@AutoLog(value = "tbl_trade_contract_awarded-添加")
@ApiOperation(value="tbl_trade_contract_awarded-添加", notes="tbl_trade_contract_awarded-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradeContractAwarded tblTradeContractAwarded) {
tblTradeContractAwardedService.save(tblTradeContractAwarded);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradeContractAwarded
* @return
*/
@AutoLog(value = "tbl_trade_contract_awarded-编辑")
@ApiOperation(value="tbl_trade_contract_awarded-编辑", notes="tbl_trade_contract_awarded-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradeContractAwarded tblTradeContractAwarded) {
tblTradeContractAwardedService.updateById(tblTradeContractAwarded);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_trade_contract_awarded-通过id删除")
@ApiOperation(value="tbl_trade_contract_awarded-通过id删除", notes="tbl_trade_contract_awarded-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradeContractAwardedService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_trade_contract_awarded-批量删除")
@ApiOperation(value="tbl_trade_contract_awarded-批量删除", notes="tbl_trade_contract_awarded-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradeContractAwardedService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_trade_contract_awarded-通过id查询")
@ApiOperation(value="tbl_trade_contract_awarded-通过id查询", notes="tbl_trade_contract_awarded-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradeContractAwarded> queryById(@RequestParam(name="id",required=true) String id) {
TblTradeContractAwarded tblTradeContractAwarded = tblTradeContractAwardedService.getById(id);
if(tblTradeContractAwarded==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradeContractAwarded);
}
/**
* 导出excel
*
* @param request
* @param tblTradeContractAwarded
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradeContractAwarded tblTradeContractAwarded) {
return super.exportXls(request, tblTradeContractAwarded, TblTradeContractAwarded.class, "tbl_trade_contract_awarded");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblTradeContractAwarded.class);
}
}
... ...
package org.jeecg.modules.erp.trade.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.TblTradeFpgl;
import org.jeecg.modules.erp.trade.service.ITblTradeFpglService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_trade_fpgl
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Api(tags="tbl_trade_fpgl")
@RestController
@RequestMapping("/trade/tblTradeFpgl")
@Slf4j
public class TblTradeFpglController extends JeecgController<TblTradeFpgl, ITblTradeFpglService> {
@Autowired
private ITblTradeFpglService tblTradeFpglService;
/**
* 分页列表查询
*
* @param tblTradeFpgl
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_trade_fpgl-分页列表查询")
@ApiOperation(value="tbl_trade_fpgl-分页列表查询", notes="tbl_trade_fpgl-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradeFpgl>> queryPageList(TblTradeFpgl tblTradeFpgl,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradeFpgl> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeFpgl, req.getParameterMap());
Page<TblTradeFpgl> page = new Page<TblTradeFpgl>(pageNo, pageSize);
IPage<TblTradeFpgl> pageList = tblTradeFpglService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblTradeFpgl
* @return
*/
@AutoLog(value = "tbl_trade_fpgl-添加")
@ApiOperation(value="tbl_trade_fpgl-添加", notes="tbl_trade_fpgl-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradeFpgl tblTradeFpgl) {
tblTradeFpglService.save(tblTradeFpgl);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradeFpgl
* @return
*/
@AutoLog(value = "tbl_trade_fpgl-编辑")
@ApiOperation(value="tbl_trade_fpgl-编辑", notes="tbl_trade_fpgl-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradeFpgl tblTradeFpgl) {
tblTradeFpglService.updateById(tblTradeFpgl);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_trade_fpgl-通过id删除")
@ApiOperation(value="tbl_trade_fpgl-通过id删除", notes="tbl_trade_fpgl-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradeFpglService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_trade_fpgl-批量删除")
@ApiOperation(value="tbl_trade_fpgl-批量删除", notes="tbl_trade_fpgl-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradeFpglService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_trade_fpgl-通过id查询")
@ApiOperation(value="tbl_trade_fpgl-通过id查询", notes="tbl_trade_fpgl-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradeFpgl> queryById(@RequestParam(name="id",required=true) String id) {
TblTradeFpgl tblTradeFpgl = tblTradeFpglService.getById(id);
if(tblTradeFpgl==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradeFpgl);
}
/**
* 导出excel
*
* @param request
* @param tblTradeFpgl
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradeFpgl tblTradeFpgl) {
return super.exportXls(request, tblTradeFpgl, TblTradeFpgl.class, "tbl_trade_fpgl");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblTradeFpgl.class);
}
}
... ...
... ... @@ -36,6 +36,7 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
... ... @@ -66,6 +67,8 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
private ITblTradeInventoryOutService tblTradeInventoryOutService;
@Autowired
private ITblTradeBidSubService tblTradeBidSubService;
@Autowired
private ITblTradePurchaseInfoService tblTradePurchaseInfoService;
/**
* 分页列表查询
... ... @@ -119,21 +122,9 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
record.setLastOutboundTime(inventoryMap.get(record.getMeterialCode()) == null ? null : inventoryMap.get(record.getMeterialCode()).getLastOutboundTime());
if (record.getLastOutboundTime() != null) {
long daysDifference = calculateDaysDifference(new Date(), record.getFirstStorageTime());
record.setDaysInStock((int) daysDifference);
record.setDaysInStock((int) daysDifference + 1);
}
if (inventoryMap.get(record.getMeterialCode()) != null) {
TblTradeInventory inventory = inventoryMap.get(record.getMeterialCode());
Integer actualInventory = inventory.getActualInventory();
Integer quantityInTransit = inventory.getQuantityInTransit();
if (actualInventory == null) {
actualInventory = 0;
}
if (quantityInTransit == null) {
quantityInTransit = 0;
}
record.setTotalQuantity(actualInventory + quantityInTransit);
}
}
}
... ... @@ -157,6 +148,7 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
@AutoLog(value = "贸易库存表-添加")
@ApiOperation(value = "贸易库存表-添加", notes = "贸易库存表-添加")
@PostMapping(value = "/add")
@Transactional(rollbackFor = Exception.class)
public Result<String> add(@RequestBody TblTradeInventory tblTradeInventory) {
//订单验证
Result<String> error = orderVerification(tblTradeInventory);
... ... @@ -186,6 +178,13 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
//库存信息
TblTradeInventory tradeInventory = tblTradeInventoryService.getOne(queryWrapper);
Integer kcl = 0;
//修改订单信息
String purchaseId = tblTradeInventory.getPurchaseId();
TblTradePurchaseInfo tblTradePurchaseInfo = tblTradePurchaseInfoService.getById(purchaseId);
tblTradePurchaseInfo.setYrkNum(tblTradePurchaseInfo.getYrkNum() + tblTradeInventory.getRksl());
tblTradePurchaseInfo.setWrkNum(tblTradePurchaseInfo.getWrkNum() - tblTradeInventory.getRksl());
tblTradePurchaseInfoService.updateById(tblTradePurchaseInfo);
if (tradeInventory == null) {
kcl = tblTradeInventory.getRksl();
//新增库存信息
... ... @@ -193,10 +192,22 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
tblTradeInventory.setUpdateTime(new Date());
tblTradeInventory.setFirstStorageTime(new Date());
tblTradeInventory.setActualInventory(tblTradeInventory.getRksl());
//在途数量
Integer wrk =tblTradePurchaseInfoService.getWrkNum(tblTradeInventory.getMaterialCode());
wrk = wrk == null ? 0 : wrk;
tblTradeInventory.setQuantityInTransit(wrk);
Integer yrk = tblTradePurchaseInfoService.getYrkNumByMaterialCode(tblTradeInventory.getMaterialCode());
yrk = yrk == null ? 0 : yrk;
Integer ck = tblTradeInventoryOutService.getOutboundQuantityByMaterialCode(tblTradeInventory.getMaterialCode());
ck = ck == null ? 0 : ck;
tblTradeInventory.setTotalQuantity(wrk + yrk - ck);
tblTradeInventoryService.save(tblTradeInventory);
} else {
//修改库存信息
System.out.println("修改库存信息.............");
// //修改库存信息
tblTradeInventory.setId(tradeInventory.getId());
tblTradeInventory.setUpdateTime(new Date());
//当前库存
... ... @@ -204,10 +215,24 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
kcl = tblTradeInventory.getRksl() + actualInventory;
tblTradeInventory.setActualInventory(kcl);
//在途数量
Integer wrk =tblTradePurchaseInfoService.getWrkNum(tblTradeInventory.getMaterialCode());
wrk = wrk == null ? 0 : wrk;
tblTradeInventory.setQuantityInTransit(wrk);
Integer yrk = tblTradePurchaseInfoService.getYrkNumByMaterialCode(tblTradeInventory.getMaterialCode());
yrk = yrk == null ? 0 : yrk;
Integer ck = tblTradeInventoryOutService.getOutboundQuantityByMaterialCode(tblTradeInventory.getMaterialCode());
ck = ck == null ? 0 : ck;
tblTradeInventory.setTotalQuantity(wrk + yrk - ck);
tblTradeInventory.setActualInventory(yrk -ck);
tblTradeInventoryService.updateById(tblTradeInventory);
}
//当前库存量
tblTradeInventoryIn.setActualInventory(kcl);
... ... @@ -215,15 +240,18 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
tblTradeInventoryInService.save(tblTradeInventoryIn);
return Result.OK("添加成功!");
}
@Nullable
private Result<String> orderVerification(TblTradeInventory tblTradeInventory) {
QueryWrapper<TblTradeBidSub> queryWrapper = new QueryWrapper<>();
QueryWrapper<TblTradePurchaseInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hth",tblTradeInventory.getHth());
queryWrapper.eq("wlbm",tblTradeInventory.getMaterialCode());
List<TblTradeBidSub> list = tblTradeBidSubService.list(queryWrapper);
queryWrapper.eq("wlbh",tblTradeInventory.getMaterialCode());
List<TblTradePurchaseInfo> list = tblTradePurchaseInfoService.list(queryWrapper);
if (CollectionUtil.isEmpty(list)) {
return Result.error("该订单不存在!");
}
... ... @@ -231,9 +259,9 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
return Result.error("存在多个相同订单!");
}
//订单信息
TblTradeBidSub tblTradeBidSub = list.get(0);
TblTradePurchaseInfo tblTradeBidSub = list.get(0);
//订单数量
String sl = tblTradeBidSub.getSl();
String sl = String.valueOf(tblTradeBidSub.getPurchaseQuantity());
//本次入库数量
Integer rksl = tblTradeInventory.getRksl();
if (rksl > Integer.parseInt(sl)){
... ... @@ -269,6 +297,7 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
@AutoLog(value = "出库")
@ApiOperation(value = "出库", notes = "出库")
@PostMapping(value = "/out")
@Transactional(rollbackFor = Exception.class)
public Result<String> out(@RequestBody TblTradeInventory tblTradeInventory) {
//根据物料编码获取库存信息
String materialCode = tblTradeInventory.getMaterialCode();
... ... @@ -286,6 +315,7 @@ public class TblTradeInventoryController extends JeecgController<TblTradeInvento
}
//出库
tradeInventory.setActualInventory(tradeInventory.getActualInventory() - outboundQuantity);
tradeInventory.setTotalQuantity(tradeInventory.getTotalQuantity() - outboundQuantity);
tradeInventory.setLastOutboundTime(new Date());
tblTradeInventoryService.updateById(tradeInventory);
... ...
package org.jeecg.modules.erp.trade.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.TblTradePayManage;
import org.jeecg.modules.erp.trade.service.ITblTradePayManageService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_trade_pay_manage
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Api(tags="tbl_trade_pay_manage")
@RestController
@RequestMapping("/trade/tblTradePayManage")
@Slf4j
public class TblTradePayManageController extends JeecgController<TblTradePayManage, ITblTradePayManageService> {
@Autowired
private ITblTradePayManageService tblTradePayManageService;
/**
* 分页列表查询
*
* @param tblTradePayManage
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_trade_pay_manage-分页列表查询")
@ApiOperation(value="tbl_trade_pay_manage-分页列表查询", notes="tbl_trade_pay_manage-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradePayManage>> queryPageList(TblTradePayManage tblTradePayManage,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePayManage> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePayManage, req.getParameterMap());
Page<TblTradePayManage> page = new Page<TblTradePayManage>(pageNo, pageSize);
IPage<TblTradePayManage> pageList = tblTradePayManageService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblTradePayManage
* @return
*/
@AutoLog(value = "tbl_trade_pay_manage-添加")
@ApiOperation(value="tbl_trade_pay_manage-添加", notes="tbl_trade_pay_manage-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradePayManage tblTradePayManage) {
tblTradePayManageService.save(tblTradePayManage);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradePayManage
* @return
*/
@AutoLog(value = "tbl_trade_pay_manage-编辑")
@ApiOperation(value="tbl_trade_pay_manage-编辑", notes="tbl_trade_pay_manage-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradePayManage tblTradePayManage) {
tblTradePayManageService.updateById(tblTradePayManage);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_trade_pay_manage-通过id删除")
@ApiOperation(value="tbl_trade_pay_manage-通过id删除", notes="tbl_trade_pay_manage-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradePayManageService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_trade_pay_manage-批量删除")
@ApiOperation(value="tbl_trade_pay_manage-批量删除", notes="tbl_trade_pay_manage-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradePayManageService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_trade_pay_manage-通过id查询")
@ApiOperation(value="tbl_trade_pay_manage-通过id查询", notes="tbl_trade_pay_manage-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradePayManage> queryById(@RequestParam(name="id",required=true) String id) {
TblTradePayManage tblTradePayManage = tblTradePayManageService.getById(id);
if(tblTradePayManage==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradePayManage);
}
/**
* 导出excel
*
* @param request
* @param tblTradePayManage
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradePayManage tblTradePayManage) {
return super.exportXls(request, tblTradePayManage, TblTradePayManage.class, "tbl_trade_pay_manage");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblTradePayManage.class);
}
}
... ...
package org.jeecg.modules.erp.trade.controller;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
... ... @@ -15,7 +14,12 @@ import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
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 org.jeecg.modules.erp.trade.service.ITblTradeBidSubService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
... ... @@ -47,305 +51,351 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
/**
* @Description: 询价表
* @Author: jeecg-boot
* @Date: 2025-02-12
* @Date: 2025-02-12
* @Version: V1.0
*/
@Api(tags="询价表")
@Api(tags = "询价表")
@RestController
@RequestMapping("/trade/tblTradePriceInquiry")
@Slf4j
public class TblTradePriceInquiryController {
@Autowired
private ITblTradePriceInquiryService tblTradePriceInquiryService;
@Autowired
private ITblTradeTenderInfoService tblTradeTenderInfoService;
@Autowired
private ITblTradeBidSubService tblTradeBidSubService;
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value="询价表-分页列表查询", notes="询价表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradePriceInquiry>> queryPageList(TblTradePriceInquiry tblTradePriceInquiry,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, req.getParameterMap());
Page<TblTradePriceInquiry> page = new Page<TblTradePriceInquiry>(pageNo, pageSize);
IPage<TblTradePriceInquiry> pageList = tblTradePriceInquiryService.page(page, queryWrapper);
return Result.OK(pageList);
}
@Autowired
private ITblTradePriceInquiryService tblTradePriceInquiryService;
@Autowired
private ITblTradeTenderInfoService tblTradeTenderInfoService;
@Autowired
private ITblTradeBidSubService tblTradeBidSubService;
@Autowired
private ITblTradeBidMaterialDetailsService tblTradeBidMaterialDetailsService;
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value = "询价表-分页列表查询", notes = "询价表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradePriceInquiry>> queryPageList(TblTradePriceInquiry tblTradePriceInquiry,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, req.getParameterMap());
Page<TblTradePriceInquiry> page = new Page<TblTradePriceInquiry>(pageNo, pageSize);
IPage<TblTradePriceInquiry> pageList = tblTradePriceInquiryService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value="投标-分页列表查询", notes="投标-分页列表查询")
@GetMapping(value = "/bidList")
public Result<IPage<TblTradePriceInquiry>> queryPageList1(TblTradePriceInquiry tblTradePriceInquiry,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, req.getParameterMap());
Page<TblTradePriceInquiry> page = new Page<TblTradePriceInquiry>(pageNo, pageSize);
IPage<TblTradePriceInquiry> pageList = tblTradePriceInquiryService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value = "投标-分页列表查询", notes = "投标-分页列表查询")
@GetMapping(value = "/bidList")
public Result<IPage<TblTradePriceInquiry>> queryPageList1(TblTradePriceInquiry tblTradePriceInquiry,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, req.getParameterMap());
Page<TblTradePriceInquiry> page = new Page<TblTradePriceInquiry>(pageNo, pageSize);
IPage<TblTradePriceInquiry> pageList = tblTradePriceInquiryService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value="中标列表查询", notes="中标列表查询")
@GetMapping(value = "/winBidList")
public Result<IPage<Map<String,Object>>> queryWinBidList(TblTradePriceInquiry tblTradePriceInquiry,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, req.getParameterMap());
Page<TblTradePriceInquiry> page = new Page<TblTradePriceInquiry>(pageNo, pageSize);
IPage<TblTradePriceInquiry> pageList = tblTradePriceInquiryService.page(page, queryWrapper);
IPage<Map<String,Object>> res = new Page<>();
List<Map<String,Object>> list = new ArrayList<>();
res.setTotal(pageList.getTotal());
res.setSize(pageList.getSize());
res.setPages(pageList.getPages());
res.setCurrent(pageList.getCurrent());
res.setRecords(list);
/**
* 分页列表查询
*
* @param tblTradePriceInquiry
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "询价表-分页列表查询")
@ApiOperation(value = "中标列表查询", notes = "中标列表查询")
@GetMapping(value = "/winBidList")
public Result<IPage<Map<String, Object>>> queryWinBidList(TblTradeBidMaterialDetails tblTradeBidMaterialDetails,
@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);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblTradePriceInquiryPage
* @return
*/
@AutoLog(value = "询价表-添加")
@ApiOperation(value = "询价表-添加", notes = "询价表-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradePriceInquiryPage tblTradePriceInquiryPage) {
TblTradePriceInquiry tblTradePriceInquiry = new TblTradePriceInquiry();
BeanUtils.copyProperties(tblTradePriceInquiryPage, tblTradePriceInquiry);
tblTradePriceInquiryService.saveMain(tblTradePriceInquiry, tblTradePriceInquiryPage.getTblTradeTenderInfoList());
return Result.OK("添加成功!");
}
pageList.getRecords().forEach(e->{
Map<String,Object> map = new HashMap<>();
map.put("xjbswjh",e.getXjbswjh());
/**
* 编辑
*
* @param tblTradePriceInquiryPage
* @return
*/
@AutoLog(value = "询价表-编辑")
@ApiOperation(value = "询价表-编辑", notes = "询价表-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradePriceInquiryPage tblTradePriceInquiryPage) {
TblTradePriceInquiry tblTradePriceInquiry = new TblTradePriceInquiry();
BeanUtils.copyProperties(tblTradePriceInquiryPage, tblTradePriceInquiry);
TblTradePriceInquiry tblTradePriceInquiryEntity = tblTradePriceInquiryService.getById(tblTradePriceInquiry.getId());
if (tblTradePriceInquiryEntity == null) {
return Result.error("未找到对应数据");
}
tblTradePriceInquiryService.updateMain(tblTradePriceInquiry, tblTradePriceInquiryPage.getTblTradeTenderInfoList());
return Result.OK("编辑成功!");
}
List<TblTradeBidSub> bidSubList = tblTradeBidSubService.list(new QueryWrapper<TblTradeBidSub>().eq("xjbswjh", e.getXjbswjh()));
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "询价表-通过id删除")
@ApiOperation(value = "询价表-通过id删除", notes = "询价表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
tblTradePriceInquiryService.delMain(id);
return Result.OK("删除成功!");
}
map.put("ljbs",bidSubList.size());
// 投标笔数
long tbbs = bidSubList.stream().filter(i -> StrUtil.isNotBlank(i.getTbjg())).count();
map.put("tbbs",tbbs);
// 中标笔数
long zbbs = bidSubList.stream().filter(i -> StrUtil.equals("是", i.getSfzb())).count();
map.put("zbbs",zbbs);
// 中标比率
if (tbbs == 0){
map.put("zbl","0%");
}else {
double div = NumberUtil.div(zbbs, tbbs, 4);
map.put("zbl",NumberUtil.formatPercent(div,2));
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "询价表-批量删除")
@ApiOperation(value = "询价表-批量删除", notes = "询价表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.tblTradePriceInquiryService.delBatchMain(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
list.add(map);
});
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "询价表-通过id查询")
@ApiOperation(value = "询价表-通过id查询", notes = "询价表-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradePriceInquiry> queryById(@RequestParam(name = "id", required = true) String id) {
TblTradePriceInquiry tblTradePriceInquiry = tblTradePriceInquiryService.getById(id);
if (tblTradePriceInquiry == null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradePriceInquiry);
return Result.OK(res);
}
/**
* 添加
*
* @param tblTradePriceInquiryPage
* @return
*/
@AutoLog(value = "询价表-添加")
@ApiOperation(value="询价表-添加", notes="询价表-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradePriceInquiryPage tblTradePriceInquiryPage) {
TblTradePriceInquiry tblTradePriceInquiry = new TblTradePriceInquiry();
BeanUtils.copyProperties(tblTradePriceInquiryPage, tblTradePriceInquiry);
tblTradePriceInquiryService.saveMain(tblTradePriceInquiry, tblTradePriceInquiryPage.getTblTradeTenderInfoList());
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradePriceInquiryPage
* @return
*/
@AutoLog(value = "询价表-编辑")
@ApiOperation(value="询价表-编辑", notes="询价表-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblTradePriceInquiryPage tblTradePriceInquiryPage) {
TblTradePriceInquiry tblTradePriceInquiry = new TblTradePriceInquiry();
BeanUtils.copyProperties(tblTradePriceInquiryPage, tblTradePriceInquiry);
TblTradePriceInquiry tblTradePriceInquiryEntity = tblTradePriceInquiryService.getById(tblTradePriceInquiry.getId());
if(tblTradePriceInquiryEntity==null) {
return Result.error("未找到对应数据");
}
tblTradePriceInquiryService.updateMain(tblTradePriceInquiry, tblTradePriceInquiryPage.getTblTradeTenderInfoList());
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "询价表-通过id删除")
@ApiOperation(value="询价表-通过id删除", notes="询价表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradePriceInquiryService.delMain(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "询价表-批量删除")
@ApiOperation(value="询价表-批量删除", notes="询价表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradePriceInquiryService.delBatchMain(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "询价表-通过id查询")
@ApiOperation(value="询价表-通过id查询", notes="询价表-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradePriceInquiry> queryById(@RequestParam(name="id",required=true) String id) {
TblTradePriceInquiry tblTradePriceInquiry = tblTradePriceInquiryService.getById(id);
if(tblTradePriceInquiry==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblTradePriceInquiry);
}
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "贸易招标信息-通过主表ID查询")
@ApiOperation(value="贸易招标信息-通过主表ID查询", notes="贸易招标信息-通过主表ID查询")
@GetMapping(value = "/queryTblTradeTenderInfoByMainId")
public Result<IPage<TblTradeTenderInfo>> queryTblTradeTenderInfoListByMainId(@RequestParam(name="id",required=true) String id) {
List<TblTradeTenderInfo> tblTradeTenderInfoList = tblTradeTenderInfoService.selectByMainId(id);
IPage <TblTradeTenderInfo> page = new Page<>();
page.setRecords(tblTradeTenderInfoList);
page.setTotal(tblTradeTenderInfoList.size());
return Result.OK(page);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "贸易招标信息-通过主表ID查询")
@ApiOperation(value = "贸易招标信息-通过主表ID查询", notes = "贸易招标信息-通过主表ID查询")
@GetMapping(value = "/queryTblTradeTenderInfoByMainId")
public Result<IPage<TblTradeTenderInfo>> queryTblTradeTenderInfoListByMainId(@RequestParam(name = "id", required = true) String id) {
List<TblTradeTenderInfo> tblTradeTenderInfoList = tblTradeTenderInfoService.selectByMainId(id);
IPage<TblTradeTenderInfo> page = new Page<>();
page.setRecords(tblTradeTenderInfoList);
page.setTotal(tblTradeTenderInfoList.size());
return Result.OK(page);
}
/**
* 导出excel
*
* @param request
* @param tblTradePriceInquiry
*/
* 导出excel
*
* @param request
* @param tblTradePriceInquiry
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradePriceInquiry tblTradePriceInquiry) {
// Step.1 组装查询条件查询数据
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// Step.1 组装查询条件查询数据
QueryWrapper<TblTradePriceInquiry> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePriceInquiry, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//配置选中数据查询条件
String selections = request.getParameter("selections");
if(oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
queryWrapper.in("id",selectionList);
}
//Step.2 获取导出数据
List<TblTradePriceInquiry> tblTradePriceInquiryList = tblTradePriceInquiryService.list(queryWrapper);
//配置选中数据查询条件
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
queryWrapper.in("id", selectionList);
}
//Step.2 获取导出数据
List<TblTradePriceInquiry> tblTradePriceInquiryList = tblTradePriceInquiryService.list(queryWrapper);
// Step.3 组装pageList
List<TblTradePriceInquiryPage> pageList = new ArrayList<TblTradePriceInquiryPage>();
for (TblTradePriceInquiry main : tblTradePriceInquiryList) {
TblTradePriceInquiryPage vo = new TblTradePriceInquiryPage();
BeanUtils.copyProperties(main, vo);
List<TblTradeTenderInfo> tblTradeTenderInfoList = tblTradeTenderInfoService.selectByMainId(main.getId());
vo.setTblTradeTenderInfoList(tblTradeTenderInfoList);
pageList.add(vo);
}
// Step.3 组装pageList
List<TblTradePriceInquiryPage> pageList = new ArrayList<TblTradePriceInquiryPage>();
for (TblTradePriceInquiry main : tblTradePriceInquiryList) {
TblTradePriceInquiryPage vo = new TblTradePriceInquiryPage();
BeanUtils.copyProperties(main, vo);
List<TblTradeTenderInfo> tblTradeTenderInfoList = tblTradeTenderInfoService.selectByMainId(main.getId());
vo.setTblTradeTenderInfoList(tblTradeTenderInfoList);
pageList.add(vo);
}
// Step.4 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "询价表列表");
mv.addObject(NormalExcelConstants.CLASS, TblTradePriceInquiryPage.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("询价表数据", "导出人:"+sysUser.getRealname(), "询价表"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
// Step.4 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "询价表列表");
mv.addObject(NormalExcelConstants.CLASS, TblTradePriceInquiryPage.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("询价表数据", "导出人:" + sysUser.getRealname(), "询价表"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
System.out.println(fileMap);
// for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// // 获取上传文件对象
// MultipartFile file = entity.getValue();
// ImportParams params = new ImportParams();
// params.setTitleRows(2);
// params.setHeadRows(1);
// params.setNeedSave(true);
// try {
// List<TblTradePriceInquiryPage> list = ExcelImportUtil.importExcel(file.getInputStream(), TblTradePriceInquiryPage.class, params);
// for (TblTradePriceInquiryPage page : list) {
// TblTradePriceInquiry po = new TblTradePriceInquiry();
// BeanUtils.copyProperties(page, po);
// tblTradePriceInquiryService.saveMain(po, page.getTblTradeTenderInfoList());
// }
// return Result.OK("文件导入成功!数据行数:" + list.size());
// } catch (Exception e) {
// log.error(e.getMessage(),e);
// return Result.error("文件导入失败:"+e.getMessage());
// } finally {
// try {
// file.getInputStream().close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
return Result.OK("文件导入失败!");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Iterator<String> fileNames = multipartRequest.getFileNames();
while (fileNames.hasNext()) {
String fileName = fileNames.next();
MultipartFile file = multipartRequest.getFile(fileName);
if (file != null && !file.isEmpty()) {
try (InputStream inputStream = file.getInputStream()) {
// 使用 POI 读取 Excel 文件
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
// 提取采购项目编号
String projectNumber = sheet.getRow(1).getCell(2).getStringCellValue();
String bidDate = sheet.getRow(2).getCell(6).getStringCellValue();
QueryWrapper<TblTradeBidSub> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("xjbswjh", projectNumber);
List<TblTradeBidSub> tblTradeBidSubs = tblTradeBidSubService.list(queryWrapper);
Map<String, TblTradeBidSub> subMap = tblTradeBidSubs
.stream()
.collect(Collectors.toMap(TblTradeBidSub::getWlbm, e -> e,(oldvalue, newvalue) -> newvalue));
//标段(包)名称 物料编码
//SRM编码 物料长描述 单位 品牌 数量 中标单价 税率(%) 总价(不含税,元) 需求单位 交货时间 合同编号 合同日期
ArrayList<TblTradeBidMaterialDetails> tblTradeBidMaterialDetails = new ArrayList<>();
for (int i = 10; i < sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
if (row == null) continue;
//物料编码
String materialCode = cellTypeToString(row.getCell(2));
materialCode = materialCode.split("\\.")[0];
TblTradeBidSub tblTradeBidSubInfo = subMap.get(materialCode);
TblTradeBidMaterialDetails materialInfo = new TblTradeBidMaterialDetails();
materialInfo.setPackageName(cellTypeToString(row.getCell(1))); //标段(包)名称
materialInfo.setMaterialCode(materialCode);//物料编码
materialInfo.setSrmCode(cellTypeToString(row.getCell(3))); //SRM编码
materialInfo.setMaterialDescription(cellTypeToString(row.getCell(4))); //物料长描述
materialInfo.setMeasurementUnit(cellTypeToString(row.getCell(5))); //单位
materialInfo.setBrand(cellTypeToString(row.getCell(6))); //品牌
String value = cellTypeToString(row.getCell(7)); // 假设值为 "20.000"
value = value.split("\\.")[0]; // 去除小数点及其后面的部分
int intValue = Integer.parseInt(value); // 解析为整数
materialInfo.setDemandQuantity(intValue); //数量
BigDecimal zbjg = new BigDecimal(cellTypeToString(row.getCell(8)));
materialInfo.setWinningBidPrice(zbjg); // 中标单价
//是否中标
if (StringUtils.isBlank(cellTypeToString(row.getCell(8)))){
materialInfo.setIsBid(2);
}else {
materialInfo.setIsBid(1);
}
materialInfo.setTaxRate(cellTypeToString(row.getCell(9))); // 税率
materialInfo.setBidTotalPrice(new BigDecimal(cellTypeToString(row.getCell(10)))); // 总价(不含税,元)
Cell cell = row.getCell(12);
Date dateCellValue = cell.getDateCellValue();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
materialInfo.setRequiredDeliveryTime(fmt.format(dateCellValue)); // 交货时间
materialInfo.setDemandUnit(cellTypeToString(row.getCell(11))); // 需求单位
//投标价格
if (tblTradeBidSubInfo.getTbjg() != null){
BigDecimal tbjg = new BigDecimal(tblTradeBidSubInfo.getTbjg());
materialInfo.setBidPrice(tbjg);
materialInfo.setDiffPrice(tbjg.subtract(zbjg));
}
materialInfo.setBidNum(projectNumber);
materialInfo.setBidDate(bidDate);
tblTradeBidMaterialDetails.add(materialInfo);
}
tblTradeBidMaterialDetailsService.saveBatch(tblTradeBidMaterialDetails);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.error("文件导入失败!");
}
}
return Result.OK("文件导入成功!");
}
return null;
}
}
public String cellTypeToString(Cell cell) {
switch (cell.getCellType()) {
case STRING:
return cell.getStringCellValue();
case NUMERIC:
String str = "";
if (DateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
// 如果是日期类型
Date date = cell.getDateCellValue();
str = fmt.format(date);
} else {
// 如果是普通数字
double numericValue = cell.getNumericCellValue();
// String formattedValue =
str = new BigDecimal(numericValue).toPlainString();
}
return str;
case BOOLEAN:
return String.valueOf(cell.getBooleanCellValue());
case FORMULA:
return cell.getCellFormula();
case BLANK:
return "";
default:
return "";
}
}
}
\ No newline at end of file
... ...
package org.jeecg.modules.erp.trade.controller;
import java.io.*;
import java.math.BigDecimal;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.erp.trade.entity.*;
import org.jeecg.modules.erp.trade.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_trade_purchase_info
* @Author: jeecg-boot
* @Date: 2025-03-19
* @Version: V1.0
*/
@Api(tags="tbl_trade_purchase_info")
@RestController
@RequestMapping("/trade/tblTradePurchaseInfo")
@Slf4j
public class TblTradePurchaseInfoController extends JeecgController<TblTradePurchaseInfo, ITblTradePurchaseInfoService> {
@Autowired
private ITblTradePurchaseInfoService tblTradePurchaseInfoService;
@Autowired
private ITblTradeBidMaterialDetailsService tblTradeBidMaterialDetailsService;
@Autowired
private ITblTradeInventoryService tblTradeInventoryService;
@Value(value = "${jeecg.path.upload}")
private String uploadpath;
@Autowired
private ITblTradeTenderInfoService tblTradeTenderInfoService;
@Autowired
private ITblTradeInquiryInfoService tblTradeInquiryInfoService;
@Autowired
private ITblTradeMeterialService tblTradeMeterialService;
@Autowired
private ITblTradeInventoryInService tblTradeInventoryInService;
@Autowired
private ITblTradeInventoryOutService tblTradeInventoryOutService;
@Autowired
private ITblTradeInventoryDefectiveProductService tblTradeInventoryDefectiveProductService;
/**
* 分页列表查询
*
* @param tblTradePurchaseInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_trade_purchase_info-分页列表查询")
@ApiOperation(value="tbl_trade_purchase_info-分页列表查询", notes="tbl_trade_purchase_info-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblTradePurchaseInfo>> queryPageList(TblTradePurchaseInfo tblTradePurchaseInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradePurchaseInfo> queryWrapper = QueryGenerator.initQueryWrapper(tblTradePurchaseInfo, req.getParameterMap());
Page<TblTradePurchaseInfo> page = new Page<TblTradePurchaseInfo>(pageNo, pageSize);
IPage<TblTradePurchaseInfo> pageList = tblTradePurchaseInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
@ApiOperation(value="采买列表", notes="采买列表查询")
@GetMapping(value = "/purchaseList")
public Result<IPage<TblTradeBidMaterialDetails>> purchaseList(TblTradeBidMaterialDetails tblTradeBidMaterialDetails,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblTradeBidMaterialDetails> queryWrapper = QueryGenerator.initQueryWrapper(tblTradeBidMaterialDetails, req.getParameterMap());
Page<TblTradeBidMaterialDetails> page = new Page<>(pageNo, pageSize);
Page<TblTradeBidMaterialDetails> pageList = tblTradeBidMaterialDetailsService.page(page, queryWrapper);
//获取库存数量
pageList.getRecords().forEach(item->{
//获取库存数量
Integer inventoryNum = tblTradeInventoryService.getInventoryNum(item.getMaterialCode());
item.setInventoryNum(inventoryNum);
Integer purchaseQuantityNum = tblTradePurchaseInfoService.getPurchaseQuantityNumByMaterialCode(item.getMaterialCode());
item.setOrderQuantity(purchaseQuantityNum);
});
return Result.OK(pageList);
}
@ApiOperation(value = "获取历史询价信息", notes = "获取历史询价信息")
@GetMapping(value = "/getHistoryInquiryInfo")
public Result<List<TblTradeInquiryInfo>> getHistoryInquiryInfo(TblTradePurchaseInfo tblTradePurchaseInfo) {
String bidNum = tblTradePurchaseInfo.getBidNum();
String materialCode = tblTradePurchaseInfo.getWlbh();
QueryWrapper<TblTradeTenderInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("xjbswjh", bidNum);
queryWrapper.eq("code", materialCode);
List<TblTradeTenderInfo> tblTradeTenderInfoList = tblTradeTenderInfoService.list(queryWrapper);
TblTradeTenderInfo tblTradeTenderInfo;
if (!CollectionUtil.isEmpty(tblTradeTenderInfoList)) {
tblTradeTenderInfo = tblTradeTenderInfoList.get(0);
String id = tblTradeTenderInfo.getId();
QueryWrapper<TblTradeInquiryInfo> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("trade_id", id);
List<TblTradeInquiryInfo> tblTradeInquiryInfoList = tblTradeInquiryInfoService.list(queryWrapper1);
return Result.OK(tblTradeInquiryInfoList);
}
return Result.OK();
}
@ApiOperation(value="获取采购信息", notes="获取采购信息")
@GetMapping(value = "/getCgInfo")
public Result<Map<String, List<TblTradePurchaseInfo>>> getCgInfo(TblTradePurchaseInfo tblTradePurchaseInfo) {
String materialCode = tblTradePurchaseInfo.getWlbh();
QueryWrapper<TblTradePurchaseInfo> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(materialCode)) {
queryWrapper.eq("wlbh", materialCode);
}
List<TblTradePurchaseInfo> list = tblTradePurchaseInfoService.list(queryWrapper);
list.forEach(item->{
String wlbh = item.getWlbh();
String hth = item.getHth();
QueryWrapper<TblTradeInventoryDefectiveProduct> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("material_code", wlbh);
queryWrapper1.eq("express_delivery_number", hth);
List<TblTradeInventoryDefectiveProduct> list1 = tblTradeInventoryDefectiveProductService.list(queryWrapper1);
if (!CollectionUtil.isEmpty(list1)) {
item.setBlpNum(list1.stream().map(TblTradeInventoryDefectiveProduct::getBlpsl).reduce(Integer::sum).get());
}
});
//已采购
List<TblTradePurchaseInfo> collect = list.stream().filter(e -> e.getStatus() == 3).collect(Collectors.toList());
//待采购
List<TblTradePurchaseInfo> collect2 = list.stream().filter(e -> e.getStatus() != 3).collect(Collectors.toList());
Map<String, List<TblTradePurchaseInfo>> map = new HashMap<>();
map.put("dcgList", collect2);
map.put("ycgList", collect);
return Result.OK(map);
}
/**
* 添加
*
* @param tblTradePurchaseInfo
* @return
*/
@AutoLog(value = "tbl_trade_purchase_info-添加")
@ApiOperation(value="tbl_trade_purchase_info-添加", notes="tbl_trade_purchase_info-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody TblTradePurchaseInfo tblTradePurchaseInfo) {
if (tblTradePurchaseInfo.getPurchaseQuantity() != null && tblTradePurchaseInfo.getPurchaseQuantity() > 0) {
tblTradePurchaseInfo.setWrkNum(tblTradePurchaseInfo.getPurchaseQuantity());
}
tblTradePurchaseInfo.setStatus(0);
tblTradePurchaseInfoService.save(tblTradePurchaseInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblTradePurchaseInfo
* @return
*/
@AutoLog(value = "tbl_trade_purchase_info-编辑")
@ApiOperation(value="tbl_trade_purchase_info-编辑", notes="tbl_trade_purchase_info-编辑")
@RequestMapping(value = "/audit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> audit(@RequestBody TblTradePurchaseInfo tblTradePurchaseInfo) {
//验证
String hth = tblTradePurchaseInfo.getHth();
if (StringUtils.isNotBlank(hth) &&
(tblTradePurchaseInfo.getThhPj() == null || tblTradePurchaseInfo.getGysPj() == null )
) {
QueryWrapper<TblTradePurchaseInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hth", hth);
List<TblTradePurchaseInfo> list = tblTradePurchaseInfoService.list(queryWrapper);
if (!CollectionUtil.isEmpty(list)) {
return Result.error("合同号已存在");
}
//修改库存信息
QueryWrapper<TblTradeInventory> wrapper = new QueryWrapper<>();
wrapper.eq("material_code", tblTradePurchaseInfo.getWlbh());
List<TblTradeInventory> list1 = tblTradeInventoryService.list(wrapper);
QueryWrapper<TblTradeMeterial> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("meterial_code", tblTradePurchaseInfo.getWlbh());
List<TblTradeMeterial> tradeMeterials = tblTradeMeterialService.list(queryWrapper1);
if (!CollectionUtil.isEmpty(tradeMeterials)) {
TblTradeMeterial tblTradeMeterial = tradeMeterials.get(0);
TblTradeInventory tblTradeInventory = new TblTradeInventory();
tblTradeInventory.setMaterialCode(tblTradePurchaseInfo.getWlbh());
tblTradeInventory.setHth(hth);
tblTradeInventory.setMaterialDescription(tblTradeMeterial.getMeterialReview());
tblTradeInventory.setMeasurementUnit(tblTradeMeterial.getUnit());
tblTradeInventory.setBrand(tblTradeMeterial.getBrand());
tblTradeInventory.setActualInventory(0);
tblTradeInventory.setQuantityInTransit(0);
tblTradeInventory.setTotalQuantity(tblTradePurchaseInfo.getPurchaseQuantity());
//单价
tblTradeInventory.setUnitPrice(tblTradePurchaseInfo.getUnitPrice());
tblTradeInventory.setFirstStorageTime(new Date());
tblTradeInventory.setCs(tblTradePurchaseInfo.getSupplier());
tblTradeInventory.setTaxRate(tblTradePurchaseInfo.getTaxRate());
//仓库、采购员
if (CollectionUtil.isEmpty(list1)) {
tblTradeInventoryService.save(tblTradeInventory);
}else {
TblTradeInventory tblTradeInventory1 = list1.get(0);
tblTradeInventory1.setTotalQuantity(tblTradeInventory1.getTotalQuantity() + tblTradePurchaseInfo.getPurchaseQuantity());
tblTradeInventory1.setQuantityInTransit(tblTradeInventory1.getQuantityInTransit() + tblTradePurchaseInfo.getPurchaseQuantity());
tblTradeInventoryService.updateById(tblTradeInventory1);
}
}
}
tblTradePurchaseInfoService.updateById(tblTradePurchaseInfo);
return Result.OK("编辑成功!");
}
/**
* 编辑
*
* @param tblTradePurchaseInfo
* @return
*/
@AutoLog(value = "tbl_trade_purchase_info-编辑")
@ApiOperation(value="tbl_trade_purchase_info-编辑", notes="tbl_trade_purchase_info-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
@Transactional(rollbackFor = Exception.class)
public Result<String> edit(@RequestBody TblTradePurchaseInfo tblTradePurchaseInfo) {
//获取本条数据所有信息
TblTradePurchaseInfo purchaseInfo = tblTradePurchaseInfoService.getById(tblTradePurchaseInfo.getId());
if (purchaseInfo == null) {
return Result.error("未找到对应数据");
}
//订单数量
Integer purchaseQuantity = purchaseInfo.getPurchaseQuantity();
//本次入库数量
Integer rkNum = tblTradePurchaseInfo.getRkNum();
if (purchaseQuantity < rkNum) {
return Result.error("入库数量不能大于订单数量");
}
//未入库数量
Integer wrkNum = purchaseInfo.getWrkNum();
wrkNum = wrkNum == null ? 0 : wrkNum;
Integer yrkNum = purchaseInfo.getYrkNum();
yrkNum = yrkNum == null ? 0 : yrkNum;
if (rkNum > wrkNum) {
return Result.error("入库数量不能大于未入库数量");
}
// if (tblTradePurchaseInfo.getBlpNum() != null && tblTradePurchaseInfo.getBlpNum() >0){
// //不良品入库
// blpStore(tblTradePurchaseInfo);
// }
tblTradePurchaseInfo.setYrkNum(yrkNum + rkNum);
tblTradePurchaseInfo.setWrkNum(wrkNum - rkNum);
tblTradePurchaseInfoService.updateById(tblTradePurchaseInfo);
//入库
store(rkNum,tblTradePurchaseInfo,purchaseQuantity);
return Result.OK("编辑成功!");
}
// //不良品入库
// private void blpStore(TblTradePurchaseInfo tblTradePurchaseInfo){
// TblTradeInventoryDefectiveProduct defectiveProduct = new TblTradeInventoryDefectiveProduct();
// defectiveProduct.setWaybillNum("BZSOUT"+ DatePattern.PURE_DATETIME_FORMAT.format(new Date()));
// defectiveProduct.setMaterialCode(tblTradePurchaseInfo.getWlbh());
// QueryWrapper<TblTradeMeterial> queryWrapper1 = new QueryWrapper<>();
// queryWrapper1.eq("meterial_code", tblTradePurchaseInfo.getWlbh());
// //物料信息
// List<TblTradeMeterial> tradeMeterials = tblTradeMeterialService.list(queryWrapper1);
// if (!CollectionUtil.isEmpty(tradeMeterials)) {
// TblTradeMeterial tblTradeMeterial = tradeMeterials.get(0);
// defectiveProduct.setBrand(tblTradeMeterial.getBrand());
// defectiveProduct.setMaterialDescription(tblTradeMeterial.getMeterialReview());
// defectiveProduct.setMeasurementUnit()
//
// }
//
// }
//入库
private void store(Integer rkNum, TblTradePurchaseInfo tblTradePurchaseInfo, Integer purchaseQuantity){
//合同号
String hth = tblTradePurchaseInfo.getHth();
//物料编号
String wlbh = tblTradePurchaseInfo.getWlbh();
//根据物料编号查询库存信息,如果有则更新,没有则新增
QueryWrapper<TblTradeInventory> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("material_code", wlbh);
//库存信息
List<TblTradeInventory> list = tblTradeInventoryService.list(queryWrapper);
QueryWrapper<TblTradeMeterial> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("meterial_code", wlbh);
List<TblTradeMeterial> tradeMeterials = tblTradeMeterialService.list(queryWrapper1);
if (CollectionUtil.isEmpty(list)) {
//为空,新增库存记录
//根据物料编码查询物料信息
if (CollectionUtil.isEmpty(tradeMeterials)) {
return;
}else {
TblTradeMeterial tblTradeMeterial = tradeMeterials.get(0);
TblTradeInventory tblTradeInventory = new TblTradeInventory();
tblTradeInventory.setMaterialCode(wlbh);
tblTradeInventory.setHth(hth);
tblTradeInventory.setMaterialDescription(tblTradeMeterial.getMeterialReview());
tblTradeInventory.setMeasurementUnit(tblTradeMeterial.getUnit());
tblTradeInventory.setBrand(tblTradeMeterial.getBrand());
String meterialCode = tblTradeMeterial.getMeterialCode();
Integer yrk = tblTradePurchaseInfoService.getYrkNumByMaterialCode(meterialCode);
yrk = yrk == null ? 0 : yrk;
Integer ck = tblTradeInventoryOutService.getOutboundQuantityByMaterialCode(meterialCode);
ck = ck == null ? 0 : ck;
Integer wrk =tblTradePurchaseInfoService.getWrkNum(meterialCode);
wrk = wrk == null ? 0 : wrk;
tblTradeInventory.setActualInventory(yrk-ck);
tblTradeInventory.setQuantityInTransit(wrk);
Integer purchaseQuantityNum = tblTradePurchaseInfoService.getPurchaseQuantityNumByMaterialCode(meterialCode);
purchaseQuantityNum = purchaseQuantityNum == null ? 0 : purchaseQuantityNum;
tblTradeInventory.setTotalQuantity(purchaseQuantityNum);
//单价
tblTradeInventory.setUnitPrice(tblTradePurchaseInfo.getUnitPrice());
tblTradeInventory.setFirstStorageTime(new Date());
tblTradeInventory.setCs(tblTradePurchaseInfo.getSupplier());
tblTradeInventory.setTaxRate(tblTradePurchaseInfo.getTaxRate());
tblTradeInventory.setTotalPrice(BigDecimal.valueOf(rkNum * tblTradePurchaseInfo.getUnitPrice().doubleValue()));
//仓库、采购员
tblTradeInventoryService.save(tblTradeInventory);
//新增入库记录
TblTradeInventoryIn tblTradeInventoryIn = new TblTradeInventoryIn();
//入库单号
tblTradeInventoryIn.setWaybillNum("BZSIN" + DatePattern.PURE_DATETIME_FORMAT.format(new Date()));
tblTradeInventoryIn.setMaterialCode(wlbh);
tblTradeInventoryIn.setMaterialDescription(tblTradeMeterial.getMeterialReview());
tblTradeInventoryIn.setMeasurementUnit(tblTradeMeterial.getUnit());
tblTradeInventoryIn.setBrand(tblTradeMeterial.getBrand());
tblTradeInventoryIn.setActualInventory(rkNum);
tblTradeInventoryIn.setInventoryQuantity(rkNum);
tblTradeInventoryIn.setExpressDeliveryNumber(tblTradePurchaseInfo.getWlbh());
tblTradeInventoryIn.setSupplierName(tblTradePurchaseInfo.getSupplier());
tblTradeInventoryIn.setDeliveryContractNumber(hth);
tblTradeInventoryIn.setType("入库");
tblTradeInventoryInService.save(tblTradeInventoryIn);
}
}else {
TblTradeMeterial tblTradeMeterial = tradeMeterials.get(0);
//不为空,更新库存记录
//历史库存
TblTradeInventory tblTradeInventory = list.get(0);
//更新实际库存量
// 获取该物料的所有订单的已入库数量 减去 该物料所有的出库记录中出库数量
// 获取该物料的所有订单的已入库数量
String meterialCode = tblTradeMeterial.getMeterialCode();
Integer yrk = tblTradePurchaseInfoService.getYrkNumByMaterialCode(meterialCode);
yrk = yrk == null ? 0 : yrk;
Integer ck = tblTradeInventoryOutService.getOutboundQuantityByMaterialCode(meterialCode);
ck = ck == null ? 0 : ck;
Integer wrk =tblTradePurchaseInfoService.getWrkNum(meterialCode);
wrk = wrk == null ? 0 : wrk;
Integer purchaseQuantityNum = tblTradePurchaseInfoService.getPurchaseQuantityNumByMaterialCode(meterialCode);
tblTradeInventory.setTotalQuantity(purchaseQuantityNum - ck);
tblTradeInventory.setActualInventory(yrk-ck);
tblTradeInventory.setQuantityInTransit(wrk);
tblTradeInventoryService.updateById(tblTradeInventory);
//入库单号
TblTradeInventoryIn tblTradeInventoryIn = new TblTradeInventoryIn();
tblTradeInventoryIn.setWaybillNum("BZSIN" + DatePattern.PURE_DATETIME_FORMAT.format(new Date()));
tblTradeInventoryIn.setMaterialCode(wlbh);
tblTradeInventoryIn.setMaterialDescription(tblTradeMeterial.getMeterialReview());
tblTradeInventoryIn.setMeasurementUnit(tblTradeMeterial.getUnit());
tblTradeInventoryIn.setBrand(tblTradeMeterial.getBrand());
tblTradeInventoryIn.setActualInventory(rkNum);
tblTradeInventoryIn.setInventoryQuantity(rkNum);
tblTradeInventoryIn.setExpressDeliveryNumber(tblTradePurchaseInfo.getWlbh());
tblTradeInventoryIn.setSupplierName(tblTradePurchaseInfo.getSupplier());
tblTradeInventoryIn.setDeliveryContractNumber(hth);
tblTradeInventoryIn.setType("入库");
tblTradeInventoryInService.save(tblTradeInventoryIn);
}
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_trade_purchase_info-通过id删除")
@ApiOperation(value="tbl_trade_purchase_info-通过id删除", notes="tbl_trade_purchase_info-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblTradePurchaseInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_trade_purchase_info-批量删除")
@ApiOperation(value="tbl_trade_purchase_info-批量删除", notes="tbl_trade_purchase_info-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblTradePurchaseInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_trade_purchase_info-通过id查询")
@ApiOperation(value="tbl_trade_purchase_info-通过id查询", notes="tbl_trade_purchase_info-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblTradePurchaseInfo> queryById(@RequestParam(name="id",required=true) String id) {
TblTradePurchaseInfo tblTradePurchaseInfo = tblTradePurchaseInfoService.getById(id);
// tblTradePurchaseInfo.setBlpNum(tblTradePurchaseInfo.getBlpNum() == null ? 0 : tblTradePurchaseInfo.getBlpNum());
//根据合同订单号和物料编码 从入库记录获取已入库数量和剩余订单未入库数量
// QueryWrapper<TblTradeInventoryIn> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("delivery_contract_number", tblTradePurchaseInfo.getHth());
// queryWrapper.eq("material_code", tblTradePurchaseInfo.getWlbh());
// queryWrapper.eq("type", "入库");
// List<TblTradeInventoryIn> list = tblTradeInventoryInService.list(queryWrapper);
// if (!CollectionUtil.isEmpty(list)){
//已入库数量
// Integer rkNum = list.stream().map(TblTradeInventoryIn::getActualInventory).reduce(Integer::sum).get();
// tblTradePurchaseInfo.setYrkNum(tblTradePurchaseInfo.getYrkNum() == null ? 0 : tblTradePurchaseInfo.getYrkNum());
// tblTradePurchaseInfo.setWrkNum(tblTradePurchaseInfo.getWrkNum() == null ? 0 : tblTradePurchaseInfo.getWrkNum());
// }else {
// tblTradePurchaseInfo.setYrkNum(0);
// tblTradePurchaseInfo.setWrkNum(tblTradePurchaseInfo.getPurchaseQuantity());
// }
return Result.OK(tblTradePurchaseInfo);
}
/**
* 导出excel
*
* @param request
* @param tblTradePurchaseInfo
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblTradePurchaseInfo tblTradePurchaseInfo) {
return super.exportXls(request, tblTradePurchaseInfo, TblTradePurchaseInfo.class, "tbl_trade_purchase_info");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblTradePurchaseInfo.class);
}
@GetMapping("/pdf/base64")
public Result<String> getPdfBase64(@RequestParam String filePath) throws IOException {
// 读取PDF文件
byte[] pdfBytes = Files.readAllBytes(Paths.get(uploadpath + "\\" + filePath));
// 将PDF文件转换为Base64编码
String base64Pdf = Base64.getEncoder().encodeToString(pdfBytes);
return Result.ok(base64Pdf);
}
}
... ...
package org.jeecg.modules.erp.trade.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: tbl_trade_bid_material_details
* @Author: jeecg-boot
* @Date: 2025-03-14
* @Version: V1.0
*/
@Data
@TableName("tbl_trade_bid_material_details")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tbl_trade_bid_material_details对象", description="tbl_trade_bid_material_details")
public class TblTradeBidMaterialDetails implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**物料编码/工作令号*/
@Excel(name = "物料编码/工作令号", width = 15)
@ApiModelProperty(value = "物料编码/工作令号")
private String materialCode;
/**询价标书文件号*/
@Excel(name = "询价标书文件号", width = 15)
@ApiModelProperty(value = "询价标书文件号")
private String bidNum;
@Excel(name = "中标时间", width = 15)
@ApiModelProperty(value = "中标时间")
private String bidDate;
/**标段(包)名称*/
@Excel(name = "标段(包)名称", width = 15)
@ApiModelProperty(value = "标段(包)名称")
private String packageName;
/**srm 编码*/
@Excel(name = "srm编码", width = 15)
@ApiModelProperty(value = "srm编码")
private String srmCode;
/**物料长描述*/
@Excel(name = "物料长描述", width = 15)
@ApiModelProperty(value = "物料长描述")
private String materialDescription;
/**品牌*/
@Excel(name = "品牌", width = 15)
@ApiModelProperty(value = "品牌")
private String brand;
/**计量单位*/
@Excel(name = "计量单位", width = 15)
@ApiModelProperty(value = "计量单位")
private String measurementUnit;
/**需求数量*/
@Excel(name = "需求数量", width = 15)
@ApiModelProperty(value = "需求数量")
private Integer demandQuantity;
/**需求交货期*/
@Excel(name = "需求交货期", width = 15, format = "yyyy-MM-dd")
// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
// @DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "需求交货期")
private String requiredDeliveryTime;
/**需求单位*/
@Excel(name = "需求单位", width = 15)
@ApiModelProperty(value = "需求单位")
private String demandUnit;
/**是否中标
* 2:未中标
* 1:中标
*/
@Excel(name = "是否中标", width = 15)
@ApiModelProperty(value = "是否中标")
private Integer isBid;
/**
投标单价(不含税,元*/
@Excel(name = "投标单价(不含税,元", width = 15)
@ApiModelProperty(value = "投标单价(不含税,元")
private BigDecimal bidPrice;
/**中标单价(不含税,元)*/
@Excel(name = "中标单价(不含税,元)", width = 15)
@ApiModelProperty(value = "中标单价(不含税,元)")
private BigDecimal winningBidPrice;
/**单价差异
*/
@Excel(name = "单价差异", width = 15)
@ApiModelProperty(value = "单价差异")
private BigDecimal diffPrice;
/**税率(%)*/
@Excel(name = "税率(%)", width = 15)
@ApiModelProperty(value = "税率(%)")
private String taxRate;
/**中标总价(不含税,元)*/
@Excel(name = "中标总价(不含税,元)", width = 15)
@ApiModelProperty(value = "中标总价(不含税,元)")
private BigDecimal bidTotalPrice;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**库存数量*/
@ApiModelProperty(value = "库存数量")
@TableField(exist = false)
private Integer inventoryNum;
/**下单数量*/
@ApiModelProperty(value = "下单数量")
@TableField(exist = false)
private Integer orderQuantity;
}
... ...
package org.jeecg.modules.erp.trade.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: tbl_trade_contract_awarded
* @Author: jeecg-boot
* @Date: 2025-03-18
* @Version: V1.0
*/
@Data
@TableName("tbl_trade_contract_awarded")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tbl_trade_contract_awarded对象", description="tbl_trade_contract_awarded")
public class TblTradeContractAwarded implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**中标合同编号*/
@Excel(name = "中标合同编号", width = 15)
@ApiModelProperty(value = "中标合同编号")
private String contractNumber;
/**合同名称*/
@Excel(name = "合同名称", width = 15)
@ApiModelProperty(value = "合同名称")
private String contractName;
/**甲方*/
@Excel(name = "甲方", width = 15)
@ApiModelProperty(value = "甲方")
private String partyA;
/**乙方*/
@Excel(name = "乙方", width = 15)
@ApiModelProperty(value = "乙方")
private String partyB;
/**签订日期*/
@Excel(name = "签订日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "签订日期")
private Date dateSigning;
/**合同金额*/
@Excel(name = "合同金额", width = 15)
@ApiModelProperty(value = "合同金额")
private BigDecimal contractAmount;
/**附件*/
@Excel(name = "附件", width = 15)
@ApiModelProperty(value = "附件")
private String attachment;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
... ...
package org.jeecg.modules.erp.trade.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: tbl_trade_fpgl
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Data
@TableName("tbl_trade_fpgl")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tbl_trade_fpgl对象", description="tbl_trade_fpgl")
public class TblTradeFpgl implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**采买id*/
@Excel(name = "采买id", width = 15)
@ApiModelProperty(value = "采买id")
private String cmId;
/**发票号码*/
@Excel(name = "发票号码", width = 15)
@ApiModelProperty(value = "发票号码")
private String fphm;
/**发票金额*/
@Excel(name = "发票金额", width = 15)
@ApiModelProperty(value = "发票金额")
private BigDecimal fpje;
/**发票欠额*/
@Excel(name = "发票欠额", width = 15)
@ApiModelProperty(value = "发票欠额")
private BigDecimal fpqe;
/**附件发票*/
@Excel(name = "附件发票", width = 15)
@ApiModelProperty(value = "附件发票")
private String fj;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String bz;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
... ...
... ... @@ -36,6 +36,10 @@ public class TblTradeInventory implements Serializable {
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**id*/
@TableField(exist = false)
private java.lang.String purchaseId;
/**物料编码*/
@Excel(name = "物料编码", width = 15)
@ApiModelProperty(value = "物料编码")
... ...
package org.jeecg.modules.erp.trade.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: tbl_trade_pay_manage
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Data
@TableName("tbl_trade_pay_manage")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tbl_trade_pay_manage对象", description="tbl_trade_pay_manage")
public class TblTradePayManage implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**采买id*/
@Excel(name = "采买id", width = 15)
@ApiModelProperty(value = "采买id")
private String cmId;
/**供应商(TEL)*/
@Excel(name = "供应商(TEL)", width = 15)
@ApiModelProperty(value = "供应商(TEL)")
private String supplier;
/**合同号/订单号*/
@Excel(name = "合同号/订单号", width = 15)
@ApiModelProperty(value = "合同号/订单号")
private String hth;
/**合同金额(元)*/
@Excel(name = "合同金额(元)", width = 15)
@ApiModelProperty(value = "合同金额(元)")
private BigDecimal htje;
/**未付金额(元)*/
@Excel(name = "未付金额(元)", width = 15)
@ApiModelProperty(value = "未付金额(元)")
private BigDecimal wfje;
/**付款方式*/
@Excel(name = "付款方式", width = 15)
@ApiModelProperty(value = "付款方式")
private Integer fkfs;
/**付款金额(元)*/
@Excel(name = "付款金额(元)", width = 15)
@ApiModelProperty(value = "付款金额(元)")
private BigDecimal fsje;
/**付款时间*/
@Excel(name = "付款时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "付款时间")
private Date fksj;
/**状态*/
@Excel(name = "状态", width = 15)
@ApiModelProperty(value = "状态")
private Integer status;
/**createBy*/
@ApiModelProperty(value = "createBy")
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private Date updateTime;
}
... ...
package org.jeecg.modules.erp.trade.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: tbl_trade_purchase_info
* @Author: jeecg-boot
* @Date: 2025-03-19
* @Version: V1.0
*/
@Data
@TableName("tbl_trade_purchase_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="tbl_trade_purchase_info对象", description="tbl_trade_purchase_info")
public class TblTradePurchaseInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**供应商*/
@Excel(name = "供应商", width = 15)
@ApiModelProperty(value = "供应商")
private String supplier;
/**采购渠道*/
@Excel(name = "采购渠道", width = 15)
@ApiModelProperty(value = "采购渠道")
private String procurementChannels;
/**采购数量*/
@Excel(name = "采购数量", width = 15)
@ApiModelProperty(value = "采购数量")
private Integer purchaseQuantity;
/**单价(不含税,元)*/
@Excel(name = "单价(不含税,元)", width = 15)
@ApiModelProperty(value = "单价(不含税,元)")
private BigDecimal unitPrice;
/**税率*/
@Excel(name = "税率", width = 15)
@ApiModelProperty(value = "税率")
private String taxRate;
/**金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
private BigDecimal amount;
/**0:待审核 1:审核通过2:审核驳回*/
@Excel(name = "0:待审核 1:审核通过2:审核驳回", width = 15)
@ApiModelProperty(value = "0:待审核 1:审核通过2:审核驳回")
private Integer status;
/**物流单号*/
@Excel(name = "物流单号", width = 15)
@ApiModelProperty(value = "物流单号")
private String wldh;
/**合同附件*/
@Excel(name = "合同附件", width = 15)
@ApiModelProperty(value = "合同附件")
private String htfj;
/**合同号*/
@Excel(name = "合同号", width = 15)
@ApiModelProperty(value = "合同号")
private String hth;
/**物料编号*/
@Excel(name = "物料编号", width = 15)
@ApiModelProperty(value = "物料编号")
private String wlbh;
/**
* 询价标书文件号
*/
@Excel(name = "询价标书文件号", width = 15)
@ApiModelProperty(value = "询价标书文件号")
@TableField(exist = false)
private String bidNum;;
/**预计到厂时间*/
@Excel(name = "预计到厂时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "预计到厂时间")
private Date estimatedTime;
/**退换货评级 1:A 2:B 3:C*/
@Excel(name = "退换货评级 1:A 2:B 3:C", width = 15)
@ApiModelProperty(value = "退换货评级 1:A 2:B 3:C")
private Integer thhPj;
/**供应商评级 1:A 2:B 3:C*/
@Excel(name = "供应商评级 1:A 2:B 3:C", width = 15)
@ApiModelProperty(value = "供应商评级 1:A 2:B 3:C")
private Integer gysPj;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@Excel(name = "已入库数量", width = 15)
@ApiModelProperty(value = "已入库数量")
private Integer yrkNum;
@Excel(name = "未入库数量", width = 15)
@ApiModelProperty(value = "未入库数量")
private Integer wrkNum;
@Excel(name = "不良品数量", width = 15)
@ApiModelProperty(value = "不良品数量")
private Integer blpNum;
@Excel(name = "本次入库数量", width = 15)
@ApiModelProperty(value = "本次入库数量")
@TableField(exist = false)
private Integer rkNum;
/**数量*/
@Excel(name = "数量", width = 15)
@ApiModelProperty(value = "数量")
@TableField(exist = false)
private java.lang.String sl;
}
... ...
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 com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: tbl_trade_bid_material_details
* @Author: jeecg-boot
* @Date: 2025-03-14
* @Version: V1.0
*/
public interface TblTradeBidMaterialDetailsMapper extends BaseMapper<TblTradeBidMaterialDetails> {
IPage<Map<String, Object>> pageList(Page<TblTradeBidMaterialDetails> page, @Param("param")TblTradeBidMaterialDetails tradeBidMaterialDetails);
}
... ...
package org.jeecg.modules.erp.trade.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.erp.trade.entity.TblTradeContractAwarded;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: tbl_trade_contract_awarded
* @Author: jeecg-boot
* @Date: 2025-03-18
* @Version: V1.0
*/
public interface TblTradeContractAwardedMapper extends BaseMapper<TblTradeContractAwarded> {
}
... ...
package org.jeecg.modules.erp.trade.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.erp.trade.entity.TblTradeFpgl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: tbl_trade_fpgl
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
public interface TblTradeFpglMapper extends BaseMapper<TblTradeFpgl> {
}
... ...
... ... @@ -14,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TblTradeInventoryMapper extends BaseMapper<TblTradeInventory> {
Integer getInventoryNum(@Param("materialCode") String materialCode);
}
... ...
... ... @@ -14,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TblTradeInventoryOutMapper extends BaseMapper<TblTradeInventoryOut> {
Integer getOutboundQuantityByMaterialCode(@Param("materialCode")String meterialCode);
}
... ...
package org.jeecg.modules.erp.trade.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.erp.trade.entity.TblTradePayManage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: tbl_trade_pay_manage
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
public interface TblTradePayManageMapper extends BaseMapper<TblTradePayManage> {
}
... ...
package org.jeecg.modules.erp.trade.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.erp.trade.entity.TblTradePurchaseInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: tbl_trade_purchase_info
* @Author: jeecg-boot
* @Date: 2025-03-19
* @Version: V1.0
*/
public interface TblTradePurchaseInfoMapper extends BaseMapper<TblTradePurchaseInfo> {
Integer getPurchaseQuantityNumByMaterialCode(@Param("materialCode")String materialCode);
Integer getYrkNumByMaterialCode(@Param("materialCode")String meterialCode);
Integer getWrkNum(@Param("materialCode")String meterialCode);
}
... ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeBidMaterialDetailsMapper">
<select id="pageList" resultType="java.util.Map">
SELECT
bid_num as xjbswjh,
COUNT(material_code) AS ljbs,
COUNT(CASE WHEN bid_price IS NOT NULL THEN 1 END) AS tbbs,
COUNT(CASE WHEN is_bid = 1 THEN 1 END) AS zbbs,
ROUND(
COUNT(CASE WHEN is_bid = 1 THEN 1 END) * 100 / COUNT(*),
2
) AS zbl
FROM
tbl_trade_bid_material_details
WHERE 1=1
<if test="param.bidNum != '' and param.bidNum != null">
and bid_num LIKE CONCAT('%', #{param.bidNum}, '%')
</if>
GROUP BY
bid_num
ORDER BY
bid_num;
</select>
</mapper>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeContractAwardedMapper">
</mapper>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeFpglMapper">
</mapper>
\ No newline at end of file
... ...
... ... @@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeInventoryMapper">
<select id="getInventoryNum" resultType="java.lang.Integer">
select sum(actual_inventory) from tbl_trade_inventory where material_code = #{materialCode}
</select>
</mapper>
\ No newline at end of file
... ...
... ... @@ -2,4 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradeInventoryOutMapper">
<select id="getOutboundQuantityByMaterialCode" resultType="java.lang.Integer">
select sum(outbound_quantity) from tbl_trade_inventory_out where material_code = #{materialCode}
</select>
</mapper>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradePayManageMapper">
</mapper>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.erp.trade.mapper.TblTradePurchaseInfoMapper">
<select id="getPurchaseQuantityNumByMaterialCode" resultType="java.lang.Integer">
select sum(purchase_quantity) from tbl_trade_purchase_info where wlbh = #{materialCode}
and status = 3
</select>
<select id="getYrkNumByMaterialCode" resultType="java.lang.Integer">
select sum(yrk_num) from tbl_trade_purchase_info where wlbh = #{materialCode} and status = 3
</select>
<select id="getWrkNum" resultType="java.lang.Integer">
select sum(wrk_num) from tbl_trade_purchase_info where wlbh = #{materialCode} and status = 3
</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 com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* @Description: tbl_trade_bid_material_details
* @Author: jeecg-boot
* @Date: 2025-03-14
* @Version: V1.0
*/
public interface ITblTradeBidMaterialDetailsService extends IService<TblTradeBidMaterialDetails> {
IPage<Map<String, Object>> pageList(Page<TblTradeBidMaterialDetails> page, TblTradeBidMaterialDetails queryWrapper);
}
... ...
package org.jeecg.modules.erp.trade.service;
import org.jeecg.modules.erp.trade.entity.TblTradeContractAwarded;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: tbl_trade_contract_awarded
* @Author: jeecg-boot
* @Date: 2025-03-18
* @Version: V1.0
*/
public interface ITblTradeContractAwardedService extends IService<TblTradeContractAwarded> {
}
... ...
package org.jeecg.modules.erp.trade.service;
import org.jeecg.modules.erp.trade.entity.TblTradeFpgl;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: tbl_trade_fpgl
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
public interface ITblTradeFpglService extends IService<TblTradeFpgl> {
}
... ...
... ... @@ -11,4 +11,5 @@ import org.jeecg.modules.erp.trade.entity.TblTradeInventoryOut;
*/
public interface ITblTradeInventoryOutService extends IService<TblTradeInventoryOut> {
Integer getOutboundQuantityByMaterialCode(String meterialCode);
}
... ...
... ... @@ -11,4 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ITblTradeInventoryService extends IService<TblTradeInventory> {
Integer getInventoryNum(String materialCode);
}
... ...
package org.jeecg.modules.erp.trade.service;
import org.jeecg.modules.erp.trade.entity.TblTradePayManage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: tbl_trade_pay_manage
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
public interface ITblTradePayManageService extends IService<TblTradePayManage> {
}
... ...
package org.jeecg.modules.erp.trade.service;
import org.jeecg.modules.erp.trade.entity.TblTradePurchaseInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: tbl_trade_purchase_info
* @Author: jeecg-boot
* @Date: 2025-03-19
* @Version: V1.0
*/
public interface ITblTradePurchaseInfoService extends IService<TblTradePurchaseInfo> {
Integer getPurchaseQuantityNumByMaterialCode(String materialCode);
Integer getYrkNumByMaterialCode(String meterialCode);
Integer getWrkNum(String meterialCode);
}
... ...
package org.jeecg.modules.erp.trade.service.impl;
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.mapper.TblTradeBidMaterialDetailsMapper;
import org.jeecg.modules.erp.trade.service.ITblTradeBidMaterialDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Map;
/**
* @Description: tbl_trade_bid_material_details
* @Author: jeecg-boot
* @Date: 2025-03-14
* @Version: V1.0
*/
@Service
public class TblTradeBidMaterialDetailsServiceImpl extends ServiceImpl<TblTradeBidMaterialDetailsMapper, TblTradeBidMaterialDetails> implements ITblTradeBidMaterialDetailsService {
@Autowired
private TblTradeBidMaterialDetailsMapper tblTradeBidMaterialDetailsMapper;
@Override
public IPage<Map<String, Object>> pageList(Page<TblTradeBidMaterialDetails> page, TblTradeBidMaterialDetails tradeBidMaterialDetails) {
return tblTradeBidMaterialDetailsMapper.pageList(page,tradeBidMaterialDetails);
}
}
... ...
package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradeContractAwarded;
import org.jeecg.modules.erp.trade.mapper.TblTradeContractAwardedMapper;
import org.jeecg.modules.erp.trade.service.ITblTradeContractAwardedService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: tbl_trade_contract_awarded
* @Author: jeecg-boot
* @Date: 2025-03-18
* @Version: V1.0
*/
@Service
public class TblTradeContractAwardedServiceImpl extends ServiceImpl<TblTradeContractAwardedMapper, TblTradeContractAwarded> implements ITblTradeContractAwardedService {
}
... ...
package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradeFpgl;
import org.jeecg.modules.erp.trade.mapper.TblTradeFpglMapper;
import org.jeecg.modules.erp.trade.service.ITblTradeFpglService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: tbl_trade_fpgl
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Service
public class TblTradeFpglServiceImpl extends ServiceImpl<TblTradeFpglMapper, TblTradeFpgl> implements ITblTradeFpglService {
}
... ...
... ... @@ -3,6 +3,7 @@ package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradeInventoryOut;
import org.jeecg.modules.erp.trade.mapper.TblTradeInventoryOutMapper;
import org.jeecg.modules.erp.trade.service.ITblTradeInventoryOutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
... ... @@ -16,4 +17,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class TblTradeInventoryOutServiceImpl extends ServiceImpl<TblTradeInventoryOutMapper, TblTradeInventoryOut> implements ITblTradeInventoryOutService {
@Autowired
private TblTradeInventoryOutMapper tblTradeInventoryOutMapper;
@Override
public Integer getOutboundQuantityByMaterialCode(String meterialCode) {
return tblTradeInventoryOutMapper.getOutboundQuantityByMaterialCode(meterialCode);
}
}
... ...
... ... @@ -3,6 +3,7 @@ package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradeInventory;
import org.jeecg.modules.erp.trade.mapper.TblTradeInventoryMapper;
import org.jeecg.modules.erp.trade.service.ITblTradeInventoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
... ... @@ -16,4 +17,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class TblTradeInventoryServiceImpl extends ServiceImpl<TblTradeInventoryMapper, TblTradeInventory> implements ITblTradeInventoryService {
@Autowired
private TblTradeInventoryMapper tblTradeInventoryMapper;
@Override
public Integer getInventoryNum(String materialCode) {
return tblTradeInventoryMapper.getInventoryNum(materialCode);
}
}
... ...
package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradePayManage;
import org.jeecg.modules.erp.trade.mapper.TblTradePayManageMapper;
import org.jeecg.modules.erp.trade.service.ITblTradePayManageService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: tbl_trade_pay_manage
* @Author: jeecg-boot
* @Date: 2025-03-20
* @Version: V1.0
*/
@Service
public class TblTradePayManageServiceImpl extends ServiceImpl<TblTradePayManageMapper, TblTradePayManage> implements ITblTradePayManageService {
}
... ...
package org.jeecg.modules.erp.trade.service.impl;
import org.jeecg.modules.erp.trade.entity.TblTradePurchaseInfo;
import org.jeecg.modules.erp.trade.mapper.TblTradePurchaseInfoMapper;
import org.jeecg.modules.erp.trade.service.ITblTradePurchaseInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: tbl_trade_purchase_info
* @Author: jeecg-boot
* @Date: 2025-03-19
* @Version: V1.0
*/
@Service
public class TblTradePurchaseInfoServiceImpl extends ServiceImpl<TblTradePurchaseInfoMapper, TblTradePurchaseInfo> implements ITblTradePurchaseInfoService {
@Autowired
private TblTradePurchaseInfoMapper tblTradePurchaseInfoMapper;
@Override
public Integer getPurchaseQuantityNumByMaterialCode(String materialCode) {
return tblTradePurchaseInfoMapper.getPurchaseQuantityNumByMaterialCode(materialCode);
}
@Override
public Integer getYrkNumByMaterialCode(String meterialCode) {
return tblTradePurchaseInfoMapper.getYrkNumByMaterialCode(meterialCode);
}
@Override
public Integer getWrkNum(String meterialCode) {
return tblTradePurchaseInfoMapper.getWrkNum(meterialCode);
}
}
... ...