From 5abcde36961125cbf436f91b8c17610a6b5f8308 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 15 四月 2026 12:15:08 +0800
Subject: [PATCH] 修改调度单必填校验
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java | 248 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 228 insertions(+), 20 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 366d567..7254f96 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,54 @@
}
}
+ //濉啓濮旀墭鎶ュ叧淇℃伅
@Override
- public int customsOrder(TmsDispatchOrder tmsDispatchOrder) {
- return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
- .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
- .set(TmsDispatchOrder::getCustomsServiceProviderId, tmsDispatchOrder.getCustomsServiceProviderId())
- .set(TmsDispatchOrder::getCustomsServiceProviderName, tmsDispatchOrder.getCustomsServiceProviderName())
- );
+ public int customsOrder(List<TmsDispatchOrder> tmsDispatchOrders) {
+ int totalResult = 0;
+ for (TmsDispatchOrder tmsDispatchOrder : tmsDispatchOrders) {
+ int result = tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
+ .set(TmsDispatchOrder::getCustomsServiceProviderId, tmsDispatchOrder.getCustomsServiceProviderId())
+ .set(TmsDispatchOrder::getCustomsServiceProviderName, tmsDispatchOrder.getCustomsServiceProviderName())
+ );
+ totalResult += result;
+ 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 totalResult;
}
+ //濉啓濮旀墭瑁呭嵏淇℃伅
@Override
- public int loadingOrder(TmsDispatchOrder tmsDispatchOrder) {
- return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
- .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
- .set(TmsDispatchOrder::getLoadingServiceProviderId, tmsDispatchOrder.getLoadingServiceProviderId())
- .set(TmsDispatchOrder::getLoadingServiceProviderName, tmsDispatchOrder.getLoadingServiceProviderName())
- );
+ public int loadingOrder(List<TmsDispatchOrder> tmsDispatchOrders) {
+ int totalResult = 0;
+ for (TmsDispatchOrder tmsDispatchOrder : tmsDispatchOrders) {
+ int result = tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .eq(TmsDispatchOrder::getId, tmsDispatchOrder.getId())
+ .set(TmsDispatchOrder::getLoadingServiceProviderId, tmsDispatchOrder.getLoadingServiceProviderId())
+ .set(TmsDispatchOrder::getLoadingServiceProviderName, tmsDispatchOrder.getLoadingServiceProviderName())
+ );
+ totalResult += result;
+
+ 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 totalResult;
}
@Override
@@ -314,7 +358,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 +388,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 +400,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());
@@ -442,7 +524,7 @@
TmsDispatchOrderImport tmsDispatchOrderImport = new TmsDispatchOrderImport();
tmsDispatchOrderImport.setProjectName("XXX椤圭洰");
- tmsDispatchOrderImport.setTransportLine("骞夸笢鐪�/鐝犳捣甯�/棣欐床鍖�>棣欐腐鐗瑰埆琛屾斂鍖�");
+ tmsDispatchOrderImport.setTransportLine("骞夸笢鐪�/鐝犳捣甯�/棣欐床鍖�->棣欐腐鐗瑰埆琛屾斂鍖�");
tmsDispatchOrderImport.setRequiredVehicleTypes("10T");
tmsDispatchOrderImport.setOrderType("鍩虹璁㈠崟");
tmsDispatchOrderImport.setIsCustoms("鏄�");
@@ -548,7 +630,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 +814,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 +863,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,13 +912,69 @@
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
+ public int updateTmsDispatchOrder(YpdddjDispatchOrderVo dispatchOrderVo)
+ {
+ return tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>()
+ .in(TmsDispatchOrder::getDispatchNo,dispatchOrderVo.getDispatchNos())
+ .set(dispatchOrderVo.getShipperId()!=null,TmsDispatchOrder::getShipperId,dispatchOrderVo.getShipperId())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getShipperName()),TmsDispatchOrder::getShipperName,dispatchOrderVo.getShipperName())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getShipperRegionLabel()),TmsDispatchOrder::getShipperRegionLabel,dispatchOrderVo.getShipperRegionLabel())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getShipperAddress()),TmsDispatchOrder::getShipperAddress,dispatchOrderVo.getShipperAddress())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getShipperMobile()),TmsDispatchOrder::getShipperMobile,dispatchOrderVo.getShipperMobile())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getShipperRegionCode()),TmsDispatchOrder::getShipperRegionCode,dispatchOrderVo.getShipperRegionCode())
+
+ .set(dispatchOrderVo.getReceiverId()!=null,TmsDispatchOrder::getReceiverId,dispatchOrderVo.getReceiverId())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getReceiverName()),TmsDispatchOrder::getReceiverName,dispatchOrderVo.getReceiverName())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getReceiverRegionLabel()),TmsDispatchOrder::getReceiverRegionLabel,dispatchOrderVo.getReceiverRegionLabel())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getReceiverAddress()),TmsDispatchOrder::getReceiverAddress,dispatchOrderVo.getReceiverAddress())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getReceiverMobile()),TmsDispatchOrder::getReceiverMobile,dispatchOrderVo.getReceiverMobile())
+ .set(StringUtils.isNotEmpty(dispatchOrderVo.getReceiverRegionCode()),TmsDispatchOrder::getReceiverRegionCode,dispatchOrderVo.getReceiverRegionCode())
+
+ .set(TmsDispatchOrder::getUpdateBy,SecurityUtils.getUsername())
+ .set(TmsDispatchOrder::getUpdateTime,DateUtils.getNowDate())
+ );
+
+ }
+
+ //鎵胯繍鍗曟墦鍗�
+ @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")
@@ -804,7 +989,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;
}
/**
@@ -1010,6 +1207,7 @@
// 2銆� 鑾峰彇瀹炴姤瀹為攢璐圭敤
List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
setDispatchOrderId(tmsDispatchOrder.getId());
+ setStatus(0);
}});
if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){
@@ -1129,6 +1327,7 @@
// 2銆� 鑾峰彇瀹炴姤瀹為攢璐圭敤
List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
setDispatchOrderId(tmsDispatchOrder.getId());
+ setStatus(0);
setIsYF(1);
}});
@@ -1511,4 +1710,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