This commit is contained in:
linfso 2025-08-15 01:24:33 +08:00
parent f73e1de1e3
commit 7719bd6285
4 changed files with 106 additions and 2 deletions

View File

@ -60,6 +60,17 @@ public class EmisTmsMapTraceController extends BaseController
} }
} }
@GetMapping("/getLbsRecordListByBillCode")
public AjaxResult getLbsRecordListByBillCode(EmisTmsMapTrace emisTmsMapTrace)
{
EmisTmsMapTrace rst=emisTmsMapTraceService.getLbsRecordListByBillCode(emisTmsMapTrace.getBillCode());
if(rst!=null){
return AjaxResult.success("成功",rst);
}else{
return AjaxResult.success("成功",null);
}
}
/** /**
* 查询可视化物流轨迹列表 * 查询可视化物流轨迹列表
*/ */

View File

@ -10,6 +10,8 @@
package com.xdadan.erp.emis.domain; package com.xdadan.erp.emis.domain;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
@ -19,6 +21,8 @@ import com.xdadan.erp.common.core.domain.TreeEntity;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
import lombok.Data; import lombok.Data;
@ -49,8 +53,12 @@ public class EmisTmsMapTrace extends BaseEntity
/* 最后地点 */ /* 最后地点 */
private String lastLocationInfo; private String lastLocationInfo;
// 扩展 // 扩展
private String billCode; private String billCode;
private JSONArray lbsRecordList;
// device 跟踪 开始时间,结束时间
private Date startTraceDate;
private Date endTraceDate;
} }

View File

@ -27,6 +27,13 @@ public interface IEmisTmsMapTraceService
*/ */
public EmisTmsMapTrace selectEmisTmsMapTraceById(Long id); public EmisTmsMapTrace selectEmisTmsMapTraceById(Long id);
/**
* 获取lbs记录
* @param billCode
* @return
*/
public EmisTmsMapTrace getLbsRecordListByBillCode(String billCode);
/** /**
* 根据运单号获取设备号 * 根据运单号获取设备号

View File

@ -10,7 +10,18 @@
package com.xdadan.erp.emis.service.impl; package com.xdadan.erp.emis.service.impl;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.StringUtils;
import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.utils.HTTPHelperV3;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xdadan.erp.emis.domain.EmisTmsMapTrace; import com.xdadan.erp.emis.domain.EmisTmsMapTrace;
@ -24,7 +35,7 @@ import com.xdadan.erp.emis.service.IEmisTmsMapTraceService;
* @date 2025-08-13 04:50:50 * @date 2025-08-13 04:50:50
*/ */
@Service @Service
public class EmisTmsMapTraceServiceImpl implements IEmisTmsMapTraceService public class EmisTmsMapTraceServiceImpl extends EmisBaseService implements IEmisTmsMapTraceService
{ {
@Autowired @Autowired
private EmisTmsMapTraceMapper emisTmsMapTraceMapper; private EmisTmsMapTraceMapper emisTmsMapTraceMapper;
@ -46,13 +57,80 @@ public class EmisTmsMapTraceServiceImpl implements IEmisTmsMapTraceService
public EmisTmsMapTrace getDeviceNoByBillCode(String billCode) public EmisTmsMapTrace getDeviceNoByBillCode(String billCode)
{ {
EmisTmsMapTrace emisTmsMapTrace=emisTmsMapTraceMapper.selectEmisTmsMapTraceByBillCode(billCode); EmisTmsMapTrace emisTmsMapTrace=emisTmsMapTraceMapper.selectEmisTmsMapTraceByBillCode(billCode);
if(emisTmsMapTrace!=null){ if(emisTmsMapTrace!=null){
// 获取轨迹开始时间,获取轨迹结束时间
// List<Map> stepList=emisTmsScanRecordService.queryWaybillTraceInfo(mainNo,lang,false);
// EmisWaybill waybill=getWaybillByBillCode(billCode);
// if(waybill.)
return emisTmsMapTrace; return emisTmsMapTrace;
} }
return emisTmsMapTraceMapper.selectEmisTmsMapTraceFromSiteBatch(billCode); return emisTmsMapTraceMapper.selectEmisTmsMapTraceFromSiteBatch(billCode);
} }
@Override
public EmisTmsMapTrace getLbsRecordListByBillCode(String billCode)
{
EmisWaybill waybill=getWaybillByBillCode(billCode);
if(waybill==null){
return null;
}
EmisTmsMapTrace emisTmsMapTrace=emisTmsMapTraceMapper.selectEmisTmsMapTraceByBillCode(billCode);
if(emisTmsMapTrace==null){
emisTmsMapTrace=emisTmsMapTraceMapper.selectEmisTmsMapTraceFromSiteBatch(billCode);
}
if(emisTmsMapTrace!=null){
Date signDate=waybill.getSignDate();
if(signDate==null){
signDate=new Date();
}
JSONArray lbsRecordList = getLbsList(emisTmsMapTrace.getDeviceNo(),waybill.getSendDate(),signDate);
emisTmsMapTrace.setLbsRecordList(lbsRecordList);
}
return emisTmsMapTrace;
}
private static JSONArray getLbsList(String msisdn,Date startDate,Date endDate){
JSONArray lbsRecordList = new JSONArray();
String url="https://api.lbs.jtrs56.com/api/lbssvr/lbs/common/getLocationRecord?msisdn=" +msisdn
+"&params[beginCreateTime]="+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,startDate)
+"&params[endCreateTime]="+DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,endDate);
try {
String result= HTTPHelperV3.get(url);
if(!StringUtils.isEmpty(result)) {
JSONObject jobj = JSONObject.parseObject(result);
if ("200".equals(jobj.getString("code"))) {
JSONArray arrLbs=jobj.getJSONArray("rows");
for(Object item:arrLbs){
JSONObject oldItem=(JSONObject)item;
JSONObject newItem=new JSONObject();
newItem.put("address",oldItem.getOrDefault("address",null));
newItem.put("createTime",oldItem.getOrDefault("createTime",null));
newItem.put("latitude",oldItem.getOrDefault("latitude",null));
newItem.put("longitude",oldItem.getOrDefault("longitude",null));
lbsRecordList.add(newItem);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return lbsRecordList;
}
public static void main(String[] args) {
JSONArray lbsRecordList = getLbsList("13110244178",DateUtils.parseDate("2025-07-01"),DateUtils.parseDate("2025-09-01"));
System.out.println(JSON.toJSONString(lbsRecordList));
}
/** /**
* 查询可视化物流轨迹列表 * 查询可视化物流轨迹列表
* *