package com.jiuqi.njt.management; import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewStub; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.Toast; import com.jiuqi.mobile.nigo.comeclose.bean.app.file.RepairsFileBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.file.SentEmployeeBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.file.ServiceFileBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.InnerManagementBean; import com.jiuqi.mobile.nigo.comeclose.manager.base.IInnerManagementManager; import com.jiuqi.mobile.nigo.comeclose.manager.file.ISentEmployeeManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.adapter.TreeViewPgAdapter; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.model.UserTreeElement; import com.jiuqi.njt.ui.AbstractNjtActivity03; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; /** * 派工页面 */ public class RepairActivity extends AbstractNjtActivity03 implements OnClickListener { // /显示的数量currentElements private ArrayList<UserTreeElement> currentElements = new ArrayList<UserTreeElement>(); // /总的节点数 private ArrayList<UserTreeElement> alltreeElements = new ArrayList<UserTreeElement>(); private ListView listview; public ViewStub rlTitleBar; public static TreeViewPgAdapter treeViewAdapter; private MyApp application; private List<InnerManagementBean> innerList; private LinearLayout bxLinear; private Boolean resultBoo = false; public static String innerEmployeeGuid = null; private LinearLayout compleLinear; private LinearLayout gjlinear; private EditText find;//模糊搜索 private Button findkey, btncomplete; private SentEmployeeBean sentEmployeeBean; private RepairsFileBean repairsFileBean; private Boolean chaBoolean = false; private ServiceFileBean serviceFileBean ; private String bxGuid = null; private String wxdGuid = null; private String wxName = null; private String wxMobile = null; private String guidBxDx; private OptsharepreInterface sharePre; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @SuppressLint("NewApi") protected void initWidgets() { setContentView(R.layout.expandlist); application = (MyApp) getApplication(); guidBxDx = getIntent().getStringExtra("guidBx"); sharePre = new OptsharepreInterface(getApplicationContext()); if (null != getIntent().getSerializableExtra("serviceFileBean")) { serviceFileBean = new ServiceFileBean(); serviceFileBean =(ServiceFileBean)getIntent().getSerializableExtra("serviceFileBean"); bxGuid = serviceFileBean.getSentEmployeeBean().getRepairsFileBean().getGuid(); wxdGuid = serviceFileBean.getSentEmployeeBean().getRepairsFileBean().getRepairGuid(); wxName = serviceFileBean.getSentEmployeeBean().getRepairsFileBean().getRepairManName(); wxMobile = serviceFileBean.getSentEmployeeBean().getRepairsFileBean().getRepairManMobile(); }else { repairsFileBean = new RepairsFileBean(); repairsFileBean =(RepairsFileBean) getIntent().getSerializableExtra("repairsFileBean"); bxGuid = repairsFileBean.getGuid(); wxdGuid = repairsFileBean.getRepairGuid(); wxName = repairsFileBean.getRepairManName(); wxMobile = repairsFileBean.getRepairManMobile(); } initTitleBar(); bxLinear = (LinearLayout) findViewById(R.id.bxLinear); compleLinear = (LinearLayout) findViewById(R.id.compleLinear); gjlinear = (LinearLayout) findViewById(R.id.gjlinear); find = (EditText) this.findViewById(R.id.find); findkey = (Button) this.findViewById(R.id.findkey); bxLinear.setVisibility(View.VISIBLE); compleLinear.setVisibility(View.VISIBLE); btncomplete = (Button) findViewById(R.id.btncomplete); gjlinear.setVisibility(View.GONE); listview = (ListView) this.findViewById(R.id.userlist); } protected void initTitleBar() { rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "报修档案", new View.OnClickListener() { @Override public void onClick(View v) { RepairActivity.this.finish(); } }, "维修单", new View.OnClickListener() { @Override public void onClick(View v) { // 跳转到维修单界面,需传值 if (resultBoo) { Intent intent = new Intent(); intent.setClass(RepairActivity.this,RepairOfSingleActivity.class); intent.putExtra("pg", sentEmployeeBean); startActivity(intent); }else { chaBoolean = true; new Thread(runnable).start(); } } }); } protected void initListeners() { /* * 传入报修单guid。查出派工单信息:ISentEmployeeManager 中的findSentEmployeeByRepairsFileGuid(报修单guid)。判断是否生成派工单,如果已生成派工单:IServiceFilesManager 中的findServiceFileBySentEmployeeGuid 传入参数为派工单guid 未生成派工单,需查出报修单信息: IRepairsFileManager 中的find(报修单guid) */ btncomplete.setOnClickListener(this); findkey.setOnClickListener(this); } /** * 获取用户列表 */ protected void doQuery() { name = find.getText().toString(); getUserTask = new GetUserTask(); getUserTask.execute(); } @Override protected void onQueryComplete() { initListview(); } private void initListview() { initialData(); treeViewAdapter = new TreeViewPgAdapter(this, currentElements,alltreeElements,guidBxDx); listview.setAdapter(treeViewAdapter); } private void initialData() { if (null != parent) { // 初始化数据 currentElements.clear(); alltreeElements.clear(); // UserTreeElement parentElement = new UserTreeElement("", "久其测试合作社",false, true, false, "", "0", "-1"); UserTreeElement parentElement = new UserTreeElement("", sharePre.getPres("username"),false, true, false, "", "0", "-1"); currentElements.add(parentElement);// 把久其测试首条写入 for (int i = 0; i < parent.size(); i++) { UserTreeElement treeElements = new UserTreeElement(parent.get(i).getGuid(), parent.get(i).getUserName(), true,true, false, "", "-1", String.valueOf(i + 1)); alltreeElements.add(treeElements); try { ClientContext context = application.getClientContext(); IInnerManagementManager manager = context.getManager(IInnerManagementManager.class); innerList = new ArrayList<InnerManagementBean>(); innerList = manager.findEmployeeByNameAndOrgAndGroup(name, user.getGuid(),parent.get(i).getGuid()); } catch (Exception e) { } if (innerList.size() != 0) { for (int j = 0; j < innerList.size(); j++) { UserTreeElement treeElementss = new UserTreeElement(innerList.get(j).getGuid(), innerList.get(j).getUserName(), true, false, false, "",String.valueOf(i + 1), ""); alltreeElements.add(treeElementss); } }else { if (null == innerList || innerList.size() == 0 ) { alltreeElements.remove(treeElements); } } }// 分组 if (parentwfz.size() != 0) { UserTreeElement treeElements = new UserTreeElement("", "未分组",true, true, false, "", "-1", String.valueOf(0)); alltreeElements.add(treeElements); for (int k = 0; k < parentwfz.size(); k++) { UserTreeElement treeElementss = new UserTreeElement(parentwfz.get(k).getGuid(), parentwfz.get(k).getUserName(), true, false, false, "",String.valueOf(0), ""); alltreeElements.add(treeElementss); } }// 未分组添加 } } private Runnable runnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub if (null != innerEmployeeGuid) { try { // 传的参数 sentEmployeeBean = new SentEmployeeBean(); sentEmployeeBean.setRepairsGuid(bxGuid);//"报修单guid" sentEmployeeBean.setRepairGuid(wxdGuid);//"指定维修点guid" sentEmployeeBean.setRepairManName(wxName); sentEmployeeBean.setRepairManMobile(wxMobile); sentEmployeeBean.setSendState(2); sentEmployeeBean.setDealState(2); sentEmployeeBean.setInnerEmployeeGuid(innerEmployeeGuid); sentEmployeeBean.setGuid(); // 传的参数 MyApp application = (MyApp) getApplication(); ClientContext context = application.getClientContext(); ISentEmployeeManager manager = context .getManager(ISentEmployeeManager.class); resultBoo = manager.createSentEmployeeAndUpdateRepairsFileDealState(sentEmployeeBean); } catch (Exception e) { } handler.sendEmptyMessage(0); }else { handler.sendEmptyMessage(1); } } }; private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case 0: if (resultBoo) { Toast.makeText(RepairActivity.this, "派工完成", Toast.LENGTH_SHORT).show(); if (chaBoolean) { Intent intent = new Intent(); intent.setClass(RepairActivity.this,RepairOfSingleActivity.class); intent.putExtra("pg", sentEmployeeBean); startActivity(intent); } } else { Toast.makeText(RepairActivity.this, "派工失败", Toast.LENGTH_SHORT).show(); } break; case 1: Toast.makeText(RepairActivity.this, "请选择维修工程师", Toast.LENGTH_SHORT).show(); break; default: break; } }; }; @Override public void onClick(View v) { switch (v.getId()) { case R.id.btncomplete: new Thread(runnable).start(); break; case R.id.findkey: if (UIUtil.isFastDoubleClick()) { return; } doQuery(); break; default: break; } } public static void notifyData() { treeViewAdapter.notifyDataSetChanged(); } }