| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579 |
- package com.uas.hystorage.fragment;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.graphics.Color;
- import android.graphics.drawable.BitmapDrawable;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v7.app.AlertDialog;
- import android.view.KeyEvent;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.PopupWindow;
- import android.widget.TextView;
- import com.alibaba.fastjson.JSONObject;
- import com.android.volley.Request;
- import com.android.volley.toolbox.StringRequest;
- import com.uas.hystorage.R;
- import com.uas.hystorage.activity.FunctionActivity;
- import com.uas.hystorage.bean.Addbean;
- import com.uas.hystorage.bean.CloseListbean;
- import com.uas.hystorage.bean.StorageInBillBean;
- import com.uas.hystorage.global.GloableParams;
- import com.uas.hystorage.listener.MyEditorActionListener;
- import com.uas.hystorage.tools.SharedPreUtil;
- import com.uas.hystorage.util.CameraUtil;
- import com.uas.hystorage.util.CommonUtil;
- import com.uas.hystorage.util.FastjsonUtil;
- import com.uas.hystorage.util.FragmentUtils;
- import com.uas.hystorage.util.HttpCallback;
- import com.uas.hystorage.util.HttpParams;
- import com.uas.hystorage.util.VolleyRequest;
- import com.uas.hystorage.util.VollyRequest;
- import com.uas.hystorage.view.ClearableEditText;
- import com.uuzuche.lib_zxing.activity.CaptureActivity;
- import com.uuzuche.lib_zxing.activity.CodeUtils;
- import org.greenrobot.eventbus.EventBus;
- import org.greenrobot.eventbus.Subscribe;
- import java.util.Objects;
- /**
- * @author RaoMeng
- * @describe 入库条码采集页面
- * @date 2018/6/20 16:20
- */
- public class GoodOrBadAddDetailFragment extends BaseFragment implements View.OnClickListener {
- private static final int FLAG_SPLITE_PLATE = 25;
- private static final int SCAN_BARCODE_CODE = 121;
- private static final int FLAG_CONFIRM_POST = 0x09;
- private StringRequest mStringRequest;
- private PopupWindow mMenuPopupWindow;
- private String pi_id;
- private int mWhichPage;
- private ClearableEditText storage_in_add_detail_barcode_et;
- private Button goodin_add_detail_commit_btn;
- private TextView storage_in_add_detail_result_tv;
- private LinearLayout line_gongvisbie;
- private TextView tv_batchnumber;
- private TextView tv_objectid;
- private TextView tv_workorder;
- private TextView tv_qty;
- private TextView tv_accumulativetotal;
- private String pi_inoutno;
- private String pi_whcode;
- private TextView tv_inoutno;
- private TextView tv_cangku;
- private String pi_whname;
- private Button mMoreBtn;
- private ImageView storage_in_add_detail_scan_iv;
- private OnStorageInAddListener mOnStorageInAddListener;
- private String pi_class;
- private String pi_type;
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
- ((FunctionActivity) getActivity()).setScanIvVisible(false);
- ((FunctionActivity) getActivity()).setListIconIvVisible(false);
- }
- @Override
- public void onDestroy() {
- super.onDestroy();
- EventBus.getDefault().unregister(this);
- }
- @Subscribe
- public void onMessageEvent(CloseListbean evensst) {
- getActivity().getSupportFragmentManager().popBackStack();
- }
- @Override
- protected int getLayout() {
- return R.layout.goodbad_in_add_detail;
- }
- @Override
- protected void initViews() {
- ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
- ((FunctionActivity) getActivity()).setListIconIvVisible(false);
- storage_in_add_detail_barcode_et = mActivity.findViewById(R.id.storage_in_add_detail_barcode_et);
- storage_in_add_detail_scan_iv = mActivity.findViewById(R.id.storage_in_add_detail_scan_iv);
- goodin_add_detail_commit_btn = mActivity.findViewById(R.id.goodin_add_detail_commit_btn);
- storage_in_add_detail_result_tv = mActivity.findViewById(R.id.storage_in_add_detail_result_tv);
- tv_inoutno = mActivity.findViewById(R.id.tv_inoutno);
- tv_cangku = mActivity.findViewById(R.id.tv_cangku);
- line_gongvisbie = mActivity.findViewById(R.id.line_gongvisbie);
- tv_batchnumber = mActivity.findViewById(R.id.tv_batchnumber);
- tv_objectid = mActivity.findViewById(R.id.tv_objectid);
- tv_workorder = mActivity.findViewById(R.id.tv_workorder);
- tv_qty = mActivity.findViewById(R.id.tv_qty);
- tv_accumulativetotal = mActivity.findViewById(R.id.tv_accumulativetotal);
- mMoreBtn = (Button)mActivity.findViewById(R.id.btn_actionbar_more);
- storage_in_add_detail_barcode_et.requestFocus();
- Bundle arguments = getArguments();
- if (arguments != null) {
- pi_inoutno = arguments.getString("pi_inoutno");
- pi_whcode = arguments.getString("pi_whcode");
- pi_id = arguments.getString("pi_id");
- pi_whname = arguments.getString("pi_whname");
- pi_class = arguments.getString("pi_class");
- }
- pi_type = SharedPreUtil.getString(mActivity, "pi_type", null);
- FunctionActivity.setTitle("入库采集("+pi_type+")");
- tv_inoutno.setText(pi_inoutno);
- tv_cangku.setText(pi_whname);
- EventBus.getDefault().register(this);
- }
- public void setOnStorageInAddListener(OnStorageInAddListener onStorageInAddListener) {
- mOnStorageInAddListener = onStorageInAddListener;
- }
- @Override
- protected void initEvents() {
- mMoreBtn.setOnClickListener(this);
- storage_in_add_detail_scan_iv.setOnClickListener(this);
- goodin_add_detail_commit_btn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getNewProdinout();
- }
- });
- CommonUtil.setEditorActionListener(storage_in_add_detail_barcode_et, new MyEditorActionListener() {
- @Override
- public void MyEditorAction(String text, int actionId, KeyEvent event) {
- getBarcodeInfo(text);
- }
- });
- }
- private void getBarcodeInfo(String text) {
- progressDialog.show();
- VollyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_IN_GETBARCODEINFO)
- .method(Request.Method.GET)
- .tag(TAG + "getMaCode")
- .flag(0)
- .addParam("piid", pi_id)//必填单据类型
- .addParam("lotno",text)//必填 仓库
- .build(), new HttpCallback() {
- @SuppressLint("SetTextI18n")
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- progressDialog.dismiss();
- Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
- if (isSuccess){
- JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
- if (dataObject == null){
- }else {
- storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
- line_gongvisbie.setVisibility(View.VISIBLE);
- storage_in_add_detail_result_tv.setTextColor(Color.BLUE);
- storage_in_add_detail_result_tv.setText("采集成功!");
- String bi_barcode = dataObject.getString("BI_BARCODE") == null ? "" : dataObject.getString("BI_BARCODE");
- String bi_prodcode = dataObject.getString("bi_prodcode") == null ? "" : dataObject.getString("bi_prodcode");
- String pr_detail = dataObject.getString("PR_DETAIL") == null ? "" : dataObject.getString("PR_DETAIL");
- String pr_spec = dataObject.getString("PR_SPEC") == null ? "" : dataObject.getString("PR_SPEC");
- String bi_ordercode = dataObject.getString("BI_ORDERCODE") == null ? "" : dataObject.getString("BI_ORDERCODE");
- String bi_inqty = dataObject.getString("BI_INQTY") == null ? "" : dataObject.getString("BI_INQTY");
- String sumqty = dataObject.getString("SUMQTY") == null ? "" : dataObject.getString("SUMQTY");
- tv_batchnumber.setText(bi_barcode);
- tv_objectid.setText(bi_prodcode+" "+pr_detail+" "+pr_spec);
- tv_workorder.setText(bi_ordercode);
- tv_qty.setText(bi_inqty);
- tv_accumulativetotal.setText(sumqty);
- storage_in_add_detail_barcode_et.setText("");
- storage_in_add_detail_barcode_et.requestFocus();
- }
- }
- }
- @SuppressLint("SetTextI18n")
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- progressDialog.dismiss();
- storage_in_add_detail_result_tv.setVisibility(View.VISIBLE);
- line_gongvisbie.setVisibility(View.VISIBLE);
- storage_in_add_detail_result_tv.setTextColor(Color.RED);
- storage_in_add_detail_result_tv.setText("采集失败!"
- +"\n生产批号:"+storage_in_add_detail_barcode_et.getText().toString().trim()
- +"\n失败原因"+failStr);
- // CommonUtil.toastNoRepeat(mActivity, failStr);
- line_gongvisbie.setVisibility(View.GONE);
- storage_in_add_detail_barcode_et.setText("");
- storage_in_add_detail_barcode_et.requestFocus();
- }
- });
- }
- /**
- * 提交
- */
- private void getNewProdinout() {
- if (pi_id.isEmpty()){
- CommonUtil.toastNoRepeat(mActivity, "单据ID不可为空");
- return;
- }
- progressDialog.show();
- VollyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_IN_NEWPRODIODETAIL)
- .method(Request.Method.POST)
- .tag(TAG + "getMaCode")
- .flag(0)
- .addParam("piid",pi_id)//必填单据ID
- .build(), new HttpCallback() {
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- progressDialog.dismiss();
- Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
- if (isSuccess){
- CommonUtil.toastNoRepeat(mActivity, "单据提交成功");
- }
- }
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- progressDialog.dismiss();
- CommonUtil.toastNoRepeat(mActivity, failStr);
- }
- });
- }
- @Override
- protected void initDatas() {
- }
- @SuppressLint("NonConstantResourceId")
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.storage_in_add_detail_scan_iv:
- if (CameraUtil.hasCamera()) {
- if (root.findFocus() != null) {
- Intent intent = new Intent();
- intent.setClass(mActivity, CaptureActivity.class);
- startActivityForResult(intent, SCAN_BARCODE_CODE);
- } else {
- CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
- }
- } else {
- CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
- }
- break;
- case R.id.btn_actionbar_more:
- showMoreMenu();
- break;
- case R.id.pop_storage_in_add_menu_1:
- closeMenuPopupWindow();
- new AlertDialog.Builder(mActivity)
- .setMessage("确认将单据过账?")
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- dialogInterface.dismiss();
- progressDialog.show();
- VollyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_CONFIRMPOST)
- .method(Request.Method.POST)
- .tag(TAG + "getMaCode")
- .flag(0)
- .addParam("piid", pi_id)//必填单据ID
- .build(), new HttpCallback() {
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- progressDialog.dismiss();
- Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
- if (isSuccess){
- CommonUtil.toastNoRepeat(mActivity, "单据过账成功");
- }
- }
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- progressDialog.dismiss();
- CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
- tv_batchnumber.setText("");
- tv_objectid.setText("");
- tv_workorder.setText("");
- tv_qty.setText("");
- tv_accumulativetotal.setText("");
- }
- });
- }
- }).create().show();
- break;
- case R.id.pop_storage_in_add_menu_2:
- closeMenuPopupWindow();
- ViewPagerFragment storageDetailListFragment = new ViewPagerFragment();
- // Bundle arguments = new Bundle();
- // arguments.putString("pi_id", pi_id);
- // arguments.putString("pi_class", pi_class);
- // arguments.putString("whichPage1", "InFinish");
- SharedPreUtil.saveString(mActivity,"pi_id",pi_id);
- SharedPreUtil.saveString(mActivity,"pi_class",pi_class);
- // storageDetailListFragment.setArguments(arguments);
- FragmentUtils.switchFragment(GoodOrBadAddDetailFragment.this, storageDetailListFragment);
- break;
- case R.id.pop_storage_in_add_menu_3:
- break;
- case R.id.pop_storage_in_add_menu_4:
- closeMenuPopupWindow();
- new AlertDialog.Builder(mActivity)
- .setMessage("确认反提交?")
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- dialogInterface.dismiss();
- VollyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_IN_REVOKEBARCODE)
- .method(Request.Method.POST)
- .tag(TAG + "getMaCode")
- .flag(0)
- .addParam("piid", pi_id)//必填单据ID
- .build(), new HttpCallback() {
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- progressDialog.dismiss();
- Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
- if (isSuccess){
- CommonUtil.toastNoRepeat(mActivity, "反提交成功");
- }
- }
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- progressDialog.dismiss();
- CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
- }
- });
- }
- }).create().show();
- break;
- case R.id.pop_storage_in_add_menu_5:
- closeMenuPopupWindow();
- new AlertDialog.Builder(mActivity)
- .setMessage("确认删除此单据?")
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- dialogInterface.dismiss();
- VollyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_IN_DELETEINOUTANDDETAIL)
- .method(Request.Method.POST)
- .tag(TAG + "getMaCode")
- .flag(0)
- .addParam("piid", pi_id)//必填单据ID
- .build(), new HttpCallback() {
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- progressDialog.dismiss();
- Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
- if (isSuccess){
- CommonUtil.toastNoRepeat(mActivity, "删除成功");
- getActivity().getSupportFragmentManager().popBackStack();
- }
- }
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- progressDialog.dismiss();
- CommonUtil.toastNoRepeat(mActivity, "生产批次号异常"+failStr);
- }
- });
- }
- }).create().show();
- break;
- case R.id.pop_storage_in_add_menu_6:
- closeMenuPopupWindow();
- EventBus.getDefault().post(new Addbean("关闭页面"));
- GoodOrBadFragment mFragment = new GoodOrBadFragment();
- Bundle bundle = new Bundle();
- bundle.putString("pi_class",pi_class);
- mFragment.setArguments(bundle);
- FragmentUtils.switchFragment(this, mFragment);
- break;
- case R.id.pop_storage_in_add_menu_7:
- closeMenuPopupWindow();
- GoodBadAddListFragment storageInAddListFragment = new GoodBadAddListFragment();
- bundle = new Bundle();
- bundle.putString("pi_class", this.pi_class);
- bundle.putInt("whichPage", StorageInAddListFragment.PAGE_STORAGE_ADD);
- storageInAddListFragment.setArguments(bundle);
- FragmentUtils.switchFragment(this, storageInAddListFragment);
- storageInAddListFragment.setOnListSelectListener(new GoodBadAddListFragment.OnListSelectListener() {
- @Override
- public void onListSelect(StorageInBillBean storageInBillBean) {
- getActivity().getSupportFragmentManager().popBackStack();
- Fragment fragment = new GoodOrBadAddDetailFragment();
- Bundle bundle = new Bundle();
- bundle.putString("pi_class", storageInBillBean.getPI_CLASS());
- bundle.putString("pi_whcode", storageInBillBean.getPI_WHCODE());
- bundle.putString("pi_cardcode", storageInBillBean.getPI_CARDCODE());
- bundle.putString("pi_id", storageInBillBean.getPI_ID()+"");
- bundle.putString("pi_inoutno", storageInBillBean.getPI_INOUTNO());
- bundle.putString("pi_status", storageInBillBean.getPI_STATUS());
- bundle.putString("pi_invostatus", storageInBillBean.getPI_INVOSTATUS());
- bundle.putString("pi_whname", storageInBillBean.getPI_WHNAME());
- fragment.setArguments(bundle);
- FragmentUtils.switchFragment(GoodOrBadAddDetailFragment.this, fragment);
- }
- });
- // storageInAddListFragment.setOnListSelectListener(this);
- break;
- case R.id.storage_in_add_detail_supplier_icon:
- case R.id.storage_in_add_detail_split_plate_btn:
- //确认分板
- if (!CommonUtil.isRepeatClick()) {
- progressDialog.show();
- VolleyRequest.getInstance().stringRequest(mStringRequest,
- new HttpParams.Builder()
- .url(GloableParams.ADDRESS_PDAIO_IN_CONFIRMSPLITPLATE)
- .method(Request.Method.POST)
- .addParam("piid", pi_id + "")
- .flag(FLAG_SPLITE_PLATE)
- .tag(TAG + "spliteplate")
- .build(), new HttpCallback() {
- @Override
- public void onSuccess(int flag, Object o) throws Exception {
- }
- @Override
- public void onFail(int flag, String failStr) throws Exception {
- }
- });
- }
- break;
- default:
- break;
- }
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (resultCode != Activity.RESULT_OK) {
- return;
- }
- if (requestCode == SCAN_BARCODE_CODE && data != null) {
- if (data.getExtras() != null) {
- String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
- getBarcodeInfo(result);
- }
- }
- }
- /**
- * 展示扩展菜单
- */
- private void showMoreMenu() {
- View view = View.inflate(getActivity(), R.layout.pop_goodbadin_add_menu, null);
- Button addBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_1);
- Button listBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_2);
- Button deleteBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_3);
- Button barcodeListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_4);
- Button quantityListBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_5);
- Button revokeBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_6);
- Button passBillBtn = (Button) view.findViewById(R.id.pop_storage_in_add_menu_7);
- addBtn.setOnClickListener(this);
- listBtn.setOnClickListener(this);
- deleteBtn.setOnClickListener(this);
- barcodeListBtn.setOnClickListener(this);
- quantityListBtn.setOnClickListener(this);
- revokeBtn.setOnClickListener(this);
- passBillBtn.setOnClickListener(this);
- mMenuPopupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
- mMenuPopupWindow.setBackgroundDrawable(new BitmapDrawable());
- mMenuPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
- @Override
- public void onDismiss() {
- closeMenuPopupWindow();
- }
- });
- CommonUtil.setBackgroundAlpha(Objects.requireNonNull(getActivity()), 0.5f);
- mMenuPopupWindow.showAsDropDown(mMoreBtn);
- }
- private void closeMenuPopupWindow() {
- if (mMenuPopupWindow != null) {
- mMenuPopupWindow.dismiss();
- CommonUtil.setBackgroundAlpha(mActivity, 1f);
- }
- }
- @Override
- public void onHiddenChanged(boolean hidden) {
- super.onHiddenChanged(hidden);
- if (hidden) {
- ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
- } else {
- FunctionActivity.setTitle("入库单列表("+pi_type+")");
- ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
- ((FunctionActivity) getActivity()).setListIconIvVisible(false);
- }
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- return false;
- }
- @Override
- public boolean onFragmentBackPressed() {
- // if (mWhichPage == PAGE_STORAGE_IN_ADD) {
- // if (mOnStorageInToListListener != null) {
- // mOnStorageInToListListener.onStorageInToList();
- // return true;
- // } else {
- // return false;
- // }
- // } else {
- return false;
- // }
- }
- public interface OnStorageInAddListener {
- void onStorageInAdd();
- }
- public interface OnStorageInToListListener {
- void onStorageInToList();
- }
- }
|