RequisitionTransferFragment.java 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  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 (!maintenanceType.equals("退回")){
  350. if (tv_dc_linecode.getText().toString().trim().isEmpty()){
  351. CommonUtil.toastNoRepeat(mActivity, "线别不可为空");
  352. return;
  353. }
  354. }
  355. progressDialog.show();
  356. JSONObject jsonObject = new JSONObject();
  357. JSONArray jsonArray = new JSONArray();
  358. JSONObject object_1 = new JSONObject();
  359. object_1.put("dc_code", tv_apply_forcode.getText().toString());
  360. object_1.put("dc_devname", tv_de_name.getText().toString());
  361. object_1.put("dc_kind", maintenanceType);
  362. object_1.put("dc_linecode", tv_dc_linecode.getText().toString().trim());
  363. object_1.put("dc_centercode", tv_dc_centercode.getText().toString());
  364. object_1.put("dc_centername", tv_dc_centername.getText().toString());
  365. object_1.put("dc_workshop", tv_dc_workshop.getText().toString());
  366. object_1.put("dc_emcode", tv_dc_emcode.getText().toString());
  367. object_1.put("dc_emname", tv_dc_emname.getText().toString());
  368. object_1.put("dc_oldemcode", tv_de_managecode.getText().toString());
  369. object_1.put("dc_oldemname", tv_de_manageman.getText().toString());
  370. object_1.put("dc_reason", index_dc_reason.getText().toString().trim());//原因分析
  371. jsonArray.add(object_1);
  372. jsonObject.put("formStore", jsonArray);
  373. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  374. .url(GloableParams.ASTATIONTHE_COMMIT_MAINITEM)
  375. .method(Request.Method.GET)
  376. .addParam("caller", "DeviceChange!Use")
  377. .addParam("de_code",tv_de_code.getText().toString())
  378. .addParam("formStore",jsonArray.toString())
  379. .build(), new HttpCallback() {
  380. @Override
  381. public void onSuccess(int flag, Object o) throws Exception {
  382. progressDialog.dismiss();
  383. tv_prompt.setVisibility(View.VISIBLE);
  384. tv_prompt.setTextColor(Color.GREEN);
  385. tv_prompt.setText("领用成功");
  386. String result = o.toString();
  387. JSONObject resultObject = JSON.parseObject(result);
  388. JSONObject dataObject = resultObject.getJSONObject("items");
  389. dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  390. tv_apply_forcode.setText(dc_code);
  391. getNewNameData();
  392. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  393. ce_de_code.setText("");
  394. ce_de_code.requestFocus();
  395. }
  396. @Override
  397. public void onFail(int flag, String failStr) throws Exception {
  398. progressDialog.dismiss();
  399. tv_prompt.setVisibility(View.VISIBLE);
  400. tv_prompt.setTextColor(Color.RED);
  401. tv_prompt.setText(failStr);
  402. ce_de_code.setText("");
  403. ce_de_code.requestFocus();
  404. // CommonUtil.toastNoRepeat(mActivity, failStr);
  405. }
  406. });
  407. }
  408. //提交
  409. public void getNewCommitData(){
  410. progressDialog.show();
  411. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  412. .url(GloableParams.ASTATIONTHE_SELECT_COMMIT)
  413. .method(Request.Method.GET)
  414. .addParam("caller", "DeviceChange!Use")
  415. .addParam("id",dc_id)
  416. .build(), new HttpCallback() {
  417. @Override
  418. public void onSuccess(int flag, Object o) throws Exception {
  419. progressDialog.dismiss();
  420. tv_prompt.setVisibility(View.VISIBLE);
  421. tv_prompt.setTextColor(Color.GREEN);
  422. tv_prompt.setText("提交成功");
  423. String result = o.toString();
  424. JSONObject resultObject = JSON.parseObject(result);
  425. JSONObject dataObject = resultObject.getJSONObject("items");
  426. // String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  427. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  428. getNewNameData();
  429. ce_de_code.setText("");
  430. ce_de_code.requestFocus();
  431. }
  432. @Override
  433. public void onFail(int flag, String failStr) throws Exception {
  434. progressDialog.dismiss();
  435. tv_prompt.setVisibility(View.VISIBLE);
  436. tv_prompt.setTextColor(Color.RED);
  437. tv_prompt.setText(failStr);
  438. // CommonUtil.toastNoRepeat(mActivity, failStr);
  439. ce_de_code.setText("");
  440. ce_de_code.requestFocus();
  441. }
  442. });
  443. }
  444. //审核
  445. public void getNewAuditData(){
  446. progressDialog.show();
  447. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  448. .url(GloableParams.ASTATIONTHE_SELECT_AUDIT)
  449. .method(Request.Method.GET)
  450. .addParam("caller", "DeviceChange!Use")
  451. .addParam("id",dc_id)
  452. .build(), new HttpCallback() {
  453. @Override
  454. public void onSuccess(int flag, Object o) throws Exception {
  455. progressDialog.dismiss();
  456. tv_prompt.setVisibility(View.VISIBLE);
  457. tv_prompt.setTextColor(Color.GREEN);
  458. tv_prompt.setText("审核成功");
  459. String result = o.toString();
  460. JSONObject resultObject = JSON.parseObject(result);
  461. JSONObject dataObject = resultObject.getJSONObject("items");
  462. // String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  463. EventBus.getDefault().post(new MessageOutboundEvents("提交单据后刷新列表"));
  464. getNewNameData();
  465. ce_de_code.setText("");
  466. ce_de_code.requestFocus();
  467. }
  468. @Override
  469. public void onFail(int flag, String failStr) throws Exception {
  470. progressDialog.dismiss();
  471. tv_prompt.setVisibility(View.VISIBLE);
  472. tv_prompt.setTextColor(Color.RED);
  473. tv_prompt.setText(failStr);
  474. ce_de_code.setText("");
  475. ce_de_code.requestFocus();
  476. // CommonUtil.toastNoRepeat(mActivity, failStr);
  477. }
  478. });
  479. }
  480. //确认上架
  481. public void getNewshelf_confirmation(){
  482. progressDialog.show();
  483. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  484. .url(GloableParams.ASTATIONTHE_SELECT_CONFIRM_REPAIR)
  485. .method(Request.Method.GET)
  486. .addParam("caller", "DeviceChange!Use")
  487. .addParam("de_code",tv_de_code.getText().toString())
  488. .build(), new HttpCallback() {
  489. @Override
  490. public void onSuccess(int flag, Object o) throws Exception {
  491. progressDialog.dismiss();
  492. tv_prompt.setVisibility(View.VISIBLE);
  493. tv_prompt.setTextColor(Color.GREEN);
  494. tv_prompt.setText("上架成功");
  495. ce_de_code.setText("");
  496. ce_de_code.requestFocus();
  497. }
  498. @Override
  499. public void onFail(int flag, String failStr) throws Exception {
  500. progressDialog.dismiss();
  501. tv_prompt.setVisibility(View.VISIBLE);
  502. tv_prompt.setTextColor(Color.RED);
  503. tv_prompt.setText(failStr);
  504. // CommonUtil.toastNoRepeat(mActivity, failStr);
  505. ce_de_code.setText("");
  506. ce_de_code.requestFocus();
  507. }
  508. });
  509. }
  510. private PopupWindow editPW;
  511. private void initEditPopupWindow() {
  512. delists = new ArrayList<>();
  513. andPortAdapter = new IpAndPortAdapters(delists);
  514. View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_edit_pup, null);
  515. edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
  516. TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
  517. TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
  518. ImageView search_im = contView.findViewById(R.id.search_im);
  519. RecyclerView rv_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
  520. rv_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
  521. rv_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
  522. andPortAdapter.setmList(delists);
  523. rv_ip_port_data.setAdapter(andPortAdapter);
  524. // getdeBugData(edit_et.getText().toString().trim());
  525. // search_im.setVisibility(View.GONE);
  526. editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
  527. editPW.setTouchable(true);
  528. editPW.setBackgroundDrawable(new BitmapDrawable());
  529. editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
  530. @Override
  531. public void onDismiss() {
  532. closeListPopupWindow();
  533. }
  534. });
  535. View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
  536. editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
  537. CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
  538. andPortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
  539. @Override
  540. public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
  541. List<RequisitionTransferBean> requisitionTransferBeans = andPortAdapter.getmList();
  542. ws_centercode = requisitionTransferBeans.get(position).getWS_CENTERCODE();
  543. ws_centername = requisitionTransferBeans.get(position).getWS_CENTERNAME();
  544. ws_workshop = requisitionTransferBeans.get(position).getWS_WORKSHOP();
  545. ws_linecode = requisitionTransferBeans.get(position).getWS_LINECODE();
  546. ws_linename = requisitionTransferBeans.get(position).getWS_LINENAME();
  547. for (int i = 0; i < requisitionTransferBeans.size(); i++) {
  548. requisitionTransferBeans.get(i).setChecked(false);
  549. }
  550. requisitionTransferBeans.get(position).setChecked(true);
  551. andPortAdapter.notifyDataSetChanged();
  552. }
  553. });
  554. edit_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  555. @Override
  556. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  557. if (actionId == EditorInfo.IME_ACTION_DONE
  558. || actionId == EditorInfo.IME_ACTION_SEND
  559. || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
  560. String va_code = edit_et.getText().toString().trim();
  561. getdeBugData(va_code);
  562. return true;
  563. }
  564. return false;
  565. }
  566. });
  567. search_im.setOnClickListener(new View.OnClickListener() {
  568. @Override
  569. public void onClick(View v) {
  570. getdeBugData(edit_et.getText().toString().trim());
  571. }
  572. });
  573. //确定
  574. sure_tv.setOnClickListener(new View.OnClickListener() {
  575. @Override
  576. public void onClick(View v) {
  577. closeListPopupWindow();
  578. tv_dc_centercode.setText(ws_centercode);
  579. tv_dc_centername.setText(ws_centername);
  580. tv_dc_workshop.setText(ws_workshop);
  581. tv_dc_linecode.setText(ws_linecode);
  582. }
  583. });
  584. //取消
  585. cancle_tv.setOnClickListener(new View.OnClickListener() {
  586. @Override
  587. public void onClick(View v) {
  588. closeListPopupWindow();
  589. }
  590. });
  591. }
  592. private void closeListPopupWindow() {
  593. if (editPW != null) {
  594. editPW.dismiss();
  595. editPW = null;
  596. CommonUtil.setBackgroundAlpha(mActivity, 1f);
  597. }
  598. }
  599. //获取数据
  600. public void getNewNameData(){
  601. progressDialog.show();
  602. VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
  603. .url(GloableParams.ASTATIONTHE_COMMIT_DELIVERYFORREPAIR)
  604. .method(Request.Method.GET)
  605. .addParam("caller", "DeviceChange!Use")
  606. .addParam("de_code", tv_de_code.getText().toString())//设备编号
  607. .addParam("dc_code", dc_code)
  608. .build(), new HttpCallback() {
  609. @Override
  610. public void onSuccess(int flag, Object o) throws Exception {
  611. progressDialog.dismiss();
  612. String result = o.toString();
  613. JSONObject resultObject = JSON.parseObject(result);
  614. JSONObject dataObject = resultObject.getJSONObject("items");
  615. String dc_linecode = FastjsonUtil.getText(dataObject, "dc_linecode");
  616. String dc_oldemcode = FastjsonUtil.getText(dataObject, "dc_oldemcode");
  617. String de_currentlinecode = FastjsonUtil.getText(dataObject, "de_currentlinecode");
  618. String dc_oldemname = FastjsonUtil.getText(dataObject, "dc_oldemname");
  619. String dc_centercode = FastjsonUtil.getText(dataObject, "dc_centercode");
  620. String dc_centername = FastjsonUtil.getText(dataObject, "dc_centername");
  621. String dc_devname = FastjsonUtil.getText(dataObject, "dc_devname");
  622. String dc_emcode = FastjsonUtil.getText(dataObject, "dc_emcode");
  623. String de_workshop = FastjsonUtil.getText(dataObject, "de_workshop");
  624. String dc_kind = FastjsonUtil.getText(dataObject, "dc_kind");
  625. String dc_workshop = FastjsonUtil.getText(dataObject, "dc_workshop");
  626. String de_currentcentercode = FastjsonUtil.getText(dataObject, "de_currentcentercode");
  627. String de_currentcentername = FastjsonUtil.getText(dataObject, "de_currentcentername");
  628. String dc_reason = FastjsonUtil.getText(dataObject, "dc_reason");
  629. String dc_status = FastjsonUtil.getText(dataObject, "dc_status");
  630. String dc_code = FastjsonUtil.getText(dataObject, "dc_code");
  631. dc_id = FastjsonUtil.getText(dataObject, "dc_id");
  632. if (!StringUtil.isEmpty(dc_status)){
  633. if (dc_status.equals("在录入")){
  634. btn_audit.setEnabled(false);
  635. btn_receive.setEnabled(true);
  636. btn_commit.setEnabled(true);
  637. }else if (dc_status.equals("已提交")){
  638. btn_receive.setEnabled(false);
  639. btn_commit.setEnabled(false);
  640. btn_audit.setEnabled(true);
  641. }else if (dc_status.equals("已审核")){
  642. btn_receive.setEnabled(false);
  643. btn_commit.setEnabled(false);
  644. btn_audit.setEnabled(false);
  645. }
  646. }
  647. tv_de_currentcentercode.setText(de_currentcentercode);
  648. tv_de_currentcentername.setText(de_currentcentername);
  649. tv_dc_workshop.setText(dc_workshop);
  650. tv_dc_linecode.setText(dc_linecode);
  651. tv_de_managecode.setText(dc_oldemcode);
  652. tv_de_currentlinecode.setText(de_currentlinecode);
  653. tv_de_manageman.setText(dc_oldemname);
  654. tv_dc_centercode.setText(dc_centercode);
  655. tv_dc_centername.setText(dc_centername);
  656. // tv_de_name.setText(dc_devname);
  657. // tv_dc_emcode.setText(dc_emcode);
  658. tv_de_workshop.setText(de_workshop);
  659. index_dc_reason.setText(dc_reason);
  660. tv_apply_forcode.setText(dc_code);
  661. if (dc_kind!=null){
  662. if (dc_kind.equals("领用")){
  663. m = new String[]{"领用","转移","退回"};
  664. }else if (dc_kind.equals("转移")){
  665. m = new String[]{"转移","领用","退回"};
  666. }else {
  667. m = new String[]{dc_kind};
  668. }
  669. }
  670. //将可选内容与ArrayAdapter连接起来
  671. adapter = new ArrayAdapter<String>(mActivity,android.R.layout.simple_spinner_item,m);
  672. //设置下拉列表的风格
  673. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//风格一
  674. //将adapter 添加到spinner中
  675. spinner.setAdapter(adapter);
  676. //添加事件Spinner事件监听
  677. spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
  678. tv_dc_emcode.setText(dc_emcode);
  679. getNewdc_emcodeData(dc_emcode);
  680. }
  681. @Override
  682. public void onFail(int flag, String failStr) throws Exception {
  683. progressDialog.dismiss();
  684. CommonUtil.toastNoRepeat(mActivity, failStr);
  685. }
  686. });
  687. }
  688. private void getdeBugData(String imput) {
  689. progressDialog.show();
  690. VollyRequest.getInstance().stringRequest(mStringRequest,
  691. new HttpParams.Builder()
  692. .url(GloableParams.ASTATIONTHE_SELECT_FUZZSERACHLINE)
  693. .method(Request.Method.GET)
  694. .tag(Tag + "getSourceByEmp")
  695. .flag(0)
  696. .addParam("li_code",imput)
  697. .build(), new HttpCallback() {
  698. @Override
  699. public void onSuccess(int flag, Object o) throws Exception {
  700. progressDialog.dismiss();
  701. delists.clear();
  702. Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
  703. if (isSuccess){
  704. JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(),"items");
  705. if (dataArray == null || dataArray.size() == 0){
  706. CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
  707. }
  708. for(Object index:dataArray){
  709. JSONObject data = (JSONObject) index;
  710. RequisitionTransferBean bean = new RequisitionTransferBean();
  711. bean.setWS_CENTERCODE(data.getString("WS_CENTERCODE"));
  712. bean.setWS_CENTERNAME(data.getString("WS_CENTERNAME"));
  713. bean.setWS_WORKSHOP(data.getString("WS_WORKSHOP"));
  714. bean.setWS_LINECODE(data.getString("WS_LINECODE"));
  715. bean.setWS_LINENAME(data.getString("WS_LINENAME"));
  716. delists.add(bean);
  717. }
  718. andPortAdapter.setmList(delists);
  719. andPortAdapter.notifyDataSetChanged();
  720. }else {
  721. }
  722. }
  723. @Override
  724. public void onFail(int flag, String failStr) throws Exception {
  725. progressDialog.dismiss();
  726. CommonUtil.toastNoRepeat(mActivity, failStr);
  727. }
  728. });
  729. }
  730. //使用数组形式操作
  731. class SpinnerSelectedListener implements AdapterView.OnItemSelectedListener {
  732. public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
  733. long arg3) {
  734. maintenanceType = m[arg2];
  735. }
  736. public void onNothingSelected(AdapterView<?> arg0) {
  737. }
  738. }
  739. private class IpAndPortAdapters extends BaseQuickAdapter<RequisitionTransferBean, BaseViewHolder> {
  740. private List<RequisitionTransferBean> mmmmList;
  741. public List<RequisitionTransferBean> getmList() {
  742. return mmmmList;
  743. }
  744. public void setmList(List<RequisitionTransferBean> mList) {
  745. this.mmmmList = mList;
  746. }
  747. public RequisitionTransferBean getBeanByPositon(int position){
  748. return mmmmList.get(position);
  749. }
  750. private IpAndPortAdapters(@Nullable List<RequisitionTransferBean> data) {
  751. super(R.layout.fuzzy_ipandport_item, data);
  752. this.mmmmList = data;
  753. }
  754. @Override
  755. protected void convert(BaseViewHolder helper, RequisitionTransferBean item) {
  756. helper.setText(R.id.macode_ip__Tv,item.getWS_LINECODE()
  757. +"-"+item.getWS_LINENAME());
  758. LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
  759. if (item.getChecked()) {
  760. line_true.setSelected(true);
  761. } else {
  762. line_true.setSelected(false);
  763. }
  764. }
  765. }
  766. @Override
  767. public boolean onKeyDown(int keyCode, KeyEvent event) {
  768. return false;
  769. }
  770. @Override
  771. public boolean onFragmentBackPressed() {
  772. return false;
  773. }
  774. @Override
  775. public void onHiddenChanged(boolean hidden) {
  776. super.onHiddenChanged(hidden);
  777. if (hidden) {
  778. ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
  779. } else {
  780. FunctionActivity.setTitle(getString(R.string.title_requisition_transfer));
  781. ((FunctionActivity) getActivity()).setMoreBtnVisible(true);
  782. }
  783. }
  784. @Override
  785. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  786. super.onActivityResult(requestCode, resultCode, data);
  787. if (resultCode != Activity.RESULT_OK) {
  788. return;
  789. }
  790. if (requestCode == SCAN_BARCODE_CODE && data != null) {
  791. if (data.getExtras() != null) {
  792. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  793. if (mFocusId == R.id.ce_de_code) {
  794. ce_de_code.setText(result);
  795. ce_de_code.setSelection(result.length());
  796. getNewData(result);
  797. }
  798. }
  799. }
  800. if (requestCode == SCAN_BARCODE_CODESD && data != null) {
  801. if (data.getExtras() != null) {
  802. String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
  803. if (mFocusId == R.id.tv_dc_emcode) {
  804. tv_dc_emcode.setText(result);
  805. tv_dc_emcode.setSelection(result.length());
  806. getNewdc_emcodeData(result);
  807. }
  808. }
  809. }
  810. }
  811. }