初始化

This commit is contained in:
2022-08-24 09:32:54 +08:00
parent 0d349c559c
commit 8e4d517c40
800 changed files with 74927 additions and 20 deletions
@@ -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);
}
});
}
}