| | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.SysUserImport; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.enums.SystemDataNoEnum; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.file.DownloadExportUtil; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.system.service.ISysDictDataService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.system.service.ISystemDataNoService; |
| | | import com.ruoyi.tms.domain.*; |
| | | import com.ruoyi.tms.domain.vo.DriverDispatchVo; |
| | | import com.ruoyi.tms.domain.vo.ServiceProviderVo; |
| | | import com.ruoyi.tms.domain.vo.*; |
| | | import com.ruoyi.tms.mapper.*; |
| | | import com.ruoyi.tms.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Resource |
| | | private TmsQuotePlanMapper tmsQuotePlanMapper; |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | |
| | | @Autowired |
| | | ITmsFinanceService tmsFinanceService; |
| | |
| | | private TmsServiceProviderMapper tmsServiceProviderMapper; |
| | | @Resource |
| | | private TmsCustomsServiceProviderMapper tmsCustomsServiceProviderMapper; |
| | | @Resource |
| | | private TmsTripMapper tmsTripMapper; |
| | | @Resource |
| | | private TmsPayableFeeMapper tmsPayableFeeMapper; |
| | | @Resource |
| | | private TmsPayableFeeItemMapper tmsPayableFeeItemMapper; |
| | | @Resource |
| | | private TmsProjectMapper tmsProjectMapper; |
| | | |
| | | @Resource |
| | | TransportRouteViMapper transportRouteViMapper; |
| | | |
| | | @Resource |
| | | private TmsDriverMapper tmsDriverMapper; |
| | | @Resource |
| | | private TmsVehicleMapper tmsVehicleMapper; |
| | | @Resource |
| | | private TmsConsignorMapper tmsConsignorMapper; |
| | | |
| | | @Resource |
| | | private TmsContainerMapper tmsContainerMapper; |
| | | |
| | | @Resource |
| | | private TmsShelfMapper tmsShelfMapper; |
| | | |
| | | @Autowired |
| | | private ITmsDispatchOrderImportLogService tmsDispatchOrderImportLogService; |
| | | |
| | | |
| | | /** |
| | | * 查询调度单管理 |
| | |
| | | tmsDispatchOrderNew.setLicensePlate(null); |
| | | tmsDispatchOrderNew.setUpdateBy(null); |
| | | tmsDispatchOrderNew.setId(null); |
| | | tmsDispatchOrderNew.setAccountsReceivableStatus(0); |
| | | tmsDispatchOrderNew.setAccountsPayableStatus(0); |
| | | |
| | | |
| | | |
| | | int i = insertTmsDispatchOrder(tmsDispatchOrderNew); |
| | |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult close(Integer id) { |
| | | TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id); |
| | | if (tmsDispatchOrder == null){ |
| | | return AjaxResult.error("未找到该数据"); |
| | | } |
| | | if (tmsDispatchOrder.getIsfk() == 0){ |
| | | return AjaxResult.success(); |
| | | } |
| | | TmsTrip tmsTrip = tmsTripMapper.selectOne(new LambdaQueryWrapper<TmsTrip>().eq(TmsTrip::getDispatchOrderId, id) |
| | | .eq(TmsTrip::getTripType, 0) |
| | | .orderByDesc(TmsTrip::getId) |
| | | .last("limit 1") |
| | | ); |
| | | |
| | | if (tmsTrip != null){ |
| | | return AjaxResult.error("该调度单状态为【在途】,且司机于【"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", tmsTrip.getTripTime())+"】已发车,不允许作废,如需取消行程," + |
| | | "请通知司机操作返空即可。"); |
| | | } |
| | | return AjaxResult.success("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult connectHang(TmsDriverDispatch driverDispatch) { |
| | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult closeOrder(TmsDispatchOrder order) { |
| | | TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(order.getId()); |
| | | if (tmsDispatchOrder == null){ |
| | | return AjaxResult.error("未找到该数据"); |
| | | } |
| | | AjaxResult close = close(tmsDispatchOrder.getId()); |
| | | if (close.isSuccess()){ |
| | | tmsDispatchOrder.setStatus(5); |
| | | tmsDispatchOrder.setCloseBy(SecurityUtils.getUsername()); |
| | | tmsDispatchOrder.setCloseTime(DateUtils.getNowDate()); |
| | | tmsDispatchOrder.setCloseRemark(tmsDispatchOrder.getCloseRemark()); |
| | | tmsDispatchOrder.setCloseWhy(tmsDispatchOrder.getCloseWhy()); |
| | | tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder); |
| | | // TODO 加日志 |
| | | |
| | | return AjaxResult.success("操作成功"); |
| | | }else{ |
| | | return close; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public int customsOrder(TmsDispatchOrder tmsDispatchOrder) { |
| | |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void importTemplate(String exportKey) { |
| | | String fileName = ExcelUtil.encodeFileName("tmsDispatchOrderDataTemplate"); |
| | | DownloadExportUtil.deleteDownloadFile(redisCache, exportKey, "0"); |
| | | |
| | | try { |
| | | |
| | | ExcelUtil<TmsDispatchOrderImport> excelUtil = new ExcelUtil<>(TmsDispatchOrderImport.class); |
| | | excelUtil.initialize("tmsDispatchOrderDataTemplate", null, Excel.Type.EXPORT); |
| | | |
| | | TmsDispatchOrderImport tmsDispatchOrderImport = new TmsDispatchOrderImport(); |
| | | tmsDispatchOrderImport.setProjectName("XXX项目"); |
| | | tmsDispatchOrderImport.setTransportLine("广东省/珠海市/香洲区->香港特别行政区"); |
| | | tmsDispatchOrderImport.setRequiredVehicleTypes("10T"); |
| | | tmsDispatchOrderImport.setOrderType("基础订单"); |
| | | tmsDispatchOrderImport.setIsCustoms("是"); |
| | | tmsDispatchOrderImport.setIsLoad("是"); |
| | | tmsDispatchOrderImport.setIsUrgent("是"); |
| | | tmsDispatchOrderImport.setOrderTime(DateUtils.getNowDate()); |
| | | tmsDispatchOrderImport.setLatestDeparture(DateUtils.getNowDate()); |
| | | tmsDispatchOrderImport.setLatestArrival(DateUtils.getNowDate()); |
| | | tmsDispatchOrderImport.setOperationMode("是"); |
| | | tmsDispatchOrderImport.setCommissionModel("一日游"); |
| | | tmsDispatchOrderImport.setMainDriverName("张三"); |
| | | tmsDispatchOrderImport.setLicensePlate("粤C12345"); |
| | | tmsDispatchOrderImport.setShipperRegionLabel("ZXH202512110002"); |
| | | tmsDispatchOrderImport.setReceiverRegionLabel("ZXH202512110001"); |
| | | |
| | | excelUtil.exportExcel(Collections.singletonList(tmsDispatchOrderImport)); |
| | | excelUtil.finishExport(fileName); |
| | | |
| | | // 设置下载完成状态 |
| | | DownloadExportUtil.setDownloadFile(redisCache, exportKey, fileName); |
| | | logger.info("Export completed for key: {}, file: {}", exportKey, fileName); |
| | | } catch (Exception e) { |
| | | logger.error("Export failed for key: {}, error: {}", exportKey, e.getMessage(), e); |
| | | DownloadExportUtil.deleteDownloadFile(redisCache, exportKey, "1"); // 设置失败状态 |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | | private String verRequired(int line,TmsDispatchOrderImport tmsDispatchOrderImport){ |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getProjectName())){ |
| | | return "第 "+line+" 行 项目名称 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getTransportLine())){ |
| | | return "第 "+line+" 行 运输线路 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getRequiredVehicleTypes())){ |
| | | return "第 "+line+" 行 下单车型 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getOrderType())){ |
| | | return "第 "+line+" 行 订单类型 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getIsCustoms())){ |
| | | return "第 "+line+" 行 委托报关 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getIsLoad())){ |
| | | return "第 "+line+" 行 委托装卸 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getIsUrgent())){ |
| | | return "第 "+line+" 行 是否紧急 不能为空!"; |
| | | } |
| | | |
| | | if (tmsDispatchOrderImport.getOrderTime() == null){ |
| | | return "第 "+line+" 行 下单时间 不能为空!"; |
| | | } |
| | | if (tmsDispatchOrderImport.getLatestArrival() == null){ |
| | | return "第 "+line+" 行 要求最晚到达时间 不能为空!"; |
| | | } |
| | | |
| | | |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getOperationMode())){ |
| | | return "第 "+line+" 行 是否是自营车队 不能为空!"; |
| | | } |
| | | if ("0".equals(tmsDispatchOrderImport.getOperationMode())){ |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getCommissionModel())){ |
| | | throw new ServiceException("第"+line+"行自营车队必填提成模式!"); |
| | | } |
| | | } |
| | | if ("1".equals(tmsDispatchOrderImport.getOperationMode())){ |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getVehicleProviderName())){ |
| | | throw new ServiceException("第"+line+"行 非自营车队 必填车辆服务商名称!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | if ( StringUtils.isEmpty(tmsDispatchOrderImport.getProjectName())){ |
| | | return "第 "+line+" 行 下单时间 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getMainDriverName())){ |
| | | return "第 "+line+" 行 主驾驶员 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getLicensePlate())){ |
| | | return "第 "+line+" 行 车牌号 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getShipperRegionLabel())){ |
| | | return "第 "+line+" 行 装货点编码 不能为空!"; |
| | | } |
| | | if (StringUtils.isEmpty(tmsDispatchOrderImport.getReceiverRegionLabel())){ |
| | | return "第 "+line+" 行 卸货地编码 不能为空!"; |
| | | } |
| | | |
| | | return null; |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String importData(List<TmsDispatchOrderImport> list) { |
| | | |
| | | if (StringUtils.isNull(list) || list.isEmpty()) |
| | | { |
| | | throw new ServiceException("导入调度单数据不能为空!"); |
| | | } |
| | | 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 |
| | | { |
| | | String s = verRequired(line, tmsDispatchOrderImport); |
| | | if (s != null){ |
| | | throw new ServiceException(s); |
| | | } |
| | | TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder(); |
| | | String projectName = tmsDispatchOrderImport.getProjectName(); |
| | | |
| | | TmsProject tmsProject = tmsProjectMapper.selectOne(new LambdaQueryWrapper<TmsProject>(). |
| | | eq(TmsProject::getProjectName, projectName) |
| | | .last("limit 1")); |
| | | if (tmsProject == null){ |
| | | throw new ServiceException("第"+line+"行项目不存在!"); |
| | | } |
| | | |
| | | TransportRouteVi transportRouteVi = transportRouteViMapper.selectOne(new LambdaQueryWrapper<TransportRouteVi>() |
| | | .eq(TransportRouteVi::getTransportRoute, tmsDispatchOrderImport.getTransportLine()) |
| | | .eq(TransportRouteVi::getProjectId, tmsProject.getId()) |
| | | .eq(TransportRouteVi::getCustomerId, tmsProject.getRelatedCustomerId()) |
| | | .eq(TransportRouteVi::getVehicleType, tmsDispatchOrderImport.getRequiredVehicleTypes()) |
| | | .last("limit 1") |
| | | ); |
| | | |
| | | if (transportRouteVi == null){ |
| | | throw new ServiceException("第"+line+"行线路信息不存在!"); |
| | | } |
| | | |
| | | tmsDispatchOrder.setQuoteDetailId(transportRouteVi.getQuoteDetailId()); |
| | | tmsDispatchOrder.setTransportLine(transportRouteVi.getTransportRoute()); |
| | | tmsDispatchOrder.setStartRegionCode(transportRouteVi.getStartRegionCode()); |
| | | tmsDispatchOrder.setEndRegionCode(transportRouteVi.getEndRegionCode()); |
| | | tmsDispatchOrder.setProjectName(transportRouteVi.getProjectName()); |
| | | tmsDispatchOrder.setProjectId(transportRouteVi.getProjectId()); |
| | | |
| | | // 关联客户 |
| | | tmsDispatchOrder.setCustomerId(transportRouteVi.getCustomerId()); |
| | | tmsDispatchOrder.setCustomerName(transportRouteVi.getCustomerFullName()); |
| | | tmsDispatchOrder.setCustomerCode(transportRouteVi.getCustomerCode()); |
| | | |
| | | tmsDispatchOrder.setContractId(transportRouteVi.getContractId()); |
| | | tmsDispatchOrder.setContractName(transportRouteVi.getContractName()); |
| | | |
| | | tmsDispatchOrder.setRequiredVehicleTypes(tmsDispatchOrderImport.getRequiredVehicleTypes()); |
| | | tmsDispatchOrder.setQuotePlanId(transportRouteVi.getQuotePlanId()); |
| | | |
| | | tmsDispatchOrder.setOrderType(Integer.valueOf(tmsDispatchOrderImport.getOrderType())); |
| | | tmsDispatchOrder.setIsCustoms(Integer.valueOf(tmsDispatchOrderImport.getIsCustoms())); |
| | | tmsDispatchOrder.setIsLoad(Integer.valueOf(tmsDispatchOrderImport.getIsLoad())); |
| | | tmsDispatchOrder.setIsUrgent(Integer.valueOf(tmsDispatchOrderImport.getIsUrgent())); |
| | | tmsDispatchOrder.setOrderTime(tmsDispatchOrderImport.getOrderTime()); |
| | | tmsDispatchOrder.setLatestDeparture(tmsDispatchOrderImport.getLatestDeparture()); |
| | | tmsDispatchOrder.setLatestArrival(tmsDispatchOrderImport.getLatestArrival()); |
| | | tmsDispatchOrder.setOperationMode(Integer.valueOf(tmsDispatchOrderImport.getOperationMode())); |
| | | if (tmsDispatchOrder.getOperationMode() == 0){ |
| | | tmsDispatchOrder.setCommissionModel(Integer.valueOf(tmsDispatchOrderImport.getCommissionModel())); |
| | | } else { |
| | | |
| | | TmsServiceProvider tmsServiceProvider = tmsServiceProviderMapper.selectOne(new LambdaQueryWrapper<TmsServiceProvider>(). |
| | | eq(TmsServiceProvider::getServiceName, |
| | | tmsDispatchOrderImport.getVehicleProviderName()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsServiceProvider == null){ |
| | | throw new ServiceException("第"+line+"行车辆服务商不存在!"); |
| | | } |
| | | tmsDispatchOrder.setVehicleProviderId(tmsServiceProvider.getId()); |
| | | tmsDispatchOrder.setVehicleProviderName(tmsServiceProvider.getServiceName()); |
| | | } |
| | | TmsDriver tmsDriver = tmsDriverMapper.selectOne(new LambdaQueryWrapper<TmsDriver>(). |
| | | eq(TmsDriver::getDriverName, tmsDispatchOrderImport.getMainDriverName()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsDriver == null){ |
| | | throw new ServiceException("第"+line+"行主驾驶员不存在!"); |
| | | } |
| | | |
| | | tmsDispatchOrder.setMainDriverId(tmsDriver.getId()); |
| | | tmsDispatchOrder.setMainDriverName(tmsDriver.getDriverName()); |
| | | if (!StringUtils.isEmpty(tmsDispatchOrderImport.getAssistantDriverName())){ |
| | | |
| | | TmsDriver tmsDriver1 = tmsDriverMapper.selectOne(new LambdaQueryWrapper<TmsDriver>(). |
| | | eq(TmsDriver::getDriverName, tmsDispatchOrderImport.getAssistantDriverName()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsDriver1 != null){ |
| | | tmsDispatchOrder.setAssistantDriverId(tmsDriver1.getId()); |
| | | tmsDispatchOrder.setAssistantDriverName(tmsDriver1.getDriverName()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | TmsVehicle tmsVehicle = tmsVehicleMapper.selectOne(new LambdaQueryWrapper<TmsVehicle>() |
| | | .eq(TmsVehicle::getLicensePlate, tmsDispatchOrderImport.getLicensePlate()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsVehicle == null){ |
| | | throw new ServiceException("第"+line+"行车牌号不存在!"); |
| | | } |
| | | |
| | | tmsDispatchOrder.setVehicleId(tmsVehicle.getId()); |
| | | tmsDispatchOrder.setLicensePlate(tmsVehicle.getLicensePlate()); |
| | | tmsDispatchOrder.setActualVehicleType(tmsVehicle.getVehicleType()); |
| | | |
| | | TmsConsignor shipper = tmsConsignorMapper.selectOne(new LambdaQueryWrapper<TmsConsignor>() |
| | | .eq(TmsConsignor::getConsignorCode, |
| | | tmsDispatchOrderImport.getShipperRegionLabel()) |
| | | .eq(TmsConsignor::getCustomerId, tmsDispatchOrder.getCustomerId()) |
| | | .last("limit 1") |
| | | ); |
| | | |
| | | if (shipper == null){ |
| | | throw new ServiceException("第"+line+"行装货点不存在!"); |
| | | } |
| | | tmsDispatchOrder.setShipperId(shipper.getId()); |
| | | tmsDispatchOrder.setShipperName(shipper.getConsignorName()); |
| | | tmsDispatchOrder.setShipperRegionLabel(shipper.getRegionLabel()); |
| | | tmsDispatchOrder.setShipperAddress(shipper.getAddressDetail()); |
| | | tmsDispatchOrder.setShipperMobile(shipper.getContactPhone()); |
| | | tmsDispatchOrder.setShipperRegionCode(shipper.getRegion()); |
| | | |
| | | |
| | | TmsConsignor receiver = tmsConsignorMapper.selectOne(new LambdaQueryWrapper<TmsConsignor>() |
| | | .eq(TmsConsignor::getConsignorCode, |
| | | tmsDispatchOrderImport.getReceiverRegionLabel()) |
| | | .eq(TmsConsignor::getCustomerId, tmsDispatchOrder.getCustomerId()) |
| | | .last("limit 1") |
| | | ); |
| | | if (receiver == null){ |
| | | throw new ServiceException("第"+line+"行卸货地不存在!"); |
| | | } |
| | | tmsDispatchOrder.setReceiverId(receiver.getId()); |
| | | tmsDispatchOrder.setReceiverName(receiver.getConsignorName()); |
| | | tmsDispatchOrder.setReceiverRegionLabel(receiver.getRegionLabel()); |
| | | tmsDispatchOrder.setReceiverAddress(receiver.getAddressDetail()); |
| | | tmsDispatchOrder.setReceiverMobile(receiver.getContactPhone()); |
| | | tmsDispatchOrder.setReceiverRegionCode(receiver.getRegion()); |
| | | |
| | | if (!StringUtils.isEmpty(tmsDispatchOrderImport.getContainerNo())){ |
| | | TmsContainer tmsContainer = tmsContainerMapper.selectOne(new LambdaQueryWrapper<TmsContainer>() |
| | | .eq(TmsContainer::getContainerCode, tmsDispatchOrderImport.getContainerNo()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsContainer == null){ |
| | | throw new ServiceException("第"+line+"行集装箱不存在!"); |
| | | } |
| | | tmsDispatchOrder.setContainerId(tmsContainer.getId()); |
| | | tmsDispatchOrder.setContainerNo(tmsContainer.getContainerCode()); |
| | | } |
| | | |
| | | if (!StringUtils.isEmpty(tmsDispatchOrderImport.getShelfCode())){ |
| | | TmsShelf tmsShelf = tmsShelfMapper.selectOne(new LambdaQueryWrapper<TmsShelf>() |
| | | .eq(TmsShelf::getShelfCode, tmsDispatchOrderImport.getShelfCode()) |
| | | .last("limit 1") |
| | | ); |
| | | if (tmsShelf == null){ |
| | | throw new ServiceException("第"+line+"行托架不存在!"); |
| | | } |
| | | tmsDispatchOrder.setShelfId(tmsShelf.getId()); |
| | | tmsDispatchOrder.setShelfCode(tmsShelf.getShelfCode()); |
| | | } |
| | | String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.DL); |
| | | tmsDispatchOrder.setDispatchNo(noByKey); |
| | | |
| | | tmsDispatchOrder.setCreateBy(SecurityUtils.getUsername()); |
| | | tmsDispatchOrder.setCreateTime(DateUtils.getNowDate()); |
| | | tmsDispatchOrderMapper.insertTmsDispatchOrder(tmsDispatchOrder); |
| | | }catch (Exception e) { |
| | | 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) |
| | | { |
| | | failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); |
| | | throw new ServiceException(failureMsg.toString()); |
| | | } |
| | | else |
| | | { |
| | | successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + list.size() + " 条"); |
| | | } |
| | | |
| | | return successMsg.toString() ; |
| | | } |
| | | |
| | | /** |
| | | * 新增调度单管理 |
| | |
| | | |
| | | tmsDispatchOrder.setUpdateTime(DateUtils.getNowDate()); |
| | | return tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder); |
| | | } |
| | | |
| | | @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>() |
| | | .eq(TmsDispatchOrder::getId,tmsDispatchOrder.getId()) |
| | | .set(TmsDispatchOrder::getIsPrint,0) |
| | | .setSql("print_count = IFNULL(print_count, 0) + 1") |
| | | .set(TmsDispatchOrder::getPrintTime,new Date()) |
| | | .set(TmsDispatchOrder::getPrintBy,SecurityUtils.getUsername()) |
| | | .set(TmsDispatchOrder::getSixLinkNo,tmsDispatchOrder.getSixLinkNo()) |
| | | .set(TmsDispatchOrder::getPortName,tmsDispatchOrder.getPortName()) |
| | | .set(TmsDispatchOrder::getBillNo,tmsDispatchOrder.getBillNo()) |
| | | .set(TmsDispatchOrder::getTerminalName,tmsDispatchOrder.getTerminalName()) |
| | | .set(TmsDispatchOrder::getCargoName,tmsDispatchOrder.getCargoName()) |
| | | .set(TmsDispatchOrder::getPieceCount,tmsDispatchOrder.getPieceCount()) |
| | | .set(TmsDispatchOrder::getWeight,tmsDispatchOrder.getWeight()) |
| | | .set(TmsDispatchOrder::getContactName,tmsDispatchOrder.getContactName()) |
| | | .set(TmsDispatchOrder::getContactPhone,tmsDispatchOrder.getContactPhone()) |
| | | ); |
| | | } |
| | | |
| | | /** |
| | |
| | | // 非自营需要有运费 |
| | | // 车辆服务商 |
| | | // 实际车型 |
| | | String actualVehicleType = tmsDispatchOrder.getActualVehicleType(); |
| | | String actualVehicleType = tmsDispatchOrder.getRequiredVehicleTypes(); |
| | | // 出发路线 44,4404,440402,440402102 |
| | | String shipperRegionCode = tmsDispatchOrder.getStartRegionCode(); |
| | | // 目的地路线 81,8100,810000 |
| | |
| | | TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>() |
| | | .eq(TmsQuoteDetail::getCustomerId, customerId) |
| | | .eq(TmsQuoteDetail::getVehicleType, actualVehicleType) |
| | | .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode) |
| | | .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode) |
| | | .likeRight(TmsQuoteDetail::getStartRegionCode, shipperRegionCode) |
| | | .likeRight(TmsQuoteDetail::getEndRegionCode, receiverRegionCode) |
| | | .eq(TmsQuoteDetail::getPlanType, 0) |
| | | .last("limit 1") |
| | | ); |
| | |
| | | |
| | | |
| | | @Override |
| | | public List<TmsDispatchOrder> initYFGenerate(List<Integer> ids) { |
| | | public List<TmsPayableFee> initYFGenerate(List<Integer> ids) { |
| | | List<TmsDispatchOrder> tmsDispatchOrders = tmsDispatchOrderMapper.selectBatchIds(ids); |
| | | if (tmsDispatchOrders != null && !tmsDispatchOrders.isEmpty()){ |
| | | tmsDispatchOrders.forEach(tmsDispatchOrder -> { |
| | | List<TmsReceivableFeeItem> tmsReceivableFeeItems = new ArrayList<>(); |
| | | List<TmsPayableFeeItem> tmsPayableFeeItems = new ArrayList<>(); |
| | | if (tmsDispatchOrder.getAccountsPayableStatus() != null && |
| | | tmsDispatchOrder.getAccountsPayableStatus() == 1){ |
| | | throw new RuntimeException(tmsDispatchOrder.getDispatchNo()+"应付账单已生成,请先作废"); |
| | |
| | | String receiverRegionCode = tmsDispatchOrder.getEndRegionCode(); |
| | | |
| | | // 查询应收规则 |
| | | TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>() |
| | | .eq(TmsQuoteDetail::getVehicleProviderId, vehicleProviderId) |
| | | .eq(TmsQuoteDetail::getVehicleType, actualVehicleType) |
| | | .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode) |
| | | .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode) |
| | | .eq(TmsQuoteDetail::getPlanType, 1) |
| | | .last("limit 1") |
| | | ); |
| | | TmsQuoteDetail tmsQuoteDetail = |
| | | tmsQuoteDetailMapper.selectOne( |
| | | new LambdaQueryWrapper<TmsQuoteDetail>() |
| | | .eq(TmsQuoteDetail::getVehicleType, actualVehicleType) |
| | | .likeRight(TmsQuoteDetail::getStartRegionCode, shipperRegionCode) |
| | | .likeRight(TmsQuoteDetail::getEndRegionCode, receiverRegionCode) |
| | | .eq(TmsQuoteDetail::getPlanType, 1) |
| | | .exists( |
| | | "SELECT 1 " + |
| | | "FROM tms_quote_plan tqp " + |
| | | "WHERE tqp.id = tms_quote_detail.quote_plan_id " + |
| | | "AND tqp.provider_id = {0} " + |
| | | "AND tqp.plan_type = 1 " + |
| | | "AND tqp.provider_type = 0", |
| | | vehicleProviderId |
| | | ) |
| | | .last("LIMIT 1") |
| | | ); |
| | | |
| | | |
| | | |
| | | |
| | | if (tmsQuoteDetail == null){ |
| | | throw new RuntimeException("调度单"+tmsDispatchOrder.getDispatchNo()+"未维护应付运费报价,请维护数据后再重新生成"); |
| | | } |
| | | TmsPayableFeeItem tmsPayableFeeItem = new TmsPayableFeeItem(); |
| | | tmsPayableFeeItem.setFeeType(0); |
| | | tmsPayableFeeItem.setFeeName("运费"); |
| | | tmsPayableFeeItem.setTypeId(tmsQuoteDetail.getId()); |
| | | tmsPayableFeeItem.setRegisterAmount(tmsQuoteDetail.getFreightPrice()); |
| | | tmsPayableFeeItem.setRegisterTime(tmsDispatchOrder.getConfirmTime()); |
| | | tmsPayableFeeItem.setCurrency(tmsQuoteDetail.getCurrency()); |
| | | tmsPayableFeeItem.setRowKey(IdUtil.objectId()); |
| | | |
| | | TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem(); |
| | | tmsReceivableFeeItem.setFeeType(0); |
| | | tmsReceivableFeeItem.setFeeName("运费"); |
| | | tmsReceivableFeeItem.setTypeId(tmsQuoteDetail.getId()); |
| | | tmsReceivableFeeItem.setRegisterAmount(tmsQuoteDetail.getFreightPrice()); |
| | | tmsReceivableFeeItem.setRegisterTime(tmsDispatchOrder.getConfirmTime()); |
| | | tmsReceivableFeeItem.setCurrency(tmsQuoteDetail.getCurrency()); |
| | | tmsReceivableFeeItem.setRowKey(IdUtil.objectId()); |
| | | tmsReceivableFeeItems.add(tmsReceivableFeeItem); |
| | | tmsPayableFeeItem.setServiceProviderId(vehicleProviderId); |
| | | tmsPayableFeeItem.setServiceProviderName(tmsDispatchOrder.getVehicleProviderName()); |
| | | tmsPayableFeeItem.setServiceProviderType("0"); |
| | | |
| | | tmsPayableFeeItems.add(tmsPayableFeeItem); |
| | | |
| | | } |
| | | // 2、 获取实报实销费用 |
| | |
| | | |
| | | if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){ |
| | | tmsFinanceDetails.forEach(tmsFinanceDetail -> { |
| | | TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem(); |
| | | tmsReceivableFeeItem.setFeeType(2); |
| | | TmsPayableFeeItem tmsPayableFeeItem = new TmsPayableFeeItem(); |
| | | tmsPayableFeeItem.setFeeType(2); |
| | | |
| | | String feeName = sysDictDataService.selectDictLabel("fee_type", tmsFinanceDetail.getFeeType()); |
| | | tmsReceivableFeeItem.setFeeName(feeName); |
| | | tmsReceivableFeeItem.setTypeId(tmsFinanceDetail.getId()); |
| | | tmsReceivableFeeItem.setRegisterAmount(tmsFinanceDetail.getYfPrice()); |
| | | tmsReceivableFeeItem.setRegisterTime(tmsFinanceDetail.getUpdateTime()); |
| | | tmsReceivableFeeItem.setCurrency(tmsFinanceDetail.getYfCurrency()); |
| | | tmsReceivableFeeItem.setRowKey(IdUtil.objectId()); |
| | | |
| | | tmsReceivableFeeItems.add(tmsReceivableFeeItem); |
| | | tmsPayableFeeItem.setFeeName(feeName); |
| | | tmsPayableFeeItem.setTypeId(tmsFinanceDetail.getId()); |
| | | tmsPayableFeeItem.setRegisterAmount(tmsFinanceDetail.getYfPrice()); |
| | | tmsPayableFeeItem.setRegisterTime(tmsFinanceDetail.getUpdateTime()); |
| | | tmsPayableFeeItem.setCurrency(tmsFinanceDetail.getYfCurrency()); |
| | | tmsPayableFeeItem.setRowKey(IdUtil.objectId()); |
| | | tmsPayableFeeItem.setServiceProviderId(tmsFinanceDetail.getYfServiceProviderId()); |
| | | tmsPayableFeeItem.setServiceProviderName(tmsFinanceDetail.getYfServiceProviderName()); |
| | | tmsPayableFeeItem.setServiceProviderType(tmsFinanceDetail.getYfServiceProviderType()); |
| | | tmsPayableFeeItems.add(tmsPayableFeeItem); |
| | | }); |
| | | } |
| | | |
| | |
| | | |
| | | if (tmsQuoteFees != null && !tmsQuoteFees.isEmpty()){ |
| | | tmsQuoteFees.forEach(item -> { |
| | | TmsReceivableFeeItem tmsReceivableFeeItem = new TmsReceivableFeeItem(); |
| | | tmsReceivableFeeItem.setFeeType(1); |
| | | tmsReceivableFeeItem.setFeeName(item.getFreeName()); |
| | | tmsReceivableFeeItem.setTypeId(item.getId()); |
| | | tmsReceivableFeeItem.setRegisterAmount(item.getYfSum()); |
| | | tmsReceivableFeeItem.setRegisterTime(item.getCreateTime()); |
| | | tmsReceivableFeeItem.setCurrency(item.getYfCurrency()); |
| | | tmsReceivableFeeItem.setRowKey(IdUtil.objectId()); |
| | | TmsPayableFeeItem tmsPayableFeeItem = new TmsPayableFeeItem(); |
| | | tmsPayableFeeItem.setFeeType(1); |
| | | tmsPayableFeeItem.setFeeName(item.getFreeName()); |
| | | tmsPayableFeeItem.setTypeId(item.getId()); |
| | | tmsPayableFeeItem.setRegisterAmount(item.getYfSum()); |
| | | tmsPayableFeeItem.setRegisterTime(item.getCreateTime()); |
| | | tmsPayableFeeItem.setCurrency(item.getYfCurrency()); |
| | | tmsPayableFeeItem.setRowKey(IdUtil.objectId()); |
| | | |
| | | tmsReceivableFeeItems.add(tmsReceivableFeeItem); |
| | | tmsPayableFeeItem.setServiceProviderId(item.getServiceProviderId()); |
| | | tmsPayableFeeItem.setServiceProviderName(getServiceProviderName(item.getServiceProviderType(),item.getServiceProviderId())); |
| | | tmsPayableFeeItem.setServiceProviderType(item.getServiceProviderType()); |
| | | |
| | | tmsPayableFeeItems.add(tmsPayableFeeItem); |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | tmsDispatchOrder.setTmsReceivableFeeItems(tmsReceivableFeeItems); |
| | | tmsDispatchOrder.setTmsPayableFeeItems(tmsPayableFeeItems); |
| | | }); |
| | | } |
| | | return tmsDispatchOrders; |
| | | List<TmsPayableFee> tmsPayableFeeList = new ArrayList<>(); |
| | | if (tmsDispatchOrders != null && !tmsDispatchOrders.isEmpty()){ |
| | | tmsDispatchOrders.forEach(item -> { |
| | | |
| | | |
| | | List<TmsPayableFeeItem> tmsPayableFeeItems = item.getTmsPayableFeeItems(); |
| | | Map<String, List<TmsPayableFeeItem>> map = |
| | | tmsPayableFeeItems.stream() |
| | | .collect(Collectors.groupingBy(cItem -> |
| | | cItem.getServiceProviderId() + "_" + cItem.getServiceProviderType() |
| | | )); |
| | | map.forEach((customerId, customerItems) -> { |
| | | |
| | | TmsPayableFeeItem tmsPayableFeeItem = customerItems.get(0); |
| | | TmsPayableFee tmsPayableFee = new TmsPayableFee(); |
| | | |
| | | tmsPayableFee.setDispatchId(item.getId()); |
| | | tmsPayableFee.setDispatchNo(item.getDispatchNo()); |
| | | |
| | | tmsPayableFee.setServiceProviderId(tmsPayableFeeItem.getServiceProviderId()); |
| | | tmsPayableFee.setServiceProviderName(tmsPayableFeeItem.getServiceProviderName()); |
| | | tmsPayableFee.setServiceProviderType(tmsPayableFeeItem.getServiceProviderType()); |
| | | |
| | | tmsPayableFee.setProjectId(item.getProjectId()); |
| | | tmsPayableFee.setProjectName(item.getProjectName()); |
| | | |
| | | BigDecimal totalRmbAmount = customerItems.stream() |
| | | .filter(cItem -> "RMB".equals(cItem.getCurrency())) |
| | | .map(TmsPayableFeeItem::getRegisterAmount) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | tmsPayableFee.setPayableRmbAmount(totalRmbAmount); |
| | | |
| | | |
| | | BigDecimal totalHkbAmount = customerItems.stream() |
| | | .filter(cItem -> "HKD".equals(cItem.getCurrency())) |
| | | .map(TmsPayableFeeItem::getRegisterAmount) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | tmsPayableFee.setPayableHkbAmount(totalHkbAmount); |
| | | tmsPayableFee.setDispatchConfirmTime(item.getConfirmTime()); |
| | | tmsPayableFee.setStatus(0); |
| | | tmsPayableFee.setPayableFeeItems(customerItems); |
| | | tmsPayableFeeList.add(tmsPayableFee); |
| | | }); |
| | | |
| | | |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return tmsPayableFeeList; |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | @Override |
| | | public AjaxResult yfGenerateTmsDispatchOrder(List<Integer> ids) { |
| | | List<TmsDispatchOrder> tmsDispatchOrders = initYFGenerate(ids); |
| | | List<TmsDispatchOrder> collect1 = tmsDispatchOrders.stream().filter(item -> item.getTmsReceivableFeeItems() == null || item.getTmsReceivableFeeItems().isEmpty()).collect(Collectors.toList()); |
| | | if (!collect1.isEmpty()){ |
| | | String disNos = collect1.stream().map(TmsDispatchOrder::getDispatchNo).collect(Collectors.joining(",")); |
| | | return AjaxResult.error("调度单"+disNos+"未有应付信息"); |
| | | } |
| | | List<TmsPayableFee> tmsPayableFeeList = initYFGenerate(ids); |
| | | |
| | | |
| | | |
| | | |
| | | List<TmsDispatchOrder> collect = tmsDispatchOrders.stream().map(item -> { |
| | | TmsDispatchOrder tmsDispatchOrder = new TmsDispatchOrder(); |
| | | tmsDispatchOrder.setId(item.getId()); |
| | | tmsDispatchOrder.setAccountsPayableStatus(1); |
| | | tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername()); |
| | | return tmsDispatchOrder; |
| | | }).collect(Collectors.toList()); |
| | | Set<Integer> dispatchIds = tmsPayableFeeList.stream().map(TmsPayableFee::getDispatchId).collect(Collectors.toSet()); |
| | | // 1、修改调度 |
| | | tmsDispatchOrderMapper.updateTmsDispatchOrderBatch(collect); |
| | | |
| | | tmsDispatchOrderMapper.update(new LambdaUpdateWrapper<TmsDispatchOrder>() |
| | | .in(TmsDispatchOrder::getId, dispatchIds) |
| | | .set(TmsDispatchOrder::getAccountsPayableStatus, 1) |
| | | .set(TmsDispatchOrder::getUpdateBy, SecurityUtils.getUsername()) |
| | | .set(TmsDispatchOrder::getUpdateTime, DateUtils.getNowDate()) |
| | | ); |
| | | // 2、生成应收单 |
| | | |
| | | // tmsDispatchOrders.stream().forEach(item -> { |
| | | // TmsReceivableFee tmsReceivableFee = new TmsReceivableFee(); |
| | | // String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YSFY); |
| | | // |
| | | // tmsReceivableFee.setSystemNo(noByKey); |
| | | // tmsReceivableFee.setDispatchId(item.getId()); |
| | | // tmsReceivableFee.setDispatchNo(item.getDispatchNo()); |
| | | // tmsReceivableFee.setCustomerId(item.getCustomerId()); |
| | | // tmsReceivableFee.setCustomerName(item.getCustomerName()); |
| | | // tmsReceivableFee.setProjectId(item.getProjectId()); |
| | | // tmsReceivableFee.setProjectName(item.getProjectName()); |
| | | // |
| | | // List<TmsReceivableFeeItem> tmsReceivableFeeItems = item.getTmsReceivableFeeItems(); |
| | | // |
| | | // |
| | | // BigDecimal totalRmbAmount = tmsReceivableFeeItems.stream() |
| | | // .filter(cItem -> "RMB".equals(cItem.getCurrency())) |
| | | // .map(TmsReceivableFeeItem::getRegisterAmount) |
| | | // .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // tmsReceivableFee.setReceivableRMBAmount(totalRmbAmount); |
| | | // |
| | | // |
| | | // BigDecimal totalHkbAmount = tmsReceivableFeeItems.stream() |
| | | // .filter(cItem -> "HKB".equals(cItem.getCurrency())) |
| | | // .map(TmsReceivableFeeItem::getRegisterAmount) |
| | | // .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // tmsReceivableFee.setReceivableHKBAmount(totalHkbAmount); |
| | | // |
| | | // |
| | | // tmsReceivableFee.setDispatchConfirmTime(item.getConfirmTime()); |
| | | // tmsReceivableFee.setCostGenerateTime(new Date()); |
| | | // tmsReceivableFee.setStatus(0); |
| | | // tmsReceivableFee.setCreateBy(SecurityUtils.getUsername()); |
| | | // tmsReceivableFeeService.insertTmsReceivableFee(tmsReceivableFee); |
| | | // |
| | | // |
| | | // tmsReceivableFeeItems.forEach(kItem -> { |
| | | // kItem.setHeadId(tmsReceivableFee.getId()); |
| | | // }); |
| | | // tmsReceivableFeeItemService.insertTmsReceivableFeeItemBatch(tmsReceivableFeeItems); |
| | | // }); |
| | | tmsPayableFeeList.forEach(tmsPayableFee ->{ |
| | | String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YFFY); |
| | | tmsPayableFee.setSystemNo(noByKey); |
| | | tmsPayableFee.setCostGenerateTime(new Date()); |
| | | tmsPayableFee.setCreateBy(SecurityUtils.getUsername()); |
| | | tmsPayableFeeMapper.insertTmsPayableFee(tmsPayableFee); |
| | | List<TmsPayableFeeItem> customerItems = tmsPayableFee.getPayableFeeItems(); |
| | | customerItems.forEach(kItem -> { |
| | | kItem.setHeadId(tmsPayableFee.getId()); |
| | | }); |
| | | tmsPayableFeeItemMapper.insertTmsPayableFeeItemBatch(customerItems); |
| | | }); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | public String getServiceProviderName(String serviceProviderType,Integer serviceProviderId){ |
| | | if ("0".equals(serviceProviderType)){ |
| | | TmsServiceProvider tmsServiceProvider = tmsServiceProviderMapper.selectTmsServiceProviderById(serviceProviderId); |
| | | return tmsServiceProvider.getServiceName(); |
| | | } else if ("1".equals(serviceProviderType)){ |
| | | TmsCustomsServiceProvider tmsCustomsServiceProvider = tmsCustomsServiceProviderMapper.selectTmsCustomsServiceProviderById(serviceProviderId); |
| | | return tmsCustomsServiceProvider.getServiceName(); |
| | | } else if ("2".equals(serviceProviderType)){ |
| | | TmsLoadingServiceProvider tmsLoadingServiceProvider = tmsLoadingServiceProviderMapper.selectTmsLoadingServiceProviderById(serviceProviderId); |
| | | return tmsLoadingServiceProvider.getServiceName(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<DpDriverDispatchVo> selectDpData() { |
| | | return tmsDispatchOrderMapper.selectselectDpData(); |
| | | } |
| | | |
| | | @Override |
| | | public DpDriverDispatchItemVo selectDataByNo(String no) { |
| | | return tmsDispatchOrderMapper.selectDataByNo(no); |
| | | } |
| | | |
| | | @Override |
| | | public List<DpItineraryLogVo> selectItineraryLog() { |
| | | return tmsDispatchOrderMapper.selectItineraryLog(); |
| | | } |
| | | } |