纪新园 3 лет назад
Родитель
Сommit
8ffd0106b3
15 измененных файлов с 174 добавлено и 78 удалено
  1. 6 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/vo/OrderVO.java
  2. 3 0
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java
  3. 1 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescPartsController.java
  4. 49 52
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java
  5. 2 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/IOrderService.java
  6. 52 13
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  7. 13 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java
  8. 2 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.java
  9. 3 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.xml
  10. 1 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.java
  11. 3 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.xml
  12. 2 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/IAccService.java
  13. 6 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/ISettlementService.java
  14. 5 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/AccServiceImpl.java
  15. 26 13
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

+ 6 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/vo/OrderVO.java

@@ -156,5 +156,11 @@ public class OrderVO extends Order {
 	@TableField(exist = false)
 	private String typeSort;
 
+	/**
+	 * modular
+	 */
+	@TableField(exist = false)
+	private String modular;
+
 
 }

+ 3 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java

@@ -104,4 +104,7 @@ public interface IFinanceClient {
 	@GetMapping("/settlement/selectListBySrcId")
 	List<Settlement> selectListBySrcId(@RequestParam(value = "srcId") Long srcId);
 
+	@GetMapping("/settlement/deleteBySrcId")
+	R deleteBySrcId(@RequestParam(value = "srcId") Long srcId);
+
 }

+ 1 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescPartsController.java

@@ -137,6 +137,7 @@ public class GoodsDescPartsController extends BladeController {
 			BigDecimal actualQuantity = listR.getData().stream().map(OrderItems::getActualQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 			goodsDescDto.setActualQuantity(actualQuantity.intValue());
 		}
+		goodsDescDto.setPrice(goodsDescDto.getStandardPrice());
 		return R.data(goodsDescDto);
 	}
 

+ 49 - 52
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/partsapp/AppPartsController.java

@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.entity.StorageDesc;
@@ -36,6 +37,7 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.service.IOrderItemsService;
@@ -66,6 +68,7 @@ public class AppPartsController extends BladeController {
 	private final ICorpsDescClient corpsDescClient;//获取客户信息
 	private final IUserClient userClient;//获取用户信息
 	private IStorageClient iStorageClient;//库区信息
+	private final IFinanceClient financeClient;
 
 	/**
 	 * 获得app首页营业收入和采购支出(配件系统)
@@ -108,28 +111,16 @@ public class AppPartsController extends BladeController {
 		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.like(Func.isNotEmpty(order.getOrderRemark()), Order::getOrderRemark, order.getOrderRemark());//备注
+		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getBillType()),Order::getBillType,order.getBillType());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(order.getTradeType()),Order::getTradeType,order.getTradeType());
+		if ("1".equals(order.getModular())){
+			lambdaQueryWrapper.apply("debit_amount > settlment_amount");
+		}
 		if ("0".equals(order.getSort())) {
 			if ("1".equals(order.getTypeSort())) {
 				lambdaQueryWrapper.orderByAsc(Order::getCorpId);
@@ -161,8 +152,6 @@ public class AppPartsController extends BladeController {
 
 		String corpIds = "";//客户拼接
 		String belongToCorpIds = "";//销售公司
-		String productionPlantIds = "";//生产工厂
-		String createUserIds = "";//创建人
 		String storageIds = "";//仓库
 
 		for (Order orders : page.getRecords()) {
@@ -172,12 +161,6 @@ public class AppPartsController extends BladeController {
 			if (ObjectUtil.isNotEmpty(orders.getCorpId())) {
 				belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
 			}
-			if (ObjectUtil.isNotEmpty(orders.getCorpId())) {
-				productionPlantIds = productionPlantIds + orders.getProductionPlant() + ",";
-			}
-			if (ObjectUtil.isNotEmpty(orders.getCreateUser())) {
-				createUserIds = createUserIds + orders.getCreateUser() + ",";
-			}
 			if (ObjectUtil.isNotEmpty(orders.getStorageId())) {
 				storageIds = storageIds + orders.getStorageId() + ",";
 			}
@@ -185,8 +168,6 @@ public class AppPartsController extends BladeController {
 
 		List<CorpsDesc> corpsDescList = corpsDescClient.selectByCorpIds(corpIds);
 		List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
-		List<CorpsDesc> productionPlantList = corpsDescClient.selectByCorpIds(productionPlantIds);
-		List<User> createUserList = userClient.selectUserIds(createUserIds);
 		List<StorageDesc> storageList = iStorageClient.selectStorageIds(storageIds);
 
 		if (CollectionUtils.isNotEmpty(page.getRecords())) {
@@ -197,7 +178,6 @@ public class AppPartsController extends BladeController {
 						if (ObjectUtils.isNotNull(corpsDesc)) {
 							item.setCorpsName(corpsDesc.getCname());
 						}
-//						item.setCorpsName(corpsDescList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getBelongToCorpId() != null) {
@@ -206,26 +186,6 @@ public class AppPartsController extends BladeController {
 						if (ObjectUtils.isNotNull(corpsDesc)) {
 							item.setBelongToCorpName(corpsDesc.getCname());
 						}
-//						item.setBelongToCorpName(belongToCorpList.stream().filter(e -> e.getId().equals(item.getBelongToCorpId())).findFirst().get().getCname());
-					}
-				}
-				if (item.getProductionPlant() != null) {
-					if (ObjectUtil.isNotEmpty(productionPlantList)) {
-						CorpsDesc corpsDesc = productionPlantList.stream().filter(d -> d.getId().equals(item.getProductionPlant())).findFirst().orElse(null);
-						if (ObjectUtils.isNotNull(corpsDesc)) {
-							item.setProductionPlantName(corpsDesc.getCname());
-						}
-//						item.setProductionPlantName(productionPlantList.stream().filter(e -> e.getId().equals(item.getProductionPlant())).findFirst().get().getCname());
-					}
-				}
-				//制单人
-				if (item.getCreateUser() != null) {
-					if (ObjectUtil.isNotEmpty(createUserList)) {
-						User user = createUserList.stream().filter(d -> d.getId().equals(item.getCreateUser())).findFirst().orElse(null);
-						if (ObjectUtils.isNotNull(user)) {
-							item.setCreateUserName(user.getName());
-						}
-//						item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
 					}
 				}
 				//仓库信息
@@ -235,18 +195,16 @@ public class AppPartsController extends BladeController {
 						if (ObjectUtils.isNotNull(storageDesc)) {
 							item.setStorageName(storageDesc.getCname());
 						}
-//						item.setStorageName((storageList.stream().filter(e -> e.getId().equals(item.getStorageId()))).findFirst().get().getCname());
 					}
 				}
 				//获取订单明细
-				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));
+				/*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));//销售金额
 					item.setPurchaseAmount(list.stream().map(OrderItems::getPurchaseAmount).reduce(BigDecimal.ZERO, BigDecimal::add));//采购金额
 					item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));//发货数量
-					item.setActualWeight(list.stream().map(OrderItems::getActualWeight).reduce(BigDecimal.ZERO, BigDecimal::add));//已发重量(吨)
-				}
+				}*/
 			});
 		}
 		return R.data(page);
@@ -283,4 +241,43 @@ public class AppPartsController extends BladeController {
 		return orderService.remind(order);
 	}
 
+	/**
+	 * 删除明细
+	 */
+	@PostMapping("/removeItem")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "删除", notes = "传入id")
+	public R removeItem(@RequestParam("itemId") Long id) {
+		OrderItems orderItems = orderItemsService.getById(id);
+		Order order = orderService.getById(orderItems.getPid());
+		order.setStorageAmount(order.getStorageAmount().subtract(orderItems.getStorageAmount()));
+		order.setStorageQuantity(order.getStorageQuantity().subtract(orderItems.getStorageInQuantity()));
+		orderService.updateById(order);
+		return R.data(orderItemsService.removeById(id));
+	}
+
+	/**
+	 * 删除 销售或采购订单表
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入id")
+	public R remove( @RequestParam Long id) {
+		if (id == null){
+			throw new RuntimeException("缺少必要参数");
+		}
+		financeClient.deleteBySrcId(id);
+		return R.data(orderService.removeById(id));
+	}
+
+	/**
+	 * 复制单据
+	 */
+	@PostMapping("/copyOrder")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "复制单据", notes = "传入order")
+	public R copyOrder(@Valid @RequestBody Order order) {
+		return orderService.copyOrder(order);
+	}
+
 }

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

@@ -336,4 +336,6 @@ public interface IOrderService extends IService<Order> {
 	 * @return
 	 */
 	R revoke(Order order);
+
+    R copyOrder(Order order);
 }

+ 52 - 13
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -70,7 +70,6 @@ import java.math.BigInteger;
 import java.math.MathContext;
 import java.math.RoundingMode;
 import java.text.DateFormat;
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -502,10 +501,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			order.setUpdateUser(SecureUtil.getUserId());
 			baseMapper.updateById(order);
 		}
-		if(ObjectUtils.isNotNull(order.getCorpId())){
+		if (ObjectUtils.isNotNull(order.getCorpId())) {
 			CorpsDesc corpsDesc = corpsDescClient.getCorpId(order.getCorpId());
-			if (ObjectUtils.isNotNull(corpsDesc)){
-				if (ObjectUtils.isNotNull(corpsDesc.getCorpsAddrList()) && corpsDesc.getCorpsAddrList().size()>0){
+			if (ObjectUtils.isNotNull(corpsDesc)) {
+				if (ObjectUtils.isNotNull(corpsDesc.getCorpsAddrList()) && corpsDesc.getCorpsAddrList().size() > 0) {
 					order.setArrivalAddress(corpsDesc.getCorpsAddrList().get(0).getDetailedAddress());
 				}
 			}
@@ -527,6 +526,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		baseMapper.updateById(order);
 		if (ObjectUtils.isNotNull(order.getCurrentAmount()) && !order.getCurrentAmount().equals(new BigDecimal(0))) {
 			List<Settlement> settlementList = new ArrayList<>();
+			if (ObjectUtils.isNotNull(order.getSettlementList()) && order.getSettlementList().size() > 0){
+				settlementList = order.getSettlementList();
+			}
 			Settlement settlement = new Settlement();
 			settlement.setDc("d");
 			settlement.setSettlementDate(new Date());
@@ -1973,17 +1975,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		}
 		DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
 		try {
-			if (ObjectUtils.isNotNull(orderMessage.getRequiredDeliveryDate())){
+			if (ObjectUtils.isNotNull(orderMessage.getRequiredDeliveryDate())) {
 				String datestr = format.format(new Date());
 				Date date = format.parse(datestr);
 				orderMessage.setRequiredDeliveryDate(date);
 			}
-			if (ObjectUtils.isNotNull(orderMessage.getAdvanceCollectionDate())){
+			if (ObjectUtils.isNotNull(orderMessage.getAdvanceCollectionDate())) {
 				String datestr = format.format(new Date());
 				Date date = format.parse(datestr);
 				orderMessage.setAdvanceCollectionDate(date);
 			}
-		}catch (Exception e){
+		} catch (Exception e) {
 			System.err.println(e);
 		}
 
@@ -2137,6 +2139,42 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	@Override
+	public R copyOrder(Order order) {
+		// 订单时间
+		Date date = new Date();
+		order.setId(null);
+		order.setSysNo("");
+		order.setOrderNo("");
+		order.setOrgOrderNo("");
+		order.setTenantId(SecureUtil.getTenantId());
+		order.setCreateTime(date);
+		order.setCreateUser(SecureUtil.getUserId());
+		if (order.getBusinesDate() == null) {
+			order.setBusinesDate(date);
+		}
+		if (ObjectUtils.isNotNull(order.getCorpId())) {
+			CorpsDesc corpsDesc = corpsDescClient.getCorpId(order.getCorpId());
+			if (ObjectUtils.isNotNull(corpsDesc)) {
+				if (ObjectUtils.isNotNull(corpsDesc.getCorpsAddrList()) && corpsDesc.getCorpsAddrList().size() > 0) {
+					order.setArrivalAddress(corpsDesc.getCorpsAddrList().get(0).getDetailedAddress());
+				}
+			}
+		}
+		// 保存订单明细
+		if (CollectionUtils.isNotEmpty(order.getOrderItemsList())) {
+			for (OrderItems orderItems : order.getOrderItemsList()) {
+				GoodsDesc goodsDesc = goodsDescClient.getGoodsDescDetail(orderItems.getItemId());
+				if (ObjectUtils.isNotNull(goodsDesc)) {
+					orderItems.setPrice(goodsDesc.getStandardPrice());
+				}
+			}
+			order.setOrderItemsList(order.getOrderItemsList());
+		}
+		order.setSettlementList(new ArrayList<>());
+		return R.data(order);
+	}
+
+	@Override
 	public MonthSales monthSales(OrderVO order) {
 		MonthSales monthSales = new MonthSales();
 		if (AuthUtil.getTenantId().equals("673511")) {
@@ -2637,7 +2675,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				price = price.add(amount);
 
 				applyDTO.setSrcParentId(order.getId());
-				applyDTO.setSrcSysno(order.getOrderNo());
+				applyDTO.setSrcSysno(order.getSysNo());
 				applyDTO.setItemType(itemType);
 				applyDTO.setCorpId(order.getCorpId());
 				applyDTO.setSrcId(order.getId());
@@ -2659,16 +2697,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				applyDTO.setPrice(order.getDebitAmount());
 				applyDTO.setAmount(order.getDebitAmount());
 				applyDTO.setSrcDate(order.getBusinesDate());
-				applyDTO.setSrcBillNo(order.getBillNo());
-				applyDTO.setAccSysNo(order.getOrderNo());
-				applyDTO.setSrcRefno(order.getOrderNo());
+				applyDTO.setSrcBillNo(order.getOrderNo());
+				applyDTO.setAccSysNo(order.getSysNo());
+				applyDTO.setSrcRefno(order.getSysNo());
 				applyDTO.setRetrieval(order.getAdvanceCollectionDate());
 				applyDTO.setCorpName(order.getCorpsName());
 
 				applyDTO.setAmount(amount);
 				applyDTO.setPrice(price);
 				applyDTO.setQuantity(quantity);
-				applyDTO.setReceivedAmount(order.getSettlmentAmount());
+				applyDTO.setReceivedAmount(order.getCurrentAmount());
+				applyDTO.setSettlementAmount(order.getSettlmentAmount());
 				List<Settlement> settlementList = order.getSettlementList().stream().filter(o -> o.getAccId() != null).collect(Collectors.toList());
 				if (settlementList.size() > 0) {
 					applyDTO.setId(settlementList.get(0).getAccId());
@@ -2680,7 +2719,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					throw new RuntimeException(paymentApply.getMsg());
 				}
 
-				BigDecimal receivedAmount = order.getSettlementList().stream().map(Settlement::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+				BigDecimal receivedAmount = order.getCurrentAmount();
 				receivedAmount = receivedAmount.add(order.getSettlmentAmount());
 				amount = amount.subtract(receivedAmount);
 

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

@@ -654,4 +654,17 @@ public class SettlementController extends BladeController {
 		return R.success("操作成功");
 	}
 
+
+	/**
+	 * 删除单据账单
+	 */
+	@GetMapping("/deleteBySrcId")
+	public R deleteBySrcId(@RequestParam(value = "srcId") Long srcId) {
+		if (srcId == null) {
+			throw new SecurityException("缺少必要的参数");
+		}
+		settlementService.deleteBySrcId(srcId);
+		return R.data(accService.deleteBySrcId(srcId));
+	}
+
 }

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

@@ -83,4 +83,6 @@ public interface AccMapper extends BaseMapper<Acc> {
     Map<String, BigDecimal> selectlastIssueAmount(Acc acc);
 
 	List<Long> selectListCorpId(Acc acc);
+
+	R deleteBySrcId(Long srcId);
 }

+ 3 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.xml

@@ -52,6 +52,9 @@
     <delete id="deleteBySrcFeesId">
         delete from finance_acc where Src_fees_id = #{feesId}
     </delete>
+    <delete id="deleteBySrcId">
+        delete from finance_acc where Src_id = #{srcId}
+    </delete>
 
 
     <select id="selectAccPage" resultMap="accResultMap">

+ 1 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.java

@@ -59,4 +59,5 @@ public interface SettlementMapper extends BaseMapper<Settlement> {
 						  @Param("financeStatus") String financeStatus,
 							 @Param("billType") String billType);
 
+    void deleteBySrcId(Long srcId);
 }

+ 3 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.xml

@@ -33,6 +33,9 @@
         <result column="update_user_name" property="updateUserName"/>
         <result column="subject_number" property="subjectNumber"/>
     </resultMap>
+    <delete id="deleteBySrcId">
+        delete from finance_settlement where src_bill_id = #{srcId}
+    </delete>
 
 
     <select id="selectSettlementPage" resultMap="settlementResultMap">

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

@@ -99,4 +99,6 @@ public interface IAccService extends IService<Acc> {
 	List<Long> selectListCorpId(Acc acc);
 
 	IPage<Acc> selectAccBillList(Acc acc, Query query);
+
+	R deleteBySrcId(Long srcId);
 }

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

@@ -94,4 +94,10 @@ public interface ISettlementService extends IService<Settlement> {
 	CollectionPayment selMoneyToday(Settlement settlement);
 
 	void paymentApplyParts(ApplyDTO dto);
+
+	/**
+	 *
+	 * @param srcId
+	 */
+    void deleteBySrcId(Long srcId);
 }

+ 5 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/AccServiceImpl.java

@@ -405,4 +405,9 @@ public class AccServiceImpl extends ServiceImpl<AccMapper, Acc> implements IAccS
 		}
 	}
 
+	@Override
+	public R deleteBySrcId(Long srcId) {
+		return baseMapper.deleteBySrcId(srcId);
+	}
+
 }

+ 26 - 13
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -2305,6 +2305,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		Long id = acc.getId();
 		Long srcId = acc.getSrcId();
 		BigDecimal settlementAmount = new BigDecimal(0.00);
+		settlementAmount.add(acc.getSettlementAmount());
 		for (Settlement settlement : dto.getSettlementList()) {
 			if (settlement.getId() == null) {
 				Settlement model = new Settlement();
@@ -2336,8 +2337,26 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				baseMapper.insert(model);
 
 				Items items = new Items();
-				BeanUtils.copyProperties(items, acc);
-				items.setAccId(acc.getId());
+				items.setItemId(acc.getSrcFeesId());
+				items.setCorpId(acc.getCorpId());
+				items.setQuantity(acc.getQuantity());
+				items.setUnit(acc.getUnit());
+				items.setPrice(dto.getReceivedAmount());
+				items.setSrcOrderno(dto.getSrcSysno());
+				items.setSrcBillNo(dto.getSrcBillNo());
+				items.setAmount(dto.getReceivedAmount());
+				items.setCurrency(dto.getCurrency());
+				items.setExchangeRate(dto.getExchangeRate());
+				items.setTaxRate(dto.getTaxRate());
+				items.setItemType(dto.getBillType());
+				items.setSrcParentId(dto.getSrcParentId());
+				items.setSrcFeesId(dto.getSrcFeesId());
+				items.setSrcType(dto.getSrcType());
+				items.setCostType(dto.getCostType());
+				items.setBillNo(dto.getSrcBillNo());
+				items.setThisAmount(dto.getReceivedAmount());
+				items.setTradeType(dto.getTradeType());
+				items.setAccId(id);
 				items.setPid(model.getId());
 				items.setTenantId(AuthUtil.getTenantId());
 				items.setCreateTime(new Date());
@@ -2351,17 +2370,11 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			acc.setSettlementAmount(settlementAmount);
 			acc.setId(id);
 			accMapper.updateById(acc);
-
-			/*BigDecimal amount = new BigDecimal("0.00");
-			BigDecimal receivedAmount = new BigDecimal("0.00");
-			receivedAmount = settlementAmount.add(dto.getReceivedAmount());
-			amount = amount.add(dto.getAmount().subtract(receivedAmount));
-			Order order = new Order();
-			order.setId(srcId);
-			order.setSettlmentAmount(receivedAmount);
-			order.setBalanceAmount(amount);
-			orderDescClient.updateOrder(order);*/
-
 		}
 	}
+
+	@Override
+	public void deleteBySrcId(Long srcId) {
+		baseMapper.deleteBySrcId(srcId);
+	}
 }