| | |
| | | private ISysUserService userService; |
| | | @Autowired |
| | | private ITmsDriverDispatchService tmsDriverDispatchService; |
| | | @Autowired |
| | | private ITmsDispatchOrderLogService tmsDispatchOrderLogService; |
| | | @Resource |
| | | private TmsQuoteDetailMapper tmsQuoteDetailMapper; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private TmsShelfMapper tmsShelfMapper; |
| | | |
| | | @Autowired |
| | | private ITmsDispatchOrderImportLogService tmsDispatchOrderImportLogService; |
| | | |
| | | |
| | | /** |
| | |
| | | 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{ |
| | |
| | | } |
| | | } |
| | | |
| | | //填写委托报关信息 |
| | | @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 |
| | |
| | | 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 ->{ |
| | |
| | | |
| | | 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()){ |
| | |
| | | |
| | | 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()); |
| | |
| | | |
| | | TmsDispatchOrderImport tmsDispatchOrderImport = new TmsDispatchOrderImport(); |
| | | tmsDispatchOrderImport.setProjectName("XXX项目"); |
| | | tmsDispatchOrderImport.setTransportLine("广东省/珠海市/香洲区>香港特别行政区"); |
| | | tmsDispatchOrderImport.setTransportLine("广东省/珠海市/香洲区->香港特别行政区"); |
| | | tmsDispatchOrderImport.setRequiredVehicleTypes("10T"); |
| | | tmsDispatchOrderImport.setOrderType("基础订单"); |
| | | tmsDispatchOrderImport.setIsCustoms("是"); |
| | |
| | | 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 |
| | | { |
| | |
| | | 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) |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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 |
| | |
| | | |
| | | } |
| | | |
| | | //承运单打印 |
| | | @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") |
| | |
| | | .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; |
| | | } |
| | | |
| | | /** |
| | |
| | | // 2、 获取实报实销费用 |
| | | List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{ |
| | | setDispatchOrderId(tmsDispatchOrder.getId()); |
| | | setStatus(0); |
| | | }}); |
| | | |
| | | if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){ |
| | |
| | | // 2、 获取实报实销费用 |
| | | List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailService.selectTmsFinanceDetailList(new TmsFinanceDetail() {{ |
| | | setDispatchOrderId(tmsDispatchOrder.getId()); |
| | | setStatus(0); |
| | | setIsYF(1); |
| | | }}); |
| | | |
| | |
| | | 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") |
| | | ); |
| | | } |
| | | } |