纪新园 3 лет назад
Родитель
Сommit
53a11c08d6

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

@@ -274,4 +274,10 @@ public class PriceBank implements Serializable {
 	@TableField(exist = false)
 	private List<GoodsSpecificationDto> goodsSpecificationList;
 
+	/**
+	 * 计量单位
+	 */
+	@ApiModelProperty(value = "计量单位")
+	private String unit;
+
 }

+ 2 - 1
blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/feign/IPriceBankClient.java

@@ -59,7 +59,8 @@ public interface IPriceBankClient {
 					  @RequestParam(value = "purchaseAmount",required = false) BigDecimal purchaseAmount,
 					  @RequestParam(value = "priorityReferrer",required = false) Integer priorityReferrer,
 					  @RequestParam(value = "referrerReason",required = false) String referrerReason,
-					@RequestParam(value = "remarks",required = false) String remarks);
+					@RequestParam(value = "remarks",required = false) String remarks,
+					@RequestParam(value = "unit",required = false) String unit);
 
 	/**
 	 * 通过ids查看数据

+ 2 - 2
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -954,7 +954,7 @@ public class Order implements Serializable {
 	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date specialCheckTime;
 	/**
-	 * 出口正式客户
+	 * 出口正式客户(制单人)
 	 */
 	@ApiModelProperty(value = "出口正式客户")
 	private String client;
@@ -964,7 +964,7 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "出口正式客户地址")
 	private String clientAddress;
 	/**
-	 * 出口正式客户联系人
+	 * 出口正式客户联系人(订单电话)
 	 */
 	@ApiModelProperty(value = "出口正式客户联系人")
 	private String clientAttn;

+ 106 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/PriceBankController.java

@@ -18,6 +18,7 @@ package org.springblade.mocha.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -28,9 +29,12 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.FeesDesc;
+import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.entity.GoodsSpecification;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
+import org.springblade.client.feign.IRedisClient;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
@@ -41,6 +45,7 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mocha.entity.GoodsSpecificationDto;
 import org.springblade.mocha.excel.PriceBankExcel;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.mocha.entity.PriceBank;
@@ -68,6 +73,9 @@ public class PriceBankController extends BladeController {
 	private final IGoodsDescClient goodsDescClient;
 	private final ICorpsDescClient corpsDescClient;
 
+	private final RedisTemplate<String, Object> redisTemplate;
+	private IRedisClient redisClient;
+
 	/**
 	 * 详情
 	 */
@@ -173,6 +181,84 @@ public class PriceBankController extends BladeController {
 	}
 
 	/**
+	 * 自定义分页 出口价格库
+	 */
+	@GetMapping("/pageListAll")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入priceBank")
+	public R<List<PriceBank>> page(PriceBankVO priceBank) {
+		LambdaQueryWrapper<PriceBank> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		if (priceBank.getGoodTypeId() != null) {
+			List<Long> goodTypeMessage = corpsDescClient.getGoodTypeMessage(priceBank.getGoodTypeId());
+			if (CollectionUtils.isNotEmpty(goodTypeMessage)){
+				lambdaQueryWrapper.in(PriceBank::getGoodTypeId, goodTypeMessage);
+			}
+		}
+		lambdaQueryWrapper.eq(PriceBank::getIsDeleted,0);
+		lambdaQueryWrapper.eq(PriceBank::getStatus,0);
+		lambdaQueryWrapper.eq(PriceBank::getTenantId, SecureUtil.getTenantId());
+		lambdaQueryWrapper.eq(PriceBank::getTradeType,"CK");
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getCname()),PriceBank::getCname,priceBank.getCname());
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getCode()),PriceBank::getCode,priceBank.getCode());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getCorpId()),PriceBank::getCorpId,priceBank.getCorpId());
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getSpecs()),PriceBank::getSpecs,priceBank.getSpecs());
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getGoodsTypeName()),PriceBank::getGoodsTypeName,priceBank.getGoodsTypeName());
+		lambdaQueryWrapper.ge(Func.isNotEmpty(priceBank.getStatusTime()),PriceBank::getEndTime,priceBank.getStatusTime());
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getEname()),PriceBank::getEname,priceBank.getEname());
+		lambdaQueryWrapper.ge(Func.isNotEmpty(priceBank.getDateValidityStart()),PriceBank::getEndTime,priceBank.getDateValidityStart());
+		lambdaQueryWrapper.le(Func.isNotEmpty(priceBank.getDateValidityEnd()),PriceBank::getEndTime,priceBank.getDateValidityEnd());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getBillType()),PriceBank::getBillType,priceBank.getBillType());
+		lambdaQueryWrapper.orderByDesc(PriceBank::getId);
+		//客户
+		List<CorpsDesc> corpsDescList = new ArrayList<>();
+		corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
+		if (corpsDescList.size() == 0) {
+			redisClient.basicData("corps");
+			corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
+		}
+		//商品
+		List<GoodsDesc> goodsList = new ArrayList<>();
+		goodsList = castToList(redisTemplate.opsForValue().get("goods"), GoodsDesc.class);
+		if (goodsList.size() == 0) {
+			redisClient.basicData("goods");
+			goodsList = castToList(redisTemplate.opsForValue().get("goods"), GoodsDesc.class);
+		}
+		List<PriceBank> pages = priceBankService.list(lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(pages)){
+			for(PriceBank item :pages){
+				if (ObjectUtils.isNotNull(item.getItemId())) {
+					//商品
+					GoodsDesc goodsDesc = goodsList.stream().filter(goods -> goods.getId().equals(item.getItemId())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(goodsDesc)) {
+						item.setCnameDescription(goodsDesc.getCnameDescription());
+					}
+				}
+				/*R<GoodsDescVO> goodsDesc = goodsDescClient.selectGoodsMessage(item.getItemId());
+				if (goodsDesc != null && goodsDesc.getData() != null){
+					item.setCnameDescription(goodsDesc.getData().getCnameDescription());
+				}*/
+				if (item.getCorpId() != null) {
+					//客户
+					CorpsDesc corpsDesc = corpsDescList.stream().filter(corps -> corps.getId().equals(item.getCorpId())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(corpsDesc)) {
+						item.setCorpCode(corpsDesc.getCode());
+					}
+					/*R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
+					if (corpMessage.isSuccess() && corpMessage.getData() != null){
+						item.setCorpCode(corpMessage.getData().getCode());
+					}*/
+
+				}
+				List<GoodsSpecification> goodsSpecificationList = goodsDescClient.goodsSpecificationList(item.getItemId());
+				List<GoodsSpecificationDto> goodsSpecificationDtoList = BeanUtil.copy(goodsSpecificationList, GoodsSpecificationDto.class);
+				item.setGoodsSpecificationList(goodsSpecificationDtoList);
+
+			}
+		}
+		return R.data(pages);
+	}
+
+	/**
 	 * 新增 出口价格库
 	 */
 	@PostMapping("/save")
@@ -288,5 +374,25 @@ public class PriceBankController extends BladeController {
 		return priceBankService.updateParts(ids);
 	}
 
+	/**
+	 * 将Object转换成List类型
+	 *
+	 * @param obj   Object对象
+	 * @param clazz 数据类型
+	 * @param <T>   泛型类型
+	 * @return List类型
+	 */
+	public static <T> List<T> castToList(Object obj, Class<T> clazz) {
+		List<T> resList = new ArrayList<>();
+		// 如果不是List<?>对象,是没有办法转换的
+		if (obj instanceof List<?>) {
+			for (Object o : (List<?>) obj) {
+				// 将对应的元素进行类型转换
+				resList.add(clazz.cast(o));
+			}
+			return resList;
+		}
+		return resList;
+	}
 
 }

+ 3 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/feign/PriceBankClient.java

@@ -67,7 +67,8 @@ public class PriceBankClient implements IPriceBankClient {
 						   BigDecimal purchaseAmount,
 						   Integer priorityReferrer,
 						   String referrerReason,
-						   String remarks) {
+						   String remarks,
+						   String unit) {
 
 		Date date = new Date();
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -111,6 +112,7 @@ public class PriceBankClient implements IPriceBankClient {
 		bank.setPurchaseAmount(purchaseAmount);
 		bank.setPriorityReferrer(priorityReferrer);
 		bank.setReferrerReason(referrerReason);
+		bank.setUnit(unit);
 		if (corpMessage.isSuccess() && corpMessage.getData() != null) {
 			bank.setCorpName(corpMessage.getData().getCname());
 		}

+ 35 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -2309,6 +2309,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							order.setBusinesDate(date);
 						}
 						order.setStatus(9);
+						order.setClient(AuthUtil.getUser().getRoleName());
+						R<User> r = userClient.userInfoById(AuthUtil.getUserId());
+						if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())){
+							order.setClientAttn(r.getData().getPhone());
+						}
 						baseMapper.insert(order);
 					} else {
 						LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -2462,6 +2467,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						if (order.getBusinesDate() == null) {
 							order.setBusinesDate(date);
 						}
+						order.setClient(AuthUtil.getUser().getRoleName());
+						R<User> r = userClient.userInfoById(AuthUtil.getUserId());
+						if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())){
+							order.setClientAttn(r.getData().getPhone());
+						}
 						baseMapper.insert(order);
 					} else {
 						LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -2666,6 +2676,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					if (order.getBusinesDate() == null) {
 						order.setBusinesDate(date);
 					}
+					order.setClient(AuthUtil.getUser().getRoleName());
+					R<User> r = userClient.userInfoById(AuthUtil.getUserId());
+					if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())){
+						order.setClientAttn(r.getData().getPhone());
+					}
 					baseMapper.insert(order);
 				} else {
 					LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -2945,6 +2960,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						if (order.getBusinesDate() == null) {
 							order.setBusinesDate(date);
 						}
+						order.setClient(AuthUtil.getUser().getRoleName());
+						R<User> r = userClient.userInfoById(AuthUtil.getUserId());
+						if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())){
+							order.setClientAttn(r.getData().getPhone());
+						}
 						baseMapper.insert(order);
 					} else {
 						LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -3103,6 +3123,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						if (order.getBusinesDate() == null) {
 							order.setBusinesDate(date);
 						}
+						order.setClient(AuthUtil.getUser().getRoleName());
+						R<User> r = userClient.userInfoById(AuthUtil.getUserId());
+						if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())){
+							order.setClientAttn(r.getData().getPhone());
+						}
 						baseMapper.insert(order);
 					} else {
 						LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -3332,6 +3357,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							}
 						}
 					}
+					order.setClient(AuthUtil.getUser().getRoleName());
+					R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
+					if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())){
+						order.setClientAttn(userR.getData().getPhone());
+					}
 					baseMapper.insert(order);
 					BigDecimal costAmount = new BigDecimal("0.00");
 					BigDecimal grossProfit = new BigDecimal("0.00");
@@ -3545,6 +3575,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							}
 						}
 					}
+					order.setClient(AuthUtil.getUser().getRoleName());
+					R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
+					if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())){
+						order.setClientAttn(userR.getData().getPhone());
+					}
 					baseMapper.insert(order);
 					BigDecimal costAmount = new BigDecimal("0.00");
 					BigDecimal grossProfit = new BigDecimal("0.00");

+ 1 - 1
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -575,7 +575,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					orderItemsService.updateById(item);
 				}
 				priceBankClient.updatePrice(item.getItemId(), item.getPrice(), SecureUtil.getTenantId(), item.getCorpId(), item.getItemType(), OrderTypeEnum.PURCHASE.getType(), order.getTradeType(),
-					item.getExchangeRate(), item.getGreenback(), item.getCurrency(), item.getCoefficient(), item.getTaxRate(), format, item.getPurchaseAmount(), item.getPriorityReferrer(), item.getReferrerReason(), item.getRemarks());
+					item.getExchangeRate(), item.getGreenback(), item.getCurrency(), item.getCoefficient(), item.getTaxRate(), format, item.getPurchaseAmount(), item.getPriorityReferrer(), item.getReferrerReason(), item.getRemarks(), item.getUnit());
 			});
 		}
 		return R.data(order);