|
|
@@ -18,6 +18,7 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
|
|
import okhttp3.*;
|
|
|
import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.IMessageClient;
|
|
|
+import org.springblade.common.enums.BsTypeEnum;
|
|
|
import org.springblade.common.enums.CommonEnum;
|
|
|
import org.springblade.common.enums.NumberEnum;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
@@ -80,6 +81,7 @@ import org.springblade.salesPart.ship.service.IShipItemsService;
|
|
|
import org.springblade.salesPart.shopping.mapper.ShoppingMallDetailMapper;
|
|
|
import org.springblade.salesPart.stock.service.IStockDescService;
|
|
|
import org.springblade.salesPart.storage.mapper.StorageDescMapper;
|
|
|
+import org.springblade.salesPart.util.UserUtils;
|
|
|
import org.springblade.salesPart.util.WxParamUtil;
|
|
|
import org.springblade.salesPart.vo.*;
|
|
|
import org.springblade.system.entity.Dept;
|
|
|
@@ -4578,28 +4580,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
List<Long> ids = new ArrayList<>();
|
|
|
if (detail != null) {
|
|
|
ids.add(detail.getId());
|
|
|
- if ("XS".equals(detail.getBsType())) {
|
|
|
- PjOrder detailShare = baseMapper.selectOne(new LambdaQueryWrapper<PjOrder>()
|
|
|
- .eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjOrder::getIsDeleted, 0)
|
|
|
- .eq(PjOrder::getBsType, "GX")
|
|
|
- .eq(PjOrder::getSrcOrdNo, detail.getSrcOrdNo()));
|
|
|
- if (detailShare != null) {
|
|
|
- ids.add(detailShare.getId());
|
|
|
- detail.setGoodsTotalNum(detail.getGoodsTotalShipNum().add(detailShare.getGoodsTotalNum()));
|
|
|
- detail.setTotalMoney(detail.getTotalMoney().add(detailShare.getTotalMoney()));
|
|
|
- }
|
|
|
- } else {
|
|
|
- PjOrder detailShare = baseMapper.selectOne(new LambdaQueryWrapper<PjOrder>()
|
|
|
- .eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PjOrder::getIsDeleted, 0)
|
|
|
- .eq(PjOrder::getBsType, "XS")
|
|
|
- .eq(PjOrder::getSrcOrdNo, detail.getSrcOrdNo()));
|
|
|
- if (detailShare != null) {
|
|
|
- ids.add(detailShare.getId());
|
|
|
- detail.setGoodsTotalNum(detail.getGoodsTotalShipNum().add(detailShare.getGoodsTotalNum()));
|
|
|
- detail.setTotalMoney(detail.getTotalMoney().add(detailShare.getTotalMoney()));
|
|
|
- }
|
|
|
+ PjOrder detailShare = baseMapper.selectOne(new LambdaQueryWrapper<PjOrder>()
|
|
|
+ .eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjOrder::getIsDeleted, 0)
|
|
|
+ .eq(PjOrder::getBsType, BsTypeEnum.SALE.info.equals(detail.getBsType()) ? BsTypeEnum.SHARING.info : BsTypeEnum.SALE.info)
|
|
|
+ .eq(PjOrder::getSrcOrdNo, detail.getSrcOrdNo()));
|
|
|
+ if (detailShare != null) {
|
|
|
+ ids.add(detailShare.getId());
|
|
|
+ detail.setGoodsTotalNum(detail.getGoodsTotalShipNum().add(detailShare.getGoodsTotalNum()));
|
|
|
+ detail.setTotalMoney(detail.getTotalMoney().add(detailShare.getTotalMoney()));
|
|
|
+ detail.setSalesAmount(detail.getSalesAmount().add(detailShare.getSalesAmount()));
|
|
|
}
|
|
|
//获得销售明细
|
|
|
LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -4675,18 +4665,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
|
|
|
@Override
|
|
|
public IPage<PjOrder> appStatusShareList(PjOrder order, Query query) {
|
|
|
+ BladeUser user = AuthUtil.getUser();
|
|
|
LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.select(PjOrder::getSrcOrdNo,PjOrder::getCustomerId,
|
|
|
PjOrder::getId,PjOrder::getCustomerName, PjOrder::getRecAddress,
|
|
|
PjOrder::getPhone, PjOrder::getContacts,PjOrder::getChargeType,
|
|
|
PjOrder::getTotalMoney,PjOrder::getStatus,PjOrder::getXcxStatus,
|
|
|
PjOrder::getSalesCompanyName,PjOrder::getOrdNo,PjOrder::getGoodsTotalNum,
|
|
|
- PjOrder::getCreateTime);
|
|
|
- lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
+ PjOrder::getCreateTime, PjOrder::getReceivableType);
|
|
|
+ lambdaQueryWrapper.eq(PjOrder::getTenantId, user.getTenantId())
|
|
|
.eq(PjOrder::getIsDeleted, 0)
|
|
|
.in(PjOrder::getBsType, "XS", "GX")
|
|
|
// 公司
|
|
|
- .eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())
|
|
|
+ .eq(PjOrder::getSalesCompanyId, user.getDeptId())
|
|
|
// 状态
|
|
|
.eq(ObjectUtils.isNotEmpty(order.getActualPaymentStatus()), PjOrder::getActualPaymentStatus, order.getActualPaymentStatus())
|
|
|
// 所属公司
|
|
|
@@ -4694,8 +4685,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
.and(ObjectUtils.isNotNull(order.getRetrieval()), i -> i.like(PjOrder::getGoodsNameJoin, order.getRetrieval())
|
|
|
.or().like(PjOrder::getShortcutJoin, order.getRetrieval()))
|
|
|
.apply(ObjectUtils.isNotEmpty(order.getXcxStatus()), "find_in_set(xcx_status,'" + order.getXcxStatus() + "')");
|
|
|
- if (AuthUtil.getUserRole().contains("客户")) {
|
|
|
- lambdaQueryWrapper.eq(PjOrder::getCreateUser, AuthUtil.getUserId());
|
|
|
+ if (user.getRoleName().contains("客户")) {
|
|
|
+ PjCorpsAttn pjCorpsAttn = UserUtils.getUserCorpsAttn();
|
|
|
+ // lambdaQueryWrapper.eq(PjOrder::getCreateUser, AuthUtil.getUserId());
|
|
|
+ lambdaQueryWrapper.eq(PjOrder::getCustomerId, pjCorpsAttn.getPid());
|
|
|
}
|
|
|
lambdaQueryWrapper.groupBy(PjOrder::getSrcOrdNo);
|
|
|
query.setDescs("create_time");
|
|
|
@@ -4703,9 +4696,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (pages.getRecords().isEmpty()) {
|
|
|
return pages;
|
|
|
}
|
|
|
- List<Long> orderIds = pages.getRecords().stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
+ LambdaQueryWrapper<PjOrder> srcOrderWrapper = new LambdaQueryWrapper<>();
|
|
|
+ srcOrderWrapper.select(PjOrder::getSrcOrdNo,PjOrder::getId);
|
|
|
+ srcOrderWrapper.eq(PjOrder::getTenantId, user.getTenantId())
|
|
|
+ .in(PjOrder::getSrcOrdNo, pages.getRecords().stream().map(PjOrder::getSrcOrdNo).filter(Objects::nonNull).distinct().collect(Collectors.toList()));
|
|
|
+ List<PjOrder> srcOrderList = orderMapper.selectList(srcOrderWrapper);
|
|
|
+ List<Long> orderIds = srcOrderList.stream().map(PjOrder::getId).collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, user.getTenantId())
|
|
|
.eq(PjOrderItems::getIsDeleted, 0)
|
|
|
.in(PjOrderItems::getPid, orderIds);
|
|
|
List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
|
|
|
@@ -4713,14 +4711,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
return pages;
|
|
|
}
|
|
|
List<Long> goodsIds = itemsList.stream().map(PjOrderItems::getGoodsId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
- BladeUser user = AuthUtil.getUser();
|
|
|
// 查找goods、product、brand、brandFigure 中的图片,每个类型只取一条
|
|
|
List<GoodsImgVo> goodsImgVoList = goodsDescMapper.selectGoodsImgVoList(user.getTenantId(), goodsIds);
|
|
|
if (goodsImgVoList.isEmpty()) {
|
|
|
return pages;
|
|
|
}
|
|
|
for (PjOrder e : pages.getRecords()) {
|
|
|
- List<PjOrderItems> nowOrderItems = itemsList.stream().filter(e1 -> e1.getPid().equals(e.getId())).collect(Collectors.toList());
|
|
|
+ List<Long> nowOrderIds = srcOrderList.stream().filter(e1 -> e1.getSrcOrdNo().equals(e.getSrcOrdNo())).map(PjOrder::getId).collect(Collectors.toList());
|
|
|
+ List<PjOrderItems> nowOrderItems = itemsList.stream().filter(e1 -> nowOrderIds.contains(e1.getPid())).collect(Collectors.toList());
|
|
|
nowOrderItems.forEach(o -> {
|
|
|
GoodsImgVo goodsImgVo = goodsImgVoList.stream().filter(e1 -> e1.getGoodsId().equals(o.getGoodsId())).findFirst().orElse(null);
|
|
|
o.setUrl(goodsImgVo == null ? null : goodsImgVo.getFirstNonEmptyUrl());
|