Bläddra i källkod

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

纪新园 2 år sedan
förälder
incheckning
2856516f57

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

@@ -94,6 +94,13 @@ public class PjStockDesc implements Serializable {
 	*/
 		@ApiModelProperty(value = "仓库/库区id")
 		private Long storageId;
+
+	/**
+	 * 仓库/库区名称
+	 */
+	@ApiModelProperty(value = "仓库/库区名称")
+	private String storageName;
+
 	/**
 	* 商品id
 	*/

+ 4 - 1
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/enums/OrderTypeEnum.java

@@ -128,7 +128,10 @@ public enum OrderTypeEnum {
 	 */
 	GOODSRECEIVED("待收货"),
 
-
+	/**
+	 * 待付款
+	 */
+	WAITPAYMENT("待付款"),
 	;
 
 	private final String type;

+ 98 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/StockExportExcel.java

@@ -0,0 +1,98 @@
+package org.springblade.salesPart.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 StockExportExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 物料编号
+	 */
+	@ExcelProperty(value = "物料编号")
+	private String code;
+	/**
+	 * 商品名称
+	 */
+	@ExcelProperty(value = "商品名称")
+	private String cname;
+
+	/**
+	 * 品牌名称
+	 */
+	@ExcelProperty(value = "品牌")
+	private String brandName;
+
+	/**
+	 * 规格型号
+	 */
+	@ExcelProperty(value = "规格型号")
+	private String typeno;
+	/**
+	 * 花纹
+	 */
+	@ExcelProperty(value = "花纹")
+	private String brandItem;
+	/**
+	 * 商品描述
+	 */
+	@ExcelProperty(value = "商品描述")
+	private String productDescription;
+
+	/**
+	 * 仓库/库区名称
+	 */
+	@ExcelProperty(value = "仓库")
+	private String storageName;
+
+	/**
+	 * 结余数量
+	 */
+	@ExcelProperty(value = "库存数量")
+	private BigDecimal balanceQuantity;
+
+	/**
+	 * 批次号
+	 */
+	@ExcelProperty(value = "批次")
+	private String dot;
+
+	/**
+	 * 商城库存
+	 */
+	@ExcelProperty(value = "上架库存")
+	private BigDecimal storeInventory;
+
+	/**
+	 * 库存金额
+	 */
+	@ExcelProperty(value = "库存金额")
+	private BigDecimal inventoryAmount;
+
+	/**
+	 * 库存成本价
+	 */
+	@ExcelProperty(value = "库存成本")
+	private BigDecimal inventoryCostPrice;
+
+	/**
+	 * 库存预警
+	 */
+	@ExcelProperty(value = "库存预警")
+	private Integer inventoryAlert;
+}

+ 2 - 1
blade-service/blade-client/src/main/java/org/springblade/client/port/feign/PortClient.java

@@ -40,7 +40,8 @@ public class PortClient implements IPortClient {
 			.eq(ObjectUtils.isNotNull(basicPortDesc.getName()), BasicPortDesc::getName, basicPortDesc.getName())
 			.eq(ObjectUtils.isNotNull(basicPortDesc.getCode()), BasicPortDesc::getCode, basicPortDesc.getCode())
 			.eq(ObjectUtils.isNotNull(basicPortDesc.getId()), BasicPortDesc::getId, basicPortDesc.getId())
-			.eq(BasicPortDesc::getTenantId, AuthUtil.getTenantId());
+			.eq(BasicPortDesc::getTenantId, AuthUtil.getTenantId())
+			.last("LIMIT 1");
 		return portDescService.getOne(lambdaQueryWrapper);
 	}
 

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

@@ -101,8 +101,9 @@ public class OrderController extends BladeController {
 			lambdaQueryWrapper.ge(PjOrder::getCreateTime, order.getCreateTimeList().get(0));
 			lambdaQueryWrapper.le(PjOrder::getCreateTime, order.getCreateTimeList().get(1));
 		}
+		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 
-		IPage<PjOrder> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
+		IPage<PjOrder> pages = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
 
 		String updateUserIds = "";//修改人id拼接
 		String createUserIds = "";//创建人id拼接

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

@@ -26,6 +26,7 @@ import org.springblade.pay.tonglianPayment.entity.Parameters;
 import org.springblade.pay.tonglianPayment.fegin.IPaymentClient;
 import org.springblade.pay.tonglianPayment.fegin.ITongLianPaymentClient;
 import org.springblade.salesPart.entity.PjOrder;
+import org.springblade.salesPart.enums.OrderTypeEnum;
 import org.springblade.salesPart.order.service.IOrderService;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
@@ -126,6 +127,8 @@ public class PayServiceImpl implements PayService {
 				order.setActualPaymentStatus(1);
 				order.setPaymentAmountTl(amount.multiply(new BigDecimal(100)));
 				order.setOldTrxId(res.getData().get("trxid").toString());
+				order.setStatus(OrderTypeEnum.XSDQR.getType());
+				order.setXcxStatus(OrderTypeEnum.XSDFH.getType());
 				//更新订单表
 				orderService.updateById(order);
 				res.getData().put("id", id);

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

@@ -234,6 +234,7 @@ public class ProductLaunchController extends BladeController {
 			.eq(PjProductLaunch::getIsDeleted, 0)
 			.eq(PjProductLaunch::getUpAndDownShelves,1)
 			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())//公司
+			.like(ObjectUtil.isNotEmpty(productLaunch.getCname()), PjProductLaunch::getCname, productLaunch.getCname())
 			.eq(ObjectUtils.isNotEmpty(productLaunch.getBrandId()), PjProductLaunch::getBrandId, productLaunch.getBrandId())//品牌
 			.like(ObjectUtils.isNotEmpty(productLaunch.getBrandName()), PjProductLaunch::getBrandName, productLaunch.getBrandName())
 			.ne(PjProductLaunch::getWhetherShare, 1)

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

@@ -67,6 +67,12 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 	private final ISerialClient serialClient;//生成系统编号
 	private final ShoppingCartMapper shoppingCartMapper;
 
+	/**
+	 * 获取详情
+	 *
+	 * @param productLaunch
+	 * @return
+	 */
 	@Override
 	public PjProductLaunch getMessageById(PjProductLaunch productLaunch) {
 		PjProductLaunch detail = baseMapper.selectById(productLaunch.getId());
@@ -74,7 +80,7 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 		detail.setFilesList(productLaunchFilesService.list(new QueryWrapper<PjProductLaunchFiles>().eq("pid", productLaunch.getId()).eq("is_deleted", 0)));
 
 		if (ObjectUtil.isEmpty(detail.getSharedCompany())){
-			detail.setSharedCompany(" ");
+			detail.setSharedCompany("");
 		}
 		return detail;
 	}

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

@@ -99,6 +99,7 @@ public class ShipController extends BladeController {
 			lambdaQueryWrapper.ge(PjShip::getCreateTime, ship.getCreateTimeList().get(0));
 			lambdaQueryWrapper.le(PjShip::getCreateTime, ship.getCreateTimeList().get(1));
 		}
+		lambdaQueryWrapper.orderByDesc(PjShip::getCreateTime);
 
 		IPage<PjShip> pages = shipService.page(Condition.getPage(query), lambdaQueryWrapper);
 

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

@@ -27,6 +27,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.mocha.entity.BusinessOverpaymentItem;
 import org.springblade.salesPart.entity.*;
 import org.springblade.salesPart.enums.OrderTypeEnum;
 import org.springblade.salesPart.goods.mapper.GoodsDescMapper;
@@ -56,6 +57,7 @@ import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import static org.springblade.core.secure.utils.AuthUtil.getUser;
 
@@ -361,7 +363,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				if (ObjectUtil.isNotEmpty(stockOne)){
 					stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().subtract(item.getSendNum()));
 					stockOne.setStoreInventory(stockOne.getBalanceQuantity());
-					stockOne.setInventoryAmount(stockOne.getInventoryAmount().subtract(item.getSendNum().multiply(item.getCostprie())));
+					stockOne.setInventoryAmount(stockOne.getInventoryAmount().subtract(item.getSendNum().multiply(stockOne.getInventoryCostPrice())));
 					stockDescMapper.updateById(stockOne);
 				}else {
 					throw new RuntimeException("库存数据异常");
@@ -482,7 +484,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 	@Transactional(rollbackFor = Exception.class)
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R warehousingComplete(PjShip ship) {
-		ship.setStatusName(OrderTypeEnum.RECEIVED.getType());
+
 		if (ship.getId() == null){
 			// 获取系统编号
 			R billNo = serialClient.getBillNo(OrderTypeEnum.SHGD.getType(), OrderTypeEnum.SHGD.getType(), OrderTypeEnum.SHGD.getType());
@@ -539,21 +541,32 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 
 				stockDesc.setSalesCompanyId(ship.getSalesCompanyId());
 				stockDesc.setSalesCompanyName(ship.getSalesCompanyName());
-				stockDesc.setStorageId(ship.getStorageId());
-				stockDesc.setGoodsId(item.getGoodsId());
+
+				//获得仓库
+				PjStorageDesc storageDesc = storageDescMapper.selectById(ship.getStorageId());
+				if (ObjectUtil.isNotEmpty(storageDesc)){
+					stockDesc.setStorageId(storageDesc.getId());
+					stockDesc.setStorageName(storageDesc.getCname());
+				}else {
+					throw new RuntimeException("仓库数据异常");
+				}
+
+				stockDesc.setGoodsId(goodsDesc.getId());
 				stockDesc.setCode(item.getGoodsNo());
-				stockDesc.setCname(item.getGoodsName());
+				stockDesc.setCname(goodsDesc.getCname());
+				stockDesc.setInventoryAlert(goodsDesc.getInventoryAlert());
 				stockDesc.setBrandId(item.getBrandId());
 				stockDesc.setBrandName(item.getBrandName());
 				stockDesc.setTypeno(item.getPropertyName());
 				stockDesc.setBrandItem(item.getPattern());
 				stockDesc.setProductDescription(item.getGoodsDescription());
+				stockDesc.setDot(item.getDot());
 
 				LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
 					.eq(PjStockDesc::getIsDeleted, 0)
 					.eq(PjStockDesc::getSalesCompanyId, ship.getSalesCompanyId())
-					.eq(PjStockDesc::getGoodsId, item.getGoodsId())
+					.eq(PjStockDesc::getGoodsId, goodsDesc.getId())
 					.eq(PjStockDesc::getStorageId, ship.getStorageId());
 				if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && goodsDesc.getWhether().equals("1")){//管理批次号
 					lambdaQueryWrapper.eq(PjStockDesc::getDot, item.getDot());
@@ -572,6 +585,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					stockDesc.setInventoryCostPrice(stockDesc.getInventoryAmount().divide(stockDesc.getBalanceQuantity(), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
 					stockDescMapper.insert(stockDesc);
 				}else {
+					stockDesc.setId(stockOne.getId());
 					stockDesc.setUpdateTime(new Date());
 					stockDesc.setUpdateUser(AuthUtil.getUserId());
 					stockDesc.setBalanceQuantity(stockOne.getBalanceQuantity().add(item.getSendNum()));
@@ -582,40 +596,59 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					stockDescMapper.updateById(stockDesc);
 				}
 
-				//修改上架库存
+				/** ----------------------修改上架库存---------------------- */
+
+				//查询所有该商品的库存
+				LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapperList = new LambdaQueryWrapper<>();
+				lambdaQueryWrapperList.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
+					.eq(PjStockDesc::getIsDeleted, 0)
+					.eq(PjStockDesc::getGoodsId, goodsDesc.getId());
+				List<PjStockDesc> stockDescList = stockDescMapper.selectList(lambdaQueryWrapperList);
+
+				//库存总数量
+				BigDecimal balanceQuantity = stockDescList.stream().map(PjStockDesc::getBalanceQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+				//查询所有上架商品
 				LambdaQueryWrapper<PjProductLaunch> productLaunchQueryWrapper = new LambdaQueryWrapper<>();
 				productLaunchQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 					.eq(PjProductLaunch::getIsDeleted, 0)
-					.eq(PjProductLaunch::getGoodsId, stockDesc.getGoodsId())
-					.eq(PjProductLaunch::getBillType, 0);
-				PjProductLaunch productLaunch = productLaunchMapper.selectOne(productLaunchQueryWrapper);
+					.eq(PjProductLaunch::getGoodsId, stockDesc.getGoodsId());
+				List<PjProductLaunch> productLaunch = productLaunchMapper.selectList(productLaunchQueryWrapper);
 
+				//修改上架数量
 				if (ObjectUtil.isNotEmpty(productLaunch)){
-					productLaunch.setInventory(stockDesc.getBalanceQuantity());
+					productLaunch.forEach(e -> {
+						e.setInventory(balanceQuantity);
+						productLaunchMapper.updateById(e);
+					});
 				}
-				productLaunchMapper.updateById(productLaunch);
+
+				/** ----------------------修改上架库存---------------------- */
 			});
 			ship.setShipItemsList(ship.getShipItemsList());
 			ship.setNumberRows(ship.getShipItemsList().size());
 		}
 
 		//修改采购订单状态
-		PjOrder order = orderMapper.selectById(ship.getOrdId());
+		/*PjOrder order = orderMapper.selectById(ship.getOrdId());
 		if (ObjectUtil.isNotEmpty(order)){
 			order.setStatus(OrderTypeEnum.RECEIVEDGOODS.getType());
 			orderMapper.updateById(order);
 		}else {
 			throw new RuntimeException("数据异常请联系管理员");
-		}
+		}*/
 
 		//生成出库工单历史记录
 		saveHistory(ship.getId(), OrderTypeEnum.RECEIVED.getType());
 
+		ship.setStatusName(OrderTypeEnum.RECEIVED.getType());
+		baseMapper.updateById(ship);
+
 		return R.data(ship);
 	}
 
 	/**
-	 * 生成出库工单历史记录
+	 * 生成工单历史记录
 	 */
 	public void saveHistory(Long pid, String status){
 		//生成出库工单历史记录
@@ -626,7 +659,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		history.setCreateTime(new Date());
 		history.setPid(pid);
 		history.setOperatorId(AuthUtil.getUserId());
-		history.setOperatorName(getUser().getRoleName());
+		history.setOperatorName(getUser().getUserName());
 		history.setOperateTime(new Date());
 		history.setOperateStatus(status);
 		historyMapper.insert(history);

+ 22 - 17
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java

@@ -31,6 +31,7 @@ import org.springblade.salesPart.enums.OrderTypeEnum;
 import org.springblade.salesPart.goods.mapper.GoodsDescMapper;
 import org.springblade.salesPart.order.mapper.OrderItemsMapper;
 import org.springblade.salesPart.order.mapper.OrderMapper;
+import org.springblade.salesPart.payMethod.PayService;
 import org.springblade.salesPart.productLaunch.mapper.ProductLaunchMapper;
 import org.springblade.salesPart.shoppingCart.mapper.ShoppingCartMapper;
 import org.springblade.salesPart.shoppingCart.service.IShoppingCartService;
@@ -69,6 +70,7 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 	private final OrderItemsMapper orderItemsMapper;
 	private final ProductLaunchMapper productLaunchMapper;
 	private final ISysClient sysClient;
+	private final PayService payService;
 
 	/**
 	 * 保存修改购物车信息
@@ -141,8 +143,8 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 				throw new RuntimeException("生成系统编号失败");
 			}
 
-			list.forEach(map -> {
-				Integer i = 1;
+			Integer i = 1;
+			for (Map<String, Object> map : list) {
 				String k = (String) map.get("name");
 				if (StringUtil.isNotBlank(k)) {
 
@@ -153,9 +155,9 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 					//保存销售主表信息
 					PjOrder order = new PjOrder();
 
-					if (list.size() == 1){//如果只有一个公司,订单编号和主编号一致
+					if (list.size() == 1) {//如果只有一个公司,订单编号和主编号一致
 						order.setOrdNo((String) billNo.getData());
-					}else {
+					} else {
 						order.setOrdNo(billNo.getData() + "-" + i);
 					}
 					order.setSrcOrdNo((String) billNo.getData());
@@ -165,9 +167,9 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 					//处理部门
 					int index = AuthUtil.getDeptId().indexOf(",");
 					Long deptId = null;
-					if (index > -1){
+					if (index > -1) {
 						deptId = Long.valueOf(AuthUtil.getDeptId().substring(0, index));
-					}else {
+					} else {
 						deptId = (Long.valueOf(AuthUtil.getDeptId()));
 					}
 
@@ -176,6 +178,8 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 					order.setTenantId(AuthUtil.getTenantId());
 					order.setStatus(OrderTypeEnum.XSDQR.getType());
 					order.setXcxStatus(OrderTypeEnum.XSDFH.getType());
+					/*order.setStatus(OrderTypeEnum.WAITPAYMENT.getType());
+					order.setXcxStatus(OrderTypeEnum.WAITPAYMENT.getType());*/
 					order.setCustomerId(finalCorpsDesc.getId());
 					order.setCustomerName(finalCorpsDesc.getCname());
 					order.setSalesCompanyId(deptId);
@@ -188,7 +192,7 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 					orderMapper.insert(order);
 
 					//保存销售明细信息
-					if (ObjectUtil.isNotEmpty(shoppingCartList)){
+					if (ObjectUtil.isNotEmpty(shoppingCartList)) {
 						shoppingCartList.forEach(e -> {
 							PjOrderItems orderItems = new PjOrderItems();
 							BeanUtils.copyProperties(e, orderItems);
@@ -211,13 +215,13 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 
 							//修改上架管理库存
 							PjProductLaunch productLaunch = productLaunchMapper.selectById(e.getProductLaunchId());
-							if (ObjectUtil.isNotEmpty(productLaunch)){
-								if (ObjectUtil.isNotEmpty(e.getGoodsNum())){
-									if ( e.getGoodsNum().compareTo(BigDecimal.ZERO) > 0){
+							if (ObjectUtil.isNotEmpty(productLaunch)) {
+								if (ObjectUtil.isNotEmpty(e.getGoodsNum())) {
+									if (e.getGoodsNum().compareTo(BigDecimal.ZERO) > 0) {
 										productLaunch.setInventory(productLaunch.getInventory().subtract(e.getGoodsNum()));
 										productLaunchMapper.updateById(productLaunch);
 									}
-								}else {
+								} else {
 									e.setGoodsNum(BigDecimal.ZERO);
 								}
 							}
@@ -226,27 +230,28 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 						BigDecimal totalMoney = BigDecimal.ZERO;
 						order.setNumberRows(shoppingCartList.size());//行数
 						//明细总数量
-						order.setGoodsTotalNum(shoppingCartList.stream().filter(e ->e.getGoodsNum() != null).map(PjShoppingCart::getGoodsNum).reduce(BigDecimal.ZERO,BigDecimal::add));
+						order.setGoodsTotalNum(shoppingCartList.stream().filter(e -> e.getGoodsNum() != null).map(PjShoppingCart::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add));
 
 						//明细总金额
 						totalMoney = shoppingCartList.stream().reduce(BigDecimal.ZERO, (x, y) -> {
 							return x.add(y.getGoodsNum().multiply(y.getPrice()));
-						},BigDecimal::add).setScale(2,BigDecimal.ROUND_HALF_UP);
+						}, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
 
 						order.setSalesAmount(totalMoney);
+						order.setTotalMoney(totalMoney);
 
-						if (shoppingCartList.size() == 1){//只有一条明细加5元运费
-							totalMoney.add(new BigDecimal(5));
+						if (shoppingCartList.size() == 1) {//只有一条明细加5元运费
+							order.setTotalMoney(totalMoney.add(new BigDecimal(5)));
 							order.setFreight(new BigDecimal(5));
 						}
-						order.setTotalMoney(totalMoney);
+
 						order.setSharedCompanyId(shoppingCartList.get(0).getSharedCompanyId());
 						order.setSharedCompanyName(shoppingCartList.get(0).getSharedCompanyName());
 					}
 					orderMapper.updateById(order);
 				}
 				i++;
-			});
+			}
 
 		}else {
 			throw new RuntimeException("请选择需要结算的商品");

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

@@ -21,16 +21,23 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.License;
 import lombok.AllArgsConstructor;
+
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 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.core.tool.utils.ObjectUtil;
 import org.springblade.salesPart.entity.PjProductLaunch;
+import org.springblade.salesPart.excel.CorpsDescExportExcel;
+import org.springblade.salesPart.excel.StockExportExcel;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.salesPart.entity.PjStockDesc;
@@ -38,6 +45,8 @@ import org.springblade.salesPart.vo.StockDescVO;
 import org.springblade.salesPart.stock.service.IStockDescService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.List;
+
 /**
  * 配件批发库存表 控制器
  *
@@ -78,7 +87,8 @@ public class StockDescController extends BladeController {
 			.like(ObjectUtil.isNotEmpty(stockDesc.getCname()), PjStockDesc::getCname, stockDesc.getCname())
 			.like(ObjectUtil.isNotEmpty(stockDesc.getTypeno()), PjStockDesc::getTypeno, stockDesc.getTypeno())
 			.eq(ObjectUtil.isNotEmpty(stockDesc.getStorageId()), PjStockDesc::getStorageId, stockDesc.getStorageId())
-			.eq(ObjectUtil.isNotEmpty(stockDesc.getBrandId()), PjStockDesc::getBrandId, stockDesc.getBrandId());
+			.eq(ObjectUtil.isNotEmpty(stockDesc.getBrandId()), PjStockDesc::getBrandId, stockDesc.getBrandId())
+			.orderByAsc(PjStockDesc::getCreateTime);
 
 		IPage<PjStockDesc> pages = stockDescService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
@@ -136,5 +146,26 @@ public class StockDescController extends BladeController {
 		return R.status(stockDescService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 配件批发库存表导出
+	 */
+	@GetMapping("/stockExport")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "配件批发库存表导出", notes = "传入stockDesc")
+	public void stockExport(PjStockDesc stockDesc, HttpServletResponse response) {
+		LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjStockDesc::getIsDeleted, 0)
+			.eq(PjStockDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
+			.like(ObjectUtil.isNotEmpty(stockDesc.getCode()), PjStockDesc::getCode, stockDesc.getCode())
+			.like(ObjectUtil.isNotEmpty(stockDesc.getCname()), PjStockDesc::getCname, stockDesc.getCname())
+			.like(ObjectUtil.isNotEmpty(stockDesc.getTypeno()), PjStockDesc::getTypeno, stockDesc.getTypeno())
+			.eq(ObjectUtil.isNotEmpty(stockDesc.getStorageId()), PjStockDesc::getStorageId, stockDesc.getStorageId())
+			.eq(ObjectUtil.isNotEmpty(stockDesc.getBrandId()), PjStockDesc::getBrandId, stockDesc.getBrandId())
+			.orderByAsc(PjStockDesc::getCreateTime);
+
+		List<PjStockDesc> list = stockDescService.list(lambdaQueryWrapper);
 
+		ExcelUtil.export(response, "库存信息", "库存信息", BeanUtil.copy(list, StockExportExcel.class), StockExportExcel.class);
+	}
 }