Commit 745219d3 authored by yajun.zhang's avatar yajun.zhang

优化程序

parent 611f44b9
...@@ -29,8 +29,9 @@ public class ThirdWorkOrderRest { ...@@ -29,8 +29,9 @@ public class ThirdWorkOrderRest {
return thirdWorkOrderService.queryWorkOrder(param); return thirdWorkOrderService.queryWorkOrder(param);
} }
@PostMapping("/export") @PostMapping("/export")
public JsonResult export(@RequestBody WorkOrderParam param,@RequestHeader("account") String account) { public JsonResult export(@RequestBody WorkOrderParam param,@RequestHeader("account") String account,
return thirdWorkOrderService.export(param,account); @RequestHeader("qg-tenant-id") Integer tenantId) {
return thirdWorkOrderService.export(param,account,tenantId);
} }
......
...@@ -17,6 +17,6 @@ import java.util.Map; ...@@ -17,6 +17,6 @@ import java.util.Map;
public interface IKdspService { public interface IKdspService {
JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(List<String> orderNos); JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(List<String> orderNos,Integer tenantId);
} }
...@@ -17,5 +17,5 @@ public interface IThirdWorkOrderService { ...@@ -17,5 +17,5 @@ public interface IThirdWorkOrderService {
JsonResult<Map<String,Object>> queryWorkOrder(WorkOrderParam param); JsonResult<Map<String,Object>> queryWorkOrder(WorkOrderParam param);
JsonResult export(WorkOrderParam param,String account); JsonResult export(WorkOrderParam param,String account,Integer tenantId);
} }
...@@ -7,7 +7,9 @@ import cn.quantgroup.customer.rest.vo.JsonResult; ...@@ -7,7 +7,9 @@ import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderExportVo; import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderExportVo;
import cn.quantgroup.customer.service.IKdspService; import cn.quantgroup.customer.service.IKdspService;
import cn.quantgroup.customer.service.http.IHttpService; import cn.quantgroup.customer.service.http.IHttpService;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -22,7 +24,7 @@ import org.springframework.stereotype.Service; ...@@ -22,7 +24,7 @@ import org.springframework.stereotype.Service;
public class KdspServiceImpl implements IKdspService { public class KdspServiceImpl implements IKdspService {
// @Value("${kdsp.operation.http}") @Value("${kdsp-operation}")
private String kdspOperationUrl; private String kdspOperationUrl;
@Autowired @Autowired
...@@ -30,12 +32,14 @@ public class KdspServiceImpl implements IKdspService { ...@@ -30,12 +32,14 @@ public class KdspServiceImpl implements IKdspService {
@Override @Override
public JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder( public JsonResult<List<ThirdWorkOrderExportVo>> getOrderDetailForWorkOder(
List<String> orderNos) { List<String> orderNos,Integer tenantId) {
String url = "http://kdsp-operation-yxm.liangkebang.net/api/kdsp/op/order/getOrderDetailForWorkOder"; String url = kdspOperationUrl+"/api/kdsp/op/order/getOrderDetailForWorkOder";
JsonResult<List<ThirdWorkOrderExportVo>> jsonResult = null; JsonResult<List<ThirdWorkOrderExportVo>> jsonResult = null;
try { try {
String result = httpService.postJson(url, orderNos); Map<String,String> header = new HashMap<>();
header.put("qg-tenant-id",tenantId.toString());
String result = httpService.post(url, header,orderNos);
jsonResult = GSON.fromJson(result, JsonResult.class); jsonResult = GSON.fromJson(result, JsonResult.class);
log.info("工单查询订单详情返回值:{}", result); log.info("工单查询订单详情返回值:{}", result);
} catch (Exception ex) { } catch (Exception ex) {
......
...@@ -27,6 +27,8 @@ import java.util.Iterator; ...@@ -27,6 +27,8 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -72,7 +74,10 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -72,7 +74,10 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
@Value("${customer.transaction.mail.from}") @Value("${customer.transaction.mail.from}")
private String from; private String from;
private static int pageSize = 500;
ExecutorService executorService = Executors.newFixedThreadPool(2);
private static int pageSize = 10;
@Override @Override
public JsonResult<Map<String, Object>> queryWorkOrder(WorkOrderParam param) { public JsonResult<Map<String, Object>> queryWorkOrder(WorkOrderParam param) {
long offset = (param.getPageNo() - 1) * param.getPageSize(); long offset = (param.getPageNo() - 1) * param.getPageSize();
...@@ -216,8 +221,15 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -216,8 +221,15 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
} }
@Override @Override
public JsonResult export(WorkOrderParam param,String account) { public JsonResult export(WorkOrderParam param,String account,Integer tenantId) {
executorService.execute(()->{
doExportBusiness(param,account,tenantId);
});
return JsonResult.buildSuccessResult("系统处理中,导出成功后将发送到您企业邮箱中","");
}
private void doExportBusiness(WorkOrderParam param,String account,Integer tenantId) {
try { try {
StringBuffer sql = new StringBuffer(); StringBuffer sql = new StringBuffer();
sql.append("SELECT lc.create_time,lc.id,lc.field14,lc.field51,lc.create_user createUser,assignee.assignee acceptUser," sql.append("SELECT lc.create_time,lc.id,lc.field14,lc.field51,lc.create_user createUser,assignee.assignee acceptUser,"
...@@ -269,18 +281,17 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -269,18 +281,17 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
Object countResult = countQuery.getSingleResult(); Object countResult = countQuery.getSingleResult();
int count = Integer.parseInt(countResult.toString()); int count = Integer.parseInt(countResult.toString());
if (count == 0){ if (count == 0){
// return ; return;
} }
int pageNo = (count + pageSize - 1) / pageSize; int pageNo = (count + pageSize - 1) / pageSize;
List<ThirdWorkOrderExportVo> exportVos = new ArrayList<>(); List<ThirdWorkOrderExportVo> exportVos = new ArrayList<>();
List<ThirdWorkOrderExportVo> dbData = new ArrayList<>(); List<ThirdWorkOrderExportVo> dbData = new ArrayList<>();
List<ThirdWorkOrderExportVo> kdspResult = new ArrayList<>(); List<ThirdWorkOrderExportVo> kdspResult = new ArrayList<>();
for (int i = 1;i <= pageNo;i++){ for (int i = 1;i <= pageNo;i++){
List<String> orderNos = new ArrayList<>(); Set<String> orderNos = new HashSet<>();
long offset = (param.getPageNo() - 1) * param.getPageSize(); long offset = (param.getPageNo() - 1) * param.getPageSize();
String tempSql = sql.toString() + " limit "+offset+","+pageSize; String tempSql = sql.toString() + " limit "+offset+","+pageSize;
Query nativeQuery = entityManager.createNativeQuery(tempSql); Query nativeQuery = entityManager.createNativeQuery(tempSql);
...@@ -324,12 +335,11 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -324,12 +335,11 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
dbData.add(exportVo); dbData.add(exportVo);
} }
JsonResult<List<ThirdWorkOrderExportVo>> orderDetailForWorkOder = iKdspService.getOrderDetailForWorkOder( JsonResult<List<ThirdWorkOrderExportVo>> orderResult = iKdspService.getOrderDetailForWorkOder(new ArrayList<>(orderNos),tenantId);
orderNos); if (!orderResult.isSuccess()){
if (!orderDetailForWorkOder.isSuccess()){ log.error("工单导出查询订单信息失败:{}",orderResult.getMsg());
} }
List<ThirdWorkOrderExportVo> data = orderDetailForWorkOder.getData(); List<ThirdWorkOrderExportVo> data = orderResult.getData();
if (CollectionUtils.isNotEmpty(data)){ if (CollectionUtils.isNotEmpty(data)){
kdspResult.addAll(data); kdspResult.addAll(data);
} }
...@@ -375,11 +385,6 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -375,11 +385,6 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
} }
}catch (Exception ex){ }catch (Exception ex){
log.error("导出excel异常",ex); log.error("导出excel异常",ex);
}finally {
} }
return JsonResult.buildSuccessResult("查询成功","");
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment