zhangback
昨天 ba87fd72f14c5ed0caf14e9d8ff116d254a8c113
tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
@@ -282,7 +282,7 @@
            tmsDispatchOrder.setCloseRemark(tmsDispatchOrder.getCloseRemark());
            tmsDispatchOrder.setCloseWhy(tmsDispatchOrder.getCloseWhy());
            int result = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
            if (result > 0) {
                TmsDispatchOrderLog log = new TmsDispatchOrderLog();
                log.setHeadId(tmsDispatchOrder.getId());
@@ -300,47 +300,52 @@
    //填写委托报关信息
    @Override
    public int customsOrder(TmsDispatchOrder 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);
    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 result;
        return totalResult;
    }
    //填写委托装卸信息
    @Override
    public int loadingOrder(TmsDispatchOrder 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);
    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 result;
        return totalResult;
    }
    @Override
@@ -353,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 ->{
@@ -383,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()){
@@ -395,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;
        // 手动分页(SQL 已加 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());
@@ -589,7 +632,7 @@
        StringBuilder failureMsg = new StringBuilder();
        StringBuilder failureDescription = new StringBuilder();
        int line = 1;
        // 创建导入日志对象
        TmsDispatchOrderImportLog importLog = new TmsDispatchOrderImportLog();
        importLog.setImportTime(DateUtils.getNowDate());
@@ -597,7 +640,7 @@
        importLog.setOperator(SecurityUtils.getUsername());
        importLog.setCreateBy(SecurityUtils.getUsername());
        importLog.setCreateTime(DateUtils.getNowDate());
        for (TmsDispatchOrderImport tmsDispatchOrderImport : list){
            try
            {
@@ -771,10 +814,10 @@
                failureNum++;
                String msg = "<br/>" +  "调度单第"+line+"行导入失败:";
                failureMsg.append(msg + e.getMessage());
                // 记录失败说明,包含行号和失败原因
                failureDescription.append("第" + line + "行:" + e.getMessage()).append("\n");
                log.error(msg, e);
            }finally {
                line++;
@@ -785,7 +828,7 @@
        importLog.setSuccessCount(list.size() - failureNum);
        importLog.setFailureCount(failureNum);
        importLog.setFailureDescription(failureDescription.toString());
        // 保存导入日志
        try {
            tmsDispatchOrderImportLogService.insertTmsDispatchOrderImportLog(importLog);
@@ -821,7 +864,7 @@
        tmsDispatchOrder.setCreateBy(SecurityUtils.getUsername());
        tmsDispatchOrder.setCreateTime(DateUtils.getNowDate());
        int result = tmsDispatchOrderMapper.insertTmsDispatchOrder(tmsDispatchOrder);
        if (result > 0) {
            TmsDispatchOrderLog log = new TmsDispatchOrderLog();
            log.setHeadId(tmsDispatchOrder.getId());
@@ -830,7 +873,7 @@
            log.setNode("新增调度单");
            tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
        }
        return result;
    }
    @Override
@@ -870,7 +913,7 @@
        tmsDispatchOrder.setUpdateTime(DateUtils.getNowDate());
        int result = tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
        if (result > 0) {
            TmsDispatchOrderLog log = new TmsDispatchOrderLog();
            log.setHeadId(tmsDispatchOrder.getId());
@@ -879,7 +922,7 @@
            log.setNode("编辑调度单");
            tmsDispatchOrderLogService.insertTmsDispatchOrderLog(log);
        }
        return result;
    }
    @Override
@@ -947,17 +990,17 @@
                        .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;
    }
@@ -1164,6 +1207,7 @@
                // 2、 获取实报实销费用
                List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
                    setDispatchOrderId(tmsDispatchOrder.getId());
                    setStatus(0);
                }});
                if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){
@@ -1283,6 +1327,7 @@
                // 2、 获取实报实销费用
                List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{
                    setDispatchOrderId(tmsDispatchOrder.getId());
                    setStatus(0);
                    setIsYF(1);
                }});
@@ -1667,12 +1712,11 @@
    }
    @Override
    public String getLastLicensePlateByDriverName(String driverName) {
        TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectOne(new LambdaQueryWrapper<TmsDispatchOrder>()
    public TmsDispatchOrder getLastLicensePlateByDriverName(String driverName) {
        return tmsDispatchOrderMapper.selectOne(new LambdaQueryWrapper<TmsDispatchOrder>()
                .eq(TmsDispatchOrder::getMainDriverName, driverName)
                .orderByDesc(TmsDispatchOrder::getCreateTime)
                .last("limit 1")
        );
        return tmsDispatchOrder != null ? tmsDispatchOrder.getLicensePlate() : null;
    }
}