|
@@ -103,14 +103,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@Autowired
|
|
|
private LogisticsInfosService logisticsInfosService;
|
|
|
@Autowired
|
|
|
- private LogisticsDetailsService logisticsDetailsService;
|
|
|
- @Autowired
|
|
|
- private ISysRoleService sysRoleService;
|
|
|
- @Autowired
|
|
|
private CompanyInfoService companyInfoService;
|
|
|
- @Resource
|
|
|
- private JdApiService jdApiService;
|
|
|
-
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -119,21 +112,31 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
wrapper.eq("jo", JdOrder::getOutStatus, dto.getStatus());
|
|
|
wrapper.orderByDesc("jo", JdOrder::getId);
|
|
|
|
|
|
- wrapper.like(ObjectUtil.isNotNull(dto.getOrderId()),"jo.order_id",dto.getOrderId());
|
|
|
+ wrapper.like(ObjectUtil.isNotNull(dto.getOrderId()), "jo.order_id", dto.getOrderId());
|
|
|
|
|
|
List<Long> jdOrderIdList = new ArrayList<>();
|
|
|
- if(ObjectUtil.isNotNull(dto.getKeyword())){
|
|
|
+ if (ObjectUtil.isNotNull(dto.getKeyword())) {
|
|
|
List<JdOrderDetails> list = jdOrderDetailsService.lambdaQuery().like(JdOrderDetails::getWareId, dto.getKeyword()).list();
|
|
|
- if(CollectionUtil.isNotEmpty(list)){
|
|
|
+ if (CollectionUtil.isNotEmpty(list)) {
|
|
|
jdOrderIdList = list.stream().map(JdOrderDetails::getJdOrderId).distinct().collect(Collectors.toList());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
wrapper.in(CollectionUtil.isNotEmpty(jdOrderIdList), "jo.id", jdOrderIdList);
|
|
|
- wrapper.eq(StrUtil.isNotBlank(dto.getBusinessStatus()),"jo.business_status",dto.getBusinessStatus());
|
|
|
- wrapper.eq(ObjectUtil.isNotNull(dto.getIsCanConfirm()),"jo.is_can_confirm",dto.getIsCanConfirm());
|
|
|
+ wrapper.eq(StrUtil.isNotBlank(dto.getBusinessStatus()), "jo.business_status", dto.getBusinessStatus());
|
|
|
+ wrapper.eq(ObjectUtil.isNotNull(dto.getIsCanConfirm()), "jo.is_can_confirm", dto.getIsCanConfirm());
|
|
|
wrapper.eq("jo", JdOrder::getState, dto.getState());
|
|
|
wrapper.eq("jo", JdOrder::getConfirmState, dto.getConfirmState());
|
|
|
+ //是否异常
|
|
|
+ wrapper.eq("jo", JdOrder::getHasEx, dto.getHasEx());
|
|
|
+ //是否备注
|
|
|
+ if (StrUtil.isNotBlank(dto.getHasRemark())) {
|
|
|
+ if (dto.getHasRemark().equals("1")) {
|
|
|
+ wrapper.isNotNull("jo.remark");
|
|
|
+ } else {
|
|
|
+ wrapper.isNull("jo.remark");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
|
wrapper.keyword(dto.getKeyword(),
|
|
@@ -179,7 +182,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
JdOrder JdOrder = this.getById(id);
|
|
|
JdOrderVo result = BeanUtil.toBean(JdOrder, JdOrderVo.class);
|
|
|
|
|
|
- List<JdOrderDetails> jdOrderDetailsList = jdOrderDetailsService.list(q -> q.eq(JdOrderDetails::getJdOrderId, id));
|
|
|
+ List<JdOrderDetails> jdOrderDetailsList = jdOrderDetailsService.lambdaQuery().eq(JdOrderDetails::getJdOrderId, id).orderByDesc(JdOrderDetails::getHasEx).orderByDesc(JdOrderDetails::getId).list();
|
|
|
List<JdOrderDetailsVo> jdOrderDetailsVoList = BeanUtil.copyToList(jdOrderDetailsList, JdOrderDetailsVo.class);
|
|
|
productInfoService.attributeAssign(jdOrderDetailsVoList, JdOrderDetails::getProductId, (item, product) -> {
|
|
|
item.setProductCode(product.getCode());
|
|
@@ -527,8 +530,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
List<Long> liIds = logisticsInfosList.stream().map(LogisticsInfos::getId).collect(Collectors.toList());
|
|
|
AbnormalInfo oldAbnormalInfo = abnormalInfoService.getOne(q -> q
|
|
|
.in(AbnormalInfo::getLogisticsInfosId, liIds)
|
|
|
- .eq(AbnormalInfo::getType,30)
|
|
|
- .eq(AbnormalInfo::getLinkId,stockTransfer.getId())
|
|
|
+ .eq(AbnormalInfo::getType, 30)
|
|
|
+ .eq(AbnormalInfo::getLinkId, stockTransfer.getId())
|
|
|
);
|
|
|
if (ObjectUtil.isNotEmpty(oldAbnormalInfo)) {
|
|
|
abnormalInfo = oldAbnormalInfo;
|
|
@@ -660,7 +663,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@Override
|
|
|
public List<LogisticsInfosVo> getLogisticsInfo(Long jdOrderInfoId) {
|
|
|
List<LogisticsInfos> list = logisticsInfosService.list(q -> q.eq(LogisticsInfos::getBusinessId, jdOrderInfoId));
|
|
|
- if(ObjectUtil.isEmpty(list)){
|
|
|
+ if (ObjectUtil.isEmpty(list)) {
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
List<LogisticsInfosVo> logisticsInfosVos = BeanUtil.copyToList(list, LogisticsInfosVo.class);
|
|
@@ -668,7 +671,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
List<String> codes = logisticsInfosVos.stream().map(LogisticsInfos::getLogisticsCompanyCode).collect(Collectors.toList());
|
|
|
Map<String, String> companyInfoMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
|
|
|
q -> q.in(CompanyInfo::getCode, codes));
|
|
|
- logisticsInfosVos.forEach(item->item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
|
|
|
+ logisticsInfosVos.forEach(item -> item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
|
|
|
return logisticsInfosVos;
|
|
|
}
|
|
|
|
|
@@ -676,35 +679,35 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@DSTransactional
|
|
|
public void confirmBusinessStatus(JdOrderDto jdOrderDto) {
|
|
|
lambdaUpdate()
|
|
|
- .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
|
|
|
- .eq(JdOrder::getId,jdOrderDto.getId()).update();
|
|
|
+ .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
|
|
|
+ .eq(JdOrder::getId, jdOrderDto.getId()).update();
|
|
|
|
|
|
JdOrder jdOrder = getById(jdOrderDto.getId());
|
|
|
- //插入到库存调整记录
|
|
|
- DynamicDataSourceContextHolder.push(SourceConstant.WMS);
|
|
|
- StockWait stockWait = new StockWait();
|
|
|
- stockWait.setType(2);//待出库
|
|
|
- stockWait.setBusinessType(StockWaitType.JD_ORDER_OUT.getDetailType());
|
|
|
- stockWait.setBusinessId(jdOrder.getId());
|
|
|
- stockWait.setBusinessCode(StrUtil.toString(jdOrder.getOrderId()));
|
|
|
- stockWait.setStatus(0);
|
|
|
- stockWaitService.save(stockWait);
|
|
|
-
|
|
|
- List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
|
|
|
- List<JdOrderDetailsVo> jdOrderDetailsList = jdOrderDetailsService.findListByJdOrderId(jdOrderDto.getId());
|
|
|
-
|
|
|
- for (JdOrderDetailsVo jdOrderDetailsVo : jdOrderDetailsList) {
|
|
|
- //创建待出库明细
|
|
|
- StockWaitDetails stockWaitDetails = new StockWaitDetails();
|
|
|
- stockWaitDetails.setStockWaitId(stockWait.getId());
|
|
|
- stockWaitDetails.setBusinessDetailsId(jdOrderDetailsVo.getId());
|
|
|
- stockWaitDetails.setProductId(jdOrderDetailsVo.getProductId());
|
|
|
- stockWaitDetails.setQuantity(new BigDecimal(jdOrderDetailsVo.getConfirmNum()));
|
|
|
- stockWaitDetails.setReceiptQuantity(new BigDecimal(BigInteger.ZERO));
|
|
|
- stockWaitDetailsList.add(stockWaitDetails);
|
|
|
+ if (jdOrderDto.getIsOut()) {
|
|
|
+ //插入到库存调整记录
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.WMS);
|
|
|
+ StockWait stockWait = new StockWait();
|
|
|
+ stockWait.setType(2);//待出库
|
|
|
+ stockWait.setBusinessType(StockWaitType.JD_ORDER_OUT.getDetailType());
|
|
|
+ stockWait.setBusinessId(jdOrder.getId());
|
|
|
+ stockWait.setBusinessCode(StrUtil.toString(jdOrder.getOrderId()));
|
|
|
+ stockWait.setStatus(0);
|
|
|
+ stockWaitService.save(stockWait);
|
|
|
+ List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
|
|
|
+ List<JdOrderDetailsVo> jdOrderDetailsList = jdOrderDetailsService.findListByJdOrderId(jdOrderDto.getId());
|
|
|
+
|
|
|
+ for (JdOrderDetailsVo jdOrderDetailsVo : jdOrderDetailsList) {
|
|
|
+ //创建待出库明细
|
|
|
+ StockWaitDetails stockWaitDetails = new StockWaitDetails();
|
|
|
+ stockWaitDetails.setStockWaitId(stockWait.getId());
|
|
|
+ stockWaitDetails.setBusinessDetailsId(jdOrderDetailsVo.getId());
|
|
|
+ stockWaitDetails.setProductId(jdOrderDetailsVo.getProductId());
|
|
|
+ stockWaitDetails.setQuantity(new BigDecimal(jdOrderDetailsVo.getConfirmNum()));
|
|
|
+ stockWaitDetails.setReceiptQuantity(new BigDecimal(BigInteger.ZERO));
|
|
|
+ stockWaitDetailsList.add(stockWaitDetails);
|
|
|
+ }
|
|
|
+ stockWaitDetailsService.saveBatch(stockWaitDetailsList);
|
|
|
}
|
|
|
- stockWaitDetailsService.saveBatch(stockWaitDetailsList);
|
|
|
-
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
}
|
|
@@ -713,22 +716,22 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void tellBackOrer(JdOrderDto jdOrderDto) {
|
|
|
//参数校验
|
|
|
- if(ObjectUtil.isNull(jdOrderDto.getId())){
|
|
|
+ if (ObjectUtil.isNull(jdOrderDto.getId())) {
|
|
|
throw new RuntimeException("参数错误");
|
|
|
}
|
|
|
- if(ObjectUtil.isNull(jdOrderDto.getDeliveryTime())){
|
|
|
+ if (ObjectUtil.isNull(jdOrderDto.getDeliveryTime())) {
|
|
|
throw new RuntimeException("预计送达时间不能为空");
|
|
|
}
|
|
|
List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
|
|
|
- if(CollectionUtil.isEmpty(jdOrderDetailsList)){
|
|
|
+ if (CollectionUtil.isEmpty(jdOrderDetailsList)) {
|
|
|
throw new RuntimeException("采购单明细不能为空");
|
|
|
}
|
|
|
for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
|
|
|
- if(ObjectUtil.isNull(jdOrderDetails.getWareId())){
|
|
|
+ if (ObjectUtil.isNull(jdOrderDetails.getWareId())) {
|
|
|
throw new RuntimeException("京东商品编号为空");
|
|
|
}
|
|
|
- if(ObjectUtil.isNull(jdOrderDetails.getConfirmNum())){
|
|
|
- throw new RuntimeException("京东商品编号:"+jdOrderDetails.getWareId()+"确认数量为空");
|
|
|
+ if (ObjectUtil.isNull(jdOrderDetails.getConfirmNum())) {
|
|
|
+ throw new RuntimeException("京东商品编号:" + jdOrderDetails.getWareId() + "确认数量为空");
|
|
|
}
|
|
|
}
|
|
|
JdOrder jdOrder = getById(jdOrderDto.getId());
|
|
@@ -738,19 +741,19 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
tellBackOrderVO.setDeliveryTime(jdOrderDto.getDeliveryTime());
|
|
|
List<TellBackOrderVO.BackInfo> backInfos = BeanUtil.copyToList(jdOrderDto.getJdOrderDetailsList(), TellBackOrderVO.BackInfo.class);
|
|
|
tellBackOrderVO.setBackInfo(backInfos);
|
|
|
- jdApiService.tellBackOrer(tellBackOrderVO);
|
|
|
+// jdApiService.tellBackOrer(tellBackOrderVO);
|
|
|
//修改订单状态
|
|
|
lambdaUpdate()
|
|
|
.set(JdOrder::getBusinessStatus, 2)
|
|
|
.set(JdOrder::getDeliveryTime, jdOrderDto.getDeliveryTime())
|
|
|
- .eq(JdOrder::getId,jdOrderDto.getId()).update();
|
|
|
+ .eq(JdOrder::getId, jdOrderDto.getId()).update();
|
|
|
//修改明细信息
|
|
|
for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
|
|
|
jdOrderDetailsService.lambdaUpdate()
|
|
|
- .set(JdOrderDetails::getConfirmNum,jdOrderDetails.getConfirmNum())
|
|
|
- .set(JdOrderDetails::getDeliverCenterId,jdOrder.getDeliverCenterId())
|
|
|
- .set(JdOrderDetails::getNonDeliveryReason,jdOrderDetails.getNonDeliveryReason())
|
|
|
- .eq(JdOrderDetails::getId,jdOrderDetails.getId()).update();
|
|
|
+ .set(JdOrderDetails::getConfirmNum, jdOrderDetails.getConfirmNum())
|
|
|
+ .set(JdOrderDetails::getDeliverCenterId, jdOrder.getDeliverCenterId())
|
|
|
+ .set(JdOrderDetails::getNonDeliveryReason, jdOrderDetails.getNonDeliveryReason())
|
|
|
+ .eq(JdOrderDetails::getId, jdOrderDetails.getId()).update();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -758,9 +761,17 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
@Override
|
|
|
public boolean validJdOrderId(Long jdOrderId) {
|
|
|
List<JdOrder> list = lambdaQuery().eq(JdOrder::getOrderId, jdOrderId).list();
|
|
|
- if(CollectionUtil.isNotEmpty(list)){
|
|
|
+ if (CollectionUtil.isNotEmpty(list)) {
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void saveRemark(JdOrderDto jdOrderDto) {
|
|
|
+ lambdaUpdate()
|
|
|
+ .set(JdOrder::getRemark, jdOrderDto.getRemark())
|
|
|
+ .eq(JdOrder::getId, jdOrderDto.getId())
|
|
|
+ .update();
|
|
|
+ }
|
|
|
}
|