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;
/** /**
* ================================================ * ================================================
......
...@@ -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