StockOutNewActivity.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. package com.ygtx.emcs.activity;
  2. import static com.ygtx.emcs.comm.BaseApplication.mScanManager;
  3. import static com.ygtx.emcs.util.Constant.CACHE_BIND_CONFIG;
  4. import android.app.AlertDialog;
  5. import android.content.Context;
  6. import android.content.IntentFilter;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Looper;
  10. import android.view.View;
  11. import android.widget.AdapterView;
  12. import android.widget.Button;
  13. import android.widget.ImageView;
  14. import com.google.gson.Gson;
  15. import com.ygtx.emcs.R;
  16. import com.ygtx.emcs.activity.adapter.StockOutListViewAdapter;
  17. import com.ygtx.emcs.activity.model.EventMessage;
  18. import com.ygtx.emcs.activity.model.StockLineModel;
  19. import com.ygtx.emcs.activity.model.StockModel;
  20. import com.ygtx.emcs.comm.BaseActivity;
  21. import com.ygtx.emcs.comm.CacheService;
  22. import com.ygtx.emcs.comm.Res;
  23. import com.ygtx.emcs.databinding.YgtxStockOutAddBinding;
  24. import com.ygtx.emcs.util.Constant;
  25. import com.ygtx.emcs.util.HttpsUtil;
  26. import com.ygtx.emcs.util.MyProgress;
  27. import com.ygtx.emcs.util.StringUtils;
  28. import com.ygtx.emcs.util.ToastUtils;
  29. import org.apache.log4j.Logger;
  30. import org.greenrobot.eventbus.EventBus;
  31. import org.greenrobot.eventbus.Subscribe;
  32. import org.greenrobot.eventbus.ThreadMode;
  33. import org.json.JSONException;
  34. import org.json.JSONObject;
  35. import org.xutils.common.Callback;
  36. import org.xutils.http.RequestParams;
  37. import org.xutils.x;
  38. import java.math.BigDecimal;
  39. import java.util.ArrayList;
  40. import java.util.List;
  41. import java.util.Optional;
  42. import java.util.concurrent.TimeUnit;
  43. public class StockOutNewActivity extends BaseActivity {
  44. public static Logger mylog =Logger.getLogger(StockInActivity.class);
  45. private YgtxStockOutAddBinding binding;
  46. private Context context;
  47. private StockOutListViewAdapter stockLineListViewAdapter;
  48. private final ArrayList<StockLineModel> stockLineList = new ArrayList<>();
  49. private String out_stock_flag;
  50. private String box_flag;
  51. private String from;
  52. private StockModel stockModel;
  53. private String erpOutstockCode;
  54. private boolean isSubmit = true;
  55. private final Handler handler = new Handler();
  56. private Runnable runnable;
  57. private StockLineModel selItem;
  58. @Override
  59. protected void onCreate(Bundle savedInstanceState) {
  60. super.onCreate(savedInstanceState);
  61. binding = YgtxStockOutAddBinding.inflate(getLayoutInflater());
  62. setContentView(binding.getRoot());
  63. EventBus.getDefault().register(this);
  64. context = this;
  65. registerReceiver();
  66. initCommonTop2();
  67. initView();
  68. initData();
  69. }
  70. private void reloadData(){
  71. runnable = () -> {
  72. if(Constant.user != null && !StringUtils.isEmpty(erpOutstockCode)) {
  73. loadErpTask(0);
  74. }
  75. reloadData();
  76. };
  77. handler.postDelayed(runnable, 3000);
  78. }
  79. private void initData(){
  80. erpOutstockCode = getParamString("erpOutstockCode");
  81. if(!StringUtils.isEmpty(erpOutstockCode)){
  82. binding.tvOutCode.setText(erpOutstockCode);
  83. loadErpTask(1);
  84. }
  85. stockLineListViewAdapter = new StockOutListViewAdapter(stockLineList, context);
  86. binding.lvProduct.setAdapter(stockLineListViewAdapter);
  87. binding.lvProduct.setOnItemClickListener((parent, view, position, id) -> {
  88. StockLineModel stockLineModel = stockLineList.get(position);
  89. stockLineModel.setCkType(stockModel.getCkType());
  90. if("1".equals(from) && !"2".equals(stockLineModel.getStatus())){
  91. return;
  92. }
  93. stockOut(stockLineModel);
  94. });
  95. binding.lvProduct.setOnItemLongClickListener((parent, view, position, id) -> {
  96. StockLineModel stockLineModel = stockLineList.get(position);
  97. if("1".equals(stockLineModel.getStatus())){
  98. AlertDialog alert = new AlertDialog.Builder(StockOutNewActivity.this)
  99. .setTitle("提示")
  100. .setMessage("确定撤消任务吗?")
  101. .setPositiveButton("确定",
  102. (dialog, which) -> cancelSend(stockLineModel))
  103. .setNegativeButton("取消", null)
  104. .setCancelable(true).create();
  105. alert.show();
  106. }
  107. return true;
  108. });
  109. out_stock_flag = CacheService.getInstance(context).getCache(CACHE_BIND_CONFIG, "out_stock_flag");
  110. if(StringUtils.isEmpty(out_stock_flag)){
  111. ToastUtils.showToast(context, "请设置出库单编码的标识");
  112. finish();
  113. }
  114. box_flag = CacheService.getInstance(context).getCache(CACHE_BIND_CONFIG, "box_flag");
  115. if(StringUtils.isEmpty(box_flag)){
  116. ToastUtils.showToast(context, "请设置料框码的标识");
  117. finish();
  118. }
  119. reloadData();
  120. // ========================test========================
  121. // binding.tvScanTips.setOnClickListener(view->{
  122. // receiverTask("XSCK202504280001");
  123. // });
  124. // binding.tvOutCode.setOnClickListener(view->{
  125. // receiverTask("BOX000008");
  126. // });
  127. // binding.tvOutCode.setOnLongClickListener(new View.OnLongClickListener() {
  128. // @Override
  129. // public boolean onLongClick(View v) {
  130. // receiverTask("BOX000020");
  131. // return true;
  132. // }
  133. // });
  134. // ========================test========================
  135. }
  136. private void stockOut(StockLineModel stockLineModel){
  137. Bundle bundle = new Bundle();
  138. bundle.putString("erpOutstockCode", stockModel.getErpOutstockCode());
  139. bundle.putSerializable("stockLine", stockLineModel);
  140. bundle.putSerializable("from", from);
  141. toActivity(StockOutBindActivity.class, bundle);
  142. }
  143. private void initView(){
  144. from = getParamString("from");
  145. ImageView back = findViewById(R.id.c_iv_common_back);
  146. back.setVisibility(View.VISIBLE);
  147. back.setOnClickListener(view -> {
  148. finish();
  149. });
  150. if("1".equals(from)){
  151. binding.tvScanTips.setVisibility(View.GONE);
  152. binding.btnOk.setVisibility(View.GONE);
  153. Button submit = findViewById(R.id.c_iv_common_submit);
  154. submit.setBackgroundColor(Res.getColor("transparent"));
  155. submit.setTextColor(Res.getColor("white"));
  156. submit.setVisibility(View.VISIBLE);
  157. submit.setText("同步");
  158. submit.setOnClickListener(view -> {
  159. if(stockModel!=null) {
  160. syncErp();
  161. }
  162. });
  163. }
  164. if(!"1".equals(from)) {
  165. Button submit = findViewById(R.id.c_iv_common_submit);
  166. submit.setBackgroundColor(Res.getColor("transparent"));
  167. submit.setTextColor(Res.getColor("white"));
  168. submit.setVisibility(View.VISIBLE);
  169. submit.setText("出库记录");
  170. submit.setOnClickListener(view -> {
  171. toActivity(StockOutActivity.class);
  172. });
  173. }
  174. }
  175. private void initLoadData(){
  176. boolean isAuto = stockLineList.stream().anyMatch(item->"1".equals(item.getAutomatic()));
  177. if(isAuto&&!"2".equals(stockModel.getStatus())){
  178. binding.btnOk.setVisibility(View.VISIBLE);
  179. binding.btnOk.setOnClickListener(v->{
  180. sendStockOut();
  181. });
  182. }else{
  183. binding.btnOk.setVisibility(View.GONE);
  184. }
  185. }
  186. private void registerReceiver() {
  187. if (mScanManager != null) {
  188. IntentFilter filter = new IntentFilter();
  189. if(Constant.MODEL.contains("ET")) {
  190. filter.addAction(ET_SCAN_ACTION);
  191. }
  192. registerReceiver(mReceiver, filter);
  193. }
  194. }
  195. @Override
  196. public void receiverTask(String barcode) {
  197. System.out.println("扫码:" + barcode);
  198. if("1".equals(from)) {
  199. return;
  200. }
  201. String inCode = binding.tvOutCode.getText().toString();
  202. if(barcode.startsWith(out_stock_flag)){
  203. try {
  204. binding.tvOutCode.setText(barcode);
  205. erpOutstockCode = barcode;
  206. loadErpTask(1);
  207. }catch (Throwable ex){
  208. mylog.error("任务发送异常:", ex);
  209. ToastUtils.showToast(context, "发送异常");
  210. }
  211. }else if(barcode.startsWith(box_flag)){
  212. selItem = null;
  213. findCheckItem(barcode);
  214. if(selItem == null){
  215. ToastUtils.showToast(context, barcode + "没有可以核对的记录");
  216. return;
  217. }
  218. checkOutLine(selItem);
  219. }else{
  220. if(StringUtils.isEmpty(inCode)){
  221. ToastUtils.showToast(context, "请扫出库单号");
  222. return;
  223. }
  224. selItem = null;
  225. findItemCode(barcode);
  226. checkItem(barcode);
  227. }
  228. }
  229. private void findCheckItem(String barcode){
  230. int i;
  231. for(i=0;i<stockLineList.size();i++){
  232. StockLineModel item = stockLineList.get(i);
  233. stockLineList.forEach(lineItem->lineItem.setSel("0"));
  234. if(barcode.equals(item.getBoxCode())
  235. &&"1".equals(item.getAutomatic())
  236. &&"2".equals(item.getStatus())
  237. &&!"1".equals(item.getOutCheck())){
  238. selItem = item;
  239. selItem.setSel("1");
  240. break;
  241. }
  242. }
  243. stockLineListViewAdapter.notifyDataSetChanged();
  244. if(selItem!=null){
  245. binding.lvProduct.smoothScrollToPosition(i, 3);
  246. binding.lvProduct.smoothScrollToPositionFromTop(i, 0, 500);
  247. }
  248. }
  249. private void findItemCode(String barcode){
  250. int i;
  251. for(i=0;i<stockLineList.size();i++){
  252. StockLineModel item = stockLineList.get(i);
  253. stockLineList.forEach(lineItem->lineItem.setSel("0"));
  254. if(barcode.equals(item.getItemCode())){
  255. selItem = item;
  256. selItem.setSel("1");
  257. break;
  258. }
  259. }
  260. stockLineListViewAdapter.notifyDataSetChanged();
  261. if(selItem!=null){
  262. binding.lvProduct.smoothScrollToPosition(i, 3);
  263. binding.lvProduct.smoothScrollToPositionFromTop(i, 0, 500);
  264. }
  265. }
  266. private void findBoxCode(String barcode){
  267. int i;
  268. boolean isScroll = false;
  269. for(i=0;i<stockLineList.size();i++){
  270. StockLineModel item = stockLineList.get(i);
  271. stockLineList.forEach(lineItem->lineItem.setSel("0"));
  272. if(barcode.equals(item.getBoxCode())){
  273. selItem = item;
  274. selItem.setSel("1");
  275. isScroll = true;
  276. break;
  277. }
  278. }
  279. stockLineListViewAdapter.notifyDataSetChanged();
  280. if(selItem!=null && isScroll){
  281. binding.lvProduct.smoothScrollToPosition(i, 3);
  282. binding.lvProduct.smoothScrollToPositionFromTop(i, 0, 500);
  283. }
  284. }
  285. private void checkItem(String barcode) {
  286. Optional<StockLineModel> optionalStockLineModel1 = stockLineList.stream().filter(item -> item.getItemCode().equals(barcode)
  287. && "0".equals(item.getStatus())).findFirst();
  288. Optional<StockLineModel> optionalStockLineModel = stockLineList.stream().filter(item -> item.getItemCode().equals(barcode)).findFirst();
  289. if (optionalStockLineModel1.isPresent()) {
  290. stockOut(optionalStockLineModel1.get());
  291. return;
  292. }
  293. if (optionalStockLineModel.isPresent()) {
  294. stockOut(optionalStockLineModel.get());
  295. return;
  296. }
  297. ToastUtils.showToast(context, "出库单不存在" + barcode + "物品");
  298. }
  299. private void loadErpTask(int show) {
  300. if(StringUtils.isEmpty(erpOutstockCode)){
  301. erpOutstockCode = binding.tvOutCode.getText().toString();
  302. }
  303. if(StringUtils.isEmpty(erpOutstockCode)){
  304. ToastUtils.showToast(context, "出库单号不能为空");
  305. return;
  306. }
  307. if(Constant.user==null || Constant.user.getUserId() == null){
  308. return;
  309. }
  310. if(!isSubmit){
  311. return;
  312. }
  313. isSubmit = false;
  314. MyProgress myProgress = MyProgress.getInstance();
  315. if(show == 1) {
  316. myProgress.show(context, "提示", "正在加载");
  317. }
  318. RequestParams params = httParams(Constant.ERP_OUT_STOCK);
  319. params.addBodyParameter("erpOutstockCode", erpOutstockCode);
  320. // params.addBodyParameter("isAutomatic", "0");
  321. x.http().get(params, new Callback.CommonCallback<JSONObject>() {
  322. @Override
  323. public void onSuccess(JSONObject rs) {
  324. mylog.info(rs.toString());
  325. try {
  326. stockLineList.clear();
  327. if (rs.getInt("code") == 200) {
  328. stockModel = new Gson().fromJson(rs.get("data").toString(), StockModel.class);
  329. if(stockModel.getRmsTaskOutstockLineList()!=null) {
  330. stockLineList.addAll(stockModel.getRmsTaskOutstockLineList());
  331. if(selItem!=null){
  332. findBoxCode(selItem.getBoxCode());
  333. }
  334. }
  335. initLoadData();
  336. }else if(rs.getInt("code") == 401){
  337. ToastUtils.showToast(context, "会话过期");
  338. logoutAuth(rs.getInt("code"));
  339. }else{
  340. ToastUtils.showToast(context, rs.getString("msg"));
  341. }
  342. stockLineListViewAdapter.notifyDataSetChanged();
  343. } catch (JSONException e) {
  344. e.printStackTrace();
  345. }
  346. }
  347. @Override
  348. public void onError(Throwable ex, boolean isOnCallback) {
  349. ex.printStackTrace();
  350. HttpsUtil.parserError(StockOutNewActivity.this, ex);
  351. mylog.error("请求异常:", ex);
  352. }
  353. @Override
  354. public void onFinished() {
  355. myProgress.close();
  356. isSubmit = true;
  357. }
  358. @Override
  359. public void onCancelled(CancelledException arg0) {
  360. mylog.error("onRead:", arg0);
  361. }
  362. });
  363. }
  364. private void syncErp(){
  365. if(Constant.user==null || Constant.user.getUserId() == null){
  366. return;
  367. }
  368. RequestParams params = httParams(Constant.SYNC_OUT_STOCK);
  369. if(stockModel==null){
  370. // ToastUtils.showToast(context, "出库单不存在");
  371. return;
  372. }
  373. MyProgress myProgress = MyProgress.getInstance();
  374. myProgress.show(context, "提示", "正在加载");
  375. params.addBodyParameter("outstockId", stockModel.getOutstockId());
  376. params.addBodyParameter("operator", Constant.user.getLoginName());
  377. x.http().post(params, new Callback.CommonCallback<JSONObject>() {
  378. @Override
  379. public void onSuccess(JSONObject rs) {
  380. mylog.info(rs.toString());
  381. try {
  382. ToastUtils.showToast(context, rs.getString("msg"));
  383. if (rs.getInt("code") == 200) {
  384. ToastUtils.showToast(context, "同步请求成功");
  385. }else if(rs.getInt("code") == 401){
  386. ToastUtils.showToast(context, "会话过期");
  387. logoutAuth(rs.getInt("code"));
  388. }else{
  389. ToastUtils.showToast(context, rs.getString("msg"));
  390. }
  391. } catch (JSONException e) {
  392. e.printStackTrace();
  393. }
  394. }
  395. @Override
  396. public void onError(Throwable ex, boolean isOnCallback) {
  397. ex.printStackTrace();
  398. HttpsUtil.parserError(StockOutNewActivity.this, ex);
  399. mylog.error("请求异常:", ex);
  400. }
  401. @Override
  402. public void onFinished() {
  403. myProgress.close();
  404. }
  405. @Override
  406. public void onCancelled(CancelledException arg0) {
  407. mylog.error("onRead:", arg0);
  408. }
  409. });
  410. }
  411. private void cancelSend(StockLineModel lineModel){
  412. if(Constant.user==null || Constant.user.getUserId() == null){
  413. return;
  414. }
  415. if(lineModel==null){
  416. ToastUtils.showToast(context, "出库单物品");
  417. return;
  418. }
  419. MyProgress myProgress = MyProgress.getInstance();
  420. myProgress.show(context, "提示", "正在加载");
  421. RequestParams params = httParams(Constant.CANCEL_PUSH_LINE);
  422. params.addBodyParameter("outstockId", stockModel.getOutstockId());
  423. params.addBodyParameter("lineId", lineModel.getLineId().toString());
  424. params.addBodyParameter("operator", Constant.user.getLoginName());
  425. x.http().post(params, new Callback.CommonCallback<JSONObject>() {
  426. @Override
  427. public void onSuccess(JSONObject rs) {
  428. mylog.info(rs.toString());
  429. try {
  430. if (rs.getInt("code") == 200) {
  431. ToastUtils.showToast(context, rs.getString("msg"));
  432. loadErpTask(1);
  433. }else if(rs.getInt("code") == 401){
  434. ToastUtils.showToast(context, "会话过期");
  435. logoutAuth(rs.getInt("code"));
  436. }else{
  437. ToastUtils.showToast(context, rs.getString("msg"));
  438. }
  439. } catch (JSONException e) {
  440. e.printStackTrace();
  441. }
  442. }
  443. @Override
  444. public void onError(Throwable ex, boolean isOnCallback) {
  445. ex.printStackTrace();
  446. HttpsUtil.parserError(StockOutNewActivity.this, ex);
  447. mylog.error("请求异常:", ex);
  448. }
  449. @Override
  450. public void onFinished() {
  451. myProgress.close();
  452. }
  453. @Override
  454. public void onCancelled(CancelledException arg0) {
  455. mylog.error("onRead:", arg0);
  456. }
  457. });
  458. }
  459. private void checkOutLine(StockLineModel lineModel){
  460. if(Constant.user==null || Constant.user.getUserId() == null){
  461. return;
  462. }
  463. if(lineModel == null){
  464. ToastUtils.showToast(context, "找不到核对的记录");
  465. return;
  466. }
  467. MyProgress myProgress = MyProgress.getInstance();
  468. myProgress.show(context, "提示", "正在加载");
  469. RequestParams params = httParams(Constant.CHECK_OUT_LINE);
  470. params.addBodyParameter("lineId", lineModel.getLineId().toString());
  471. params.addBodyParameter("outstockId", stockModel.getOutstockId());
  472. params.addBodyParameter("boxCode", lineModel.getBoxCode());
  473. params.addBodyParameter("itemId", lineModel.getItemId().toString());
  474. params.addBodyParameter("itemCode", lineModel.getItemCode());
  475. params.addBodyParameter("quantity", lineModel.getQuantity());
  476. params.addBodyParameter("operator", Constant.user.getLoginName());
  477. x.http().post(params, new Callback.CommonCallback<JSONObject>() {
  478. @Override
  479. public void onSuccess(JSONObject rs) {
  480. mylog.info(rs.toString());
  481. try {
  482. ToastUtils.showToast(context, rs.getString("msg"));
  483. if (rs.getInt("code") == 200) {
  484. ToastUtils.showToast(context, "核对成功");
  485. loadErpTask(1);
  486. }else if(rs.getInt("code") == 401){
  487. ToastUtils.showToast(context, "会话过期");
  488. logoutAuth(rs.getInt("code"));
  489. }else{
  490. ToastUtils.showToast(context, rs.getString("msg"));
  491. }
  492. } catch (JSONException e) {
  493. e.printStackTrace();
  494. }
  495. }
  496. @Override
  497. public void onError(Throwable ex, boolean isOnCallback) {
  498. ex.printStackTrace();
  499. HttpsUtil.parserError(StockOutNewActivity.this, ex);
  500. mylog.error("请求异常:", ex);
  501. }
  502. @Override
  503. public void onFinished() {
  504. myProgress.close();
  505. }
  506. @Override
  507. public void onCancelled(CancelledException arg0) {
  508. mylog.error("onRead:", arg0);
  509. }
  510. });
  511. }
  512. private void sendStockOut(){
  513. if(Constant.user==null || Constant.user.getUserId() == null){
  514. return;
  515. }
  516. if(stockModel.getOutstockId()==null){
  517. ToastUtils.showToast(context, "出库单没有生成");
  518. return;
  519. }
  520. binding.btnOk.setEnabled(false);
  521. MyProgress myProgress = MyProgress.getInstance();
  522. myProgress.show(context, "提示", "正在加载");
  523. RequestParams params = httParams(Constant.SEND_STOCK_OUT);
  524. params.addBodyParameter("outstockId", stockModel.getOutstockId());
  525. params.addBodyParameter("erpOutstockCode", erpOutstockCode);
  526. params.addBodyParameter("fromType", "0");
  527. params.addBodyParameter("taskType", "2");
  528. params.addBodyParameter("path", "/ckgl");
  529. params.addBodyParameter("outstockBatch", "1");
  530. params.addBodyParameter("operator", Constant.user.getLoginName());
  531. x.http().post(params, new Callback.CommonCallback<JSONObject>() {
  532. @Override
  533. public void onSuccess(JSONObject rs) {
  534. mylog.info(rs.toString());
  535. try {
  536. if (rs.getInt("code") == 200) {
  537. ToastUtils.showToast(context, rs.getString("msg"));
  538. }else if(rs.getInt("code") == 401){
  539. ToastUtils.showToast(context, "会话过期");
  540. logoutAuth(rs.getInt("code"));
  541. }else{
  542. ToastUtils.showToast(context, rs.getString("msg"));
  543. }
  544. } catch (JSONException e) {
  545. e.printStackTrace();
  546. }
  547. }
  548. @Override
  549. public void onError(Throwable ex, boolean isOnCallback) {
  550. ex.printStackTrace();
  551. HttpsUtil.parserError(StockOutNewActivity.this, ex);
  552. mylog.error("请求异常:", ex);
  553. }
  554. @Override
  555. public void onFinished() {
  556. myProgress.close();
  557. binding.btnOk.setEnabled(true);
  558. }
  559. @Override
  560. public void onCancelled(CancelledException arg0) {
  561. mylog.error("onRead:", arg0);
  562. }
  563. });
  564. }
  565. public void setSel(List<StockLineModel> lineModels){
  566. if(selItem != null){
  567. Optional<StockLineModel> optional1 = lineModels.stream().filter(item->item.getItemId().equals(selItem.getItemId())).findFirst();
  568. if(optional1.isPresent()){
  569. StockLineModel sel = optional1.get();
  570. sel.setSel("1");
  571. }
  572. }
  573. }
  574. @Subscribe(threadMode = ThreadMode.MAIN, sticky = true, priority = 1)
  575. public void onReceiveMsg(EventMessage message){
  576. if(message.getType() == 3){
  577. new Handler(Looper.getMainLooper()).postDelayed(() -> {
  578. if(StringUtils.isEmpty(erpOutstockCode)){
  579. erpOutstockCode = message.getMessage();
  580. }
  581. if(!StringUtils.isEmpty(erpOutstockCode)) {
  582. loadErpTask(1);
  583. }
  584. }, 1000);
  585. }
  586. }
  587. @Override
  588. protected void onDestroy() {
  589. super.onDestroy();
  590. handler.removeCallbacks(runnable);
  591. EventBus.getDefault().unregister(this);
  592. }
  593. @Override
  594. protected String getCommonTopTitle() {
  595. return "出库单信息";
  596. }
  597. @Override
  598. protected int getCommonTopICO() {
  599. return 0;
  600. }
  601. }