Browse Source

出口贸易修改

lazhaoqian 3 years ago
parent
commit
8133c0b4cf

+ 12 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -725,4 +725,16 @@ public class Order implements Serializable {
 	private Integer isLabel;
     //客户对应的分管员
 	private String chargeMember;
+	/**
+	 * 采购成本
+	 */
+	@ApiModelProperty(value = "采购成本")
+	@TableField(exist = false)
+	private BigDecimal procurementCost ;
+	/**
+	 * 采购报价
+	 */
+	@ApiModelProperty(value = "采购报价")
+	@TableField(exist = false)
+	private BigDecimal purchasePrice;
 }

+ 4 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java

@@ -396,6 +396,10 @@ public class OrderItems implements Serializable {
 	 */
 	@ApiModelProperty(value = "币别")
 	private String currency;
+	@ApiModelProperty(value = "采购成本")
+	private BigDecimal purchaseCost;
+	@ApiModelProperty(value = "商品信息")
+	private String productRemark;
 
 	@ApiModelProperty(value = "已收发票重量")
 	private BigDecimal  actualWeight;

+ 4 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java

@@ -361,6 +361,10 @@ public class OrderItems extends OrderBase {
 	 */
 	@ApiModelProperty(value = "币别")
 	private String currency;
+	@ApiModelProperty(value = "采购成本")
+	private BigDecimal purchaseCost;
+	@ApiModelProperty(value = "商品信息")
+	private String productRemark;
 
 	@ApiModelProperty(value = "已收发票重量")
 	private BigDecimal  actualWeight;

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java

@@ -131,7 +131,7 @@ public class OrderController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java

@@ -100,7 +100,7 @@ public class EntranceOrderController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportEnquiryController.java

@@ -90,7 +90,7 @@ public class ExportEnquiryController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址

+ 45 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -90,7 +90,7 @@ public class ExportOrderController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()),Order::getOrderNo,order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()),Order::getCorpId,order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址
@@ -279,4 +279,48 @@ public class ExportOrderController extends BladeController {
 		order.setTradeType(OrderTypeEnum.EXPORT.getType());
 		return R.data(orderService.createMarket(order));
 	}
+	/**
+	 * 自定义分页 销售或采购订单表
+	 */
+	@GetMapping("/profit")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "销售利润", notes = "传入order")
+	public R<IPage<Order>> profit(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.SALES.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.ge(Func.isNotEmpty(order.getContractStartDate()),Order::getBusinesDate,order.getContractStartDate());//合同日期开始
+		lambdaQueryWrapper.le(Func.isNotEmpty(order.getContractEndDate()),Order::getBusinesDate,order.getContractEndDate());//合同日期结束
+		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.getOrderRemark()),Order::getOrderRemark,order.getOrderRemark());//备注
+		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){
+					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());//客户
+					if (corpMessage.isSuccess() && corpMessage.getData() != null){
+						item.setCorpsName(corpMessage.getData().getCname());
+					}
+				}
+				//获取订单明细
+				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));
+				if (CollectionUtils.isNotEmpty(list)){
+					item.setAmount(list.stream().filter(e -> e.getAmount() != null).map(OrderItems::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));//销售金额
+					item.setProcurementCost(list.stream().reduce(BigDecimal.ZERO,(x,y) ->{
+						return x.add(y.getPurchaseCost().multiply(y.getOrderQuantity()));
+					},BigDecimal::add));//采购成本和
+					item.setPurchasePrice(list.stream().reduce(BigDecimal.ZERO,(x,y) ->{
+						return x.add(y.getPurchaseAmount().multiply(y.getOrderQuantity()));
+					},BigDecimal::add));//采购报价金额和
+				}
+			});
+		}
+		return R.data(page);
+	}
 }

+ 2 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderItemsMapper.xml

@@ -69,6 +69,8 @@
         <result column="item_margin" property="itemMargin"/>
         <result column="integral_multiples" property="integralMultiples"/>
         <result column="integral" property="integral"/>
+        <result column="purchase_cost" property="purchaseCost"/>
+        <result column="product_remark" property="productRemark"/>
     </resultMap>
 
 

+ 1 - 1
blade-service/trade-purchase/src/main/java/com/trade/purchase/enquiry/PurchaseEnquiry.java

@@ -102,7 +102,7 @@ public class PurchaseEnquiry  extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址

+ 1 - 1
blade-service/trade-purchase/src/main/java/com/trade/purchase/enquiry/ShippingEnquiry.java

@@ -98,7 +98,7 @@ public class ShippingEnquiry extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());//订单号
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId());//客户id
 		lambdaQueryWrapper.ge(Func.isNotEmpty(order.getContractStartDate()), Order::getBusinesDate, order.getContractStartDate());//合同日期开始
-		lambdaQueryWrapper.le(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());//到货地址

+ 2 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderItemsMapper.xml

@@ -60,6 +60,8 @@
         <result column="item_margin" property="itemMargin"/>
         <result column="integral_multiples" property="integralMultiples"/>
         <result column="integral" property="integral"/>
+        <result column="purchase_cost" property="purchaseCost"/>
+        <result column="product_remark" property="productRemark"/>
     </resultMap>