|
|
@@ -6,6 +6,7 @@ import android.graphics.BitmapFactory;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Environment;
|
|
|
import android.os.Handler;
|
|
|
+import android.util.DisplayMetrics;
|
|
|
import android.util.Log;
|
|
|
import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
@@ -23,6 +24,7 @@ import android.widget.Toast;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baidu.cyberplayer.utils.G;
|
|
|
import com.common.LogUtil;
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
@@ -86,12 +88,15 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
private LinearLayout noWageLl;
|
|
|
private Boolean haveData = true;
|
|
|
private TextView announcement_tv;
|
|
|
- private int needSignature;
|
|
|
+ private int needSignature = 0;
|
|
|
private JSONObject dataObject;
|
|
|
private int sl_result = -1;
|
|
|
private String sl_remark;
|
|
|
private LinearLayout error_ll;
|
|
|
private TextView error_tv;
|
|
|
+ private boolean errorgone = false;
|
|
|
+ private LinearLayout wages_ll;
|
|
|
+ private LinearLayout announcement_ll;
|
|
|
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
@@ -105,6 +110,7 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
|
|
|
private void showDatas(String result) {
|
|
|
haveData = true;
|
|
|
+ wages_ll.setVisibility(View.VISIBLE);
|
|
|
try {
|
|
|
JSONObject salaryObject = JSON.parseObject(result).getJSONObject("salary");
|
|
|
if (salaryObject != null){
|
|
|
@@ -115,26 +121,12 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
return;
|
|
|
}
|
|
|
String gonggao = dataObject.getString("sl_text");
|
|
|
- if (!StringUtil.isEmpty(gonggao))
|
|
|
+ if (!StringUtil.isEmpty(gonggao)){
|
|
|
+ announcement_ll.setVisibility(View.VISIBLE);
|
|
|
announcement_tv.setText("通知公告:"+gonggao);
|
|
|
- else if (gonggao == null)
|
|
|
- announcement_tv.setText("暂无通知公告");
|
|
|
-
|
|
|
- needSignature = dataObject.getInteger("sl_signature");
|
|
|
- if (needSignature == 0) mBtnSignature.setText("确认签收");
|
|
|
- sl_result = dataObject.getInteger("sl_result");
|
|
|
- sl_remark = dataObject.getString("sl_remark");
|
|
|
- if (!StringUtil.isEmpty(sl_remark) && sl_result == -1){
|
|
|
- error_ll.setVisibility(View.VISIBLE);
|
|
|
- error_tv.setText(sl_remark);
|
|
|
- }else {
|
|
|
- error_ll.setVisibility(View.GONE);
|
|
|
- }
|
|
|
+ } else if (gonggao == null)
|
|
|
+ announcement_ll.setVisibility(View.GONE);
|
|
|
|
|
|
- if (sl_result == 1 || sl_result == -1)
|
|
|
- mBtnSignature.setVisibility(View.GONE);
|
|
|
- else if (sl_result == 0 && haveData)
|
|
|
- mBtnSignature.setVisibility(View.VISIBLE);
|
|
|
|
|
|
sl_id = dataObject.getString("sl_id");
|
|
|
if (!ListUtils.isEmpty(configsArray) && dataObject.size() > 0){
|
|
|
@@ -156,7 +148,9 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
if (ListUtils.isEmpty(kvModeList))
|
|
|
showEnty();
|
|
|
else {
|
|
|
+ wages_ll.setVisibility(View.VISIBLE);
|
|
|
noWageLl.setVisibility(View.GONE);
|
|
|
+ showView(dataObject);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -167,27 +161,63 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
}else{
|
|
|
showEnty();
|
|
|
}
|
|
|
- invalidateOptionsMenu();
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void showView(JSONObject dataObject) {
|
|
|
+
|
|
|
+ sl_result = dataObject.getInteger("sl_result");
|
|
|
+ sl_remark = dataObject.getString("sl_remark");
|
|
|
+
|
|
|
+ if (!StringUtil.isEmpty(sl_remark) && sl_result == -1){
|
|
|
+ error_ll.setVisibility(View.VISIBLE);
|
|
|
+ error_tv.setText(sl_remark);
|
|
|
+ }else {
|
|
|
+ error_ll.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (sl_result == 0 && !ListUtils.isEmpty(kvModeList)
|
|
|
+ && StringUtil.isEmpty(sl_remark))
|
|
|
+ mBtnSignature.setVisibility(View.VISIBLE);
|
|
|
+ else
|
|
|
+ mBtnSignature.setVisibility(View.GONE);
|
|
|
+
|
|
|
+ if (sl_result == 1 & !ListUtils.isEmpty(kvModeList))
|
|
|
+ received_im.setVisibility(View.VISIBLE);
|
|
|
+ else
|
|
|
+ received_im.setVisibility(View.GONE);
|
|
|
+ invalidateOptionsMenu();
|
|
|
+ needSignature = dataObject.getInteger("sl_signature");
|
|
|
+ if (needSignature != 1)
|
|
|
+ mBtnSignature.setText("确认签收");
|
|
|
+ else
|
|
|
+ mBtnSignature.setText("签字");
|
|
|
+ }
|
|
|
+
|
|
|
private void showEnty() {
|
|
|
haveData = false;
|
|
|
+ wages_ll.setVisibility(View.GONE);
|
|
|
+ received_im.setVisibility(View.GONE);
|
|
|
noWageLl.setVisibility(View.VISIBLE);
|
|
|
mBtnSignature.setVisibility(View.GONE);
|
|
|
+ announcement_ll.setVisibility(View.GONE);
|
|
|
+ error_ll.setVisibility(View.GONE);
|
|
|
Log.i("getEmSalary","showEnty");
|
|
|
+ invalidateOptionsMenu();
|
|
|
}
|
|
|
|
|
|
private void initView() {
|
|
|
emcode = CommonUtil.getEmcode();
|
|
|
// emcode = "U0747";
|
|
|
master = CommonUtil.getSharedPreferences(ct, "erp_master");
|
|
|
-// master = "uas_dev";
|
|
|
+
|
|
|
getSupportActionBar().setTitle("工资查询");
|
|
|
|
|
|
mWagesLv = (MyListView) findViewById(R.id.wages_lv);
|
|
|
+ wages_ll = (LinearLayout) findViewById(R.id.wages_ll);
|
|
|
mBtnSignature = (Button) findViewById(R.id.btn_signature); mBtnSignature.setOnClickListener(this);
|
|
|
kvModeList = new ArrayList<>();
|
|
|
myAdapter = new WagesDetailsAdapter(this);
|
|
|
@@ -200,6 +230,7 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
wageDateTv.setOnClickListener(this);
|
|
|
noWageLl = (LinearLayout) findViewById(R.id.wage_nodata_ll);
|
|
|
announcement_tv = (TextView) findViewById(R.id.announcement);
|
|
|
+ announcement_ll = (LinearLayout) findViewById(R.id.announcement_ll);
|
|
|
error_ll = (LinearLayout) findViewById(R.id.error_ll);
|
|
|
error_tv = (TextView) findViewById(R.id.error_tv);
|
|
|
|
|
|
@@ -238,29 +269,25 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
if (needSignature == 1)
|
|
|
showSiganWindow();
|
|
|
else
|
|
|
-// doSubmit();
|
|
|
- doNewSubmit(null,null);
|
|
|
-
|
|
|
+ doNoSignatureSubmit();
|
|
|
}else if (v.getId() == R.id.clear_im){
|
|
|
pathView.clear();
|
|
|
}else if (v.getId() == R.id.cancel_tv){
|
|
|
pathView.clear();
|
|
|
closePopupWindow();
|
|
|
- }
|
|
|
-// else if (v.getId() == R.id.h_sign_tv){
|
|
|
-// startActivityForResult(new Intent(this, LandscapeActivity.class)
|
|
|
-// .putExtra("signCode",001)
|
|
|
-// , 101);
|
|
|
-// }
|
|
|
- else if (v.getId() == R.id.submit_btn){
|
|
|
+ } else if (v.getId() == R.id.submit_btn){
|
|
|
if (pathView.getTouched())
|
|
|
{
|
|
|
+ if (!CommonUtil.isNetWorkConnected(ct)){
|
|
|
+ ToastMessage(getString(R.string.common_notlinknet));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
try {
|
|
|
pathView.save(plainpath,false,10); //将图片路径保存到plainpath中,并获取Bimap对象
|
|
|
BitmapFactory.Options options = new BitmapFactory.Options();
|
|
|
options.inSampleSize = 2;
|
|
|
Bitmap pathBm = BitmapFactory.decodeFile(plainpath);
|
|
|
-// doSubmit(pathBm,plainpath);
|
|
|
doNewSubmit(pathBm, plainpath);
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
@@ -270,7 +297,7 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
}
|
|
|
}else if (v.getId() == R.id.sure_tv){
|
|
|
if (StringUtil.isEmpty(msg_et.getText().toString())){
|
|
|
- ToastMessage("请输入你的问题");
|
|
|
+ ToastMessage("请输入你的报错问题");
|
|
|
return;
|
|
|
}
|
|
|
if (!CommonUtil.isNetWorkConnected(ct)){
|
|
|
@@ -295,6 +322,8 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
}
|
|
|
});
|
|
|
picker.show();
|
|
|
+ }else if (v.getId() == R.id.cancel_error_tv){
|
|
|
+ popupWindow.dismiss();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -307,6 +336,8 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
kvModeList.clear();
|
|
|
myAdapter.notifyDataSetChanged();
|
|
|
}
|
|
|
+
|
|
|
+ errorgone = false;
|
|
|
// HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
|
|
|
HttpClient httpClient = new HttpClient.Builder("http://192.168.253.58:8080/ERP/").isDebug(true).build(true);
|
|
|
httpClient.Api().send(new HttpClient.Builder()
|
|
|
@@ -352,7 +383,12 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
if (!JSONUtil.validate(o.toString()) || o == null) return;
|
|
|
LogUtil.prinlnLongMsg("salaryWrong", o.toString()+"");
|
|
|
if (o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")){
|
|
|
- ToastMessage("你的问题已提交");
|
|
|
+ ToastMessage("报错成功");
|
|
|
+ mBtnSignature.setVisibility(View.GONE);
|
|
|
+ error_ll.setVisibility(View.VISIBLE);
|
|
|
+ error_tv.setText(msg_et.getText().toString());
|
|
|
+ sl_result = -1;
|
|
|
+ invalidateOptionsMenu();
|
|
|
popupWindow.dismiss();
|
|
|
}
|
|
|
|
|
|
@@ -367,10 +403,15 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
params.addBodyParameter("sl_id",sl_id);
|
|
|
params.addBodyParameter("result","true");
|
|
|
params.addQueryStringParameter("master", master);
|
|
|
- params.addBodyParameter("msg","");
|
|
|
- Log.i("urlparams",plainpath);
|
|
|
- if (needSignature == 1)
|
|
|
+ Log.i("urlparams",plainpath+"");
|
|
|
+ if (needSignature == 1 && !StringUtil.isEmpty(plainpath)){
|
|
|
params.addBodyParameter("img",new File(plainpath));
|
|
|
+ }else {
|
|
|
+// params.addHeader("Content-Type","multipart/form-data");
|
|
|
+ params.addBodyParameter("img","");
|
|
|
+ }
|
|
|
+// else
|
|
|
+// params.addBodyParameter("img",new File());
|
|
|
final HttpUtils http = new HttpUtils();
|
|
|
Log.i("urlparams",url+params+"");
|
|
|
|
|
|
@@ -388,8 +429,9 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
if (JSONUtil.validate(responseInfo.result) && JSON.parseObject(responseInfo.result).getBoolean("success")) {
|
|
|
Toast.makeText(ct,"工资条签名提交成功",Toast.LENGTH_LONG).show();
|
|
|
received_im.setVisibility(View.VISIBLE);
|
|
|
- mBtnSignature.setText("已收签");
|
|
|
- mBtnSignature.setEnabled(false);
|
|
|
+ mBtnSignature.setVisibility(View.GONE);
|
|
|
+ errorgone = true;
|
|
|
+ invalidateOptionsMenu();
|
|
|
closePopupWindow();
|
|
|
}
|
|
|
progressDialog.dismiss();
|
|
|
@@ -411,28 +453,34 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
}
|
|
|
|
|
|
//不需要签名情况下的签收
|
|
|
- private void doSubmit() {
|
|
|
+ private void doNoSignatureSubmit() {
|
|
|
+ if (!CommonUtil.isNetWorkConnected(ct)){
|
|
|
+ ToastMessage(getString(R.string.common_notlinknet));
|
|
|
+ return;
|
|
|
+ }
|
|
|
// HttpClient httpClient = new HttpClient.Builder(Constants.IM_BASE_URL()).isDebug(true).build(true);
|
|
|
HttpClient httpClient = new HttpClient.Builder("http://192.168.253.58:8080/ERP/").isDebug(true).build(true);
|
|
|
httpClient.Api().send(new HttpClient.Builder()
|
|
|
- .url("mobile/salary/salaryBack.action")
|
|
|
+ .url("mobile/salary/salaryBackNoSignature.action\n")
|
|
|
.add("emcode", emcode)
|
|
|
.add("sl_id",sl_id)
|
|
|
.add("result",true)
|
|
|
.add("master", master)
|
|
|
- .add("msg","")
|
|
|
.method(Method.POST)
|
|
|
.build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
@Override
|
|
|
public void onResponse(Object o) {
|
|
|
- if (!JSONUtil.validate(o.toString()) || o == null) return;
|
|
|
LogUtil.prinlnLongMsg("salaryBack", o.toString()+"");
|
|
|
- if (JSONUtil.validate(o.toString()) && JSON.parseObject(o.toString()).getBoolean("success")) {
|
|
|
+ if (!JSONUtil.validate(o.toString()) || o == null) return;
|
|
|
+ if (JSONUtil.validate(o.toString()) && o.toString().contains("success") && JSON.parseObject(o.toString()).getBoolean("success")) {
|
|
|
Toast.makeText(ct,"工资条签名提交成功",Toast.LENGTH_LONG).show();
|
|
|
received_im.setVisibility(View.VISIBLE);
|
|
|
- mBtnSignature.setText("已收签");
|
|
|
- mBtnSignature.setEnabled(false);
|
|
|
+ mBtnSignature.setVisibility(View.GONE);
|
|
|
+ errorgone = true;
|
|
|
+ invalidateOptionsMenu();
|
|
|
closePopupWindow();
|
|
|
+ }else {
|
|
|
+ ViewUtil.ToastMessage(ct, getString(R.string.common_save_failed));
|
|
|
}
|
|
|
progressDialog.dismiss();
|
|
|
}
|
|
|
@@ -454,7 +502,7 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
if (setWindow == null) initPopupWindow();
|
|
|
setWindow.showAtLocation(getWindow().getDecorView().
|
|
|
findViewById(android.R.id.content), Gravity.BOTTOM, 0, 0);
|
|
|
- DisplayUtil.backgroundAlpha(this, 0.4f);
|
|
|
+// DisplayUtil.backgroundAlpha(this, 0.4f);
|
|
|
}
|
|
|
|
|
|
private void initPopupWindow() {
|
|
|
@@ -472,7 +520,7 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
setWindow = new PopupWindow(viewContext,
|
|
|
LinearLayout.LayoutParams.MATCH_PARENT,
|
|
|
LinearLayout.LayoutParams.WRAP_CONTENT, true);
|
|
|
- setWindow.setOutsideTouchable(false);
|
|
|
+ setWindow.setOutsideTouchable(true);
|
|
|
setWindow.setAnimationStyle(com.uas.appworks.R.style.MenuAnimationFade);
|
|
|
setWindow.setBackgroundDrawable(mContext.getResources().getDrawable(com.uas.appworks.R.drawable.bg_popuwin));
|
|
|
setWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
|
|
|
@@ -491,10 +539,11 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
@Override
|
|
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
|
|
menu.clear();
|
|
|
- if(haveData && StringUtil.isEmpty(sl_remark) && sl_result == 0)
|
|
|
+ if(haveData && StringUtil.isEmpty(sl_remark) && sl_result == 0 && !errorgone)
|
|
|
getMenuInflater().inflate(R.menu.wage_error, menu);
|
|
|
else
|
|
|
menu.clear();
|
|
|
+
|
|
|
return super.onPrepareOptionsMenu(menu);
|
|
|
}
|
|
|
@Override
|
|
|
@@ -521,17 +570,17 @@ public class WagesDetailsActivity extends BaseActivity implements View.OnClickLi
|
|
|
// 设置按钮的点击事件
|
|
|
msg_et = (EditText) contentView.findViewById(R.id.msg_et);
|
|
|
contentView.findViewById(R.id.sure_tv).setOnClickListener(this);
|
|
|
+ contentView.findViewById(R.id.cancel_error_tv).setOnClickListener(this);
|
|
|
|
|
|
-// DisplayMetrics dm = getResources().getDisplayMetrics();
|
|
|
-// int w_screen = dm.widthPixels;
|
|
|
-// int h_screen = dm.heightPixels;
|
|
|
-// w_screen = DisplayUtil.dip2px(this, 300);
|
|
|
-// h_screen = DisplayUtil.dip2px(this, 250);
|
|
|
-//
|
|
|
-// popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
|
|
|
+ DisplayMetrics dm = getResources().getDisplayMetrics();
|
|
|
+ int w_screen = dm.widthPixels;
|
|
|
+ int h_screen = dm.heightPixels;
|
|
|
+ w_screen = DisplayUtil.dip2px(this, 300);
|
|
|
+ h_screen = DisplayUtil.dip2px(this, 250);
|
|
|
+
|
|
|
+ popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
|
|
|
popupWindow = new PopupWindow(contentView,
|
|
|
- LinearLayout.LayoutParams.MATCH_PARENT,
|
|
|
- LinearLayout.LayoutParams.WRAP_CONTENT, true);
|
|
|
+ w_screen, h_screen,true);
|
|
|
popupWindow.setAnimationStyle(R.style.MenuAnimationFade);
|
|
|
popupWindow.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.bg_popuwin));
|
|
|
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
|