diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 5d87c8f..093172a 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -14,6 +14,7 @@ import com.casic.dcms.databinding.ActivityDeptAdjustBinding; import com.casic.dcms.model.CaseDetailBean; import com.casic.dcms.model.CaseNextNodeBean; +import com.casic.dcms.model.ProcessPersonBean; import com.casic.dcms.utils.DialogHub; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.MapHelper; @@ -22,6 +23,7 @@ import com.casic.dcms.vm.CaseOperateViewModel; import com.casic.dcms.vm.CaseViewModel; import com.casic.dcms.vm.NodeViewModel; +import com.casic.dcms.vm.PersonViewModel; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -47,11 +49,14 @@ private CaseViewModel caseViewModel; private NodeViewModel nodeViewModel; private CaseOperateViewModel operateViewModel; + private PersonViewModel personViewModel; private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private String id; private String changeState; private String operationKey; + private String taskUserId; private OrientationUtils orientationUtils; private boolean isPlay; private boolean isPause; @@ -224,6 +229,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -249,6 +256,16 @@ } }); + personViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + personViewModel.processPersonModel.observe(this, new Observer() { + @Override + public void onChanged(ProcessPersonBean resultBean) { + if (resultBean.getCode() == 200) { + personBeans = resultBean.getData(); + } + } + }); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); } @@ -279,6 +296,32 @@ CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position); changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); + + if (viewBinding.optTypeView.getText().toString().equals("同意申请调整")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); + } else { + viewBinding.handlePersonLayout.setVisibility(View.GONE); + } } }).build().show(); } @@ -317,8 +360,7 @@ return; } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - data.getProcessPersonid()); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 5d87c8f..093172a 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -14,6 +14,7 @@ import com.casic.dcms.databinding.ActivityDeptAdjustBinding; import com.casic.dcms.model.CaseDetailBean; import com.casic.dcms.model.CaseNextNodeBean; +import com.casic.dcms.model.ProcessPersonBean; import com.casic.dcms.utils.DialogHub; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.MapHelper; @@ -22,6 +23,7 @@ import com.casic.dcms.vm.CaseOperateViewModel; import com.casic.dcms.vm.CaseViewModel; import com.casic.dcms.vm.NodeViewModel; +import com.casic.dcms.vm.PersonViewModel; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -47,11 +49,14 @@ private CaseViewModel caseViewModel; private NodeViewModel nodeViewModel; private CaseOperateViewModel operateViewModel; + private PersonViewModel personViewModel; private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private String id; private String changeState; private String operationKey; + private String taskUserId; private OrientationUtils orientationUtils; private boolean isPlay; private boolean isPause; @@ -224,6 +229,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -249,6 +256,16 @@ } }); + personViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + personViewModel.processPersonModel.observe(this, new Observer() { + @Override + public void onChanged(ProcessPersonBean resultBean) { + if (resultBean.getCode() == 200) { + personBeans = resultBean.getData(); + } + } + }); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); } @@ -279,6 +296,32 @@ CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position); changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); + + if (viewBinding.optTypeView.getText().toString().equals("同意申请调整")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); + } else { + viewBinding.handlePersonLayout.setVisibility(View.GONE); + } } }).build().show(); } @@ -317,8 +360,7 @@ return; } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - data.getProcessPersonid()); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index 58b2d48..99f4c40 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -51,9 +51,9 @@ private NodeViewModel nodeViewModel; private PersonViewModel personViewModel; private CaseOperateViewModel operateViewModel; - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List personBeans; private String id; private String changeState; private String operationKey; @@ -230,6 +230,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -262,14 +264,6 @@ public void onChanged(ProcessPersonBean resultBean) { if (resultBean.getCode() == 200) { personBeans = resultBean.getData(); - if (personBeans.size() == 0) { - viewBinding.caseHandlePersonView.setText("无处置人员"); - } else { - ProcessPersonBean.DataBean dataBean = personBeans.get(0); - taskUserId = dataBean.getId(); - viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个 - } - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); } } }); @@ -306,15 +300,31 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (tag.equals("返回处理")) { - viewBinding.casePersonLayout.setVisibility(View.VISIBLE); - viewBinding.personLine.setVisibility(View.VISIBLE); + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取下级处置人员名单 - personViewModel.obtainSubordinatePerson(); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); } else { - viewBinding.casePersonLayout.setVisibility(View.GONE); - viewBinding.personLine.setVisibility(View.GONE); + viewBinding.handlePersonLayout.setVisibility(View.GONE); } } }).build().show(); @@ -322,29 +332,6 @@ } }); - viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (personBeans.size() >= 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); - sheetBuilder.setTitle("处置人员"); - for (ProcessPersonBean.DataBean dataBean : personBeans) { - sheetBuilder.addItem(dataBean.getName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseHandlePersonView.setText(tag); - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); - - taskUserId = personBeans.get(position).getId(); - } - }).build().show(); - } - } - }); - viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -374,7 +361,7 @@ } if (optType.equals("返回处理")) { //选择处理人员时,必选一个处置人员 - String handlePerson = viewBinding.caseHandlePersonView.getText().toString(); + String handlePerson = viewBinding.handlePersonView.getText().toString(); if (handlePerson.equals("")) { StringHub.show(context, "当前状态必须指定处置员"); return; @@ -385,13 +372,8 @@ StringHub.show(context, "处理意见必须填写"); return; } - //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替 - if (TextUtils.isEmpty(taskUserId)) { - taskUserId = data.getProcessPersonid(); - } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - taskUserId); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 5d87c8f..093172a 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -14,6 +14,7 @@ import com.casic.dcms.databinding.ActivityDeptAdjustBinding; import com.casic.dcms.model.CaseDetailBean; import com.casic.dcms.model.CaseNextNodeBean; +import com.casic.dcms.model.ProcessPersonBean; import com.casic.dcms.utils.DialogHub; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.MapHelper; @@ -22,6 +23,7 @@ import com.casic.dcms.vm.CaseOperateViewModel; import com.casic.dcms.vm.CaseViewModel; import com.casic.dcms.vm.NodeViewModel; +import com.casic.dcms.vm.PersonViewModel; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -47,11 +49,14 @@ private CaseViewModel caseViewModel; private NodeViewModel nodeViewModel; private CaseOperateViewModel operateViewModel; + private PersonViewModel personViewModel; private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private String id; private String changeState; private String operationKey; + private String taskUserId; private OrientationUtils orientationUtils; private boolean isPlay; private boolean isPause; @@ -224,6 +229,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -249,6 +256,16 @@ } }); + personViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + personViewModel.processPersonModel.observe(this, new Observer() { + @Override + public void onChanged(ProcessPersonBean resultBean) { + if (resultBean.getCode() == 200) { + personBeans = resultBean.getData(); + } + } + }); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); } @@ -279,6 +296,32 @@ CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position); changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); + + if (viewBinding.optTypeView.getText().toString().equals("同意申请调整")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); + } else { + viewBinding.handlePersonLayout.setVisibility(View.GONE); + } } }).build().show(); } @@ -317,8 +360,7 @@ return; } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - data.getProcessPersonid()); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index 58b2d48..99f4c40 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -51,9 +51,9 @@ private NodeViewModel nodeViewModel; private PersonViewModel personViewModel; private CaseOperateViewModel operateViewModel; - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List personBeans; private String id; private String changeState; private String operationKey; @@ -230,6 +230,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -262,14 +264,6 @@ public void onChanged(ProcessPersonBean resultBean) { if (resultBean.getCode() == 200) { personBeans = resultBean.getData(); - if (personBeans.size() == 0) { - viewBinding.caseHandlePersonView.setText("无处置人员"); - } else { - ProcessPersonBean.DataBean dataBean = personBeans.get(0); - taskUserId = dataBean.getId(); - viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个 - } - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); } } }); @@ -306,15 +300,31 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (tag.equals("返回处理")) { - viewBinding.casePersonLayout.setVisibility(View.VISIBLE); - viewBinding.personLine.setVisibility(View.VISIBLE); + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取下级处置人员名单 - personViewModel.obtainSubordinatePerson(); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); } else { - viewBinding.casePersonLayout.setVisibility(View.GONE); - viewBinding.personLine.setVisibility(View.GONE); + viewBinding.handlePersonLayout.setVisibility(View.GONE); } } }).build().show(); @@ -322,29 +332,6 @@ } }); - viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (personBeans.size() >= 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); - sheetBuilder.setTitle("处置人员"); - for (ProcessPersonBean.DataBean dataBean : personBeans) { - sheetBuilder.addItem(dataBean.getName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseHandlePersonView.setText(tag); - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); - - taskUserId = personBeans.get(position).getId(); - } - }).build().show(); - } - } - }); - viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -374,7 +361,7 @@ } if (optType.equals("返回处理")) { //选择处理人员时,必选一个处置人员 - String handlePerson = viewBinding.caseHandlePersonView.getText().toString(); + String handlePerson = viewBinding.handlePersonView.getText().toString(); if (handlePerson.equals("")) { StringHub.show(context, "当前状态必须指定处置员"); return; @@ -385,13 +372,8 @@ StringHub.show(context, "处理意见必须填写"); return; } - //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替 - if (TextUtils.isEmpty(taskUserId)) { - taskUserId = data.getProcessPersonid(); - } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - taskUserId); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 3cb29ad..e503a25 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -297,9 +297,9 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("同意申请调整") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取处置人员列表 + //处置人员列表 viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -354,6 +354,14 @@ StringHub.show(context, "还未选择操作类型"); return; } + if (optType.equals("返回处理")) { + //选择处理人员时,必选一个处置人员 + String handlePerson = viewBinding.handlePersonView.getText().toString(); + if (handlePerson.equals("")) { + StringHub.show(context, "当前状态必须指定处置员"); + return; + } + } String optionInput = StringHub.filterSpaceOrEnter(viewBinding.commonTipsView.getText().toString()); if (TextUtils.isEmpty(optionInput)) { StringHub.show(context, "处理意见必须填写"); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 5d87c8f..093172a 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -14,6 +14,7 @@ import com.casic.dcms.databinding.ActivityDeptAdjustBinding; import com.casic.dcms.model.CaseDetailBean; import com.casic.dcms.model.CaseNextNodeBean; +import com.casic.dcms.model.ProcessPersonBean; import com.casic.dcms.utils.DialogHub; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.MapHelper; @@ -22,6 +23,7 @@ import com.casic.dcms.vm.CaseOperateViewModel; import com.casic.dcms.vm.CaseViewModel; import com.casic.dcms.vm.NodeViewModel; +import com.casic.dcms.vm.PersonViewModel; import com.gyf.immersionbar.ImmersionBar; import com.pengxh.androidx.lite.adapter.ReadOnlyImageAdapter; import com.pengxh.androidx.lite.base.AndroidxBaseActivity; @@ -47,11 +49,14 @@ private CaseViewModel caseViewModel; private NodeViewModel nodeViewModel; private CaseOperateViewModel operateViewModel; + private PersonViewModel personViewModel; private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private String id; private String changeState; private String operationKey; + private String taskUserId; private OrientationUtils orientationUtils; private boolean isPlay; private boolean isPause; @@ -224,6 +229,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -249,6 +256,16 @@ } }); + personViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + personViewModel.processPersonModel.observe(this, new Observer() { + @Override + public void onChanged(ProcessPersonBean resultBean) { + if (resultBean.getCode() == 200) { + personBeans = resultBean.getData(); + } + } + }); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); } @@ -279,6 +296,32 @@ CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position); changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); + + if (viewBinding.optTypeView.getText().toString().equals("同意申请调整")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); + } else { + viewBinding.handlePersonLayout.setVisibility(View.GONE); + } } }).build().show(); } @@ -317,8 +360,7 @@ return; } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - data.getProcessPersonid()); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index 58b2d48..99f4c40 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -51,9 +51,9 @@ private NodeViewModel nodeViewModel; private PersonViewModel personViewModel; private CaseOperateViewModel operateViewModel; - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List personBeans; private String id; private String changeState; private String operationKey; @@ -230,6 +230,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -262,14 +264,6 @@ public void onChanged(ProcessPersonBean resultBean) { if (resultBean.getCode() == 200) { personBeans = resultBean.getData(); - if (personBeans.size() == 0) { - viewBinding.caseHandlePersonView.setText("无处置人员"); - } else { - ProcessPersonBean.DataBean dataBean = personBeans.get(0); - taskUserId = dataBean.getId(); - viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个 - } - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); } } }); @@ -306,15 +300,31 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (tag.equals("返回处理")) { - viewBinding.casePersonLayout.setVisibility(View.VISIBLE); - viewBinding.personLine.setVisibility(View.VISIBLE); + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取下级处置人员名单 - personViewModel.obtainSubordinatePerson(); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); } else { - viewBinding.casePersonLayout.setVisibility(View.GONE); - viewBinding.personLine.setVisibility(View.GONE); + viewBinding.handlePersonLayout.setVisibility(View.GONE); } } }).build().show(); @@ -322,29 +332,6 @@ } }); - viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (personBeans.size() >= 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); - sheetBuilder.setTitle("处置人员"); - for (ProcessPersonBean.DataBean dataBean : personBeans) { - sheetBuilder.addItem(dataBean.getName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseHandlePersonView.setText(tag); - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); - - taskUserId = personBeans.get(position).getId(); - } - }).build().show(); - } - } - }); - viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -374,7 +361,7 @@ } if (optType.equals("返回处理")) { //选择处理人员时,必选一个处置人员 - String handlePerson = viewBinding.caseHandlePersonView.getText().toString(); + String handlePerson = viewBinding.handlePersonView.getText().toString(); if (handlePerson.equals("")) { StringHub.show(context, "当前状态必须指定处置员"); return; @@ -385,13 +372,8 @@ StringHub.show(context, "处理意见必须填写"); return; } - //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替 - if (TextUtils.isEmpty(taskUserId)) { - taskUserId = data.getProcessPersonid(); - } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - taskUserId); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 3cb29ad..e503a25 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -297,9 +297,9 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("同意申请调整") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取处置人员列表 + //处置人员列表 viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -354,6 +354,14 @@ StringHub.show(context, "还未选择操作类型"); return; } + if (optType.equals("返回处理")) { + //选择处理人员时,必选一个处置人员 + String handlePerson = viewBinding.handlePersonView.getText().toString(); + if (handlePerson.equals("")) { + StringHub.show(context, "当前状态必须指定处置员"); + return; + } + } String optionInput = StringHub.filterSpaceOrEnter(viewBinding.commonTipsView.getText().toString()); if (TextUtils.isEmpty(optionInput)) { StringHub.show(context, "处理意见必须填写"); diff --git a/app/src/main/res/layout/activity_dept_adjust.xml b/app/src/main/res/layout/activity_dept_adjust.xml index ce5e7d1..5b30e4d 100644 --- a/app/src/main/res/layout/activity_dept_adjust.xml +++ b/app/src/main/res/layout/activity_dept_adjust.xml @@ -228,6 +228,33 @@ style="@style/rightImageStyle" /> + + + + + + + + + + + + + + nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private String id; private String changeState; private String operationKey; + private String taskUserId; private OrientationUtils orientationUtils; private boolean isPlay; private boolean isPause; @@ -224,6 +229,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -249,6 +256,16 @@ } }); + personViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + personViewModel.processPersonModel.observe(this, new Observer() { + @Override + public void onChanged(ProcessPersonBean resultBean) { + if (resultBean.getCode() == 200) { + personBeans = resultBean.getData(); + } + } + }); + operateViewModel = new ViewModelProvider(this).get(CaseOperateViewModel.class); } @@ -279,6 +296,32 @@ CaseNextNodeBean.DataBean nodeBean = nodeDataBeans.get(position); changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); + + if (viewBinding.optTypeView.getText().toString().equals("同意申请调整")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); + } else { + viewBinding.handlePersonLayout.setVisibility(View.GONE); + } } }).build().show(); } @@ -317,8 +360,7 @@ return; } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - data.getProcessPersonid()); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index 58b2d48..99f4c40 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -51,9 +51,9 @@ private NodeViewModel nodeViewModel; private PersonViewModel personViewModel; private CaseOperateViewModel operateViewModel; - private List nodeDataBeans; + private List nodeDataBeans = new ArrayList<>(); + private List personBeans = new ArrayList<>(); private CaseDetailBean.DataBean data = new CaseDetailBean.DataBean(); - private List personBeans; private String id; private String changeState; private String operationKey; @@ -230,6 +230,8 @@ //获取处置类型 nodeViewModel.obtainNextNode(String.valueOf(data.getCaseState())); + //获取下级处置人员 + personViewModel.obtainSubordinatePerson(); } } }); @@ -262,14 +264,6 @@ public void onChanged(ProcessPersonBean resultBean) { if (resultBean.getCode() == 200) { personBeans = resultBean.getData(); - if (personBeans.size() == 0) { - viewBinding.caseHandlePersonView.setText("无处置人员"); - } else { - ProcessPersonBean.DataBean dataBean = personBeans.get(0); - taskUserId = dataBean.getId(); - viewBinding.caseHandlePersonView.setText(dataBean.getName());//默认选择第一个 - } - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); } } }); @@ -306,15 +300,31 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (tag.equals("返回处理")) { - viewBinding.casePersonLayout.setVisibility(View.VISIBLE); - viewBinding.personLine.setVisibility(View.VISIBLE); + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取下级处置人员名单 - personViewModel.obtainSubordinatePerson(); + //处置人员列表 + viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); + sheetBuilder.setTitle("处置人员"); + for (ProcessPersonBean.DataBean dataBean : personBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + viewBinding.handlePersonView.setText(tag); + taskUserId = personBeans.get(position).getId(); + } + }).build().show(); + } + }); } else { - viewBinding.casePersonLayout.setVisibility(View.GONE); - viewBinding.personLine.setVisibility(View.GONE); + viewBinding.handlePersonLayout.setVisibility(View.GONE); } } }).build().show(); @@ -322,29 +332,6 @@ } }); - viewBinding.casePersonLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (personBeans.size() >= 1) { - QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(context); - sheetBuilder.setTitle("处置人员"); - for (ProcessPersonBean.DataBean dataBean : personBeans) { - sheetBuilder.addItem(dataBean.getName()); - } - sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { - @Override - public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { - dialog.dismiss(); - viewBinding.caseHandlePersonView.setText(tag); - viewBinding.caseHandlePersonView.setTextColor(IntHub.convertColor(context, R.color.mainTextColor)); - - taskUserId = personBeans.get(position).getId(); - } - }).build().show(); - } - } - }); - viewBinding.commonTipsLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -374,7 +361,7 @@ } if (optType.equals("返回处理")) { //选择处理人员时,必选一个处置人员 - String handlePerson = viewBinding.caseHandlePersonView.getText().toString(); + String handlePerson = viewBinding.handlePersonView.getText().toString(); if (handlePerson.equals("")) { StringHub.show(context, "当前状态必须指定处置员"); return; @@ -385,13 +372,8 @@ StringHub.show(context, "处理意见必须填写"); return; } - //只有选择返回处理的时候taskUserId才会不为空,否则用当前流程人员的id代替 - if (TextUtils.isEmpty(taskUserId)) { - taskUserId = data.getProcessPersonid(); - } operateViewModel.dispatcherHandleCase(data.getProcessId(), id, - String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, - taskUserId); + String.valueOf(data.getCaseState()), changeState, optionInput, "", operationKey, taskUserId); } }); } diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 3cb29ad..e503a25 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -297,9 +297,9 @@ changeState = String.valueOf(nodeBean.getNextState()); operationKey = nodeBean.getOperationKey(); - if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { + if (viewBinding.optTypeView.getText().toString().equals("处置人员") || viewBinding.optTypeView.getText().toString().equals("同意申请调整") || viewBinding.optTypeView.getText().toString().equals("返回处理")) { viewBinding.handlePersonLayout.setVisibility(View.VISIBLE); - //获取处置人员列表 + //处置人员列表 viewBinding.handlePersonLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -354,6 +354,14 @@ StringHub.show(context, "还未选择操作类型"); return; } + if (optType.equals("返回处理")) { + //选择处理人员时,必选一个处置人员 + String handlePerson = viewBinding.handlePersonView.getText().toString(); + if (handlePerson.equals("")) { + StringHub.show(context, "当前状态必须指定处置员"); + return; + } + } String optionInput = StringHub.filterSpaceOrEnter(viewBinding.commonTipsView.getText().toString()); if (TextUtils.isEmpty(optionInput)) { StringHub.show(context, "处理意见必须填写"); diff --git a/app/src/main/res/layout/activity_dept_adjust.xml b/app/src/main/res/layout/activity_dept_adjust.xml index ce5e7d1..5b30e4d 100644 --- a/app/src/main/res/layout/activity_dept_adjust.xml +++ b/app/src/main/res/layout/activity_dept_adjust.xml @@ -228,6 +228,33 @@ style="@style/rightImageStyle" /> + + + + + + + + + + + + + + - - - - + - + - - + - + + + + + + +