package com.lotaai.canguiayw;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.os.Handler;
|
import android.os.Looper;
|
import android.os.Message;
|
import android.text.Editable;
|
import android.text.InputType;
|
import android.view.View;
|
import android.widget.Button;
|
import android.widget.EditText;
|
import android.widget.TextView;
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
import com.blankj.utilcode.util.CacheDiskUtils;
|
import com.blankj.utilcode.util.GsonUtils;
|
import com.blankj.utilcode.util.LogUtils;
|
import com.lotaai.canguiayw.common.HttpLoggerInterceptor;
|
import com.lotaai.canguiayw.common.HttpUrlDefine;
|
import com.lotaai.canguiayw.common.SettingConfig;
|
import com.lotaai.canguiayw.data.BaseDto;
|
import com.lotaai.canguiayw.device.CanGuiCommand;
|
import com.lotaai.canguiayw.device.CanguiStatus;
|
import com.lotaai.canguiayw.device.DeviceMessage;
|
import com.lotaai.canguiayw.device.DeviceType;
|
import com.lotaai.canguiayw.device.MessageType;
|
import com.lotaai.canguiayw.device.service.CanGuiService;
|
import com.lotaai.canguiayw.device.service.CrontrolGridModel;
|
import com.lotaai.canguiayw.view.TipDialog;
|
import com.pranavpandey.android.dynamic.toasts.DynamicToast;
|
|
import org.greenrobot.eventbus.EventBus;
|
|
import java.io.IOException;
|
import java.util.concurrent.TimeUnit;
|
|
import okhttp3.Call;
|
import okhttp3.Callback;
|
import okhttp3.FormBody;
|
import okhttp3.OkHttpClient;
|
import okhttp3.Request;
|
import okhttp3.RequestBody;
|
import okhttp3.Response;
|
|
public class StartSaveActivity extends AppCompatActivity {
|
private Context context;
|
private EditText editText;
|
private TextView tv_see_code;
|
// CanguiStatus canguidata;
|
String ss;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_startsave);
|
initView();
|
// canguidata = (CanguiStatus) getIntent().getSerializableExtra("info");
|
// ss = CrontrolGridModel.getGridNoStr(canguidata.getGuiHao(), canguidata.getGridNo());
|
context = StartSaveActivity.this;
|
Intent startIntent = new Intent(context, CanGuiService.class);
|
startService(startIntent);
|
editText = (EditText) findViewById(R.id.edt_borrow_case_number);
|
tv_see_code = (TextView) findViewById(R.id.tv_see_code);
|
editText.setInputType(InputType.TYPE_NULL); // 屏蔽软键盘
|
DynamicToast.Config.getInstance().setTextSize(30).apply();
|
// 软键盘设置统一按钮监听方法,数字键直接将text内容填充到edittext中,删除和确认才设置事件
|
View.OnClickListener clickListener = new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
int index = editText.getSelectionEnd();
|
Editable editable = editText.getText();
|
int key = v.getId();
|
if (key == R.id.borrow_bt_delete) {
|
if (0 != index) {
|
editable.delete(index - 1, index);
|
}
|
} else if (key == R.id.borrow_bt_confirm) {
|
// 调用后台
|
String gridNo = editable.toString();
|
if (null == gridNo || "".equals(gridNo.trim())) {
|
showResult("Please enter pickup code.");
|
return;
|
} else {
|
if (gridNo.length() != 6) {
|
editText.setText("");
|
showResult("The pickup code input is incorrect,\nplease try again.");
|
return;
|
}
|
//调用判断是否可以取餐
|
editText.setText("");
|
// takeCheckCode(gridNo, canguidata.getGuiHao(), canguidata.getGridNo());
|
checkCode(gridNo,0);
|
}
|
} else if (key == R.id.tv_by_hand) {
|
// 调用后台
|
String gridNo = editable.toString();
|
if (null == gridNo || "".equals(gridNo.trim())) {
|
showResult("Please enter pickup code.");
|
return;
|
} else {
|
//调用判断是否可以取餐
|
editText.setText("");
|
// takeCheckCode(gridNo, canguidata.getGuiHao(), canguidata.getGridNo());
|
checkCode(gridNo,1);
|
}
|
} else {
|
Button button = (Button) v;
|
editable.insert(index, button.getText());
|
}
|
}
|
};
|
View view1 = findViewById(R.id.borrow_bt1);
|
View view2 = findViewById(R.id.borrow_bt2);
|
View view3 = findViewById(R.id.borrow_bt3);
|
View view4 = findViewById(R.id.borrow_bt4);
|
View view5 = findViewById(R.id.borrow_bt5);
|
View view6 = findViewById(R.id.borrow_bt6);
|
View view7 = findViewById(R.id.borrow_bt7);
|
View view8 = findViewById(R.id.borrow_bt8);
|
View view9 = findViewById(R.id.borrow_bt9);
|
View view0 = findViewById(R.id.borrow_bt0);
|
View view11 = findViewById(R.id.borrow_bt_delete);
|
View view12 = findViewById(R.id.borrow_bt_confirm);
|
View view13 = findViewById(R.id.tv_by_hand);
|
view1.setOnClickListener(clickListener);
|
view2.setOnClickListener(clickListener);
|
view3.setOnClickListener(clickListener);
|
view4.setOnClickListener(clickListener);
|
view5.setOnClickListener(clickListener);
|
view6.setOnClickListener(clickListener);
|
view7.setOnClickListener(clickListener);
|
view8.setOnClickListener(clickListener);
|
view9.setOnClickListener(clickListener);
|
view0.setOnClickListener(clickListener);
|
view11.setOnClickListener(clickListener);
|
view12.setOnClickListener(clickListener);
|
view13.setOnClickListener(clickListener);
|
|
tv_see_code.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View view) {
|
Intent intent = new Intent(StartSaveActivity.this, PickCodeListActivity.class);
|
startActivity(intent);
|
}
|
});
|
}
|
|
public void backMian(View view) {
|
DeviceMessage message = new DeviceMessage();
|
message.setMessageType(MessageType.FANHUI.ordinal());
|
EventBus.getDefault().post(message);
|
finish();
|
}
|
|
public void checkCode(final String code, final int isHand) {
|
HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true);
|
OkHttpClient client = new OkHttpClient.Builder()
|
.connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间
|
.readTimeout(20, TimeUnit.SECONDS)
|
.callTimeout(20, TimeUnit.SECONDS)
|
.addInterceptor(loggingInterceptor)//添加日志拦截器
|
.build();
|
String sn = CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code);
|
RequestBody body = new FormBody.Builder()
|
.build();
|
|
final Request request = new Request.Builder()
|
.url(HttpUrlDefine.check + "?pickNum=" + code + "&sn=" + sn+ "&isHand=" + isHand)
|
/* .addHeader("language", "zh-CN")*/
|
.post(body)
|
.build();
|
client.newCall(request).enqueue(new Callback() {
|
@Override
|
public void onFailure(Call call, IOException e) {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
DynamicToast.makeError(context, "Request error!", 3).show();
|
}
|
});
|
|
}
|
|
@Override
|
public void onResponse(Call call, Response response) throws IOException {
|
String result = response.body().string();
|
LogUtils.i("获取到的数据:" + result);
|
final BaseDto baseDto = GsonUtils.fromJson(result, BaseDto.class);
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (baseDto.getCode() == 200) {
|
//取餐码可用,去选柜子
|
Intent intent = new Intent(StartSaveActivity.this, CunOjbActivity.class);
|
intent.putExtra("code",code);
|
intent.putExtra("isHand",isHand);
|
startActivity(intent);
|
} else {
|
showResult(baseDto.getMsg());
|
}
|
}
|
});
|
}
|
});
|
}
|
|
|
public void pickOrder(String code) {
|
HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true);
|
OkHttpClient client = new OkHttpClient.Builder()
|
.connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间
|
.readTimeout(20, TimeUnit.SECONDS)
|
.callTimeout(20, TimeUnit.SECONDS)
|
.addInterceptor(loggingInterceptor)//添加日志拦截器
|
.build();
|
|
LogUtils.i(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code), code);
|
RequestBody body = new FormBody.Builder()
|
.build();
|
|
final Request request = new Request.Builder()
|
.url(HttpUrlDefine.pickOrder + "?pickNum=" + code)
|
/* .addHeader("language", "zh-CN")*/
|
.post(body)
|
.build();
|
client.newCall(request).enqueue(new Callback() {
|
@Override
|
public void onFailure(Call call, IOException e) {
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
DynamicToast.makeError(context, "请求失败!", 3).show();
|
}
|
});
|
|
}
|
|
@Override
|
public void onResponse(Call call, Response response) throws IOException {
|
String result = response.body().string();
|
LogUtils.i("获取到的数据:" + result);
|
final BaseDto baseDto = GsonUtils.fromJson(result, BaseDto.class);
|
runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (baseDto.isData()) {
|
DynamicToast.makeSuccess(context, "验证成功!", 3).show();
|
} else {
|
DynamicToast.makeError(context, "验证失败!", 3).show();
|
}
|
}
|
});
|
|
|
}
|
});
|
}
|
|
private Handler showHandler = new Handler() {
|
@Override
|
public void handleMessage(Message msg) {
|
if (msg.what == 0) {
|
DynamicToast.makeError(context, msg.obj.toString(), 3).show();
|
} else if (msg.what == 1) {
|
DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show();
|
} else {
|
DynamicToast.makeWarning(context, msg.obj.toString(), 3).show();
|
}
|
}
|
};
|
|
private void initView() {
|
}
|
|
public void showResult(String msg){
|
TipDialog tipDialog = new TipDialog();
|
Bundle bundle = new Bundle();
|
bundle.putString("msg",msg);
|
tipDialog.setArguments(bundle);
|
tipDialog.show(getSupportFragmentManager(),"res");
|
}
|
}
|