HePiFragment.java 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. package com.uas.hystorage.fragment;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.graphics.drawable.BitmapDrawable;
  6. import android.os.Bundle;
  7. import android.support.v7.widget.LinearLayoutManager;
  8. import android.support.v7.widget.RecyclerView;
  9. import android.text.TextUtils;
  10. import android.util.Log;
  11. import android.view.Gravity;
  12. import android.view.KeyEvent;
  13. import android.view.LayoutInflater;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.view.inputmethod.EditorInfo;
  17. import android.widget.ArrayAdapter;
  18. import android.widget.Button;
  19. import android.widget.ImageView;
  20. import android.widget.LinearLayout;
  21. import android.widget.ListView;
  22. import android.widget.PopupWindow;
  23. import android.widget.TextView;
  24. import com.android.volley.AuthFailureError;
  25. import com.android.volley.DefaultRetryPolicy;
  26. import com.android.volley.Request;
  27. import com.android.volley.Response;
  28. import com.android.volley.VolleyError;
  29. import com.android.volley.toolbox.StringRequest;
  30. import com.google.gson.Gson;
  31. import com.uas.hystorage.R;
  32. import com.uas.hystorage.activity.FunctionActivity;
  33. import com.uas.hystorage.adapter.HepiAdapter;
  34. import com.uas.hystorage.application.PdaApplication;
  35. import com.uas.hystorage.bean.CaiPiBlueBean;
  36. import com.uas.hystorage.bean.HepiBean;
  37. import com.uas.hystorage.global.GloableParams;
  38. import com.uas.hystorage.tools.SharedPreUtil;
  39. import com.uas.hystorage.tools.VolleyUtil;
  40. import com.uas.hystorage.util.CameraUtil;
  41. import com.uas.hystorage.util.CommonUtil;
  42. import com.uas.hystorage.util.Constants;
  43. import com.uas.hystorage.util.FastjsonUtil;
  44. import com.uas.hystorage.util.FragmentUtils;
  45. import com.uas.hystorage.util.PrintUtils;
  46. import com.uas.hystorage.view.ClearableEditText;
  47. import com.uuzuche.lib_zxing.activity.CaptureActivity;
  48. import com.uuzuche.lib_zxing.activity.CodeUtils;
  49. import org.json.JSONException;
  50. import org.json.JSONObject;
  51. import java.io.UnsupportedEncodingException;
  52. import java.net.URLEncoder;
  53. import java.util.ArrayList;
  54. import java.util.HashMap;
  55. import java.util.List;
  56. import java.util.Map;
  57. /**
  58. * Created by RaoMeng on 2017/5/4.
  59. * 不良采集页面
  60. */
  61. public class HePiFragment extends BaseFragment {
  62. private static final String TAG = "CaiPiFragment";
  63. private static final int SCAN_BARCODE_CODE = 106;
  64. private ClearableEditText ed_pihao;
  65. private ClearableEditText ed_hepi;
  66. private Button btn_confirm;
  67. private TextView tv_result;
  68. private StringRequest mStringRequest;
  69. private ImageView mScanImageView;
  70. private int mFocusId;
  71. private String sc_code;
  72. private String ma_code;
  73. private RecyclerView rv_content;
  74. private HepiAdapter hepiAdapter;
  75. private ArrayList<HepiBean> list=new ArrayList<>();
  76. private ImageView iv_close;
  77. private TextView tv_total_num;
  78. private LinearLayout ll_title;
  79. private int mPrintDpi = 203;
  80. private PopupWindow splitPop;
  81. private boolean isPrinting = false;
  82. private boolean isConnected = false;
  83. private List<CaiPiBlueBean.DataBean> messages = new ArrayList<>();
  84. @Override
  85. protected int getLayout() {
  86. return R.layout.fragment_hepi;
  87. }
  88. @Override
  89. protected void initViews() {
  90. FunctionActivity.setTitle("合批");
  91. ((FunctionActivity) mActivity).setScanIvVisible(true);
  92. mScanImageView = (ImageView) mActivity.findViewById(R.id.btn_actionbar_scan_iv);
  93. ed_pihao = (ClearableEditText)root.findViewById(R.id.ed_pihao);
  94. ed_hepi = (ClearableEditText)root.findViewById(R.id.ed_hepi);
  95. btn_confirm = (Button) root.findViewById(R.id.btn_confirm);
  96. tv_result = (TextView) root.findViewById(R.id.tv_result);
  97. ll_title=root.findViewById(R.id.ll_title);
  98. iv_close=root.findViewById(R.id.iv_close);
  99. rv_content=root.findViewById(R.id.rv_content);
  100. tv_total_num=root.findViewById(R.id.tv_total_num);
  101. rv_content.setLayoutManager(new LinearLayoutManager(mActivity));
  102. hepiAdapter=new HepiAdapter(this);
  103. rv_content.setAdapter(hepiAdapter);
  104. ed_pihao.requestFocus();
  105. isConnected = (SharedPreUtil.getInt(mActivity, "printConnect", 0) == 1);
  106. mPrintDpi = SharedPreUtil.getInt(mActivity, "printDpi", 203);
  107. }
  108. @Override
  109. protected void initEvents() {
  110. iv_close.setOnClickListener(new View.OnClickListener() {
  111. @Override
  112. public void onClick(View v) {
  113. ed_pihao.setText("");
  114. ed_pihao.setBackgroundResource(R.drawable.bg_edittext);
  115. ed_pihao.setEnabled(true);
  116. ed_pihao.setFocusableInTouchMode(true);
  117. ed_pihao.requestFocus();
  118. iv_close.setVisibility(View.GONE);
  119. list.clear();
  120. hepiAdapter.notifyDataSetChanged();
  121. ll_title.setVisibility(View.GONE);
  122. }
  123. });
  124. mScanImageView.setOnClickListener(new View.OnClickListener() {
  125. @Override
  126. public void onClick(View v) {
  127. if (CameraUtil.hasCamera()) {
  128. if (root.findFocus() != null) {
  129. mFocusId = root.findFocus().getId();
  130. Intent intent = new Intent();
  131. intent.setClass(mActivity, CaptureActivity.class);
  132. startActivityForResult(intent, SCAN_BARCODE_CODE);
  133. }
  134. } else {
  135. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  136. }
  137. }
  138. });
  139. ed_pihao.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  140. @Override
  141. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  142. if (actionId == EditorInfo.IME_ACTION_SEND
  143. || actionId == EditorInfo.IME_ACTION_DONE
  144. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  145. String pihao = ed_pihao.getText().toString().trim();
  146. if (TextUtils.isEmpty(pihao)) {
  147. CommonUtil.toastNoRepeat(mActivity,"请先输入生产批号.");
  148. return false;
  149. }
  150. getPihaoData(1,pihao);
  151. }
  152. return false;
  153. }
  154. });
  155. ed_hepi.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  156. @Override
  157. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  158. if (actionId == EditorInfo.IME_ACTION_SEND
  159. || actionId == EditorInfo.IME_ACTION_DONE
  160. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  161. String pihao = ed_hepi.getText().toString().trim();
  162. if (TextUtils.isEmpty(pihao)) {
  163. CommonUtil.toastNoRepeat(mActivity,"请先输入合批批号.");
  164. return false;
  165. }
  166. getPihaoData(2,pihao);
  167. return true;
  168. }
  169. return false;
  170. }
  171. });
  172. btn_confirm.setOnClickListener(new View.OnClickListener() {
  173. @Override
  174. public void onClick(View v) {
  175. mergeLotno();
  176. }
  177. });
  178. }
  179. private void getPihaoData(int type,String pihao) {
  180. progressDialog.show();
  181. String url = null;
  182. try {
  183. url = GloableParams.ADDRESS_GET_MERGE_LOTNO + "?lotno=" + URLEncoder.encode(pihao, "utf-8")
  184. +"&sc_code=" + URLEncoder.encode(sc_code, "utf-8");
  185. } catch (UnsupportedEncodingException e) {
  186. e.printStackTrace();
  187. }
  188. PdaApplication.mRequestQueue.cancelAll(TAG + "getMergeLotno");
  189. mStringRequest = new StringRequest(Request.Method.GET, url,
  190. new Response.Listener<String>() {
  191. @Override
  192. public void onResponse(String s) {
  193. progressDialog.dismiss();
  194. try {
  195. boolean isSuccess = new JSONObject(s).getBoolean("success");
  196. if(isSuccess){
  197. ll_title.setVisibility(View.VISIBLE);
  198. JSONObject dataObject = new JSONObject(s).getJSONObject("data");
  199. HepiBean hepiBean=null;
  200. if (dataObject != null) {
  201. hepiBean=new HepiBean();
  202. hepiBean.setLotno(dataObject.getString("LOTNO"));
  203. hepiBean.setMakecode(dataObject.getString("MAKECODE"));
  204. hepiBean.setPr_detail(dataObject.getString("PR_DETAIL"));
  205. hepiBean.setProdcode(dataObject.getString("PRODCODE"));
  206. hepiBean.setQty(dataObject.getInt("QTY"));
  207. hepiBean.setPr_spec(dataObject.getString("PR_SPEC"));
  208. if(type==1){
  209. if(isContainPihao(hepiBean.getLotno())){
  210. CommonUtil.toastNoRepeat(mActivity,"不可重复采集");
  211. }else{
  212. list.add(hepiBean);
  213. CommonUtil.toastNoRepeat(mActivity,"请输入合批批号");
  214. }
  215. hepiAdapter.setNewData(list);
  216. ed_pihao.setEnabled(false);
  217. ed_pihao.setFocusable(false);
  218. ed_pihao.setFocusableInTouchMode(false);
  219. iv_close.setVisibility(View.VISIBLE);
  220. ed_pihao.setBackgroundResource(R.drawable.bg_edittext_unenable);
  221. }else{
  222. if(isContainPihao(hepiBean.getLotno())){
  223. CommonUtil.toastNoRepeat(mActivity,"不可重复采集");
  224. }else{
  225. list.add(hepiBean);
  226. }
  227. ed_hepi.setText("");
  228. ed_hepi.requestFocus();
  229. hepiAdapter.setNewData(list);
  230. }
  231. tv_total_num.setText(getTotalNum()+"");
  232. }
  233. }
  234. } catch (JSONException e) {
  235. e.printStackTrace();
  236. }
  237. }
  238. },
  239. new Response.ErrorListener() {
  240. @Override
  241. public void onErrorResponse(VolleyError volleyError) {
  242. progressDialog.dismiss();
  243. String errorToast = CommonUtil.showErrorToast(volleyError, true);
  244. tv_result.setVisibility(View.VISIBLE);
  245. tv_result.setText(errorToast);
  246. if(type==1){
  247. ed_pihao.setText("");
  248. ed_pihao.requestFocus();
  249. }else{
  250. ed_hepi.setText("");
  251. ed_hepi.requestFocus();
  252. }
  253. }
  254. }) {
  255. @Override
  256. public Map<String, String> getHeaders() throws AuthFailureError {
  257. return VolleyUtil.getVolleyUtil().setCookies();
  258. }
  259. };
  260. mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
  261. mStringRequest.setTag(TAG + "getMergeLotno");
  262. PdaApplication.mRequestQueue.add(mStringRequest);
  263. }
  264. /***
  265. * 判断列表中是否包含相同批号
  266. * @return
  267. */
  268. public boolean isContainPihao(String pihao){
  269. list= (ArrayList<HepiBean>) hepiAdapter.getData();
  270. boolean isContain=false;
  271. for(int i=0;i<list.size();i++){
  272. if(list.get(i).getLotno().equals(pihao)){
  273. isContain=true;
  274. break;
  275. }
  276. }
  277. return isContain;
  278. }
  279. public int getTotalNum(){
  280. list= (ArrayList<HepiBean>) hepiAdapter.getData();
  281. int total=0;
  282. for(int i=0;i<list.size();i++){
  283. total+=list.get(i).getQty();
  284. }
  285. return total;
  286. }
  287. public void deleteItem(int position){
  288. hepiAdapter.getData().remove(position);
  289. hepiAdapter.notifyDataSetChanged();
  290. tv_total_num.setText(getTotalNum()+"");
  291. }
  292. private void mergeLotno() {
  293. if(list.size()<2){
  294. CommonUtil.toastNoRepeat(mActivity,"合批数据必须大于等于2条");
  295. return;
  296. }
  297. String listJson=new Gson().toJson(list);
  298. progressDialog.show();
  299. PdaApplication.mRequestQueue.cancelAll(TAG + "mergeLotno");
  300. mStringRequest = new StringRequest(Request.Method.POST ,GloableParams.ADDRESS_MERGE_LOTNO,
  301. new Response.Listener<String>() {
  302. @Override
  303. public void onResponse(String s) {
  304. progressDialog.dismiss();
  305. try {
  306. boolean issuccess = new JSONObject(s).getBoolean("success");
  307. if (issuccess) {
  308. String resultStr = "合批成功\n";
  309. // JSONArray dataArray = FastjsonUtil.getJSONArray(s.toString(), "data");
  310. com.alibaba.fastjson.JSONObject jsonObject = FastjsonUtil.getJSONObject(s.toString(), "data");
  311. resultStr+="生产批号:"+jsonObject.getString("LOTNO")+", 数量:"+jsonObject.getIntValue("QTY")+"\n";
  312. tv_result.setVisibility(View.VISIBLE);
  313. tv_result.setText(resultStr);
  314. //清除数据
  315. ed_pihao.setText("");
  316. ed_pihao.setBackgroundResource(R.drawable.bg_edittext);
  317. ed_pihao.setEnabled(true);
  318. ed_pihao.setFocusableInTouchMode(true);
  319. ed_pihao.requestFocus();
  320. iv_close.setVisibility(View.GONE);
  321. list.clear();
  322. ed_hepi.setText("");
  323. tv_total_num.setText("");
  324. hepiAdapter.notifyDataSetChanged();
  325. ll_title.setVisibility(View.GONE);
  326. //调用弹框选择打印/打印设置
  327. // initBreakPopupWindow(dataArray);
  328. }
  329. } catch (JSONException e) {
  330. e.printStackTrace();
  331. }
  332. }
  333. },
  334. new Response.ErrorListener() {
  335. @Override
  336. public void onErrorResponse(VolleyError volleyError) {
  337. progressDialog.dismiss();
  338. String errorToast = CommonUtil.showErrorToast(volleyError, true);
  339. tv_result.setVisibility(View.VISIBLE);
  340. tv_result.setText(errorToast);
  341. //清除数据
  342. ed_pihao.setText("");
  343. ed_pihao.setBackgroundResource(R.drawable.bg_edittext);
  344. ed_pihao.setEnabled(true);
  345. ed_pihao.setFocusableInTouchMode(true);
  346. ed_pihao.requestFocus();
  347. iv_close.setVisibility(View.GONE);
  348. list.clear();
  349. ed_hepi.setText("");
  350. tv_total_num.setText("0");
  351. hepiAdapter.notifyDataSetChanged();
  352. }
  353. }) {
  354. @Override
  355. public Map<String, String> getHeaders() throws AuthFailureError {
  356. return VolleyUtil.getVolleyUtil().setCookies();
  357. }
  358. @Override
  359. protected Map<String, String> getParams() throws AuthFailureError {
  360. Map<String, String> map = new HashMap<>();
  361. map.put("sc_code", sc_code);
  362. map.put("param",listJson);
  363. return map;
  364. }
  365. };
  366. mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
  367. mStringRequest.setTag(TAG + "splitLotno");
  368. PdaApplication.mRequestQueue.add(mStringRequest);
  369. }
  370. @Override
  371. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  372. super.onActivityResult(requestCode, resultCode, data);
  373. if (resultCode == Activity.RESULT_OK&&requestCode == SCAN_BARCODE_CODE && data != null) {
  374. if (data.getExtras() != null) {
  375. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  376. if (mFocusId == R.id.ed_pihao) {
  377. ed_pihao.setText(result);
  378. ed_pihao.setSelection(result.length());
  379. }else if(mFocusId == R.id.ed_hepi){
  380. ed_hepi.setText(result);
  381. ed_hepi.setSelection(result.length());
  382. }
  383. }
  384. }
  385. }
  386. @Override
  387. protected void initDatas() {
  388. Bundle bundle = getArguments();//从activity传过来的Bundle
  389. if(bundle!=null){
  390. sc_code = bundle.getString(Constants.FLAG.SC_CODE);
  391. ma_code = bundle.getString(Constants.FLAG.MA_CODE);
  392. }
  393. }
  394. @Override
  395. public void onHiddenChanged(boolean hidden) {
  396. super.onHiddenChanged(hidden);
  397. if (!hidden) {
  398. FunctionActivity.setTitle("合批");
  399. ((FunctionActivity) mActivity).setScanIvVisible(true);
  400. isConnected = (SharedPreUtil.getInt(mActivity, "printConnect", 0) == 1);
  401. mPrintDpi = SharedPreUtil.getInt(mActivity, "printDpi", 203);
  402. }else{
  403. ((FunctionActivity) mActivity).setScanIvVisible(false);
  404. }
  405. }
  406. private void closeSplitPopupWindow() {
  407. if (splitPop != null) {
  408. splitPop.dismiss();
  409. splitPop = null;
  410. CommonUtil.setBackgroundAlpha(mActivity, 1f);
  411. }
  412. }
  413. //org.json.
  414. protected void initBreakPopupWindow(com.alibaba.fastjson.JSONArray listArray) {
  415. messages.clear();
  416. for (int i = 0; i < listArray.size(); i++) {
  417. try {
  418. com.alibaba.fastjson.JSONObject barcodeObject = listArray.getJSONObject(i);
  419. if (barcodeObject != null) {
  420. CaiPiBlueBean.DataBean dataBean=new CaiPiBlueBean.DataBean();
  421. // dataBean.setLotno(JsonUtils.optStringNotNull(barcodeObject, "LOTNO"));
  422. // dataBean.setQty(JsonUtils.optStringNotNull(barcodeObject, "QTY"));
  423. dataBean.setLotno(barcodeObject.getString("LOTNO"));
  424. dataBean.setQty(barcodeObject.getString("QTY"));
  425. messages.add(dataBean);
  426. }
  427. } catch (Exception e) {
  428. e.printStackTrace();
  429. }
  430. }
  431. View popView = LayoutInflater.from(getActivity()).inflate(R.layout.popupwindow_whbreaking_batch, null);
  432. ListView listView = (ListView) popView.findViewById(R.id.list_view);
  433. Button btnPrintf = (Button) popView.findViewById(R.id.btn_print);
  434. Button btnPrintfSet = (Button) popView.findViewById(R.id.btn_print_setting);
  435. Button btnClose = (Button) popView.findViewById(R.id.btn_close);
  436. Button btnBack = (Button) popView.findViewById(R.id.btn_back);
  437. btnBack.setVisibility(View.GONE);
  438. btnClose.setOnClickListener(new View.OnClickListener() {
  439. @Override
  440. public void onClick(View v) {
  441. closeSplitPopupWindow();
  442. // }
  443. }
  444. });
  445. btnPrintf.setOnClickListener(new View.OnClickListener() {
  446. @Override
  447. public void onClick(View v) {
  448. if (isConnected) {
  449. progressDialog.show();
  450. // listArray.remove(0);
  451. printEvent(listArray);
  452. } else {
  453. closeSplitPopupWindow();
  454. BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
  455. Bundle bundle = new Bundle();
  456. bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
  457. Log.e("listArrayone",listArray.toString());
  458. blueToothPrintFragment.setArguments(bundle);
  459. FragmentUtils.switchFragment(HePiFragment.this, blueToothPrintFragment);
  460. }
  461. }
  462. });
  463. btnPrintfSet.setOnClickListener(new View.OnClickListener() {
  464. @Override
  465. public void onClick(View v) {
  466. closeSplitPopupWindow();
  467. BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
  468. Bundle bundle = new Bundle();
  469. bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
  470. Log.e("listArraytwo",listArray.toString());
  471. blueToothPrintFragment.setArguments(bundle);
  472. FragmentUtils.switchFragment(HePiFragment.this, blueToothPrintFragment);
  473. }
  474. });
  475. MyAdapter adapter = new MyAdapter(getActivity(), R.layout.item_list_whbreakingbatchfragment, messages);
  476. listView.setAdapter(adapter);
  477. //当只有一条数据的时候可以加上
  478. /*
  479. if (messages.size()>1){
  480. btnBack.setVisibility(View.GONE);
  481. }*/
  482. // PopupWindow实例化,参数的意思是 view,长(不包括状态栏),高(不包括状态栏),是否聚焦
  483. splitPop = new PopupWindow(popView, LinearLayout.LayoutParams.WRAP_CONTENT,
  484. LinearLayout.LayoutParams.WRAP_CONTENT, true);
  485. splitPop.setAnimationStyle(R.style.MenuAnimationFade);
  486. splitPop.setBackgroundDrawable(new BitmapDrawable());
  487. // 弹出窗口显示内容视图,默认以锚定视图的左下角为起点,这里为点击按钮
  488. splitPop.showAtLocation(getActivity().getWindow().getDecorView(), Gravity.CENTER, 0, 0);
  489. splitPop.setOnDismissListener(new PopupWindow.OnDismissListener() {
  490. @Override
  491. public void onDismiss() {
  492. closeSplitPopupWindow();
  493. // specialOut();
  494. }
  495. });
  496. CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
  497. }
  498. private void printEvent(com.alibaba.fastjson.JSONArray printArray) {
  499. if (isPrinting) {
  500. CommonUtil.toastNoRepeat(mActivity, "正在打印中,请勿重复操作");
  501. return;
  502. }
  503. isPrinting = true;
  504. if (printArray != null && printArray.size() > 0) {
  505. boolean isFail = false;
  506. for (int i = 0; i < printArray.size(); i++) {
  507. try {
  508. int printResult = PrintUtils.printBar(mActivity, printArray.toString(), mPrintDpi, null);
  509. if (printResult <= 0) {
  510. isFail = true;
  511. }
  512. } catch (Exception e) {
  513. e.printStackTrace();
  514. }
  515. }
  516. closeSplitPopupWindow();
  517. progressDialog.dismiss();
  518. if (isFail) {
  519. isConnected = false;
  520. SharedPreUtil.saveInt(mActivity, "printConnect", 0);
  521. CommonUtil.toastNoRepeat(mActivity, "打印失败,请重新连接打印机");
  522. BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
  523. Bundle bundle = new Bundle();
  524. bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, printArray.toString());
  525. Log.e("listArraythree",printArray.toString());
  526. blueToothPrintFragment.setArguments(bundle);
  527. FragmentUtils.switchFragment(HePiFragment.this, blueToothPrintFragment);
  528. } else {
  529. CommonUtil.toastNoRepeat(mActivity, "打印成功");
  530. }
  531. } else {
  532. CommonUtil.toastNoRepeat(mActivity, "打印失败,条码数据为空");
  533. }
  534. isPrinting = false;
  535. }
  536. @Override
  537. public void onDestroyView() {
  538. super.onDestroyView();
  539. ((FunctionActivity) mActivity).setScanIvVisible(false);
  540. }
  541. @Override
  542. public boolean onKeyDown(int keyCode, KeyEvent event) {
  543. return false;
  544. }
  545. @Override
  546. public boolean onFragmentBackPressed() {
  547. return false;
  548. }
  549. private class MyAdapter extends ArrayAdapter<CaiPiBlueBean.DataBean> {
  550. private int resourceId;
  551. public MyAdapter(Context context, int resource, List<CaiPiBlueBean.DataBean> objects) {
  552. super(context, resource, objects);
  553. resourceId = resource;
  554. }
  555. @Override
  556. public View getView(int position, View convertView, ViewGroup parent) {
  557. CaiPiBlueBean.DataBean person = getItem(position);
  558. convertView = LayoutInflater.from(getContext()).inflate(resourceId,
  559. null);
  560. TextView tv_bar_code = (TextView) convertView.findViewById(R.id.tv_bar_code);
  561. TextView tv_bar_remain = (TextView) convertView.findViewById(R.id.tv_bar_remain);
  562. tv_bar_code.setText(person.getLotno());
  563. tv_bar_remain.setText(person.getQty());
  564. return convertView;
  565. }
  566. }
  567. }