|
|
@@ -15,7 +15,6 @@ import com.sckw.payment.model.KwpLedgerLogisticsTrack;
|
|
|
import com.sckw.payment.model.KwpLedgerLogisticsUnit;
|
|
|
import com.sckw.payment.model.KwpSettlementLogistics;
|
|
|
import com.sckw.core.web.context.LoginUserHolder;
|
|
|
-import com.sckw.payment.dao.KwpLedgerLogisticsMapper;
|
|
|
import com.sckw.payment.model.*;
|
|
|
import com.sckw.payment.model.constant.LedgerEnum;
|
|
|
import com.sckw.payment.model.constant.LedgerTrackEnum;
|
|
|
@@ -33,6 +32,7 @@ import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -130,15 +130,15 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String sendLedger(LogisticsSendReq logisticsReq) {
|
|
|
- Long id = logisticsReq.getId();
|
|
|
- if (Objects.isNull(id)) {
|
|
|
+ String id = logisticsReq.getId();
|
|
|
+ if (StringUtils.isBlank(id)) {
|
|
|
//新增
|
|
|
logisticsReq.setGenerateTime(LocalDateTime.now());
|
|
|
logisticsReq.setStatus(LedgerEnum.TO_LEDGER.getStatus());
|
|
|
Long aLong = saveDraft(logisticsReq);
|
|
|
logisticsTrackService.saveTrack(aLong, "", LedgerTrackEnum.TO_LEDGER);
|
|
|
} else {
|
|
|
- removeDraft(id);
|
|
|
+ removeDraft(Long.parseLong(id));
|
|
|
logisticsReq.setGenerateTime(LocalDateTime.now());
|
|
|
logisticsReq.setStatus(LedgerEnum.TO_LEDGER.getStatus());
|
|
|
Long aLong = saveDraft(logisticsReq);
|
|
|
@@ -159,7 +159,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
|
|
|
private Long saveDraft(LogisticsSendReq logisticsSendReq) {
|
|
|
KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
|
|
|
- kwpLedgerLogistics.setId(Objects.isNull(logisticsSendReq.getId()) ? new IdWorker(1).nextId() : logisticsSendReq.getId());
|
|
|
+ kwpLedgerLogistics.setId(StringUtils.isBlank(logisticsSendReq.getId()) ? new IdWorker(1).nextId() : Long.parseLong(logisticsSendReq.getId()));
|
|
|
kwpLedgerLogistics.setEntId(LoginUserHolder.getEntId());
|
|
|
kwpLedgerLogistics.setName(logisticsSendReq.getName());
|
|
|
if (StringUtils.isNotBlank(logisticsSendReq.getStartTime())) {
|
|
|
@@ -177,7 +177,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
kwpLedgerLogistics.setAuditUser("");
|
|
|
kwpLedgerLogistics.setAuditPhone("");
|
|
|
kwpLedgerLogistics.setReceiptTime(null);
|
|
|
- kwpLedgerLogistics.setOrderCount(logisticsSendReq.getIds().size());
|
|
|
+ kwpLedgerLogistics.setOrderCount(logisticsSendReq.getOrders().size());
|
|
|
kwpLedgerLogistics.setUrl("");
|
|
|
kwpLedgerLogistics.setGenerateTime(logisticsSendReq.getGenerateTime());
|
|
|
kwpLedgerLogistics.setRemark("");
|
|
|
@@ -191,15 +191,19 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
kwpLedgerLogistics.setLLedgerNo(OrderGenerateUtils.generateOrderNo("LL"));
|
|
|
logisticsMapper.insert(kwpLedgerLogistics);
|
|
|
} else {
|
|
|
+ KwpLedgerLogistics ledgerLogistics = logisticsMapper.selectById(logisticsSendReq.getId());
|
|
|
+ orderCheck(ledgerLogistics);
|
|
|
+ updateCheck(ledgerLogistics.getStatus());
|
|
|
kwpLedgerLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
|
|
|
logisticsMapper.updateById(kwpLedgerLogistics);
|
|
|
}
|
|
|
/*保存物流订单关联数据*/
|
|
|
- List<String> ids = logisticsSendReq.getIds();
|
|
|
+ List<Long> ids = logisticsSendReq.getOrders();
|
|
|
//todo-xcq 校验当前订单是否已存在绑定的对账单
|
|
|
- List<KwtLogisticsOrderVO> acceptCarriageOrderDetail = transportDubboService.getAcceptCarriageOrderDetail(ids);
|
|
|
- if (CollectionUtils.isEmpty(acceptCarriageOrderDetail)) {
|
|
|
+ logisticsOrderService.check(ids);
|
|
|
+ List<KwtLogisticsOrderVO> acceptCarriageOrderDetail = transportDubboService.getAcceptCarriageOrderDetail(ids.stream().map(a -> Long.toString(a)).toList());
|
|
|
+ if (CollectionUtils.isEmpty(acceptCarriageOrderDetail) || acceptCarriageOrderDetail.size() < ids.size()) {
|
|
|
throw new BusinessException("未找到物流订单!");
|
|
|
}
|
|
|
List<KwpLedgerLogisticsOrder> collect = acceptCarriageOrderDetail.stream().map(a -> {
|
|
|
@@ -207,6 +211,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
logisticsOrder.setId(new IdWorker(1).nextId());
|
|
|
logisticsOrder.setLLedgerId(kwpLedgerLogistics.getId());
|
|
|
logisticsOrder.setLOrderId(a.getId());
|
|
|
+ logisticsOrder.setLOrderNo(a.getLOrderNo());
|
|
|
logisticsOrder.setRemark("");
|
|
|
logisticsOrder.setStatus(0);
|
|
|
logisticsOrder.setCreateBy(LoginUserHolder.getUserId());
|
|
|
@@ -219,7 +224,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
|
|
|
logisticsOrderService.saveList(collect);
|
|
|
/*保存企业相关信息*/
|
|
|
- Long checkEntId = logisticsSendReq.getCheckEntId();
|
|
|
+ Long checkEntId = Long.parseLong(logisticsSendReq.getCheckEntId());
|
|
|
|
|
|
Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(Collections.singletonList(checkEntId));
|
|
|
EntCacheResDto entCacheResDto = entMap.get(checkEntId);
|
|
|
@@ -348,7 +353,8 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
* @return
|
|
|
*/
|
|
|
public Integer doBack(LedgerReq ledgerReq) {
|
|
|
- KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(ledgerReq.getId());
|
|
|
+ Long id = Long.parseLong(ledgerReq.getId());
|
|
|
+ KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(id);
|
|
|
if (Objects.isNull(kwpLedgerLogistics)) {
|
|
|
throw new BusinessException("对账单不存在!");
|
|
|
}
|
|
|
@@ -357,7 +363,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
kwpLedgerLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
|
|
|
logisticsMapper.updateById(kwpLedgerLogistics);
|
|
|
- return logisticsTrackService.saveTrack(ledgerReq.getId(), ledgerReq.getRemark(), LedgerTrackEnum.REJECT);
|
|
|
+ return logisticsTrackService.saveTrack(id, ledgerReq.getRemark(), LedgerTrackEnum.REJECT);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -369,7 +375,8 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Integer confirmOrder(LedgerConfirmReq confirmReq) {
|
|
|
- KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(confirmReq.getId());
|
|
|
+ Long id = Long.parseLong(confirmReq.getId());
|
|
|
+ KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(id);
|
|
|
orderCheck(kwpLedgerLogistics);
|
|
|
confirmCheck(kwpLedgerLogistics.getStatus());
|
|
|
kwpLedgerLogistics.setStatus(LedgerEnum.LEDGERED.getStatus());
|
|
|
@@ -379,7 +386,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
|
|
|
kwpLedgerLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
logisticsMapper.updateById(kwpLedgerLogistics);
|
|
|
- return logisticsTrackService.saveTrack(confirmReq.getId(), "", LedgerTrackEnum.CONFIRM);
|
|
|
+ return logisticsTrackService.saveTrack(id, "", LedgerTrackEnum.CONFIRM);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -390,7 +397,8 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String orderSuccess(LedgerSuccessReq ledgerReq) {
|
|
|
- KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(ledgerReq.getId());
|
|
|
+ Long id = Long.parseLong(ledgerReq.getId());
|
|
|
+ KwpLedgerLogistics kwpLedgerLogistics = logisticsMapper.selectById(id);
|
|
|
orderCheck(kwpLedgerLogistics);
|
|
|
|
|
|
successCheck(kwpLedgerLogistics.getStatus());
|
|
|
@@ -424,7 +432,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
|
|
|
settlementLogisticsService.save(kwpSettlementLogistics);
|
|
|
|
|
|
- logisticsTrackService.saveTrack(ledgerReq.getId(), "", LedgerTrackEnum.SUCCESS);
|
|
|
+ logisticsTrackService.saveTrack(id, "", LedgerTrackEnum.SUCCESS);
|
|
|
return "对账完成";
|
|
|
}
|
|
|
|
|
|
@@ -472,11 +480,21 @@ public class KwpLedgerLogisticsService extends AbsLedger {
|
|
|
return ledgerLogistics;
|
|
|
}
|
|
|
|
|
|
+ public LedgerLogisticsDetailVo queryUpdate(Long id) {
|
|
|
+ LedgerLogisticsDto ledgerLogisticsDto = logisticsMapper.selectId(id);
|
|
|
+ orderCheck(ledgerLogisticsDto);
|
|
|
+ updateCheck(ledgerLogisticsDto.getStatus());
|
|
|
+ return getLedgerLogisticsDetailVo(ledgerLogisticsDto);
|
|
|
+ }
|
|
|
+
|
|
|
public LedgerLogisticsDetailVo queryDetail(Long id) {
|
|
|
LedgerLogisticsDto ledgerLogisticsDto = logisticsMapper.selectId(id);
|
|
|
orderCheck(ledgerLogisticsDto);
|
|
|
- detailCheck(ledgerLogisticsDto.getStatus());
|
|
|
+ return getLedgerLogisticsDetailVo(ledgerLogisticsDto);
|
|
|
+ }
|
|
|
|
|
|
+ @NotNull
|
|
|
+ private LedgerLogisticsDetailVo getLedgerLogisticsDetailVo(LedgerLogisticsDto ledgerLogisticsDto) {
|
|
|
List<KwpLedgerLogisticsOrder> kwpLedgerLogisticsOrders = logisticsOrderService.queryList(ledgerLogisticsDto.getId());
|
|
|
LedgerLogisticsDetailVo ledgerLogisticsDetailVo = new LedgerLogisticsDetailVo();
|
|
|
ledgerLogisticsDetailVo.setId(ledgerLogisticsDto.getId());
|