RequisitionTransferFragment.java 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926
  1. package com.uas.rd_equipment.fragment;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.graphics.Color;
  5. import android.graphics.drawable.BitmapDrawable;
  6. import android.os.Bundle;
  7. import android.support.annotation.Nullable;
  8. import android.support.v7.widget.DividerItemDecoration;
  9. import android.support.v7.widget.LinearLayoutManager;
  10. import android.support.v7.widget.RecyclerView;
  11. import android.view.Gravity;
  12. import android.view.KeyEvent;
  13. import android.view.LayoutInflater;
  14. import android.view.View;
  15. import android.view.Window;
  16. import android.view.inputmethod.EditorInfo;
  17. import android.widget.AdapterView;
  18. import android.widget.ArrayAdapter;
  19. import android.widget.Button;
  20. import android.widget.ImageView;
  21. import android.widget.LinearLayout;
  22. import android.widget.PopupWindow;
  23. import android.widget.Spinner;
  24. import android.widget.TextView;
  25. import com.alibaba.fastjson.JSON;
  26. import com.alibaba.fastjson.JSONArray;
  27. import com.alibaba.fastjson.JSONObject;
  28. import com.android.volley.Request;
  29. import com.android.volley.toolbox.StringRequest;
  30. import com.chad.library.adapter.base.BaseQuickAdapter;
  31. import com.chad.library.adapter.base.BaseViewHolder;
  32. import com.uas.rd_equipment.R;
  33. import com.uas.rd_equipment.activity.FunctionActivity;
  34. import com.uas.rd_equipment.bean.MessageOutboundEvents;
  35. import com.uas.rd_equipment.bean.RequisitionTransferBean;
  36. import com.uas.rd_equipment.camera.CaptureActivity;
  37. import com.uas.rd_equipment.camera.CodeUtils;
  38. import com.uas.rd_equipment.global.GloableParams;
  39. import com.uas.rd_equipment.tools.SharedPreUtil;
  40. import com.uas.rd_equipment.util.CameraUtil;
  41. import com.uas.rd_equipment.util.CommonUtil;
  42. import com.uas.rd_equipment.util.Constants;
  43. import com.uas.rd_equipment.util.FastjsonUtil;
  44. import com.uas.rd_equipment.util.HttpCallback;
  45. import com.uas.rd_equipment.util.HttpParams;
  46. import com.uas.rd_equipment.util.StringUtil;
  47. import com.uas.rd_equipment.util.VollyRequest;
  48. import com.uas.rd_equipment.view.ClearableEditText;
  49. import org.greenrobot.eventbus.EventBus;
  50. import java.util.ArrayList;
  51. import java.util.List;
  52. import razerdp.basepopup.BasePopupWindow;
  53. /**
  54. * Created by cjh-sail on 2023-03-06
  55. * 领用转移领用转移界面
  56. */
  57. public class RequisitionTransferFragment extends BaseFragment{
  58. private String Tag = "RequisitionTransferFragment";
  59. private StringRequest mStringRequest;
  60. private int mFocusId;
  61. private static final int SCAN_BARCODE_CODE = 8920;
  62. private static final int SCAN_BARCODE_CODESD = 925;
  63. private Spinner spinner;
  64. private ArrayAdapter<String> adapter;
  65. private String[] m;
  66. private String maintenanceType;
  67. private ClearableEditText ce_de_code;
  68. private ImageView storage_recharge_scan_iv;
  69. private TextView tv_de_name;
  70. private TextView tv_de_managecode;
  71. private TextView tv_de_manageman;
  72. private TextView tv_de_currentcentercode;
  73. private TextView tv_de_currentcentername;
  74. private TextView tv_de_workshop;
  75. private TextView tv_de_currentlinecode;
  76. private String de_code;
  77. private ClearableEditText index_dc_reason;
  78. private TextView tv_prompt;
  79. private Button btn_receive;
  80. private TextView tv_apply_forcode;
  81. private ClearableEditText tv_dc_linecode;
  82. private TextView tv_dc_centercode;
  83. private TextView tv_dc_centername;
  84. private TextView tv_dc_workshop;
  85. private ClearableEditText tv_dc_emcode;
  86. private TextView tv_dc_emname;
  87. private ImageView iv_popuwindow;
  88. private List<RequisitionTransferBean> delists;
  89. private ClearableEditText edit_et;
  90. private IpAndPortAdapters andPortAdapter;
  91. private String ws_centercode;
  92. private String ws_centername;
  93. private String ws_workshop;
  94. private String ws_linecode;
  95. private String ws_linename;
  96. private String dc_code;
  97. private String dc_id;
  98. private Button btn_commit;
  99. private Button btn_audit;
  100. private TextView tv_de_code;
  101. private String dc_devcode;
  102. private String dc_status;
  103. private Button btn_shelf_confirmation;
  104. private ImageView iv_dc_emcode;
  105. @Override
  106. protected int getLayout() {
  107. return R.layout.fragment_requisi_tiontrans;
  108. }
  109. @Override
  110. protected void initViews() {
  111. FunctionActivity.setTitle(getString(R.string.title_requisition_transfer));
  112. spinner = root.findViewById(R.id.spinner02);
  113. ce_de_code = root.findViewById(R.id.ce_de_code);
  114. storage_recharge_scan_iv = root.findViewById(R.id.storage_recharge_scan_iv);
  115. tv_de_name = root.findViewById(R.id.tv_de_name);
  116. tv_de_managecode = root.findViewById(R.id.tv_de_managecode);
  117. tv_de_manageman = root.findViewById(R.id.tv_de_manageman);
  118. tv_de_currentcentercode = root.findViewById(R.id.tv_de_currentcentercode);
  119. tv_de_currentcentername = root.findViewById(R.id.tv_de_currentcentername);
  120. tv_de_workshop = root.findViewById(R.id.tv_de_workshop);
  121. tv_de_currentlinecode = root.findViewById(R.id.tv_de_currentlinecode);
  122. index_dc_reason = root.findViewById(R.id.index_dc_reason);
  123. tv_prompt = root.findViewById(R.id.tv_prompt);
  124. btn_receive = root.findViewById(R.id.btn_receive);
  125. iv_popuwindow = root.findViewById(R.id.iv_popuwindow);
  126. tv_apply_forcode = root.findViewById(R.id.tv_apply_forcode);
  127. tv_dc_linecode = root.findViewById(R.id.tv_dc_linecode);
  128. tv_dc_centercode = root.findViewById(R.id.tv_dc_centercode);
  129. tv_dc_centername = root.findViewById(R.id.tv_dc_centername);
  130. tv_dc_workshop = root.findViewById(R.id.tv_dc_workshop);
  131. tv_dc_emcode = root.findViewById(R.id.tv_dc_emcode);
  132. tv_dc_emname = root.findViewById(R.id.tv_dc_emname);
  133. btn_commit = root.findViewById(R.id.btn_commit);
  134. btn_audit = root.findViewById(R.id.btn_audit);
  135. tv_de_code = root.findViewById(R.id.tv_de_code);
  136. btn_shelf_confirmation = root.findViewById(R.id.btn_shelf_confirmation);
  137. iv_dc_emcode = root.findViewById(R.id.iv_dc_emcode);
  138. }
  139. @Override
  140. protected void initEvents() {
  141. ce_de_code.requestFocus();
  142. tv_dc_linecode.setEnabled(false);
  143. tv_dc_linecode.setFocusable(false);
  144. tv_dc_linecode.setKeyListener(null);//重点
  145. m = new String[]{"领用","转移","退回"};
  146. //将可选内容与ArrayAdapter连接起来
  147. adapter = new ArrayAdapter<String>(mActivity,android.R.layout.simple_spinner_item,m);
  148. //设置下拉列表的风格
  149. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//风格一
  150. // adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); //风格二
  151. //将adapter 添加到spinner中
  152. spinner.setAdapter(adapter);
  153. //添加事件Spinner事件监听
  154. spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
  155. ce_de_code.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  156. @Override
  157. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  158. if (actionId == EditorInfo.IME_ACTION_DONE
  159. || actionId == EditorInfo.IME_ACTION_SEND
  160. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  161. String va_code = ce_de_code.getText().toString().trim();
  162. getNewData(va_code);
  163. return true;
  164. }
  165. return false;
  166. }
  167. });
  168. //申请人编号
  169. tv_dc_emcode.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  170. @Override
  171. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  172. if (actionId == EditorInfo.IME_ACTION_DONE
  173. || actionId == EditorInfo.IME_ACTION_SEND
  174. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  175. String dc_emcode = tv_dc_emcode.getText().toString().trim();
  176. getNewdc_emcodeData(dc_emcode);
  177. return true;
  178. }
  179. return false;
  180. }
  181. });
  182. storage_recharge_scan_iv.setOnClickListener(new View.OnClickListener() {
  183. @Override
  184. public void onClick(View v) {
  185. ce_de_code.requestFocus();
  186. if (CameraUtil.hasCamera()) {
  187. if (root.findFocus() != null) {
  188. mFocusId = root.findFocus().getId();
  189. Intent intent = new Intent();
  190. intent.setClass(mActivity, CaptureActivity.class);
  191. startActivityForResult(intent, SCAN_BARCODE_CODE);
  192. SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, "NO");
  193. } else {
  194. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  195. }
  196. } else {
  197. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  198. }
  199. }
  200. });
  201. iv_dc_emcode.setOnClickListener(new View.OnClickListener() {
  202. @Override
  203. public void onClick(View v) {
  204. tv_dc_emcode.requestFocus();
  205. if (CameraUtil.hasCamera()) {
  206. if (root.findFocus() != null) {
  207. mFocusId = root.findFocus().getId();
  208. Intent intent = new Intent();
  209. intent.setClass(mActivity, CaptureActivity.class);
  210. startActivityForResult(intent, SCAN_BARCODE_CODESD);
  211. SharedPreUtil.saveString(mActivity, Constants.STORAGEERECHADD, "NO");
  212. } else {
  213. CommonUtil.toastNoRepeat(mActivity, "请选择您要操作的输入框");
  214. }
  215. } else {
  216. CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
  217. }
  218. }
  219. });
  220. iv_popuwindow.setOnClickListener(new View.OnClickListener() {
  221. @Override
  222. public void onClick(View v) {
  223. initEditPopupWindow();
  224. }
  225. });
  226. btn_receive.setOnClickListener(new View.OnClickListener() {
  227. @Override
  228. public void onClick(View v) {
  229. getNewReceiveData();
  230. }
  231. });
  232. btn_commit.setOnClickListener(new View.OnClickListener() {
  233. @Override
  234. public void onClick(View v) {
  235. getNewCommitData();
  236. }
  237. });
  238. btn_audit.setOnClickListener(new View.OnClickListener() {
  239. @Override
  240. public void onClick(View v) {
  241. getNewAuditData();
  242. }
  243. });
  244. btn_shelf_confirmation.setOnClickListener(new View.OnClickListener() {
  245. @Override
  246. public void onClick(View v) {
  247. getNewshelf_confirmation();
  248. }
  249. });
  250. }
  251. @Override
  252. protected void initDatas() {
  253. Bundle bundle = getArguments();
  254. if (bundle != null) {
  255. de_code = bundle.getString("de_code");
  256. dc_code = bundle.getString("dc_code");
  257. dc_id = bundle.getString("dc_id");
  258. dc_devcode = bundle.getString("dc_devcode");
  259. dc_status = bundle.getString("dc_status");
  260. }
  261. if (!StringUtil.isEmpty(de_code)){
  262. getNewData(de_code);
  263. }
  264. if (!StringUtil.isEmpty(dc_code)){
  265. getNewNameData();
  266. tv_apply_forcode.setText(dc_code);
  267. }
  268. if (!StringUtil.isEmpty(dc_devcode)){
  269. tv_de_code.setText(dc_devcode);
  270. }
  271. if (!StringUtil.isEmpty(dc_status)){
  272. if (dc_status.equals("在录入")){
  273. btn_audit.setEnabled(false);
  274. }else if (dc_status.equals("已提交")){
  275. btn_receive.setEnabled(false);
  276. btn_commit.setEnabled(false);
  277. }else if (dc_status.equals("已审核")){
  278. btn_receive.setEnabled(false);
  279. btn_commit.setEnabled(false);
  280. btn_audit.setEnabled(false);
  281. }
  282. }else {
  283. btn_commit.setEnabled(false);
  284. btn_audit.setEnabled(false);
  285. }
  286. }
  287. public void getNewData(String input){
  288. progressDialog.show();
  289. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  290. .url(GloableParams.ASTATIONTHE_SWEEP_DATA)
  291. .method(Request.Method.GET)
  292. .addParam("de_code",input)
  293. .build(), new HttpCallback() {
  294. @Override
  295. public void onSuccess(int flag, Object o) throws Exception {//DeviceChange!Use
  296. progressDialog.dismiss();
  297. String result = o.toString();
  298. JSONObject resultObject = JSON.parseObject(result);
  299. JSONObject dataObject = resultObject.getJSONObject("device");
  300. String de_name = FastjsonUtil.getText(dataObject, "DE_NAME");
  301. String de_managecode = FastjsonUtil.getText(dataObject, "DE_MANAGECODE");
  302. String de_manageman = FastjsonUtil.getText(dataObject, "DE_MANAGEMAN");
  303. String de_currentcentercode = FastjsonUtil.getText(dataObject, "DE_CURRENTCENTERCODE");
  304. String de_currentcentername = FastjsonUtil.getText(dataObject, "DE_CURRENTCENTERNAME");
  305. String de_workshop = FastjsonUtil.getText(dataObject, "DE_WORKSHOP");
  306. String de_currentlinecode = FastjsonUtil.getText(dataObject, "DE_CURRENTLINECODE");
  307. de_code = FastjsonUtil.getText(dataObject, "DE_CODE");
  308. tv_de_code.setText(de_code);
  309. tv_de_name.setText(de_name);
  310. tv_de_managecode.setText(de_managecode);
  311. tv_de_manageman.setText(de_manageman);
  312. tv_de_currentcentercode.setText(de_currentcentercode);
  313. tv_de_currentcentername.setText(de_currentcentername);
  314. tv_de_workshop.setText(de_workshop);
  315. tv_de_currentlinecode.setText(de_currentlinecode);
  316. }
  317. @Override
  318. public void onFail(int flag, String failStr) throws Exception {
  319. progressDialog.dismiss();
  320. CommonUtil.toastNoRepeat(mActivity, failStr);
  321. }
  322. });
  323. }
  324. public void getNewdc_emcodeData(String input){
  325. progressDialog.show();
  326. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  327. .url(GloableParams.ASTATIONTHE_SELECT_GETEMNAME)
  328. .method(Request.Method.GET)
  329. .addParam("em_code",input)
  330. .build(), new HttpCallback() {
  331. @Override
  332. public void onSuccess(int flag, Object o) throws Exception {//DeviceChange!Use
  333. progressDialog.dismiss();
  334. String result = o.toString();
  335. JSONObject resultObject = JSON.parseObject(result);
  336. JSONObject dataObject = resultObject.getJSONObject("items");
  337. String de_name = FastjsonUtil.getText(dataObject, "em_name");
  338. tv_dc_emname.setText(de_name);
  339. }
  340. @Override
  341. public void onFail(int flag, String failStr) throws Exception {
  342. progressDialog.dismiss();
  343. CommonUtil.toastNoRepeat(mActivity, failStr);
  344. }
  345. });
  346. }
  347. //领用
  348. public void getNewReceiveData(){
  349. if (tv_dc_linecode.getText().toString().trim().isEmpty()){
  350. CommonUtil.toastNoRepeat(mActivity, "线别不可为空");
  351. return;
  352. }
  353. progressDialog.show();
  354. JSONObject jsonObject = new JSONObject();
  355. JSONArray jsonArray = new JSONArray();
  356. JSONObject object_1 = new JSONObject();
  357. object_1.put("dc_code", tv_apply_forcode.getText().toString());
  358. object_1.put("dc_devname", tv_de_name.getText().toString());
  359. object_1.put("dc_kind", maintenanceType);
  360. object_1.put("dc_linecode", tv_dc_linecode.getText().toString().trim());
  361. object_1.put("dc_centercode", tv_dc_centercode.getText().toString());
  362. object_1.put("dc_centername", tv_dc_centername.getText().toString());
  363. object_1.put("dc_workshop", tv_dc_workshop.getText().toString());
  364. object_1.put("dc_emcode", tv_dc_emcode.getText().toString());
  365. object_1.put("dc_emname", tv_dc_emname.getText().toString());
  366. object_1.put("dc_oldemcode", tv_de_managecode.getText().toString());
  367. object_1.put("dc_oldemname", tv_de_manageman.getText().toString());
  368. object_1.put("dc_reason", index_dc_reason.getText().toString().trim());//原因分析
  369. jsonArray.add(object_1);
  370. jsonObject.put("formStore", jsonArray);
  371. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  372. .url(GloableParams.ASTATIONTHE_COMMIT_MAINITEM)
  373. .method(Request.Method.GET)
  374. .addParam("caller", "DeviceChange!Use")
  375. .addParam("de_code",tv_de_code.getText().toString())
  376. .addParam("formStore",jsonArray.toString())
  377. .build(), new HttpCallback() {
  378. @Override
  379. public void onSuccess(int flag, Object o) throws Exception {
  380. progressDialog.dismiss();
  381. tv_prompt.setVisibility(View.VISIBLE);
  382. tv_prompt.setTextColor(Color.GREEN);
  383. tv_prompt.setText("领用成功");
  384. String result = o.toString();
  385. JSONObject resultObject = JSON.parseObject(result);
  386. JSONObject dataObject = resultObject.getJSONObject("items");
  387. dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  388. tv_apply_forcode.setText(dc_code);
  389. getNewNameData();
  390. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  391. ce_de_code.setText("");
  392. ce_de_code.requestFocus();
  393. }
  394. @Override
  395. public void onFail(int flag, String failStr) throws Exception {
  396. progressDialog.dismiss();
  397. tv_prompt.setVisibility(View.VISIBLE);
  398. tv_prompt.setTextColor(Color.RED);
  399. tv_prompt.setText(failStr);
  400. ce_de_code.setText("");
  401. ce_de_code.requestFocus();
  402. // CommonUtil.toastNoRepeat(mActivity, failStr);
  403. }
  404. });
  405. }
  406. //提交
  407. public void getNewCommitData(){
  408. progressDialog.show();
  409. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  410. .url(GloableParams.ASTATIONTHE_SELECT_COMMIT)
  411. .method(Request.Method.GET)
  412. .addParam("caller", "DeviceChange!Use")
  413. .addParam("id",dc_id)
  414. .build(), new HttpCallback() {
  415. @Override
  416. public void onSuccess(int flag, Object o) throws Exception {
  417. progressDialog.dismiss();
  418. tv_prompt.setVisibility(View.VISIBLE);
  419. tv_prompt.setTextColor(Color.GREEN);
  420. tv_prompt.setText("提交成功");
  421. String result = o.toString();
  422. JSONObject resultObject = JSON.parseObject(result);
  423. JSONObject dataObject = resultObject.getJSONObject("items");
  424. // String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  425. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  426. getNewNameData();
  427. ce_de_code.setText("");
  428. ce_de_code.requestFocus();
  429. }
  430. @Override
  431. public void onFail(int flag, String failStr) throws Exception {
  432. progressDialog.dismiss();
  433. tv_prompt.setVisibility(View.VISIBLE);
  434. tv_prompt.setTextColor(Color.RED);
  435. tv_prompt.setText(failStr);
  436. // CommonUtil.toastNoRepeat(mActivity, failStr);
  437. ce_de_code.setText("");
  438. ce_de_code.requestFocus();
  439. }
  440. });
  441. }
  442. //审核
  443. public void getNewAuditData(){
  444. progressDialog.show();
  445. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  446. .url(GloableParams.ASTATIONTHE_SELECT_AUDIT)
  447. .method(Request.Method.GET)
  448. .addParam("caller", "DeviceChange!Use")
  449. .addParam("id",dc_id)
  450. .build(), new HttpCallback() {
  451. @Override
  452. public void onSuccess(int flag, Object o) throws Exception {
  453. progressDialog.dismiss();
  454. tv_prompt.setVisibility(View.VISIBLE);
  455. tv_prompt.setTextColor(Color.GREEN);
  456. tv_prompt.setText("审核成功");
  457. String result = o.toString();
  458. JSONObject resultObject = JSON.parseObject(result);
  459. JSONObject dataObject = resultObject.getJSONObject("items");
  460. // String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  461. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  462. getNewNameData();
  463. ce_de_code.setText("");
  464. ce_de_code.requestFocus();
  465. }
  466. @Override
  467. public void onFail(int flag, String failStr) throws Exception {
  468. progressDialog.dismiss();
  469. tv_prompt.setVisibility(View.VISIBLE);
  470. tv_prompt.setTextColor(Color.RED);
  471. tv_prompt.setText(failStr);
  472. ce_de_code.setText("");
  473. ce_de_code.requestFocus();
  474. // CommonUtil.toastNoRepeat(mActivity, failStr);
  475. }
  476. });
  477. }
  478. //确认上架
  479. public void getNewshelf_confirmation(){
  480. progressDialog.show();
  481. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  482. .url(GloableParams.ASTATIONTHE_SELECT_CONFIRM_REPAIR)
  483. .method(Request.Method.GET)
  484. .addParam("caller", "DeviceChange!Use")
  485. .addParam("de_code",tv_de_code.getText().toString())
  486. .build(), new HttpCallback() {
  487. @Override
  488. public void onSuccess(int flag, Object o) throws Exception {
  489. progressDialog.dismiss();
  490. tv_prompt.setVisibility(View.VISIBLE);
  491. tv_prompt.setTextColor(Color.GREEN);
  492. tv_prompt.setText("上架成功");
  493. ce_de_code.setText("");
  494. ce_de_code.requestFocus();
  495. }
  496. @Override
  497. public void onFail(int flag, String failStr) throws Exception {
  498. progressDialog.dismiss();
  499. tv_prompt.setVisibility(View.VISIBLE);
  500. tv_prompt.setTextColor(Color.RED);
  501. tv_prompt.setText(failStr);
  502. // CommonUtil.toastNoRepeat(mActivity, failStr);
  503. ce_de_code.setText("");
  504. ce_de_code.requestFocus();
  505. }
  506. });
  507. }
  508. private PopupWindow editPW;
  509. private void initEditPopupWindow() {
  510. delists = new ArrayList<>();
  511. andPortAdapter = new IpAndPortAdapters(delists);
  512. View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null);
  513. edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
  514. TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
  515. TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
  516. ImageView search_im = contView.findViewById(R.id.search_im);
  517. RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
  518. rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
  519. rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
  520. andPortAdapter.setmList(delists);
  521. rv_ip_port_data.setAdapter(andPortAdapter);
  522. // getdeBugData(edit_et.getText().toString().trim());
  523. // search_im.setVisibility(View.GONE);
  524. editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
  525. editPW.setTouchable(true);
  526. editPW.setBackgroundDrawable(new BitmapDrawable());
  527. editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
  528. @Override
  529. public void onDismiss() {
  530. closeListPopupWindow();
  531. }
  532. });
  533. View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
  534. editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
  535. CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
  536. andPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  537. @Override
  538. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  539. List<RequisitionTransferBean> requisitionTransferBeans = andPortAdapter.getmList();
  540. ws_centercode = requisitionTransferBeans.get(position).getWS_CENTERCODE();
  541. ws_centername = requisitionTransferBeans.get(position).getWS_CENTERNAME();
  542. ws_workshop = requisitionTransferBeans.get(position).getWS_WORKSHOP();
  543. ws_linecode = requisitionTransferBeans.get(position).getWS_LINECODE();
  544. ws_linename = requisitionTransferBeans.get(position).getWS_LINENAME();
  545. for (int i = 0; i < requisitionTransferBeans.size(); i++) {
  546. requisitionTransferBeans.get(i).setChecked(false);
  547. }
  548. requisitionTransferBeans.get(position).setChecked(true);
  549. andPortAdapter.notifyDataSetChanged();
  550. }
  551. });
  552. edit_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  553. @Override
  554. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  555. if (actionId == EditorInfo.IME_ACTION_DONE
  556. || actionId == EditorInfo.IME_ACTION_SEND
  557. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  558. String va_code = edit_et.getText().toString().trim();
  559. getdeBugData(va_code);
  560. return true;
  561. }
  562. return false;
  563. }
  564. });
  565. search_im.setOnClickListener(new View.OnClickListener() {
  566. @Override
  567. public void onClick(View v) {
  568. getdeBugData(edit_et.getText().toString().trim());
  569. }
  570. });
  571. //确定
  572. sure_tv.setOnClickListener(new View.OnClickListener() {
  573. @Override
  574. public void onClick(View v) {
  575. closeListPopupWindow();
  576. tv_dc_centercode.setText(ws_centercode);
  577. tv_dc_centername.setText(ws_centername);
  578. tv_dc_workshop.setText(ws_workshop);
  579. tv_dc_linecode.setText(ws_linecode);
  580. }
  581. });
  582. //取消
  583. cancle_tv.setOnClickListener(new View.OnClickListener() {
  584. @Override
  585. public void onClick(View v) {
  586. closeListPopupWindow();
  587. }
  588. });
  589. }
  590. private void closeListPopupWindow() {
  591. if (editPW != null) {
  592. editPW.dismiss();
  593. editPW = null;
  594. CommonUtil.setBackgroundAlpha(mActivity, 1f);
  595. }
  596. }
  597. //获取数据
  598. public void getNewNameData(){
  599. progressDialog.show();
  600. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  601. .url(GloableParams.ASTATIONTHE_COMMIT_DELIVERYFORREPAIR)
  602. .method(Request.Method.GET)
  603. .addParam("caller", "DeviceChange!Use")
  604. .addParam("de_code", tv_de_code.getText().toString())//设备编号
  605. .addParam("dc_code", dc_code)
  606. .build(), new HttpCallback() {
  607. @Override
  608. public void onSuccess(int flag, Object o) throws Exception {
  609. progressDialog.dismiss();
  610. String result = o.toString();
  611. JSONObject resultObject = JSON.parseObject(result);
  612. JSONObject dataObject = resultObject.getJSONObject("items");
  613. String dc_linecode = FastjsonUtil.getText(dataObject, "dc_linecode");
  614. String dc_oldemcode = FastjsonUtil.getText(dataObject, "dc_oldemcode");
  615. String de_currentlinecode = FastjsonUtil.getText(dataObject, "de_currentlinecode");
  616. String dc_oldemname = FastjsonUtil.getText(dataObject, "dc_oldemname");
  617. String dc_centercode = FastjsonUtil.getText(dataObject, "dc_centercode");
  618. String dc_centername = FastjsonUtil.getText(dataObject, "dc_centername");
  619. String dc_devname = FastjsonUtil.getText(dataObject, "dc_devname");
  620. String dc_emcode = FastjsonUtil.getText(dataObject, "dc_emcode");
  621. String de_workshop = FastjsonUtil.getText(dataObject, "de_workshop");
  622. String dc_kind = FastjsonUtil.getText(dataObject, "dc_kind");
  623. String dc_workshop = FastjsonUtil.getText(dataObject, "dc_workshop");
  624. String de_currentcentercode = FastjsonUtil.getText(dataObject, "de_currentcentercode");
  625. String de_currentcentername = FastjsonUtil.getText(dataObject, "de_currentcentername");
  626. String dc_reason = FastjsonUtil.getText(dataObject, "dc_reason");
  627. String dc_status = FastjsonUtil.getText(dataObject, "dc_status");
  628. String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  629. dc_id = FastjsonUtil.getText(dataObject, "dc_id");
  630. if (!StringUtil.isEmpty(dc_status)){
  631. if (dc_status.equals("在录入")){
  632. btn_audit.setEnabled(false);
  633. btn_receive.setEnabled(true);
  634. btn_commit.setEnabled(true);
  635. }else if (dc_status.equals("已提交")){
  636. btn_receive.setEnabled(false);
  637. btn_commit.setEnabled(false);
  638. btn_audit.setEnabled(true);
  639. }else if (dc_status.equals("已审核")){
  640. btn_receive.setEnabled(false);
  641. btn_commit.setEnabled(false);
  642. btn_audit.setEnabled(false);
  643. }
  644. }
  645. tv_de_currentcentercode.setText(de_currentcentercode);
  646. tv_de_currentcentername.setText(de_currentcentername);
  647. tv_dc_workshop.setText(dc_workshop);
  648. tv_dc_linecode.setText(dc_linecode);
  649. tv_de_managecode.setText(dc_oldemcode);
  650. tv_de_currentlinecode.setText(de_currentlinecode);
  651. tv_de_manageman.setText(dc_oldemname);
  652. tv_dc_centercode.setText(dc_centercode);
  653. tv_dc_centername.setText(dc_centername);
  654. // tv_de_name.setText(dc_devname);
  655. // tv_dc_emcode.setText(dc_emcode);
  656. tv_de_workshop.setText(de_workshop);
  657. index_dc_reason.setText(dc_reason);
  658. tv_apply_forcode.setText(dc_code);
  659. if (dc_kind!=null){
  660. if (dc_kind.equals("领用")){
  661. m = new String[]{"领用","转移","退回"};
  662. }else if (dc_kind.equals("转移")){
  663. m = new String[]{"转移","领用","退回"};
  664. }else {
  665. m = new String[]{dc_kind};
  666. }
  667. }
  668. //将可选内容与ArrayAdapter连接起来
  669. adapter = new ArrayAdapter<String>(mActivity,android.R.layout.simple_spinner_item,m);
  670. //设置下拉列表的风格
  671. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//风格一
  672. //将adapter 添加到spinner中
  673. spinner.setAdapter(adapter);
  674. //添加事件Spinner事件监听
  675. spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
  676. tv_dc_emcode.setText(dc_emcode);
  677. getNewdc_emcodeData(dc_emcode);
  678. }
  679. @Override
  680. public void onFail(int flag, String failStr) throws Exception {
  681. progressDialog.dismiss();
  682. CommonUtil.toastNoRepeat(mActivity, failStr);
  683. }
  684. });
  685. }
  686. private void getdeBugData(String imput) {
  687. progressDialog.show();
  688. VollyRequest.getInstance().stringRequest(mStringRequest,
  689. new HttpParams.Builder()
  690. .url(GloableParams.ASTATIONTHE_SELECT_FUZZSERACHLINE)
  691. .method(Request.Method.GET)
  692. .tag(Tag + "getSourceByEmp")
  693. .flag(0)
  694. .addParam("li_code",imput)
  695. .build(), new HttpCallback() {
  696. @Override
  697. public void onSuccess(int flag, Object o) throws Exception {
  698. progressDialog.dismiss();
  699. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  700. if (isSuccess){
  701. JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(),"items");
  702. if (dataArray == null || dataArray.size() == 0){
  703. CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
  704. }
  705. for(Object index:dataArray){
  706. JSONObject data = (JSONObject) index;
  707. RequisitionTransferBean bean = new RequisitionTransferBean();
  708. bean.setWS_CENTERCODE(data.getString("WS_CENTERCODE"));
  709. bean.setWS_CENTERNAME(data.getString("WS_CENTERNAME"));
  710. bean.setWS_WORKSHOP(data.getString("WS_WORKSHOP"));
  711. bean.setWS_LINECODE(data.getString("WS_LINECODE"));
  712. bean.setWS_LINENAME(data.getString("WS_LINENAME"));
  713. delists.add(bean);
  714. }
  715. andPortAdapter.setmList(delists);
  716. andPortAdapter.notifyDataSetChanged();
  717. }else {
  718. }
  719. }
  720. @Override
  721. public void onFail(int flag, String failStr) throws Exception {
  722. progressDialog.dismiss();
  723. CommonUtil.toastNoRepeat(mActivity, failStr);
  724. }
  725. });
  726. }
  727. //使用数组形式操作
  728. class SpinnerSelectedListener implements AdapterView.OnItemSelectedListener {
  729. public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
  730. long arg3) {
  731. maintenanceType = m[arg2];
  732. }
  733. public void onNothingSelected(AdapterView<?> arg0) {
  734. }
  735. }
  736. private class IpAndPortAdapters extends BaseQuickAdapter<RequisitionTransferBean, BaseViewHolder> {
  737. private List<RequisitionTransferBean> mmmmList;
  738. public List<RequisitionTransferBean> getmList() {
  739. return mmmmList;
  740. }
  741. public void setmList(List<RequisitionTransferBean> mList) {
  742. this.mmmmList = mList;
  743. }
  744. public RequisitionTransferBean getBeanByPositon(int position){
  745. return mmmmList.get(position);
  746. }
  747. private IpAndPortAdapters(@Nullable List<RequisitionTransferBean> data) {
  748. super(R.layout.fuzzy_ipandport_item, data);
  749. this.mmmmList = data;
  750. }
  751. @Override
  752. protected void convert(BaseViewHolder helper, RequisitionTransferBean item) {
  753. helper.setText(R.id.macode_ip__Tv,item.getWS_CENTERCODE()+"-"+item.getWS_CENTERNAME()+"-"+item.getWS_WORKSHOP()
  754. +"-"+item.getWS_LINECODE()
  755. +"-"+item.getWS_LINENAME());
  756. LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
  757. if (item.getChecked()) {
  758. line_true.setSelected(true);
  759. } else {
  760. line_true.setSelected(false);
  761. }
  762. }
  763. }
  764. @Override
  765. public boolean onKeyDown(int keyCode, KeyEvent event) {
  766. return false;
  767. }
  768. @Override
  769. public boolean onFragmentBackPressed() {
  770. return false;
  771. }
  772. @Override
  773. public void onHiddenChanged(boolean hidden) {
  774. super.onHiddenChanged(hidden);
  775. if (hidden) {
  776. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  777. } else {
  778. FunctionActivity.setTitle(getString(R.string.title_requisition_transfer));
  779. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  780. }
  781. }
  782. @Override
  783. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  784. super.onActivityResult(requestCode, resultCode, data);
  785. if (resultCode != Activity.RESULT_OK) {
  786. return;
  787. }
  788. if (requestCode == SCAN_BARCODE_CODE && data != null) {
  789. if (data.getExtras() != null) {
  790. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  791. if (mFocusId == R.id.ce_de_code) {
  792. ce_de_code.setText(result);
  793. ce_de_code.setSelection(result.length());
  794. getNewData(result);
  795. }
  796. }
  797. }
  798. if (requestCode == SCAN_BARCODE_CODESD && data != null) {
  799. if (data.getExtras() != null) {
  800. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  801. if (mFocusId == R.id.tv_dc_emcode) {
  802. tv_dc_emcode.setText(result);
  803. tv_dc_emcode.setSelection(result.length());
  804. getNewdc_emcodeData(result);
  805. }
  806. }
  807. }
  808. }
  809. }