Переглянути джерело

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

lazhaoqian 4 роки тому
батько
коміт
5b9437f564
50 змінених файлів з 309 додано та 163 видалено
  1. 4 0
      blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java
  2. 5 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java
  3. 4 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/vo/OrderStatisticAnalysisVO.java
  4. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/AccDTO.java
  5. 2 2
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/ApplyDTO.java
  6. 3 3
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/SettlementDTO.java
  7. 5 3
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java
  8. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/AccVO.java
  9. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/FilesVO.java
  10. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/ItemsVO.java
  11. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/SettlementVO.java
  12. 1 3
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java
  13. 2 3
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Files.java
  14. 1 3
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Items.java
  15. 5 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Settlement.java
  16. 1 3
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  17. 4 0
      blade-service/blade-check/src/main/java/org/springblade/check/entity/AuditProecess.java
  18. 22 0
      blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java
  19. 0 10
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java
  20. 7 0
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  21. 53 13
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java
  22. 1 1
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.java
  23. 5 1
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml
  24. 1 1
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/IOrderService.java
  25. 2 2
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  26. 3 2
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java
  27. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/FilesController.java
  28. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/ItemsController.java
  29. 5 9
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java
  30. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.java
  31. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.xml
  32. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/FilesMapper.java
  33. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/FilesMapper.xml
  34. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/ItemsMapper.java
  35. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/ItemsMapper.xml
  36. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.java
  37. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/SettlementMapper.xml
  38. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/IAccService.java
  39. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/IFilesService.java
  40. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/IItemsService.java
  41. 3 3
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/ISettlementService.java
  42. 3 3
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/AccServiceImpl.java
  43. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/FilesServiceImpl.java
  44. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/ItemsServiceImpl.java
  45. 60 12
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java
  46. 18 65
      blade-service/trade-finance/src/main/java/org/springblade/finance/tool/JdyTool.java
  47. 6 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYResult.java
  48. 17 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYassist.java
  49. 28 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYentries.java
  50. 18 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYitems.java

+ 4 - 0
blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java

@@ -130,5 +130,9 @@ public class AuditProecess implements Serializable {
 
 		private String processType;
 
+		private String pageLabel;
+
+		private String pageStatus;
+
 
 }

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

@@ -694,4 +694,9 @@ public class Order implements Serializable {
 
 	private BigDecimal refundForeignSettlmentAmount;
 
+	@TableField(exist = false)
+	private String startTime;
+	@TableField(exist = false)
+	private String endTime;
+
 }

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

@@ -38,6 +38,8 @@ public class OrderStatisticAnalysisVO
    private BigDecimal amount;
    //业务员id
    private Long createUser;
+
+   private String createUserName;
    //时间
    private Date createTime;
    //发票抬头
@@ -60,6 +62,8 @@ public class OrderStatisticAnalysisVO
 	private BigDecimal gstMoney;
 	//货款
 	private BigDecimal itemMoney;
+	//币别汇率
+	private BigDecimal exchangeRate;
 
 
 

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/AccDTO.java

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.dto;
 
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 

+ 2 - 2
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/ApplyDTO.java

@@ -16,8 +16,8 @@
  */
 package org.springblade.finance.dto;
 
-import org.springblade.finance.entity.Acc;
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Acc;
+import org.springblade.finance.vojo.Items;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 3 - 3
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/SettlementDTO.java

@@ -17,9 +17,9 @@
 package org.springblade.finance.dto;
 
 
-import org.springblade.finance.entity.Files;
-import org.springblade.finance.entity.Items;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Files;
+import org.springblade.finance.vojo.Items;
+import org.springblade.finance.vojo.Settlement;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

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

@@ -1,9 +1,8 @@
 package org.springblade.finance.feign;
 
-import io.swagger.annotations.ApiParam;
 import org.springblade.core.tool.api.R;
-import org.springblade.finance.entity.Acc;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Acc;
+import org.springblade.finance.vojo.Settlement;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -37,4 +36,7 @@ public interface IFinanceClient
 
 	@PostMapping("/acc/getAccListByCondition")
 	R<List<Acc>> getAccListByCondition( @RequestBody Acc acc);
+
+	@PostMapping("settlement/submit")
+	R submit(@Valid @RequestBody Settlement settlement);
 }

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/AccVO.java

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.vo;
 
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/FilesVO.java

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.vo;
 
-import org.springblade.finance.entity.Files;
+import org.springblade.finance.vojo.Files;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/ItemsVO.java

@@ -17,7 +17,7 @@
 package org.springblade.finance.vo;
 
 
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Items;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vo/SettlementVO.java

@@ -17,7 +17,7 @@
 package org.springblade.finance.vo;
 
 
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Settlement;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;

+ 1 - 3
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/entity/Acc.java → blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java

@@ -14,20 +14,18 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.finance.entity;
+package org.springblade.finance.vojo;
 
 import java.math.BigDecimal;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
 import java.util.Date;
 
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 2 - 3
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/entity/Files.java → blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Files.java

@@ -14,17 +14,16 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.finance.entity;
+package org.springblade.finance.vojo;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDateTime;
+
 import java.io.Serializable;
 import java.util.Date;
 
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 3
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/entity/Items.java → blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Items.java

@@ -14,20 +14,18 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.finance.entity;
+package org.springblade.finance.vojo;
 
 import java.math.BigDecimal;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
 import java.util.Date;
 
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 5 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/entity/Settlement.java → blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Settlement.java

@@ -14,7 +14,7 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.finance.entity;
+package org.springblade.finance.vojo;
 
 import java.math.BigDecimal;
 
@@ -227,6 +227,10 @@ public class Settlement  implements Serializable {
 
 	private String url;
 
+	private String pageStatus;
+
+	private String pageLabel;
+
 	private BigDecimal foreignAmount;
 
 	private String itemType;

+ 1 - 3
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -17,7 +17,6 @@
 package org.springblade.check.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.ApiParam;
@@ -30,7 +29,6 @@ import lombok.AllArgsConstructor;
 import org.springblade.check.entity.AuditProecess;
 import org.springblade.check.service.IAuditProecessService;
 import org.springblade.check.vo.AuditOrderVO;
-import org.springblade.check.vo.AuditProecessVO;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -38,7 +36,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Settlement;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.feign.IOrderDescClient;

+ 4 - 0
blade-service/blade-check/src/main/java/org/springblade/check/entity/AuditProecess.java

@@ -148,4 +148,8 @@ public class AuditProecess implements Serializable {
 	    @TableField(exist = false)
 	    private String auditName;
 
+	    private String pageStatus;
+
+	    private String pageLabel;
+
 }

+ 22 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -34,6 +34,9 @@ import org.springblade.check.service.IAuditProecessService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.seata.spring.annotation.GlobalTransactional;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.finance.vojo.Settlement;
+import org.springblade.purchase.sales.entity.Order;
+import org.springblade.purchase.sales.feign.IOrderDescClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
@@ -61,6 +64,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 
     private IMessageClient messageClient;
 
+    private IOrderDescClient orderDescClient;
+
 	@Override
 	public IPage<AuditProecessVO> selectAuditProecessPage(IPage<AuditProecessVO> page, AuditProecessVO auditProecess) {
 		return page.setRecords(baseMapper.selectAuditProecessPage(page, auditProecess));
@@ -102,6 +107,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			auditProecess.setSrcBillId(auditProecessDTO.getSrcBillId());
 			auditProecess.setPathId(e.getPathId());
 			auditProecess.setLevelId(e.getLevelId());
+			auditProecess.setProcessType(auditProecessDTO.getProcessType());
+			auditProecess.setPageLabel(auditProecessDTO.getPageLabel());
+			auditProecess.setPageStatus(auditProecessDTO.getPageStatus());
 			auditProecess.setSendUserId(auditProecessDTO.getSendUserId());
 			auditProecess.setSendName(auditProecessDTO.getSendName());
 			auditProecess.setSendTime(auditProecessDTO.getSendTime());
@@ -186,6 +194,20 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			//通过
             if(operate==1)
             {
+            	//如果是第一级, 则修改状态为审批中
+				if(auditProecess.getLevelId()==1)
+				{
+					Settlement settlement=new Settlement();
+					settlement.setId(auditProecess.getSrcBillId());
+					settlement.setCheckStatus("审核中");
+					R submit = financeClient.submit(settlement);
+					if(!submit.isSuccess())
+					{
+						throw new SecurityException("审批开始修改审核状态失败");
+					}
+				}
+
+
 				auditProecess.setAuditStatus("A");
                 //查询下一级,开启待审
 				LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper=new LambdaQueryWrapper<>();

+ 0 - 10
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -16,15 +16,10 @@
  */
 package org.springblade.deliver.goods.service.impl;
 
-import com.alibaba.druid.sql.ast.expr.SQLCaseExpr;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import lombok.AllArgsConstructor;
-import org.springblade.client.entity.GoodsDesc;
-import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -37,7 +32,6 @@ import org.springblade.deliver.goods.vo.DeliveryItemsVO;
 import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
 import org.springblade.deliver.goods.service.IDeliveryItemsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.finance.entity.Acc;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.mocha.entity.BusinessOverpaymentItem;
 import org.springblade.mocha.entity.BusinessPointsItem;
@@ -46,8 +40,6 @@ import org.springblade.mocha.entity.Points;
 import org.springblade.mocha.enums.OverpaymentEnum;
 import org.springblade.mocha.feign.IBusinessOverpaymentClient;
 import org.springblade.mocha.feign.IBusinessPointsClient;
-import org.springblade.purchase.sales.entity.Order;
-import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.feign.IOrderDescClient;
 import org.springblade.purchase.sales.feign.IOrderItemsClient;
 import org.springblade.stock.entity.StockGoods;
@@ -61,9 +53,7 @@ import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.Objects;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * 发货明细 服务实现类

+ 7 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -118,6 +118,13 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			List<DeliveryItems> deliveryItemsList = deliveryItemsService.saveDeliveryItemsList(delivery.getId(), delivery.getDeliveryItemsList());
 			delivery.setDeliveryItemsList(deliveryItemsList);
 		}
+		List<DeliveryItems> deliveryItemsList = delivery.getDeliveryItemsList();
+		if(!CollectionUtils.isNotEmpty(deliveryItemsList))
+		{
+			BigDecimal totalActualQuantity = deliveryItemsList.stream().filter(e -> e.getActualQuantity() != null).map(DeliveryItems::getActualQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
+			delivery.setTotalQuantity(totalActualQuantity);
+			baseMapper.updateById(delivery);
+		}
 		//保存发货费用信息
 		if (CollectionUtils.isNotEmpty(delivery.getDeliveryFeesList())){
 			List<DeliveryFees> deliveryFeesList = deliveryFeesService.saveDeliveryFeesList(delivery.getId(), delivery.getDeliveryFeesList());

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

@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.protobuf.ServiceException;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,9 +38,8 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 import org.springblade.finance.feign.IFinanceClient;
-import org.springblade.purchase.sales.entity.OrderFees;
 import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.service.*;
 import org.springblade.purchase.sales.vo.OrderItemsVO;
@@ -332,7 +330,7 @@ public class OrderController extends BladeController {
 	public R listOrderStatisticAnalysis(Order order, Query query)
 	{
 		Page<OrderStatisticAnalysisVO> iPage = new Page(query.getCurrent(),query.getSize());
-		IPage<OrderStatisticAnalysisVO> orderStatisticAnalysisVOIPage = orderService.listOrderStatisticAnalysis(iPage, AuthUtil.getTenantId(), order.getOrderNo());
+		IPage<OrderStatisticAnalysisVO> orderStatisticAnalysisVOIPage = orderService.listOrderStatisticAnalysis(iPage, AuthUtil.getTenantId(), order.getOrderNo(),order.getStartTime(),order.getEndTime());
 		List<OrderStatisticAnalysisVO> records = orderStatisticAnalysisVOIPage.getRecords();
 		if(CollectionUtils.isNotEmpty(records))
 		{
@@ -355,6 +353,15 @@ public class OrderController extends BladeController {
 						e.setSaleCorpName(corpsDescClientCorpMessage.getData().getCname());
 					}
 				}
+				//业务员名称
+				if(e.getCreateUser()!=null)
+				{
+					R<User> info = userClient.userInfoById(e.getCreateUser());
+					if(info.isSuccess())
+					{
+						e.setCreateUserName(info.getData().getRealName());
+					}
+				}
 				//采购主表id
 				Long orderId = e.getOrderId();
 				LambdaQueryWrapper<Order> orderLambdaQueryWrapper=new LambdaQueryWrapper<>();
@@ -369,37 +376,56 @@ public class OrderController extends BladeController {
 				//调用-费用微服务-获取费用设置详情
 				R<FeesDesc> customDuty = feesDescClient.getFeesByName("关税");
 				Long customDutyId=null;
-                if(customDuty.isSuccess())
+                if(customDuty.isSuccess()&&customDuty.getData()!=null)
                 {
 					customDutyId=customDuty.getData().getId();
 				}
+                else
+				{
+					throw new SecurityException("请检查是否配置关税费用项目");
+				}
 
 				Long quotaId=null;
 				R<FeesDesc> quota = feesDescClient.getFeesByName("配额");
-				if(quota.isSuccess())
+				if(quota.isSuccess()&&customDuty.getData()!=null)
 				{
 					quotaId=quota.getData().getId();
 				}
+				else
+				{
+					throw new SecurityException("请检查是否配置配额费用项目");
+				}
 
 				Long gstId=null;
 				R<FeesDesc> GST = feesDescClient.getFeesByName("增值税");
-				if(GST.isSuccess())
+				if(GST.isSuccess()&&GST.getData()!=null)
 				{
 					gstId=GST.getData().getId();
 				}
+				else
+				{
+					throw new SecurityException("请检查是否配置增值税费用项目");
+				}
 
-                Long deliverId=null;
+				Long deliverId=null;
 				R<FeesDesc> deliver = feesDescClient.getFeesByName("物流费");
-				if(deliver.isSuccess())
+				if(deliver.isSuccess()&&deliver.getData()!=null)
 				{
 					deliverId=deliver.getData().getId();
 				}
+				else
+				{
+					throw new SecurityException("请检查是否配置物流费用项目");
+				}
 
 				//获取关税账单明细
 				Acc customDutyAcc=new Acc();
 				customDutyAcc.setSrcType(2);
 				customDutyAcc.setSrcFeesId(customDutyId);
 				customDutyAcc.setSrcParentId(orderId);
+				//只有 itemType=采购 && billType=申请 才是付钱
+				customDutyAcc.setItemType("采购");
+				customDutyAcc.setBillType("申请");
 				R<List<Acc>> accListByCondition = iFinanceClient.getAccListByCondition(customDutyAcc);
 				//关税
 				BigDecimal customDutyMoney=BigDecimal.ZERO;
@@ -425,6 +451,9 @@ public class OrderController extends BladeController {
 				quotaAcc.setSrcType(2);
 				quotaAcc.setSrcFeesId(quotaId);
 				quotaAcc.setSrcParentId(orderId);
+				//只有 itemType=采购 && billType=申请 才是付钱
+				quotaAcc.setItemType("采购");
+				quotaAcc.setBillType("申请");
 				R<List<Acc>> accListByCondition2 = iFinanceClient.getAccListByCondition(quotaAcc);
 				//配额
 				BigDecimal quotaMoney=BigDecimal.ZERO;
@@ -448,6 +477,9 @@ public class OrderController extends BladeController {
 				gstAcc.setSrcType(2);
 				gstAcc.setSrcFeesId(gstId);
 				gstAcc.setSrcParentId(orderId);
+				//只有 itemType=采购 && billType=申请 才是付钱
+				gstAcc.setItemType("采购");
+				gstAcc.setBillType("申请");
 				R<List<Acc>> accListByCondition3 = iFinanceClient.getAccListByCondition(gstAcc);
 				//增值税
 				BigDecimal gstMoney=BigDecimal.ZERO;
@@ -472,6 +504,9 @@ public class OrderController extends BladeController {
 				itemAcc.setSrcType(1);
 				itemAcc.setSrcFeesId(null);
 				itemAcc.setSrcParentId(orderId);
+				//只有 itemType=采购 && billType=申请 才是付钱
+				itemAcc.setItemType("采购");
+				itemAcc.setBillType("申请");
 				R<List<Acc>> accListByCondition4 = iFinanceClient.getAccListByCondition(itemAcc);
 				//货款
 				BigDecimal itemMoney=BigDecimal.ZERO;
@@ -488,6 +523,7 @@ public class OrderController extends BladeController {
 						itemMoney=BigDecimal.ZERO;
 					}
 				}
+				itemMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
 				e.setItemMoney(itemMoney);
 				//销售主表信息
 				LambdaQueryWrapper<Order> saleOrderWrapper=new LambdaQueryWrapper<>();
@@ -495,23 +531,27 @@ public class OrderController extends BladeController {
 				Order serviceOne = orderService.getOne(saleOrderWrapper);
 
 				//成本单价=(货款+关税+配额)/发票重量---精确小数点2位
-                BigDecimal unitPrice=((itemMoney.add(quotaMoney)).add(customDutyMoney)).divide(service.getInvoiceWeight(),2,BigDecimal.ROUND_DOWN);
+                BigDecimal unitPrice=((itemMoney.add(quotaMoney)).add(customDutyMoney)).divide(service.getInvoiceWeight(),2,BigDecimal.ROUND_HALF_UP);
                 e.setUnitPrice(unitPrice);
 				if(serviceOne.getExchangeRate()==null)
 				{
                    throw new SecurityException("销售订单:"+serviceOne.getOrderNo()+",汇率未填,无法完成统计");
 				}
 				//开票金额= 销售订单明细总价*销售订单主表的汇率
-				BigDecimal InvoiceAmount=e.getAmount().multiply(serviceOne.getExchangeRate());
+				BigDecimal InvoiceAmount=e.getAmount().multiply(serviceOne.getExchangeRate()).setScale(2,BigDecimal.ROUND_HALF_UP);
 				e.setInvoiceAmount(InvoiceAmount);
+				e.setExchangeRate(serviceOne.getExchangeRate());
 				//成本金额=提货数量*成本价格
-				BigDecimal costAmount=e.getSaleBillWeight().multiply(unitPrice);
+				BigDecimal costAmount=e.getSaleBillWeight().multiply(unitPrice).setScale(2,BigDecimal.ROUND_HALF_UP);
 				e.setCostAmount(costAmount);
 				//物流费用
 				Acc deliverAcc=new Acc();
 				deliverAcc.setSrcType(2);
 				deliverAcc.setSrcFeesId(deliverId);
 				deliverAcc.setSrcParentId(e.getOrderSaleId());
+				//只有 itemType=采购 && billType=申请 才是付钱
+				deliverAcc.setItemType("采购");
+				deliverAcc.setBillType("申请");
 				R<List<Acc>> accListByCondition5 = iFinanceClient.getAccListByCondition(gstAcc);
 				BigDecimal deliverMoney=BigDecimal.ZERO;
 				if(accListByCondition5.isSuccess())
@@ -531,7 +571,7 @@ public class OrderController extends BladeController {
 				}
 				e.setDeliverMoney(deliverMoney);
                 //利润=开票金额-成本金额-物流费用
-				BigDecimal profit=(InvoiceAmount.subtract(costAmount)).subtract(deliverMoney);
+				BigDecimal profit=(InvoiceAmount.subtract(costAmount)).subtract(deliverMoney).setScale(2,BigDecimal.ROUND_HALF_UP);
                 e.setProfit(profit);
 			});
 		}

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.java

@@ -46,6 +46,6 @@ public interface OrderMapper extends BaseMapper<Order> {
 
 	List<OrderItemBillNoVO> findContractNoByBillNo(@Param("billNo")String billNo, @Param("billType")String billType);
 
-	IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page, @Param("tenantId")String tenantId, @Param("orderNo")String orderNo);
+	IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page, @Param("tenantId")String tenantId, @Param("orderNo")String orderNo,@Param("startTime")String startTime,@Param("endTime")String endTime);
 
 }

+ 5 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -416,7 +416,7 @@
         b.create_user as createUser,
         b.create_time as createTime,
         b.org_order_no as orgOrderNo,
-        b.vbrk as vbrk
+        a.vbrk as vbrk
         FROM
         business_order a,
         business_order_items b
@@ -435,6 +435,10 @@
         order by  b.create_time desc
       )   b
       where a.order_no=b.orgOrderNo
+        <if test='startTime != null and endTime!= null'>
+            and a.create_time between #{startTime} and #{endTime}
+        </if>
+
     </select>
 
 </mapper>

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

@@ -88,6 +88,6 @@ public interface IOrderService extends IService<Order> {
 
 	List<OrderItemBillNoVO> findContractNoByBillNo(@Param("billNo")String billNo, @Param("billType")String billType);
 
-	IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page, @Param("tenantId")String tenantId, @Param("orderNo")String orderNo);
+	IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page, @Param("tenantId")String tenantId, @Param("orderNo")String orderNo,@Param("startTime")String startTime,@Param("endTime")String endTime);
 
 }

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

@@ -540,9 +540,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	@Override
-	public IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page,String tenantId, String orderNo)
+	public IPage<OrderStatisticAnalysisVO> listOrderStatisticAnalysis(Page<OrderStatisticAnalysisVO> page,String tenantId, String orderNo,String startTime,String endTime )
 	{
-		return orderMapper.listOrderStatisticAnalysis(page,tenantId,orderNo);
+		return orderMapper.listOrderStatisticAnalysis(page,tenantId,orderNo,startTime,endTime);
 	}
 
 }

+ 3 - 2
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -19,7 +19,6 @@ package org.springblade.finance.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import org.springblade.client.entity.Message;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.finance.vo.AccVO;
 import io.swagger.annotations.Api;
@@ -39,7 +38,7 @@ import org.springblade.finance.service.IAccService;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 
 import org.springblade.core.boot.ctrl.BladeController;
 
@@ -184,6 +183,8 @@ public class AccController extends BladeController {
 		accLambdaQueryWrapper
 			.eq(Acc::getTenantId, AuthUtil.getTenantId())
 			.eq(Acc::getSrcType,acc.getSrcType())
+			.eq(StringUtils.isNotBlank(acc.getBillType()),Acc::getBillType,acc.getBillType())
+			.eq(StringUtils.isNotBlank(acc.getItemType()),Acc::getItemType,acc.getItemType())
 			.eq(acc.getSrcParentId()!=null,Acc::getSrcParentId,acc.getSrcParentId())
 			.eq(acc.getSrcFeesId()!=null,Acc::getSrcFeesId,acc.getSrcFeesId());
 		List<Acc> list = accService.list(accLambdaQueryWrapper);

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/FilesController.java

@@ -17,7 +17,7 @@
 package org.springblade.finance.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Files;
+import org.springblade.finance.vojo.Files;
 import org.springblade.finance.service.IFilesService;
 import org.springblade.finance.vo.FilesVO;
 import io.swagger.annotations.Api;

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/ItemsController.java

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.controller;
 
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Items;
 import org.springblade.finance.service.IItemsService;
 import org.springblade.finance.vo.ItemsVO;
 import io.swagger.annotations.Api;

+ 5 - 9
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -19,16 +19,14 @@ package org.springblade.finance.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import org.apache.xmlbeans.impl.xb.xsdschema.Public;
 import org.springblade.finance.dto.ApplyDTO;
 import org.springblade.finance.dto.SettlementDTO;
-import org.springblade.finance.entity.Acc;
-import org.springblade.finance.entity.Items;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Acc;
+import org.springblade.finance.vojo.Items;
+import org.springblade.finance.vojo.Settlement;
 import org.springblade.finance.service.IAccService;
 import org.springblade.finance.service.IItemsService;
 import org.springblade.finance.service.ISettlementService;
-import org.springblade.finance.tool.JdyTool;
 import org.springblade.finance.vo.SettlementVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,7 +52,6 @@ import org.springblade.core.boot.ctrl.BladeController;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Stream;
 
 /**
  * 结算表 控制器
@@ -87,7 +84,7 @@ public class SettlementController extends BladeController {
 	@ApiOperation(value = "详情", notes = "传入settlement")
 	public R<Settlement> detail(Settlement settlement) throws Exception {
 	/*	JdyTool.test();*/
-		Settlement detail = settlementService.getOne(Condition.getQueryWrapper(settlement));
+		Settlement detail = settlementService.getById(settlement.getId());
 		LambdaQueryWrapper<Items> itemsLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		itemsLambdaQueryWrapper.eq(Items::getPid,detail.getId());
 		List<Items> list = itemsService.list(itemsLambdaQueryWrapper);
@@ -240,8 +237,7 @@ public class SettlementController extends BladeController {
 	@PostMapping("/apply")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "请货款(收费/付费)", notes = "传入Finance_items")
-	public R apply(@RequestBody ApplyDTO dto)
-	{
+	public R apply(@RequestBody ApplyDTO dto) throws Exception {
           if(CollectionUtils.isEmpty(dto.getItemsList()))
           {
           	throw new SecurityException("传入数据不能为空");

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

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.mapper;
 
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.finance.mapper.AccMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="accResultMap" type="org.springblade.finance.entity.Acc">
+    <resultMap id="accResultMap" type="org.springblade.finance.vojo.Acc">
         <id column="id" property="id"/>
         <result column="sysNo" property="sysno"/>
         <result column="Companyid" property="companyid"/>

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

@@ -19,7 +19,7 @@ package org.springblade.finance.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Files;
+import org.springblade.finance.vojo.Files;
 import org.springblade.finance.vo.FilesVO;
 
 import java.util.List;

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/FilesMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.finance.mapper.FilesMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="filesResultMap" type="org.springblade.finance.entity.Files">
+    <resultMap id="filesResultMap" type="org.springblade.finance.vojo.Files">
         <id column="id" property="id"/>
         <result column="pid" property="pid"/>
         <result column="sort" property="sort"/>

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

@@ -19,7 +19,7 @@ package org.springblade.finance.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Items;
 import org.springblade.finance.vo.ItemsVO;
 
 import java.util.List;

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/ItemsMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.finance.mapper.ItemsMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="itemsResultMap" type="org.springblade.finance.entity.Items">
+    <resultMap id="itemsResultMap" type="org.springblade.finance.vojo.Items">
         <id column="id" property="id"/>
         <result column="pid" property="pid"/>
         <result column="sort" property="sort"/>

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

@@ -19,7 +19,7 @@ package org.springblade.finance.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Settlement;
 import org.springblade.finance.vo.SettlementVO;
 
 import java.util.List;

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

@@ -3,7 +3,7 @@
 <mapper namespace="org.springblade.finance.mapper.SettlementMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="settlementResultMap" type="org.springblade.finance.entity.Settlement">
+    <resultMap id="settlementResultMap" type="org.springblade.finance.vojo.Settlement">
         <id column="id" property="id"/>
         <result column="Sys_No" property="sysNo"/>
         <result column="Src_OrderNo" property="srcOrderno"/>

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

@@ -16,7 +16,7 @@
  */
 package org.springblade.finance.service;
 
-import org.springblade.finance.entity.Acc;
+import org.springblade.finance.vojo.Acc;
 import org.springblade.finance.vo.AccVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/IFilesService.java

@@ -19,7 +19,7 @@ package org.springblade.finance.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Files;
+import org.springblade.finance.vojo.Files;
 import org.springblade.finance.vo.FilesVO;
 
 /**

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/IItemsService.java

@@ -19,7 +19,7 @@ package org.springblade.finance.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Items;
 import org.springblade.finance.vo.ItemsVO;
 
 /**

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

@@ -20,8 +20,8 @@ package org.springblade.finance.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.finance.dto.SettlementDTO;
-import org.springblade.finance.entity.Items;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Items;
+import org.springblade.finance.vojo.Settlement;
 import org.springblade.finance.vo.SettlementVO;
 
 import java.util.List;
@@ -48,7 +48,7 @@ public interface ISettlementService extends IService<Settlement> {
     //取消结算
 	Settlement cancelModify(SettlementDTO settlementDTO);
 
-	Settlement apply(List<Items> itemsList, String billType,String url);
+	Settlement apply(List<Items> itemsList, String billType,String url) throws Exception;
 
 	void applyList(List<Items> itemsList, String billType,String url);
 

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

@@ -16,9 +16,9 @@
  */
 package org.springblade.finance.service.impl;
 
-import org.springblade.finance.entity.Acc;
-import org.springblade.finance.entity.Items;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.Acc;
+import org.springblade.finance.vojo.Items;
+import org.springblade.finance.vojo.Settlement;
 import org.springblade.finance.mapper.ItemsMapper;
 import org.springblade.finance.mapper.SettlementMapper;
 

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/FilesServiceImpl.java

@@ -18,7 +18,7 @@ package org.springblade.finance.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.finance.entity.Files;
+import org.springblade.finance.vojo.Files;
 import org.springblade.finance.mapper.FilesMapper;
 import org.springblade.finance.service.IFilesService;
 import org.springblade.finance.vo.FilesVO;

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/ItemsServiceImpl.java

@@ -18,7 +18,7 @@ package org.springblade.finance.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.finance.entity.Items;
+import org.springblade.finance.vojo.Items;
 import org.springblade.finance.mapper.ItemsMapper;
 import org.springblade.finance.service.IItemsService;
 import org.springblade.finance.vo.ItemsVO;

+ 60 - 12
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -17,6 +17,7 @@
 package org.springblade.finance.service.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,16 +25,15 @@ import org.springblade.check.dto.AuditProecessDTO;
 import org.springblade.check.entity.AuditPathsActs;
 import org.springblade.check.entity.AuditPathsLevels;
 import org.springblade.check.feign.ICheckClient;
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.core.tool.api.R;
 import org.springblade.finance.dto.SettlementDTO;
-import org.springblade.finance.entity.Acc;
-import org.springblade.finance.entity.Files;
-import org.springblade.finance.entity.Items;
-import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.vojo.*;
 import org.springblade.finance.mapper.AccMapper;
 import org.springblade.finance.mapper.ItemsMapper;
 import org.springblade.finance.mapper.SettlementMapper;
 import org.springblade.finance.service.ISettlementService;
+import org.springblade.finance.tool.JdyTool;
 import org.springblade.finance.vo.SettlementVO;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
@@ -52,6 +52,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -515,8 +517,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 	@Override
 	@Transactional
-	public Settlement apply(List<Items> itemsList, String billType,String url)
-	{
+	public Settlement apply(List<Items> itemsList, String billType,String url) throws Exception {
 		BigDecimal total = itemsList.stream().filter(e -> e.getAmount() != null&&e.getCurrency().equals("CNY")).map(Items::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 		BigDecimal foreignTotal = itemsList.stream().filter(e -> e.getAmount() != null&&!e.getCurrency().equals("CNY")).map(Items::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 		Settlement settlement=new Settlement();
@@ -539,7 +540,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		   	 throw new SecurityException("业务未绑定成功");
 		   }
 		   settlement.setSrcBillId(itemsList.get(0).getSrcParentId());
-		   settlement.setCheckStatus("未请核");
+		   settlement.setCheckStatus("录入");
 		   baseMapper.insert(settlement);
 
 		   itemsList.forEach(e->{
@@ -561,6 +562,15 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			   e.setTenantId(AuthUtil.getTenantId());
 			   e.setCreateUser(AuthUtil.getUserId());
 			   itemsMapper.insert(e);
+
+			   R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(e.getCorpId());
+			   if(corpMessage.isSuccess()&&corpMessage.getData()!=null)
+			   {
+			   	e.setCorpName(corpMessage.getData().getCname());
+			   }
+			   //todo 金蝶测试-凭证保存
+			   toJinDie(e);
+
 		   });
 		List<CorpsBank> corpsBanks = corpsDescClient.listBankByCorpId(settlement.getCorpId());
 		settlement.setBankList(corpsBanks);
@@ -623,14 +633,16 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
           //如果开启审批流了, 就直接创建审批业务
           else
 		  {
-			  selectOne.setCheckStatus("审核中");
+			  selectOne.setCheckStatus("提交");
 			  baseMapper.updateById(selectOne);
 		  	  //获取审批级次
 			  List<AuditPathsLevels> auditPathsLevels = iCheckClient.listLevelsByActId(1, "check_status");
 
 			  AuditProecessDTO auditProecessDTO=new AuditProecessDTO();
 			  //追加跳转路由url
-			  auditProecessDTO.setUrl(selectOne.getUrl());
+			  auditProecessDTO.setUrl(settlement.getUrl());
+			  auditProecessDTO.setPageStatus(settlement.getPageStatus());
+			  auditProecessDTO.setPageLabel(settlement.getPageLabel());
 			  //增加审批类型
 			  auditProecessDTO.setProcessType("付费审批");
 			  auditProecessDTO.setPathsLevelsList(auditPathsLevels);
@@ -809,7 +821,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			});
 		}
 		settlement.setFinanceStatus("待结算");
-		settlement.setCheckStatus("请核成功");
+		settlement.setCheckStatus("审核通过");
 		baseMapper.updateById(settlement);
 	}
 	//审核取消方法
@@ -826,7 +838,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		{
 			throw new SecurityException("审批取消失败");
 		}
-		settlement.setCheckStatus("未请核");
+		settlement.setCheckStatus("录入");
 		baseMapper.updateById(settlement);
 		/*
 		LambdaQueryWrapper<Items> itemsLambdaQueryWrapper=new LambdaQueryWrapper<>();
@@ -843,8 +855,44 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		baseMapper.deleteById(settlementId);*/
 	}
 
-	public void toJinDie()
+	//金蝶保存凭证测试
+	public void toJinDie(Items items)
 	{
+		//不是某一家 直接返回
+		if(!AuthUtil.getTenantId().equals("xxxx"))
+		{
+          return;
+		}
+		JDYitems item=new JDYitems();
+		item.setDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
+		List<JDYentries> entriesList=new ArrayList<>();
+		List<JDYitems> jdYitems=new ArrayList<>();
+
+		//财务借方
+		JDYentries d=new JDYentries();
+		d.setDc("1");
+		d.setExplanation("采购订单合同号:"+items.getSrcOrderno()+",申请货款");
+		d.setAccount_number("400101");
+		d.setDebitamount(items.getAmount().toString());
+		entriesList.add(d);
+		//财务贷方
+		JDYentries c=new JDYentries();
+		c.setDc("-1");
+		c.setExplanation("客户资料:"+items.getCorpName());
+		c.setAccount_number("220202");
+		c.setCreditamount(items.getAmount().toString());
+		entriesList.add(c);
+		//组装数据
+		item.setEntries(entriesList);
+		jdYitems.add(item);
+		try
+		{
+			JdyTool.test(jdYitems);
+		}
+		catch (Exception exception)
+		{
+			throw new SecurityException("操作失败,保存金蝶错误");
+		}
 
 	}
 

+ 18 - 65
blade-service/trade-finance/src/main/java/org/springblade/finance/tool/JdyTool.java

@@ -8,13 +8,14 @@ import com.github.kevinsawicki.http.HttpRequest;
 import lombok.Data;
 import org.apache.poi.ss.formula.functions.T;
 import org.springblade.finance.TokenRequestQuery;
+import org.springblade.finance.vojo.JDYitems;
 
 import java.util.List;
 
 public class JdyTool
 {
 
-	public static void test() throws Exception {
+	public static void test(List<JDYitems> jdYitems) throws Exception {
 		com.jdy.v7sdk.auth auth = new com.jdy.v7sdk.auth();
 		//登录参数
 		TokenRequestQuery tokenRequestQuery = TokenRequestQuery.build(TeaConverter.buildMap(
@@ -42,27 +43,14 @@ public class JdyTool
 		String accessToken = accessTokenObject.accessToken;
 
         //金蝶云-星辰 官网API地址: https://open.jdy.com/#/files/api/detail?index=2&categrayId=1f51c576013945e2af68ef15d4245a48&id=525e704824d24b178ab466530456c037
-		String url="http://api.kingdee.com/jdy/gl/voucher_list?access_token="+accessToken;
-        //用官方测试账号, 请求业务列表接口 试试
-		String s = testGetVoucherList(url, accountId, groupName);
-		//用官方测试账号, 请求业务列表保存接口 试试
-		String s1 = testSaveVoucher(url, accountId, groupName);
-
-
-	/*	com.jdy.v7sdk.kernel kernel = new com.jdy.v7sdk.kernel(accessToken, accountId, groupName);
-		//获取商品列表示例
-		com.jdy.v7sdk.business.basedata bd = new com.jdy.v7sdk.business.basedata(kernel);
-
-		com.jdy.v7sdk.business.fi fi=new com.jdy.v7sdk.business.fi(kernel);
-        //获取财务-凭证列表
-
-
-		MaterialListRequest materialListRequest = MaterialListRequest.build(TeaConverter.buildMap(
-		));
-		java.util.Map<String, ?> response = bd.getMaterialList(materialListRequest);
 
-		System.out.println("请求商品列表成功 response = " + response);*/
+		//用官方测试账号, 请求业务列表接口 试试
+		//String listUrl="http://api.kingdee.com/jdy/gl/voucher_list?access_token="+accessToken;
+		// testGetVoucherList(listUrl, accountId, groupName);
 
+		//用官方测试账号, 请求业务列表保存接口 试试
+		String saveUrl="http://api.kingdee.com/jdy/gl/voucher_save?access_token="+accessToken;
+		testSaveVoucher(saveUrl, accountId, groupName,jdYitems);
 
 	}
 
@@ -85,66 +73,31 @@ public class JdyTool
 	}
 
 	//测试-调用金蝶云官方账号的保存
-	public static String testSaveVoucher (String url,String accountId,String groupName)
+	public static String testSaveVoucher (String url, String accountId, String groupName, List<JDYitems> jdYitems)
 	{
 		HttpRequest httpRequest = new HttpRequest(url,"POST");
 		httpRequest.header("accountId",accountId);
+		httpRequest.header("charset","utf-8");
 		httpRequest.header("groupName",groupName);
 		httpRequest.header("Content-Type","application/json");
-		JSONObject data = new JSONObject();
-		data.put("page",1);
-		data.put("pagesize",50);
-		JSONObject map = new JSONObject();
-		map.put("requestData",data);
-		httpRequest.send(map.toJSONString());
-		System.out.println("请求body===="+httpRequest.body().toString());
+		JSONObject data=new JSONObject();
+		data.put("items",jdYitems);
+		httpRequest.send(data.toJSONString());
+		System.out.println("请求结果===="+httpRequest.body().toString());
+		JSONObject jsonObject = JSONObject.parseObject(httpRequest.body());
+		/*System.out.println("请求body===="+httpRequest.body().toString());
 		JSONObject result = JSONObject.parseObject(httpRequest.body());
-		return result.toJSONString();
+		return result.toJSONString();*/
+		return null;
 	}
 
-	//凭证列表对象
-	@Data
-	public class items
-	{
-	  //凭证日期 YYYY-MM-DD形式
-      private  String date;
-      //分录列表
-      private List<entries> entries;
-	}
 
-	//分录列表
-	@Data
-	public class entries
-	{
-	  //借贷方向 (1:借 ,-1:贷)
-      private String dc;
-      //摘要: 类似于备注
-      private String explanation;
-      //借方金额(本位币)
-      private String debitamount;
-      //贷方金额(本位币)
-      private String creditamount;
-      //科目id(必填)
-	  private String account_id;
-      //科目编码
-	  private String account_number;
-      //辅助核算列表
-	  private List<assist> assist;
-	}
 
-	@Data
-	private class assist
-	{
-      private  String type;
 
-      private  String bd_auxinfo_type_id;
 
-      private  String  id;
 
 
 
 
-	}
-
 }
 

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

@@ -0,0 +1,6 @@
+package org.springblade.finance.vojo;
+
+public class JDYResult
+{
+
+}

+ 17 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYassist.java

@@ -0,0 +1,17 @@
+package org.springblade.finance.vojo;
+
+import lombok.Data;
+
+/**
+ * 金蝶测试类-辅助核算列表对象
+ * */
+@Data
+public class JDYassist
+{
+	private  String type;
+
+	private  String bd_auxinfo_type_id;
+
+	private  String  id;
+
+}

+ 28 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYentries.java

@@ -0,0 +1,28 @@
+package org.springblade.finance.vojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+//分录列表
+/**
+ * 金蝶测试类-分录列表
+ * */
+@Data
+public class JDYentries
+{
+	//借贷方向 (1:借 ,-1:贷)
+	private String dc;
+	//摘要: 类似于备注
+	private String explanation;
+	//借方金额(本位币)
+	private String debitamount;
+	//贷方金额(本位币)
+	private String creditamount;
+	//科目id(必填)
+	private String account_id;
+	//科目编码
+	private String account_number;
+	//辅助核算列表
+	private List<JDYassist> assist;
+}

+ 18 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/vojo/JDYitems.java

@@ -0,0 +1,18 @@
+package org.springblade.finance.vojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+//凭证列表对象
+/**
+ * 金蝶测试类-凭证列表
+ * */
+@Data
+public class JDYitems
+{
+	//凭证日期 YYYY-MM-DD形式
+	private  String date;
+	//分录列表
+	private List<JDYentries> entries;
+}