Przeglądaj źródła

2024年6月12日17:37:39

纪新园 1 rok temu
rodzic
commit
94314b7ec0
18 zmienionych plików z 854 dodań i 20 usunięć
  1. 101 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/genleg/dto/FinGenlegReport.java
  2. 60 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/ActivityItemsCodeExcel.java
  3. 60 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/ActivityItemsNameExcel.java
  4. 1 1
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java
  5. 12 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/controller/FinGenlegController.java
  6. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/IFinGenlegService.java
  7. 53 3
      blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinGenlegServiceImpl.java
  8. 32 3
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/controller/ActivityController.java
  9. 96 9
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/controller/ActivityItemsController.java
  10. 4 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/mapper/ActivityMapper.java
  11. 10 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/mapper/ActivityMapper.xml
  12. 8 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/IActivityItemsService.java
  13. 6 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/IActivityService.java
  14. 362 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/impl/ActivityItemsServiceImpl.java
  15. 8 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/impl/ActivityServiceImpl.java
  16. 33 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java
  17. 4 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/handler/SynchronizeDataJobHandler.java
  18. 1 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/mapper/ProductLaunchMapper.xml

+ 101 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/genleg/dto/FinGenlegReport.java

@@ -0,0 +1,101 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.finance.genleg.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 财务总账实体类
+ *
+ * @author BladeX
+ * @since 2024-02-29
+ */
+@Data
+public class FinGenlegReport implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 期间
+	 */
+	private String date;
+	/**
+	 * 科目代码
+	 */
+	private String accCode;
+	/**
+	 * 中文名称
+	 */
+	private String cnName;
+	/**
+	 * 方向,D=借方 C=贷方
+	 */
+	private String dc;
+	/**
+	 * 上期本币余额(CNY)
+	 */
+	private BigDecimal amountLastBlc;
+	/**
+	 * 本期本币借方金额(CNY)
+	 */
+	private BigDecimal amountDr;
+	/**
+	 * 本期本币贷方金额(CNY)
+	 */
+	private BigDecimal amountCr;
+	/**
+	 * 本年本币借方金额(CNY)
+	 */
+	private BigDecimal amountYearDr;
+	/**
+	 * 本年本币贷方金额(CNY)
+	 */
+	private BigDecimal amountYearCr;
+	/**
+	 * 本期本币余额(CNY)
+	 */
+	private BigDecimal amountBlc;
+	/**
+	 * 上期外币余额(USD)
+	 */
+	private BigDecimal amountLastBlcUsd;
+	/**
+	 * 本期外币借方金额
+	 */
+	private BigDecimal amountDrUsd;
+	/**
+	 * 本期外币贷方金额
+	 */
+	private BigDecimal amountCrUsd;
+	/**
+	 * 本年外币借方金额(USD)
+	 */
+	private BigDecimal amountYearDrUsd;
+	/**
+	 * 本年外币贷方金额(USD)
+	 */
+	private BigDecimal amountYearCrUsd;
+	/**
+	 * 本期外币期初余额
+	 */
+	private BigDecimal amountUsdBlc;
+
+}

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

@@ -0,0 +1,60 @@
+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;
+
+/**
+ * 入库明细导入模板实体类
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ActivityItemsCodeExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 名称
+	 */
+	@ExcelProperty(value = "商品编码(必填)")
+	private String cname;
+
+	/**
+	 * 最小购买数量
+	 */
+	@ExcelProperty(value = "最小购买数量")
+	private BigDecimal minQuantity;
+	/**
+	 * 最大购买数量
+	 */
+	@ExcelProperty(value = "最大购买数量")
+	private BigDecimal maxQuantity;
+	/**
+	 * 促销价1
+	 */
+	@ExcelProperty(value = "促销价1")
+	private BigDecimal priceOne;
+	/**
+	 * 促销价2
+	 */
+	@ExcelProperty(value = "促销价2")
+	private BigDecimal priceTwo;
+	/**
+	 * 促销价3
+	 */
+	@ExcelProperty(value = "促销价3")
+	private BigDecimal priceThree;
+	/**
+	 * 促销价4
+	 */
+	@ExcelProperty(value = "促销价4")
+	private BigDecimal priceFour;
+
+}

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

@@ -0,0 +1,60 @@
+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;
+
+/**
+ * 入库明细导入模板实体类
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ActivityItemsNameExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 名称
+	 */
+	@ExcelProperty(value = "商品名称(必填)")
+	private String cname;
+
+	/**
+	 * 最小购买数量
+	 */
+	@ExcelProperty(value = "最小购买数量")
+	private BigDecimal minQuantity;
+	/**
+	 * 最大购买数量
+	 */
+	@ExcelProperty(value = "最大购买数量")
+	private BigDecimal maxQuantity;
+	/**
+	 * 促销价1
+	 */
+	@ExcelProperty(value = "促销价1")
+	private BigDecimal priceOne;
+	/**
+	 * 促销价2
+	 */
+	@ExcelProperty(value = "促销价2")
+	private BigDecimal priceTwo;
+	/**
+	 * 促销价3
+	 */
+	@ExcelProperty(value = "促销价3")
+	private BigDecimal priceThree;
+	/**
+	 * 促销价4
+	 */
+	@ExcelProperty(value = "促销价4")
+	private BigDecimal priceFour;
+
+}

+ 1 - 1
blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java

@@ -375,7 +375,7 @@ public interface ISysClient {
 	 * @return
 	 */
 	@GetMapping(DEPT_BY_NAME_LIST)
-	R<List<Dept>> getDeptListIByName(@RequestParam("tenantId") String tenantId, @RequestParam("deptName") String deptName);
+	R<List<Dept>> getDeptListIByName(@RequestParam("tenantId") String tenantId, @RequestParam(value = "deptName",required = false) String deptName);
 
 	@PostMapping(UPDATE_BY_DEPT)
 	R updateByDept(@RequestBody Dept data);

+ 12 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/controller/FinGenlegController.java

@@ -167,4 +167,16 @@ public class FinGenlegController extends BladeController {
 		return R.data(pages);
 	}
 
+	/**
+	 * 获取模本数据加信息
+	 */
+	@GetMapping("/getReportData")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入reports")
+	public R getReportData(@RequestParam(value = "date") String date,
+						   @RequestParam(value = "type") String type
+	) {
+		return finGenlegService.getReportData(date, type);
+	}
+
 }

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/IFinGenlegService.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.los.finance.genleg.service;
 
+import org.springblade.core.tool.api.R;
 import org.springblade.los.finance.genleg.dto.FinGenlegDTO;
 import org.springblade.los.finance.genleg.entity.FinGenleg;
 import org.springblade.los.finance.genleg.vo.FinGenlegVO;
@@ -44,4 +45,6 @@ public interface IFinGenlegService extends IService<FinGenleg> {
     List<FinGenleg> initialization();
 
 	List<FinGenlegDTO> selectFinGenlegList(FinGenlegVO finGenleg);
+
+    R getReportData(String date, String type);
 }

+ 53 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinGenlegServiceImpl.java

@@ -29,21 +29,23 @@ import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.acc.entity.Accounts;
 import org.springblade.los.basic.acc.service.IAccountsService;
 import org.springblade.los.finance.genleg.dto.FinGenlegDTO;
+import org.springblade.los.finance.genleg.dto.FinGenlegReport;
 import org.springblade.los.finance.genleg.entity.FinGenleg;
 import org.springblade.los.finance.genleg.entity.FinGenlegCalc;
 import org.springblade.los.finance.genleg.mapper.FinGenlegMapper;
 import org.springblade.los.finance.genleg.service.IFinGenlegCalcService;
 import org.springblade.los.finance.genleg.service.IFinGenlegService;
 import org.springblade.los.finance.genleg.vo.FinGenlegVO;
+import org.springblade.system.entity.Dept;
 import org.springblade.system.feign.ISysClient;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -64,6 +66,8 @@ public class FinGenlegServiceImpl extends ServiceImpl<FinGenlegMapper, FinGenleg
 
 	private final IFinGenlegCalcService finGenlegCalcService;
 
+	private final IUserClient userClient;
+
 	@Override
 	public IPage<FinGenlegVO> selectFinGenlegPage(IPage<FinGenlegVO> page, FinGenlegVO finGenleg) {
 		return page.setRecords(baseMapper.selectFinGenlegPage(page, finGenleg));
@@ -514,6 +518,52 @@ public class FinGenlegServiceImpl extends ServiceImpl<FinGenlegMapper, FinGenleg
 		return finGenlegDTOList;
 	}
 
+	@Override
+	public R getReportData(String date, String type) {
+		Map<String, Object> map = new HashMap<>();
+		R<Dept> res = sysClient.getDept(deptUtils.getDeptPid());
+		Dept dept;
+		if (res.isSuccess() && res.getData() != null) {
+			dept = res.getData();
+			String status = sysClient.getParamServiceNew("is.update.default");
+			if ("1".equals(status)) {
+				R<User> resUser = userClient.userInfoById(AuthUtil.getUserId());
+				if (resUser.isSuccess() && resUser.getData() != null) {
+					dept.setEmail(resUser.getData().getEmail());
+					dept.setTel(resUser.getData().getPhone());
+					dept.setContacts(resUser.getData().getRealName());
+				}
+			}
+		} else {
+			throw new RuntimeException("获取报表表头数据失败");
+		}
+		String startYear = "";
+		String startMonth = "";
+		if (ObjectUtils.isNotNull(date)) {
+			String[] startDate = date.split("-");
+			startYear = startDate[0];
+			startMonth = startDate[1];
+		}
+		LambdaQueryWrapper<FinGenleg> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(FinGenleg::getTenantId, AuthUtil.getTenantId())
+			.eq(FinGenleg::getAccyear, startYear)
+			.eq(FinGenleg::getAccmonth, startMonth);
+		if ("1".equals(type)) {
+			lambdaQueryWrapper.eq(FinGenleg::getLevel, 1);
+		}
+		List<FinGenleg> finGenlegList = baseMapper.selectList(lambdaQueryWrapper);
+		List<FinGenlegReport> finGenlegReportList = new ArrayList<>();
+		for (FinGenleg item : finGenlegList) {
+			FinGenlegReport finGenlegReport = new FinGenlegReport();
+			BeanUtil.copyProperties(item,finGenlegReport);
+			finGenlegReport.setDate(date);
+			finGenlegReportList.add(finGenlegReport);
+		}
+		map.put("dept",dept);
+		map.put("data",finGenlegReportList);
+		return R.data(map);
+	}
+
 	private List<FinGenlegDTO> assemblyData(List<FinGenlegDTO> finGenlegDTOList, List<FinGenleg> finGenlegVOList, FinGenlegVO finGenleg) {
 		List<FinGenlegCalc> finGenlegCalcList = new ArrayList<>();
 		if (1 == finGenleg.getAuxiliaryAccounting()) {

+ 32 - 3
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/controller/ActivityController.java

@@ -94,6 +94,36 @@ public class ActivityController extends BladeController {
 	}
 
 	/**
+	 * 分页 轮胎商城活动
+	 */
+	@GetMapping("/listV1")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入activity")
+	public R<IPage<Activity>> listV1(Activity activity, Query query) {
+		LambdaQueryWrapper<Activity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.apply("find_in_set(status,'0,1')")
+			.like(ObjectUtils.isNotNull(activity.getActivityName()), Activity::getActivityName, activity.getActivityName())
+			.gt(Activity::getEndDate, new Date())
+			.orderByDesc(Activity::getCreateTime);
+		IPage<Activity> pages = activityService.page(Condition.getPage(query), lambdaQueryWrapper);
+		Date date = new Date();
+		for (Activity item : pages.getRecords()) {
+			if ("1".equals(item.getStatus())) {
+				if (date.compareTo(item.getStartDate()) < 0) {
+					item.setActivityStatus("未开始");
+				} else if (date.compareTo(item.getStartDate()) >= 0 && date.compareTo(item.getEndDate()) <= 0) {
+					item.setActivityStatus("进行中");
+				} else if (date.compareTo(item.getEndDate()) > 0) {
+					item.setActivityStatus("已结束");
+				} else {
+					item.setActivityStatus("未知");
+				}
+			}
+		}
+		return R.data(pages);
+	}
+
+	/**
 	 * 自定义分页 轮胎商城活动
 	 */
 	@GetMapping("/page")
@@ -121,9 +151,9 @@ public class ActivityController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入activity")
 	public R update(@Valid @RequestBody Activity activity) {
-		if ("1".equals(activity.getStatus())){
+		if ("1".equals(activity.getStatus())) {
 			activity.setReleaseDate(new Date());
-		}else{
+		} else {
 			activity.setReleaseDate(null);
 		}
 		return R.status(activityService.updateById(activity));
@@ -151,5 +181,4 @@ public class ActivityController extends BladeController {
 	}
 
 
-
 }

+ 96 - 9
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/controller/ActivityItemsController.java

@@ -16,23 +16,31 @@
  */
 package org.springblade.salesPart.activity.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
-import javax.validation.Valid;
-
+import org.springblade.core.boot.ctrl.BladeController;
+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.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.salesPart.activity.entity.ActivityItems;
-import org.springblade.salesPart.activity.vo.ActivityItemsVO;
 import org.springblade.salesPart.activity.service.IActivityItemsService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.salesPart.activity.vo.ActivityItemsVO;
+import org.springblade.salesPart.excel.ActivityItemsCodeExcel;
+import org.springblade.salesPart.excel.ActivityItemsNameExcel;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 轮胎商城活动明细 控制器
@@ -111,7 +119,7 @@ public class ActivityItemsController extends BladeController {
 		return R.status(activityItemsService.saveOrUpdate(activityItems));
 	}
 
-	
+
 	/**
 	 * 删除 轮胎商城活动明细
 	 */
@@ -122,5 +130,84 @@ public class ActivityItemsController extends BladeController {
 		return R.status(activityItemsService.removeByIds(Func.toLongList(ids)));
 	}
 
-	
+
+	/**
+	 * 活动明细导入名称
+	 */
+	@PostMapping("/import-item-name")
+	@ApiOperationSupport(order = 13)
+	public R importItemName(@RequestParam("file") MultipartFile file) {
+		//导入数据
+		List<ActivityItemsNameExcel> excelList = ExcelUtil.read(file, ActivityItemsNameExcel.class);
+		if (CollectionUtils.isEmpty(excelList)) {
+			throw new SecurityException("数据不能为空");
+		}
+
+		return activityItemsService.importItemName(excelList);
+	}
+
+	/**
+	 * 活动明细导入编码
+	 */
+	@PostMapping("/import-item-code")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "入库明细导入", notes = "传入excel")
+	public R importItemCode(@RequestParam("file") MultipartFile file) {
+		//导入数据
+		List<ActivityItemsCodeExcel> excelList = ExcelUtil.read(file, ActivityItemsCodeExcel.class);
+		if (CollectionUtils.isEmpty(excelList)) {
+			throw new SecurityException("数据不能为空");
+		}
+		return activityItemsService.importItemCode(excelList);
+	}
+
+	/**
+	 * 活动导出模板名称
+	 */
+	@GetMapping("/export-item-name")
+	public void exportItemName(ActivityItems activityItems, HttpServletResponse response) {
+		if (activityItems.getPid() == null){
+			throw new RuntimeException("缺少必要参数");
+		}
+		List<ActivityItems> pages = activityItemsService.list(Condition.getQueryWrapper(activityItems));
+		List<ActivityItemsNameExcel> list = new ArrayList<>();
+		for (ActivityItems items : pages) {
+			ActivityItemsNameExcel activityItemsNameExcel = new ActivityItemsNameExcel();
+			activityItemsNameExcel.setCname(items.getCname());
+			activityItemsNameExcel.setMinQuantity(items.getMaxQuantity());
+			activityItemsNameExcel.setMaxQuantity(items.getMaxQuantity());
+			activityItemsNameExcel.setPriceOne(items.getPriceOne());
+			activityItemsNameExcel.setPriceTwo(items.getPriceTwo());
+			activityItemsNameExcel.setPriceThree(items.getPriceThree());
+			activityItemsNameExcel.setPriceFour(items.getPriceFour());
+			list.add(activityItemsNameExcel);
+		}
+		ExcelUtil.export(response, "活动明细信息-名称", "活动明细信息-名称", list, ActivityItemsNameExcel.class);
+	}
+
+	/**
+	 * 活动导出模板编码
+	 */
+	@GetMapping("/export-item-code")
+	public void exportItemCode(ActivityItems activityItems, HttpServletResponse response) {
+		if (activityItems.getPid() == null){
+			throw new RuntimeException("缺少必要参数");
+		}
+		List<ActivityItems> pages = activityItemsService.list(Condition.getQueryWrapper(activityItems));
+		List<ActivityItemsCodeExcel> list = new ArrayList<>();
+		for (ActivityItems items : pages) {
+			ActivityItemsCodeExcel activityItemsCodeExcel = new ActivityItemsCodeExcel();
+			activityItemsCodeExcel.setCname(items.getCname());
+			activityItemsCodeExcel.setMinQuantity(items.getMaxQuantity());
+			activityItemsCodeExcel.setMaxQuantity(items.getMaxQuantity());
+			activityItemsCodeExcel.setPriceOne(items.getPriceOne());
+			activityItemsCodeExcel.setPriceTwo(items.getPriceTwo());
+			activityItemsCodeExcel.setPriceThree(items.getPriceThree());
+			activityItemsCodeExcel.setPriceFour(items.getPriceFour());
+			list.add(activityItemsCodeExcel);
+		}
+		ExcelUtil.export(response, "活动明细信息-编码", "活动明细信息-编码", list, ActivityItemsCodeExcel.class);
+	}
+
+
 }

+ 4 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/mapper/ActivityMapper.java

@@ -16,6 +16,8 @@
  */
 package org.springblade.salesPart.activity.mapper;
 
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.salesPart.activity.entity.Activity;
 import org.springblade.salesPart.activity.vo.ActivityVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,4 +41,6 @@ public interface ActivityMapper extends BaseMapper<Activity> {
 	 */
 	List<ActivityVO> selectActivityPage(IPage page, ActivityVO activity);
 
+	@TenantIgnore
+    List<Activity> selectActivityList(@Param("param") String param);
 }

+ 10 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/mapper/ActivityMapper.xml

@@ -28,7 +28,16 @@
 
 
     <select id="selectActivityPage" resultMap="activityResultMap">
-        select * from pjpf_activity where is_deleted = 0
+        select *
+        from pjpf_activity
+        where is_deleted = 0
+    </select>
+    <select id="selectActivityList" resultType="org.springblade.salesPart.activity.entity.Activity">
+        select *
+        from pjpf_activity
+        where is_deleted = 0
+          and tenant_id = #{param}
+          and status = '1'
     </select>
 
 </mapper>

+ 8 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/IActivityItemsService.java

@@ -16,10 +16,15 @@
  */
 package org.springblade.salesPart.activity.service;
 
+import org.springblade.core.tool.api.R;
 import org.springblade.salesPart.activity.entity.ActivityItems;
 import org.springblade.salesPart.activity.vo.ActivityItemsVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.salesPart.excel.ActivityItemsCodeExcel;
+import org.springblade.salesPart.excel.ActivityItemsNameExcel;
+
+import java.util.List;
 
 /**
  * 轮胎商城活动明细 服务类
@@ -38,4 +43,7 @@ public interface IActivityItemsService extends IService<ActivityItems> {
 	 */
 	IPage<ActivityItemsVO> selectActivityItemsPage(IPage<ActivityItemsVO> page, ActivityItemsVO activityItems);
 
+    R importItemName(List<ActivityItemsNameExcel> excelList);
+
+	R importItemCode(List<ActivityItemsCodeExcel> excelList);
 }

+ 6 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/IActivityService.java

@@ -16,12 +16,15 @@
  */
 package org.springblade.salesPart.activity.service;
 
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
 import org.springblade.salesPart.activity.entity.Activity;
 import org.springblade.salesPart.activity.vo.ActivityVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  * 轮胎商城活动 服务类
  *
@@ -42,4 +45,7 @@ public interface IActivityService extends IService<Activity> {
     R submit(Activity activity);
 
 	Activity detail(Activity activity);
+
+	@TenantIgnore
+    List<Activity> selectActivityList(String param);
 }

+ 362 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/impl/ActivityItemsServiceImpl.java

@@ -16,14 +16,38 @@
  */
 package org.springblade.salesPart.activity.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import lombok.AllArgsConstructor;
+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.ObjectUtil;
 import org.springblade.salesPart.activity.entity.ActivityItems;
 import org.springblade.salesPart.activity.vo.ActivityItemsVO;
 import org.springblade.salesPart.activity.mapper.ActivityItemsMapper;
 import org.springblade.salesPart.activity.service.IActivityItemsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.salesPart.brand.service.IBrandFigureService;
+import org.springblade.salesPart.brand.service.IBrandFilesService;
+import org.springblade.salesPart.entity.*;
+import org.springblade.salesPart.excel.ActivityItemsCodeExcel;
+import org.springblade.salesPart.excel.ActivityItemsNameExcel;
+import org.springblade.salesPart.excel.ShipItemImportXSExcel;
+import org.springblade.salesPart.goods.mapper.GoodsDescMapper;
+import org.springblade.salesPart.productLaunch.service.IProductLaunchFilesService;
+import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
 /**
  * 轮胎商城活动明细 服务实现类
  *
@@ -31,11 +55,349 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2024-03-18
  */
 @Service
+@AllArgsConstructor
 public class ActivityItemsServiceImpl extends ServiceImpl<ActivityItemsMapper, ActivityItems> implements IActivityItemsService {
 
+
+	private final IProductLaunchService productLaunchService;
+	private final GoodsDescMapper goodsDescMapper;
+	private final IBrandFilesService brandFilesService;
+	private final IProductLaunchFilesService productLaunchFilesService;
+	private final IBrandFigureService brandFigureService;
+
 	@Override
 	public IPage<ActivityItemsVO> selectActivityItemsPage(IPage<ActivityItemsVO> page, ActivityItemsVO activityItems) {
 		return page.setRecords(baseMapper.selectActivityItemsPage(page, activityItems));
 	}
 
+	@Override
+	public R importItemName(List<ActivityItemsNameExcel> excelList) {
+		if (CollectionUtils.isEmpty(excelList)) {
+			throw new SecurityException("导入数据不能为空");
+		}
+		List<ActivityItems> list = new ArrayList<>();
+		List<String> codesList = excelList.stream().map(ActivityItemsNameExcel::getCname).distinct()
+			.filter(Objects::nonNull).collect(Collectors.toList());
+		if (excelList.size() != codesList.size()) {
+			throw new RuntimeException("导入数据存在重复商品名称,请处理后再导入");
+		}
+		String codes = String.join(",", codesList);
+		LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.apply("find_in_set(cname,'" + codes + "')");
+		List<PjGoodsDesc> goodsDescList = goodsDescMapper.selectList(lambdaQueryWrapper);
+		LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrappers = new LambdaQueryWrapper<>();
+		lambdaQueryWrappers.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
+			.eq(PjProductLaunch::getIsDeleted, 0)
+			.apply("find_in_set(cname,'" + codes + "')");
+		List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(lambdaQueryWrappers);
+		List<PjProductLaunchFiles> pjProductLaunchFilesList = new ArrayList<>();
+		List<PjBrandFiles> pjBrandFilesList = new ArrayList<>();
+		List<BrandFigure> brandFigureList = new ArrayList<>();
+		List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getId).collect(Collectors.toList());
+		List<Long> brandIds = pjProductLaunchList.stream().map(PjProductLaunch::getBrandId).collect(Collectors.toList());
+		if (!ids.isEmpty()) {
+			pjProductLaunchFilesList = productLaunchFilesService.list(new QueryWrapper<PjProductLaunchFiles>()
+				.in("pid", ids).eq("is_deleted", 0));
+		}
+		if (!brandIds.isEmpty()) {
+			pjBrandFilesList = brandFilesService.list(new QueryWrapper<PjBrandFiles>()
+				.in("pid", brandIds).eq("is_deleted", 0));
+			brandFigureList = brandFigureService.list(new QueryWrapper<BrandFigure>()
+				.in("pid", brandIds).eq("is_deleted", 0));
+		}
+		StringBuilder text = new StringBuilder();
+		for (int i = 0; i < excelList.size(); i++) {
+			int count = 0;
+			//判断必填项是否为空
+			ActivityItemsNameExcel itemExcel = excelList.get(i);
+			if (ObjectUtil.isEmpty(itemExcel.getCname())) {
+				text.append("第").append(i + 1).append("行,名称为空").append("\n");
+				count = 1;
+			}
+			ActivityItems item = new ActivityItems();
+			BeanUtil.copy(itemExcel, item);
+			//查询商品信息
+			PjGoodsDesc goodsDesc = goodsDescList.stream().filter(e -> e.getCname().equals(itemExcel.getCname())).findFirst().orElse(null);
+			if (goodsDesc != null) {
+				//查询商品信息
+				PjProductLaunch productLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(goodsDesc.getId())).findFirst().orElse(null);
+				if (productLaunch != null) {
+					item.setGoodsId(productLaunch.getGoodsId());
+					item.setCname(productLaunch.getCname());
+					item.setSpecificationAndModel(goodsDesc.getSpecificationAndModel());
+					item.setBrandItem(productLaunch.getBrandItem());
+					item.setInventory(productLaunch.getInventory());
+					item.setMinQuantity(itemExcel.getMinQuantity());
+					item.setMaxQuantity(itemExcel.getMaxQuantity());
+					item.setPriceOnePrimary(productLaunch.getPriceOne());
+					item.setPriceTwoPrimary(productLaunch.getPriceTwo());
+					item.setPriceThreePrimary(productLaunch.getPriceThree());
+					item.setPriceFourPrimary(productLaunch.getPriceFour());
+					item.setPriceOne(itemExcel.getPriceOne());
+					item.setPriceTwo(itemExcel.getPriceTwo());
+					item.setPriceThree(itemExcel.getPriceThree());
+					item.setPriceFour(itemExcel.getPriceFour());
+					item.setBrandId(goodsDesc.getBrandId());
+					item.setBrandName(goodsDesc.getBrandName());
+					item.setPlaceProduction(goodsDesc.getPlaceProduction());
+					item.setExplosionProof(goodsDesc.getExplosionProof());
+					item.setOriginalFactory(goodsDesc.getOriginalFactory());
+					item.setSelfRecovery(goodsDesc.getSelfRecovery());
+					if (!pjProductLaunchFilesList.isEmpty()) {
+						List<PjProductLaunchFiles> filesList = pjProductLaunchFilesList.stream().filter(e -> e.getPid().equals(productLaunch.getId())).collect(Collectors.toList());
+						if (!filesList.isEmpty()) {
+							item.setGoodsPictures(filesList.get(0).getFileName());
+							item.setUrl(filesList.get(0).getUrl());
+						} else {
+							if (ObjectUtils.isNotNull(item.getBrandId())) {
+								if (!brandFigureList.isEmpty()) {
+									List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getBrandItem()))
+										.collect(Collectors.toList());
+									if (!brandFigureList1.isEmpty()) {
+										item.setGoodsPictures(brandFigureList1.get(0).getFileName());
+										item.setUrl(brandFigureList1.get(0).getUrl());
+									} else {
+										if (!pjBrandFilesList.isEmpty()) {
+											List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+												.filter(e -> e.getPid().equals(item.getBrandId()))
+												.collect(Collectors.toList());
+											if (!pjBarndFilesList1.isEmpty()) {
+												item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+												item.setUrl(pjBarndFilesList1.get(0).getUrl());
+											}
+										}
+									}
+								} else {
+									if (!pjBrandFilesList.isEmpty()) {
+										List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+											.filter(e -> e.getPid().equals(item.getBrandId()))
+											.collect(Collectors.toList());
+										if (!pjBarndFilesList1.isEmpty()) {
+											item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+											item.setUrl(pjBarndFilesList1.get(0).getUrl());
+										}
+									}
+								}
+							}
+						}
+					} else {
+						if (ObjectUtils.isNotNull(item.getBrandId())) {
+							if (!brandFigureList.isEmpty()) {
+								List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+									.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getBrandItem()))
+									.collect(Collectors.toList());
+								if (!brandFigureList1.isEmpty()) {
+									item.setGoodsPictures(brandFigureList1.get(0).getFileName());
+									item.setUrl(brandFigureList1.get(0).getUrl());
+								} else {
+									if (!pjBrandFilesList.isEmpty()) {
+										List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+											.filter(e -> e.getPid().equals(item.getBrandId()))
+											.collect(Collectors.toList());
+										if (!pjBarndFilesList1.isEmpty()) {
+											item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+											item.setUrl(pjBarndFilesList1.get(0).getUrl());
+										}
+									}
+								}
+							} else {
+								if (!pjBrandFilesList.isEmpty()) {
+									List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()))
+										.collect(Collectors.toList());
+									if (!pjBarndFilesList1.isEmpty()) {
+										item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+										item.setUrl(pjBarndFilesList1.get(0).getUrl());
+									}
+								}
+							}
+						}
+					}
+					if (count == 0) {
+						list.add(item);
+					}
+				} else {
+					text.append("第").append(i + 1).append("行,商品未上架").append("\n");
+				}
+			} else {
+				text.append("第").append(i + 1).append("行,商品未找到").append("\n");
+			}
+		}
+		if (text.length() == 0) {
+			return R.data(list);
+		} else {
+			return R.data("导入失败:" + text);
+		}
+	}
+
+	@Override
+	public R importItemCode(List<ActivityItemsCodeExcel> excelList) {
+		if (CollectionUtils.isEmpty(excelList)) {
+			throw new SecurityException("导入数据不能为空");
+		}
+		List<ActivityItems> list = new ArrayList<>();
+		List<String> codesList = excelList.stream().map(ActivityItemsCodeExcel::getCname).distinct()
+			.filter(Objects::nonNull).collect(Collectors.toList());
+		if (excelList.size() != codesList.size()) {
+			throw new RuntimeException("导入数据存在重复商品编码,请处理后再导入");
+		}
+		String codes = String.join(",", codesList);
+		LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.apply("find_in_set(code,'" + codes + "')");
+		List<PjGoodsDesc> goodsDescList = goodsDescMapper.selectList(lambdaQueryWrapper);
+		List<Long> goodsId = new ArrayList<>();
+		if (!goodsDescList.isEmpty()) {
+			goodsId = goodsDescList.stream().map(PjGoodsDesc::getId).distinct().collect(Collectors.toList());
+		}
+		LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrappers = new LambdaQueryWrapper<>();
+		lambdaQueryWrappers.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
+			.eq(PjProductLaunch::getIsDeleted, 0)
+			.in(!goodsId.isEmpty(), PjProductLaunch::getGoodsId, goodsId);
+		List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(lambdaQueryWrappers);
+		List<PjProductLaunchFiles> pjProductLaunchFilesList = new ArrayList<>();
+		List<PjBrandFiles> pjBrandFilesList = new ArrayList<>();
+		List<BrandFigure> brandFigureList = new ArrayList<>();
+		List<Long> ids = pjProductLaunchList.stream().map(PjProductLaunch::getId).collect(Collectors.toList());
+		List<Long> brandIds = pjProductLaunchList.stream().map(PjProductLaunch::getBrandId).collect(Collectors.toList());
+		if (!ids.isEmpty()) {
+			pjProductLaunchFilesList = productLaunchFilesService.list(new QueryWrapper<PjProductLaunchFiles>()
+				.in("pid", ids).eq("is_deleted", 0));
+		}
+		if (!brandIds.isEmpty()) {
+			pjBrandFilesList = brandFilesService.list(new QueryWrapper<PjBrandFiles>()
+				.in("pid", brandIds).eq("is_deleted", 0));
+			brandFigureList = brandFigureService.list(new QueryWrapper<BrandFigure>()
+				.in("pid", brandIds).eq("is_deleted", 0));
+		}
+		StringBuilder text = new StringBuilder();
+		for (int i = 0; i < excelList.size(); i++) {
+			int count = 0;
+			//判断必填项是否为空
+			ActivityItemsCodeExcel itemExcel = excelList.get(i);
+			if (ObjectUtil.isEmpty(itemExcel.getCname())) {
+				text.append("第").append(i + 1).append("行,商品编码为空").append("\n");
+				count = 1;
+			}
+			ActivityItems item = new ActivityItems();
+			BeanUtil.copy(itemExcel, item);
+			//查询商品信息
+			PjGoodsDesc goodsDesc = goodsDescList.stream().filter(e -> e.getCode().equals(itemExcel.getCname())).findFirst().orElse(null);
+			if (goodsDesc != null) {
+				//查询商品信息
+				PjProductLaunch productLaunch = pjProductLaunchList.stream().filter(e -> e.getGoodsId().equals(goodsDesc.getId())).findFirst().orElse(null);
+				if (productLaunch != null) {
+					item.setGoodsId(productLaunch.getGoodsId());
+					item.setCname(productLaunch.getCname());
+					item.setSpecificationAndModel(goodsDesc.getSpecificationAndModel());
+					item.setBrandItem(productLaunch.getBrandItem());
+					item.setInventory(productLaunch.getInventory());
+					item.setMinQuantity(itemExcel.getMinQuantity());
+					item.setMaxQuantity(itemExcel.getMaxQuantity());
+					item.setPriceOnePrimary(productLaunch.getPriceOne());
+					item.setPriceTwoPrimary(productLaunch.getPriceTwo());
+					item.setPriceThreePrimary(productLaunch.getPriceThree());
+					item.setPriceFourPrimary(productLaunch.getPriceFour());
+					item.setPriceOne(itemExcel.getPriceOne());
+					item.setPriceTwo(itemExcel.getPriceTwo());
+					item.setPriceThree(itemExcel.getPriceThree());
+					item.setPriceFour(itemExcel.getPriceFour());
+					item.setBrandId(goodsDesc.getBrandId());
+					item.setBrandName(goodsDesc.getBrandName());
+					item.setPlaceProduction(goodsDesc.getPlaceProduction());
+					item.setExplosionProof(goodsDesc.getExplosionProof());
+					item.setOriginalFactory(goodsDesc.getOriginalFactory());
+					item.setSelfRecovery(goodsDesc.getSelfRecovery());
+					if (!pjProductLaunchFilesList.isEmpty()) {
+						List<PjProductLaunchFiles> filesList = pjProductLaunchFilesList.stream().filter(e -> e.getPid().equals(productLaunch.getId())).collect(Collectors.toList());
+						if (!filesList.isEmpty()) {
+							item.setGoodsPictures(filesList.get(0).getFileName());
+							item.setUrl(filesList.get(0).getUrl());
+						} else {
+							if (ObjectUtils.isNotNull(item.getBrandId())) {
+								if (!brandFigureList.isEmpty()) {
+									List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getBrandItem()))
+										.collect(Collectors.toList());
+									if (!brandFigureList1.isEmpty()) {
+										item.setGoodsPictures(brandFigureList1.get(0).getFileName());
+										item.setUrl(brandFigureList1.get(0).getUrl());
+									} else {
+										if (!pjBrandFilesList.isEmpty()) {
+											List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+												.filter(e -> e.getPid().equals(item.getBrandId()))
+												.collect(Collectors.toList());
+											if (!pjBarndFilesList1.isEmpty()) {
+												item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+												item.setUrl(pjBarndFilesList1.get(0).getUrl());
+											}
+										}
+									}
+								} else {
+									if (!pjBrandFilesList.isEmpty()) {
+										List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+											.filter(e -> e.getPid().equals(item.getBrandId()))
+											.collect(Collectors.toList());
+										if (!pjBarndFilesList1.isEmpty()) {
+											item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+											item.setUrl(pjBarndFilesList1.get(0).getUrl());
+										}
+									}
+								}
+							}
+						}
+					} else {
+						if (ObjectUtils.isNotNull(item.getBrandId())) {
+							if (!brandFigureList.isEmpty()) {
+								List<BrandFigure> brandFigureList1 = brandFigureList.stream()
+									.filter(e -> e.getPid().equals(item.getBrandId()) && e.getFigure().equals(item.getBrandItem()))
+									.collect(Collectors.toList());
+								if (!brandFigureList1.isEmpty()) {
+									item.setGoodsPictures(brandFigureList1.get(0).getFileName());
+									item.setUrl(brandFigureList1.get(0).getUrl());
+								} else {
+									if (!pjBrandFilesList.isEmpty()) {
+										List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+											.filter(e -> e.getPid().equals(item.getBrandId()))
+											.collect(Collectors.toList());
+										if (!pjBarndFilesList1.isEmpty()) {
+											item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+											item.setUrl(pjBarndFilesList1.get(0).getUrl());
+										}
+									}
+								}
+							} else {
+								if (!pjBrandFilesList.isEmpty()) {
+									List<PjBrandFiles> pjBarndFilesList1 = pjBrandFilesList.stream()
+										.filter(e -> e.getPid().equals(item.getBrandId()))
+										.collect(Collectors.toList());
+									if (!pjBarndFilesList1.isEmpty()) {
+										item.setGoodsPictures(pjBarndFilesList1.get(0).getFileName());
+										item.setUrl(pjBarndFilesList1.get(0).getUrl());
+									}
+								}
+							}
+						}
+					}
+					if (count == 0) {
+						list.add(item);
+					}
+				} else {
+					text.append("第").append(i + 1).append("行,商品编码未上架").append("\n");
+				}
+			} else {
+				text.append("第").append(i + 1).append("行,商品编码未找到").append("\n");
+			}
+		}
+		if (text.length() == 0) {
+			return R.data(list);
+		} else {
+			return R.data("导入失败:" + text);
+		}
+	}
+
 }

+ 8 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/activity/service/impl/ActivityServiceImpl.java

@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.core.tool.api.R;
 import org.springblade.salesPart.activity.entity.Activity;
 import org.springblade.salesPart.activity.entity.ActivityItems;
@@ -34,6 +35,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 轮胎商城活动 服务实现类
@@ -93,4 +95,10 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
 		return declare;
 	}
 
+	@Override
+	@TenantIgnore
+	public List<Activity> selectActivityList(String param) {
+		return baseMapper.selectActivityList(param);
+	}
+
 }

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

@@ -318,4 +318,37 @@ public class BrandDescController extends BladeController {
 		return R.data(list);
 	}
 
+	/**
+	 * 品牌下拉V1
+	 */
+	@GetMapping("/listAllAppV1")
+	public R<List<PjBrandDesc>> listAllAppV1(PjBrandDesc brandDesc) {
+		PjCorpsDesc corpsDesc = null;
+		//根据当前登录人获得客户
+		PjCorpsAttn corpsAttn = corpsAttnService.getAttn(AuthUtil.getUserId());
+		if (ObjectUtil.isNotEmpty(corpsAttn)) {
+			corpsDesc = corpsDescService.getCorpsDesc(corpsAttn.getPid());
+			if (ObjectUtil.isEmpty(corpsDesc)) {
+				throw new RuntimeException("未查到用户信息");
+			}
+		} else {
+			throw new RuntimeException("未查到用户信息");
+		}
+		LambdaQueryWrapper<PjBrandDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjBrandDesc::getIsDeleted, 0)
+			.eq(PjBrandDesc::getType, "PP")
+			.eq(PjBrandDesc::getEnableOrNot, 1)
+			.like(ObjectUtils.isNotEmpty(brandDesc.getCname()), PjBrandDesc::getCname, brandDesc.getCname())
+			.orderByDesc(PjBrandDesc::getSort);
+		if (ObjectUtils.isNotNull(corpsDesc.getBrandId())) {
+			lambdaQueryWrapper.apply("find_in_set(id,'" + corpsDesc.getBrandId() + "')");
+		}
+		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")) {
+			lambdaQueryWrapper.eq(PjBrandDesc::getSalesCompanyId, AuthUtil.getDeptId());//公司
+		}
+		List<PjBrandDesc> list = brandDescService.list(lambdaQueryWrapper);
+		return R.data(list);
+	}
+
 }

+ 4 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/handler/SynchronizeDataJobHandler.java

@@ -5,6 +5,7 @@ import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tenant.annotation.TenantIgnore;
 import org.springblade.salesPart.activity.entity.Activity;
 import org.springblade.salesPart.activity.service.IActivityService;
 import org.springframework.stereotype.Component;
@@ -25,10 +26,11 @@ public class SynchronizeDataJobHandler {
 	@XxlJob("updateActivityStatusJobHandler")
 	public ReturnT<String> updateActivityStatusJobHandler(String param) {
 		System.out.println("==========================请求成功================================");
-		List<Activity> activityList = activityService.list(new LambdaQueryWrapper<Activity>()
+		List<Activity> activityList = activityService.selectActivityList(param);
+		/*List<Activity> activityList = activityService.list(new LambdaQueryWrapper<Activity>()
 			.eq(Activity::getTenantId, AuthUtil.getTenantId())
 			.eq(Activity::getIsDeleted, 0)
-			.eq(Activity::getStatus, 1));
+			.eq(Activity::getStatus, 1));*/
 		Date date = new Date();
 		List<Activity> activities = new ArrayList<>();
 		for (Activity item : activityList) {

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/mapper/ProductLaunchMapper.xml

@@ -89,7 +89,7 @@
           AND FIND_IN_SET( ps.bs_type, 'XS,CG,TKXS,TKCG,PD' )
           AND ps.tenant_id = #{order.tenantId}
         and (( ps.business_source = '外部销售' AND FIND_IN_SET( ps.status, '待确认,待发货,已发货,已收货' ) )
-        OR (ps.business_source = '内部销售' AND FIND_IN_SET( ps.status, ',待发货,已发货,已收货' ))
+        OR (ps.business_source = '内部销售' AND FIND_IN_SET( ps.status, '待发货,已发货,已收货' ))
         OR (ps.business_source = '额度支付' AND FIND_IN_SET( ps.status, '待确认,待发货,已发货,已收货' )))
         <if test="order.goodsId!=null">
             and psi.goods_id = #{order.goodsId}