wangzhuo 2 éve
szülő
commit
c7fd867ee8

+ 1 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/feign/DeliveryClient.java

@@ -144,6 +144,7 @@ public class DeliveryClient implements IDeliveryClient {
 			delivery1.setCertificateOriginRequired(order.getCertificateOriginRequired());
 			delivery1.setSigningMethod(order.getSigningMethod());
 			delivery1.setTripartiteInspection(order.getTripartiteInspection());
+			delivery1.setCreateUser(order.getDocumenterId());
 			deliveryService.updateById(delivery1);
 			deliveryNew = delivery1;
 		} else {

+ 16 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/accountManagement/service/impl/AccountManagementServiceImpl.java

@@ -16,12 +16,17 @@
  */
 package org.springblade.salesPart.accountManagement.service.impl;
 
+import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.salesPart.entity.PjAccountManagement;
 import org.springblade.salesPart.vo.AccountManagementVO;
 import org.springblade.salesPart.accountManagement.mapper.AccountManagementMapper;
 import org.springblade.salesPart.accountManagement.service.IAccountManagementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.system.entity.Dept;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -34,8 +39,11 @@ import java.util.Date;
  * @since 2023-04-21
  */
 @Service
+@AllArgsConstructor
 public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementMapper, PjAccountManagement> implements IAccountManagementService {
 
+	private final ISysClient sysClient;
+
 	/**
 	 * 获取账户管理详情
 	 *
@@ -62,6 +70,14 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
 	@Override
 	public PjAccountManagement saveMessage(PjAccountManagement accountManagement) {
 		if (accountManagement.getId() == null){
+			//获得所属公司
+			R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
+			if (ObjectUtil.isNotEmpty(dept)) {
+				accountManagement.setSalesCompanyId(dept.getData().getId());
+				accountManagement.setSalesCompanyName(dept.getData().getFullName());
+			} else {
+				throw new SecurityException("数据异常请联系管理员");
+			}
 			accountManagement.setCreateUser(AuthUtil.getUserId());
 			accountManagement.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 			accountManagement.setCreateTime(new Date());

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

@@ -97,9 +97,9 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, PjGoodsDe
 		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){
-				desc.setModifiable(0);
-			}else {
 				desc.setModifiable(1);
+			}else {
+				desc.setModifiable(0);
 			}
 		}else {
 			desc.setModifiable(1);

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

@@ -322,4 +322,5 @@ public class ProductLaunchController extends BladeController {
 	public R addToCart(@Valid @RequestBody PjProductLaunch shoppingCart){
 		return productLaunchService.addToCart(shoppingCart);
 	}
+
 }

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

@@ -27,6 +27,7 @@ import lombok.AllArgsConstructor;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -41,6 +42,7 @@ import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.salesPart.excel.CorpsDescExportExcel;
 import org.springblade.salesPart.excel.StockExportExcel;
 import org.springblade.salesPart.goods.service.IGoodsDescService;
+import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.salesPart.entity.PjStockDesc;
@@ -48,6 +50,7 @@ import org.springblade.salesPart.vo.StockDescVO;
 import org.springblade.salesPart.stock.service.IStockDescService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -64,7 +67,7 @@ import java.util.List;
 public class StockDescController extends BladeController {
 
 	private final IStockDescService stockDescService;
-	private final IGoodsDescService goodsDescService;
+	private final IProductLaunchService productLaunchService;
 
 	/**
 	 * 详情
@@ -190,4 +193,43 @@ public class StockDescController extends BladeController {
 		List<PjStockDesc> list = stockDescService.list(lambdaQueryWrapper);
 		return R.data(list);
 	}
+
+	/**
+	 * 获得未导入到上架管理的库存账
+	 */
+	@GetMapping("/getStockList")
+	@ApiOperationSupport(order = 11)
+	@ApiOperation(value = "获得未导入到上架管理的库存账", notes = "传入stockDesc")
+	public R<List<PjStockDesc>> stock(PjStockDesc stockDesc) {
+		List<PjStockDesc> list = stockDescService.getStockList(stockDesc);
+
+		//获得上架管理
+		LambdaQueryWrapper<PjProductLaunch> queryWrapper = new LambdaQueryWrapper<>();
+		queryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
+			.eq(PjProductLaunch::getIsDeleted, 0)
+			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())
+			.eq(PjProductLaunch::getBillType, 0);
+		List<PjProductLaunch> productLaunches = productLaunchService.list(queryWrapper);
+
+		if (ObjectUtil.isNotEmpty(list)){
+			list.forEach(e -> {
+				PjProductLaunch launch = productLaunches.stream().filter(productLaunch -> productLaunch.getGoodsId().equals(e.getGoodsId())).findFirst().orElse(null);
+				if (ObjectUtil.isNotEmpty(launch)){
+					list.remove(e);
+				}
+			});
+		}
+		return R.data(list);
+	}
+
+	/**
+	 * 导入库存信息生成上架
+	 */
+	@PostMapping("/submitProductLaunch")
+	@ApiOperationSupport(order = 12)
+	@ApiOperation(value = "导入库存信息生成上架", notes = "传入stockDesc")
+	public R submitProductLaunch(@Valid @RequestBody PjStockDesc stockDesc) {
+		return stockDescService.submitProductLaunch(stockDesc);
+	}
+
 }

+ 8 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/mapper/StockDescMapper.java

@@ -39,4 +39,12 @@ public interface StockDescMapper extends BaseMapper<PjStockDesc> {
 	 */
 	List<StockDescVO> selectStockDescPage(IPage page, StockDescVO stockDesc);
 
+	/**
+	 * 获得未导入到上架管理的库存账
+	 *
+	 * @param stockDesc
+	 * @return
+	 */
+	List<PjStockDesc> getStockList(PjStockDesc stockDesc);
+
 }

+ 47 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/mapper/StockDescMapper.xml

@@ -17,7 +17,8 @@
         <result column="goods_id" property="goodsId"/>
         <result column="code" property="code"/>
         <result column="cname" property="cname"/>
-        <result column="brand" property="brand"/>
+        <result column="brand_id" property="brandId"/>
+        <result column="brand_name" property="brandName"/>
         <result column="typeno" property="typeno"/>
         <result column="brand_item" property="brandItem"/>
         <result column="product_description" property="productDescription"/>
@@ -31,5 +32,50 @@
     <select id="selectStockDescPage" resultMap="stockDescResultMap">
         select * from pjpf_stock_desc where is_deleted = 0
     </select>
+    <select id="getStockList" resultType="org.springblade.salesPart.entity.PjStockDesc">
+        SELECT
+            id,
+            tenant_id,
+            create_user,
+            create_dept,
+            create_time,
+            update_user,
+            update_time,
+            is_deleted,
+            remarks,
+            status,
+            storage_id,
+            storage_name,
+            goods_id,
+            code,
+            cname,
+            brand_id,
+            brand_name,
+            typeno,
+            brand_item,
+            product_description,
+            goods_type_id,
+            SUM(balance_quantity) AS balance_quantity,
+            sales_company_id,
+            sales_company_name,
+            dot,
+            store_inventory,
+            inventory_amount,
+            inventory_cost_price,
+            inventory_alert
+        FROM pjpf_stock_desc
+        <where>
+            tenant_id = #{stockDesc.tenantId}
+            and is_deleted = 0
+            <if test="stockDesc.brandId != null and stockDesc.brandId != ''">
+                and brand_id = #{stockDesc.brandId}
+            </if>
+            <if test='stockDesc.cname != null and stockDesc.cname != ""'>
+                and cname like CONCAT(CONCAT('%', #{stockDesc.cname}), '%')
+            </if>
+        </where>
+        GROUP BY
+            goods_id
+    </select>
 
 </mapper>

+ 13 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/service/IStockDescService.java

@@ -16,11 +16,14 @@
  */
 package org.springblade.salesPart.stock.service;
 
+import org.springblade.core.tool.api.R;
 import org.springblade.salesPart.entity.PjStockDesc;
 import org.springblade.salesPart.vo.StockDescVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 配件批发库存表 服务类
  *
@@ -38,4 +41,14 @@ public interface IStockDescService extends IService<PjStockDesc> {
 	 */
 	IPage<StockDescVO> selectStockDescPage(IPage<StockDescVO> page, StockDescVO stockDesc);
 
+	/**
+	 * 获得未导入到上架管理的库存账
+	 */
+	List<PjStockDesc> getStockList(PjStockDesc stockDesc);
+
+	/**
+	 * 导入库存信息生成上架
+	 */
+	R submitProductLaunch(PjStockDesc stockDesc);
+
 }

+ 62 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/service/impl/StockDescServiceImpl.java

@@ -16,7 +16,17 @@
  */
 package org.springblade.salesPart.stock.service.impl;
 
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.salesPart.entity.PjGoodsDesc;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.salesPart.entity.PjStockDesc;
+import org.springblade.salesPart.goods.mapper.GoodsDescMapper;
+import org.springblade.salesPart.goods.service.IGoodsDescService;
+import org.springblade.salesPart.productLaunch.mapper.ProductLaunchMapper;
+import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
 import org.springblade.salesPart.vo.StockDescVO;
 import org.springblade.salesPart.stock.mapper.StockDescMapper;
 import org.springblade.salesPart.stock.service.IStockDescService;
@@ -24,6 +34,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+import java.util.List;
+
+
 /**
  * 配件批发库存表 服务实现类
  *
@@ -31,11 +45,59 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2023-04-23
  */
 @Service
+@AllArgsConstructor
 public class StockDescServiceImpl extends ServiceImpl<StockDescMapper, PjStockDesc> implements IStockDescService {
 
+	private final ProductLaunchMapper productLaunchMapper;
+	private final GoodsDescMapper goodsDescMapper;
+
 	@Override
 	public IPage<StockDescVO> selectStockDescPage(IPage<StockDescVO> page, StockDescVO stockDesc) {
 		return page.setRecords(baseMapper.selectStockDescPage(page, stockDesc));
 	}
 
+	/**
+	 * 获得未导入到上架管理的库存账
+	 */
+	@Override
+	public List<PjStockDesc> getStockList(PjStockDesc stockDesc) {
+		stockDesc.setTenantId(AuthUtil.getTenantId());
+		return baseMapper.getStockList(stockDesc);
+	}
+
+	/**
+	 * 导入库存信息生成上架
+	 */
+	@Override
+	public R submitProductLaunch(PjStockDesc stockDesc) {
+		PjProductLaunch productLaunch = new PjProductLaunch();
+		productLaunch.setCreateUser(AuthUtil.getUserId());
+		productLaunch.setCreateTime(new Date());
+		productLaunch.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+		productLaunch.setSalesCompanyId(stockDesc.getSalesCompanyId());
+		productLaunch.setSalesCompanyName(stockDesc.getSalesCompanyName());
+		productLaunch.setTenantId(AuthUtil.getTenantId());
+		productLaunch.setBillType(0);
+
+		//获得商品
+		PjGoodsDesc goodsDesc = goodsDescMapper.selectById(stockDesc.getGoodsId());
+		if (ObjectUtil.isNotEmpty(goodsDesc)){
+			productLaunch.setGoodsId(goodsDesc.getId());
+			productLaunch.setCname(goodsDesc.getCname());
+			productLaunch.setSpecificationAndModel(goodsDesc.getSpecificationAndModel());
+			productLaunch.setBrandId(goodsDesc.getBrandId());
+			productLaunch.setBrandName(goodsDesc.getBrandName());
+			productLaunch.setBrandItem(goodsDesc.getBrandItem());
+			productLaunch.setPlaceProduction(goodsDesc.getPlaceProduction());
+			productLaunch.setExplosionProof(goodsDesc.getExplosionProof());
+			productLaunch.setOriginalFactory(goodsDesc.getOriginalFactory());
+			productLaunch.setSelfRecovery(goodsDesc.getSelfRecovery());
+			productLaunch.setCnameInt(goodsDesc.getCnameInt());
+		}
+
+		productLaunch.setInventory(stockDesc.getBalanceQuantity());
+		productLaunchMapper.insert(productLaunch);
+		return R.success("操作成功");
+	}
+
 }