Commit b7bddad0 by 王宇航

首頁報表數據填充完成、登陸頁面edittext修改,添加logo,打印回調

parent bfeeddea
...@@ -14,7 +14,6 @@ import com.daivd.chart.listener.OnClickLegendListener; ...@@ -14,7 +14,6 @@ import com.daivd.chart.listener.OnClickLegendListener;
import com.daivd.chart.provider.component.point.ILegendPoint; import com.daivd.chart.provider.component.point.ILegendPoint;
import com.daivd.chart.provider.component.point.IPoint; import com.daivd.chart.provider.component.point.IPoint;
import com.daivd.chart.provider.component.point.LegendPoint; import com.daivd.chart.provider.component.point.LegendPoint;
import com.daivd.chart.provider.component.point.Point;
import java.util.List; import java.util.List;
......
...@@ -3,12 +3,11 @@ package com.daivd.chart.core.base; ...@@ -3,12 +3,11 @@ package com.daivd.chart.core.base;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Build;
import android.util.AttributeSet; import android.util.AttributeSet;
import com.daivd.chart.component.axis.HorizontalAxis; import com.daivd.chart.component.axis.HorizontalAxis;
import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.component.axis.VerticalAxis; import com.daivd.chart.component.axis.VerticalAxis;
import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.data.BarData; import com.daivd.chart.data.BarData;
import com.daivd.chart.provider.IProvider; import com.daivd.chart.provider.IProvider;
......
...@@ -5,28 +5,27 @@ import android.graphics.Canvas; ...@@ -5,28 +5,27 @@ import android.graphics.Canvas;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Build;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.animation.DecelerateInterpolator; import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator; import android.view.animation.Interpolator;
import com.daivd.chart.component.ChartTitle;
import com.daivd.chart.component.EmptyView;
import com.daivd.chart.component.Legend; import com.daivd.chart.component.Legend;
import com.daivd.chart.component.PicGeneration; import com.daivd.chart.component.PicGeneration;
import com.daivd.chart.component.base.IChartTitle; import com.daivd.chart.component.base.IChartTitle;
import com.daivd.chart.component.base.IEmpty;
import com.daivd.chart.component.base.ILegend; import com.daivd.chart.component.base.ILegend;
import com.daivd.chart.data.ChartData; import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ColumnData; import com.daivd.chart.data.ColumnData;
import com.daivd.chart.data.PicOption; import com.daivd.chart.data.PicOption;
import com.daivd.chart.data.ScaleData; import com.daivd.chart.data.ScaleData;
import com.daivd.chart.component.ChartTitle; import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.component.EmptyView;
import com.daivd.chart.component.base.IEmpty;
import com.daivd.chart.listener.OnChartChangeListener; import com.daivd.chart.listener.OnChartChangeListener;
import com.daivd.chart.listener.OnClickColumnListener; import com.daivd.chart.listener.OnClickColumnListener;
import com.daivd.chart.listener.OnClickLegendListener; import com.daivd.chart.listener.OnClickLegendListener;
import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.matrix.MatrixHelper; import com.daivd.chart.matrix.MatrixHelper;
import com.daivd.chart.provider.IProvider; import com.daivd.chart.provider.IProvider;
......
...@@ -2,7 +2,6 @@ package com.daivd.chart.core.base; ...@@ -2,7 +2,6 @@ package com.daivd.chart.core.base;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.os.Build;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
......
...@@ -2,7 +2,6 @@ package com.daivd.chart.data.style; ...@@ -2,7 +2,6 @@ package com.daivd.chart.data.style;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.PathEffect; import android.graphics.PathEffect;
...@@ -17,8 +16,8 @@ public class LineStyle implements IStyle { ...@@ -17,8 +16,8 @@ public class LineStyle implements IStyle {
private float width; private float width;
private int color; private int color;
private PathEffect effect = new PathEffect(); private PathEffect effect = new PathEffect();
private static float defaultLineSize = 2f; private static float defaultLineSize = 2f;
private static int defaultLineColor = Color.parseColor("#888888"); private static int defaultLineColor = Color.parseColor("#888888");
public LineStyle() { public LineStyle() {
} }
...@@ -27,42 +26,44 @@ public class LineStyle implements IStyle { ...@@ -27,42 +26,44 @@ public class LineStyle implements IStyle {
this.width = width; this.width = width;
this.color = color; this.color = color;
} }
public LineStyle(Context context,float dp, int color) {
this.width = DensityUtils.dp2px(context,dp); public LineStyle(Context context, float dp, int color) {
this.width = DensityUtils.dp2px(context, dp);
this.color = color; this.color = color;
} }
public static void setDefaultLineSize(float width){
public static void setDefaultLineSize(float width) {
defaultLineSize = width; defaultLineSize = width;
} }
public static void setDefaultLineSize(Context context,float dp){ public static void setDefaultLineSize(Context context, float dp) {
defaultLineSize = DensityUtils.dp2px(context,dp); defaultLineSize = DensityUtils.dp2px(context, dp);
} }
public static void setDefaultLineColor(int color){ public static void setDefaultLineColor(int color) {
defaultLineColor = color; defaultLineColor = color;
} }
public float getWidth() { public float getWidth() {
if(width == 0){ if (width == 0) {
return defaultLineSize; return defaultLineSize;
} }
return width; return width;
} }
public LineStyle setWidth(float width) { public LineStyle setWidth(float width) {
this.width = width; this.width = width;
return this; return this;
} }
public LineStyle setWidth(Context context,int dp) {
this.width = DensityUtils.dp2px(context,dp); public LineStyle setWidth(Context context, int dp) {
this.width = DensityUtils.dp2px(context, dp);
return this; return this;
} }
public int getColor() { public int getColor() {
if(color == 0){ if (color == 0) {
return defaultLineColor; return defaultLineColor;
} }
return color; return color;
...@@ -79,8 +80,9 @@ public class LineStyle implements IStyle { ...@@ -79,8 +80,9 @@ public class LineStyle implements IStyle {
return this; return this;
} }
@Override @Override
public void fillPaint(Paint paint){ public void fillPaint(Paint paint) {
paint.setColor(getColor()); paint.setColor(getColor());
paint.setStyle(Paint.Style.STROKE); paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(getWidth()); paint.setStrokeWidth(getWidth());
......
...@@ -5,7 +5,6 @@ import android.animation.ValueAnimator; ...@@ -5,7 +5,6 @@ import android.animation.ValueAnimator;
import android.content.Context; import android.content.Context;
import android.graphics.Point; import android.graphics.Point;
import android.graphics.Rect; import android.graphics.Rect;
import android.util.Log;
import android.view.GestureDetector; import android.view.GestureDetector;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.ScaleGestureDetector; import android.view.ScaleGestureDetector;
...@@ -15,8 +14,8 @@ import android.view.animation.DecelerateInterpolator; ...@@ -15,8 +14,8 @@ import android.view.animation.DecelerateInterpolator;
import android.widget.Scroller; import android.widget.Scroller;
import com.daivd.chart.core.base.BaseChart; import com.daivd.chart.core.base.BaseChart;
import com.daivd.chart.listener.Observable;
import com.daivd.chart.listener.ChartGestureObserver; import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.listener.Observable;
import com.daivd.chart.listener.OnChartChangeListener; import com.daivd.chart.listener.OnChartChangeListener;
import java.util.List; import java.util.List;
......
...@@ -12,10 +12,9 @@ import android.view.animation.Interpolator; ...@@ -12,10 +12,9 @@ import android.view.animation.Interpolator;
import com.daivd.chart.core.base.BaseChart; import com.daivd.chart.core.base.BaseChart;
import com.daivd.chart.data.ChartData; import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ColumnData; import com.daivd.chart.data.ColumnData;
import com.daivd.chart.data.style.FontStyle;
import com.daivd.chart.listener.OnClickColumnListener; import com.daivd.chart.listener.OnClickColumnListener;
import com.daivd.chart.provider.component.mark.IMark;
import com.daivd.chart.matrix.MatrixHelper; import com.daivd.chart.matrix.MatrixHelper;
import com.daivd.chart.provider.component.mark.IMark;
import com.daivd.chart.provider.component.text.IText; import com.daivd.chart.provider.component.text.IText;
/** /**
......
...@@ -5,16 +5,13 @@ import android.graphics.Paint; ...@@ -5,16 +5,13 @@ import android.graphics.Paint;
import android.graphics.Rect; import android.graphics.Rect;
import com.daivd.chart.component.base.IAxis; import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.provider.component.cross.ICross;
import com.daivd.chart.provider.component.grid.IGrid;
import com.daivd.chart.provider.component.level.ILevel;
import com.daivd.chart.provider.component.level.LevelLine;
import com.daivd.chart.data.BarData; import com.daivd.chart.data.BarData;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ScaleData; import com.daivd.chart.data.ScaleData;
import com.daivd.chart.exception.ChartException; import com.daivd.chart.exception.ChartException;
import com.daivd.chart.provider.BaseProvider; import com.daivd.chart.provider.BaseProvider;
import com.daivd.chart.provider.component.path.IPath; import com.daivd.chart.provider.component.cross.ICross;
import com.daivd.chart.provider.component.level.ILevel;
import com.daivd.chart.provider.component.tip.ITip; import com.daivd.chart.provider.component.tip.ITip;
import java.util.ArrayList; import java.util.ArrayList;
......
...@@ -5,6 +5,7 @@ import android.graphics.Paint; ...@@ -5,6 +5,7 @@ import android.graphics.Paint;
import android.graphics.Path; import android.graphics.Path;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.Rect; import android.graphics.Rect;
import android.util.Log;
import com.daivd.chart.data.LineData; import com.daivd.chart.data.LineData;
import com.daivd.chart.data.style.LineStyle; import com.daivd.chart.data.style.LineStyle;
...@@ -32,7 +33,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> { ...@@ -32,7 +33,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
private int rowSize; private int rowSize;
private boolean isArea; //是否打开面积图 private boolean isArea; //是否打开面积图
private boolean isDrawLine = true; private boolean isDrawLine = true;
private int filterPointTextCount = 30; //最多显示30个点文字 private int filterPointTextCount = 7; //最多显示30个点文字
private ILineModel lineModel = new BrokenLineModel(); private ILineModel lineModel = new BrokenLineModel();
private IPath path; private IPath path;
private int perWidth; private int perWidth;
...@@ -81,7 +82,6 @@ public class LineProvider extends BaseBarLineProvider<LineData> { ...@@ -81,7 +82,6 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
drawTip(canvas, pointX, pointY, lineData); drawTip(canvas, pointX, pointY, lineData);
canvas.restore(); canvas.restore();
drawPoint(canvas, pointX, pointY, lineData, paint); drawPoint(canvas, pointX, pointY, lineData, paint);
} }
drawLevelLine(canvas, zoomRect, paint); drawLevelLine(canvas, zoomRect, paint);
drawClickCross(canvas, rect, zoomRect, paint); drawClickCross(canvas, rect, zoomRect, paint);
...@@ -95,6 +95,14 @@ public class LineProvider extends BaseBarLineProvider<LineData> { ...@@ -95,6 +95,14 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
if (isDrawLine) { if (isDrawLine) {
ILineModel model = lineData.getLineModel(); ILineModel model = lineData.getLineModel();
model = model == null ? lineModel : model; model = model == null ? lineModel : model;
for (int i = 0; i < pointY.size(); i++) {
Log.e("bbb", "前值:" + pointY.get(i));
pointY.set(i, pointY.get(i) - style.getWidth() / 2);
Log.e("bbb", "後值:" + pointY.get(i));
}
for (int i = 0; i < pointX.size(); i++) {
pointX.set(i, pointX.get(i) + style.getWidth() / 2);
}
Path path = model.getLinePath(pointX, pointY); Path path = model.getLinePath(pointX, pointY);
if (isArea) { if (isArea) {
paint.setStyle(Paint.Style.FILL); paint.setStyle(Paint.Style.FILL);
...@@ -160,7 +168,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> { ...@@ -160,7 +168,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
double value; double value;
if (minPositionX < lineData.getChartYDataList().size()) { if (minPositionX < lineData.getChartYDataList().size()) {
value = lineData.getChartYDataList().get(minPositionX); value = lineData.getChartYDataList().get(minPositionX);
} else{ } else {
break; break;
} }
float startY = getStartY(zoomRect, value, lineData.getDirection()); float startY = getStartY(zoomRect, value, lineData.getDirection());
......
package com.gingersoft.gsa.cloud.main.mvp.contract; package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.jess.arms.mvp.IView; import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import java.util.Map; import java.util.Map;
import io.reactivex.Observable; import io.reactivex.Observable;
...@@ -26,10 +28,14 @@ public interface MainTopContract { ...@@ -26,10 +28,14 @@ public interface MainTopContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息 //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView { interface View extends IView {
void loadBusinessInfo(Map<String, HomeTurnoverBean.DataBean> dataBeanMap); void loadBusinessInfo(Map<String, HomeTurnoverBean.DataBean> dataBeanMap);
void loadChart(List<MainOrderInfoChartBean.DataBean> dataBeans);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel { interface Model extends IModel {
Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody); Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody);
Observable<MainOrderInfoChartBean> getOrderInfoChart(RequestBody requestBody);
} }
} }
...@@ -2,18 +2,17 @@ package com.gingersoft.gsa.cloud.main.mvp.model; ...@@ -2,18 +2,17 @@ package com.gingersoft.gsa.cloud.main.mvp.model;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.gingersoft.gsa.cloud.main.mvp.model.service.HomeService; import com.gingersoft.gsa.cloud.main.mvp.model.service.HomeService;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.integration.IRepositoryManager; import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel; import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject; import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import io.reactivex.Observable; import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody; import okhttp3.RequestBody;
...@@ -52,8 +51,15 @@ public class MainTopModel extends BaseModel implements MainTopContract.Model { ...@@ -52,8 +51,15 @@ public class MainTopModel extends BaseModel implements MainTopContract.Model {
@Override @Override
public Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody) { public Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody) {
RetrofitUrlManager.getInstance().putDomain("common", "https://m.ricepon.com/member-web/api/"); RetrofitUrlManager.getInstance().putDomain("common", "http://a.ricepon.com:61177/member-web/api/");
return mRepositoryManager.obtainRetrofitService(HomeService.class) return mRepositoryManager.obtainRetrofitService(HomeService.class)
.getRestaurantReport(requestBody); .getRestaurantReport(requestBody);
} }
@Override
public Observable<MainOrderInfoChartBean> getOrderInfoChart(RequestBody requestBody) {
RetrofitUrlManager.getInstance().putDomain("common", "http://a.ricepon.com:61177/member-web/api/");
return mRepositoryManager.obtainRetrofitService(HomeService.class)
.getOrderInfoChart(requestBody);
}
} }
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import java.util.List;
/**
* Created by Wyh on 2020/2/26.
*/
public class MainOrderInfoChartBean {
/**
* success : true
* sysTime : 1582688486497
* data : [{"date":"2020-02-25","items":[{"person":"0","amount":249.3,"hours":"11","count":5,"date":"2020-02-25"},{"person":"0","amount":2.2,"hours":"12","count":1,"date":"2020-02-25"},{"person":"2","amount":630,"hours":"13","count":8,"date":"2020-02-25"},{"person":"12","amount":600.4,"hours":"14","count":10,"date":"2020-02-25"},{"person":"11","amount":1,"hours":"18","count":2,"date":"2020-02-25"},{"person":"0","amount":2.1,"hours":"19","count":1,"date":"2020-02-25"},{"person":"0","amount":232.28,"hours":"20","count":2,"date":"2020-02-25"}]},{"date":"2020-02-26","items":[{"person":"6","amount":1949,"hours":"10","count":3,"date":"2020-02-26"},{"person":"1","amount":1,"hours":"11","count":1,"date":"2020-02-26"}]}]
*/
private boolean success;
private long sysTime;
private List<DataBean> data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public long getSysTime() {
return sysTime;
}
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* date : 2020-02-25
* items : [{"person":"0","amount":249.3,"hours":"11","count":5,"date":"2020-02-25"},{"person":"0","amount":2.2,"hours":"12","count":1,"date":"2020-02-25"},{"person":"2","amount":630,"hours":"13","count":8,"date":"2020-02-25"},{"person":"12","amount":600.4,"hours":"14","count":10,"date":"2020-02-25"},{"person":"11","amount":1,"hours":"18","count":2,"date":"2020-02-25"},{"person":"0","amount":2.1,"hours":"19","count":1,"date":"2020-02-25"},{"person":"0","amount":232.28,"hours":"20","count":2,"date":"2020-02-25"}]
*/
private String date;
private List<ItemsBean> items;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public List<ItemsBean> getItems() {
return items;
}
public void setItems(List<ItemsBean> items) {
this.items = items;
}
public static class ItemsBean {
/**
* person : 0
* amount : 249.3
* hours : 11
* count : 5
* date : 2020-02-25
*/
private String person;
private double amount;
private String hours;
private int count;
private String date;
public String getPerson() {
return person;
}
public void setPerson(String person) {
this.person = person;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public String getHours() {
return hours;
}
public void setHours(String hours) {
this.hours = hours;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
}
}
package com.gingersoft.gsa.cloud.main.mvp.model.service; package com.gingersoft.gsa.cloud.main.mvp.model.service;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import io.reactivex.Observable; import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
...@@ -9,7 +10,6 @@ import retrofit2.http.Body; ...@@ -9,7 +10,6 @@ import retrofit2.http.Body;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Query; import retrofit2.http.Query;
import retrofit2.http.QueryName;
/** /**
* Created by Wyh on 2020/1/10. * Created by Wyh on 2020/1/10.
...@@ -20,6 +20,10 @@ public interface HomeService { ...@@ -20,6 +20,10 @@ public interface HomeService {
@POST("wx/doBusiness" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("wx/doBusiness" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<HomeTurnoverBean> getRestaurantReport(@Body RequestBody requestBody); Observable<HomeTurnoverBean> getRestaurantReport(@Body RequestBody requestBody);
@POST("wx/findOrderInfoChart" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<MainOrderInfoChartBean> getOrderInfoChart(@Body RequestBody requestBody);
@GET("user/resource/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET("user/resource/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<String> getRestaurantFunList(@Query("restaurantId") String restaurantId); Observable<String> getRestaurantFunList(@Query("restaurantId") String restaurantId);
} }
...@@ -6,6 +6,7 @@ import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans; ...@@ -6,6 +6,7 @@ import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract; import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.jess.arms.di.scope.FragmentScope; import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -67,7 +68,6 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT ...@@ -67,7 +68,6 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
.add("startTime", TimeUtils.getYesterdayTime(TimeUtils.DATE_FORMAT_DATE)) .add("startTime", TimeUtils.getYesterdayTime(TimeUtils.DATE_FORMAT_DATE))
.add("endTime", TimeUtils.getCurrentTimeInString(TimeUtils.DATE_FORMAT_DATE)) .add("endTime", TimeUtils.getCurrentTimeInString(TimeUtils.DATE_FORMAT_DATE))
.build(); .build();
mModel.getRestaurantReport(requestBody) mModel.getRestaurantReport(requestBody)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading("")) .doOnSubscribe(disposable -> mRootView.showLoading(""))
...@@ -84,7 +84,7 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT ...@@ -84,7 +84,7 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
mRootView.loadBusinessInfo(info.getData()); mRootView.loadBusinessInfo(info.getData());
} }
} else { } else {
mRootView.showMessage("營業報表獲取失敗"); mRootView.showMessage("營業信息獲取失敗");
} }
} }
...@@ -102,6 +102,36 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT ...@@ -102,6 +102,36 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
}); });
} }
//http://a.ricepon.com:61177/member-web/api/wx/findOrderInfoChart 獲取消費曲線圖 public void getOrderInfoChart(){
//{"success":true,"sysTime":1582375800036,"data":[{"date":"2020-02-22","items":[{"person":"0","amount":0.0,"hours":"12","count":1,"date":"2020-02-22"},{"person":"0","amount":42.2,"hours":"14","count":3,"date":"2020-02-22"},{"person":"0","amount":21.1,"hours":"15","count":3,"date":"2020-02-22"},{"person":"0","amount":136.0,"hours":"17","count":3,"date":"2020-02-22"},{"person":"0","amount":58.0,"hours":"18","count":1,"date":"2020-02-22"}]}]} RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", "26")
.build();
mModel.getOrderInfoChart(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(""))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<MainOrderInfoChartBean>(mErrorHandler) {
@Override
public void onNext(@NonNull MainOrderInfoChartBean info) {
if (info != null && info.isSuccess()) {
mRootView.loadChart(info.getData());
}
}
@Override
public void onComplete() {
super.onComplete();
RetrofitUrlManager.getInstance().putDomain("common", HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL);
}
@Override
public void onError(Throwable t) {
super.onError(t);
RetrofitUrlManager.getInstance().putDomain("common", HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL);
}
});
}
} }
package com.gingersoft.gsa.cloud.main.mvp.presenter; package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.content.Intent;
import com.billy.cc.core.component.CC; import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull; import io.reactivex.annotations.NonNull;
...@@ -17,14 +17,8 @@ import io.reactivex.schedulers.Schedulers; ...@@ -17,14 +17,8 @@ import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody; import okhttp3.FormBody;
import okhttp3.Request;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.jess.arms.utils.RxLifecycleUtils;
/** /**
* ================================================ * ================================================
......
...@@ -5,6 +5,7 @@ import android.content.res.Resources; ...@@ -5,6 +5,7 @@ import android.content.res.Resources;
import android.graphics.DashPathEffect; import android.graphics.DashPathEffect;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.util.SparseArray;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -30,6 +31,7 @@ import com.gingersoft.gsa.cloud.main.R2; ...@@ -30,6 +31,7 @@ import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerMainTopComponent; import com.gingersoft.gsa.cloud.main.di.component.DaggerMainTopComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract; import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean; import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.gingersoft.gsa.cloud.main.mvp.presenter.MainTopPresenter; import com.gingersoft.gsa.cloud.main.mvp.presenter.MainTopPresenter;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.ReportActivity; import com.gingersoft.gsa.cloud.main.mvp.ui.activity.ReportActivity;
import com.jess.arms.base.BaseFragment; import com.jess.arms.base.BaseFragment;
...@@ -116,138 +118,14 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M ...@@ -116,138 +118,14 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main_top, container, false); View view = inflater.inflate(R.layout.fragment_main_top, container, false);
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
// ShadowUtil.setShadowDrawable(view.findViewById(R.id.cv_white_bg), Color.parseColor("#FFFFFF"), dpToPx(5),
// Color.parseColor("#73888888"), dpToPx(5), 0, 2);
// ShadowUtil.setShadowDrawable(view.findViewById(R.id.layout_info), Color.parseColor("#FFFFFF"), dpToPx(5),
// Color.parseColor("#73888888"), dpToPx(5), 0, 2);
return view; return view;
} }
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId(mContext) + "");//GsaCloudApplication.getRestaurantId(mContext) 獲取餐廳營業信息 mPresenter.getRestaurantReport(GsaCloudApplication.getRestaurantId(mContext) + "");//GsaCloudApplication.getRestaurantId(mContext) 獲取餐廳營業信息
mPresenter.getOrderInfoChart();
time.setText(TimeUtils.getCurrentTimeInString(new SimpleDateFormat("yyyy-MM-dd E"))); time.setText(TimeUtils.getCurrentTimeInString(new SimpleDateFormat("yyyy-MM-dd E")));
loadReport();//加載報表線形圖
}
private void loadReport() {
Resources res = getResources();
FontStyle.setDefaultTextSpSize(mContext, 12);
List<String> chartYDataList = new ArrayList<>();
chartYDataList.add("00:00");
chartYDataList.add("04:00");
chartYDataList.add("08:00");
chartYDataList.add("12:00");
chartYDataList.add("16:00");
chartYDataList.add("20:00");
chartYDataList.add("24:00");
List<LineData> ColumnDatas = new ArrayList<>();
//第一條線
ArrayList<Double> tempList1 = new ArrayList<>();
tempList1.add(1880d);
tempList1.add(1920d);
tempList1.add(4920d);
tempList1.add(2930d);
tempList1.add(4950d);
tempList1.add(2340d);
final LineData columnData1 = new LineData("今日", "", getResources().getColor(R.color.theme_color), tempList1);
columnData1.setLineStyle(new LineStyle(mContext, 5, getResources().getColor(R.color.theme_color)));
//第二條線
ArrayList<Double> humidityList = new ArrayList<>();
humidityList.add(1790d);
humidityList.add(2450d);
humidityList.add(6430d);
humidityList.add(2360d);
humidityList.add(17900d);
humidityList.add(3460d);
humidityList.add(2410d);
humidityList.add(4640d);
LineData columnData2 = new LineData("昨日", "", getResources().getColor(R.color.today_line), humidityList);
columnData2.setLineStyle(new LineStyle(mContext, 5, getResources().getColor(R.color.today_line)));
ColumnDatas.add(columnData2);
ColumnDatas.add(columnData1);
ChartData<LineData> chartData2 = new ChartData<>("Line chart", chartYDataList, ColumnDatas);
//設置曲線圖樣式
lineChart.setLineModel(LineChart.CURVE_MODEL);
//獲取左側垂直軸線
VerticalAxis verticalAxis = lineChart.getLeftVerticalAxis();
//獲取橫向軸線
HorizontalAxis horizontalAxis = lineChart.getHorizontalAxis();
//右側軸線
VerticalAxis rightAxis = lineChart.getRightVerticalAxis();
//設置右側軸線不顯示
rightAxis.setDisplay(false);
//设置竖轴方向在左側
verticalAxis.setAxisDirection(IAxis.AxisDirection.LEFT);
verticalAxis.setStartZero(true);
verticalAxis.setMaxValue(18000);
//设置网格
verticalAxis.setDrawGrid(true);
//设置横轴方向
horizontalAxis.setAxisDirection(IAxis.AxisDirection.BOTTOM);
//不顯示網格
horizontalAxis.setDrawGrid(false);
horizontalAxis.getAxisStyle().setWidth(mContext, 1).setColor(res.getColor(R.color.theme_color));
//设置线条样式
verticalAxis.getAxisStyle().setWidth(mContext, 1).setColor(res.getColor(R.color.theme_color));
//設置網格虛線樣式
DashPathEffect effects = new DashPathEffect(new float[]{1, 2, 4, 8}, 1);
verticalAxis.setGridStyle(new LineStyle(0.5f, res.getColor(R.color.report_dotted_line_color)));
verticalAxis.getGridStyle().setEffect(effects);
FontStyle scaleStyle = new FontStyle(mContext, 9, res.getColor(R.color.report_left_scale));
scaleStyle.setScalePadding(30);
horizontalAxis.setScaleStyle(scaleStyle);
verticalAxis.setScaleStyle(scaleStyle);
lineChart.setZoom(false);
//开启十字架
lineChart.getProvider().setOpenCross(true);
//开启MarkView
// lineChart.getProvider().setOpenMark(true);
//设置MarkView
// lineChart.getProvider().setMarkView(new CustomMarkView(mContext));
//设置显示点
Point point = new Point();
point.getPointStyle().setShape(PointStyle.CIRCLE);
//设置显示点的样式
lineChart.getProvider().setPoint(point);
//设置显示标题
lineChart.setShowChartName(false);
//底部不顯示顏色代表的意思
lineChart.getLegend().setDisplay(false);
lineChart.getMatrixHelper().setWidthMultiple(0.9f);
lineChart.getHorizontalAxis().setRotateAngle(0);//設置底部文字旋轉角度
lineChart.setFirstAnim(false);
lineChart.setChartData(chartData2);
lineChart.setOnClickColumnListener((lineData, pos) -> {
// Paint paint = new Paint();
// paint.setAntiAlias(true);
// paint.setTextSize(DensityUtils.sp2px(mContext, 13));
// paint.setStyle(Paint.Style.FILL);
// paint.setColor(Color.WHITE);
// MultiLineBubbleTip tip = new MultiLineBubbleTip<LineData>(mContext,
// R.mipmap.round_rect, R.mipmap.triangle, paint) {
// @Override
// public boolean isShowTip(LineData lineData, int position) {
// return position == pos;
// }
//
// @Override
// public String[] format(LineData lineData, int position) {
// String title = lineData.getName();
// String value = lineData.getChartYDataList().get(position) + lineData.getUnit();
// return new String[]{title, value};
// }
// };
// tip.setColorFilter(Color.parseColor("#FA8072"));
// tip.setAlpha(0.8f);
// lineChart.getProvider().setTip(tip);
// lineChart.invalidate();
});
} }
/** /**
...@@ -305,7 +183,6 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M ...@@ -305,7 +183,6 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
@Override @Override
public void showMessage(@NonNull String message) { public void showMessage(@NonNull String message) {
checkNotNull(message); checkNotNull(message);
// ArmsUtils.snackbarText(message);
ToastUtils.show(mContext, message); ToastUtils.show(mContext, message);
} }
...@@ -359,6 +236,147 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M ...@@ -359,6 +236,147 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
} }
} }
@Override
public void loadChart(List<MainOrderInfoChartBean.DataBean> dataBeans) {
Resources res = getResources();
FontStyle.setDefaultTextSpSize(mContext, 12);
//存儲今天的線條數據
SparseArray<MainOrderInfoChartBean.DataBean.ItemsBean> dataBeanMap = new SparseArray<>();
SparseArray<MainOrderInfoChartBean.DataBean.ItemsBean> yesterdayArrays = new SparseArray<>();
for (int i = 0; i < dataBeans.size(); i++) {
if (dataBeans.get(i).getDate().equals(TimeUtils.getCurrentTimeInString(TimeUtils.DATE_FORMAT_DATE))) {
//獲得今天的線條數據
for (MainOrderInfoChartBean.DataBean.ItemsBean itemsBean : dataBeans.get(i).getItems()) {
dataBeanMap.put(Integer.parseInt(itemsBean.getHours()), itemsBean);
}
}
if (dataBeans.get(i).getDate().equals(TimeUtils.getOldDate(-1))) {
//獲得前一天的線條數據
for (MainOrderInfoChartBean.DataBean.ItemsBean itemsBean : dataBeans.get(i).getItems()) {
yesterdayArrays.put(Integer.parseInt(itemsBean.getHours()), itemsBean);
}
}
}
List<LineData> ColumnDatas = new ArrayList<>();
//第一條線
ArrayList<Double> tempList1 = new ArrayList<>();
final LineData columnData1 = new LineData("今日", "", getResources().getColor(R.color.theme_color), tempList1);
columnData1.setLineStyle(new LineStyle(mContext, 5, getResources().getColor(R.color.theme_color)));
//第二條線
ArrayList<Double> humidityList = new ArrayList<>();
LineData columnData2 = new LineData("昨日", "", getResources().getColor(R.color.today_line), humidityList);
columnData2.setLineStyle(new LineStyle(mContext, 5, getResources().getColor(R.color.today_line)));
//X軸數據,固定不變
List<String> chartYDataList = new ArrayList<>();
for (int i = 0; i < 24; i++) {
if (i < 10) {
chartYDataList.add("0" + i + ":00");
} else {
chartYDataList.add(i + ":00");
}
//添加今天的數據
if (dataBeanMap.get(i) != null) {
tempList1.add(dataBeanMap.get(i).getAmount());
} else {
tempList1.add(0d);
}
//添加昨天的數據
if (yesterdayArrays.get(i) != null) {
humidityList.add(yesterdayArrays.get(i).getAmount());
} else {
humidityList.add(0d);
}
}
ColumnDatas.add(columnData2);
ColumnDatas.add(columnData1);
ChartData<LineData> chartData2 = new ChartData<>("Line chart", chartYDataList, ColumnDatas);
//設置曲線圖樣式
lineChart.setLineModel(LineChart.CURVE_MODEL);
//獲取左側垂直軸線
VerticalAxis verticalAxis = lineChart.getLeftVerticalAxis();
//獲取橫向軸線
HorizontalAxis horizontalAxis = lineChart.getHorizontalAxis();
//右側軸線
VerticalAxis rightAxis = lineChart.getRightVerticalAxis();
//設置右側軸線不顯示
rightAxis.setDisplay(false);
//设置竖轴方向在左側
verticalAxis.setAxisDirection(IAxis.AxisDirection.LEFT);
verticalAxis.setStartZero(true);
// verticalAxis.setMaxValue(18000);
//设置网格
verticalAxis.setDrawGrid(true);
//设置横轴方向
horizontalAxis.setAxisDirection(IAxis.AxisDirection.BOTTOM);
//不顯示網格
horizontalAxis.setDrawGrid(false);
horizontalAxis.getAxisStyle().setWidth(mContext, 1).setColor(res.getColor(R.color.theme_color));
//设置线条样式
verticalAxis.getAxisStyle().setWidth(mContext, 1).setColor(res.getColor(R.color.theme_color));
//設置網格虛線樣式
DashPathEffect effects = new DashPathEffect(new float[]{1, 2, 4, 8}, 1);
verticalAxis.setGridStyle(new LineStyle(0.5f, res.getColor(R.color.report_dotted_line_color)));
verticalAxis.getGridStyle().setEffect(effects);
FontStyle scaleStyle = new FontStyle(mContext, 9, res.getColor(R.color.report_left_scale));
scaleStyle.setScalePadding(30);
horizontalAxis.setScaleStyle(scaleStyle);
verticalAxis.setScaleStyle(scaleStyle);
lineChart.setZoom(false);
//开启十字架
lineChart.getProvider().setOpenCross(true);
//开启MarkView
// lineChart.getProvider().setOpenMark(true);
//设置MarkView
// lineChart.getProvider().setMarkView(new CustomMarkView(mContext));
//设置显示点
Point point = new Point();
point.getPointStyle().setShape(PointStyle.CIRCLE);
//设置显示点的样式
lineChart.getProvider().setPoint(point);
//设置显示标题
lineChart.setShowChartName(false);
//底部不顯示顏色代表的意思
lineChart.getLegend().setDisplay(false);
lineChart.getMatrixHelper().setWidthMultiple(1f);
lineChart.getMatrixHelper().setCanZoom(false);
lineChart.getHorizontalAxis().setRotateAngle(0);//設置底部文字旋轉角度
lineChart.setFirstAnim(true);
lineChart.setChartData(chartData2);
lineChart.setOnClickColumnListener((lineData, pos) -> {
// Paint paint = new Paint();
// paint.setAntiAlias(true);
// paint.setTextSize(DensityUtils.sp2px(mContext, 13));
// paint.setStyle(Paint.Style.FILL);
// paint.setColor(Color.WHITE);
// MultiLineBubbleTip tip = new MultiLineBubbleTip<LineData>(mContext,
// R.mipmap.round_rect, R.mipmap.triangle, paint) {
// @Override
// public boolean isShowTip(LineData lineData, int position) {
// return position == pos;
// }
//
// @Override
// public String[] format(LineData lineData, int position) {
// String title = lineData.getName();
// String value = lineData.getChartYDataList().get(position) + lineData.getUnit();
// return new String[]{title, value};
// }
// };
// tip.setColorFilter(Color.parseColor("#FA8072"));
// tip.setAlpha(0.8f);
// lineChart.getProvider().setTip(tip);
// lineChart.invalidate();
});
}
private int getTrendImg(double amount) { private int getTrendImg(double amount) {
if (amount > 0) { if (amount > 0) {
return R.drawable.ic_rise; return R.drawable.ic_rise;
...@@ -372,7 +390,7 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M ...@@ -372,7 +390,7 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
@OnClick({R2.id.tv_more_report}) @OnClick({R2.id.tv_more_report})
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if(v.getId() == R.id.tv_more_report){ if (v.getId() == R.id.tv_more_report) {
//更多報表 //更多報表
startActivity(new Intent(mContext, ReportActivity.class)); startActivity(new Intent(mContext, ReportActivity.class));
} }
......
...@@ -11,6 +11,8 @@ import android.os.Looper; ...@@ -11,6 +11,8 @@ import android.os.Looper;
import android.os.RemoteException; import android.os.RemoteException;
import android.util.Log; import android.util.Log;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil; import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager; import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager;
...@@ -137,6 +139,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -137,6 +139,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
//本機打印 //本機打印
if (bitmap == null) { if (bitmap == null) {
ToastUtils.show(mContext, "未獲取到打印內容"); ToastUtils.show(mContext, "未獲取到打印內容");
printFile();
return; return;
} }
String model = Build.MODEL; String model = Build.MODEL;
...@@ -145,8 +148,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -145,8 +148,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
boolean isSuccess = SunMiPrint.printBitmap(mContext, bitmap); boolean isSuccess = SunMiPrint.printBitmap(mContext, bitmap);
if (isSuccess) { if (isSuccess) {
ToastUtils.show(mContext, "商米打印機連接成功"); ToastUtils.show(mContext, "商米打印機連接成功");
printSuccess();
} else { } else {
ToastUtils.show(mContext, "商米打印機連接失敗"); ToastUtils.show(mContext, "商米打印機連接失敗");
printFile();
} }
} else if (mN5.contains(model)) { } else if (mN5.contains(model)) {
//N5打印 //N5打印
...@@ -160,9 +165,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -160,9 +165,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
if (i == 0) { if (i == 0) {
//打印成功 //打印成功
ToastUtils.show(mContext, "N5打印結果:成功"); ToastUtils.show(mContext, "N5打印結果:成功");
printSuccess();
} else { } else {
//打印失敗 //打印失敗
ToastUtils.show(mContext, "N5打印結果:失敗"); ToastUtils.show(mContext, "N5打印結果:失敗");
printFile();
} }
} }
...@@ -173,12 +180,26 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -173,12 +180,26 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}); });
} catch (RemoteException | NoInitPrinterException e) { } catch (RemoteException | NoInitPrinterException e) {
e.printStackTrace(); e.printStackTrace();
printFile();
} }
} else { } else {
ToastUtils.show(mContext, "暫不支持本機型打印"); ToastUtils.show(mContext, "暫不支持本機型打印");
printFile();
} }
} }
/**
* 打印失敗
*/
private void printFile() {
CC.sendCCResult(getIntent().getStringExtra("callId"), CCResult.error("print error"));
}
/**
* 打印成功
*/
private void printSuccess() {
CC.sendCCResult(getIntent().getStringExtra("callId"), CCResult.success());
}
//初始化打印內容 //初始化打印內容
public Bitmap initPrintBitmap(int width) { public Bitmap initPrintBitmap(int width) {
Bitmap bitmap = getIntent().getParcelableExtra("bitmap"); Bitmap bitmap = getIntent().getParcelableExtra("bitmap");
......
...@@ -5,8 +5,8 @@ package com.gingersoft.gsa.cloud.base.utils.constans; ...@@ -5,8 +5,8 @@ package com.gingersoft.gsa.cloud.base.utils.constans;
*/ */
public class HttpsConstans { public class HttpsConstans {
// public static String ROOT_SERVER_ADDRESS_FORMAL = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器 public static String ROOT_SERVER_ADDRESS_FORMAL = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器 // public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器
public static String ROOT_SERVER_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器 public static String ROOT_SERVER_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器
......
package com.gingersoft.gsa.cloud.base.utils.time; package com.gingersoft.gsa.cloud.base.utils.time;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
...@@ -101,18 +99,17 @@ public class TimeUtils { ...@@ -101,18 +99,17 @@ public class TimeUtils {
* @return * @return
*/ */
public static String getOldDate(int distanceDay) { public static String getOldDate(int distanceDay) {
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
Date beginDate = new Date(); Date beginDate = new Date();
Calendar date = Calendar.getInstance(); Calendar date = Calendar.getInstance();
date.setTime(beginDate); date.setTime(beginDate);
date.set(Calendar.DATE, date.get(Calendar.DATE) + distanceDay); date.set(Calendar.DATE, date.get(Calendar.DATE) + distanceDay);
Date endDate = null; Date endDate = null;
try { try {
endDate = dft.parse(dft.format(date.getTime())); endDate = DATE_FORMAT_DATE.parse(DATE_FORMAT_DATE.format(date.getTime()));
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
return dft.format(endDate); return DATE_FORMAT_DATE.format(endDate);
} }
......
...@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection; ...@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter; import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection; import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter; import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
......
...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.ui.adapter; ...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.ui.adapter;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.ui.R; import com.gingersoft.gsa.cloud.ui.R;
import com.gingersoft.gsa.cloud.ui.R2; import com.gingersoft.gsa.cloud.ui.R2;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader; import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
...@@ -11,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection; ...@@ -11,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter; import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection; import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter; import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
......
...@@ -8,9 +8,11 @@ import android.view.Gravity; ...@@ -8,9 +8,11 @@ import android.view.Gravity;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.ui.R; import com.gingersoft.gsa.cloud.ui.R;
import com.gingersoft.gsa.cloud.ui.bean.SectionHeader; import com.gingersoft.gsa.cloud.ui.bean.SectionHeader;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
/** /**
......
...@@ -11,7 +11,9 @@ import android.graphics.PathMeasure; ...@@ -11,7 +11,9 @@ import android.graphics.PathMeasure;
import android.graphics.RectF; import android.graphics.RectF;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
android:label="@string/user_login_name" android:label="@string/user_login_name"
tools:replace="android:label" tools:replace="android:label"
android:networkSecurityConfig="@xml/network_android" android:networkSecurityConfig="@xml/network_android"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_logo"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
......
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