From 0e0a373af02e073f6bd079873743c58fcd4251f3 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 02 四月 2026 13:38:07 +0800
Subject: [PATCH] 1.TMS 增加一个推送状态字段,记录是否推送成功 2.TMS 增加一个手动推送按钮,如果推送失败或者被驳回的账单可以二次手动推送
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java | 194 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 185 insertions(+), 9 deletions(-)
diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
index a226297..7ec417b 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
@@ -62,6 +62,8 @@
private ISysUserService userService;
@Autowired
private ITmsDriverDispatchService tmsDriverDispatchService;
+ @Autowired
+ private ITmsDispatchOrderLogService tmsDispatchOrderLogService;
@Resource
private TmsQuoteDetailMapper tmsQuoteDetailMapper;
@@ -117,6 +119,9 @@
@Resource
private TmsShelfMapper tmsShelfMapper;
+
+ @Autowired
+ private ITmsDispatchOrderImportLogService tmsDispatchOrderImportLogService;
/**
@@ -276,8 +281,16 @@
tmsDispatchOrder.setCloseTime(DateUtils.getNowDate());
tmsDispatchOrder.setCloseRemark(tmsDispatchOrder.getCloseRemark());
tmsDispatchOrder.setCloseWhy(tmsDispatchOrder.getCloseWhy());
- tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
- // TODO 鍔犳棩蹇�
+ int result = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("浣滃簾璋冨害鍗�");
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
return AjaxResult.success("鎿嶄綔鎴愬姛");
}else{
@@ -285,23 +298,49 @@
}
}
+ //濉啓濮旀墭鎶ュ叧淇℃伅
@Override
public int customsOrder(TmsDispatchOrder tmsDispatchOrder) {
- return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ int result = tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
.eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
.set(TmsDispatchOrder::getCustomsServiceProviderId, tmsDispatchOrder.getCustomsServiceProviderId())
.set(TmsDispatchOrder::getCustomsServiceProviderName, tmsDispatchOrder.getCustomsServiceProviderName())
);
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("濉啓濮旀墭鎶ュ叧淇℃伅");
+
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
}
+ //濉啓濮旀墭瑁呭嵏淇℃伅
@Override
public int loadingOrder(TmsDispatchOrder tmsDispatchOrder) {
- return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ int result = tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
.eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
.set(TmsDispatchOrder::getLoadingServiceProviderId, tmsDispatchOrder.getLoadingServiceProviderId())
.set(TmsDispatchOrder::getLoadingServiceProviderName, tmsDispatchOrder.getLoadingServiceProviderName())
);
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("濉啓濮旀墭瑁呭嵏淇℃伅");
+
+
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
}
@Override
@@ -314,7 +353,7 @@
DriverDispatchVo vo = new DriverDispatchVo();
vo.setDriverId(deviceId);
vo.setInStatusList(Arrays.asList(0, 1, 2,4));
- vo.setInTdoStatusList(Arrays.asList(1, 2));
+ vo.setInTdoStatusList(Arrays.asList(1, 2,6,7));
List<DriverDispatchVo> driverDispatchVos = tmsDispatchOrderMapper.selectAssignedItineraryList(vo);
if (driverDispatchVos != null && !driverDispatchVos.isEmpty()){
driverDispatchVos.forEach(item ->{
@@ -344,7 +383,7 @@
DriverDispatchVo vo = new DriverDispatchVo();
vo.setDriverId(deviceId);
- vo.setInStatusList(Arrays.asList(3,5));
+ vo.setInStatusList(Arrays.asList(2,3,5));
// vo.setInTdoStatusList(Arrays.asList(1, 2));
List<DriverDispatchVo> driverDispatchVos = tmsDispatchOrderMapper.selectAssignedItineraryList(vo);
if (driverDispatchVos != null && !driverDispatchVos.isEmpty()){
@@ -356,6 +395,44 @@
return AjaxResult.success(driverDispatchVos);
}
+
+ @Override
+ public Map<String, Object> assignedItineraryLogListPage(Integer pageNum, Integer pageSize) {
+ Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+ Map<String, Object> result = new HashMap<>();
+ if (deviceId == null) {
+ result.put("rows", Collections.emptyList());
+ result.put("total", 0);
+ return result;
+ }
+
+ DriverDispatchVo vo = new DriverDispatchVo();
+ vo.setDriverId(deviceId);
+ // vo.setInStatusList(Arrays.asList(3, 5));
+
+ // 鍏堟煡鎬绘暟
+ List<DriverDispatchVo> allList = tmsDispatchOrderMapper.selectAssignedItineraryList(vo);
+ int total = allList != null ? allList.size() : 0;
+
+ // 鎵嬪姩鍒嗛〉锛圫QL 宸插姞 ORDER BY锛�
+ int fromIndex = (pageNum - 1) * pageSize;
+ List<DriverDispatchVo> pageList;
+ if (allList == null || fromIndex >= total) {
+ pageList = Collections.emptyList();
+ } else {
+ int toIndex = Math.min(fromIndex + pageSize, total);
+ pageList = allList.subList(fromIndex, toIndex);
+ }
+
+ if (!pageList.isEmpty()) {
+ pageList.forEach(item -> item.setStatusStr("瀹屾垚琛岀▼"));
+ }
+
+ result.put("rows", pageList);
+ result.put("total", total);
+ return result;
+ }
+
@Override
public AjaxResult selectAssignedItineraryDetail(Integer dispatchId) {
Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
@@ -548,7 +625,17 @@
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
+ StringBuilder failureDescription = new StringBuilder();
int line = 1;
+
+ // 鍒涘缓瀵煎叆鏃ュ織瀵硅薄
+ TmsDispatchOrderImportLog importLog = new TmsDispatchOrderImportLog();
+ importLog.setImportTime(DateUtils.getNowDate());
+ importLog.setFileName("璋冨害鍗曞鍏ユ枃浠�"); // 杩欓噷闇�瑕佹牴鎹疄闄呮儏鍐佃幏鍙栨枃浠跺悕
+ importLog.setOperator(SecurityUtils.getUsername());
+ importLog.setCreateBy(SecurityUtils.getUsername());
+ importLog.setCreateTime(DateUtils.getNowDate());
+
for (TmsDispatchOrderImport tmsDispatchOrderImport : list){
try
{
@@ -722,10 +809,26 @@
failureNum++;
String msg = "<br/>" + "璋冨害鍗曠"+line+"琛屽鍏ュけ璐ワ細";
failureMsg.append(msg + e.getMessage());
+
+ // 璁板綍澶辫触璇存槑锛屽寘鍚鍙峰拰澶辫触鍘熷洜
+ failureDescription.append("绗�" + line + "琛岋細" + e.getMessage()).append("\n");
+
log.error(msg, e);
}finally {
line++;
}
+ }
+
+ // 璁剧疆瀵煎叆鏃ュ織鐨勭粺璁′俊鎭�
+ importLog.setSuccessCount(list.size() - failureNum);
+ importLog.setFailureCount(failureNum);
+ importLog.setFailureDescription(failureDescription.toString());
+
+ // 淇濆瓨瀵煎叆鏃ュ織
+ try {
+ tmsDispatchOrderImportLogService.insertTmsDispatchOrderImportLog(importLog);
+ } catch (Exception e) {
+ log.error("淇濆瓨瀵煎叆鏃ュ織澶辫触锛�", e);
}
if (failureNum > 0)
@@ -755,6 +858,27 @@
tmsDispatchOrder.setDispatchNo(noByKey);
tmsDispatchOrder.setCreateBy(SecurityUtils.getUsername());
tmsDispatchOrder.setCreateTime(DateUtils.getNowDate());
+ int result = tmsDispatchOrderMapper.insertTmsDispatchOrder(tmsDispatchOrder);
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("鏂板璋冨害鍗�");
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
+ }
+ @Override
+ public int insertTmsDispatchOrder2(TmsDispatchOrder tmsDispatchOrder)
+ {
+ String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.DL);
+
+ tmsDispatchOrder.setDispatchNo(noByKey);
+ tmsDispatchOrder.setCreateBy("AGENTS");
+ tmsDispatchOrder.setCreateTime(DateUtils.getNowDate());
return tmsDispatchOrderMapper.insertTmsDispatchOrder(tmsDispatchOrder);
}
@@ -783,7 +907,37 @@
tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
tmsDispatchOrder.setUpdateTime(DateUtils.getNowDate());
- return tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+ int result = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("缂栬緫璋冨害鍗�");
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
+ }
+ @Override
+ public int updateTmsDispatchOrder2(TmsDispatchOrder tmsDispatchOrder)
+ {
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+
+ tmsDispatchOrder.setUpdateTime(DateUtils.getNowDate());
+ int result = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("濉啓瀹為檯杩愯緭璁板綍");
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
}
@Override
@@ -811,10 +965,11 @@
}
+ //鎵胯繍鍗曟墦鍗�
@Override
public int printDispatchOrder(TmsDispatchOrder tmsDispatchOrder)
{
- return tmsDispatchOrderMapper.update(null,new LambdaUpdateWrapper<TmsDispatchOrder>()
+ int result = tmsDispatchOrderMapper.update(null,new LambdaUpdateWrapper<TmsDispatchOrder>()
.eq(TmsDispatchOrder::getId,tmsDispatchOrder.getId())
.set(TmsDispatchOrder::getIsPrint,0)
.setSql("print_count = IFNULL(print_count, 0) + 1")
@@ -829,7 +984,19 @@
.set(TmsDispatchOrder::getWeight,tmsDispatchOrder.getWeight())
.set(TmsDispatchOrder::getContactName,tmsDispatchOrder.getContactName())
.set(TmsDispatchOrder::getContactPhone,tmsDispatchOrder.getContactPhone())
- );
+ );
+
+ if (result > 0) {
+ TmsDispatchOrderLog log = new TmsDispatchOrderLog();
+ log.setHeadId(tmsDispatchOrder.getId());
+ log.setCreateBy(SecurityUtils.getUsername());
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setNode("鎵胯繍鍗曟墦鍗�");
+
+ tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
+ }
+
+ return result;
}
/**
@@ -1536,4 +1703,13 @@
public List<DpItineraryLogVo> selectItineraryLog() {
return tmsDispatchOrderMapper.selectItineraryLog();
}
+
+ @Override
+ public TmsDispatchOrder getLastLicensePlateByDriverName(String driverName) {
+ return tmsDispatchOrderMapper.selectOne(new LambdaQueryWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getMainDriverName, driverName)
+ .orderByDesc(TmsDispatchOrder::getCreateTime)
+ .last("limit 1")
+ );
+ }
}
--
Gitblit v1.8.0