Browse Source

销售采购金蝶凭证修改

lichao 3 years ago
parent
commit
302289cf3a
14 changed files with 218 additions and 44 deletions
  1. 9 0
      blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java
  2. 4 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java
  3. 10 6
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  4. 1 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java
  5. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/mapper/GoodsDescMapper.java
  6. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/mapper/GoodsDescMapper.xml
  7. 1 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/service/IGoodsDescService.java
  8. 7 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java
  9. 1 1
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryService.java
  10. 51 19
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  11. 92 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/excel/SalesDetailsExcel.java
  12. 8 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  13. 27 17
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java
  14. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/tool/JdyTool.java

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

@@ -26,6 +26,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 审批流记录实体类
@@ -156,6 +157,14 @@ public class AuditProecess implements Serializable {
 	    private String checkType;
 
 	    private Long corpId;
+
+		@TableField(exist = false)
+		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+		private Date applybegintime;
+
+		@TableField(exist = false)
+		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+		private Date applyendtime;
 	/**
 	 * 数量
 	 */

+ 4 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java

@@ -269,5 +269,9 @@ public class GoodsDesc implements Serializable {
 	 */
 	@ApiModelProperty(value = "平台商品编码")
 	private String terraceCode;
+	/**
+	 * 销售价浮动系数
+	 */
+	private String coefficient;
 
 }

+ 10 - 6
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -84,11 +84,17 @@ public class AuditProecessController extends BladeController {
 	@ApiOperation(value = "列表-用户审批记录", notes = "传入auditProecess")
 	public R list(AuditProecess auditProecess, Query query) {
 		LambdaQueryWrapper<AuditProecess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(AuditProecess::getIsDelete, 0);
-		lambdaQueryWrapper.like(AuditProecess::getAuditUserId, String.valueOf(AuthUtil.getUserId()));
-		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getProcessType()), AuditProecess::getProcessType, auditProecess.getProcessType());
-		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getAuditStatus()), AuditProecess::getAuditStatus, auditProecess.getAuditStatus());
+		lambdaQueryWrapper.eq(AuditProecess::getIsDelete, 0);//是否删除
+		lambdaQueryWrapper.like(AuditProecess::getAuditUserId, String.valueOf(AuthUtil.getUserId()));//审核人id
+		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getProcessType()), AuditProecess::getProcessType, auditProecess.getProcessType());//业务类型
+		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getAuditStatus()), AuditProecess::getAuditStatus, auditProecess.getAuditStatus());//审核状态
+		lambdaQueryWrapper.eq(auditProecess.getCorpId() != null, AuditProecess::getCorpId, auditProecess.getCorpId());//往来单位
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditProecess.getBillNo()),AuditProecess::getBillNo, auditProecess.getBillNo());//业务编号
+		lambdaQueryWrapper.eq(auditProecess.getSendUserId() != null, AuditProecess::getSendUserId, auditProecess.getSendUserId());//请核人id
+		lambdaQueryWrapper.gt(auditProecess.getApplybegintime() != null, AuditProecess::getSendTime, auditProecess.getApplybegintime());//请核时间
+		lambdaQueryWrapper.le(auditProecess.getApplyendtime() != null, AuditProecess::getSendTime, auditProecess.getApplyendtime());
 		lambdaQueryWrapper.orderByDesc(AuditProecess::getSendTime);
+
 		IPage pages = auditProecessService.page(Condition.getPage(query), lambdaQueryWrapper);
 		List<AuditProecess> auditProecessList = pages.getRecords();
 		if (CollectionUtils.isNotEmpty(auditProecessList)) {
@@ -105,7 +111,6 @@ public class AuditProecessController extends BladeController {
 						if (order.getCorpId() != null ) {
 							auditOrderVO.setCorpsName(corpsDescClient.getCorpMessage(order.getCorpId()).getData().getCname());
 						}
-
 					}
 				}
 				//财务明细表相关数据
@@ -124,7 +129,6 @@ public class AuditProecessController extends BladeController {
 					}
 				}
 				auditOrderVOS.add(auditOrderVO);
-
 			});
 
 			pages.setRecords(auditOrderVOS);

+ 1 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java

@@ -22,6 +22,7 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/mapper/GoodsDescMapper.java

@@ -33,6 +33,9 @@ public interface GoodsDescMapper extends BaseMapper<GoodsDesc> {
 	GoodsDesc selectGoodsCode(@Param("code") String code,
 							  @Param("tenantId") String tenantId);
 
+
+	GoodsDesc selectGoodBrand(@Param("code") Long id);
+
 	/**
 	 * 查询商品名称
 	 * @param cname

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/mapper/GoodsDescMapper.xml

@@ -141,6 +141,9 @@
     <select id="selectGoodsCode" resultMap="goodsDescResultMap">
         select id,code from basic_goods_desc where is_deleted = 0 and code = #{code} and tenant_id = #{tenantId}
     </select>
+    <select id="selectGoodBrand" resultMap="goodsDescResultMap">
+        select * from basic_goods_desc where is_deleted = 0 and id = #{id}
+    </select>
     <select id="selectGoodsCname" resultMap="goodsDescResultMap">
         select id,cname from basic_goods_desc where is_deleted = 0 and cname =#{cname} and tenant_id = #{tenantId}
     </select>

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

@@ -124,4 +124,5 @@ public interface IGoodsDescService extends IService<GoodsDesc> {
 	 */
 	List<ProductVO> getProductList(GoodsDesc goodsDesc);
 
+	GoodsDesc findById(Long id);
 }

+ 7 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java

@@ -533,6 +533,13 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 		return productList;
 	}
 
+	@Override
+	public GoodsDesc findById(Long id) {
+		// 获取商品详情
+		GoodsDesc desc = goodsDescMapper.selectGoodBrand(id);
+		return desc;
+	}
+
 	private String getCnameInt(String cname) {
 		String regex = "[^0-9]";
 		Pattern p = Pattern.compile(regex);

+ 1 - 1
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryService.java

@@ -68,7 +68,7 @@ public interface IDeliveryService extends IService<Delivery> {
 	R revocation(Delivery delivery);
 
 	/**
-	 * 确认收货
+	 * 确认收货,金蝶生成凭证
 	 * @param delivery
 	 * @return
 	 */

+ 51 - 19
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -30,8 +30,10 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import org.springblade.client.entity.BasicCorpsProfitChange;
 import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.entity.StorageDesc;
 import org.springblade.client.feign.*;
+import org.springblade.client.goods.service.impl.GoodsDescServiceImpl;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -128,6 +130,8 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	private final JdCorpsMapper corpsMapper;
 	private IGoodsDescClient goodsDescClient;//获取商品信息
 
+	//private final GoodsDescServiceImpl goodsDescService;
+
 	@Override
 	public IPage<DeliveryVO> selectDeliveryPage(IPage<DeliveryVO> page, DeliveryVO delivery) {
 		return page.setRecords(baseMapper.selectDeliveryPage(page, delivery));
@@ -312,13 +316,15 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			}
 			Long corpId = select.getCorpId();
 			String corpName = null;
+			String corpNumber = null;
+			String brand = null;
 			//销售订单号
 			String saleOrderNo = select.getOrderNo();
 			//采购订单号
 			String purchaseOrderNo = null;
 			//根据销售订单号,查询采购订单号
 			Order order = new Order();
-			order.setBillType("CG");
+			order.setBillType("XS");
 			order.setOrgOrderNo(saleOrderNo);
 			order.setTenantId(AuthUtil.getTenantId());
 			R<List<Order>> listR = orderDescClient.getByCgList(order);
@@ -333,6 +339,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
 			if (corpMessage.isSuccess() && corpMessage.getData() != null) {
 				corpName = corpMessage.getData().getCname();
+				corpNumber = corpMessage.getData().getCode();
 			}
 			//仓库信息
 			StorageDesc storageDesc = iStorageClient.findById(select.getStorageId());
@@ -350,6 +357,12 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			BigDecimal pricetotal1 = deliveryItems.stream().map(DeliveryItems::getPurchaseTotalAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 			BigDecimal pricetotal2 = deliveryItems.stream().map(DeliveryItems::getDeliveryAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 
+			//获得商品品牌
+			R<GoodsDescVO> goods = goodsDescClient.selectGoodsMessage(deliveryItems.get(0).getItemId());
+			if (goods.isSuccess() && goods.getData() != null) {
+				brand = goods.getData().getBrand();
+			}
+
 			//明细总采购价
 			String purchaseTotalAmount = CollectionUtils.isEmpty(deliveryItems) ? "0" : pricetotal1.toString();
 			//明细总销售价
@@ -360,7 +373,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			try {
 				String accountName = select.getBelongCompany();
 				//测试账套-收货生成凭证
-				this.testDeliverGoodsSaveVoucher(select, accountName, corpName, wareHouse, purchaseTotalAmount, deliveryAmount, saleOrderNo, purchaseOrderNo);
+				this.testDeliverGoodsSaveVoucher(brand, select, accountName, corpName, corpNumber, wareHouse, purchaseTotalAmount, deliveryAmount, saleOrderNo, purchaseOrderNo);
 				baseMapper.updateById(select);
 			} catch (Exception exception) {
 				throw new SecurityException(exception.getMessage());
@@ -554,11 +567,15 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		String acoount = CollectionUtils.isEmpty(deliveryItems) ? "0" : pricetotal.toString();
 
 		String corpName = null;
+		String corpNumber = null;
 		String orderNo = select.getOrderNo();
 		String wareHouse = null;
+		String brand = null;
+		//客户信息
 		R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
 		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
 			corpName = corpMessage.getData().getCname();
+			corpNumber = corpMessage.getData().getCode();
 		}
 		//仓库信息
 		StorageDesc storageDesc = iStorageClient.findById(select.getStorageId());
@@ -566,6 +583,11 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			wareHouse = storageDesc.getCname();
 		}
 
+		//获得商品品牌
+		R<GoodsDescVO> goods = goodsDescClient.selectGoodsMessage(deliveryItems.get(0).getItemId());
+		if (goods.isSuccess() && goods.getData() != null) {
+			brand = goods.getData().getBrand();
+		}
 
 		Long storageId = select.getStorageId();
 		//收货凭证
@@ -574,7 +596,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			try {
 				String accountName = select.getBelongCompany();
 				//测试账套-收货生成凭证
-				this.testTakeGoodsSaveVoucher(select, accountName, corpName, wareHouse, acoount, orderNo);
+				this.testTakeGoodsSaveVoucher(brand, select, accountName, corpName, corpNumber, wareHouse, acoount, orderNo);
 				baseMapper.updateById(select);
 
 			} catch (Exception exception) {
@@ -963,11 +985,11 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	}
 
 	//发货生成凭证
-	public void testDeliverGoodsSaveVoucher(Delivery delivery, String accountName, String copsName, String warehouse, String purchaseTotalAmount, String deliveryAmount, String saleOrderNo, String purchaseOrder) throws Exception {
+	public void testDeliverGoodsSaveVoucher(String brand, Delivery delivery, String accountName, String copsName, String corpNumber, String warehouse, String purchaseTotalAmount, String deliveryAmount, String saleOrderNo, String purchaseOrder) throws Exception {
 		// TODO 临时屏蔽
-		if (!"test".equals(AuthUtil.getTenantId())) {
-			return;
-		}
+//		if (!"test".equals(AuthUtil.getTenantId())) {
+//			return;
+//		}
 
 		//非达沃特用户直接返回
 		if (!"681169".equals(AuthUtil.getTenantId())) {
@@ -1010,7 +1032,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		}
 
 		//2.收货,组装model,保存凭证
-		JdyTool.voucher voucher = toDeliverJinDie(delivery.getBusinessDate(), saleOrderNo, purchaseOrder, purchaseTotalAmount, deliveryAmount, copsName, warehouse, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
+		JdyTool.voucher voucher = toDeliverJinDie(brand, delivery.getBusinessDate(), saleOrderNo, purchaseOrder, purchaseTotalAmount, deliveryAmount, copsName, corpNumber, warehouse, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}
@@ -1019,11 +1041,11 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	}
 
 	//收货生成凭证
-	public void testTakeGoodsSaveVoucher(Delivery delivery, String accountName, String copsName, String warehouse, String acoount, String orderNo) throws Exception {
+	public void testTakeGoodsSaveVoucher(String brand, Delivery delivery, String accountName, String copsName,String corpNumber, String warehouse, String acoount, String orderNo) throws Exception {
 		// TODO 临时屏蔽
-		if (!"test".equals(AuthUtil.getTenantId())) {
-			return;
-		}
+//		if (!"test".equals(AuthUtil.getTenantId())) {
+//			return;
+//		}
 
 		//获取token
 		String token = this.getAccountGroupRequest();
@@ -1060,7 +1082,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			return;
 		}
 		//2.收货,组装model,保存凭证
-		JdyTool.voucher voucher = toTakeJinDie(delivery.getBusinessDate(), orderNo, acoount, copsName, warehouse, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
+		JdyTool.voucher voucher = toTakeJinDie(brand, delivery.getBusinessDate(), orderNo, acoount, copsName, corpNumber, warehouse, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}
@@ -1068,7 +1090,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		delivery.setVoucherId(voucher.getVoucherno());
 	}
 
-	public JdyTool.voucher toDeliverJinDie(Date date, String saleOrderNo, String purchaseOrder, String purchaseTotalAmount, String deliveryAmount, String copsName, String warehouse, String accountId, String groupName, JdTenant jdTenant) {
+	public JdyTool.voucher toDeliverJinDie(String brand, Date date, String saleOrderNo, String purchaseOrder, String purchaseTotalAmount, String deliveryAmount, String copsName, String corpNumber, String warehouse, String accountId, String groupName, JdTenant jdTenant) {
 
 		List<JDYitems> jdYitems = new ArrayList<>();
 		//凭证1
@@ -1117,6 +1139,9 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 
 		JDYassist jdYassist = new JDYassist();
 		jdYassist.setType("bd_customer");
+
+		jdYassist.setNumber(corpNumber);
+
 		if (jdCorps != null) {
 			jdYassist.setNumber(jdCorps.getCorpsCode());
 		}
@@ -1168,7 +1193,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		if (dModule2 == null) {
 			throw new SecurityException("获取销售订单科目号失败");
 		}
-		d2.setExplanation(purchaseOrder + "-" + dModule2.getAbstractStatic());
+		d2.setExplanation(dModule2.getAbstractStatic());
 		d2.setAccount_number(dModule2.getProjectCode());
 		d2.setDebitamount(purchaseTotalAmount);
 		entriesList2.add(d2);
@@ -1188,7 +1213,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		if (cModule2 == null) {
 			throw new SecurityException("获取销售订单科目号失败");
 		}
-		c2.setExplanation(purchaseOrder + "-" + cModule2.getAbstractStatic());
+		c2.setExplanation(cModule2.getAbstractStatic());
 		c2.setAccount_number(cModule2.getProjectCode());
 		c2.setCreditamount(purchaseTotalAmount);
 
@@ -1198,19 +1223,24 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 
 		//warehouse="测试仓库";//具体到时候用哪个,需要关联查询传参,今天先用测试的
 		LambdaQueryWrapper<JdCorps> corpsQueryWrapper2 = new LambdaQueryWrapper<>();
+		System.out.println(AuthUtil.getTenantId());
 		corpsQueryWrapper2
 			.eq(JdCorps::getCorpsType, 4)
 			.eq(JdCorps::getAccountId, accountId)
 			.eq(JdCorps::getTenantId, AuthUtil.getTenantId())
 			.last("limit 1")
 			.eq(JdCorps::getCorpsName, warehouse);
+
 		JdCorps jdCorps2 = corpsMapper.selectOne(corpsQueryWrapper2);
 
 		JDYassist jdYassist2 = new JDYassist();
-		jdYassist2.setType("bd_store");
+		jdYassist2.setType("bd_material");
+
 		if (jdCorps2 != null) {
 			jdYassist2.setNumber(jdCorps2.getCorpsCode());
 		}
+		jdYassist2.setNumber(brand);
+
 		cList2.add(jdYassist2);
 		c2.setAssist(cList2);
 		entriesList2.add(c2);
@@ -1236,7 +1266,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	/**
 	 * 金蝶保存凭证测试-销售生成凭证
 	 */
-	public JdyTool.voucher toTakeJinDie(Date date, String orderNo, String acoount, String copsName, String warehouse, String accountId, String groupName, JdTenant jdTenant) {
+	public JdyTool.voucher toTakeJinDie(String brand, Date date, String orderNo, String acoount, String copsName, String corpNumber, String warehouse, String accountId, String groupName, JdTenant jdTenant) {
 
 
 		JDYitems item = new JDYitems();
@@ -1280,10 +1310,11 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		JdCorps jdCorps = corpsMapper.selectOne(corpsQueryWrapper);
 
 		JDYassist jdYassist = new JDYassist();
-		jdYassist.setType("bd_store");
+		jdYassist.setType("bd_material");
 		if (jdCorps != null) {
 			jdYassist.setNumber(jdCorps.getCorpsCode());
 		}
+		jdYassist.setNumber(brand);
 		dList.add(jdYassist);
 		d.setAssist(dList);
 		// ===========辅助核算=================
@@ -1330,6 +1361,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		if (jdCorps2 != null) {
 			jdYassist2.setNumber(jdCorps2.getCorpsCode());
 		}
+		jdYassist2.setNumber(corpNumber);
 		cList.add(jdYassist2);
 		c.setAssist(cList);
 		//===========辅助核算=================

+ 92 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/excel/SalesDetailsExcel.java

@@ -0,0 +1,92 @@
+package org.springblade.purchase.sales.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+*  统计分析 销售订单导出
+*/
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class SalesDetailsExcel implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 客户名称
+	 */
+	@ExcelProperty(value = "客户名称")
+	private String corpName;
+
+	/**
+	 * 时间
+	 */
+	@ExcelProperty(value = "时间")
+	private Date careteTime;
+
+	/**
+	 * 业务员
+	 */
+	@ExcelProperty(value = "业务员")
+	private String salesName;
+
+	/**
+	 * 产品编码
+	 */
+	@ExcelProperty(value = "产品编码")
+	private String commodityCode;
+
+	/**
+	 * 规格
+	 */
+	@ExcelProperty(value = "规格")
+	private String typeno;
+
+	/**
+	 * 花纹
+	 */
+	@ExcelProperty(value = "花纹")
+	private String brandItem;
+
+	/**
+	 * 数量
+	 */
+	@ExcelProperty(value = "数量")
+	private BigDecimal quantity;
+
+	/**
+	 * 金额
+	 */
+	@ExcelProperty(value = "金额")
+	private BigDecimal amount;
+
+	/**
+	 * 单价
+	 */
+	@ExcelProperty(value = "单价")
+	private BigDecimal piace;
+
+	/**
+	 * 回款额
+	 */
+	@ExcelProperty(value = "回款额")
+	private BigDecimal settlmentAmount;
+
+	/**
+	 * 包装费
+	 */
+	@ExcelProperty(value = "包装费")
+	private BigDecimal feesAmount;
+
+	/**
+	 * 特价金额
+	 */
+}

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

@@ -1339,6 +1339,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return page.setRecords(baseMapper.selBusinessOrder(page, detailsVo));
 	}
 
+
+	@Override
+	public List<SalesDetailsVo> salesDetailsExport(SalesDetailsVo detailsVo) {
+		List<SalesDetailsVo> list = baseMapper.selBusinessOrder(null, detailsVo);
+		return list;
+	}
+
+
 	@Override
 	public MonthSales monthSales(OrderVO order) {
 		MonthSales monthSales = new MonthSales();

+ 27 - 17
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -226,10 +226,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		Settlement settlement = baseMapper.selectById(id);
 		String corpsName = null;
 		String createUser = null;
+		String corpNumber = null;
+		Boolean use_voucher = false;//是否开启金蝶凭证
 		//供应商
 		R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(settlement.getCorpId());
 		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
 			corpsName = corpMessage.getData().getCname();
+			corpNumber = corpMessage.getData().getCode();
 		}
 		//业务员
 		R<User> userR = userClient.userInfoById(settlement.getCreateUser());
@@ -237,7 +240,6 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			createUser = userR.getData().getName();
 		}
 
-
 		//测试账套-保存凭证
 		if ("681169".equals(settlement.getTenantId())) {
 			//获取来源订单号
@@ -262,7 +264,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 								try {
 									String accountName = settlement.getBelongCompany();
 									//测试账套-销售保存凭证
-									this.testSaleCollectionSaveVoucher(settlement, accountName, corpsName, settlement.getAmount().toString());
+									this.testSaleCollectionSaveVoucher(settlement, accountName, corpsName, corpNumber, settlement.getAmount().toString());
 									//更新绑定
 									baseMapper.updateById(settlement);
 								} catch (Exception exception) {
@@ -277,7 +279,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 								try {
 									String accountName = settlement.getBelongCompany();
 									//测试账套-销售保存凭证
-									this.testPurchaseSaveVoucher(settlement, accountName, createUser, corpsName, settlement.getAmount().toString());
+									this.testPurchaseSaveVoucher(settlement, accountName, createUser, corpsName, corpNumber, settlement.getAmount().toString());
 									//更新绑定
 									baseMapper.updateById(settlement);
 								} catch (Exception exception) {
@@ -1454,7 +1456,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 
 	//金蝶保存凭证测试-采购付款生成凭证
-	public JdyTool.voucher toPurchaseJinDie(Date date, String account, String createUser, String corpName, String accountId, String groupName, JdTenant jdTenant) {
+	public JdyTool.voucher toPurchaseJinDie(Date date, String account, String createUser, String corpName, String corpNumber, String accountId, String groupName, JdTenant jdTenant) {
 		JDYitems item = new JDYitems();
 		item.setDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
 		List<JDYentries> entriesList = new ArrayList<>();
@@ -1514,6 +1516,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 		JDYassist jdYassist = new JDYassist();
 		jdYassist.setType("bd_employee");
+
 		if (jdCorps != null) {
 			jdYassist.setNumber(jdCorps.getCorpsCode());
 		}
@@ -1533,6 +1536,9 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 		JDYassist jdYassist2 = new JDYassist();
 		jdYassist2.setType("bd_supplier");
+
+		jdYassist2.setNumber(corpNumber);
+
 		if (jdCorps2 != null) {
 			jdYassist2.setNumber(jdCorps2.getCorpsCode());
 		}
@@ -1556,7 +1562,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 
 	//金蝶保存凭证测试-销售收款生成凭证
-	public JdyTool.voucher toSaleCollectionJinDie(Date date, String account, String corpName, String accountId, String groupName, JdTenant jdTenant) {
+	public JdyTool.voucher toSaleCollectionJinDie(Date date, String account, String corpName,String corpNumber, String accountId, String groupName, JdTenant jdTenant) {
 		JDYitems item = new JDYitems();
 		item.setDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
 		List<JDYentries> entriesList = new ArrayList<>();
@@ -1613,11 +1619,15 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			.eq(JdCorps::getAccountId, accountId)
 			.eq(JdCorps::getTenantId, AuthUtil.getTenantId())
 			.last("limit 1")
-			.eq(JdCorps::getCorpsName, corpName);
+			.eq(JdCorps::getCorpsName, corpName)
+			.eq(JdCorps::getCorpsCode, corpNumber);
 		JdCorps jdCorps = corpsMapper.selectOne(corpsQueryWrapper);
 
 		JDYassist jdYassist = new JDYassist();
 		jdYassist.setType("bd_customer");
+
+		jdYassist.setNumber(corpNumber);
+
 		if (jdCorps != null) {
 			jdYassist.setNumber(jdCorps.getCorpsCode());
 		}
@@ -1739,11 +1749,11 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 	}
 
 	//采购付款生成凭证
-	public void testPurchaseSaveVoucher(Settlement settlement, String accountName, String createUser, String corpName, String account) throws Exception {
+	public void testPurchaseSaveVoucher(Settlement settlement, String accountName, String createUser, String corpName,  String corpNumber, String account) throws Exception {
 		// TODO 临时屏蔽
-		if (!"test".equals(AuthUtil.getTenantId())) {
-			return;
-		}
+//		if (!"test".equals(AuthUtil.getTenantId())) {
+//			return;
+//		}
 
 		//非达沃特用户直接返回
 		if (!"681169".equals(AuthUtil.getTenantId())) {
@@ -1791,8 +1801,8 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		if (jdTenant == null) {
 			return;
 		}
-		//2.销售收款-保存凭证
-		JdyTool.voucher voucher = toPurchaseJinDie(settlement.getSettlementDate(), account, createUser, corpName, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
+		//2.采购收款-保存凭证
+		JdyTool.voucher voucher = toPurchaseJinDie(settlement.getSettlementDate(), account, createUser, corpName, corpNumber, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}
@@ -1804,11 +1814,11 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 
 	//销售收款生成账单
-	public void testSaleCollectionSaveVoucher(Settlement settlement, String accountName, String corpName, String account) throws Exception {
+	public void testSaleCollectionSaveVoucher(Settlement settlement, String accountName, String corpName,String corpNumber, String account) throws Exception {
 		// TODO 临时屏蔽
-		/*if (!"test".equals(AuthUtil.getTenantId())) {
-			return;
-		}*/
+//		if (!"test".equals(AuthUtil.getTenantId())) {
+//			return;
+//		}
 
 		//非达沃特用户直接返回
 		if (!"681169".equals(AuthUtil.getTenantId())) {
@@ -1856,7 +1866,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			return;
 		}
 		//2.销售收款-保存凭证
-		JdyTool.voucher voucher = toSaleCollectionJinDie(settlement.getSettlementDate(), account, corpName, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
+		JdyTool.voucher voucher = toSaleCollectionJinDie(settlement.getSettlementDate(), account, corpName, corpNumber, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}

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

@@ -241,7 +241,7 @@ public class JdyTool
 		httpRequest2.send(data2.toJSONString());
 		String body2 = httpRequest2.body().toString();
 		log.info("请求结果:"+body2);
-		getVoucherResponse  getVoucherResponse = JSONObject.parseObject(body2, getVoucherResponse.class);
+		getVoucherResponse getVoucherResponse = JSONObject.parseObject(body2, getVoucherResponse.class);
         return getVoucherResponse.getData();
 	}