expert-app/app/src/main/java/cn/shangyu/gdxzExpert/activity/AddPractisingaddressActivity.java
2025-11-18 15:12:24 +08:00

643 lines
24 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package cn.shangyu.gdxzExpert.activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.gson.Gson;
import com.gyf.immersionbar.ImmersionBar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.BaseBean;
import cn.shangyu.gdxzExpert.bean.HospitalListBean;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.ToastUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
/**
* Created by wangchengxin on 2019/1/2.
*/
public class AddPractisingaddressActivity extends BaseActivity implements View.OnClickListener,OnCallBackFromNet,AdapterView.OnItemClickListener {
private RadioGroup rg_group,rg_group1;
private RadioButton rb_1,rb_2,rb_3,rb_4;
private TextView bt_delete_visit;
private Dialog dialog;
private EditText et_addhospital,et_addhospital2,et_addhospital3;
private static final int HOSPITALLIST = 1;
private static final int ADDWORKPLACE = 2;
private HospitalListBean fromJson;
private ListView lv_plcae;
private String flag = "dfasfsaf";
private String blackText;
private String type;
private String hospital_uuid;
private String typeName;
private String addhospita2;
private String addhospita3;
private String uuid;
private boolean flag_is_onclic;//判断是否点击了列表
@Override
public void setTitle() {
top_title.setText("新增执业地点");
top_back_layout.setOnClickListener(this);
if(CommonUtil.BigModule())
{
top_title.setTextSize(23);
}
}
@Override
public View onCreateSuccessedView() {
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
View view;
if(CommonUtil.BigModule())
{
view = UIUtils.inflate(R.layout.activity_addpractisingaddress_big);
}
else
{
view = UIUtils.inflate(R.layout.activity_addpractisingaddress);
}
initView(view);
initData();
initOnClick();
return view;
}
private void initData() {
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (intent!=null&&extras!=null){
top_title.setText("修改执业地点");
bt_delete_visit.setText("确定修改");
String hospital_name = intent.getExtras().getString("tv_hospital");
String office_name = intent.getExtras().getString("tv_department");
String location = intent.getExtras().getString("tv_address");
String Hospital_uuid = intent.getExtras().getString("Hospital_uuid");
hospital_uuid = Hospital_uuid;
uuid = intent.getExtras().getString("uuid");
int type1 = intent.getExtras().getInt("tv_type");
type = type1+"";
et_addhospital.setText(hospital_name);
et_addhospital2.setText(office_name);
et_addhospital3.setText(location);
if(CommonUtil.BigModule())
{
}
else
{
TextPaint tp = et_addhospital.getPaint();
tp.setFakeBoldText(true);
TextPaint tp2 = et_addhospital2.getPaint();
tp2.setFakeBoldText(true);
TextPaint tp3 = et_addhospital3.getPaint();
tp3.setFakeBoldText(true);
}
Drawable icon_new = UIUtils.getDrawable(R.drawable.check_true);
switch (type1){
case 1:
typeName = "普通门诊";
rb_1.setChecked(true);
rb_1.setBackground(icon_new);
break;
case 2:
rb_2.setChecked(true);
typeName = "专家门诊";
rb_2.setBackground(icon_new);
break;
case 3:
rb_3.setChecked(true);
typeName = "特需门诊";
rb_3.setBackground(icon_new);
break;
case 4:
rb_4.setChecked(true);
rb_4.setBackground(icon_new);
typeName = "专科/专病门诊";
break;
}
}
}
private void initOnClick() {
bt_delete_visit.setOnClickListener(this);
if(CommonUtil.BigModule())
{
rg_group1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Drawable icon_new = UIUtils.getDrawable(R.drawable.check_true_big);
Drawable icon_1 = UIUtils.getDrawable(R.drawable.shap_addpractisingaddress_normal);
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch改用 if-else
if (checkedId == R.id.rb_4) {
if(rb_4.isChecked())
{
rg_group.clearCheck();
rb_1.setBackground(icon_1);
rb_2.setBackground(icon_1);
rb_3.setBackground(icon_1);
rb_4.setBackground(icon_new);
type = "4";
typeName = "专科/专病门诊";
}
}
}
});
}
rg_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Drawable icon_new;
if(CommonUtil.BigModule())
{
icon_new = UIUtils.getDrawable(R.drawable.check_true_big);
}
else
{
icon_new = UIUtils.getDrawable(R.drawable.check_true);
}
Drawable icon_1 = UIUtils.getDrawable(R.drawable.shap_addpractisingaddress_normal);
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch改用 if-else
if (checkedId == R.id.rb_1) {
if(rb_1.isChecked()&&CommonUtil.BigModule())
{
rg_group1.clearCheck();
}
rb_1.setBackground(icon_new);
rb_2.setBackground(icon_1);
rb_3.setBackground(icon_1);
rb_4.setBackground(icon_1);
type = "1";
typeName = "普通门诊";
} else if (checkedId == R.id.rb_2) {
if(rb_2.isChecked()&&CommonUtil.BigModule())
{
rg_group1.clearCheck();
}
rb_1.setBackground(icon_1);
rb_2.setBackground(icon_new);
rb_3.setBackground(icon_1);
rb_4.setBackground(icon_1);
type = "2";
typeName = "专家门诊";
} else if (checkedId == R.id.rb_3) {
if(rb_3.isChecked()&&CommonUtil.BigModule())
{
rg_group1.clearCheck();
}
rb_1.setBackground(icon_1);
rb_2.setBackground(icon_1);
rb_3.setBackground(icon_new);
rb_4.setBackground(icon_1);
type = "3";
typeName = "特需门诊";
} else if (checkedId == R.id.rb_4) {
rb_1.setBackground(icon_1);
rb_2.setBackground(icon_1);
rb_3.setBackground(icon_1);
rb_4.setBackground(icon_new);
type = "4";
typeName = "专科/专病门诊";
}
}
});
et_addhospital.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(CommonUtil.BigModule())
{
String s1 = s.toString().trim();
blackText = s1;
if (flag.equals(s1)){
lv_plcae.setVisibility(View.GONE);
}else if (s1==null||"".equals(s1)){
lv_plcae.setVisibility(View.GONE);
}else if (!TextUtils.isEmpty(s1)){
Map<String, String> param = new HashMap<>();
param.put("name",s1);
sendJsonPostParamtoNetSignMD5(Url.hospitalList, param, HOSPITALLIST, AddPractisingaddressActivity.this);
}else {
lv_plcae.setVisibility(View.GONE);
}
}
else
{
String s1 = s.toString().trim();
blackText = s1;
TextPaint tp = et_addhospital.getPaint();
if (flag.equals(s1)){
lv_plcae.setVisibility(View.GONE);
tp.setFakeBoldText(false);
}else if (s1==null||"".equals(s1)){
lv_plcae.setVisibility(View.GONE);
tp.setFakeBoldText(false);
}else if (!TextUtils.isEmpty(s1)){
tp.setFakeBoldText(true);
Map<String, String> param = new HashMap<>();
param.put("name",s1);
sendJsonPostParamtoNetSignMD5(Url.hospitalList, param, HOSPITALLIST, AddPractisingaddressActivity.this);
}else {
lv_plcae.setVisibility(View.GONE);
tp.setFakeBoldText(false);
}
}
}
});
lv_plcae.setOnItemClickListener(this);
et_addhospital2.addTextChangedListener(new TextWatcher() {
boolean hint;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(CommonUtil.BigModule())
{
}
else
{
TextPaint tp = et_addhospital2.getPaint();
if(s.length() == 0) {
// no text, hint is visible
hint = true;
tp.setFakeBoldText(false);
} else {
// no hint, text is visible
hint = false;
tp.setFakeBoldText(true);
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
et_addhospital3.addTextChangedListener(new TextWatcher() {
boolean hint;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(CommonUtil.BigModule())
{
}
else
{
TextPaint tp = et_addhospital3.getPaint();
if(s.length() == 0) {
// no text, hint is visible
hint = true;
tp.setFakeBoldText(false);
} else {
// no hint, text is visible
hint = false;
tp.setFakeBoldText(true);
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
private void initView(View view) {
rg_group = view.findViewById(R.id.rg_group);
bt_delete_visit = view.findViewById(R.id.bt_delete_visit);
rb_1 = view.findViewById(R.id.rb_1);
rb_2 = view.findViewById(R.id.rb_2);
rb_3 = view.findViewById(R.id.rb_3);
rb_4 = view.findViewById(R.id.rb_4);
if(CommonUtil.BigModule())
{
rg_group1 = view.findViewById(R.id.rg_group1);
}
et_addhospital = view.findViewById(R.id.et_addhospital);
et_addhospital2 = view.findViewById(R.id.et_addhospital2);
et_addhospital3 = view.findViewById(R.id.et_addhospital3);
lv_plcae = view.findViewById(R.id.lv_plcae);
et_addhospital.setFilters(new InputFilter[]{new SpaceFilter()});
et_addhospital2.setFilters(new InputFilter[]{new SpaceFilter()});
et_addhospital3.setFilters(new InputFilter[]{new SpaceFilter()});
}
/**
* 禁止输入空格
*
* @return
*/
public class SpaceFilter implements InputFilter {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
//返回null表示接收输入的字符,返回空字符串表示不接受输入的字符
if (source.equals(" "))
return "";
return null;
}
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch改用 if-else
int id = v.getId();
if (id == R.id.bt_delete_visit) {
String addhospital = et_addhospital.getText().toString().trim();
addhospita2 = et_addhospital2.getText().toString().trim().replace(" ","");
addhospita3 = et_addhospital3.getText().toString().trim().replace(" ","");
if (TextUtils.isEmpty(addhospital)||StringUtil.isEmpty(hospital_uuid)) {
ToastUtil.showToast("请输入您的医院");
}
if (TextUtils.isEmpty(addhospita2)) {
ToastUtil.showToast("请输入您的科室");
}
if (TextUtils.isEmpty(addhospita3)) {
ToastUtil.showToast("请填写您的地址");
}
if (StringUtil.isEmpty(type)) {
ToastUtil.showToast("请选择门诊类型");
}
LayoutInflater inflater = LayoutInflater.from(this);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.dialog_addpractisingaddress, null);
dialog = new AlertDialog.Builder(AddPractisingaddressActivity.this).create();
TextView tv_infotitle = (TextView) layout.findViewById(R.id.tv_infotitle);
TextView tv_name = (TextView) layout.findViewById(R.id.tv_name);
TextView tv_tele = (TextView) layout.findViewById(R.id.tv_tele);
TextView tv_address = (TextView) layout.findViewById(R.id.tv_address);
TextView tv_addressdetail = (TextView) layout.findViewById(R.id.tv_addressdetail);
TextView tv_point = (TextView) layout.findViewById(R.id.tv_point);
TextView tv_baoyou = (TextView) layout.findViewById(R.id.tv_baoyou);
Button btn_sure = (Button) layout.findViewById(R.id.btn_sure);
Button btn_cancel = (Button) layout.findViewById(R.id.btn_cancel);
tv_name.setText(addhospital);
tv_tele.setText(addhospita2);
tv_addressdetail.setText(addhospita3);
tv_point.setText(typeName);
dialog.show();
Window window =dialog.getWindow();
// window.setGravity(Gravity.CENTER);
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(layoutParams);
dialog.getWindow().setContentView(layout);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
btn_sure.setOnClickListener(this);
} else if (id == R.id.btn_sure) {
dialog.dismiss();
Map<String, String> param = new HashMap<>();
param.put("hospital_uuid",hospital_uuid);
param.put("office_name",addhospita2);
param.put("location",addhospita3);
param.put("type",type);
if (!StringUtil.isEmpty(uuid)){
param.put("uuid",uuid);
sendJsonPostParamtoNetSignMD5(Url.editWorkPlace, param, ADDWORKPLACE, this);
}else {
sendJsonPostParamtoNetSignMD5(Url.addWorkPlace, param, ADDWORKPLACE, this);
}
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
switch (resultCode){
case HOSPITALLIST:
LogUtil.i("resultJson = "+resultJson);
Gson gson = new Gson();
fromJson = gson.fromJson(resultJson, HospitalListBean.class);
if (fromJson!=null&&"200".equals(fromJson.getCode())&&fromJson.getData().size()>0){
lv_plcae.setVisibility(View.VISIBLE);
LogUtil.i("点击出现");
HospitalListAdapter adapter = new HospitalListAdapter(fromJson.getData());
lv_plcae.setAdapter(adapter);
}else {
lv_plcae.setVisibility(View.GONE);
}
break;
case ADDWORKPLACE:
Gson gson1 = new Gson();
BaseBean fromJson = gson1.fromJson(resultJson, BaseBean.class);
if (fromJson!=null&&"200".equals(fromJson.code)){
hideSoftKeyboard();
Intent intent = new Intent();
setResult(2, intent);
finish();
}else if ("Data Repeated".equals(fromJson.message)){
ToastUtil.showMessage("重复添加执业地点,请重新添加");
}else {
ToastUtil.showMessage(fromJson.message);
}
break;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
HospitalListBean.DataBean dataBean = fromJson.getData().get(position);
flag = dataBean.getName();
hospital_uuid = dataBean.getUuid();
et_addhospital.setText(dataBean.getName());
et_addhospital.setSelection(et_addhospital.getText().toString().length());
flag_is_onclic = true;
if(!CommonUtil.BigModule())
{
TextPaint tp = et_addhospital.getPaint();
tp.setFakeBoldText(true);
}
lv_plcae.setVisibility(View.GONE);
LogUtil.i("点击消失");
}
class HospitalListAdapter extends BaseAdapter {
private List<HospitalListBean.DataBean> data;
public HospitalListAdapter(List<HospitalListBean.DataBean> data) {
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vh = null;
if (convertView == null) {
if(CommonUtil.BigModule())
{
convertView = UIUtils.inflate(R.layout.item_hospital_item_big);
}
else
{
convertView = UIUtils.inflate(R.layout.item_hospital_item);
}
vh = new ViewHolder();
vh.tv_name = convertView.findViewById(R.id.tv_name);
vh.tv_name1 = convertView.findViewById(R.id.tv_name1);
vh.tv_name2 = convertView.findViewById(R.id.tv_name2);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
String name = data.get(position).getName();
String[] split = name.split(blackText);
if (StringUtil.isEmpty(blackText)){
lv_plcae.setVisibility(View.GONE);
}else if (split.length>0&&StringUtil.isEmpty(split[0])){
TextPaint tp = vh.tv_name.getPaint();
TextPaint tp1 = vh.tv_name1.getPaint();
TextPaint tp2 = vh.tv_name2.getPaint();
tp.setFakeBoldText(true);
tp1.setFakeBoldText(false);
tp2.setFakeBoldText(false);
vh.tv_name.setText(blackText);
if (split.length>1){
vh.tv_name1.setText(split[1]);
}
}else if (split.length==1){
TextPaint tp = vh.tv_name.getPaint();
TextPaint tp1 = vh.tv_name1.getPaint();
TextPaint tp2 = vh.tv_name2.getPaint();
tp1.setFakeBoldText(true);
tp2.setFakeBoldText(false);
tp.setFakeBoldText(false);
vh.tv_name1.setText(blackText);
vh.tv_name.setText(split[0]);
}else if (split.length>0){
TextPaint tp = vh.tv_name.getPaint();
TextPaint tp1 = vh.tv_name1.getPaint();
TextPaint tp2 = vh.tv_name2.getPaint();
tp1.setFakeBoldText(true);
tp2.setFakeBoldText(false);
tp.setFakeBoldText(false);
vh.tv_name1.setText(blackText);
vh.tv_name.setText(split[0]);
if (split.length>1){
vh.tv_name2.setText(split[1]);
}
}
//
return convertView;
}
public class ViewHolder {
public TextView tv_name,tv_name1,tv_name2;
}
}
}