Forráskód Böngészése

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 4 éve
szülő
commit
e848faa31e

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

@@ -668,4 +668,8 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "FOB系数")
 	private BigDecimal coefficient;
 
+	@ApiModelProperty(value = "开户银行")
+	private String accountBank;
+	@ApiModelProperty(value = "预付保证金币别")
+	private String prepayCurrency;
 }

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

@@ -583,7 +583,10 @@ public class Order extends OrderBase {
 	@TableField(exist = false)
 	private BigDecimal actualQuantity;
 
-
+	@ApiModelProperty(value = "开户银行")
+	private String accountBank;
+	@ApiModelProperty(value = "预付保证金币别")
+	private String prepayCurrency;
 
 
 }

+ 8 - 4
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/receiving/ImportReCeVingController.java

@@ -100,6 +100,7 @@ public class ImportReCeVingController extends BladeController {
 		lambdaQueryWrapper.le(Func.isNotEmpty(delivery.getBusinessEndDate()),Delivery::getBusinessDate,delivery.getBusinessEndDate());//收货日期结束
 		lambdaQueryWrapper.eq(Func.isNotEmpty(delivery.getCreateUser()),Delivery::getCreateUser,delivery.getCreateUser());//制单人
 		lambdaQueryWrapper.eq(Func.isNotEmpty(delivery.getStorageId()),Delivery::getStorageId,delivery.getStorageId());//仓库
+		lambdaQueryWrapper.orderByDesc(Delivery::getCreateTime);
 		IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), lambdaQueryWrapper);
 		//解决回显字段问题
 		List<Delivery> records = pages.getRecords();
@@ -113,10 +114,13 @@ public class ImportReCeVingController extends BladeController {
 					e.setCorpsName(corps.getData().getCname());
 				}
 				//所属公司信息
-				R<CorpsDesc> company = corpsDescClient.getCorpMessage(e.getSalesCompany());
-				if(company.getData()!=null)
+				if(e.getSalesCompany()!=null)
 				{
-					e.setSalesCompanyName(company.getData().getCname());
+					R<CorpsDesc> company = corpsDescClient.getCorpMessage(e.getSalesCompany());
+					if(company.getData()!=null)
+					{
+						e.setSalesCompanyName(company.getData().getCname());
+					}
 				}
 				//仓库信息
 				StorageDesc storageDesc = iStorageClient.findById(e.getStorageId());
@@ -204,7 +208,7 @@ public class ImportReCeVingController extends BladeController {
 	@ApiOperation(value = "确认收货", notes = "传入Delivery及其子项")
 	public R comfire(@RequestBody Delivery delivery) {
 		deliveryService.comfire(delivery);
-	    return R.success("操作成功");
+	    return R.data(delivery);
 	}
 
 }

+ 22 - 7
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -130,12 +130,15 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 				deliveryItems.setUpdateUser(SecureUtil.getUserId());
 				baseMapper.updateById(deliveryItems);
 			}
+			StockGoods stockGoods=null;
 			StockGoodsVO stock = this.getStock(delivery.getTradeType(), delivery.getCorpId(), delivery.getStorageId(), deliveryItems);
 			if (stock != null && delivery.getDeliveryType() == DeliveryEnum.DELIVER.getType()){//发货
 				//更新库存账
-				this.deliverGoods(delivery.getTradeType(),stock.getId(),deliveryItems);
+				stockGoods = this.deliverGoods(delivery.getTradeType(), stock.getId(), deliveryItems);
+
 			}else if (stock != null && delivery.getDeliveryType() == DeliveryEnum.REPEAL.getType()){ //撤销发货
-				this.revocationDeliverGoods(delivery.getTradeType(),stock.getId(),deliveryItems);
+				stockGoods = this.revocationDeliverGoods(delivery.getTradeType(), stock.getId(), deliveryItems);
+
 			}else {
 				//新增库存账
 				throw  new RuntimeException("库存为空");
@@ -145,6 +148,9 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 			if (!actualQuantity.isSuccess()){
 				throw new RuntimeException("更新订单发货数量出错," + actualQuantity.getMsg());
 			}
+			//更新发货明细库存字段
+			deliveryItems.setInventoryNumber(stockGoods.getSurplusRouteQuantity());
+			baseMapper.updateById(deliveryItems);
 		}
 		return deliveryItemsList;
 	}
@@ -188,7 +194,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * @param stockId 库存账id
 	 * @param deliveryItems 货物明细信息
 	 */
-	public void deliverGoods(String tradeType,Long stockId,DeliveryItems deliveryItems){
+	public StockGoods deliverGoods(String tradeType,Long stockId,DeliveryItems deliveryItems){
 		//查询库存账
 		R<StockGoods> stockById = stockGoodsClient.getStockById(stockId);
 		if (!stockById.isSuccess()){
@@ -231,6 +237,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		if (!updateStock.isSuccess()){
 			throw new RuntimeException("更新库存总账失败");
 		}
+		return stockGoods;
 	}
 	/**
 	 * 撤销发货
@@ -238,7 +245,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * @param stockId 库存账id
 	 * @param deliveryItems 货物明细信息
 	 */
-	public void revocationDeliverGoods(String tradeType,Long stockId,DeliveryItems deliveryItems){
+	public StockGoods revocationDeliverGoods(String tradeType,Long stockId,DeliveryItems deliveryItems){
 		//查询库存账
 		R<StockGoods> stockById = stockGoodsClient.getStockById(stockId);
 		if (!stockById.isSuccess()){
@@ -278,6 +285,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		if (!updateStock.isSuccess()){
 			throw new RuntimeException("更新库存总账失败");
 		}
+		return stockGoods;
 	}
 
 	/**
@@ -286,7 +294,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * @param stockId 库存账id
 	 * @param deliveryItems 货物明细信息
 	 */
-	 public void cancelStock(String tradeType,Long stockId,DeliveryItems deliveryItems)
+	 public StockGoods cancelStock(String tradeType,Long stockId,DeliveryItems deliveryItems)
 	 {
 		 //查询库存账
 		 R<StockGoods> stockById = stockGoodsClient.getStockById(stockId);
@@ -327,6 +335,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		 if (!updateStock.isSuccess()){
 			 throw new RuntimeException("更新库存总账失败");
 		 }
+		 return stockGoods;
 	 }
 
 
@@ -337,7 +346,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * @param stockId 库存账id
 	 * @param deliveryItems 货物明细信息
 	 */
-	public void receiving(String tradeType,Long stockId,DeliveryItems deliveryItems){
+	public StockGoods receiving(String tradeType,Long stockId,DeliveryItems deliveryItems){
 		//查询库存账
 		R<StockGoods> stockById = stockGoodsClient.getStockById(stockId);
 		if (!stockById.isSuccess()){
@@ -362,6 +371,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		if (!updateStock.isSuccess()){
 			throw new RuntimeException("更新库存总账失败");
 		}
+		return stockGoods;
 	}
 
 	/**
@@ -371,7 +381,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * @param storageId 仓库id
 	 * @param deliveryItems 明细信息
 	 */
-	public void saveStock(String tradeType,Long corpId,Long storageId,DeliveryItems deliveryItems){
+	public StockGoods saveStock(String tradeType,Long corpId,Long storageId,DeliveryItems deliveryItems){
 		StockGoods stockGoods = new StockGoods();
 		stockGoods.setGoodsId(deliveryItems.getItemId());//商品id
 
@@ -416,5 +426,10 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		stockGoods.setTenantId(SecureUtil.getTenantId());
 		stockGoods.setCreateTime(new Date());
 		R saveStock = stockGoodsClient.saveStock(stockGoods);
+		if(!saveStock.isSuccess())
+		{
+			throw new SecurityException("插入库存失败");
+		}
+		return stockGoods;
 	}
 }

+ 13 - 3
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -272,12 +272,16 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				//新增库存单
 				if(stock==null)
 				{
-					iDeliveryItemsService.saveStock(delivery.getTradeType(),delivery.getCorpId(),delivery.getStorageId(),e);
+					StockGoods stockGoods = iDeliveryItemsService.saveStock(delivery.getTradeType(), delivery.getCorpId(), delivery.getStorageId(), e);
+					//更新收货单明细库存
+					e.setInventoryNumber(stockGoods.getSurplusRouteQuantity());
 				}
 				//修改库存单
 				else if(stock!=null)
 				{
-					iDeliveryItemsService.receiving(delivery.getTradeType(),stock.getId(),e);
+					StockGoods receiving = iDeliveryItemsService.receiving(delivery.getTradeType(), stock.getId(), e);
+					//更新收货单明细库存
+					e.setInventoryNumber(receiving.getSurplusRouteQuantity());
 				}
                 //更新item已发数量
 				R r = iOrderItemsClient.updateActualQuantity(e.getSrcId(), inventoryNumber, 1);
@@ -285,6 +289,9 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				{
 					throw new SecurityException("更新采购明细失败:"+r.getMsg());
 				}
+				//更新库存内容
+				iDeliveryItemsService.updateById(e);
+
 			});
 		//更改收货主表状态
 		delivery.setDeliveryStatus("已收货");
@@ -340,7 +347,10 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			 }
 			 StockGoods stock=stockGoodsClient.getOneStock(model);
 			 //更新stock库存数量
-			 iDeliveryItemsService.cancelStock(delivery.getTradeType(),stock.getId(),e);
+			 StockGoods stockGoods = iDeliveryItemsService.cancelStock(delivery.getTradeType(), stock.getId(), e);
+			 e.setInventoryNumber(stockGoods.getSurplusRouteQuantity());
+			 //更新库存内容
+			 iDeliveryItemsService.updateById(e);
 		 });
 		//更新收货单状态为:录入
 		delivery.setDeliveryStatus("录入");

+ 2 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderItemsClient.java

@@ -38,6 +38,8 @@ public class OrderItemsClient implements IOrderItemsClient{
 		items.setId(orderItemsId);
 		if (deliveryType == DeliveryEnum.DELIVER.getType()){ //发货
 			log.info("已发货数量为:==>"+actualQuantity);
+			log.info("订货数量:==>"+orderItems.getOrderQuantity());
+			log.info("已收数量:==>"+orderItems.getActualQuantity());
 			log.info("订货数量-已收数量:==>"+orderItems.getOrderQuantity().subtract(orderItems.getActualQuantity()));
 
 			//判断 已发货数量 或者 已收货数量 ,不能大于(订货数量-已收数量)

+ 15 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -230,6 +230,21 @@ public class SettlementController extends BladeController {
           return R.data(settlementService.apply(dto.getItemsList(),dto.getBillType()));
 	}
 
+	/**
+	 * 申请货款(申请/付费)
+	 * */
+	@PostMapping("/applyList")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "批量财务申请", notes = "传入Finance_items")
+	public R applyList(@RequestBody ApplyDTO dto)
+	{
+		if(CollectionUtils.isEmpty(dto.getItemsList()))
+		{
+			throw new SecurityException("传入数据不能为空");
+		}
+		return R.data(settlementService.apply(dto.getItemsList(),dto.getBillType()));
+	}
+
 
 	/**
 	 * 付款申请-清核

+ 2 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/service/ISettlementService.java

@@ -48,6 +48,8 @@ public interface ISettlementService extends IService<Settlement> {
 
 	Settlement apply(List<Items> itemsList, String billType);
 
+	void applyList(List<Items> itemsList, String billType);
+
 	void check(Settlement settlement);
 
 	void paymentApply(List<Items> itemsList, String billType);

+ 29 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -238,6 +238,34 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 	@Override
 	@Transactional
+	public void applyList(List<Items> itemsList, String billType)
+	{
+		itemsList.forEach(e->{
+
+			Settlement settlement=new Settlement();
+			settlement.setBillType(billType);
+			settlement.setCorpId(e.getCorpId());
+			settlement.setSrcOrderno(e.getSrcOrderno());
+			//todo 系统编号暂时按时间戳, 后续按正式
+			settlement.setSysNo(String.valueOf(System.currentTimeMillis()));
+			settlement.setCreateTime(new Date());
+			settlement.setAmount(e.getAmount());
+			settlement.setTenantId(AuthUtil.getTenantId());
+			settlement.setCreateUser(AuthUtil.getUserId());
+			settlement.setStatus(0);
+			settlement.setCheckStatus("未请核");
+			baseMapper.insert(settlement);
+
+			e.setPid(settlement.getId());
+			e.setCreateTime(new Date());
+			e.setTenantId(AuthUtil.getTenantId());
+			e.setCreateUser(AuthUtil.getUserId());
+			itemsMapper.insert(e);
+		});
+	}
+
+	@Override
+	@Transactional
 	public void check(Settlement settlement)
 	{
           //判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
@@ -400,6 +428,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 			});
 		}
+		settlement.setFinanceStatus("待结算");
 		settlement.setCheckStatus("请核成功");
 		baseMapper.updateById(settlement);
 	}

+ 2 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/component/impl/DefaultOrderSaveImpl.java

@@ -100,13 +100,13 @@ public class DefaultOrderSaveImpl implements IOrderSave {
 			}
 			order.setSysNo((String) billNo.getData());
 			R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(order.getCorpId());
-			//生成订单号
+		/*	//生成订单号
 			R clientBillNo = serialClient.getBillNo(corpMessage.getData().getCode(),order.getTradeType());
 			if (!clientBillNo.isSuccess()){
 				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 				throw new SecurityException("生成订单号失败");
 			}
-			order.setOrderNo((String) clientBillNo.getData());
+			order.setOrderNo((String) clientBillNo.getData());*/
 			//判断贸易类型
 			if(order.getTradeType().equals("JK"))
 			{