|
|
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import com.trade.purchase.order.enums.OrderTypeEnum;
|
|
|
import io.swagger.annotations.Api;
|
|
|
@@ -25,7 +24,6 @@ import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.purchase.sales.entity.Order;
|
|
|
import org.springblade.purchase.sales.entity.OrderItems;
|
|
|
import org.springblade.purchase.sales.excel.EnquiryExcel;
|
|
|
-import org.springblade.purchase.sales.excel.ExportOrderExcel;
|
|
|
import org.springblade.purchase.sales.service.*;
|
|
|
import org.springblade.purchase.sales.vo.OrderVO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
@@ -69,6 +67,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
Order detail = orderService.getOrderMessage(order);
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 出口询价
|
|
|
*/
|
|
|
@@ -83,6 +82,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
IPage<Order> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
|
|
|
return R.data(pages);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 自定义分页 出口询价
|
|
|
*/
|
|
|
@@ -91,52 +91,52 @@ public class ExportEnquiryController extends BladeController {
|
|
|
@ApiOperation(value = "分页", notes = "传入order")
|
|
|
public R<IPage<Order>> page(OrderVO order, Query query) {
|
|
|
LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(Order::getTenantId,SecureUtil.getTenantId());//租户id
|
|
|
- lambdaQueryWrapper.eq(Order::getIsDeleted,0);//订单是否有效
|
|
|
- lambdaQueryWrapper.eq(Order::getBillType,OrderTypeEnum.ENQUIRY.getType());//订单类型
|
|
|
- lambdaQueryWrapper.eq(Order::getTradeType,OrderTypeEnum.EXPORT.getType());//贸易类型
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
|
|
|
+ lambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());//租户id
|
|
|
+ lambdaQueryWrapper.eq(Order::getIsDeleted, 0);//订单是否有效
|
|
|
+ lambdaQueryWrapper.eq(Order::getBillType, OrderTypeEnum.ENQUIRY.getType());//订单类型
|
|
|
+ lambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.EXPORT.getType());//贸易类型
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());//订单号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());//客户id
|
|
|
lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStorageId()), Order::getStorageId, order.getStorageId());//仓库id
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()),Order::getBusinesDate,order.getContractEndDate());//合同日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()),Order::getSrcOrderNo,order.getSrcOrderNo());//订单来源
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getShippingAddress()),Order::getShippingAddress,order.getShippingAddress());//发货地址
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()),Order::getArrivalAddress,order.getArrivalAddress());//到货地址
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getActualDeliveryDateStart()),Order::getActualDeliveryDate,order.getActualDeliveryDateStart());//发货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getActualDeliveryDateEnd()),Order::getActualDeliveryDate,order.getActualDeliveryDateEnd());//发货日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDeliveryStartDate()),Order::getRequiredDeliveryDate,order.getDeliveryStartDate());//要求发货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getDeliveryEndDate()),Order::getRequiredDeliveryDate,order.getDeliveryEndDate());//要求发货日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getArrivalDateStart()),Order::getRequiredArrivalDate,order.getArrivalDateStart());//要求到货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getArrivalDateEnd()),Order::getRequiredArrivalDate,order.getArrivalDateEnd());//要求到货日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderStatus()),Order::getOrderStatus,order.getOrderStatus());//单据状态
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()),Order::getSysNo,order.getSysNo());//系统编号
|
|
|
- lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()),Order::getCreateUser,order.getCreateUser());//制单人
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getCreateTimeStart()),Order::getCreateTime,order.getCreateTimeStart());//制单日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getCreateTimeEnd()),Order::getCreateTime,order.getCreateTimeEnd());//制单日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDateValidityStart()),Order::getDateValidity,order.getDateValidityStart());//有效日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getDateValidityEnd()),Order::getDateValidity,order.getDateValidityEnd());//有效日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()),Order::getBusinesDate,order.getOrderStartDate());//订单日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()),Order::getBusinesDate,order.getOrderEndDate());//订单日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfLoad()),Order::getPortOfLoad,order.getPortOfLoad());//装货港
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfDestination()),Order::getPortOfDestination,order.getPortOfDestination());//目的港
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryStart()), Order::getPlannedDeliveryDate,order.getPlannedDeliveryStart());//计划交货开始
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryEnd()), Order::getPlannedDeliveryDate,order.getPlannedDeliveryEnd());//计划交货结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());//合同日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()), Order::getBusinesDate, order.getContractEndDate());//合同日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()), Order::getSrcOrderNo, order.getSrcOrderNo());//订单来源
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getShippingAddress()), Order::getShippingAddress, order.getShippingAddress());//发货地址
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()), Order::getArrivalAddress, order.getArrivalAddress());//到货地址
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getActualDeliveryDateStart()), Order::getActualDeliveryDate, order.getActualDeliveryDateStart());//发货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getActualDeliveryDateEnd()), Order::getActualDeliveryDate, order.getActualDeliveryDateEnd());//发货日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDeliveryStartDate()), Order::getRequiredDeliveryDate, order.getDeliveryStartDate());//要求发货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getDeliveryEndDate()), Order::getRequiredDeliveryDate, order.getDeliveryEndDate());//要求发货日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getArrivalDateStart()), Order::getRequiredArrivalDate, order.getArrivalDateStart());//要求到货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getArrivalDateEnd()), Order::getRequiredArrivalDate, order.getArrivalDateEnd());//要求到货日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderStatus()), Order::getOrderStatus, order.getOrderStatus());//单据状态
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()), Order::getSysNo, order.getSysNo());//系统编号
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()), Order::getCreateUser, order.getCreateUser());//制单人
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getCreateTimeStart()), Order::getCreateTime, order.getCreateTimeStart());//制单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getCreateTimeEnd()), Order::getCreateTime, order.getCreateTimeEnd());//制单日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDateValidityStart()), Order::getDateValidity, order.getDateValidityStart());//有效日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getDateValidityEnd()), Order::getDateValidity, order.getDateValidityEnd());//有效日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()), Order::getBusinesDate, order.getOrderStartDate());//订单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()), Order::getBusinesDate, order.getOrderEndDate());//订单日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfLoad()), Order::getPortOfLoad, order.getPortOfLoad());//装货港
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfDestination()), Order::getPortOfDestination, order.getPortOfDestination());//目的港
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryStart()), Order::getPlannedDeliveryDate, order.getPlannedDeliveryStart());//计划交货开始
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryEnd()), Order::getPlannedDeliveryDate, order.getPlannedDeliveryEnd());//计划交货结束
|
|
|
lambdaQueryWrapper.orderByDesc(Order::getId);
|
|
|
IPage<Order> page = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
- if (CollectionUtils.isNotEmpty(page.getRecords())){
|
|
|
+ if (CollectionUtils.isNotEmpty(page.getRecords())) {
|
|
|
|
|
|
String corpIds = "";//客户
|
|
|
String belongToCorpIds = "";//所属公司
|
|
|
String createUserIds = "";//制单人
|
|
|
- for (Order orders : page.getRecords()){
|
|
|
- if (ObjectUtil.isNotEmpty(orders.getCorpId())){
|
|
|
+ for (Order orders : page.getRecords()) {
|
|
|
+ if (ObjectUtil.isNotEmpty(orders.getCorpId())) {
|
|
|
belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
|
|
|
}
|
|
|
- if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
|
|
|
+ if (ObjectUtil.isNotEmpty(orders.getCreateUser())) {
|
|
|
createUserIds = createUserIds + orders.getCreateUser() + ",";
|
|
|
}
|
|
|
- if (ObjectUtil.isNotEmpty(orders.getCorpId())){
|
|
|
+ if (ObjectUtil.isNotEmpty(orders.getCorpId())) {
|
|
|
corpIds = corpIds + orders.getCorpId() + ",";
|
|
|
}
|
|
|
}
|
|
|
@@ -144,39 +144,39 @@ public class ExportEnquiryController extends BladeController {
|
|
|
List<User> createUserList = userClient.selectUserIds(createUserIds);
|
|
|
List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
|
|
|
|
|
|
- page.getRecords().stream().forEach(item ->{
|
|
|
- if (item.getCorpId() != null){
|
|
|
+ page.getRecords().stream().forEach(item -> {
|
|
|
+ if (item.getCorpId() != null) {
|
|
|
if (ObjectUtil.isNotEmpty(corpList)) {
|
|
|
item.setCorpsName(corpList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
|
|
|
}
|
|
|
}
|
|
|
- if (item.getBelongToCorpId() != null){
|
|
|
+ if (item.getBelongToCorpId() != null) {
|
|
|
if (ObjectUtil.isNotEmpty(belongToCorpList)) {
|
|
|
item.setBelongToCorpName(belongToCorpList.stream().filter(e -> e.getId().equals(item.getBelongToCorpId())).findFirst().get().getCname());
|
|
|
}
|
|
|
}
|
|
|
//制单人名字
|
|
|
- if(item.getCreateUser()!=null)
|
|
|
- {
|
|
|
+ if (item.getCreateUser() != null) {
|
|
|
if (ObjectUtil.isNotEmpty(createUserList)) {
|
|
|
item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getRealName());
|
|
|
}
|
|
|
}
|
|
|
//获取订单明细
|
|
|
List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));
|
|
|
- if (CollectionUtils.isNotEmpty(list)){
|
|
|
- item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//数量合计
|
|
|
- item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).multiply(item.getExchangeRate()));//销售金额
|
|
|
- item.setPurchaseAmount(list.stream().filter(e -> e.getPurchaseAmount() != null).reduce(BigDecimal.ZERO,(x,y) ->{
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));//数量合计
|
|
|
+ item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(item.getExchangeRate()));//销售金额
|
|
|
+ item.setPurchaseAmount(list.stream().filter(e -> e.getPurchaseAmount() != null).reduce(BigDecimal.ZERO, (x, y) -> {
|
|
|
return x.add((y.getPurchaseAmount().add(y.getPartsPrice())).multiply(y.getOrderQuantity()));
|
|
|
- },BigDecimal::add));//采购金额
|
|
|
- item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//发货数量
|
|
|
+ }, BigDecimal::add));//采购金额
|
|
|
+ item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));//发货数量
|
|
|
}
|
|
|
|
|
|
});
|
|
|
}
|
|
|
return R.data(page);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 新增 出口询价
|
|
|
*/
|
|
|
@@ -186,6 +186,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
public R save(@Valid @RequestBody Order order) {
|
|
|
return R.status(orderService.save(order));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 修改 出口询价
|
|
|
*/
|
|
|
@@ -193,19 +194,19 @@ public class ExportEnquiryController extends BladeController {
|
|
|
@ApiOperationSupport(order = 5)
|
|
|
@ApiOperation(value = "修改", notes = "传入order")
|
|
|
public R update(@Valid @RequestBody Order order) {
|
|
|
- if (order.getId() == null){
|
|
|
- return R.fail(500,"请选择要删除的数据");
|
|
|
+ if (order.getId() == null) {
|
|
|
+ return R.fail(500, "请选择要删除的数据");
|
|
|
}
|
|
|
//先查订单信息
|
|
|
Order orderMessage = orderService.getById(order.getId());
|
|
|
LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(Order::getSrcOrderNo,orderMessage.getSysNo());
|
|
|
- lambdaQueryWrapper.eq(Order::getTradeType,OrderTypeEnum.EXPORT.getType());
|
|
|
- lambdaQueryWrapper.eq(Order::getBillType,OrderTypeEnum.SALES.getType());
|
|
|
- lambdaQueryWrapper.eq(Order::getIsDeleted,0);
|
|
|
+ lambdaQueryWrapper.eq(Order::getSrcOrderNo, orderMessage.getSysNo());
|
|
|
+ lambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.EXPORT.getType());
|
|
|
+ lambdaQueryWrapper.eq(Order::getBillType, OrderTypeEnum.SALES.getType());
|
|
|
+ lambdaQueryWrapper.eq(Order::getIsDeleted, 0);
|
|
|
List<Order> orderList = orderService.list(lambdaQueryWrapper);
|
|
|
- if (CollectionUtils.isNotEmpty(orderList)){
|
|
|
- throw new SecurityException("报价单已生成销售单不能删除");
|
|
|
+ if (CollectionUtils.isNotEmpty(orderList)) {
|
|
|
+ throw new SecurityException("报价单已生成销售单不能删除");
|
|
|
}
|
|
|
order.setIsDeleted(1);
|
|
|
orderService.updateById(order);
|
|
|
@@ -217,6 +218,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
orderPartsService.updateByPid(order.getId());
|
|
|
return R.success("操作成功");
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 新增或修改 出口询价
|
|
|
*/
|
|
|
@@ -228,6 +230,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
order.setTradeType(OrderTypeEnum.EXPORT.getType());
|
|
|
return orderService.saveOrderMessage(order);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 删除 出口询价
|
|
|
*/
|
|
|
@@ -237,8 +240,10 @@ public class ExportEnquiryController extends BladeController {
|
|
|
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
|
|
|
return R.status(orderService.removeByIds(Func.toLongList(ids)));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 出口询价生成销售单
|
|
|
+ *
|
|
|
* @param order
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -246,15 +251,17 @@ public class ExportEnquiryController extends BladeController {
|
|
|
@ApiOperationSupport(order = 9)
|
|
|
@ApiOperation(value = "出口询价生成销售单")
|
|
|
public R createMarket(@Valid @RequestBody Order order) {
|
|
|
- if (order.getId() == null){
|
|
|
- return R.fail(500,"参数缺失");
|
|
|
+ if (order.getId() == null) {
|
|
|
+ return R.fail(500, "参数缺失");
|
|
|
}
|
|
|
order.setBillType(OrderTypeEnum.SALES.getType());
|
|
|
order.setTradeType(OrderTypeEnum.EXPORT.getType());
|
|
|
return R.data(orderService.quotation(order));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 确认询价单
|
|
|
+ *
|
|
|
* @param order
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -266,6 +273,7 @@ public class ExportEnquiryController extends BladeController {
|
|
|
order.setTradeType(OrderTypeEnum.EXPORT.getType());
|
|
|
return R.data(orderService.affirm(order));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 自定义分页 出口询价
|
|
|
*/
|
|
|
@@ -275,66 +283,66 @@ public class ExportEnquiryController extends BladeController {
|
|
|
public void export(OrderVO order, Query query, HttpServletResponse response) {
|
|
|
List<EnquiryExcel> enquiryExcels = new ArrayList<>();
|
|
|
LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(Order::getTenantId,SecureUtil.getTenantId());//租户id
|
|
|
- lambdaQueryWrapper.eq(Order::getIsDeleted,0);//订单是否有效
|
|
|
- lambdaQueryWrapper.eq(Order::getBillType,OrderTypeEnum.ENQUIRY.getType());//订单类型
|
|
|
- lambdaQueryWrapper.eq(Order::getTradeType,OrderTypeEnum.EXPORT.getType());//贸易类型
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
|
|
|
+ lambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());//租户id
|
|
|
+ lambdaQueryWrapper.eq(Order::getIsDeleted, 0);//订单是否有效
|
|
|
+ lambdaQueryWrapper.eq(Order::getBillType, OrderTypeEnum.ENQUIRY.getType());//订单类型
|
|
|
+ lambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.EXPORT.getType());//贸易类型
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());//订单号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());//客户id
|
|
|
lambdaQueryWrapper.eq(Func.isNotEmpty(order.getStorageId()), Order::getStorageId, order.getStorageId());//仓库id
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()),Order::getBusinesDate,order.getContractEndDate());//合同日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()),Order::getSrcOrderNo,order.getSrcOrderNo());//订单来源
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getShippingAddress()),Order::getShippingAddress,order.getShippingAddress());//发货地址
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()),Order::getArrivalAddress,order.getArrivalAddress());//到货地址
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getActualDeliveryDateStart()),Order::getActualDeliveryDate,order.getActualDeliveryDateStart());//发货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getActualDeliveryDateEnd()),Order::getActualDeliveryDate,order.getActualDeliveryDateEnd());//发货日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDeliveryStartDate()),Order::getRequiredDeliveryDate,order.getDeliveryStartDate());//要求发货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getDeliveryEndDate()),Order::getRequiredDeliveryDate,order.getDeliveryEndDate());//要求发货日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getArrivalDateStart()),Order::getRequiredArrivalDate,order.getArrivalDateStart());//要求到货日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getArrivalDateEnd()),Order::getRequiredArrivalDate,order.getArrivalDateEnd());//要求到货日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderStatus()),Order::getOrderStatus,order.getOrderStatus());//单据状态
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()),Order::getSysNo,order.getSysNo());//系统编号
|
|
|
- lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()),Order::getCreateUser,order.getCreateUser());//制单人
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getCreateTimeStart()),Order::getCreateTime,order.getCreateTimeStart());//制单日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getCreateTimeEnd()),Order::getCreateTime,order.getCreateTimeEnd());//制单日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDateValidityStart()),Order::getDateValidity,order.getDateValidityStart());//有效日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getDateValidityEnd()),Order::getDateValidity,order.getDateValidityEnd());//有效日期结束
|
|
|
- lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()),Order::getBusinesDate,order.getOrderStartDate());//订单日期开始
|
|
|
- lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()),Order::getBusinesDate,order.getOrderEndDate());//订单日期结束
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfLoad()),Order::getPortOfLoad,order.getPortOfLoad());//装货港
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfDestination()),Order::getPortOfDestination,order.getPortOfDestination());//目的港
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryStart()), Order::getPlannedDeliveryDate,order.getPlannedDeliveryStart());//计划交货开始
|
|
|
- lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryEnd()), Order::getPlannedDeliveryDate,order.getPlannedDeliveryEnd());//计划交货结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());//合同日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()), Order::getBusinesDate, order.getContractEndDate());//合同日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getSrcOrderNo()), Order::getSrcOrderNo, order.getSrcOrderNo());//订单来源
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getShippingAddress()), Order::getShippingAddress, order.getShippingAddress());//发货地址
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getArrivalAddress()), Order::getArrivalAddress, order.getArrivalAddress());//到货地址
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getActualDeliveryDateStart()), Order::getActualDeliveryDate, order.getActualDeliveryDateStart());//发货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getActualDeliveryDateEnd()), Order::getActualDeliveryDate, order.getActualDeliveryDateEnd());//发货日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDeliveryStartDate()), Order::getRequiredDeliveryDate, order.getDeliveryStartDate());//要求发货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getDeliveryEndDate()), Order::getRequiredDeliveryDate, order.getDeliveryEndDate());//要求发货日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getArrivalDateStart()), Order::getRequiredArrivalDate, order.getArrivalDateStart());//要求到货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getArrivalDateEnd()), Order::getRequiredArrivalDate, order.getArrivalDateEnd());//要求到货日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderStatus()), Order::getOrderStatus, order.getOrderStatus());//单据状态
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getSysNo()), Order::getSysNo, order.getSysNo());//系统编号
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(order.getCreateUser()), Order::getCreateUser, order.getCreateUser());//制单人
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getCreateTimeStart()), Order::getCreateTime, order.getCreateTimeStart());//制单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getCreateTimeEnd()), Order::getCreateTime, order.getCreateTimeEnd());//制单日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getDateValidityStart()), Order::getDateValidity, order.getDateValidityStart());//有效日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getDateValidityEnd()), Order::getDateValidity, order.getDateValidityEnd());//有效日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(order.getOrderStartDate()), Order::getBusinesDate, order.getOrderStartDate());//订单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(order.getOrderEndDate()), Order::getBusinesDate, order.getOrderEndDate());//订单日期结束
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfLoad()), Order::getPortOfLoad, order.getPortOfLoad());//装货港
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPortOfDestination()), Order::getPortOfDestination, order.getPortOfDestination());//目的港
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryStart()), Order::getPlannedDeliveryDate, order.getPlannedDeliveryStart());//计划交货开始
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(order.getPlannedDeliveryEnd()), Order::getPlannedDeliveryDate, order.getPlannedDeliveryEnd());//计划交货结束
|
|
|
lambdaQueryWrapper.orderByDesc(Order::getId);
|
|
|
IPage<Order> page = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
- if (CollectionUtils.isNotEmpty(page.getRecords())){
|
|
|
- page.getRecords().stream().forEach(item ->{
|
|
|
- if (item.getCorpId() != null){
|
|
|
+ if (CollectionUtils.isNotEmpty(page.getRecords())) {
|
|
|
+ page.getRecords().stream().forEach(item -> {
|
|
|
+ if (item.getCorpId() != null) {
|
|
|
R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());//客户
|
|
|
- if (corpMessage.isSuccess() && corpMessage.getData() != null){
|
|
|
+ if (corpMessage.isSuccess() && corpMessage.getData() != null) {
|
|
|
item.setCorpsName(corpMessage.getData().getCname());
|
|
|
}
|
|
|
}
|
|
|
- if (item.getBelongToCorpId() != null){
|
|
|
+ if (item.getBelongToCorpId() != null) {
|
|
|
R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getBelongToCorpId());//销售公司
|
|
|
- if (corpMessage.isSuccess() && corpMessage.getData() != null){
|
|
|
+ if (corpMessage.isSuccess() && corpMessage.getData() != null) {
|
|
|
item.setBelongToCorpName(corpMessage.getData().getCname());
|
|
|
}
|
|
|
}
|
|
|
R<User> user = userClient.userInfoById(item.getCreateUser());//制单人
|
|
|
- if (user.isSuccess() && user.getData() != null){
|
|
|
+ if (user.isSuccess() && user.getData() != null) {
|
|
|
item.setCreateUserName(user.getData().getName());
|
|
|
}
|
|
|
//获取订单明细
|
|
|
List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));
|
|
|
- if (CollectionUtils.isNotEmpty(list)){
|
|
|
- item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//数量合计
|
|
|
- item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).multiply(item.getExchangeRate()));//销售金额
|
|
|
- item.setPurchaseAmount(list.stream().filter(e -> e.getPurchaseAmount() != null).reduce(BigDecimal.ZERO,(x,y) ->{
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));//数量合计
|
|
|
+ item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).multiply(item.getExchangeRate()));//销售金额
|
|
|
+ item.setPurchaseAmount(list.stream().filter(e -> e.getPurchaseAmount() != null).reduce(BigDecimal.ZERO, (x, y) -> {
|
|
|
return x.add((y.getPurchaseAmount().add(y.getPartsPrice())).multiply(y.getOrderQuantity()));
|
|
|
- },BigDecimal::add));//采购金额
|
|
|
- item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//发货数量
|
|
|
+ }, BigDecimal::add));//采购金额
|
|
|
+ item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));//发货数量
|
|
|
}
|
|
|
|
|
|
});
|
|
|
@@ -342,19 +350,14 @@ public class ExportEnquiryController extends BladeController {
|
|
|
}
|
|
|
ExcelUtil.export(response, "报价单", "报价单", enquiryExcels, EnquiryExcel.class);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 查询 出口贸易 当月销售
|
|
|
*/
|
|
|
@GetMapping("/monthSales")
|
|
|
@ApiOperationSupport(order = 14)
|
|
|
@ApiOperation(value = "出口贸易首页 当月销售", notes = "出口贸易首页 当月销售")
|
|
|
- public R monthSales(OrderVO order){
|
|
|
- if (StringUtils.isBlank(order.getTradeType())){
|
|
|
- throw new SecurityException("缺少贸易类型");
|
|
|
- }
|
|
|
- if (StringUtils.isBlank(order.getBillType())){
|
|
|
- throw new SecurityException("缺少订单类型");
|
|
|
- }
|
|
|
+ public R monthSales(OrderVO order) {
|
|
|
return R.data(orderService.monthSales(order));
|
|
|
}
|
|
|
}
|