Selaa lähdekoodia

发版修改采购财务销售问题点

1021934019@qq.com 3 vuotta sitten
vanhempi
commit
82d6e8ddb8

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

@@ -663,4 +663,8 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private List<Map<String,Object>> productionPlantList;
 
+	@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;
 
 
 }

+ 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("录入");

+ 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);
 	}