初始化
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
package com.arpa.hndahesudintocctmsdriver.report;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alct.mdp.MDPLocationCollectionManager;
|
||||
import com.alct.mdp.callback.OnDownloadResultListener;
|
||||
import com.alct.mdp.callback.OnResultListener;
|
||||
import com.alct.mdp.model.Identity;
|
||||
import com.arpa.hndahesudintocctmsdriver.parts.AuthParts;
|
||||
import com.google.gson.Gson;
|
||||
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
|
||||
import com.arpa.hndahesudintocctmsdriver.bean.FqBean;
|
||||
|
||||
/**
|
||||
* @author hlh
|
||||
* @version 1.0.0
|
||||
* @date 2021/8/16 10:35
|
||||
* @description:安联流程
|
||||
*/
|
||||
public class ALProcess {
|
||||
|
||||
//企业代码
|
||||
private static final String ENTERPRISE_CODE="E0019169";
|
||||
//企业app的身份码
|
||||
private static final String APP_IDENTITY="b4a472a025e443b383970cdd5465552e";
|
||||
//企业app验证码
|
||||
private static final String APP_KEY="b948efbb4c2a4ba0805c534f2fba0c89";
|
||||
|
||||
public static void verification(Context con){
|
||||
DriverAuthDataBean auth= AuthParts.getAuth(con);
|
||||
Identity idy=new Identity();
|
||||
//企业代码
|
||||
idy.setEnterpriseCode(ENTERPRISE_CODE);
|
||||
//企业app的身份码
|
||||
idy.setAppIdentity(APP_IDENTITY);
|
||||
//企业app验证码
|
||||
idy.setAppKey(APP_KEY);
|
||||
//司机身份证
|
||||
idy.setDriverIdentity(auth.getData().getIdcard());
|
||||
//idy.setDriverIdentity("410725198311042012");
|
||||
MDPLocationCollectionManager.register(con, idy, new OnResultListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Log.e("--success--","验证成功");
|
||||
getFq(con);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(java.lang.String s, java.lang.String s1) {
|
||||
Log.e("--error--",s+s1+"");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void getFq(Context con){
|
||||
MDPLocationCollectionManager.getInvoices(con, 100, 1, new OnDownloadResultListener() {
|
||||
@Override
|
||||
public void onSuccess(Object o) {
|
||||
Log.e("--获取发票列表成功--",new Gson().toJson(o));
|
||||
try{
|
||||
FqBean fb=new Gson().fromJson(new Gson().toJson(o),FqBean.class);
|
||||
applyFq(con,fb);
|
||||
}catch (Exception e){
|
||||
Log.e("--失败--","数据解析失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("--获取发票列表失败--",s+s1+"");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public static void applyFq(Context con,FqBean fb){
|
||||
for (FqBean.Invoice driverInvoice : fb.getDriverInvoices()) {
|
||||
MDPLocationCollectionManager.confirmInvoice(con, ENTERPRISE_CODE, driverInvoice.getDriverInvoiceCode(), new OnResultListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
Log.e("--成功--","申请发票成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("--失败--","申请发票失败"+s+s1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void 检查NFC匹配结果(Context con, Handler hd,String shipmentCode, String nfcId){
|
||||
// @param context 上下文
|
||||
// @param shipmentCode 运单号
|
||||
// @param enterpriseCode 企业号
|
||||
// @param nfcId NFC id
|
||||
// @param listener 回调函数
|
||||
MDPLocationCollectionManager.checkNfc(con, shipmentCode,ENTERPRISE_CODE, nfcId, new OnResultListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,239 @@
|
||||
package com.arpa.hndahesudintocctmsdriver.report;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.amap.api.location.AMapLocationClient;
|
||||
import com.arpa.hndahesudintocctmsdriver.bean.JTT;
|
||||
import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
|
||||
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
|
||||
import com.arpa.hndahesudintocctmsdriver.service.JTTSendService;
|
||||
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
|
||||
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.hdgq.locationlib.LocationOpenApi;
|
||||
import com.hdgq.locationlib.entity.ShippingNoteInfo;
|
||||
import com.hdgq.locationlib.listener.OnResultListener;
|
||||
|
||||
import com.hdgq.locationlib.listener.OnSendResultListener;
|
||||
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author hlh
|
||||
* @version 1.0.0
|
||||
* @date 2021/12/10 9:38
|
||||
* @description:交通厅位置上传sdk
|
||||
*/
|
||||
public class JTTProcess {
|
||||
|
||||
private final static String APPID="com.arpa.hndahesudintocctmsdriver";
|
||||
private final static String APP_SECURITY="01e20fc6585a42738ac88a12321dc41bff473b4b20184aacbbcee7d7864359a6";
|
||||
private final static String CODE="41110447";
|
||||
private final static String ENVIRONMENT="release";
|
||||
|
||||
private static Gson gson=new Gson();
|
||||
|
||||
//初始化+获取授权
|
||||
public static void init(Application app){
|
||||
LocationOpenApi.init(app);
|
||||
//auth(app.getBaseContext());
|
||||
}
|
||||
|
||||
//获取授权
|
||||
public static void auth(Context con){
|
||||
String jttStr=SPUtil.getSP(con,"data","jtt");
|
||||
JTT jtt=gson.fromJson(jttStr,JTT.class);
|
||||
if(jtt.getData()==null){
|
||||
return;
|
||||
}
|
||||
LocationOpenApi.auth(con,APPID, StringUtil.isNull(jtt.getData().getTrafficCode(),APP_SECURITY),
|
||||
StringUtil.isNull(jtt.getData().getTrafficId(),CODE),
|
||||
ENVIRONMENT, new OnResultListener() {
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("交通厅-获取授权",s+s1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-获取授权",gson.toJson(list));
|
||||
if(list.size()>0){
|
||||
SPUtil.insSP(con,JTTConstant.JTT_DATA_NAME,JTTConstant.JTT_DATA_JTTORDER_KEY,gson.toJson(list.get(0)));
|
||||
Intent in=new Intent(con, JTTSendService.class);
|
||||
con.startService(in);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//开启定位-装货
|
||||
//shippingNoteInfos 为运单信息列表,考虑到一车多单的情况,本版SDK 一辆车运单数最大支持数为 10。
|
||||
public static void start(Context con,StartOrderBean sob,String remark){
|
||||
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
|
||||
ShippingNoteInfo sni=new ShippingNoteInfo();
|
||||
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
|
||||
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
|
||||
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
|
||||
sni.setSerialNumber("0000");
|
||||
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
|
||||
sni.setStartLongitude(Double.parseDouble(startWay.getLongitude()));
|
||||
sni.setStartLocationText(startWay.getAddress());
|
||||
sni.setStartCountrySubdivisionCode(sob.getData().getStartCountrySubdivisionCode());
|
||||
sni.setEndLatitude(Double.parseDouble(endWay.getLatitude()));
|
||||
sni.setEndLongitude(Double.parseDouble(endWay.getLongitude()));
|
||||
sni.setEndLocationText(endWay.getAddress());
|
||||
sni.setEndCountrySubdivisionCode(sob.getData().getEndCountrySubdivisionCode());
|
||||
snis[0]=sni;
|
||||
Log.e("起点代码",sob.getData().getStartCountrySubdivisionCode());
|
||||
Log.e("终点代码",sob.getData().getEndCountrySubdivisionCode());
|
||||
// AMapLocationClient.updatePrivacyShow(con,true,true);
|
||||
// AMapLocationClient.updatePrivacyAgree(con,true);
|
||||
LocationOpenApi.start(con, sob.getData().getCarNumber(), UserParts.getUser(con).getData().getRname(), remark,snis, new OnResultListener() {
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("交通厅-开启定位失败",s+s1+"");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-开启定位成功",gson.toJson(list));
|
||||
if(list.size()>0){
|
||||
SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME,JTTConstant.JTT_DATA_JTTORDER_KEY,gson.toJson(list.get(0)));
|
||||
Intent in=new Intent(con, JTTSendService.class);
|
||||
con.startService(in);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//发送定位
|
||||
//参数 ShippingNoteInfo 和 start 接口中的参数 ShippingNoteInfo 相
|
||||
//同,这里 shippingNoteInfo 信息只需传入运单号和分单号即可
|
||||
public static void send(Context con,StartOrderBean sob,String remark){
|
||||
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
|
||||
ShippingNoteInfo sni=new ShippingNoteInfo();
|
||||
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
|
||||
sni.setSerialNumber("0000");
|
||||
sni.setStartCountrySubdivisionCode(sob.getData().getStartCountrySubdivisionCode());
|
||||
sni.setEndCountrySubdivisionCode(sob.getData().getEndCountrySubdivisionCode());
|
||||
snis[0]=sni;
|
||||
LocationOpenApi.send(con,sob.getData().getCarNumber(), UserParts.getUser(con).getData().getRname(), remark,snis, new OnSendResultListener() {
|
||||
@Override
|
||||
public void onFailure(String s, String s1, List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-发送定位失败",s+s1+"");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-发送定位成功",gson.toJson(list));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//暂停定位
|
||||
//运单运输过程中,如果出现换驾驶员、换车或换手机的情况,则需驾驶员在原手机上操作,对运送运单列表执行暂停操作,
|
||||
//调用本接口将运单列表中所有运单标记为暂停状态,并结束本手机的运单定位。
|
||||
public static void pause(Context con,StartOrderBean sob,String remark){
|
||||
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
|
||||
ShippingNoteInfo sni=new ShippingNoteInfo();
|
||||
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
|
||||
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
|
||||
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
|
||||
sni.setSerialNumber("0000");
|
||||
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
|
||||
sni.setStartLongitude(Double.parseDouble(startWay.getLongitude()));
|
||||
sni.setStartLocationText(startWay.getAddress());
|
||||
sni.setStartCountrySubdivisionCode(sob.getData().getStartCountrySubdivisionCode());
|
||||
sni.setEndLatitude(Double.parseDouble(endWay.getLatitude()));
|
||||
sni.setEndLongitude(Double.parseDouble(endWay.getLongitude()));
|
||||
sni.setEndLocationText(endWay.getAddress());
|
||||
sni.setEndCountrySubdivisionCode(sob.getData().getEndCountrySubdivisionCode());
|
||||
snis[0]=sni;
|
||||
LocationOpenApi.pause(con,sob.getData().getCarNumber(), UserParts.getUser(con).getData().getRname(), remark,snis, new OnResultListener() {
|
||||
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("交通厅-暂停定位失败",s+s1+"");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-暂停定位成功",gson.toJson(list));
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//重启定位
|
||||
//对应 pause 接口,本接口的作用是对已暂停的运单列表执行重启定位操作
|
||||
public static void restart(Context con,StartOrderBean sob,String remark){
|
||||
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
|
||||
ShippingNoteInfo sni=new ShippingNoteInfo();
|
||||
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
|
||||
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
|
||||
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
|
||||
sni.setSerialNumber("0000");
|
||||
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
|
||||
sni.setStartLongitude(Double.parseDouble(startWay.getLongitude()));
|
||||
sni.setStartLocationText(startWay.getAddress());
|
||||
sni.setStartCountrySubdivisionCode(sob.getData().getStartCountrySubdivisionCode());
|
||||
sni.setEndLatitude(Double.parseDouble(endWay.getLatitude()));
|
||||
sni.setEndLongitude(Double.parseDouble(endWay.getLongitude()));
|
||||
sni.setEndLocationText(endWay.getAddress());
|
||||
sni.setEndCountrySubdivisionCode(sob.getData().getEndCountrySubdivisionCode());
|
||||
snis[0]=sni;
|
||||
LocationOpenApi.restart(con, sob.getData().getCarNumber(), UserParts.getUser(con).getData().getRname(), remark,snis, new OnResultListener() {
|
||||
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("交通厅-重启定位失败",s+s1+"");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-重启定位成功",gson.toJson(list));
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//结束定位-卸货
|
||||
public static void stop(Context con,StartOrderBean sob,String remark){
|
||||
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
|
||||
ShippingNoteInfo sni=new ShippingNoteInfo();
|
||||
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
|
||||
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
|
||||
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
|
||||
sni.setSerialNumber("0000");
|
||||
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
|
||||
sni.setStartLongitude(Double.parseDouble(startWay.getLongitude()));
|
||||
sni.setStartLocationText(startWay.getAddress());
|
||||
sni.setStartCountrySubdivisionCode(sob.getData().getStartCountrySubdivisionCode());
|
||||
sni.setEndLatitude(Double.parseDouble(endWay.getLatitude()));
|
||||
sni.setEndLongitude(Double.parseDouble(endWay.getLongitude()));
|
||||
sni.setEndLocationText(endWay.getAddress());
|
||||
sni.setEndCountrySubdivisionCode(sob.getData().getEndCountrySubdivisionCode());
|
||||
snis[0]=sni;
|
||||
//remark="[00]车辆损坏货物无法送达";
|
||||
//sob.getData().setCarNumber("豫PK2861");
|
||||
LocationOpenApi.stop(con, sob.getData().getCarNumber(),UserParts.getUser(con).getData().getRname(), remark,snis, new OnResultListener() {
|
||||
@Override
|
||||
public void onFailure(String s, String s1) {
|
||||
Log.e("交通厅-结束定位失败",s+s1+"");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ShippingNoteInfo> list) {
|
||||
Log.e("交通厅-结束定位成功",gson.toJson(list));
|
||||
Intent stopIntent = new Intent(con,JTTSendService.class);
|
||||
con.stopService(stopIntent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user