SearchFragment.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. package com.dbs.mplus.knuh.fragment;
  2. import androidx.annotation.NonNull;
  3. import androidx.annotation.Nullable;
  4. import androidx.appcompat.app.AppCompatActivity;
  5. import androidx.fragment.app.Fragment;
  6. import androidx.recyclerview.widget.LinearLayoutManager;
  7. import androidx.recyclerview.widget.RecyclerView;
  8. import android.content.Context;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.LayoutInflater;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.AdapterView;
  15. import android.widget.EditText;
  16. import android.widget.LinearLayout;
  17. import android.widget.Spinner;
  18. import android.widget.TextView;
  19. import com.dbs.mplus.knuh.BuildConfig;
  20. import com.dbs.mplus.knuh.R;
  21. import com.dbs.mplus.knuh.adapter.CategoryAdapter;
  22. import com.dbs.mplus.knuh.adapter.ConsentListAdapter;
  23. import com.dbs.mplus.knuh.customView.LoadingProgress;
  24. import com.dbs.mplus.knuh.httpTask.CallBack;
  25. import com.dbs.mplus.knuh.httpTask.SoapParser;
  26. import com.dbs.mplus.knuh.model.CategoryVO;
  27. import com.dbs.mplus.knuh.model.ConsentFormListVO;
  28. import com.dbs.mplus.knuh.util.ConsentConfig;
  29. import com.dbs.mplus.knuh.util.Util;
  30. import org.ksoap2.serialization.SoapObject;
  31. import java.util.ArrayList;
  32. import java.util.HashMap;
  33. public class SearchFragment extends Fragment {
  34. private static final String TAG = "SearchFragment";
  35. private AppCompatActivity mActivity;
  36. private Context mContext;
  37. private CategoryAdapter categoryAdapter;
  38. private RecyclerView searchRecyclerView;
  39. private LinearLayout searchClickLayout;
  40. private Spinner searchDeptSpinner;
  41. private TextView tvHospitalName;
  42. private TextView etPatientId;
  43. private String keyWord = "";
  44. private String categoryId = "";
  45. public SearchFragment() {
  46. }
  47. // 테스트
  48. @Override
  49. public void onCreate(Bundle savedInstanceState) {
  50. super.onCreate(savedInstanceState);
  51. mContext = getActivity();
  52. mActivity = (AppCompatActivity) getActivity();
  53. progress = new LoadingProgress(mActivity);
  54. }
  55. @Nullable
  56. @Override
  57. public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  58. View view = (View) inflater.inflate(R.layout.activity_search_fragment, container, false);
  59. searchDeptSpinner = (Spinner) view.findViewById(R.id.searchDeptSpinner);
  60. tvHospitalName = (TextView) view.findViewById(R.id.tvHospitalName);
  61. etPatientId = (EditText) view.findViewById(R.id.etPatientId);
  62. searchRecyclerView = (RecyclerView) view.findViewById(R.id.searchRecyclerView);
  63. searchClickLayout = (LinearLayout) view.findViewById(R.id.searchClickLayout); // 조회 버튼
  64. getCategoryList(BuildConfig.INST_CD);
  65. setEvent();
  66. return view;
  67. }
  68. private void setEvent() {
  69. searchClickLayout.setOnClickListener(onClickListener);
  70. }
  71. private View.OnClickListener onClickListener = new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74. if (v == searchClickLayout) {
  75. progress.show();
  76. keyWord = etPatientId.getText().toString();
  77. getConsentList(BuildConfig.INST_CD, keyWord, categoryId);
  78. }
  79. }
  80. };
  81. /** Spinner List API **/
  82. private void getCategoryList(final String instCd) {
  83. CallBack callBack = new CallBack() {
  84. @Override
  85. public void result(SoapObject result) {
  86. Log.e(TAG, "RowListResult --> " + result);
  87. if (result == null || result.toString().indexOf("null") > 0) {
  88. stop();
  89. } else {
  90. categoryArray = SoapParser.getHospitalList(result);
  91. setSpinnerAdapter(categoryArray);
  92. }
  93. }
  94. @Override
  95. public void stop() {
  96. }
  97. @Override
  98. public void error() {
  99. }
  100. };
  101. if (instCd.equals(BuildConfig.INST_CD)) {
  102. tvHospitalName.setText(getText(R.string.knuh));
  103. } else {
  104. tvHospitalName.setText(getText(R.string.chilgok));
  105. }
  106. HashMap<String, String> mData = new HashMap<String, String>();
  107. mData.put("instCd", instCd);
  108. Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.GET_CONSENT_CATEGORYY, mData, callBack);
  109. }
  110. private void setSpinnerAdapter(final ArrayList arrayList) {
  111. mActivity.runOnUiThread(new Runnable() {
  112. @Override
  113. public void run() {
  114. categoryAdapter = new CategoryAdapter(mActivity, arrayList);
  115. searchDeptSpinner.setAdapter(categoryAdapter);
  116. searchDeptSpinner.setOnItemSelectedListener(onItemSelectedListener);
  117. }
  118. });
  119. }
  120. private Spinner.OnItemSelectedListener onItemSelectedListener = new Spinner.OnItemSelectedListener() {
  121. @Override
  122. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  123. CategoryVO categoryVO = categoryArray.get(position);
  124. categoryId = categoryVO.getCategoryId();
  125. Log.e(TAG, "categoryId -- > " + categoryId);
  126. }
  127. @Override
  128. public void onNothingSelected(AdapterView<?> parent) {
  129. }
  130. };
  131. /** 동의서 찾기 카테고리 리스트 **/
  132. private void getConsentList(final String instCd, String keyWord) {
  133. CallBack callBack = new CallBack() {
  134. @Override
  135. public void result(SoapObject result) {
  136. progress.dismiss();
  137. if (result == null || result.toString().indexOf("null") > 0 ) {
  138. } else {
  139. ArrayList<ConsentFormListVO> arrayList = SoapParser.getConsentList(result);
  140. setConsentAdapter(arrayList);
  141. }
  142. }
  143. @Override
  144. public void stop() {
  145. }
  146. @Override
  147. public void error() {
  148. }
  149. };
  150. HashMap<String, String> mData = new HashMap<String, String>();
  151. mData.put("instCd", instCd);
  152. mData.put("keyWord", keyWord);
  153. mData.put("categoryId", categoryId);
  154. Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.GET_CONSENT_SEARCH, mData, callBack);
  155. }
  156. }