wangzhuo пре 2 година
родитељ
комит
fea2b83e49

+ 11 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IGoodsDescClient.java

@@ -38,6 +38,7 @@ public interface IGoodsDescClient {
 	String GOODS_SPECIFICATION_LIST = API_PREFIX+ "goodsSpecificationList";
 
 	String SELECT_GOODS_SPECIFICATION_ALL = API_PREFIX+ "selectGoodsSpecificationAll";
+	String GET_GOODS_IDS = API_PREFIX + "/getGoodsIds";
 
 	/**
 	 * 根据销售明细的商品id获得商品信息
@@ -197,4 +198,14 @@ public interface IGoodsDescClient {
 	 */
 	@GetMapping(GOODS_SPECIFICATION_LIST)
 	List<GoodsSpecification> goodsSpecificationList(@RequestParam("itemIds") Long itemIds);
+
+	/**
+	 * 根据名称或品名快捷查询获得商品信息
+	 *
+	 * @param cname
+	 * @param
+	 * @return
+	 */
+	@GetMapping(GET_GOODS_IDS)
+	List<GoodsDesc> getGoodsIds(@RequestParam("cname") String cname);
 }

+ 5 - 0
blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/entity/SalesPolicyItem.java

@@ -209,5 +209,10 @@ public class SalesPolicyItem implements Serializable {
 	@TableField(exist = false)
 	private String priceType;
 
+	/**
+	 * 商品名称
+	 */
+	@TableField(exist = false)
+	private String cname;
 
 }

+ 19 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java

@@ -253,4 +253,23 @@ public class GoodsDescClient implements IGoodsDescClient {
 			this.selectChildById(item.getId(), idList);
 		});
 	}
+
+	/**
+	 * 根据名称或品名快捷查询获得商品信息
+	 *
+	 * @param cname
+	 * @param
+	 * @return
+	 */
+	@Override
+	public List<GoodsDesc> getGoodsIds(String cname) {
+		LambdaQueryWrapper<GoodsDesc> goodsDescLambdaQueryWrapper = new LambdaQueryWrapper<>();
+
+		goodsDescLambdaQueryWrapper.like(!StringUtil.isBlank(cname), GoodsDesc::getCname, cname).
+			or().like(!StringUtil.isBlank(cname), GoodsDesc::getCnameInt, cname)
+			.eq(GoodsDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(GoodsDesc::getIsDeleted, 0);
+
+		return goodsDescService.list(goodsDescLambdaQueryWrapper);
+	}
 }

+ 11 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/SalesPolicyItemController.java

@@ -144,5 +144,16 @@ public class SalesPolicyItemController extends BladeController {
 		return R.status(salesPolicyItemService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 销售政策明细查询
+	 */
+	@GetMapping("/selCnameList")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "分页", notes = "传入salesPolicyItem")
+	public R<IPage<SalesPolicyItem>> selCnameList(SalesPolicyItem salesPolicyItem, Query query) {
+		IPage<SalesPolicyItem> pages = salesPolicyItemService.selCnameList(query, salesPolicyItem);
+		return R.data(pages);
+	}
+
 
 }

+ 5 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/ISalesPolicyItemService.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.mocha.service;
 
+import org.springblade.core.mp.support.Query;
 import org.springblade.mocha.entity.SalesPolicyItem;
 import org.springblade.mocha.vo.SalesPolicyItemVO;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -38,4 +39,8 @@ public interface ISalesPolicyItemService extends IService<SalesPolicyItem> {
 	 */
 	IPage<SalesPolicyItemVO> selectSalesPolicyItemPage(IPage<SalesPolicyItemVO> page, SalesPolicyItemVO salesPolicyItem);
 
+	/**
+	 * 销售政策明细查询
+	 */
+	IPage<SalesPolicyItem> selCnameList(Query query, SalesPolicyItem item);
 }

+ 79 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/SalesPolicyItemServiceImpl.java

@@ -16,13 +16,28 @@
  */
 package org.springblade.mocha.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.AllArgsConstructor;
+import org.springblade.check.entity.AuditPathsLevels;
+import org.springblade.client.entity.GoodsDesc;
+import org.springblade.client.feign.IGoodsDescClient;
+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.utils.ObjectUtil;
 import org.springblade.mocha.entity.SalesPolicyItem;
 import org.springblade.mocha.vo.SalesPolicyItemVO;
 import org.springblade.mocha.mapper.SalesPolicyItemMapper;
 import org.springblade.mocha.service.ISalesPolicyItemService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 销售政策明细表 服务实现类
@@ -31,11 +46,75 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2021-10-14
  */
 @Service
+@AllArgsConstructor
 public class SalesPolicyItemServiceImpl extends ServiceImpl<SalesPolicyItemMapper, SalesPolicyItem> implements ISalesPolicyItemService {
 
+	/**
+	 * 商品信息
+	 */
+	private final IGoodsDescClient goodsDescClient;
+	/**
+	 * 用户
+	 */
+	private final IUserClient userClient;
+
 	@Override
 	public IPage<SalesPolicyItemVO> selectSalesPolicyItemPage(IPage<SalesPolicyItemVO> page, SalesPolicyItemVO salesPolicyItem) {
 		return page.setRecords(baseMapper.selectSalesPolicyItemPage(page, salesPolicyItem));
 	}
 
+	/**
+	 * 销售政策明细查询
+	 */
+	@Override
+	public IPage<SalesPolicyItem> selCnameList(Query query, SalesPolicyItem item) {
+		if (item.getPid() == null){
+			throw new SecurityException("缺少必要参数,查询失败");
+		}
+		//根据条件查询特价促销明细
+		LambdaQueryWrapper<SalesPolicyItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(SalesPolicyItem::getTenantId, AuthUtil.getTenantId())
+			.eq(SalesPolicyItem::getIsDeleted, 0)
+			.eq(SalesPolicyItem::getSalesType, 1)
+			.eq(SalesPolicyItem::getPid, item.getPid());
+
+		if (ObjectUtil.isNotEmpty(item.getCname())){//获得产品信息
+			List<GoodsDesc> goodsDescList = goodsDescClient.getGoodsIds(item.getCname());
+			List<Long> goodsIds = goodsDescList.stream().map(GoodsDesc::getId).collect(Collectors.toList());
+			lambdaQueryWrapper.in(SalesPolicyItem::getItemId, goodsIds);
+		}
+
+		IPage<SalesPolicyItem> iPage = baseMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+
+		if (!CollectionUtils.isEmpty(iPage.getRecords())){
+			String updateUserIds = "";//修改人id拼接
+			String createUserIds = "";//创建人id拼接
+			for (SalesPolicyItem items : iPage.getRecords()){
+				if (ObjectUtil.isNotEmpty(items.getUpdateUser())){
+					updateUserIds = updateUserIds + items.getUpdateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(items.getCreateUser())){
+					createUserIds = createUserIds + items.getCreateUser() + ",";
+				}
+			}
+
+			//获得修改人信息
+			List<User> updateUserList = userClient.selectUserIds(updateUserIds);
+			//获得创建人信息
+			List<User> createUserList = userClient.selectUserIds(createUserIds);
+
+			iPage.getRecords().forEach(salesPolicyItem -> {
+				if (ObjectUtil.isNotEmpty(updateUserList)) {
+					salesPolicyItem.setUpdateUserName(updateUserList.stream().filter(e -> e.getId().equals(salesPolicyItem.getUpdateUser())).findFirst().get().getName());
+				}
+
+				if (ObjectUtil.isNotEmpty(createUserList)) {
+					salesPolicyItem.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(salesPolicyItem.getCreateUser())).findFirst().get().getName());
+				}
+			});
+		}
+
+		return iPage;
+	}
+
 }

+ 2 - 2
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/SalesPolicyServiceImpl.java

@@ -192,7 +192,7 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
 				}
 
 				if (ObjectUtil.isNotEmpty(createUserList)) {
-					item.setUpdateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
+					item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
 
 				}
 				item.setIsSpecial("特价".equals(policy.getType()) ? 1 : 0);
@@ -218,7 +218,7 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
 				}
 
 				if (ObjectUtil.isNotEmpty(createUserList2)) {
-					item.setUpdateUserName(createUserList2.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
+					item.setCreateUserName(createUserList2.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
 
 				}
 				item.setIsSpecial("特价".equals(policy.getType()) ? 1 : 0);

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/mapper/AccMapper.xml

@@ -68,7 +68,7 @@
         BCD.cname AS corpName,
         IFNULL( BC.amount, 0 ) AS amount,
         IFNULL( FS.settlementAmount, 0 ) AS settlementAmount,
-        IFNULL( IFNULL( BC.amount, 0 ) - IFNULL( FS.settlementAmount, 0 ) - IFNULL( FS.caseOverPayment, 0 ) + IFNULL( BCD.opening_amount, 0 ), 0 ) AS balance,
+        IFNULL( IFNULL( BC.amount, 0 ) - IFNULL( FS.settlementAmount, 0 ) - IFNULL( BO.balance_overpaymen, 0 ) + IFNULL( BCD.opening_amount, 0 ), 0 ) AS balance,
         IFNULL( FS.caseOverPayment, 0 ) AS caseOverPayment,
         IFNULL( BO.balance_overpaymen, 0 ) AS inOverpayment,
         IFNULL( BCD.opening_amount, 0 ) AS openingAmount