lazhaoqian 4 年之前
父節點
當前提交
f2aa5910f1

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

@@ -370,5 +370,25 @@ public class OrderItems implements Serializable {
 	 */
 	@ApiModelProperty(value = "配件价格描述")
 	private String partsPriceDescribe;
+	/**
+	 * FOB系数
+	 */
+	@ApiModelProperty(value = "FOB系数")
+	private BigDecimal coefficient;
+	/**
+	 * 汇率
+	 */
+	@ApiModelProperty(value = "汇率")
+	private BigDecimal exchangeRate;
+	/**
+	 * 美元价格
+	 */
+	@ApiModelProperty(value = "美元价格")
+	private BigDecimal greenback;
+	/**
+	 * 币别
+	 */
+	@ApiModelProperty(value = "币别")
+	private String currency;
 
 }

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

@@ -60,6 +60,10 @@
         <result column="corp_name" property="corpName"/>
         <result column="parts_describe" property="partsDescribe"/>
         <result column="parts_price_describe" property="partsPriceDescribe"/>
+        <result column="currency" property="currency"/>
+        <result column="greenback" property="greenback"/>
+        <result column="exchange_rate" property="exchangeRate"/>
+        <result column="coefficient" property="coefficient"/>
     </resultMap>
 
 

+ 3 - 6
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderItemsServiceImpl.java

@@ -95,9 +95,9 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
 				StockGoods stockGoods = new StockGoods();
 				stockGoods.setGoodsId(goods.getData().getId());
 				stockGoods.setItemType(goods.getData().getTypeno());
-				R<?> stock = stockGoodsClient.getStock(stockGoods);
-				if (stock.isSuccess()){
-					orderItems.setStorageQuantity((BigDecimal) stock.getData());
+				StockGoods stock = stockGoodsClient.getOneStock(stockGoods);
+				if (stock!= null){
+					orderItems.setStorageQuantity(stock.getSurplusRouteQuantity());
 				}else {
 					orderItems.setStorageQuantity(new BigDecimal(BigInteger.ZERO));
 				}
@@ -116,9 +116,6 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
 	 */
 	public List<OrderItems> saveOrderItemsMessage(List<OrderItems> list, Date date,Long Pid){
 			list.stream().forEach(item ->{
-				if (item.getAmount() == null || item.getAmount().compareTo(BigDecimal.ZERO)==0){
-					throw new RuntimeException("金额不能为空或0");
-				}
 				if (item.getId() == null){
 					item.setTenantId(SecureUtil.getTenantId());
 					item.setCreateUser(SecureUtil.getUserId());

+ 7 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -167,7 +167,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				},BigDecimal::add);//采购金额求和
 				BigDecimal amount = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);//金额求和
 				BigDecimal grossProfit = amount.subtract(reduce);//毛利润
-				BigDecimal grossProfitRate = (grossProfit.divide(amount,2)).multiply(new BigDecimal(100));
+				BigDecimal grossProfitRate = new BigDecimal(BigInteger.ZERO);
+				if (amount.compareTo(BigDecimal.ZERO) > 0){
+					grossProfit = (grossProfit.divide(amount,2)).multiply(new BigDecimal(100));
+				}
 				orderMessage.setGrossProfit(grossProfit);//毛利额
 				orderMessage.setGrossProfitRate(grossProfitRate);//毛利率
 			}else {
@@ -337,10 +340,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 						throw  new RuntimeException("生成订单编号失败");
 					}
-					selectById.setOrderNo((String) clientBillNo.getData());
-					if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())){   //进口的orgOrderNo 存的是采购订单号  出口国内存的是本身的订单号码
-						selectById.setOrgOrderNo((String) clientBillNo.getData());
+					if (!order.getBillType().equals(OrderTypeEnum.IMPORT.getType())){   //进口的orgOrderNo 存的是采购订单号  出口国内存的是来源的订单号码
+						selectById.setOrgOrderNo((selectById.getOrderNo()));
 					}
+					selectById.setOrderNo((String) clientBillNo.getData());
 				}
 				selectById.setSrcId(order.getId());
 				selectById.setCorpId(item.getCorpId());