Browse Source

2024年12月20日17:38:45

纪新园 1 year ago
parent
commit
944efe0c25
14 changed files with 308 additions and 57 deletions
  1. 6 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStockDesc.java
  2. 3 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.java
  3. 7 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.xml
  4. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/ICorpsDescService.java
  5. 5 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsDescServiceImpl.java
  6. 4 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/controller/GoodsDescController.java
  7. 5 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.java
  8. 22 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.xml
  9. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java
  10. 11 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  11. 70 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/controller/LargeScreenYcpApiController.java
  12. 12 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/service/ApiService.java
  13. 107 11
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/service/impl/ApiServiceImpl.java
  14. 52 44
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/mapper/StockDescMapper.xml

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

@@ -294,4 +294,10 @@ public class PjStockDesc implements Serializable {
 	@TableField(exist = false)
 	private String goods;
 
+	/**
+	 * 是否是积分商品
+	 */
+	@TableField(exist = false)
+	private String whetherIntegral;
+
 }

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.java

@@ -74,4 +74,7 @@ public interface CorpsDescMapper extends BaseMapper<PjCorpsDesc> {
 
 	@TenantIgnore
 	int updateByIdPointsBalance(@Param("corpsDesc")PjCorpsDesc corpsDesc);
+
+	@TenantIgnore
+    List<PjCorpsDesc> selectCorpList(@Param("tenantId")String tenantId);
 }

+ 7 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.xml

@@ -308,4 +308,11 @@
           and tenant_id = #{tenantId}
           and find_in_set(id, #{ids})
     </select>
+    <select id="selectCorpList" resultType="org.springblade.salesPart.entity.PjCorpsDesc">
+        select *
+        from pjpf_corps_desc
+        where is_deleted = '0'
+          and enable_or_not = '1'
+          and tenant_id = #{tenantId}
+    </select>
 </mapper>

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/ICorpsDescService.java

@@ -123,4 +123,6 @@ public interface ICorpsDescService extends IService<PjCorpsDesc> {
 	R appDetailsV1(Long id);
 
 	R importBrand(List<CorpsImportBrandExcel> excelList);
+
+    List<PjCorpsDesc> selectCorpList(String tenantId);
 }

+ 5 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsDescServiceImpl.java

@@ -1195,6 +1195,11 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 		return R.success("操作成功");
 	}
 
+	@Override
+	public List<PjCorpsDesc> selectCorpList(String tenantId) {
+		return baseMapper.selectCorpList(tenantId);
+	}
+
 	/**
 	 * 小程序新增或修改 客户详情
 	 *

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

@@ -393,6 +393,7 @@ public class GoodsDescController extends BladeController {
 			.eq(ObjectUtils.isNotNull(goods.getExplosionProof()), PjGoodsDesc::getExplosionProof, goods.getExplosionProof())
 			.eq(ObjectUtils.isNotNull(goods.getOriginalFactory()), PjGoodsDesc::getOriginalFactory, goods.getOriginalFactory())
 			.eq(ObjectUtils.isNotNull(goods.getSelfRecovery()), PjGoodsDesc::getSelfRecovery, goods.getSelfRecovery())
+			.eq(ObjectUtils.isNotNull(goods.getWhetherIntegral()), PjGoodsDesc::getWhetherIntegral, goods.getWhetherIntegral())//是否是积分商品
 			.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()));
@@ -430,6 +431,7 @@ public class GoodsDescController extends BladeController {
 			.eq(ObjectUtils.isNotNull(goods.getOriginalFactory()), PjGoodsDesc::getOriginalFactory, goods.getOriginalFactory())
 			.eq(ObjectUtils.isNotNull(goods.getSelfRecovery()), PjGoodsDesc::getSelfRecovery, goods.getSelfRecovery())
 			.like(ObjectUtils.isNotNull(goods.getCode()), PjGoodsDesc::getCode, goods.getCode())
+			.eq(ObjectUtils.isNotNull(goods.getWhetherIntegral()), PjGoodsDesc::getWhetherIntegral, goods.getWhetherIntegral())//是否是积分商品
 			.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()));
@@ -476,6 +478,7 @@ public class GoodsDescController extends BladeController {
 			.eq(ObjectUtils.isNotNull(goods.getBrandItem()), PjGoodsDesc::getBrandItem, goods.getBrandItem())
 			.eq(ObjectUtils.isNotNull(goods.getExplosionProof()), PjGoodsDesc::getExplosionProof, goods.getExplosionProof())
 			.eq(ObjectUtils.isNotNull(goods.getOriginalFactory()), PjGoodsDesc::getOriginalFactory, goods.getOriginalFactory())
+			.eq(ObjectUtils.isNotNull(goods.getWhetherIntegral()), PjGoodsDesc::getWhetherIntegral, goods.getWhetherIntegral())//是否是积分商品
 			.eq(ObjectUtils.isNotNull(goods.getSelfRecovery()), PjGoodsDesc::getSelfRecovery, goods.getSelfRecovery())
 			.like(ObjectUtils.isNotNull(goods.getCode()), PjGoodsDesc::getCode, goods.getCode())
 		;
@@ -579,6 +582,7 @@ public class GoodsDescController extends BladeController {
 			.eq(ObjectUtils.isNotNull(goods.getBrandItem()), PjGoodsDesc::getBrandItem, goods.getBrandItem())
 			.eq(ObjectUtils.isNotNull(goods.getExplosionProof()), PjGoodsDesc::getExplosionProof, goods.getExplosionProof())
 			.eq(ObjectUtils.isNotNull(goods.getOriginalFactory()), PjGoodsDesc::getOriginalFactory, goods.getOriginalFactory())
+			.eq(ObjectUtils.isNotNull(goods.getWhetherIntegral()), PjGoodsDesc::getWhetherIntegral, goods.getWhetherIntegral())//是否是积分商品
 			.eq(ObjectUtils.isNotNull(goods.getSelfRecovery()), PjGoodsDesc::getSelfRecovery, goods.getSelfRecovery())
 			.like(ObjectUtils.isNotNull(goods.getCode()), PjGoodsDesc::getCode, goods.getCode())
 		;

+ 5 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.java

@@ -106,8 +106,11 @@ public interface OrderMapper extends BaseMapper<PjOrder> {
 	List<FinancingProcurement> financingProcurementList(@Param("sale") FinancingProcurement financingProcurement);
 
 	@TenantIgnore
-    List<PjOrder> getTotalYear(@Param("tenantId") String tenantId,@Param("year") String year);
+	List<PjOrder> getTotalYear(@Param("tenantId") String tenantId, @Param("year") String year);
 
 	@TenantIgnore
-	List<PjOrder> getTotalMonth(@Param("tenantId")String tenantId, @Param("year")String year, @Param("month")String month);
+	List<PjOrder> getTotalMonth(@Param("tenantId") String tenantId, @Param("year") String year, @Param("month") String month);
+
+	@TenantIgnore
+	List<PjOrder> selectPjOrderList(@Param("tenantId") String tenantId, @Param("type") String type);
 }

+ 22 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/mapper/OrderMapper.xml

@@ -867,4 +867,26 @@
           AND DATE_FORMAT(busines_date, '%m') = #{month}
           AND find_in_set(tenant_id, #{tenantId})
     </select>
+    <select id="selectPjOrderList" resultType="org.springblade.salesPart.entity.PjOrder">
+        SELECT
+            *
+        FROM
+            pjpf_order
+        WHERE
+            is_deleted = '0'
+          AND bs_type = 'XS'
+          AND tenant_id = #{tenantId}
+        <if test="type !=null and type != '' and type == '1'">
+            AND DATE(busines_date) = CURDATE()
+        </if>
+        <if test="type !=null and type != '' and type == '2'">
+            AND DATE_FORMAT(busines_date, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m');
+        </if>
+        <if test="type !=null and type != '' and type == '3'">
+            AND YEAR(busines_date) = YEAR(CURDATE())
+        </if>
+        <if test="type !=null and type != '' and type == '4'">
+            AND DATEDIFF(CURDATE(), busines_date) &lt;= 90
+        </if>
+    </select>
 </mapper>

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java

@@ -266,4 +266,6 @@ public interface IOrderService extends IService<PjOrder> {
     List<PjOrder> getTotalYear(String tenantId,String year);
 
 	List<PjOrder> getTotalMonth(String tenantId, String year, String month);
+
+    List<PjOrder> selectPjOrderList(String tenantId, String type);
 }

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

@@ -3856,6 +3856,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 	}
 
 	/**
+	 * 按租户号获取销售数据
+	 * @param tenantId 租户号
+	 * @param type 空 全部 1本日 2本月 3本年 4三个月
+	 * @return
+	 */
+	@Override
+	public List<PjOrder> selectPjOrderList(String tenantId, String type) {
+		return baseMapper.selectPjOrderList(tenantId,type);
+	}
+
+	/**
 	 * 保存订单信息
 	 */
 	@Override

+ 70 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/controller/LargeScreenYcpApiController.java

@@ -0,0 +1,70 @@
+package org.springblade.salesPart.smartLargeScreenApi.controller;
+
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.salesPart.smartLargeScreenApi.service.ApiService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :jixinyuan
+ * @date : 2024/10/11
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/api/largeScreenYcp")
+public class LargeScreenYcpApiController extends BladeController {
+
+	private final ApiService apiService;
+
+
+	/**
+	 * 当日成交量
+	 */
+	@GetMapping("/turnoverDay")
+	public List<Map<String, Object>> turnoverDay(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.turnoverDay(tenantId);
+	}
+	/**
+	 * 当月成交量
+	 */
+	@GetMapping("/turnoverMonth")
+	public List<Map<String, Object>> turnoverMonth(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.turnoverMonth(tenantId);
+	}
+	/**
+	 * 当年成交量
+	 */
+	@GetMapping("/turnoverYear")
+	public List<Map<String, Object>> turnoverYear(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.turnoverYear(tenantId);
+	}
+	/**
+	 * 注册门店数量
+	 */
+	@GetMapping("/storefrontQuantity")
+	public List<Map<String, Object>> storefrontQuantity(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.storefrontQuantity(tenantId);
+	}
+	/**
+	 * 核心客户
+	 */
+	@GetMapping("/coreCustomers")
+	public List<Map<String, Object>> coreCustomers(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.coreCustomers(tenantId);
+	}
+	/**
+	 * 月成交家数
+	 */
+	@GetMapping("/turnoverCorpMonth")
+	public List<Map<String, Object>> turnoverCorpMonth(@RequestParam(value = "tenantId") String tenantId) {
+		return apiService.turnoverCorpMonth(tenantId);
+	}
+
+}

+ 12 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/service/ApiService.java

@@ -16,4 +16,16 @@ public interface ApiService {
 	List<Map<String, Object>> getBrandSort(String year);
 
 	Map<String, Object> getWarehouseSort(String year);
+
+	List<Map<String, Object>> turnoverDay(String tenantId);
+
+	List<Map<String, Object>> turnoverMonth(String tenantId);
+
+	List<Map<String, Object>> turnoverYear(String tenantId);
+
+	List<Map<String, Object>> storefrontQuantity(String tenantId);
+
+	List<Map<String, Object>> coreCustomers(String tenantId);
+
+	List<Map<String, Object>> turnoverCorpMonth(String tenantId);
 }

+ 107 - 11
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/smartLargeScreenApi/service/impl/ApiServiceImpl.java

@@ -2,10 +2,8 @@ package org.springblade.salesPart.smartLargeScreenApi.service.impl;
 
 import lombok.AllArgsConstructor;
 import org.springblade.salesPart.brand.service.IBrandDescService;
-import org.springblade.salesPart.entity.PjBrandDesc;
-import org.springblade.salesPart.entity.PjOrder;
-import org.springblade.salesPart.entity.PjOrderItems;
-import org.springblade.salesPart.entity.PjStorageDesc;
+import org.springblade.salesPart.corps.service.ICorpsDescService;
+import org.springblade.salesPart.entity.*;
 import org.springblade.salesPart.order.service.IOrderItemsService;
 import org.springblade.salesPart.order.service.IOrderService;
 import org.springblade.salesPart.smartLargeScreenApi.dto.BrandSort;
@@ -38,6 +36,8 @@ public class ApiServiceImpl implements ApiService {
 
 	private final IStorageDescService storageDescService;
 
+	private final ICorpsDescService corpsDescService;
+
 	@Override
 	public Map<String, Object> getTotalYear(String year) {
 		String tenantId = sysClient.getTenantIds("whether.financing");
@@ -88,7 +88,7 @@ public class ApiServiceImpl implements ApiService {
 			if (!orderItemsList.isEmpty()) {
 				List<PjOrderItems> itemsList = orderItemsList.stream().filter(e -> e.getBrandName().equals(item.getCname()))
 					.collect(Collectors.toList());
-				if (!itemsList.isEmpty()){
+				if (!itemsList.isEmpty()) {
 					BigDecimal number = itemsList.stream().map(PjOrderItems::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add);
 					brandSort.setNumber(number);
 					if (numberSum.compareTo(new BigDecimal("0")) != 0 && number.compareTo(new BigDecimal("0")) != 0) {
@@ -96,11 +96,11 @@ public class ApiServiceImpl implements ApiService {
 					} else {
 						brandSort.setProportion("占比0%");
 					}
-				}else{
+				} else {
 					brandSort.setNumber(new BigDecimal("0"));
 					brandSort.setProportion("占比0%");
 				}
-			}else{
+			} else {
 				brandSort.setNumber(new BigDecimal("0"));
 				brandSort.setProportion("占比0%");
 			}
@@ -129,16 +129,16 @@ public class ApiServiceImpl implements ApiService {
 		for (PjStorageDesc item : storageDescList) {
 			WarehouseSort warehouseSort = new WarehouseSort();
 			warehouseSort.setWarehouseName(item.getCname());
-			if (!orderList.isEmpty()){
+			if (!orderList.isEmpty()) {
 				List<PjOrder> orders = orderList.stream().filter(e -> e.getStockClerkName().equals(item.getCname()))
 					.collect(Collectors.toList());
-				if (!orders.isEmpty()){
+				if (!orders.isEmpty()) {
 					BigDecimal number = orders.stream().map(PjOrder::getGoodsTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add);
 					warehouseSort.setNumber(number);
-				}else{
+				} else {
 					warehouseSort.setNumber(new BigDecimal("0"));
 				}
-			}else{
+			} else {
 				warehouseSort.setNumber(new BigDecimal("0"));
 			}
 			warehouseSortList.add(warehouseSort);
@@ -157,4 +157,100 @@ public class ApiServiceImpl implements ApiService {
 		map.put("value", value);
 		return map;
 	}
+
+	@Override
+	public List<Map<String, Object>> turnoverDay(String tenantId) {
+		List<PjOrder> orderList = orderService.selectPjOrderList(tenantId, "1");
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!orderList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", orderList.stream().map(PjOrder::getSalesAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("name", "");
+			map.put("value", "0.00");
+		}
+		mapList.add(map);
+		return mapList;
+	}
+
+	@Override
+	public List<Map<String, Object>> turnoverMonth(String tenantId) {
+		List<PjOrder> orderList = orderService.selectPjOrderList(tenantId, "2");
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!orderList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", orderList.stream().map(PjOrder::getSalesAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("name", "");
+			map.put("value", "0.00");
+		}
+		mapList.add(map);
+		return mapList;
+	}
+
+	@Override
+	public List<Map<String, Object>> turnoverYear(String tenantId) {
+		List<PjOrder> orderList = orderService.selectPjOrderList(tenantId, "3");
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!orderList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", orderList.stream().map(PjOrder::getSalesAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("name", "");
+			map.put("value", "0.00");
+		}
+		mapList.add(map);
+		return mapList;
+	}
+
+	@Override
+	public List<Map<String, Object>> storefrontQuantity(String tenantId) {
+		List<PjCorpsDesc> corpsDescList = corpsDescService.selectCorpList(tenantId);
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!corpsDescList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", corpsDescList.size());
+		} else {
+			map.put("name", "");
+			map.put("value", "0");
+		}
+		mapList.add(map);
+		return mapList;
+	}
+
+	@Override
+	public List<Map<String, Object>> coreCustomers(String tenantId) {
+		List<PjOrder> orderList = orderService.selectPjOrderList(tenantId, "4");
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!orderList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", orderList.stream().map(PjOrder::getCustomerId).distinct().count());
+		} else {
+			map.put("name", "");
+			map.put("value", "0");
+		}
+		mapList.add(map);
+		return mapList;
+	}
+
+	@Override
+	public List<Map<String, Object>> turnoverCorpMonth(String tenantId) {
+		List<PjOrder> orderList = orderService.selectPjOrderList(tenantId, "2");
+		List<Map<String, Object>> mapList = new ArrayList<>();
+		Map<String, Object> map = new HashMap<>();
+		if (!orderList.isEmpty()) {
+			map.put("name", "");
+			map.put("value", orderList.stream().map(PjOrder::getCustomerId).distinct().count());
+		} else {
+			map.put("name", "");
+			map.put("value", "0");
+		}
+		mapList.add(map);
+		return mapList;
+	}
 }

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

@@ -33,73 +33,78 @@
 
     <select id="selectStockDescPage" parameterType="org.springblade.salesPart.entity.PjStockDesc" resultMap="stockDescResultMap">
         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,
-        goods_type_name,
-        version
-        FROM pjpf_stock_desc
+        psd.id,
+        psd.tenant_id,
+        psd.create_user,
+        psd.create_dept,
+        psd.create_time,
+        psd.update_user,
+        psd.update_time,
+        psd.is_deleted,
+        psd.remarks,
+        psd.status,
+        psd.storage_id,
+        psd.storage_name,
+        psd.goods_id,
+        psd.code,
+        psd.cname,
+        psd.brand_id,
+        psd.brand_name,
+        psd.typeno,
+        psd.brand_item,
+        psd.product_description,
+        psd.goods_type_id,
+        SUM(psd.balance_quantity) AS balance_quantity,
+        psd.sales_company_id,
+        psd.sales_company_name,
+        psd.dot,
+        psd.store_inventory,
+        psd.inventory_amount,
+        psd.inventory_cost_price,
+        psd.inventory_alert,
+        psd.goods_type_name,
+        psd.version
+        FROM pjpf_stock_desc psd
+        LEFT JOIN pjpf_goods_desc goods on psd.goods_id = goods.id
         <where>
-             is_deleted = 0
-            and balance_quantity != 0
+            psd.is_deleted = 0
+            and psd.balance_quantity != 0
             <if test="stockDesc.brandId != null and stockDesc.brandId != ''">
-                and brand_id = #{stockDesc.brandId}
+                and psd.brand_id = #{stockDesc.brandId}
             </if>
             <if test='stockDesc.cname != null and stockDesc.cname != ""'>
-                and (cname like CONCAT(CONCAT('%', #{stockDesc.cname}), '%') or cname_int like CONCAT(CONCAT('%', #{stockDesc.cname}), '%'))
+                and (psd.cname like CONCAT(CONCAT('%', #{stockDesc.cname}), '%') or psd.cname_int like
+                CONCAT(CONCAT('%', #{stockDesc.cname}), '%'))
             </if>
             <if test='stockDesc.code != null and stockDesc.code != ""'>
-                and code like CONCAT(CONCAT('%', #{stockDesc.code}), '%')
+                and psd.code like CONCAT(CONCAT('%', #{stockDesc.code}), '%')
+            </if>
+            <if test='stockDesc.whetherIntegral != null and stockDesc.whetherIntegral != ""'>
+                and goods.whether_integral = #{stockDesc.whetherIntegral}
             </if>
             <if test='stockDesc.salesCompanyIds != null'>
-                and find_in_set(sales_company_id,#{stockDesc.salesCompanyIds})
+                and find_in_set(psd.sales_company_id,#{stockDesc.salesCompanyIds})
             </if>
             <if test='stockDesc.brandId != null'>
-                and brand_id = #{stockDesc.brandId}
+                and psd.brand_id = #{stockDesc.brandId}
             </if>
             <if test='stockDesc.goodsTypeId != null'>
-                and goods_type_id = #{stockDesc.goodsTypeId}
+                and psd.goods_type_id = #{stockDesc.goodsTypeId}
             </if>
             <if test='stockDesc.typeno != null and stockDesc.typeno != ""'>
-                and typeno like CONCAT(CONCAT('%', #{stockDesc.typeno}), '%')
+                and psd.typeno like CONCAT(CONCAT('%', #{stockDesc.typeno}), '%')
             </if>
             <if test='stockDesc.goodsIds != null and stockDesc.goodsIds'>
-                and goods_id not IN
+                and psd.goods_id not IN
                 <foreach collection="stockDesc.goodsIds" item="ids" index="index" open="(" close=")" separator=",">
                     #{ids}
                 </foreach>
             </if>
         </where>
         GROUP BY
-        goods_id
+        psd.goods_id
         order By
-        create_time
+        psd.create_time
     </select>
     <select id="getStockList" resultType="org.springblade.salesPart.entity.PjStockDesc">
         SELECT
@@ -177,6 +182,9 @@
             <if test='stockDesc.code != null and stockDesc.code != ""'>
                 and goods.code like CONCAT(CONCAT('%', #{stockDesc.code}), '%')
             </if>
+            <if test='stockDesc.whetherIntegral != null and stockDesc.whetherIntegral != ""'>
+                and goods.whether_integral =  #{stockDesc.whetherIntegral}
+            </if>
             <if test='stockDesc.salesCompanyIds != null'>
                 and find_in_set(goods.sales_company_id,#{stockDesc.salesCompanyIds})
             </if>