package com.uas.rd_equipment.fragment; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.util.Log; import android.view.Gravity; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.EditorInfo; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.TextView; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.android.volley.Request; import com.bin.david.form.core.SmartTable; import com.bin.david.form.core.TableConfig; import com.bin.david.form.data.CellInfo; import com.bin.david.form.data.column.Column; import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat; import com.bin.david.form.data.style.FontStyle; import com.bin.david.form.data.table.TableData; import com.bin.david.form.listener.OnColumnItemClickListener; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.uas.rd_equipment.R; import com.uas.rd_equipment.activity.FunctionActivity; import com.uas.rd_equipment.bean.LinecodeBean; import com.uas.rd_equipment.bean.MakerecordBean; import com.uas.rd_equipment.bean.ResourcesBean; import com.uas.rd_equipment.bean.User; import com.uas.rd_equipment.camera.CaptureActivity; import com.uas.rd_equipment.global.GloableParams; import com.uas.rd_equipment.tools.SharedPreUtil; import com.uas.rd_equipment.util.CameraUtil; import com.uas.rd_equipment.util.CommonUtil; import com.uas.rd_equipment.util.Constants; import com.uas.rd_equipment.util.FastjsonUtil; import com.uas.rd_equipment.util.HttpCallback; import com.uas.rd_equipment.util.HttpParams; import com.uas.rd_equipment.util.JsonUtils; import com.uas.rd_equipment.util.LogUtil; import com.uas.rd_equipment.util.MyArrayAdapter; import com.uas.rd_equipment.util.StringUtil; import com.uas.rd_equipment.util.VolleyRequest; import com.uas.rd_equipment.util.VollyRequest; import com.uas.rd_equipment.view.ClearableEditText; import com.uuzuche.lib_zxing.activity.CodeUtils; import org.json.JSONException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import razerdp.basepopup.BasePopupWindow; /** * Created by cjh on 2023-05-31 * cjh生产信息绑定 */ public class ProduceMassageBindingFragment extends BaseFragment implements OnColumnItemClickListener, View.OnClickListener ,AdapterView.OnItemSelectedListener{ private AutoCompleteTextView storage_recharge_collect_et; private PopupWindow mMenuPopupWindow; private Fragment mFragment; private SmartTable mSmartTable; private Column va_classColumn,va_codeColumn,va_vendnameColumn,va_vendcodeColumn,va_inmancolumn,va_DELETEColumn; private TableData mTableData; private List mFilterStorageInBeans; private ImageView mScanImageView; private Button mMenuButton; private static final int SCAN_BARCODE_CODE = 111; private static final int SCAN_ID_BARCODE_CODE = 890; private static final int SCAN_BARCODE_CODESD = 925; private int mFocusId; private Button bt_add; private AutoCompleteTextView et_linecode_smts; private ImageView iocout_smts; private ImageView iv_popuwindow; private AutoCompleteTextView ce_resources; private ImageView iv_resources_delete; private ImageView iv_resources; private TextView tv_pr_code; private TextView tv_pr_detail; private TextView tv_save; private RadioGroup rg_change; private RadioButton rb_equipment; private RadioButton rb_fixture; private RadioButton rb_ingredients; private String rb_changetext = null; private IpAndlinecodePortAdapter ipAndlinecodePortAdapter; private String ma_code; private List linecodeBeanList; private ClearableEditText edit_et; private PopupWindow editPW; private String adapterpr_code; private String adapterpr_detail; private IpAndResourcesPortAdapter ipAndResourcesPortAdapter; private String sc_code; private List resourcesBeanList; private AutoCompleteTextView tv_dc_emcode; private ImageView iv_dc_emcode; private TextView tv_dc_emname; private String substring; private TextView work_code_code; Spinner masterSpinner; static ArrayAdapter adapter; private List masterFuncList; private String maFunName = null; private ImageView shaopwork_id; private List stringList; private Set setstring; private ImageView tv_dc_emcode_delete; private List list; @Override protected int getLayout() { return R.layout.producemassagebinding_fragment; } @Override protected void initViews() { FunctionActivity.setTitle(getString(R.string.producemassagebinding)); ((FunctionActivity) getActivity()).setMoreBtnVisible(true); ((FunctionActivity) getActivity()).setListIconIvVisible(false); storage_recharge_collect_et = mActivity.findViewById(R.id.storage_recharge_collect_et); mSmartTable = mActivity.findViewById(R.id.jlt_storage_in_filter_list_st); mScanImageView = (ImageView) mActivity.findViewById(R.id.storage_recharge_scan_iv); mMenuButton = (Button) mActivity.findViewById(R.id.btn_actionbar_more); mMenuButton.setVisibility(View.GONE); et_linecode_smts = root.findViewById(R.id.et_linecode_smts); et_linecode_smts.setThreshold(1); iocout_smts = root.findViewById(R.id.iocout_smts); iv_popuwindow = root.findViewById(R.id.iv_popuwindow); et_linecode_smts.setThreshold(1); ce_resources = root.findViewById(R.id.ce_resources); iv_resources_delete = root.findViewById(R.id.iv_resources_delete); iv_resources = root.findViewById(R.id.iv_resources); tv_pr_code = root.findViewById(R.id.tv_pr_code); tv_pr_detail = root.findViewById(R.id.tv_pr_detail); tv_save = root.findViewById(R.id.tv_save); rg_change = root.findViewById(R.id.rg_change); rb_equipment = root.findViewById(R.id.rb_equipment); rb_fixture = root.findViewById(R.id.rb_fixture); rb_ingredients = root.findViewById(R.id.rb_ingredients); tv_dc_emcode = root.findViewById(R.id.tv_dc_emcode); iv_dc_emcode = root.findViewById(R.id.iv_dc_emcode); tv_dc_emname = root.findViewById(R.id.tv_dc_emname); work_code_code = root.findViewById(R.id.work_code_code); masterSpinner = (Spinner) root.findViewById(R.id.sp_login); shaopwork_id = root.findViewById(R.id.shaopwork_id); tv_dc_emcode_delete = root.findViewById(R.id.tv_dc_emcode_delete); } @Override protected void initEvents() { et_linecode_smts.requestFocus(); mFilterStorageInBeans = Collections.synchronizedList(new ArrayList<>()); } @Override protected void initDatas() { WindowManager wm = mActivity.getWindowManager(); int screenWith = wm.getDefaultDisplay().getWidth(); mSmartTable.getConfig().setMinTableWidth(screenWith) .setShowXSequence(false) .setShowYSequence(false) .setShowTableTitle(false) .setFixedTitle(true) .setVerticalPadding(CommonUtil.dip2px(mActivity, 12)) .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 12)) .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10)) .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10)) .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10)) .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 15), Color.parseColor("#000000"))) .setContentCellBackgroundFormat(new BaseCellBackgroundFormat() { @Override public int getBackGroundColor(CellInfo cellInfo) { if (cellInfo.row % 2 == 0) { return ContextCompat.getColor(mActivity, R.color.blue_50); } return TableConfig.INVALID_COLOR; } }); va_vendnameColumn = new Column("设备编号", "MBR_BARCODE"); va_vendnameColumn.setFixed(true); va_vendcodeColumn = new Column("名称", "PR_DETAIL"); va_codeColumn = new Column("日期", "MBR_INDATE"); va_inmancolumn = new Column("操作员", "MBR_INMAN"); va_classColumn = new Column("单据编号", "MBR_MAKECODE"); va_DELETEColumn = new Column("操作", "MBR_DELETE"); va_DELETEColumn.setOnColumnItemClickListener(this); mScanImageView.setOnClickListener(this); shaopwork_id.setOnClickListener(this); masterSpinner.setOnItemSelectedListener(this); /**----------------------------------扫码框------------------------------**/ storage_recharge_collect_et.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_SEND || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { getsaVeData(); return true; } return false; } }); linecodeBeanList = new ArrayList<>(); /**----------------------------------工单ID------------------------------**/ et_linecode_smts.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_SEND || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { String va_code = et_linecode_smts.getText().toString().trim(); getfuzzySearchData(va_code); return true; } return false; } }); et_linecode_smts.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (s == null || s.length() == 0) { iocout_smts.setVisibility(View.GONE); } else { iocout_smts.setVisibility(View.VISIBLE); } } }); iocout_smts.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { et_linecode_smts.setText(""); et_linecode_smts.requestFocus(); } }); iv_popuwindow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { initlinecodePopupWindow(); } }); /**----------------------------------岗位资源------------------------------**/ ce_resources.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_SEND || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { String va_code = ce_resources.getText().toString().trim(); getfuzzySearchSourceData(va_code,""); return true; } return false; } }); ce_resources.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() >=2) { getfuzzySearchSourceData(ce_resources.getText().toString().trim(),""); } } @Override public void afterTextChanged(Editable s) { if (s == null || s.length() == 0) { iv_resources_delete.setVisibility(View.GONE); } else { iv_resources_delete.setVisibility(View.VISIBLE); } } }); iv_resources_delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ce_resources.setText(""); ce_resources.requestFocus(); } }); iv_resources.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { initresourcesPopupWindow(); } }); rg_change.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @SuppressLint("NonConstantResourceId") @Override public void onCheckedChanged(RadioGroup radioGroup, int checkid) { switch (checkid){ case R.id.rb_equipment: rb_changetext = "设备"; getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); break; case R.id.rb_fixture: rb_changetext = "夹具"; getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); break; case R.id.rb_ingredients: rb_changetext = "辅料"; getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); break; } } }); tv_save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); getsaVeData(); } }); stringList = new ArrayList<>(); setstring = new HashSet<>(); //人员编号 tv_dc_emcode.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_SEND || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { String dc_emcode = tv_dc_emcode.getText().toString().trim(); getNewdc_emcodeData(dc_emcode); return true; } return false; } }); tv_dc_emcode.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (s == null || s.length() == 0) { tv_dc_emcode_delete.setVisibility(View.GONE); } else { tv_dc_emcode_delete.setVisibility(View.VISIBLE); } } }); tv_dc_emcode_delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv_dc_emcode.setText(""); tv_dc_emcode.requestFocus(); } }); iv_dc_emcode.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv_dc_emcode.requestFocus(); if (CameraUtil.hasCamera()) { if (root.findFocus() != null) { mFocusId = root.findFocus().getId(); Intent intent = new Intent(); intent.setClass(mActivity, CaptureActivity.class); startActivityForResult(intent, SCAN_BARCODE_CODESD); SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, "NO"); } else { CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框"); } } else { CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected)); } } }); masterFuncList = new ArrayList(); getworkshopData(); // ceshiData(); } String inputString ="" ; public void getNewdc_emcodeData(String input){ if (input.isEmpty()){ CommonUtil.toastNoRepeat(mActivity, "请输入人员编号"); return; } list = new ArrayList<>(); list.clear(); String[] split = input.split(","); for (String value : split) { User user=new User(); if (!value.isEmpty()) { user.setName(value + ","); list.add(user); } } for (int i = 0; i < list.size(); i++) //外循环是循环的次数 { for (int j = list.size() - 1; j > i; j--) //内循环是 外循环一次比较的次数 { if (list.get(i).getName().equals(list.get(j).getName())) { list.remove(j); } } } for (int s = 0; s < list.size(); s++) { inputString+= list.get(s).getName(); } progressDialog.show(); VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_GETEMNAME) .method(Request.Method.GET) .addParam("em_code",inputString) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception {//DeviceChange!Use progressDialog.dismiss(); String result = o.toString(); JSONObject resultObject = JSON.parseObject(result); JSONObject dataObject = resultObject.getJSONObject("items"); String de_name = FastjsonUtil.getText(dataObject, "em_name"); tv_dc_emname.setText(de_name); tv_dc_emcode.setText(inputString+""); tv_dc_emcode.setSelection(tv_dc_emcode.getText().toString().length()); inputString=""; } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); inputString=""; CommonUtil.toastNoRepeat(mActivity, failStr); for (int s = 0; s < list.size(); s++) { if (failStr.contains(list.get(s).getName().replace(",",""))){ list.remove(s); } } for (int s = 0; s < list.size(); s++) { inputString+= list.get(s).getName(); } tv_dc_emcode.setText(inputString+""); tv_dc_emcode.setSelection(tv_dc_emcode.getText().toString().length()); inputString=""; } }); } public static List removeDuplicate(List list) { Set set = new LinkedHashSet(); set.addAll(list); list.clear(); list.addAll(set); return list; } /** * 得到去除重复后的集合 * @param list * @return */ private static List getRemoveList(List list){ Set set = new HashSet(); List newList = new ArrayList<>(); for (Iterator iter = list.iterator(); iter.hasNext();){ User object = (User) iter.next(); if(set.add(object)) newList.add(object); } return newList; } //工单ID public void getfuzzySearchData(String inoutNo){ if (inoutNo.isEmpty()){ CommonUtil.toastNoRepeat(mActivity, "请输入工单ID"); return; } progressDialog.show(); VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ADDRESS_SMT_FUZZY_SEARCH) .method(Request.Method.GET) .addParam("inoutNo", inoutNo) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); String s = o.toString(); List mAutoStrings = new ArrayList(); try { tv_dc_emcode.requestFocus(); tv_dc_emcode.setSelection(tv_dc_emcode.getText().length()); mAutoStrings.clear(); linecodeBeanList.clear(); org.json.JSONObject resultObject = new org.json.JSONObject(s); org.json.JSONArray dataArray = resultObject.optJSONArray("data"); JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"data"); if (dataArrayone == null|| dataArrayone.size() == 0){ CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据"); } for(Object index:dataArrayone){ JSONObject data = (JSONObject) index; LinecodeBean bean = new LinecodeBean(); bean.setMA_CODE(data.getString("MA_CODE")); bean.setPR_CODE(data.getString("PR_CODE")); bean.setPR_DETAIL(data.getString("PR_DETAIL")); bean.setMA_WCCODE(data.getString("MA_WCCODE")); tv_pr_code.setText(""+data.getString("PR_CODE")); tv_pr_detail.setText("产品名称 "+data.getString("PR_DETAIL")); work_code_code.setText(""+data.getString("MA_CODE")); linecodeBeanList.add(bean); CommonUtil.setSpinnerItemSelectedByValue(masterSpinner, data.getString("MA_WCCODE")); } ipAndlinecodePortAdapter.setmList(linecodeBeanList); ipAndlinecodePortAdapter.notifyDataSetChanged(); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); } }); } public void getworkshopData(){ VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_GETWORKCENTER) .method(Request.Method.GET) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); try { masterFuncList.clear(); JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"items"); if (dataArrayone == null|| dataArrayone.size() == 0){ CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据"); } for(Object index:dataArrayone){ JSONObject data = (JSONObject) index; masterFuncList.add(data.getString("WC_NAME")); } adapter = new ArrayAdapter(mActivity, R.layout.item_spinner, R.id.text_spinner, masterFuncList); masterSpinner.setAdapter(adapter); } catch (Exception e) { e.printStackTrace(); } } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); } }); } @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { //获得master的name maFunName = masterFuncList.get(position); LogUtil.i("maname",maFunName); } @Override public void onNothingSelected(AdapterView parent) { } //岗位资源 public void getfuzzySearchSourceData(String sourcecode,String sourstring){ VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_FUZZYSEARCHSOURCE) .method(Request.Method.GET) .addParam("sourcecode", sourcecode) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); String s = o.toString(); List mAutoStrings = new ArrayList(); try { mAutoStrings.clear(); resourcesBeanList.clear(); MyArrayAdapter mAutoStringAdapte = new MyArrayAdapter(mActivity, android.R.layout.simple_dropdown_item_1line, mAutoStrings); if (ce_resources != null) { ce_resources.setAdapter(mAutoStringAdapte); } org.json.JSONObject resultObject = new org.json.JSONObject(s); org.json.JSONArray dataArray = resultObject.optJSONArray("data"); JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"data"); if (sourstring.equals("弹框")){ if (dataArrayone == null|| dataArrayone.size() == 0){ CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据"); } for(Object index:dataArrayone){ JSONObject data = (JSONObject) index; ResourcesBean bean = new ResourcesBean(); bean.setSC_CODE(data.getString("SC_CODE")); bean.setST_REMARK(data.getString("ST_REMARK")); resourcesBeanList.add(bean); } ipAndResourcesPortAdapter.setmList(resourcesBeanList); ipAndResourcesPortAdapter.notifyDataSetChanged(); }else { if (dataArray != null) { for (int i = 0; i < dataArray.length(); i++) { org.json.JSONObject dataObject = dataArray.optJSONObject(i); if (dataObject != null) { String pi_inoutno = JsonUtils.optStringNotNull(dataObject, "SC_CODE"); if (!TextUtils.isEmpty(pi_inoutno)) mAutoStringAdapte.add(pi_inoutno); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); } } } } } catch (JSONException e) { e.printStackTrace(); } } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); } }); } private void getDatalistCodes(String sourcecode,String macode){ if (macode.isEmpty()||sourcecode.isEmpty()){ return; } if (rb_equipment.isChecked()){ rb_changetext="设备"; } progressDialog.show(); VolleyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_GETMAKERECORD) .method(Request.Method.GET) .tag(TAG + "getindatalist") .flag(0) .addParam("macode", macode) .addParam("sourcecode", sourcecode) .addParam("type", rb_changetext) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); try { mFilterStorageInBeans.clear(); String result = o.toString(); JSONObject resultObject = JSON.parseObject(result); JSONArray dataArray = resultObject.getJSONArray("success"); List list=new ArrayList<>(); list.clear(); if (dataArray != null && dataArray.size() > 0) { for (int i = 0; i < dataArray.size(); i++) { JSONObject dataObject = dataArray.getJSONObject(i); if (dataObject != null) { MakerecordBean jltStorageInBean = new MakerecordBean(); jltStorageInBean.setMBR_ID(FastjsonUtil.getText(dataObject, "MBR_ID")); jltStorageInBean.setMBR_BARCODE(FastjsonUtil.getText(dataObject, "MBR_BARCODE")); jltStorageInBean.setMBR_PRODCODE(FastjsonUtil.getText(dataObject, "MBR_PRODCODE")); jltStorageInBean.setMBR_MAKECODE(FastjsonUtil.getText(dataObject, "MBR_MAKECODE")); jltStorageInBean.setMBR_SOURCECODE(FastjsonUtil.getText(dataObject, "MBR_SOURCECODE")); jltStorageInBean.setMBR_TYPE(FastjsonUtil.getText(dataObject, "MBR_TYPE")); if (!StringUtil.isEmpty(FastjsonUtil.getText(dataObject, "MBR_INDATE"))){ String mbr_indate = timetodate(FastjsonUtil.getText(dataObject, "MBR_INDATE")); jltStorageInBean.setMBR_INDATE(mbr_indate); }else { jltStorageInBean.setMBR_INDATE(""); } jltStorageInBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL")); jltStorageInBean.setMBR_INMAN(FastjsonUtil.getText(dataObject, "MBR_INMAN")); jltStorageInBean.setMBR_DELETE("删除"); list.add(jltStorageInBean); } } } mFilterStorageInBeans = list;//PI_INOUTNO setFilterTableData(mFilterStorageInBeans); progressDialog.dismiss(); } catch (Exception e) { e.printStackTrace(); progressDialog.dismiss(); } } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); setFilterTableData(mFilterStorageInBeans); progressDialog.dismiss(); } }); } public static String timetodate(String time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(Long.valueOf(time)); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//这里的格式可换"yyyy年-MM月dd日-HH时mm分ss秒"等等格式 String date = sf.format(calendar.getTime()); return date; } public void geDeleteData(String mbr_id){ VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_DELETEMAKERECORD) .method(Request.Method.GET) .addParam("mbr_id", mbr_id) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, "删除成功"); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); } }); } public void getsaVeData(){ if (rb_equipment.isChecked()){ rb_changetext="设备"; } String ce_work_codetrim = work_code_code.getText().toString().trim(); String at_stationtrim = ce_resources.getText().toString().trim(); if (ce_work_codetrim.isEmpty()){ CommonUtil.toastNoRepeat(mActivity, "请选择工单号"); return; } if (at_stationtrim.isEmpty()){ CommonUtil.toastNoRepeat(mActivity, "请选择岗位资源"); return; } JSONArray jsonArray = new JSONArray(); JSONObject object_1 = new JSONObject(); object_1.put("MBR_MAKECODE", ce_work_codetrim);//工单号 object_1.put("MBR_SOURCECODE", at_stationtrim);//资源 object_1.put("MBR_TYPE", rb_changetext);//设备\夹具\辅料 object_1.put("MBR_PRODCODE", tv_pr_code.getText());//产品编号 object_1.put("MBR_INMAN", tv_dc_emname.getText());//人员名称 object_1.put("MBR_BARCODE", storage_recharge_collect_et.getText().toString().trim()); object_1.put("MBR_WCCODE", maFunName); jsonArray.add(object_1); String substring = jsonArray.toString().substring(0, jsonArray.toString().length() - 1);//去除尾部 String substring1 = substring.substring(1, substring.length());//去除首部 Log.e("jsonArray===",substring1); progressDialog.show(); VollyRequest.getInstance().stringRequest(new HttpParams.Builder() .url(GloableParams.ASTATIONTHE_SELECT_SAVEMAKERECORD) .method(Request.Method.GET) .addParam("datainto", substring1) .build(), new HttpCallback() { @Override public void onSuccess(int flag, Object o) throws Exception { progressDialog.dismiss(); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); CommonUtil.toastNoRepeat(mActivity, "保存成功"); storage_recharge_collect_et.setText(""); } @Override public void onFail(int flag, String failStr) throws Exception { progressDialog.dismiss(); CommonUtil.toastNoRepeat(mActivity, failStr); storage_recharge_collect_et.setText(""); } }); } private void setFilterTableData(List filterTableData) { mTableData = new TableData("收料单列表", filterTableData, va_vendnameColumn,va_vendcodeColumn,va_codeColumn,va_inmancolumn,va_classColumn,va_DELETEColumn); mSmartTable.setTableData(mTableData); // mSmartTable.requestLayout(); mSmartTable.postDelayed(new Runnable() { @Override public void run() { mSmartTable.postInvalidate(); } }, 100); } /** * 关于工单号弹框 */ private void initlinecodePopupWindow() { ipAndlinecodePortAdapter = new IpAndlinecodePortAdapter(linecodeBeanList); View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null); edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et); TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv); TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv); ImageView search_im = contView.findViewById(R.id.search_im); RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data); rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL)); rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity)); ipAndlinecodePortAdapter.setmList(linecodeBeanList); rv_ip_port_data.setAdapter(ipAndlinecodePortAdapter); getfuzzySearchData(et_linecode_smts.getText().toString().trim()); editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true); editPW.setTouchable(true); editPW.setBackgroundDrawable(new BitmapDrawable()); editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() { @Override public void onDismiss() { closeListPopupWindow(); } }); View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT); editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0); CommonUtil.setBackgroundAlpha(mActivity, 0.5f); search_im.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ipAndlinecodePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { List ipAndPortBeans = ipAndlinecodePortAdapter.getmList(); ma_code = ipAndPortBeans.get(position).getMA_CODE(); adapterpr_code = ipAndPortBeans.get(position).getPR_CODE(); adapterpr_detail = ipAndPortBeans.get(position).getPR_DETAIL(); for (int i = 0; i < ipAndPortBeans.size(); i++) { ipAndPortBeans.get(i).setChecked(false); } ipAndPortBeans.get(position).setChecked(true); ipAndlinecodePortAdapter.notifyDataSetChanged(); } }); getfuzzySearchData(edit_et.getText().toString().trim()); } }); ipAndlinecodePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { List ipAndPortBeans = ipAndlinecodePortAdapter.getmList(); ma_code = ipAndPortBeans.get(position).getMA_CODE(); adapterpr_code = ipAndPortBeans.get(position).getPR_CODE(); adapterpr_detail = ipAndPortBeans.get(position).getPR_DETAIL(); for (int i = 0; i < ipAndPortBeans.size(); i++) { ipAndPortBeans.get(i).setChecked(false); } ipAndPortBeans.get(position).setChecked(true); ipAndlinecodePortAdapter.notifyDataSetChanged(); } }); //确定 sure_tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { et_linecode_smts.setText(ma_code); tv_pr_code.setText(""+adapterpr_code); tv_pr_detail.setText("产品名称 "+adapterpr_detail); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); closeListPopupWindow(); } }); //取消 cancle_tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { closeListPopupWindow(); } }); // edit_et.addTextChangedListener(new TextWatcher() { // @Override // public void beforeTextChanged(CharSequence s, int start, int count, int after) { } // @Override // public void onTextChanged(CharSequence s, int start, int before, int count) { } // @Override // public void afterTextChanged(Editable s) { // if (linecodeBeanList.isEmpty()){ // getfuzzySearchData(et_linecode_smts.getText().toString().trim(),"弹框"); // } // if (s.length() >= 0) { // String mSearchStr = s.toString().trim(); // LogUtil.i("mSearchStr",mSearchStr); // List thisList = new ArrayList<>(); // for(int i=0;i ipAndPortBeans = ipAndlinecodePortAdapter.getmList(); // for (int i = 0; i < ipAndPortBeans.size(); i++) { // ipAndPortBeans.get(i).setChecked(false); // } // ipAndPortBeans.get(position).setChecked(true); // ipAndlinecodePortAdapter.notifyDataSetChanged(); // } // }); // } // // }); } /** * 关于岗位资源弹框 */ private void initresourcesPopupWindow() { resourcesBeanList = new ArrayList<>(); ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(resourcesBeanList); View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null); edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et); TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv); TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv); ImageView search_im = contView.findViewById(R.id.search_im); RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data); rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL)); rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity)); ipAndResourcesPortAdapter.setmList(resourcesBeanList); rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter); getfuzzySearchSourceData(ce_resources.getText().toString().trim(),"弹框"); editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true); editPW.setTouchable(true); editPW.setBackgroundDrawable(new BitmapDrawable()); editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() { @Override public void onDismiss() { closeListPopupWindow(); } }); View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT); editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0); CommonUtil.setBackgroundAlpha(mActivity, 0.5f); search_im.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { List ipAndPortBeans = ipAndResourcesPortAdapter.getmList(); sc_code = ipAndPortBeans.get(position).getSC_CODE(); for (int i = 0; i < ipAndPortBeans.size(); i++) { ipAndPortBeans.get(i).setChecked(false); } ipAndPortBeans.get(position).setChecked(true); ipAndResourcesPortAdapter.notifyDataSetChanged(); } }); getfuzzySearchSourceData(edit_et.getText().toString().trim(),"弹框"); } }); ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { List ipAndPortBeans = ipAndResourcesPortAdapter.getmList(); sc_code = ipAndPortBeans.get(position).getSC_CODE(); for (int i = 0; i < ipAndPortBeans.size(); i++) { ipAndPortBeans.get(i).setChecked(false); } ipAndPortBeans.get(position).setChecked(true); ipAndResourcesPortAdapter.notifyDataSetChanged(); } }); //确定 sure_tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ce_resources.setText(sc_code); getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim()); closeListPopupWindow(); } }); //取消 cancle_tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { closeListPopupWindow(); } }); // edit_et.addTextChangedListener(new TextWatcher() { // @Override // public void beforeTextChanged(CharSequence s, int start, int count, int after) { } // @Override // public void onTextChanged(CharSequence s, int start, int before, int count) { } // @Override // public void afterTextChanged(Editable s) { // if (resourcesBeanList.isEmpty()){ // getfuzzySearchSourceData(ce_resources.getText().toString().trim(),"弹框"); // } // if (s.length() >= 0) { // String mSearchStr = s.toString().trim(); // LogUtil.i("mSearchStr",mSearchStr); // List thisList = new ArrayList<>(); // for(int i=0;i ipAndPortBeans = ipAndResourcesPortAdapter.getmList(); // for (int i = 0; i < ipAndPortBeans.size(); i++) { // ipAndPortBeans.get(i).setChecked(false); // } // ipAndPortBeans.get(position).setChecked(true); // ipAndResourcesPortAdapter.notifyDataSetChanged(); // } // }); // } // // }); } private void closeListPopupWindow() { if (editPW != null) { editPW.dismiss(); editPW = null; CommonUtil.setBackgroundAlpha(mActivity, 1f); } } private class IpAndlinecodePortAdapter extends BaseQuickAdapter { private List mmmmList; public List getmList() { return mmmmList; } public void setmList(List mList) { this.mmmmList = mList; } public LinecodeBean getBeanByPositon(int position){ return mmmmList.get(position); } private IpAndlinecodePortAdapter(@Nullable List data) { super(R.layout.fuzzy_ipandport_item, data); this.mmmmList = data; } @Override protected void convert(BaseViewHolder helper, LinecodeBean item) { helper.setText(R.id.macode_ip__Tv,item.getMA_CODE()+"-"+item.getPR_CODE()+"-"+item.getPR_DETAIL()); LinearLayout line_true = helper.itemView.findViewById(R.id.line_true); if (item.getChecked()) { line_true.setSelected(true); } else { line_true.setSelected(false); } } } private class IpAndResourcesPortAdapter extends BaseQuickAdapter { private List mmmmList; public List getmList() { return mmmmList; } public void setmList(List mList) { this.mmmmList = mList; } public ResourcesBean getBeanByPositon(int position){ return mmmmList.get(position); } private IpAndResourcesPortAdapter(@Nullable List data) { super(R.layout.fuzzy_ipandport_item, data); this.mmmmList = data; } @Override protected void convert(BaseViewHolder helper, ResourcesBean item) { helper.setText(R.id.macode_ip__Tv,item.getSC_CODE()); LinearLayout line_true = helper.itemView.findViewById(R.id.line_true); if (item.getChecked()) { line_true.setSelected(true); } else { line_true.setSelected(false); } } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { return false; } @Override public boolean onFragmentBackPressed() { return false; } @Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if (hidden) { ((FunctionActivity) getActivity()).setMoreBtnVisible(false); ((FunctionActivity) getActivity()).setListIconIvVisible(false); } else { FunctionActivity.setTitle(getString(R.string.producemassagebinding)); ((FunctionActivity) getActivity()).setMoreBtnVisible(true); ((FunctionActivity) getActivity()).setListIconIvVisible(false); } } @Override public void onClick(Column column, String value, String s, int position) { String dc_id = mFilterStorageInBeans.get(position).getMBR_ID(); geDeleteData(dc_id); } @Override public void onDestroyView() { super.onDestroyView(); ((FunctionActivity) getActivity()).setMoreBtnVisible(false); ((FunctionActivity) getActivity()).setListIconIvVisible(false); CommonUtil.closeKeybord(storage_recharge_collect_et, mActivity); ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(getString(R.string.producemassagebinding)); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.storage_recharge_scan_iv: storage_recharge_collect_et.requestFocus(); if (CameraUtil.hasCamera()) { if (root.findFocus() != null) { mFocusId = root.findFocus().getId(); 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.shaopwork_id: et_linecode_smts.requestFocus(); if (CameraUtil.hasCamera()) { if (root.findFocus() != null) { mFocusId = root.findFocus().getId(); Intent intent = new Intent(); intent.setClass(mActivity, CaptureActivity.class); startActivityForResult(intent, SCAN_ID_BARCODE_CODE); } else { CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框"); } } else { CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected)); } 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); if (mFocusId == R.id.storage_recharge_collect_et) { storage_recharge_collect_et.setText(result); storage_recharge_collect_et.setSelection(result.length()); getsaVeData(); } } } if (requestCode == SCAN_ID_BARCODE_CODE && data != null) { if (data.getExtras() != null) { String result = data.getExtras().getString(CodeUtils.RESULT_STRING); if (mFocusId == R.id.et_linecode_smts) { et_linecode_smts.setText(result); et_linecode_smts.setSelection(result.length()); getfuzzySearchData(result); } } } if (requestCode == SCAN_BARCODE_CODESD && data != null) { if (data.getExtras() != null) { String result = data.getExtras().getString(com.uas.rd_equipment.camera.CodeUtils.RESULT_STRING); if (mFocusId == R.id.tv_dc_emcode) { // tv_dc_emcode.setText(result); getNewdc_emcodeData(result); } } } } @Override public void onDestroy() { super.onDestroy();; } }