| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.admin.entity.*; |
| | | import com.ruoyi.admin.entity.MasterWorker; |
| | | import com.ruoyi.admin.entity.RecoveryClassify; |
| | | import com.ruoyi.admin.entity.RecoveryServe; |
| | | import com.ruoyi.admin.entity.RecoveryServePrice; |
| | | import com.ruoyi.admin.entity.Region; |
| | | import com.ruoyi.admin.entity.Site; |
| | | import com.ruoyi.admin.netty.NettyChannelMap; |
| | | import com.ruoyi.admin.netty.NettyWebSocketController; |
| | | import com.ruoyi.admin.service.*; |
| | | import com.ruoyi.admin.utils.AddressDto; |
| | | import com.ruoyi.admin.service.MasterWorkerService; |
| | | import com.ruoyi.admin.service.OrderService; |
| | | import com.ruoyi.admin.service.RecoveryClassifyService; |
| | | import com.ruoyi.admin.service.RecoveryServePriceService; |
| | | import com.ruoyi.admin.service.RecoveryServeService; |
| | | import com.ruoyi.admin.service.RegionService; |
| | | import com.ruoyi.admin.service.SiteService; |
| | | import com.ruoyi.admin.utils.DescribeInstances; |
| | | import com.ruoyi.admin.utils.OcrBase; |
| | | import com.ruoyi.admin.vo.OrderByServeRecordVO; |
| | | import com.ruoyi.admin.vo.OrderDetailVO; |
| | | import com.ruoyi.admin.vo.OrderReasinDto; |
| | |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.utils.GaoDeMapUtil; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.SnowflakeIdWorker; |
| | | import com.ruoyi.common.core.vo.CityInfoVO; |
| | | import com.ruoyi.common.core.vo.PaperInVo; |
| | | import com.ruoyi.common.core.vo.PrintDto; |
| | | import com.ruoyi.common.redis.service.RedisService; |
| | | import com.ruoyi.common.security.annotation.Logical; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.order.api.entity.*; |
| | | import com.ruoyi.order.api.entity.ChangeDispatch; |
| | | import com.ruoyi.order.api.entity.Order; |
| | | import com.ruoyi.order.api.entity.OrderCountVO; |
| | | import com.ruoyi.order.api.entity.OrderPageCountVO; |
| | | import com.ruoyi.order.api.entity.OrderQueryRequest; |
| | | import com.ruoyi.order.api.entity.OrderRequest; |
| | | import com.ruoyi.order.api.feignClient.ExchangeDispatchClient; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.order.api.request.OrderCountDataRequest; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import com.tencentcloudapi.ocr.v20181119.models.BusinessCardOCRResponse; |
| | | import com.tencentcloudapi.ocr.v20181119.models.ClassifyDetectOCRResponse; |
| | | import com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Response; |
| | | import com.tencentcloudapi.ocr.v20181119.models.WaybillOCRResponse; |
| | | import io.netty.channel.ChannelHandlerContext; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.collections4.Get; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Paths; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | } |
| | | return R.ok(data); |
| | | } |
| | | |
| | | /** |
| | | * 订单id列表 |
| | | * |
| | | * @param orderQueryRequest 订单列表查询参数 |
| | | */ |
| | | @ApiOperation(value = "订单id列表-分页", tags = {"后台-订单管理"}) |
| | | @PostMapping(value = "/queryIdList") |
| | | public R<List<String>> queryIdList(@RequestBody OrderQueryRequest orderQueryRequest) { |
| | | return R.ok(orderService.queryIdList(orderQueryRequest)); |
| | | } |
| | | /** |
| | | * 订单列表 |
| | | */ |
| | |
| | | /** |
| | | * 订单派单/改派 |
| | | * |
| | | * @param type 1:订单派单;2:订单改派 |
| | | */ |
| | | @RequiresPermissions("order_reassignment") |
| | | @ApiOperation(value = "订单列表-订单派单/改派", tags = {"后台-订单管理"}) |
| | |
| | | @ApiOperation(value = "获师傅", tags = {"后台-订单管理-地图统计"}) |
| | | @PostMapping(value = "/map/line") |
| | | public R<List<OrderByServeRecordVO>> line(Integer id) { |
| | | R<List<Order>> workday = orderClient.workday(id); |
| | | System.out.println(workday.getData()); |
| | | List<OrderByServeRecordVO> list = new ArrayList<>(); |
| | | for (Order datum : workday.getData()) { |
| | | // 获取当天时间 |
| | | String today = DateUtils.dateTimeNow("yyyy-MM-dd"); |
| | | OrderByServeRecordVO orderByServeRecord = new OrderByServeRecordVO(); |
| | | |
| | | String masterFolderPath = "/usr/local/coordinate/" + datum.getServerId(); |
| | | String masterFolderPath = "/usr/local/coordinate/" + id; |
| | | File masterFolder = new File(masterFolderPath); |
| | | // 检查师傅ID的文件夹是否存在,存在就读取轨迹数据 |
| | | System.out.println("文件是否存在:" + masterFolder.exists()); |
| | | if (masterFolder.exists()) { |
| | | // 检查订单ID的JSON文件是否存在,不存在则创建 |
| | | String jsonFilePath = masterFolderPath + "/" + datum.getId() + ".json"; |
| | | String jsonFilePath = masterFolderPath + "/" + today + ".json"; |
| | | // String jsonFilePath = "C:\\Users\\Admin\\Desktop\\1814257493315514369.json"; |
| | | File jsonFile = new File(jsonFilePath); |
| | | System.out.println("订单Json文件是否存在:" + jsonFile.exists()); |
| | | List<String> coordinateList = getCoordinateList(jsonFile, jsonFilePath); |
| | | orderByServeRecord.setCoordinate(coordinateList); |
| | | //获取轨迹标点 |
| | | String baseMarkerPath = "/usr/local/marker/" + id; |
| | | //标点根目录 |
| | | File markerMasterFolder = new File(baseMarkerPath); |
| | | if (markerMasterFolder.exists()) { |
| | | // 标点json文件路径 |
| | | String markerJsonFilePath = markerMasterFolder + "/" + today + ".json"; |
| | | File markerJsonFile = new File(markerJsonFilePath); |
| | | List<String> markerCoordinateList = getCoordinateList(markerJsonFile, |
| | | markerJsonFilePath); |
| | | orderByServeRecord.setMarker(markerCoordinateList); |
| | | } |
| | | list.add(orderByServeRecord); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | /** |
| | | * 获取坐标集合 |
| | | * @param jsonFile json文件 |
| | | * @param jsonFilePath 文件路径 |
| | | * @return |
| | | */ |
| | | private static List<String> getCoordinateList(File jsonFile, String jsonFilePath) { |
| | | if (jsonFile.exists()) { |
| | | try { |
| | | String jsonContent = new String(Files.readAllBytes(Paths.get(jsonFilePath))); |
| | |
| | | if (null != coordinate) { |
| | | for (com.alibaba.fastjson2.JSONObject jsonObject : coordinate) { |
| | | Object s = jsonObject.get("coordinate"); |
| | | coordinateList.add(String.valueOf(s)); |
| | | if (s != null) { |
| | | coordinateList.add(s.toString()); |
| | | } |
| | | orderByServeRecord.setCoordinate(coordinateList); |
| | | } |
| | | } |
| | | return coordinateList; |
| | | } catch (IOException e) { |
| | | System.out.println(e.getMessage()); |
| | | } |
| | | list.add(orderByServeRecord); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return R.ok(list); |
| | | return Collections.emptyList(); |
| | | } |
| | | |
| | | @Resource |