ProduceMassageBindingFragment.java 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377
  1. package com.uas.rd_equipment.fragment;
  2. import android.annotation.SuppressLint;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Color;
  6. import android.graphics.drawable.BitmapDrawable;
  7. import android.support.annotation.Nullable;
  8. import android.support.v4.app.Fragment;
  9. import android.support.v4.content.ContextCompat;
  10. import android.support.v7.widget.DividerItemDecoration;
  11. import android.support.v7.widget.LinearLayoutManager;
  12. import android.support.v7.widget.RecyclerView;
  13. import android.text.Editable;
  14. import android.text.TextUtils;
  15. import android.text.TextWatcher;
  16. import android.util.Log;
  17. import android.view.Gravity;
  18. import android.view.KeyEvent;
  19. import android.view.LayoutInflater;
  20. import android.view.View;
  21. import android.view.Window;
  22. import android.view.WindowManager;
  23. import android.view.inputmethod.EditorInfo;
  24. import android.widget.AdapterView;
  25. import android.widget.ArrayAdapter;
  26. import android.widget.AutoCompleteTextView;
  27. import android.widget.Button;
  28. import android.widget.ImageView;
  29. import android.widget.LinearLayout;
  30. import android.widget.PopupWindow;
  31. import android.widget.RadioButton;
  32. import android.widget.RadioGroup;
  33. import android.widget.Spinner;
  34. import android.widget.TextView;
  35. import com.alibaba.fastjson.JSON;
  36. import com.alibaba.fastjson.JSONArray;
  37. import com.alibaba.fastjson.JSONObject;
  38. import com.android.volley.Request;
  39. import com.bin.david.form.core.SmartTable;
  40. import com.bin.david.form.core.TableConfig;
  41. import com.bin.david.form.data.CellInfo;
  42. import com.bin.david.form.data.column.Column;
  43. import com.bin.david.form.data.format.bg.BaseCellBackgroundFormat;
  44. import com.bin.david.form.data.style.FontStyle;
  45. import com.bin.david.form.data.table.TableData;
  46. import com.bin.david.form.listener.OnColumnItemClickListener;
  47. import com.chad.library.adapter.base.BaseQuickAdapter;
  48. import com.chad.library.adapter.base.BaseViewHolder;
  49. import com.uas.rd_equipment.R;
  50. import com.uas.rd_equipment.activity.FunctionActivity;
  51. import com.uas.rd_equipment.bean.LinecodeBean;
  52. import com.uas.rd_equipment.bean.MakerecordBean;
  53. import com.uas.rd_equipment.bean.ResourcesBean;
  54. import com.uas.rd_equipment.bean.User;
  55. import com.uas.rd_equipment.camera.CaptureActivity;
  56. import com.uas.rd_equipment.global.GloableParams;
  57. import com.uas.rd_equipment.tools.SharedPreUtil;
  58. import com.uas.rd_equipment.util.CameraUtil;
  59. import com.uas.rd_equipment.util.CommonUtil;
  60. import com.uas.rd_equipment.util.Constants;
  61. import com.uas.rd_equipment.util.FastjsonUtil;
  62. import com.uas.rd_equipment.util.HttpCallback;
  63. import com.uas.rd_equipment.util.HttpParams;
  64. import com.uas.rd_equipment.util.JsonUtils;
  65. import com.uas.rd_equipment.util.LogUtil;
  66. import com.uas.rd_equipment.util.MyArrayAdapter;
  67. import com.uas.rd_equipment.util.StringUtil;
  68. import com.uas.rd_equipment.util.VolleyRequest;
  69. import com.uas.rd_equipment.util.VollyRequest;
  70. import com.uas.rd_equipment.view.ClearableEditText;
  71. import com.uuzuche.lib_zxing.activity.CodeUtils;
  72. import org.json.JSONException;
  73. import java.text.SimpleDateFormat;
  74. import java.util.ArrayList;
  75. import java.util.Calendar;
  76. import java.util.Collections;
  77. import java.util.HashSet;
  78. import java.util.Iterator;
  79. import java.util.LinkedHashSet;
  80. import java.util.List;
  81. import java.util.Set;
  82. import razerdp.basepopup.BasePopupWindow;
  83. /**
  84. * Created by cjh on 2023-05-31
  85. * cjh生产信息绑定
  86. */
  87. public class ProduceMassageBindingFragment extends BaseFragment implements OnColumnItemClickListener<String>, View.OnClickListener ,AdapterView.OnItemSelectedListener{
  88. private AutoCompleteTextView storage_recharge_collect_et;
  89. private PopupWindow mMenuPopupWindow;
  90. private Fragment mFragment;
  91. private SmartTable mSmartTable;
  92. private Column<String> va_classColumn,va_codeColumn,va_vendnameColumn,va_vendcodeColumn,va_inmancolumn,va_DELETEColumn;
  93. private TableData<MakerecordBean> mTableData;
  94. private List<MakerecordBean> mFilterStorageInBeans;
  95. private ImageView mScanImageView;
  96. private Button mMenuButton;
  97. private static final int SCAN_BARCODE_CODE = 111;
  98. private static final int SCAN_ID_BARCODE_CODE = 890;
  99. private static final int SCAN_BARCODE_CODESD = 925;
  100. private int mFocusId;
  101. private Button bt_add;
  102. private AutoCompleteTextView et_linecode_smts;
  103. private ImageView iocout_smts;
  104. private ImageView iv_popuwindow;
  105. private AutoCompleteTextView ce_resources;
  106. private ImageView iv_resources_delete;
  107. private ImageView iv_resources;
  108. private TextView tv_pr_code;
  109. private TextView tv_pr_detail;
  110. private TextView tv_save;
  111. private RadioGroup rg_change;
  112. private RadioButton rb_equipment;
  113. private RadioButton rb_fixture;
  114. private RadioButton rb_ingredients;
  115. private String rb_changetext = null;
  116. private IpAndlinecodePortAdapter ipAndlinecodePortAdapter;
  117. private String ma_code;
  118. private List<LinecodeBean> linecodeBeanList;
  119. private ClearableEditText edit_et;
  120. private PopupWindow editPW;
  121. private String adapterpr_code;
  122. private String adapterpr_detail;
  123. private IpAndResourcesPortAdapter ipAndResourcesPortAdapter;
  124. private String sc_code;
  125. private List<ResourcesBean> resourcesBeanList;
  126. private AutoCompleteTextView tv_dc_emcode;
  127. private ImageView iv_dc_emcode;
  128. private TextView tv_dc_emname;
  129. private String substring;
  130. private TextView work_code_code;
  131. Spinner masterSpinner;
  132. static ArrayAdapter adapter;
  133. private List<String> masterFuncList;
  134. private String maFunName = null;
  135. private ImageView shaopwork_id;
  136. private List<String> stringList;
  137. private Set<String> setstring;
  138. private ImageView tv_dc_emcode_delete;
  139. private List<User> list;
  140. @Override
  141. protected int getLayout() {
  142. return R.layout.producemassagebinding_fragment;
  143. }
  144. @Override
  145. protected void initViews() {
  146. FunctionActivity.setTitle(getString(R.string.producemassagebinding));
  147. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  148. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  149. storage_recharge_collect_et = mActivity.findViewById(R.id.storage_recharge_collect_et);
  150. mSmartTable = mActivity.findViewById(R.id.jlt_storage_in_filter_list_st);
  151. mScanImageView = (ImageView) mActivity.findViewById(R.id.storage_recharge_scan_iv);
  152. mMenuButton = (Button) mActivity.findViewById(R.id.btn_actionbar_more);
  153. mMenuButton.setVisibility(View.GONE);
  154. et_linecode_smts = root.findViewById(R.id.et_linecode_smts);
  155. et_linecode_smts.setThreshold(1);
  156. iocout_smts = root.findViewById(R.id.iocout_smts);
  157. iv_popuwindow = root.findViewById(R.id.iv_popuwindow);
  158. et_linecode_smts.setThreshold(1);
  159. ce_resources = root.findViewById(R.id.ce_resources);
  160. iv_resources_delete = root.findViewById(R.id.iv_resources_delete);
  161. iv_resources = root.findViewById(R.id.iv_resources);
  162. tv_pr_code = root.findViewById(R.id.tv_pr_code);
  163. tv_pr_detail = root.findViewById(R.id.tv_pr_detail);
  164. tv_save = root.findViewById(R.id.tv_save);
  165. rg_change = root.findViewById(R.id.rg_change);
  166. rb_equipment = root.findViewById(R.id.rb_equipment);
  167. rb_fixture = root.findViewById(R.id.rb_fixture);
  168. rb_ingredients = root.findViewById(R.id.rb_ingredients);
  169. tv_dc_emcode = root.findViewById(R.id.tv_dc_emcode);
  170. iv_dc_emcode = root.findViewById(R.id.iv_dc_emcode);
  171. tv_dc_emname = root.findViewById(R.id.tv_dc_emname);
  172. work_code_code = root.findViewById(R.id.work_code_code);
  173. masterSpinner = (Spinner) root.findViewById(R.id.sp_login);
  174. shaopwork_id = root.findViewById(R.id.shaopwork_id);
  175. tv_dc_emcode_delete = root.findViewById(R.id.tv_dc_emcode_delete);
  176. }
  177. @Override
  178. protected void initEvents() {
  179. et_linecode_smts.requestFocus();
  180. mFilterStorageInBeans = Collections.synchronizedList(new ArrayList<>());
  181. }
  182. @Override
  183. protected void initDatas() {
  184. WindowManager wm = mActivity.getWindowManager();
  185. int screenWith = wm.getDefaultDisplay().getWidth();
  186. mSmartTable.getConfig().setMinTableWidth(screenWith)
  187. .setShowXSequence(false)
  188. .setShowYSequence(false)
  189. .setShowTableTitle(false)
  190. .setFixedTitle(true)
  191. .setVerticalPadding(CommonUtil.dip2px(mActivity, 12))
  192. .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 12))
  193. .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
  194. .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
  195. .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
  196. .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 15), Color.parseColor("#000000")))
  197. .setContentCellBackgroundFormat(new BaseCellBackgroundFormat<CellInfo>() {
  198. @Override
  199. public int getBackGroundColor(CellInfo cellInfo) {
  200. if (cellInfo.row % 2 == 0) {
  201. return ContextCompat.getColor(mActivity, R.color.blue_50);
  202. }
  203. return TableConfig.INVALID_COLOR;
  204. }
  205. });
  206. va_vendnameColumn = new Column<String>("设备编号", "MBR_BARCODE");
  207. va_vendnameColumn.setFixed(true);
  208. va_vendcodeColumn = new Column<String>("名称", "PR_DETAIL");
  209. va_codeColumn = new Column<String>("日期", "MBR_INDATE");
  210. va_inmancolumn = new Column<String>("操作员", "MBR_INMAN");
  211. va_classColumn = new Column<String>("单据编号", "MBR_MAKECODE");
  212. va_DELETEColumn = new Column<String>("操作", "MBR_DELETE");
  213. va_DELETEColumn.setOnColumnItemClickListener(this);
  214. mScanImageView.setOnClickListener(this);
  215. shaopwork_id.setOnClickListener(this);
  216. masterSpinner.setOnItemSelectedListener(this);
  217. /**----------------------------------扫码框------------------------------**/
  218. storage_recharge_collect_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  219. @Override
  220. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  221. if (actionId == EditorInfo.IME_ACTION_DONE
  222. || actionId == EditorInfo.IME_ACTION_SEND
  223. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  224. getsaVeData();
  225. return true;
  226. }
  227. return false;
  228. }
  229. });
  230. linecodeBeanList = new ArrayList<>();
  231. /**----------------------------------工单ID------------------------------**/
  232. et_linecode_smts.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  233. @Override
  234. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  235. if (actionId == EditorInfo.IME_ACTION_DONE
  236. || actionId == EditorInfo.IME_ACTION_SEND
  237. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  238. String va_code = et_linecode_smts.getText().toString().trim();
  239. getfuzzySearchData(va_code);
  240. return true;
  241. }
  242. return false;
  243. }
  244. });
  245. et_linecode_smts.addTextChangedListener(new TextWatcher() {
  246. @Override
  247. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  248. }
  249. @Override
  250. public void onTextChanged(CharSequence s, int start, int before, int count) {
  251. }
  252. @Override
  253. public void afterTextChanged(Editable s) {
  254. if (s == null || s.length() == 0) {
  255. iocout_smts.setVisibility(View.GONE);
  256. } else {
  257. iocout_smts.setVisibility(View.VISIBLE);
  258. }
  259. }
  260. });
  261. iocout_smts.setOnClickListener(new View.OnClickListener() {
  262. @Override
  263. public void onClick(View v) {
  264. et_linecode_smts.setText("");
  265. et_linecode_smts.requestFocus();
  266. }
  267. });
  268. iv_popuwindow.setOnClickListener(new View.OnClickListener() {
  269. @Override
  270. public void onClick(View v) {
  271. initlinecodePopupWindow();
  272. }
  273. });
  274. /**----------------------------------岗位资源------------------------------**/
  275. ce_resources.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  276. @Override
  277. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  278. if (actionId == EditorInfo.IME_ACTION_DONE
  279. || actionId == EditorInfo.IME_ACTION_SEND
  280. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  281. String va_code = ce_resources.getText().toString().trim();
  282. getfuzzySearchSourceData(va_code,"");
  283. return true;
  284. }
  285. return false;
  286. }
  287. });
  288. ce_resources.addTextChangedListener(new TextWatcher() {
  289. @Override
  290. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  291. }
  292. @Override
  293. public void onTextChanged(CharSequence s, int start, int before, int count) {
  294. if (s.length() >=2) {
  295. getfuzzySearchSourceData(ce_resources.getText().toString().trim(),"");
  296. }
  297. }
  298. @Override
  299. public void afterTextChanged(Editable s) {
  300. if (s == null || s.length() == 0) {
  301. iv_resources_delete.setVisibility(View.GONE);
  302. } else {
  303. iv_resources_delete.setVisibility(View.VISIBLE);
  304. }
  305. }
  306. });
  307. iv_resources_delete.setOnClickListener(new View.OnClickListener() {
  308. @Override
  309. public void onClick(View v) {
  310. ce_resources.setText("");
  311. ce_resources.requestFocus();
  312. }
  313. });
  314. iv_resources.setOnClickListener(new View.OnClickListener() {
  315. @Override
  316. public void onClick(View v) {
  317. initresourcesPopupWindow();
  318. }
  319. });
  320. rg_change.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
  321. @SuppressLint("NonConstantResourceId")
  322. @Override
  323. public void onCheckedChanged(RadioGroup radioGroup, int checkid) {
  324. switch (checkid){
  325. case R.id.rb_equipment:
  326. rb_changetext = "设备";
  327. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  328. break;
  329. case R.id.rb_fixture:
  330. rb_changetext = "夹具";
  331. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  332. break;
  333. case R.id.rb_ingredients:
  334. rb_changetext = "辅料";
  335. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  336. break;
  337. }
  338. }
  339. });
  340. tv_save.setOnClickListener(new View.OnClickListener() {
  341. @Override
  342. public void onClick(View v) {
  343. // getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  344. getsaVeData();
  345. }
  346. });
  347. stringList = new ArrayList<>();
  348. setstring = new HashSet<>();
  349. //人员编号
  350. tv_dc_emcode.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  351. @Override
  352. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  353. if (actionId == EditorInfo.IME_ACTION_DONE
  354. || actionId == EditorInfo.IME_ACTION_SEND
  355. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  356. String dc_emcode = tv_dc_emcode.getText().toString().trim();
  357. getNewdc_emcodeData(dc_emcode);
  358. return true;
  359. }
  360. return false;
  361. }
  362. });
  363. tv_dc_emcode.addTextChangedListener(new TextWatcher() {
  364. @Override
  365. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  366. }
  367. @Override
  368. public void onTextChanged(CharSequence s, int start, int before, int count) {
  369. }
  370. @Override
  371. public void afterTextChanged(Editable s) {
  372. if (s == null || s.length() == 0) {
  373. tv_dc_emcode_delete.setVisibility(View.GONE);
  374. } else {
  375. tv_dc_emcode_delete.setVisibility(View.VISIBLE);
  376. }
  377. }
  378. });
  379. tv_dc_emcode_delete.setOnClickListener(new View.OnClickListener() {
  380. @Override
  381. public void onClick(View v) {
  382. tv_dc_emcode.setText("");
  383. tv_dc_emcode.requestFocus();
  384. }
  385. });
  386. iv_dc_emcode.setOnClickListener(new View.OnClickListener() {
  387. @Override
  388. public void onClick(View v) {
  389. tv_dc_emcode.requestFocus();
  390. if (CameraUtil.hasCamera()) {
  391. if (root.findFocus() != null) {
  392. mFocusId = root.findFocus().getId();
  393. Intent intent = new Intent();
  394. intent.setClass(mActivity, CaptureActivity.class);
  395. startActivityForResult(intent, SCAN_BARCODE_CODESD);
  396. SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, "NO");
  397. } else {
  398. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  399. }
  400. } else {
  401. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  402. }
  403. }
  404. });
  405. masterFuncList = new ArrayList<String>();
  406. getworkshopData();
  407. // ceshiData();
  408. }
  409. String inputString ="" ;
  410. public void getNewdc_emcodeData(String input){
  411. if (input.isEmpty()){
  412. CommonUtil.toastNoRepeat(mActivity, "请输入人员编号");
  413. return;
  414. }
  415. list = new ArrayList<>();
  416. list.clear();
  417. String[] split = input.split(",");
  418. for (String value : split) {
  419. User user=new User();
  420. if (!value.isEmpty()) {
  421. user.setName(value + ",");
  422. list.add(user);
  423. }
  424. }
  425. for (int i = 0; i < list.size(); i++) //外循环是循环的次数
  426. {
  427. for (int j = list.size() - 1; j > i; j--) //内循环是 外循环一次比较的次数
  428. {
  429. if (list.get(i).getName().equals(list.get(j).getName()))
  430. {
  431. list.remove(j);
  432. }
  433. }
  434. }
  435. for (int s = 0; s < list.size(); s++) {
  436. inputString+= list.get(s).getName();
  437. }
  438. progressDialog.show();
  439. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  440. .url(GloableParams.ASTATIONTHE_SELECT_GETEMNAME)
  441. .method(Request.Method.GET)
  442. .addParam("em_code",inputString)
  443. .build(), new HttpCallback() {
  444. @Override
  445. public void onSuccess(int flag, Object o) throws Exception {//DeviceChange!Use
  446. progressDialog.dismiss();
  447. String result = o.toString();
  448. JSONObject resultObject = JSON.parseObject(result);
  449. JSONObject dataObject = resultObject.getJSONObject("items");
  450. String de_name = FastjsonUtil.getText(dataObject, "em_name");
  451. tv_dc_emname.setText(de_name);
  452. tv_dc_emcode.setText(inputString+"");
  453. tv_dc_emcode.setSelection(tv_dc_emcode.getText().toString().length());
  454. inputString="";
  455. }
  456. @Override
  457. public void onFail(int flag, String failStr) throws Exception {
  458. progressDialog.dismiss();
  459. inputString="";
  460. CommonUtil.toastNoRepeat(mActivity, failStr);
  461. for (int s = 0; s < list.size(); s++) {
  462. if (failStr.contains(list.get(s).getName().replace(",",""))){
  463. list.remove(s);
  464. }
  465. }
  466. for (int s = 0; s < list.size(); s++) {
  467. inputString+= list.get(s).getName();
  468. }
  469. tv_dc_emcode.setText(inputString+"");
  470. tv_dc_emcode.setSelection(tv_dc_emcode.getText().toString().length());
  471. inputString="";
  472. }
  473. });
  474. }
  475. public static List<String> removeDuplicate(List<String> list)
  476. {
  477. Set set = new LinkedHashSet<String>();
  478. set.addAll(list);
  479. list.clear();
  480. list.addAll(set);
  481. return list;
  482. }
  483. /**
  484. * 得到去除重复后的集合
  485. * @param list
  486. * @return
  487. */
  488. private static List<User> getRemoveList(List<User> list){
  489. Set set = new HashSet();
  490. List<User> newList = new ArrayList<>();
  491. for (Iterator iter = list.iterator(); iter.hasNext();){
  492. User object = (User) iter.next();
  493. if(set.add(object))
  494. newList.add(object);
  495. }
  496. return newList;
  497. }
  498. //工单ID
  499. public void getfuzzySearchData(String inoutNo){
  500. if (inoutNo.isEmpty()){
  501. CommonUtil.toastNoRepeat(mActivity, "请输入工单ID");
  502. return;
  503. }
  504. progressDialog.show();
  505. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  506. .url(GloableParams.ADDRESS_SMT_FUZZY_SEARCH)
  507. .method(Request.Method.GET)
  508. .addParam("inoutNo", inoutNo)
  509. .build(), new HttpCallback() {
  510. @Override
  511. public void onSuccess(int flag, Object o) throws Exception {
  512. progressDialog.dismiss();
  513. String s = o.toString();
  514. List<String> mAutoStrings = new ArrayList<String>();
  515. try {
  516. tv_dc_emcode.requestFocus();
  517. tv_dc_emcode.setSelection(tv_dc_emcode.getText().length());
  518. mAutoStrings.clear();
  519. linecodeBeanList.clear();
  520. org.json.JSONObject resultObject = new org.json.JSONObject(s);
  521. org.json.JSONArray dataArray = resultObject.optJSONArray("data");
  522. JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"data");
  523. if (dataArrayone == null|| dataArrayone.size() == 0){
  524. CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
  525. }
  526. for(Object index:dataArrayone){
  527. JSONObject data = (JSONObject) index;
  528. LinecodeBean bean = new LinecodeBean();
  529. bean.setMA_CODE(data.getString("MA_CODE"));
  530. bean.setPR_CODE(data.getString("PR_CODE"));
  531. bean.setPR_DETAIL(data.getString("PR_DETAIL"));
  532. bean.setMA_WCCODE(data.getString("MA_WCCODE"));
  533. tv_pr_code.setText(""+data.getString("PR_CODE"));
  534. tv_pr_detail.setText("产品名称 "+data.getString("PR_DETAIL"));
  535. work_code_code.setText(""+data.getString("MA_CODE"));
  536. linecodeBeanList.add(bean);
  537. CommonUtil.setSpinnerItemSelectedByValue(masterSpinner, data.getString("MA_WCCODE"));
  538. }
  539. ipAndlinecodePortAdapter.setmList(linecodeBeanList);
  540. ipAndlinecodePortAdapter.notifyDataSetChanged();
  541. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  542. } catch (JSONException e) {
  543. e.printStackTrace();
  544. }
  545. }
  546. @Override
  547. public void onFail(int flag, String failStr) throws Exception {
  548. progressDialog.dismiss();
  549. CommonUtil.toastNoRepeat(mActivity, failStr);
  550. }
  551. });
  552. }
  553. public void getworkshopData(){
  554. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  555. .url(GloableParams.ASTATIONTHE_SELECT_GETWORKCENTER)
  556. .method(Request.Method.GET)
  557. .build(), new HttpCallback() {
  558. @Override
  559. public void onSuccess(int flag, Object o) throws Exception {
  560. progressDialog.dismiss();
  561. try {
  562. masterFuncList.clear();
  563. JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"items");
  564. if (dataArrayone == null|| dataArrayone.size() == 0){
  565. CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
  566. }
  567. for(Object index:dataArrayone){
  568. JSONObject data = (JSONObject) index;
  569. masterFuncList.add(data.getString("WC_NAME"));
  570. }
  571. adapter = new ArrayAdapter(mActivity, R.layout.item_spinner, R.id.text_spinner, masterFuncList);
  572. masterSpinner.setAdapter(adapter);
  573. } catch (Exception e) {
  574. e.printStackTrace();
  575. }
  576. }
  577. @Override
  578. public void onFail(int flag, String failStr) throws Exception {
  579. progressDialog.dismiss();
  580. CommonUtil.toastNoRepeat(mActivity, failStr);
  581. }
  582. });
  583. }
  584. @Override
  585. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  586. //获得master的name
  587. maFunName = masterFuncList.get(position);
  588. LogUtil.i("maname",maFunName);
  589. }
  590. @Override
  591. public void onNothingSelected(AdapterView<?> parent) {
  592. }
  593. //岗位资源
  594. public void getfuzzySearchSourceData(String sourcecode,String sourstring){
  595. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  596. .url(GloableParams.ASTATIONTHE_SELECT_FUZZYSEARCHSOURCE)
  597. .method(Request.Method.GET)
  598. .addParam("sourcecode", sourcecode)
  599. .build(), new HttpCallback() {
  600. @Override
  601. public void onSuccess(int flag, Object o) throws Exception {
  602. progressDialog.dismiss();
  603. String s = o.toString();
  604. List<String> mAutoStrings = new ArrayList<String>();
  605. try {
  606. mAutoStrings.clear();
  607. resourcesBeanList.clear();
  608. MyArrayAdapter<String> mAutoStringAdapte = new MyArrayAdapter<String>(mActivity, android.R.layout.simple_dropdown_item_1line, mAutoStrings);
  609. if (ce_resources != null) {
  610. ce_resources.setAdapter(mAutoStringAdapte);
  611. }
  612. org.json.JSONObject resultObject = new org.json.JSONObject(s);
  613. org.json.JSONArray dataArray = resultObject.optJSONArray("data");
  614. JSONArray dataArrayone = FastjsonUtil.getJSONArray(o.toString(),"data");
  615. if (sourstring.equals("弹框")){
  616. if (dataArrayone == null|| dataArrayone.size() == 0){
  617. CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
  618. }
  619. for(Object index:dataArrayone){
  620. JSONObject data = (JSONObject) index;
  621. ResourcesBean bean = new ResourcesBean();
  622. bean.setSC_CODE(data.getString("SC_CODE"));
  623. bean.setST_REMARK(data.getString("ST_REMARK"));
  624. resourcesBeanList.add(bean);
  625. }
  626. ipAndResourcesPortAdapter.setmList(resourcesBeanList);
  627. ipAndResourcesPortAdapter.notifyDataSetChanged();
  628. }else {
  629. if (dataArray != null) {
  630. for (int i = 0; i < dataArray.length(); i++) {
  631. org.json.JSONObject dataObject = dataArray.optJSONObject(i);
  632. if (dataObject != null) {
  633. String pi_inoutno = JsonUtils.optStringNotNull(dataObject, "SC_CODE");
  634. if (!TextUtils.isEmpty(pi_inoutno))
  635. mAutoStringAdapte.add(pi_inoutno);
  636. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  637. }
  638. }
  639. }
  640. }
  641. } catch (JSONException e) {
  642. e.printStackTrace();
  643. }
  644. }
  645. @Override
  646. public void onFail(int flag, String failStr) throws Exception {
  647. progressDialog.dismiss();
  648. CommonUtil.toastNoRepeat(mActivity, failStr);
  649. }
  650. });
  651. }
  652. private void getDatalistCodes(String sourcecode,String macode){
  653. if (macode.isEmpty()||sourcecode.isEmpty()){
  654. return;
  655. }
  656. if (rb_equipment.isChecked()){
  657. rb_changetext="设备";
  658. }
  659. progressDialog.show();
  660. VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
  661. .url(GloableParams.ASTATIONTHE_SELECT_GETMAKERECORD)
  662. .method(Request.Method.GET)
  663. .tag(TAG + "getindatalist")
  664. .flag(0)
  665. .addParam("macode", macode)
  666. .addParam("sourcecode", sourcecode)
  667. .addParam("type", rb_changetext)
  668. .build(), new HttpCallback() {
  669. @Override
  670. public void onSuccess(int flag, Object o) throws Exception {
  671. progressDialog.dismiss();
  672. try {
  673. mFilterStorageInBeans.clear();
  674. String result = o.toString();
  675. JSONObject resultObject = JSON.parseObject(result);
  676. JSONArray dataArray = resultObject.getJSONArray("success");
  677. List<MakerecordBean> list=new ArrayList<>();
  678. list.clear();
  679. if (dataArray != null && dataArray.size() > 0) {
  680. for (int i = 0; i < dataArray.size(); i++) {
  681. JSONObject dataObject = dataArray.getJSONObject(i);
  682. if (dataObject != null) {
  683. MakerecordBean jltStorageInBean = new MakerecordBean();
  684. jltStorageInBean.setMBR_ID(FastjsonUtil.getText(dataObject, "MBR_ID"));
  685. jltStorageInBean.setMBR_BARCODE(FastjsonUtil.getText(dataObject, "MBR_BARCODE"));
  686. jltStorageInBean.setMBR_PRODCODE(FastjsonUtil.getText(dataObject, "MBR_PRODCODE"));
  687. jltStorageInBean.setMBR_MAKECODE(FastjsonUtil.getText(dataObject, "MBR_MAKECODE"));
  688. jltStorageInBean.setMBR_SOURCECODE(FastjsonUtil.getText(dataObject, "MBR_SOURCECODE"));
  689. jltStorageInBean.setMBR_TYPE(FastjsonUtil.getText(dataObject, "MBR_TYPE"));
  690. if (!StringUtil.isEmpty(FastjsonUtil.getText(dataObject, "MBR_INDATE"))){
  691. String mbr_indate = timetodate(FastjsonUtil.getText(dataObject, "MBR_INDATE"));
  692. jltStorageInBean.setMBR_INDATE(mbr_indate);
  693. }else {
  694. jltStorageInBean.setMBR_INDATE("");
  695. }
  696. jltStorageInBean.setPR_DETAIL(FastjsonUtil.getText(dataObject, "PR_DETAIL"));
  697. jltStorageInBean.setMBR_INMAN(FastjsonUtil.getText(dataObject, "MBR_INMAN"));
  698. jltStorageInBean.setMBR_DELETE("删除");
  699. list.add(jltStorageInBean);
  700. }
  701. }
  702. }
  703. mFilterStorageInBeans = list;//PI_INOUTNO
  704. setFilterTableData(mFilterStorageInBeans);
  705. progressDialog.dismiss();
  706. } catch (Exception e) {
  707. e.printStackTrace();
  708. progressDialog.dismiss();
  709. }
  710. }
  711. @Override
  712. public void onFail(int flag, String failStr) throws Exception {
  713. progressDialog.dismiss();
  714. CommonUtil.toastNoRepeat(mActivity, failStr);
  715. setFilterTableData(mFilterStorageInBeans);
  716. progressDialog.dismiss();
  717. }
  718. });
  719. }
  720. public static String timetodate(String time) {
  721. Calendar calendar = Calendar.getInstance();
  722. calendar.setTimeInMillis(Long.valueOf(time));
  723. SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//这里的格式可换"yyyy年-MM月dd日-HH时mm分ss秒"等等格式
  724. String date = sf.format(calendar.getTime());
  725. return date;
  726. }
  727. public void geDeleteData(String mbr_id){
  728. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  729. .url(GloableParams.ASTATIONTHE_SELECT_DELETEMAKERECORD)
  730. .method(Request.Method.GET)
  731. .addParam("mbr_id", mbr_id)
  732. .build(), new HttpCallback() {
  733. @Override
  734. public void onSuccess(int flag, Object o) throws Exception {
  735. progressDialog.dismiss();
  736. CommonUtil.toastNoRepeat(mActivity, "删除成功");
  737. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  738. }
  739. @Override
  740. public void onFail(int flag, String failStr) throws Exception {
  741. progressDialog.dismiss();
  742. CommonUtil.toastNoRepeat(mActivity, failStr);
  743. }
  744. });
  745. }
  746. public void getsaVeData(){
  747. if (rb_equipment.isChecked()){
  748. rb_changetext="设备";
  749. }
  750. String ce_work_codetrim = work_code_code.getText().toString().trim();
  751. String at_stationtrim = ce_resources.getText().toString().trim();
  752. if (ce_work_codetrim.isEmpty()){
  753. CommonUtil.toastNoRepeat(mActivity, "请选择工单号");
  754. return;
  755. }
  756. if (at_stationtrim.isEmpty()){
  757. CommonUtil.toastNoRepeat(mActivity, "请选择岗位资源");
  758. return;
  759. }
  760. JSONArray jsonArray = new JSONArray();
  761. JSONObject object_1 = new JSONObject();
  762. object_1.put("MBR_MAKECODE", ce_work_codetrim);//工单号
  763. object_1.put("MBR_SOURCECODE", at_stationtrim);//资源
  764. object_1.put("MBR_TYPE", rb_changetext);//设备\夹具\辅料
  765. object_1.put("MBR_PRODCODE", tv_pr_code.getText());//产品编号
  766. object_1.put("MBR_INMAN", tv_dc_emname.getText());//人员名称
  767. object_1.put("MBR_BARCODE", storage_recharge_collect_et.getText().toString().trim());
  768. object_1.put("MBR_WCCODE", maFunName);
  769. jsonArray.add(object_1);
  770. String substring = jsonArray.toString().substring(0, jsonArray.toString().length() - 1);//去除尾部
  771. String substring1 = substring.substring(1, substring.length());//去除首部
  772. Log.e("jsonArray===",substring1);
  773. progressDialog.show();
  774. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  775. .url(GloableParams.ASTATIONTHE_SELECT_SAVEMAKERECORD)
  776. .method(Request.Method.GET)
  777. .addParam("datainto", substring1)
  778. .build(), new HttpCallback() {
  779. @Override
  780. public void onSuccess(int flag, Object o) throws Exception {
  781. progressDialog.dismiss();
  782. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  783. CommonUtil.toastNoRepeat(mActivity, "保存成功");
  784. storage_recharge_collect_et.setText("");
  785. }
  786. @Override
  787. public void onFail(int flag, String failStr) throws Exception {
  788. progressDialog.dismiss();
  789. CommonUtil.toastNoRepeat(mActivity, failStr);
  790. storage_recharge_collect_et.setText("");
  791. }
  792. });
  793. }
  794. private void setFilterTableData(List<MakerecordBean> filterTableData) {
  795. mTableData = new TableData<MakerecordBean>("收料单列表", filterTableData,
  796. va_vendnameColumn,va_vendcodeColumn,va_codeColumn,va_inmancolumn,va_classColumn,va_DELETEColumn);
  797. mSmartTable.setTableData(mTableData);
  798. // mSmartTable.requestLayout();
  799. mSmartTable.postDelayed(new Runnable() {
  800. @Override
  801. public void run() {
  802. mSmartTable.postInvalidate();
  803. }
  804. }, 100);
  805. }
  806. /**
  807. * 关于工单号弹框
  808. */
  809. private void initlinecodePopupWindow() {
  810. ipAndlinecodePortAdapter = new IpAndlinecodePortAdapter(linecodeBeanList);
  811. View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null);
  812. edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
  813. TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
  814. TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
  815. ImageView search_im = contView.findViewById(R.id.search_im);
  816. RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
  817. rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
  818. rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
  819. ipAndlinecodePortAdapter.setmList(linecodeBeanList);
  820. rv_ip_port_data.setAdapter(ipAndlinecodePortAdapter);
  821. getfuzzySearchData(et_linecode_smts.getText().toString().trim());
  822. editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
  823. editPW.setTouchable(true);
  824. editPW.setBackgroundDrawable(new BitmapDrawable());
  825. editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
  826. @Override
  827. public void onDismiss() {
  828. closeListPopupWindow();
  829. }
  830. });
  831. View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
  832. editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
  833. CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
  834. search_im.setOnClickListener(new View.OnClickListener() {
  835. @Override
  836. public void onClick(View v) {
  837. ipAndlinecodePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  838. @Override
  839. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  840. List<LinecodeBean> ipAndPortBeans = ipAndlinecodePortAdapter.getmList();
  841. ma_code = ipAndPortBeans.get(position).getMA_CODE();
  842. adapterpr_code = ipAndPortBeans.get(position).getPR_CODE();
  843. adapterpr_detail = ipAndPortBeans.get(position).getPR_DETAIL();
  844. for (int i = 0; i < ipAndPortBeans.size(); i++) {
  845. ipAndPortBeans.get(i).setChecked(false);
  846. }
  847. ipAndPortBeans.get(position).setChecked(true);
  848. ipAndlinecodePortAdapter.notifyDataSetChanged();
  849. }
  850. });
  851. getfuzzySearchData(edit_et.getText().toString().trim());
  852. }
  853. });
  854. ipAndlinecodePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  855. @Override
  856. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  857. List<LinecodeBean> ipAndPortBeans = ipAndlinecodePortAdapter.getmList();
  858. ma_code = ipAndPortBeans.get(position).getMA_CODE();
  859. adapterpr_code = ipAndPortBeans.get(position).getPR_CODE();
  860. adapterpr_detail = ipAndPortBeans.get(position).getPR_DETAIL();
  861. for (int i = 0; i < ipAndPortBeans.size(); i++) {
  862. ipAndPortBeans.get(i).setChecked(false);
  863. }
  864. ipAndPortBeans.get(position).setChecked(true);
  865. ipAndlinecodePortAdapter.notifyDataSetChanged();
  866. }
  867. });
  868. //确定
  869. sure_tv.setOnClickListener(new View.OnClickListener() {
  870. @Override
  871. public void onClick(View v) {
  872. et_linecode_smts.setText(ma_code);
  873. tv_pr_code.setText(""+adapterpr_code);
  874. tv_pr_detail.setText("产品名称 "+adapterpr_detail);
  875. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  876. closeListPopupWindow();
  877. }
  878. });
  879. //取消
  880. cancle_tv.setOnClickListener(new View.OnClickListener() {
  881. @Override
  882. public void onClick(View v) {
  883. closeListPopupWindow();
  884. }
  885. });
  886. // edit_et.addTextChangedListener(new TextWatcher() {
  887. // @Override
  888. // public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
  889. // @Override
  890. // public void onTextChanged(CharSequence s, int start, int before, int count) { }
  891. // @Override
  892. // public void afterTextChanged(Editable s) {
  893. // if (linecodeBeanList.isEmpty()){
  894. // getfuzzySearchData(et_linecode_smts.getText().toString().trim(),"弹框");
  895. // }
  896. // if (s.length() >= 0) {
  897. // String mSearchStr = s.toString().trim();
  898. // LogUtil.i("mSearchStr",mSearchStr);
  899. // List<LinecodeBean> thisList = new ArrayList<>();
  900. // for(int i=0;i<linecodeBeanList.size();i++){
  901. // if(linecodeBeanList.get(i).getMA_CODE().contains(mSearchStr)){
  902. // thisList.add(linecodeBeanList.get(i));
  903. // }
  904. // if(i == linecodeBeanList.size() -1){
  905. // ipAndlinecodePortAdapter = new IpAndlinecodePortAdapter(thisList);
  906. // rv_ip_port_data.setAdapter(ipAndlinecodePortAdapter);
  907. // LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
  908. // }
  909. // }
  910. // ipAndlinecodePortAdapter.notifyDataSetChanged();
  911. //
  912. // } else {
  913. //
  914. // ipAndlinecodePortAdapter = new IpAndlinecodePortAdapter(linecodeBeanList);
  915. // rv_ip_port_data.setAdapter(ipAndlinecodePortAdapter);
  916. //
  917. // }
  918. // ipAndlinecodePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  919. // @Override
  920. // public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  921. // List<LinecodeBean> ipAndPortBeans = ipAndlinecodePortAdapter.getmList();
  922. // for (int i = 0; i < ipAndPortBeans.size(); i++) {
  923. // ipAndPortBeans.get(i).setChecked(false);
  924. // }
  925. // ipAndPortBeans.get(position).setChecked(true);
  926. // ipAndlinecodePortAdapter.notifyDataSetChanged();
  927. // }
  928. // });
  929. // }
  930. //
  931. // });
  932. }
  933. /**
  934. * 关于岗位资源弹框
  935. */
  936. private void initresourcesPopupWindow() {
  937. resourcesBeanList = new ArrayList<>();
  938. ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(resourcesBeanList);
  939. View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null);
  940. edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
  941. TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
  942. TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
  943. ImageView search_im = contView.findViewById(R.id.search_im);
  944. RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
  945. rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
  946. rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
  947. ipAndResourcesPortAdapter.setmList(resourcesBeanList);
  948. rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
  949. getfuzzySearchSourceData(ce_resources.getText().toString().trim(),"弹框");
  950. editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
  951. editPW.setTouchable(true);
  952. editPW.setBackgroundDrawable(new BitmapDrawable());
  953. editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
  954. @Override
  955. public void onDismiss() {
  956. closeListPopupWindow();
  957. }
  958. });
  959. View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
  960. editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
  961. CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
  962. search_im.setOnClickListener(new View.OnClickListener() {
  963. @Override
  964. public void onClick(View v) {
  965. ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  966. @Override
  967. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  968. List<ResourcesBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
  969. sc_code = ipAndPortBeans.get(position).getSC_CODE();
  970. for (int i = 0; i < ipAndPortBeans.size(); i++) {
  971. ipAndPortBeans.get(i).setChecked(false);
  972. }
  973. ipAndPortBeans.get(position).setChecked(true);
  974. ipAndResourcesPortAdapter.notifyDataSetChanged();
  975. }
  976. });
  977. getfuzzySearchSourceData(edit_et.getText().toString().trim(),"弹框");
  978. }
  979. });
  980. ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  981. @Override
  982. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  983. List<ResourcesBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
  984. sc_code = ipAndPortBeans.get(position).getSC_CODE();
  985. for (int i = 0; i < ipAndPortBeans.size(); i++) {
  986. ipAndPortBeans.get(i).setChecked(false);
  987. }
  988. ipAndPortBeans.get(position).setChecked(true);
  989. ipAndResourcesPortAdapter.notifyDataSetChanged();
  990. }
  991. });
  992. //确定
  993. sure_tv.setOnClickListener(new View.OnClickListener() {
  994. @Override
  995. public void onClick(View v) {
  996. ce_resources.setText(sc_code);
  997. getDatalistCodes(ce_resources.getText().toString().trim(),work_code_code.getText().toString().trim());
  998. closeListPopupWindow();
  999. }
  1000. });
  1001. //取消
  1002. cancle_tv.setOnClickListener(new View.OnClickListener() {
  1003. @Override
  1004. public void onClick(View v) {
  1005. closeListPopupWindow();
  1006. }
  1007. });
  1008. // edit_et.addTextChangedListener(new TextWatcher() {
  1009. // @Override
  1010. // public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
  1011. // @Override
  1012. // public void onTextChanged(CharSequence s, int start, int before, int count) { }
  1013. // @Override
  1014. // public void afterTextChanged(Editable s) {
  1015. // if (resourcesBeanList.isEmpty()){
  1016. // getfuzzySearchSourceData(ce_resources.getText().toString().trim(),"弹框");
  1017. // }
  1018. // if (s.length() >= 0) {
  1019. // String mSearchStr = s.toString().trim();
  1020. // LogUtil.i("mSearchStr",mSearchStr);
  1021. // List<ResourcesBean> thisList = new ArrayList<>();
  1022. // for(int i=0;i<resourcesBeanList.size();i++){
  1023. // if(resourcesBeanList.get(i).getSC_CODE().contains(mSearchStr)){
  1024. // thisList.add(resourcesBeanList.get(i));
  1025. // }
  1026. // if(i == resourcesBeanList.size() -1){
  1027. // ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(thisList);
  1028. // rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
  1029. // LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
  1030. // }
  1031. // }
  1032. // ipAndResourcesPortAdapter.notifyDataSetChanged();
  1033. //
  1034. // } else {
  1035. //
  1036. // ipAndResourcesPortAdapter = new IpAndResourcesPortAdapter(resourcesBeanList);
  1037. // rv_ip_port_data.setAdapter(ipAndResourcesPortAdapter);
  1038. //
  1039. // }
  1040. // ipAndResourcesPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  1041. // @Override
  1042. // public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  1043. // List<ResourcesBean> ipAndPortBeans = ipAndResourcesPortAdapter.getmList();
  1044. // for (int i = 0; i < ipAndPortBeans.size(); i++) {
  1045. // ipAndPortBeans.get(i).setChecked(false);
  1046. // }
  1047. // ipAndPortBeans.get(position).setChecked(true);
  1048. // ipAndResourcesPortAdapter.notifyDataSetChanged();
  1049. // }
  1050. // });
  1051. // }
  1052. //
  1053. // });
  1054. }
  1055. private void closeListPopupWindow() {
  1056. if (editPW != null) {
  1057. editPW.dismiss();
  1058. editPW = null;
  1059. CommonUtil.setBackgroundAlpha(mActivity, 1f);
  1060. }
  1061. }
  1062. private class IpAndlinecodePortAdapter extends BaseQuickAdapter<LinecodeBean, BaseViewHolder> {
  1063. private List<LinecodeBean> mmmmList;
  1064. public List<LinecodeBean> getmList() {
  1065. return mmmmList;
  1066. }
  1067. public void setmList(List<LinecodeBean> mList) {
  1068. this.mmmmList = mList;
  1069. }
  1070. public LinecodeBean getBeanByPositon(int position){
  1071. return mmmmList.get(position);
  1072. }
  1073. private IpAndlinecodePortAdapter(@Nullable List<LinecodeBean> data) {
  1074. super(R.layout.fuzzy_ipandport_item, data);
  1075. this.mmmmList = data;
  1076. }
  1077. @Override
  1078. protected void convert(BaseViewHolder helper, LinecodeBean item) {
  1079. helper.setText(R.id.macode_ip__Tv,item.getMA_CODE()+"-"+item.getPR_CODE()+"-"+item.getPR_DETAIL());
  1080. LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
  1081. if (item.getChecked()) {
  1082. line_true.setSelected(true);
  1083. } else {
  1084. line_true.setSelected(false);
  1085. }
  1086. }
  1087. }
  1088. private class IpAndResourcesPortAdapter extends BaseQuickAdapter<ResourcesBean, BaseViewHolder> {
  1089. private List<ResourcesBean> mmmmList;
  1090. public List<ResourcesBean> getmList() {
  1091. return mmmmList;
  1092. }
  1093. public void setmList(List<ResourcesBean> mList) {
  1094. this.mmmmList = mList;
  1095. }
  1096. public ResourcesBean getBeanByPositon(int position){
  1097. return mmmmList.get(position);
  1098. }
  1099. private IpAndResourcesPortAdapter(@Nullable List<ResourcesBean> data) {
  1100. super(R.layout.fuzzy_ipandport_item, data);
  1101. this.mmmmList = data;
  1102. }
  1103. @Override
  1104. protected void convert(BaseViewHolder helper, ResourcesBean item) {
  1105. helper.setText(R.id.macode_ip__Tv,item.getSC_CODE());
  1106. LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
  1107. if (item.getChecked()) {
  1108. line_true.setSelected(true);
  1109. } else {
  1110. line_true.setSelected(false);
  1111. }
  1112. }
  1113. }
  1114. @Override
  1115. public boolean onKeyDown(int keyCode, KeyEvent event) {
  1116. return false;
  1117. }
  1118. @Override
  1119. public boolean onFragmentBackPressed() {
  1120. return false;
  1121. }
  1122. @Override
  1123. public void onHiddenChanged(boolean hidden) {
  1124. super.onHiddenChanged(hidden);
  1125. if (hidden) {
  1126. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  1127. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  1128. } else {
  1129. FunctionActivity.setTitle(getString(R.string.producemassagebinding));
  1130. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  1131. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  1132. }
  1133. }
  1134. @Override
  1135. public void onClick(Column<String> column, String value, String s, int position) {
  1136. String dc_id = mFilterStorageInBeans.get(position).getMBR_ID();
  1137. geDeleteData(dc_id);
  1138. }
  1139. @Override
  1140. public void onDestroyView() {
  1141. super.onDestroyView();
  1142. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  1143. ((FunctionActivity) getActivity()).setListIconIvVisible(false);
  1144. CommonUtil.closeKeybord(storage_recharge_collect_et, mActivity);
  1145. ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(getString(R.string.producemassagebinding));
  1146. }
  1147. @Override
  1148. public void onClick(View v) {
  1149. switch (v.getId()) {
  1150. case R.id.storage_recharge_scan_iv:
  1151. storage_recharge_collect_et.requestFocus();
  1152. if (CameraUtil.hasCamera()) {
  1153. if (root.findFocus() != null) {
  1154. mFocusId = root.findFocus().getId();
  1155. Intent intent = new Intent();
  1156. intent.setClass(mActivity, CaptureActivity.class);
  1157. startActivityForResult(intent, SCAN_BARCODE_CODE);
  1158. } else {
  1159. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  1160. }
  1161. } else {
  1162. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  1163. }
  1164. break;
  1165. case R.id.shaopwork_id:
  1166. et_linecode_smts.requestFocus();
  1167. if (CameraUtil.hasCamera()) {
  1168. if (root.findFocus() != null) {
  1169. mFocusId = root.findFocus().getId();
  1170. Intent intent = new Intent();
  1171. intent.setClass(mActivity, CaptureActivity.class);
  1172. startActivityForResult(intent, SCAN_ID_BARCODE_CODE);
  1173. } else {
  1174. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  1175. }
  1176. } else {
  1177. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  1178. }
  1179. break;
  1180. }
  1181. }
  1182. @Override
  1183. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  1184. super.onActivityResult(requestCode, resultCode, data);
  1185. if (resultCode != Activity.RESULT_OK) {
  1186. return;
  1187. }
  1188. if (requestCode == SCAN_BARCODE_CODE && data != null) {
  1189. if (data.getExtras() != null) {
  1190. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  1191. if (mFocusId == R.id.storage_recharge_collect_et) {
  1192. storage_recharge_collect_et.setText(result);
  1193. storage_recharge_collect_et.setSelection(result.length());
  1194. getsaVeData();
  1195. }
  1196. }
  1197. }
  1198. if (requestCode == SCAN_ID_BARCODE_CODE && data != null) {
  1199. if (data.getExtras() != null) {
  1200. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  1201. if (mFocusId == R.id.et_linecode_smts) {
  1202. et_linecode_smts.setText(result);
  1203. et_linecode_smts.setSelection(result.length());
  1204. getfuzzySearchData(result);
  1205. }
  1206. }
  1207. }
  1208. if (requestCode == SCAN_BARCODE_CODESD && data != null) {
  1209. if (data.getExtras() != null) {
  1210. String result = data.getExtras().getString(com.uas.rd_equipment.camera.CodeUtils.RESULT_STRING);
  1211. if (mFocusId == R.id.tv_dc_emcode) {
  1212. // tv_dc_emcode.setText(result);
  1213. getNewdc_emcodeData(result);
  1214. }
  1215. }
  1216. }
  1217. }
  1218. @Override
  1219. public void onDestroy() {
  1220. super.onDestroy();;
  1221. }
  1222. }