|
|
|
|
@ -12,7 +12,9 @@ import lombok.AllArgsConstructor; |
|
|
|
|
import javax.validation.Valid; |
|
|
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.json.JSONObject; |
|
|
|
|
import org.springblade.core.log.annotation.ApiLog; |
|
|
|
|
import org.springblade.core.log.logger.BladeLogger; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.mp.support.Condition; |
|
|
|
|
import org.springblade.core.mp.support.Query; |
|
|
|
|
@ -33,9 +35,17 @@ import org.springblade.core.boot.ctrl.BladeController; |
|
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
|
import org.springblade.core.excel.util.ExcelUtil; |
|
|
|
|
import org.springblade.core.tool.constant.BladeConstant; |
|
|
|
|
import org.springframework.web.client.RestTemplate; |
|
|
|
|
import springfox.documentation.annotations.ApiIgnore; |
|
|
|
|
|
|
|
|
|
import java.io.BufferedReader; |
|
|
|
|
import java.io.InputStreamReader; |
|
|
|
|
import java.net.HttpURLConnection; |
|
|
|
|
import java.net.URL; |
|
|
|
|
import java.net.URLConnection; |
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
import java.util.Collections; |
|
|
|
|
import java.util.LinkedHashMap; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
@ -94,27 +104,24 @@ public class WorkOrderController extends BladeController { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序
|
|
|
|
|
eq.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation()) |
|
|
|
|
.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType()) |
|
|
|
|
.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()) |
|
|
|
|
.orderByDesc(WorkOrder::getCreateTime); |
|
|
|
|
eq.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation()).eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType()).between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()).orderByDesc(WorkOrder::getCreateTime); |
|
|
|
|
|
|
|
|
|
// 执行分页查询
|
|
|
|
|
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), eq); |
|
|
|
|
|
|
|
|
|
// 获取查询结果列表
|
|
|
|
|
List<WorkOrder> records = pages.getRecords(); |
|
|
|
|
// List<WorkOrder> records = pages.getRecords();
|
|
|
|
|
|
|
|
|
|
// 批量查询设备名称
|
|
|
|
|
List<Long> deviceIds = records.stream().map(WorkOrder::getDeviceId).collect(Collectors.toList()); |
|
|
|
|
Map<Long, String> deviceNameMap = getDeviceNameMap(deviceIds); |
|
|
|
|
// List<Long> deviceIds = records.stream().map(WorkOrder::getDeviceId).collect(Collectors.toList());
|
|
|
|
|
// Map<Long, String> deviceNameMap = getDeviceNameMap(deviceIds);
|
|
|
|
|
|
|
|
|
|
for (WorkOrder record : records) { |
|
|
|
|
record.setDeviceName(deviceNameMap.getOrDefault(record.getDeviceId(), "")); |
|
|
|
|
} |
|
|
|
|
// for (WorkOrder record : records) {
|
|
|
|
|
// record.setDeviceName(deviceNameMap.getOrDefault(record.getDeviceId(), ""));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 更新查询结果列表
|
|
|
|
|
pages.setRecords(records); |
|
|
|
|
// pages.setRecords(records);
|
|
|
|
|
|
|
|
|
|
// 返回查询结果
|
|
|
|
|
return R.data(pages); |
|
|
|
|
@ -127,6 +134,7 @@ public class WorkOrderController extends BladeController { |
|
|
|
|
break; |
|
|
|
|
case "2": |
|
|
|
|
eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId())); // 客服
|
|
|
|
|
eq.ne(WorkOrder::getStatus, -1); |
|
|
|
|
break; |
|
|
|
|
case "3": |
|
|
|
|
eq.eq(WorkOrder::getMaintenanceTeam, AuthUtil.getDeptId()); // 维修负责人
|
|
|
|
|
@ -272,4 +280,61 @@ public class WorkOrderController extends BladeController { |
|
|
|
|
public R clone(@Valid @RequestBody WorkOrder workOrder) { |
|
|
|
|
return R.status(workOrderService.updateById(workOrder)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 封装百度接口 |
|
|
|
|
* |
|
|
|
|
* @param query |
|
|
|
|
* @return |
|
|
|
|
* @throws Exception |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/suggestion") |
|
|
|
|
public R suggestion(String query) throws Exception { |
|
|
|
|
String ak = "NqGy7LGcdxNUNqR7pBwPqeOkZ11Arn5Y"; |
|
|
|
|
String url = "https://api.map.baidu.com/place/v2/suggestion?"; |
|
|
|
|
Map params = new LinkedHashMap<String, String>(); |
|
|
|
|
params.put("query", query); |
|
|
|
|
params.put("region", "全国"); |
|
|
|
|
params.put("city_limit", "true"); |
|
|
|
|
params.put("output", "json"); |
|
|
|
|
params.put("ak", ak); |
|
|
|
|
String resultStr = requestGetAK(url, params); |
|
|
|
|
JSONObject jsonObject = new JSONObject(resultStr); |
|
|
|
|
Map<String, Object> map = jsonObject.toMap(); |
|
|
|
|
return R.data(map); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private String requestGetAK(String strUrl, Map<String, String> param) throws Exception { |
|
|
|
|
if (strUrl == null || strUrl.length() <= 0 || param == null || param.size() <= 0) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
StringBuffer queryString = new StringBuffer(); |
|
|
|
|
queryString.append(strUrl); |
|
|
|
|
for (Map.Entry<?, ?> pair : param.entrySet()) { |
|
|
|
|
queryString.append(pair.getKey() + "="); |
|
|
|
|
// 第一种方式使用的 jdk 自带的转码方式 第二种方式使用的 spring 的转码方法 两种均可
|
|
|
|
|
queryString.append(URLEncoder.encode((String) pair.getValue(), "UTF-8").replace("+", "%20") + "&"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (queryString.length() > 0) { |
|
|
|
|
queryString.deleteCharAt(queryString.length() - 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
URL url = new URL(queryString.toString()); |
|
|
|
|
URLConnection httpConnection = url.openConnection(); |
|
|
|
|
httpConnection.connect(); |
|
|
|
|
|
|
|
|
|
InputStreamReader isr = new InputStreamReader(httpConnection.getInputStream()); |
|
|
|
|
BufferedReader reader = new BufferedReader(isr); |
|
|
|
|
StringBuffer buffer = new StringBuffer(); |
|
|
|
|
String line; |
|
|
|
|
while ((line = reader.readLine()) != null) { |
|
|
|
|
buffer.append(line); |
|
|
|
|
} |
|
|
|
|
reader.close(); |
|
|
|
|
isr.close(); |
|
|
|
|
// System.out.println("AK: " + buffer.toString());
|
|
|
|
|
return buffer.toString(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|