Browse Source

2023年6月21日17:54:54

纪新园 2 years ago
parent
commit
05b6ab066d
24 changed files with 200 additions and 114 deletions
  1. 20 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java
  2. 12 13
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/CorpsDescImportExcel.java
  3. 6 6
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/GoodsExcel.java
  4. 7 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java
  5. 9 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/vo/OrderTotalDTO.java
  6. 5 1
      blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/controller/WechatMarkController.java
  7. 4 3
      blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/feign/PaymentClient.java
  8. 4 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/accountManagement/controller/AccountManagementController.java
  9. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java
  10. 3 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java
  11. 35 23
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/controller/GoodsDescController.java
  12. 25 24
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/service/impl/GoodsDescServiceImpl.java
  13. 2 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java
  14. 18 16
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  15. 2 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/payMethod/PayServiceImpl.java
  16. 8 4
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java
  17. 1 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java
  18. 1 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/controller/ShipController.java
  19. 5 5
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java
  20. 2 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/controller/StockDescController.java
  21. 3 3
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
  22. 6 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/GeneralLedgerExcel.java
  23. 16 2
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml
  24. 5 3
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

+ 20 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java

@@ -379,4 +379,24 @@ public class PjOrder implements Serializable {
 	//小程序检索
 	@TableField(exist = false)
 	private String retrieval;
+
+	/**
+	 * 是否存在明细
+	 */
+	@TableField(exist = false)
+	private String item;
+
+	/**
+	 * 地址
+	 */
+	@TableField(exist = false)
+	private String $recAddress;
+
+	public String get$recAddress() {
+		return $recAddress;
+	}
+
+	public void set$recAddress(String $recAddress) {
+		this.$recAddress = $recAddress;
+	}
 }

+ 12 - 13
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/CorpsDescImportExcel.java

@@ -29,13 +29,6 @@ public class CorpsDescImportExcel implements Serializable {
 	 */
 	@ExcelProperty(value = "客户分类(必填)")
 	private String type;
-
-	/**
-	 * 电话
-	 */
-	@ExcelProperty(value = "电话")
-	private String tel;
-
 	/**
 	 * 发货仓库
 	 */
@@ -48,18 +41,24 @@ public class CorpsDescImportExcel implements Serializable {
 	private String priceSystem;
 
 	/**
-	 * 账期
-	 */
-	@ExcelProperty(value = "账期")
-	private Integer accountPeriod;
-
-	/**
 	 * 业务员名称
 	 */
 	@ExcelProperty(value = "业务员(必填)")
 	private String salesmanName;
 
 	/**
+	 * 电话
+	 */
+	@ExcelProperty(value = "电话")
+	private String tel;
+
+	/**
+	 * 账期
+	 */
+	@ExcelProperty(value = "账期")
+	private Integer accountPeriod;
+
+	/**
 	 * 信用额度
 	 */
 	@ExcelProperty(value = "信用额度")

+ 6 - 6
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/GoodsExcel.java

@@ -64,6 +64,12 @@ public class GoodsExcel implements Serializable {
 	private String brandItem;
 
 	/**
+	 * 是否管理批次号  0否1是
+	 */
+	@ExcelProperty(value = "*是否管理批次号 0否1是")
+	private String whether;
+
+	/**
 	 * 产地
 	 */
 	@ExcelProperty(value = "产地")
@@ -94,12 +100,6 @@ public class GoodsExcel implements Serializable {
 	private String goodsDescription;
 
 	/**
-	 * 是否管理批次号  0否1是
-	 */
-	@ExcelProperty(value = "*是否管理批次号 0否1是")
-	private String whether;
-
-	/**
 	 * 库存预警
 	 */
 	@ExcelProperty(value = "库存预警")

+ 7 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java

@@ -1,5 +1,6 @@
 package com.trade.purchase.order.entity;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -706,4 +707,10 @@ public class OrderItems extends OrderBase {
 	 */
 	@ApiModelProperty(value = "明细类型(主表明细,配件)")
 	private String detailType;
+
+	/**
+	 * 出库日期
+	 */
+	@ApiModelProperty(value = "出库日期")
+	private Date deliveryDate;
 }

+ 9 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/vo/OrderTotalDTO.java

@@ -1,5 +1,7 @@
 package com.trade.purchase.order.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.trade.purchase.order.entity.OrderItems;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -7,6 +9,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
+import java.util.List;
 
 @Data
 @EqualsAndHashCode(callSuper = true)
@@ -58,4 +61,10 @@ public class OrderTotalDTO extends OrderItems {
 	@ApiModelProperty(value = "车船号")
 	private String vehicleShipNumber;
 
+	/**
+	 * 出库日期
+	 */
+	@TableField(exist = false)
+	private List<String> deliveryDateList;
+
 }

+ 5 - 1
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/controller/WechatMarkController.java

@@ -74,8 +74,12 @@ public class WechatMarkController extends BladeController {
 			.eq(WechatMark::getTenantId, AuthUtil.getTenantId())
 			.eq(ObjectUtils.isNotNull(wechatMark.getType()), WechatMark::getType, wechatMark.getType())
 			.like(ObjectUtils.isNotNull(wechatMark.getSerialNumber()), WechatMark::getSerialNumber, wechatMark.getSerialNumber())
-			.like(ObjectUtils.isNotNull(wechatMark.getSrcBillNo()), WechatMark::getSrcBillNo, wechatMark.getSrcBillNo())
 			.eq(ObjectUtils.isNotNull(wechatMark.getStatus()), WechatMark::getStatus, wechatMark.getStatus());
+		if ("883868".equals(AuthUtil.getTenantId())){
+			lambdaQueryWrapper.like(WechatMark::getSrcBillNo, wechatMark.getSrcBillNo());
+		}else{
+			lambdaQueryWrapper.like(ObjectUtils.isNotNull(wechatMark.getSrcBillNo()), WechatMark::getSrcBillNo, wechatMark.getSrcBillNo());
+		}
 		if (ObjectUtils.isNotNull(wechatMark.getCreateTimeList()) && wechatMark.getCreateTimeList().size() > 0) {
 			lambdaQueryWrapper.ge(WechatMark::getCreateTime, wechatMark.getCreateTimeList().get(0));
 			lambdaQueryWrapper.le(WechatMark::getCreateTime, wechatMark.getCreateTimeList().get(1));

+ 4 - 3
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/feign/PaymentClient.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.math.BigDecimal;
+import java.math.MathContext;
 import java.util.Date;
 import java.util.Map;
 import java.util.TreeMap;
@@ -46,7 +47,7 @@ public class PaymentClient implements IPaymentClient {
 		Map<Object, Object> resultObj = new TreeMap();
 		//"https://test.allinpaygd.com/JWeb/NotifyServlet"
 		try {
-			System.out.println("支付函数数据======》"+paymentDTO.toString());
+			System.out.println("支付函数数据======》" + paymentDTO.toString());
 			Map<String, String> map = service.pay(paymentDTO.getTrxamt(), paymentDTO.getReqsn(), paymentDTO.getPaytype(),
 				paymentDTO.getBody(), paymentDTO.getRemark(), paymentDTO.getAcct(), paymentDTO.getValidtime(), paymentDTO.getNotify_url(),
 				paymentDTO.getLimit_pay(), paymentDTO.getIdno(), paymentDTO.getTruename(), paymentDTO.getAsinfo(),
@@ -103,7 +104,7 @@ public class PaymentClient implements IPaymentClient {
 			wechatMark.setType("退款");
 			wechatMark.setSrcBillNo(paymentDTO.getReqsn());
 			wechatMark.setSerialNumber(paymentDTO.getOldtrxid());
-			wechatMark.setAmount(new BigDecimal(paymentDTO.getTrxamt()));
+			wechatMark.setAmount(new BigDecimal(paymentDTO.getTrxamt()).divide(new BigDecimal("100"), MathContext.DECIMAL32));
 			Map<String, String> map = service.refund(paymentDTO.getTrxamt(), paymentDTO.getReqsn(), paymentDTO.getOldtrxid(), paymentDTO.getOldreqsn(), paymentDTO.getCusId(),
 				paymentDTO.getAppId(), paymentDTO.getOrgid(), paymentDTO.getTransactionType(), paymentDTO.getSybMdAppkey(), paymentDTO.getSybRsacusprikey(), paymentDTO.getSybRsatlpubkey(),
 				paymentDTO.getSybSmpprivatekey(), paymentDTO.getSybSmtlpubkey());
@@ -121,7 +122,7 @@ public class PaymentClient implements IPaymentClient {
 					wechatMark.setCause("订单" + paymentDTO.getOldreqsn() + "退款失败!原因:金额错误,当前可退货金额为:0.00");
 					wechatMark.setStatus(4);
 				} else {
-					wechatMark.setCause("订单" + paymentDTO.getOldreqsn() + "退款失败!原因:"+return_msg);
+					wechatMark.setCause("订单" + paymentDTO.getOldreqsn() + "退款失败!原因:" + return_msg);
 					wechatMark.setStatus(4);
 					wechatMarkService.save(wechatMark);
 				}

+ 4 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/accountManagement/controller/AccountManagementController.java

@@ -17,6 +17,7 @@
 package org.springblade.salesPart.accountManagement.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -76,9 +77,10 @@ public class AccountManagementController extends BladeController {
 			.eq(PjAccountManagement::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(StringUtils.isNotBlank(accountManagement.getCname()), PjAccountManagement::getCname, accountManagement.getCname())//客户名称
 			.eq(StringUtils.isNotBlank(accountManagement.getAccountType()), PjAccountManagement::getAccountType, accountManagement.getAccountType())//账户类型
-			.eq(StringUtils.isNotBlank(accountManagement.getBankDeposit()), PjAccountManagement::getBankDeposit, accountManagement.getBankDeposit())//账户类型
+			.like(StringUtils.isNotBlank(accountManagement.getBankDeposit()), PjAccountManagement::getBankDeposit, accountManagement.getBankDeposit())//账户类型
 			.eq(StringUtils.isNotBlank(accountManagement.getCurrency()), PjAccountManagement::getCurrency, accountManagement.getCurrency())//账户类型
-			.eq(StringUtils.isNotBlank(accountManagement.getStatus()), PjAccountManagement::getStatus, accountManagement.getStatus());//状态
+			.eq(StringUtils.isNotBlank(accountManagement.getStatus()), PjAccountManagement::getStatus, accountManagement.getStatus())//状态
+			.eq(ObjectUtils.isNotNull(accountManagement.getEnableOrNot()), PjAccountManagement::getEnableOrNot, accountManagement.getEnableOrNot());//状态
 		IPage<PjAccountManagement> pages = accountManagementService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java

@@ -85,6 +85,7 @@ public class BrandDescController extends BladeController {
 		LambdaQueryWrapper<PjBrandDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjBrandDesc::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(brandDesc.getEnableOrNot()), PjBrandDesc::getEnableOrNot, brandDesc.getEnableOrNot())//状态
 			.eq(ObjectUtils.isNotNull(brandDesc.getCreateUser()), PjBrandDesc::getCreateUser, brandDesc.getCreateUser())
 			.like(ObjectUtils.isNotEmpty(brandDesc.getCname()), PjBrandDesc::getCname, brandDesc.getCname());
 		if (brandDesc.getCreateTimeList() != null && brandDesc.getCreateTimeList().size() > 1) {//业务日期

+ 3 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java

@@ -113,7 +113,7 @@ public class CorpsDescController extends BladeController {
 			for (CorpsDescVO item : pages.getRecords()) {
 				List<Long> typeIdList = corpsTypeDescService.list(new LambdaQueryWrapper<PjCorpsTypeDesc>().eq(PjCorpsTypeDesc::getCorpId, item.getId()))
 					.stream().map(PjCorpsTypeDesc::getCorpTypeId).collect(Collectors.toList());
-				if(ObjectUtils.isNotNull(item.getDeliveryWarehouseId())){
+				if (ObjectUtils.isNotNull(item.getDeliveryWarehouseId())) {
 					item.setDeliveryWarehouseName(storageDescList.stream().filter(e -> item.getDeliveryWarehouseId().equals(e.getId())).findFirst().orElse(new PjStorageDesc()).getCname());
 				}
 				if (CollectionUtil.isNotEmpty(typeIdList)) {
@@ -317,7 +317,8 @@ public class CorpsDescController extends BladeController {
 		lambdaQueryWrapper.eq(PjCorpsDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjCorpsDesc::getIsDeleted, 0)
 			.eq(PjCorpsDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
-			.eq(PjCorpsDesc::getCorpType, corpsDesc.getCorpType());
+			.eq(PjCorpsDesc::getCorpType, corpsDesc.getCorpType())
+			.like(ObjectUtils.isNotNull(corpsDesc.getCname()), PjCorpsDesc::getCname, corpsDesc.getCname());
 		List<PjCorpsDesc> list = corpsDescService.list(lambdaQueryWrapper);
 
 		return R.data(list);

+ 35 - 23
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/controller/GoodsDescController.java

@@ -37,10 +37,7 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.salesPart.corps.service.ICorpsDescService;
-import org.springblade.salesPart.entity.PjCorpsDesc;
-import org.springblade.salesPart.entity.PjGoodsDesc;
-import org.springblade.salesPart.entity.PjGoodsType;
-import org.springblade.salesPart.entity.PjProductLaunch;
+import org.springblade.salesPart.entity.*;
 import org.springblade.salesPart.excel.GoodsDescExportExcel;
 import org.springblade.salesPart.excel.GoodsExcel;
 import org.springblade.salesPart.goods.service.IGoodsDescService;
@@ -112,7 +109,9 @@ public class GoodsDescController extends BladeController {
 			.like(StringUtils.isNotBlank(goods.getBrandItem()), PjGoodsDesc::getBrandItem, goods.getBrandItem())//花纹
 			.eq(ObjectUtils.isNotEmpty(goods.getBrandId()), PjGoodsDesc::getBrandId, goods.getBrandId())//品牌
 			.like(ObjectUtils.isNotEmpty(goods.getBrandName()), PjGoodsDesc::getBrandName, goods.getBrandName())
+			.like(ObjectUtils.isNotEmpty(goods.getCnameInt()), PjGoodsDesc::getCnameInt, goods.getCnameInt())
 			.like(ObjectUtils.isNotEmpty(goods.getCode()), PjGoodsDesc::getCode, goods.getCode())//编码
+			.eq(ObjectUtils.isNotNull(goods.getEnableOrNot()), PjGoodsDesc::getEnableOrNot, goods.getEnableOrNot())//状态
 			.eq(ObjectUtils.isNotEmpty(goods.getWhether()), PjGoodsDesc::getWhether, goods.getWhether())//是否管理到批次号
 			.eq(ObjectUtils.isNotEmpty(goods.getExplosionProof()), PjGoodsDesc::getExplosionProof, goods.getExplosionProof());//是否防爆
 		if (ObjectUtil.isNotEmpty(goods.getCname())) {
@@ -264,6 +263,7 @@ public class GoodsDescController extends BladeController {
 			.like(ObjectUtils.isNotEmpty(goods.getBrandName()), PjGoodsDesc::getBrandName, goods.getBrandName())
 			.eq(ObjectUtils.isNotEmpty(goods.getSalesCompanyId()), PjGoodsDesc::getSalesCompanyId, goods.getSalesCompanyId())//所属公司
 			.eq(ObjectUtils.isNotEmpty(goods.getWhether()), PjGoodsDesc::getWhether, goods.getWhether())//是否管理到批次号
+			.eq(ObjectUtils.isNotNull(goods.getEnableOrNot()), PjGoodsDesc::getEnableOrNot, goods.getEnableOrNot())//状态
 			.eq(ObjectUtils.isNotEmpty(goods.getExplosionProof()), PjGoodsDesc::getExplosionProof, goods.getExplosionProof());//是否防爆
 		if (ObjectUtil.isNotEmpty(goods.getCname())) {
 			lambdaQueryWrapper.and(i -> i.like(PjGoodsDesc::getCname, goods.getCname()).or().like(PjGoodsDesc::getCnameInt, goods.getCname()));
@@ -306,8 +306,10 @@ public class GoodsDescController extends BladeController {
 	@ApiOperation(value = "商品下拉", notes = "传入goods")
 	public R<List<PjGoodsDesc>> goodsListAll(PjGoodsDesc goods) {
 		LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+
 		lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
-			.eq(PjGoodsDesc::getIsDeleted, 0);
+			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(goods.getEnableOrNot()), PjGoodsDesc::getEnableOrNot, goods.getEnableOrNot());//状态;
 		if (ObjectUtil.isNotEmpty(goods.getCname())) {//商品名称
 			lambdaQueryWrapper.and(i -> i.like(PjGoodsDesc::getCname, goods.getCname()).or().like(PjGoodsDesc::getCnameInt, goods.getCname()));
 		}
@@ -329,38 +331,27 @@ public class GoodsDescController extends BladeController {
 			.eq(PjProductLaunch::getIsDeleted, 0)
 			.ne(PjProductLaunch::getInventory, 0)
 			.eq(PjProductLaunch::getUpAndDownShelves, 1)
-			.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')")
-			.apply("find_in_set('" + AuthUtil.getDeptId() + "',shared_company)"));
+			.and(i -> i.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')")
+				.or().apply("find_in_set('" + AuthUtil.getDeptId() + "',shared_company)")));
 		List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getGoodsId).distinct().collect(Collectors.toList());
 		PjCorpsDesc pjCorpsDesc = corpsDescService.getById(goods.getCustomId());
 		String priceSystem = "";
-		if (ObjectUtils.isNotNull(pjCorpsDesc)){
+		if (ObjectUtils.isNotNull(pjCorpsDesc)) {
 			priceSystem = pjCorpsDesc.getPriceSystem();
 		}
 		LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
-			.eq(PjGoodsDesc::getIsDeleted, 0);
+			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(goods.getEnableOrNot()), PjGoodsDesc::getEnableOrNot, goods.getEnableOrNot());//状态;
 		if (ObjectUtil.isNotEmpty(goods.getCname())) {//商品名称
 			lambdaQueryWrapper.and(i -> i.like(PjGoodsDesc::getCname, goods.getCname()).or().like(PjGoodsDesc::getCnameInt, goods.getCname()));
 		}
 		if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
 			lambdaQueryWrapper.in(PjGoodsDesc::getId, ids);
+		} else {
+			return R.data(new ArrayList<>());
 		}
 		List<PjGoodsDesc> list = goodsDescService.list(lambdaQueryWrapper);
-		for (PjGoodsDesc item : list) {
-			PjProductLaunch pjProductLaunch = pjProductLaunchList.stream().filter(e-> e.getGoodsId().equals(item.getId())).findFirst().orElse(new PjProductLaunch());
-			if (ObjectUtils.isNotNull(pjProductLaunch)){
-				if ("售价1".equals(priceSystem)){
-					item.setPrice(pjProductLaunch.getPriceOne());
-				}else if ("售价2".equals(priceSystem)){
-					item.setPrice(pjProductLaunch.getPriceTwo());
-				}else if ("售价3".equals(priceSystem)){
-					item.setPrice(pjProductLaunch.getPriceThree());
-				}else if ("售价4".equals(priceSystem)){
-					item.setPrice(pjProductLaunch.getPriceFour());
-				}
-			}
-		}
 		return R.data(list);
 	}
 
@@ -387,6 +378,27 @@ public class GoodsDescController extends BladeController {
 	public R<PjGoodsDesc> goodsDetail(PjGoodsDesc goods) {
 		goods.setTenantId(AuthUtil.getTenantId());
 		PjGoodsDesc detail = goodsDescService.getGoodsDetail(goods);
+		PjProductLaunch pjProductLaunch = productLaunchService.getOne(new LambdaQueryWrapper<PjProductLaunch>()
+			.eq(PjProductLaunch::getIsDeleted, 0)
+			.eq(PjProductLaunch::getGoodsId, detail.getId())
+			.ne(PjProductLaunch::getInventory, 0)
+			.eq(PjProductLaunch::getUpAndDownShelves, 1)
+			.and(i -> i.apply("find_in_set(sales_company_id,'" + AuthUtil.getDeptId() + "')")
+				.or().apply("find_in_set('" + AuthUtil.getDeptId() + "',shared_company)")));
+		PjCorpsDesc pjCorpsDesc = corpsDescService.getById(goods.getCustomId());
+		String priceSystem = "";
+		if (ObjectUtils.isNotNull(pjCorpsDesc)) {
+			priceSystem = pjCorpsDesc.getPriceSystem();
+		}
+		if ("售价1".equals(priceSystem)) {
+			detail.setPrice(pjProductLaunch.getPriceOne());
+		} else if ("售价2".equals(priceSystem)) {
+			detail.setPrice(pjProductLaunch.getPriceTwo());
+		} else if ("售价3".equals(priceSystem)) {
+			detail.setPrice(pjProductLaunch.getPriceThree());
+		} else if ("售价4".equals(priceSystem)) {
+			detail.setPrice(pjProductLaunch.getPriceFour());
+		}
 		return R.data(detail);
 	}
 }

+ 25 - 24
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/service/impl/GoodsDescServiceImpl.java

@@ -94,14 +94,14 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 
 		//获得库存
 		List<PjStockDesc> stockDescList = stockDescService.list(new QueryWrapper<PjStockDesc>().eq("goods_id", goodsDesc.getId()).eq("is_deleted", 0));
-		if (ObjectUtils.isNotNull(stockDescList)){
+		if (ObjectUtils.isNotNull(stockDescList)) {
 			BigDecimal balanceQuantity = stockDescList.stream().map(PjStockDesc::getBalanceQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
-			if (balanceQuantity.compareTo(BigDecimal.ZERO) == 0){
+			if (balanceQuantity.compareTo(BigDecimal.ZERO) == 0) {
 				desc.setModifiable(1);
-			}else {
+			} else {
 				desc.setModifiable(0);
 			}
-		}else {
+		} else {
 			desc.setModifiable(1);
 		}
 
@@ -125,16 +125,16 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 	public PjGoodsDesc saveMessage(PjGoodsDesc goodsDesc) {
 
 		//获得品牌
-		if (ObjectUtils.isNotNull(goodsDesc.getBrandId())){
+		if (ObjectUtils.isNotNull(goodsDesc.getBrandId())) {
 			PjBrandDesc brandDesc = brandDescMapper.selectOne(new LambdaQueryWrapper<PjBrandDesc>()
 				.eq(PjBrandDesc::getIsDeleted, 0)
 				.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
 				.eq(PjBrandDesc::getId, goodsDesc.getBrandId()));
 
-			if (ObjectUtils.isNotNull(brandDesc)){
+			if (ObjectUtils.isNotNull(brandDesc)) {
 				goodsDesc.setBrandId(brandDesc.getId());
 				goodsDesc.setBrandName(brandDesc.getCname());
-			}else {
+			} else {
 				throw new RuntimeException("品牌名称错误或品牌不存在");
 			}
 		}
@@ -174,9 +174,9 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 
 		//修改本地上架信息
 		PjProductLaunch productLaunch = productLaunchService.getOne(new QueryWrapper<PjProductLaunch>().eq("tenant_id", AuthUtil.getTenantId())
-		.eq("is_deleted", 0).eq("sales_company_id", goodsDesc.getSalesCompanyId()).eq("goods_id", goodsDesc.getId()));
+			.eq("is_deleted", 0).eq("sales_company_id", goodsDesc.getSalesCompanyId()).eq("goods_id", goodsDesc.getId()));
 
-		if (ObjectUtil.isNotEmpty(productLaunch)){
+		if (ObjectUtil.isNotEmpty(productLaunch)) {
 			productLaunch.setCname(goodsDesc.getCname());
 			productLaunch.setSpecificationAndModel(goodsDesc.getSpecificationAndModel());
 			productLaunch.setBrandId(goodsDesc.getBrandId());
@@ -194,7 +194,7 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 		List<PjProductLaunch> list = productLaunchService.list(new QueryWrapper<PjProductLaunch>().eq("tenant_id", AuthUtil.getTenantId())
 			.eq("is_deleted", 0).eq("source_company_id", goodsDesc.getSalesCompanyId()).eq("goods_id", goodsDesc.getId()));
 
-		if (ObjectUtil.isNotEmpty(list)){
+		if (ObjectUtil.isNotEmpty(list)) {
 			list.forEach(e -> {
 				e.setCname(goodsDesc.getCname());
 				e.setSpecificationAndModel(goodsDesc.getSpecificationAndModel());
@@ -213,7 +213,7 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 		//修改库存商品信息
 		List<PjStockDesc> stockDescList = stockDescService.list(new QueryWrapper<PjStockDesc>().eq("tenant_id", AuthUtil.getTenantId())
 			.eq("is_deleted", 0).eq("sales_company_id", goodsDesc.getSalesCompanyId()).eq("goods_id", goodsDesc.getId()));
-		if (ObjectUtil.isNotEmpty(stockDescList)){
+		if (ObjectUtil.isNotEmpty(stockDescList)) {
 			stockDescList.forEach(stock -> {
 				stock.setCname(goodsDesc.getCname());
 				stock.setCode(goodsDesc.getCode());
@@ -284,16 +284,16 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 				goodsDesc.setUnit(e.getUnit());
 
 				//获得品牌
-				if (ObjectUtils.isNotNull(e.getBrand())){
+				if (ObjectUtils.isNotNull(e.getBrand())) {
 					PjBrandDesc brandDesc = brandDescMapper.selectOne(new LambdaQueryWrapper<PjBrandDesc>()
 						.eq(PjBrandDesc::getIsDeleted, 0)
 						.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
 						.eq(PjBrandDesc::getCname, e.getBrand()));
 
-					if (ObjectUtils.isNotNull(brandDesc)){
+					if (ObjectUtils.isNotNull(brandDesc)) {
 						goodsDesc.setBrandId(brandDesc.getId());
 						goodsDesc.setBrandName(e.getBrand());
-					}else {
+					} else {
 						throw new RuntimeException("品牌名称错误或品牌不存在");
 					}
 				}
@@ -303,14 +303,15 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 				goodsDesc.setPlaceProduction(e.getPlaceProduction());
 
 				// 获取供应商
-				PjCorpsDesc corpByName = corpsDescService.getCorpsDesc(e.getCorpName(), "GYS");
-				if (corpByName != null) {
-					goodsDesc.setCorpId(corpByName.getId());
-					goodsDesc.setCorpName(corpByName.getCname());
-				}else {
-					throw new RuntimeException("供应商名称错误或供应商不存在");
+				if (ObjectUtils.isNotNull(e.getCorpName())) {
+					PjCorpsDesc corpByName = corpsDescService.getCorpsDesc(e.getCorpName(), "GYS");
+					if (corpByName != null) {
+						goodsDesc.setCorpId(corpByName.getId());
+						goodsDesc.setCorpName(corpByName.getCname());
+					} else {
+						throw new RuntimeException("供应商" + e.getCorpName() + "不存在");
+					}
 				}
-
 				//获得所属公司
 				if (StringUtil.isNotBlank(e.getSalesCompanyName())) {
 					R<Dept> dept = iSysClient.getDeptIByName(AuthUtil.getTenantId(), e.getSalesCompanyName());
@@ -323,9 +324,9 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 				}
 
 				goodsDesc.setCnameInt(e.getCnameInt());
-				if (StringUtils.isNotBlank(e.getCnameInt())){
+				if (StringUtils.isNotBlank(e.getCnameInt())) {
 					goodsDesc.setCnameInt(e.getCnameInt());
-				}else {
+				} else {
 					goodsDesc.setCnameInt(getCnameInt(e.getCname()));
 				}
 
@@ -356,7 +357,7 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 					goodsTypeDes.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 					goodsTypeDescMapper.insert(goodsTypeDes);
 				} else {
-					throw new RuntimeException("商品"+ goodsDesc.getCname() +"已存在");
+					throw new RuntimeException("商品" + goodsDesc.getCname() + "已存在");
 				}
 			}
 		});

+ 2 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -69,7 +69,6 @@ public class OrderController extends BladeController {
 	private final IOrderService orderService;
 	private final IOrderItemsService orderItemsService;
 	private IUserClient iUserClient;//获取用户信息
-	private final IProductLaunchFilesService productLaunchFilesService;
 
 	/**
 	 * 销售详情
@@ -144,6 +143,8 @@ public class OrderController extends BladeController {
 						item.setCreateUserName(user.getName());
 					}
 				}
+				item.setItem(orderItemsService.count(new LambdaQueryWrapper<PjOrderItems>().eq(PjOrderItems::getIsDeleted,0)
+				.eq(PjOrderItems::getPid,item.getId()))+"");
 			});
 		}
 

+ 18 - 16
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -401,6 +401,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		pjShip.setSalesCompanyName(pjOrder.getSharedCompanyName());
 		pjShip.setSourceCompanyId(pjOrder.getSalesCompanyId());
 		pjShip.setSourceCompanyName(pjOrder.getSalesCompanyName());
+		pjShip.setRecAddress(pjOrder.get$recAddress());
 		shipMapper.insert(pjShip);
 
 		//修改销售状态为待发货
@@ -433,7 +434,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			}
 		}
 
-		return R.success("操作成功");
+		return R.data(pjOrder);
 	}
 
 	@Override
@@ -441,11 +442,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R revokeGenerateShipTask(PjOrder order) {
 		PjOrder pjOrder = baseMapper.selectById(order.getId());
-		PjShip pjShip =shipMapper.selectOne(new LambdaQueryWrapper<PjShip>().eq(PjShip::getIsDeleted,0).eq(PjShip::getOrdId,order.getId()));
-		if (ObjectUtils.isNotNull(pjShip) && (ObjectUtils.isNull(pjShip.getSendTotalNum()) || new BigDecimal("0.00").compareTo(pjShip.getSendTotalNum()) == 0)){
+		PjShip pjShip = shipMapper.selectOne(new LambdaQueryWrapper<PjShip>().eq(PjShip::getIsDeleted, 0).eq(PjShip::getOrdId, order.getId()));
+		if (ObjectUtils.isNotNull(pjShip) && (ObjectUtils.isNull(pjShip.getSendTotalNum()) || new BigDecimal("0.00").compareTo(pjShip.getSendTotalNum()) == 0)) {
 			shipMapper.deleteById(pjShip.getId());
 			shipMapper.deleteById(pjShip.getTaskId());
-		}else{
+		} else {
 			throw new RuntimeException("出库已完成,禁止撤销!");
 		}
 		//修改销售状态为待发货
@@ -477,7 +478,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				});
 			}
 		}
-		return R.success("操作成功");
+		return R.data(pjOrder);
 	}
 
 	/**
@@ -629,8 +630,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				order.setXcxStatus("退款中");
 			}
 
-			List<PjShip> shipList = shipMapper.selectList(new LambdaQueryWrapper<PjShip>().eq(PjShip::getOrdNo,order.getOrdNo()).eq(PjShip::getStatusName,"待出库"));
-			if (shipList.size()>0){
+			List<PjShip> shipList = shipMapper.selectList(new LambdaQueryWrapper<PjShip>().eq(PjShip::getOrdNo, order.getOrdNo()).eq(PjShip::getStatusName, "待出库"));
+			if (shipList.size() > 0) {
 				List<Long> ids = shipList.stream().map(PjShip::getId).collect(Collectors.toList());
 				shipMapper.deleteBatchIds(ids);
 			}
@@ -663,10 +664,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				.eq("is_deleted", 0)
 				.eq("tenant_id", AuthUtil.getTenantId()));
 			if (ObjectUtil.isNotEmpty(list)) {
-				for(PjOrderItems e:list) {
-					if (ObjectUtils.isNull(e.getSendNum()) || e.getSendNum().compareTo(new BigDecimal("0.00")) == 0){
+				for (PjOrderItems e : list) {
+					if (ObjectUtils.isNull(e.getSendNum()) || e.getSendNum().compareTo(new BigDecimal("0.00")) == 0) {
 						continue;
-					}else{
+					} else {
 						//根据销售明细创建入库工单明细
 						PjShipItems shipItems = new PjShipItems();
 						BeanUtil.copyProperties(e, shipItems);
@@ -678,7 +679,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 						shipItems.setCreateUser(AuthUtil.getUserId());
 						shipItems.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 						shipItems.setSendNum(e.getSendNum());
-						shipItems.setPrice(shipItems.getCostprie());
+						if (ObjectUtils.isNotNull(shipItems.getCostprie()) && new BigDecimal("0.00").compareTo(shipItems.getCostprie()) != 0) {
+							shipItems.setPrice(shipItems.getCostprie().divide(e.getGoodsNum(), MathContext.DECIMAL32));
+						}
 						shipItemsMapper.insert(shipItems);
 					}
 				}
@@ -694,8 +697,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				throw new SecurityException("订单已审批通过请勿重复审批");
 			}
 
-			List<PjShip> shipList = shipMapper.selectList(new LambdaQueryWrapper<PjShip>().eq(PjShip::getOrdNo,order.getOrdNo()));
-			if (shipList.size()>0){
+			List<PjShip> shipList = shipMapper.selectList(new LambdaQueryWrapper<PjShip>().eq(PjShip::getOrdNo, order.getOrdNo()));
+			if (shipList.size() > 0) {
 				List<Long> ids = shipList.stream().map(PjShip::getId).collect(Collectors.toList());
 				shipMapper.deleteBatchIds(ids);
 			}
@@ -763,7 +766,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					}
 
 					/** ----------------------修改上架库存---------------------- */
-
 					//查询所有该商品的库存
 					LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapperList = new LambdaQueryWrapper<>();
 					lambdaQueryWrapperList.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
@@ -780,13 +782,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					productLaunchQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 						.eq(PjProductLaunch::getIsDeleted, 0)
 						.eq(PjProductLaunch::getSalesCompanyId, order.getSalesCompanyId())
+						.and(i -> i.eq(PjProductLaunch::getSalesCompanyId, order.getSalesCompanyId()).or().in(PjProductLaunch::getSourceCompanyId, order.getSalesCompanyId()))
 						.eq(PjProductLaunch::getGoodsId, stockOne.getGoodsId());
 					List<PjProductLaunch> productLaunch = productLaunchMapper.selectList(productLaunchQueryWrapper);
-
 					//修改上架数量
 					if (ObjectUtil.isNotEmpty(productLaunch)) {
 						productLaunch.forEach(e -> {
-							e.setInventory(balanceQuantity);
+							e.setInventory(e.getInventory().add(item.getGoodsNum()));
 							productLaunchMapper.updateById(e);
 						});
 					}

+ 2 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/payMethod/PayServiceImpl.java

@@ -164,8 +164,8 @@ public class PayServiceImpl implements PayService {
 		//微信退款
 		PaymentDTO paymentDTO = new PaymentDTO();
 		paymentDTO.setTrxamt(amount.multiply(new BigDecimal(100)).intValue());
-		paymentDTO.setReqsn(paySerialNumber);
-		paymentDTO.setOldreqsn(refundSerialNumber);
+		paymentDTO.setReqsn(refundSerialNumber);
+		paymentDTO.setOldreqsn(paySerialNumber);
 		paymentDTO.setOldtrxid(trxId);
 		paymentDTO.setCusId(parameters.getCusId());
 		paymentDTO.setAppId(parameters.getAppId());

+ 8 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java

@@ -97,9 +97,13 @@ public class ProductLaunchController extends BladeController {
 		LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 			.eq(PjProductLaunch::getIsDeleted, 0)
-			.eq(PjProductLaunch::getBillType, productLaunch.getBillType())
-			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())//公司
-			.like(ObjectUtils.isNotEmpty(productLaunch.getSpecificationAndModel()), PjProductLaunch::getSpecificationAndModel, productLaunch.getSpecificationAndModel())//规格型号
+			.eq(PjProductLaunch::getBillType, productLaunch.getBillType());
+		if (ObjectUtils.isNotNull(productLaunch.getSourceCompanyId())) {
+			lambdaQueryWrapper.eq(PjProductLaunch::getSalesCompanyId, productLaunch.getSourceCompanyId());//公司
+		} else {
+			lambdaQueryWrapper.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId());//公司
+		}
+		lambdaQueryWrapper.like(ObjectUtils.isNotEmpty(productLaunch.getSpecificationAndModel()), PjProductLaunch::getSpecificationAndModel, productLaunch.getSpecificationAndModel())//规格型号
 			.eq(ObjectUtil.isNotEmpty(productLaunch.getUpAndDownShelves()), PjProductLaunch::getUpAndDownShelves, productLaunch.getUpAndDownShelves())//上下架
 			.in(ObjectUtil.isNotEmpty(productLaunch.getSharedCompanyList()), PjProductLaunch::getSharedCompany, productLaunch.getSharedCompanyList());//共享公司
 		if (ObjectUtil.isNotEmpty(productLaunch.getCname())) {
@@ -113,7 +117,7 @@ public class ProductLaunchController extends BladeController {
 		String deptId = pages.getRecords().stream().map(PjProductLaunch::getSharedCompany).filter(ObjectUtils::isNotNull).distinct().collect(Collectors.joining());
 		R<List<Dept>> deptList = iSysClient.selectByDeptIds(deptId);
 		for (PjProductLaunch item : pages.getRecords()) {
-			if(ObjectUtils.isNotNull(deptList.getData()) && deptList.getData().size()>0){
+			if (ObjectUtils.isNotNull(deptList.getData()) && deptList.getData().size() > 0) {
 				String deptName = deptList.getData().stream()
 					.filter(e -> ObjectUtils.isNotNull(item.getSharedCompany()) && item.getSharedCompany().contains(e.getId() + ""))
 					.map(Dept::getFullName).collect(Collectors.joining());

+ 1 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java

@@ -369,8 +369,6 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 						launchList.add(selOne);
 					}
 				}
-				String sharedCompany = productLaunch.getSharedCompany().substring(1);
-				productLaunch.setSharedCompany(sharedCompany);
 				LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 					.eq(PjProductLaunch::getBillType, 1)
@@ -635,6 +633,7 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 				LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
 					.eq(PjStockDesc::getIsDeleted, 0)
+					.eq(PjStockDesc::getSalesCompanyId, AuthUtil.getDeptId())
 					.eq(PjStockDesc::getGoodsId, pjGoodsDesc.getId());
 
 				List<PjStockDesc> pjStockDescList = stockDescService.list(lambdaQueryWrapper);

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/controller/ShipController.java

@@ -325,7 +325,7 @@ public class ShipController extends BladeController {
 	@ApiOperation(value = "导出模板")
 	public void exportItem(HttpServletResponse response) {
 		List<ShipItemImportExcel> list = new ArrayList<>();
-		ExcelUtil.export(response, "导出模板-明细信息", "导出模板-明细信息", list, ShipItemImportExcel.class);
+		ExcelUtil.export(response, "导入模板-明细信息", "导入模板-明细信息", list, ShipItemImportExcel.class);
 	}
 
 	/**

+ 5 - 5
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -775,13 +775,13 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			//判断必填项是否为空
 			ShipItemImportExcel itemExcel = excelList.get(i);
 			if (ObjectUtil.isEmpty(itemExcel.getGoodsName())) {
-				throw new SecurityException("第" + (i + 2) + "行,商品名称为空");
+				throw new SecurityException("第" + (i + 1) + "行,商品名称为空");
 			}
 			if (ObjectUtil.isEmpty(itemExcel.getPrice())) {
-				throw new SecurityException("第" + (i + 2) + "行,价格为空");
+				throw new SecurityException("第" + (i + 1) + "行,价格为空");
 			}
 			if (ObjectUtil.isEmpty(itemExcel.getGoodsNum())) {
-				throw new SecurityException("第" + (i + 2) + "行,数量为空");
+				throw new SecurityException("第" + (i + 1) + "行,数量为空");
 			}
 
 			PjShipItems item = new PjShipItems();
@@ -811,14 +811,14 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					}
 				} else {//已开启批次号管理
 					if (ObjectUtil.isEmpty(itemExcel.getDot())) {
-						throw new RuntimeException("第" + (i + 2) + "行,商品已开启管理批次号,请填写批次号");
+						throw new RuntimeException("第" + (i + 1) + "行,商品已开启管理批次号,请填写批次号");
 					}
 				}
 
 				item.setUnits(goodsDesc.getUnit());
 				item.setSendNum(itemExcel.getGoodsNum());
 			} else {
-				throw new RuntimeException("第" + (i + 2) + "行,商品名称不存在");
+				throw new RuntimeException("第" + (i + 1) + "行,商品名称不存在");
 			}
 
 			list.add(item);

+ 2 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/controller/StockDescController.java

@@ -105,9 +105,10 @@ public class StockDescController extends BladeController {
 	public R<IPage<PjStockDesc>> groundingList(PjStockDesc stockDesc, Query query) {
 		List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(new LambdaQueryWrapper<PjProductLaunch>()
 			.eq(PjProductLaunch::getIsDeleted, 0)
+			.eq(PjProductLaunch::getBillType, 0)
 			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId()));
 		List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getGoodsId).distinct().collect(Collectors.toList());
-		if (ObjectUtils.isNotNull(ids) && ids.size() > 0){
+		if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
 			stockDesc.setGoodsIds(ids);
 		}
 		stockDesc.setSalesCompanyIds(AuthUtil.getDeptId());

+ 3 - 3
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -441,10 +441,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 
 	@Override
 	public List<Map<String, Object>> gainUser(String tenantId) {
-		if ("681169".equals(AuthUtil.getTenantId())) {
-			return baseMapper.gainUser(tenantId, null);
-		} else {
+		if ("883868".equals(AuthUtil.getTenantId())) {
 			return baseMapper.gainUser(tenantId, AuthUtil.getDeptId());
+		} else {
+			return baseMapper.gainUser(tenantId, null);
 		}
 	}
 

+ 6 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/GeneralLedgerExcel.java

@@ -119,5 +119,11 @@ public class GeneralLedgerExcel {
 	@ExcelProperty(value = "状态")
 	private int status;
 
+	/**
+	 * 出库日期
+	 */
+	@ExcelProperty(value = "出库日期")
+	private String deliveryDate;
+
 
 }

+ 16 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -392,7 +392,8 @@
         bo.bill_no AS morderNo,
         bo.sys_no AS sysNo,
         boi.is_Issue AS status,
-               boi.container_no AS containerNo
+        boi.container_no AS containerNo,
+        DATE_FORMAT(boi.delivery_date, '%Y-%m-%d') AS deliveryDate
         FROM
         business_order bo
         LEFT JOIN business_order_items boi ON boi.pid = bo.id
@@ -469,6 +470,12 @@
         <if test="Order.isIssue == null or Order.isIssue == ''">
             and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
         </if>
+        <if test="Order.deliveryDateList !=null and Order.deliveryDateList[0] != ''">
+            and boi.delivery_date &gt;= #{Order.deliveryDateList[0]}
+        </if>
+        <if test="Order.deliveryDateList !=null and Order.deliveryDateList[1] != ''">
+            and boi.delivery_date &lt;= #{Order.deliveryDateList[1]}
+        </if>
         order by bo.busines_date
     </select>
 
@@ -611,7 +618,8 @@
         bo.bill_no AS morderNo,
         bo.sys_no AS sysNo,
         boi.is_Issue AS status,
-        boi.container_no AS containerNo
+        boi.container_no AS containerNo,
+        DATE_FORMAT(boi.delivery_date, '%Y-%m-%d') AS deliveryDate
         FROM
         business_order bo
         LEFT JOIN business_order_items boi ON boi.pid = bo.id
@@ -688,6 +696,12 @@
         <if test="Order.isIssue == null or Order.isIssue == ''">
             and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
         </if>
+        <if test="Order.deliveryDateList !=null and Order.deliveryDateList[0] != ''">
+            and boi.delivery_date &gt;= #{Order.deliveryDateList[0]}
+        </if>
+        <if test="Order.deliveryDateList !=null and Order.deliveryDateList[1] != ''">
+            and boi.delivery_date &lt;= #{Order.deliveryDateList[1]}
+        </if>
         order by bo.busines_date
     </select>
     <select id="rubberStock" resultType="com.trade.purchase.excel.RubberStockDto">

+ 5 - 3
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -1920,15 +1920,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				for (OrderItems orderItems : orderItemsList) {
 					OrderItems RKorderItems = new OrderItems();
 					RKorderItems.setId(orderItems.getSrcItemId());
-					orderItems.setUpdateTime(new Date());
-					orderItems.setUpdateUser(AuthUtil.getUserId());
+					RKorderItems.setUpdateTime(new Date());
+					RKorderItems.setUpdateUser(AuthUtil.getUserId());
 					RKorderItems.setScanningComparison("Y");
 					RKorderItems.setIsIssue("5");
+					RKorderItems.setDeliveryDate(date);
 					orderItemsMapper.updateById(RKorderItems);
 					orderItems.setUpdateTime(new Date());
 					orderItems.setUpdateUser(AuthUtil.getUserId());
 					orderItems.setScanningComparison("Y");
 					orderItems.setIsIssue("5");
+					orderItems.setDeliveryDate(date);
 					orderItemsMapper.updateById(orderItems);
 				}
 			} else if (OrderTypeEnum.WAREHOUSING.getType().equals(order.getBillType())) {//入库手动修改货物状态为在库
@@ -1938,7 +1940,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				queryWrapper.eq("is_deleted", 0);
 				List<OrderItems> orderItemsList = orderItemsMapper.selectList(queryWrapper);
 				for (OrderItems orderItems : orderItemsList) {
-					orderItems.setStockTime(date);
+					orderItems.setDeliveryDate(date);
 					orderItems.setIsIssue("3");
 					orderItems.setUpdateTime(new Date());
 					orderItems.setUpdateUser(AuthUtil.getUserId());