2.2.4 version publish

master
hwf453 2 years ago
parent 28af199b79
commit 12f0cfe16d

@ -6,12 +6,13 @@ plugins {
android {
namespace 'com.rehome.zhdcoa'
compileSdk 34
defaultConfig {
applicationId "com.rehome.zhdcoa"
minSdk 24
targetSdk 34
versionCode 7
versionName "2.2.3"
versionCode 8
versionName "2.2.4"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//authorities

@ -1,701 +0,0 @@
package com.rehome.zhdcoa.ui.activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import androidx.appcompat.app.AlertDialog;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.adapter.KcpdAdapter;
import com.rehome.zhdcoa.adapter.RealTimeKcpdAdapter;
import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.base.BaseActivity2;
import com.rehome.zhdcoa.bean.DagerEnterApplyBaseBean;
import com.rehome.zhdcoa.bean.OneLevelShelvesBean;
import com.rehome.zhdcoa.bean.RealTimeKcpdInfo;
import com.rehome.zhdcoa.bean.SaveRealTimeKcpdInfo;
import com.rehome.zhdcoa.bean.TwoLevelShelvesBean;
import com.rehome.zhdcoa.entity.KcpdInfo;
import com.rehome.zhdcoa.entity.StatusInfo;
import com.rehome.zhdcoa.utils.GsonUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.UiUtlis;
import com.rehome.zhdcoa.weiget.ListViewForScrollView;
import com.rehome.zhdcoa.weiget.PdDialog;
import com.rehome.zhdcoa.weiget.RealTimePdDialog;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.Response;
import java.util.ArrayList;
import java.util.List;
import com.rehome.zhdcoa.App;
public class HjpdActivity extends BaseActivity implements RealTimeKcpdAdapter.Callback {
EditText et_hgtm;
TextView tv_sys;
Button btn_query;
ListViewForScrollView lv;
TextView et_xm;
TextView et_ms;
TextView et_sl;
EditText et_sjsl;
Button btn_save;
Button btn_cancel;
Button btn_itqz;
LinearLayout ll;
EditText etXmh;
TextView tvSyswz;
Spinner spBz;
Spinner spinnerSon;
List<TwoLevelShelvesBean.RowsBean> spinnerSonList = new ArrayList();
private void findView() {
et_hgtm = findViewById(R.id.et_hgtm);
tv_sys = findViewById(R.id.tv_sys);
btn_query = findViewById(R.id.btn_query);
lv = findViewById(R.id.lv);
et_xm = findViewById(R.id.et_xm);
et_ms = findViewById(R.id.et_ms);
et_sl = findViewById(R.id.et_sl);
et_sjsl = findViewById(R.id.et_sjsl);
btn_save = findViewById(R.id.btn_save);
btn_cancel = findViewById(R.id.btn_cancel);
btn_itqz = findViewById(R.id.btn_itqz);
ll = findViewById(R.id.ll);
etXmh = findViewById(R.id.et_xmh);
tvSyswz = findViewById(R.id.tv_syswz);
spBz = findViewById(R.id.sp_bz);
spinnerSon = findViewById(R.id.spinnerSon);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
removeView();
}
});
btn_query.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//String spinnerSonSelectItem = spinnerSon.getSelectedItem();
if (!TextUtils.isEmpty(UiUtlis.getText(et_hgtm))) {
requestData("加载中...");
UiUtlis.hideInput(et_hgtm, context);
} else {
showToast("请扫码母货架号");
}
}
});
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectItem != -1) {
if (!TextUtils.isEmpty(et_sjsl.getText().toString())) {
for (int i = 0; i < infos.size(); i++) {
if (infos.get(i).isFlag()) {
//判断是否已经盘点
if (infos.get(i).getISPD().equals("1")) {
showPdDialog(infos.get(i));
} else {
//如果没有盘点,就盘点
scData(addJson(infos.get(i)));
}
}
}
} else {
showToast("你还没有输入盘点数量");
}
} else {
//如果没有选中,点击保存。
showToast("请选择要盘点的物资");
// String spinnerSonSelectItemStr = spinnerSon.getSelectedItem().toString();
// Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.REAL_TIME_PD);
// request.add("UDBINNUM", spinnerSonSelectItemStr);
// request.add("ITEMNUM", UiUtlis.getText(etXmh));
// request.add("BINNUM", UiUtlis.getText(et_hgtm));
// if (!UiUtlis.getText(et_sjsl).isEmpty() && !UiUtlis.getText(et_hgtm).isEmpty()) {
// boolean ispd = false;
// if (infos.size() != 0) {
// for (RealTimeKcpdInfo.RowsBean kcpd : infos) {
//
// if (kcpd.getISPD().equals("1") && kcpd.getBINNUM().equals(spinnerSon.getSelectedItem().toString())) {
// ispd = true;
// break;
// }
// }
// playSound();
// AlertDialog.Builder builder = new AlertDialog.Builder(context);
// builder.setCancelable(false);
// builder.setTitle("提示");
// builder.setMessage("该物资未在该货架下,确定保存吗?");
// builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
// }
// });
// final boolean finalIspd = ispd;
// builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
//
// //如果已经盘点。就覆盖。
// if (finalIspd) {
// showPdDialog(true);
// } else {
// String json = addJson("4", infos.get(0));
// scData(json);
// }
// dialog.dismiss();
//
// }
// });
// builder.create().show();
// }
// } else {
// showToast("你还有数据未输入");
// }
}
}
});
tv_sys.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(HjpdActivity.this, MipcaActivityCapture.class);
startActivityForResult(intent, 1);
}
});
tvSyswz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(HjpdActivity.this, MipcaActivityCapture.class);
startActivityForResult(intent1, 2);
}
});
btn_itqz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etXmh.setText("IT");
//etXmh.setSelection(2);
}
});
}
private RealTimeKcpdAdapter adapter;
private List<RealTimeKcpdInfo.RowsBean> infos;
private View headView;
private String pdid;
private int selectItem = -1;
@Override
public int getLayoutId() {
return R.layout.activity_hjpd;
}
@Override
public void initView() {
findView();
}
public void initData() {
pdid = (String) getIntent().getExtras().get(Contans.KEY_PDID);
initToolbar("实时库存盘点", "盘点记录", new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, RealTimeKcpdHistoryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}
});
// et_sjsl.setEnabled(false);
// et_hgtm.setText("IT");
infos = new ArrayList<>();
headView = View.inflate(this, R.layout.list_item1, null);
headView.findViewById(R.id.cb_isprint).setEnabled(false);
headView.findViewById(R.id.head).setVisibility(View.VISIBLE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
String resultText = bundle.getString("result");
et_hgtm.setText(resultText);
if (!TextUtils.isEmpty(resultText)) {
getSpinnerParentData(resultText);
}
}
break;
case 2:
if (resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
String resultText = bundle.getString("result");
etXmh.setText(resultText);
}
break;
}
}
//CheckBox点击事件
@Override
public void cbClick(View view) {
int index = (int) view.getTag();
CheckBox cb = (CheckBox) view;
if (!cb.isChecked()) {
infos.get(index).setFlag(false);
clearView();
} else {
infos.get(index).setFlag(true);
for (int a = 0; a < infos.size(); a++) {
if (a != index) {
infos.get(a).setFlag(false);
}
}
updateView(index);
adapter.notifyDataSetChanged();
}
}
private void showPdDialog(RealTimeKcpdInfo.RowsBean kcpd) {
final RealTimePdDialog dialog = new RealTimePdDialog(this);
dialog.setFgOnClick(new View.OnClickListener() {
@Override
public void onClick(View v) {
scData(addJson(kcpd));
dialog.close();
}
});
dialog.setQxOnClick(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.close();
}
});
}
private void requestData(String msg) {
//String spinnerSonSelectItemStr = spinnerSon.getSelectedItem().toString();
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.REAL_TIME_PD);
if (spinnerSon.getSelectedItem() != null && (!TextUtils.isEmpty(spinnerSon.getSelectedItem().toString()))) {
request.add("UDBINNUM", spinnerSon.getSelectedItem().toString());
} else {
request.add("UDBINNUM", "");
}
request.add("ITEMNUM", UiUtlis.getText(etXmh));
request.add("BINNUM", UiUtlis.getText(et_hgtm));
NohttpUtils.getInstance().add(HjpdActivity.this, 0, request, callback, true, true, msg);
}
//上传数据
private void scData(String json) {
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.REAL_TIME_PDJHSC, RequestMethod.POST);
request.setDefineRequestBodyForJson(json);
NohttpUtils.getInstance().add(HjpdActivity.this, 1, request, callback, true, true, UiUtlis.getString(context, R.string.upload));
}
private final HttpListener<String> callback = new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
String result = response.get();
showLog(result);
switch (what) {
case 0:
RealTimeKcpdInfo realTimeKcpdInfo = GsonUtils.GsonToBean(result, RealTimeKcpdInfo.class);
if (realTimeKcpdInfo != null) {
if (realTimeKcpdInfo.isFlag()) {
// if (TextUtils.isEmpty(UiUtlis.getText(et_hgtm))) {
// playSound();
// AlertDialog.Builder builder = new AlertDialog.Builder(context);
// builder.setCancelable(false);
// builder.setTitle("提示");
// builder.setMessage("该货柜下无此物资");
// builder.setPositiveButton("返回", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
// }
// });
// builder.create().show();
// }
infos.clear();
infos.addAll(realTimeKcpdInfo.getDatas());
setListData();
} else {
infos.clear();
if (adapter != null) {
if (lv.getHeaderViewsCount() == 1) {
lv.removeHeaderView(headView);
}
adapter.notifyDataSetChanged();
}
showToast("没有该货柜信息");
ll.setVisibility(View.GONE);
}
} else {
showToast(UiUtlis.getString(context, R.string.data_error));
}
break;
case 1:
DagerEnterApplyBaseBean info = GsonUtils.GsonToBean(response.get(), DagerEnterApplyBaseBean.class);
if (info != null) {
if (info.isFlag()) {
showToast("盘点成功");
// if (!UiUtlis.getText(etXmh).isEmpty()) {
// removeView();
// } else {
// requestData("刷新..");
// }
requestData("刷新..");
playSound();
} else {
showToast("盘点失败");
}
} else {
showToast(UiUtlis.getString(context, R.string.data_error));
}
break;
}
}
@Override
public void onFailed(int what, Response<String> response) {
System.out.println("错误" + what + "==" + response.get());
}
};
private void setListData() {
ll.setVisibility(View.VISIBLE);
if (lv.getHeaderViewsCount() != 1) {
lv.addHeaderView(headView, null, false);
}
if (adapter == null) {
adapter = new RealTimeKcpdAdapter(infos, context, this);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if (i != 0) {
if (infos.get(i - 1).isFlag() == true) {
infos.get(i - 1).setFlag(false);
clearView();
} else {
infos.get(i - 1).setFlag(true);
for (int a = 0; a < infos.size(); a++) {
if (a != i - 1) {
infos.get(a).setFlag(false);
}
}
updateView(i - 1);
}
}
adapter.notifyDataSetChanged();
}
});
} else {
clearView();
adapter.notifyDataSetChanged();
}
}
private void updateView(int index) {
selectItem = index;
et_xm.setText(infos.get(index).getITEMNUM());
et_ms.setText(infos.get(index).getDESCRIPTION());
et_sl.setText(infos.get(index).getCURBAL() + "");
et_sjsl.setText(infos.get(index).getCURBAL() + "");
et_sjsl.setEnabled(true);
//et_hgtm.setText(infos.get(index).getBINNUM());
}
private void clearView() {
selectItem = -1;
spBz.setSelection(0);
et_xm.setText("");
et_ms.setText("");
et_sl.setText("");
et_sjsl.setText("");
// et_sjsl.setEnabled(false);
}
private void removeView() {
selectItem = -1;
et_xm.setText("");
et_ms.setText("");
et_sl.setText("");
et_sjsl.setText("");
// et_sjsl.setEnabled(false);
infos.clear();
if (adapter != null) {
adapter.notifyDataSetChanged();
lv.removeHeaderView(headView);
}
etXmh.setText("");
ll.setVisibility(View.INVISIBLE);
}
private String toJson() {
String json = "";
// if (selectItem != -1) {
// KcpdInfo info = new KcpdInfo();
// List<KcpdInfo.kcpd> list = new ArrayList<>();
// KcpdInfo.kcpd kcpd = infos.get(selectItem);
// kcpd.setPdsl(et_sjsl.getText().toString());
// kcpd.setPdr(App.getInstance().getUserInfo().getManid());
// kcpd.setSjpdzt(sjpdzt);
// kcpd.setBz((String) spBz.getSelectedItem());
// kcpd.setUname(App.getInstance().getUserInfo().getManid());
// list.add(kcpd);
// info.setRows(list);
// info.setTotal(1);
// json = GsonUtils.GsonString(info);
// }
return json;
}
private String addJson(RealTimeKcpdInfo.RowsBean kcpd) {
String json = "";
SaveRealTimeKcpdInfo info = new SaveRealTimeKcpdInfo();
info.setPDSL(et_sjsl.getText().toString());
info.setPDR(App.getInstance().getUserInfo().getManid());
info.setITEMNUM(kcpd.getITEMNUM());
info.setBZ((String) spBz.getSelectedItem());
info.setLOTNUM(kcpd.getLOTNUM());
info.setBINNUM(kcpd.getBINNUM());
json = GsonUtils.GsonString(info);
return json;
}
private void playSound() {
Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(this, sound);
r.play();
// MediaPlayer player= MediaPlayer.create(context, R.raw.ylzs);
// player.setLooping(false);
// player.setVolume(1.0f, 1.0f);
// player.start();
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
super.onPointerCaptureChanged(hasCapture);
}
//获取母货架
private void getSpinnerParentData(String qccode) {
String url = Contans.IP + Contans.GET_SPINNER_PARENT_UDBIN_URL;
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
request.add("QCCODE", qccode);
NohttpUtils.getInstance().add(HjpdActivity.this, 2, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
if (what == 2) {
String result = response.get();
showLog(result);
OneLevelShelvesBean oneLevelShelvesBean = GsonUtils.GsonToBean(result, OneLevelShelvesBean.class);
if (oneLevelShelvesBean != null) {
if (oneLevelShelvesBean.isFlag() && oneLevelShelvesBean.getDatas() != null && oneLevelShelvesBean.getDatas().size() > 0) {
String BINNUM = oneLevelShelvesBean.getDatas().get(0).getBINNUM();
getSpinnerSonData(BINNUM);
} else {
showToast("查询不到子货架号,请确认母货架号是否正确");
}
}
}
}
@Override
public void onFailed(int what, Response<String> response) {
System.out.println("错误" + what + "==" + response.get());
}
}, true, true, UiUtlis.getString(context, R.string.loading));
}
//获取子货架
private void getSpinnerSonData(String binnum) {
String url = Contans.IP + Contans.GET_SPINNER_SON_UDBIN_URL;
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
request.add("BINNUM", binnum);
NohttpUtils.getInstance().add(HjpdActivity.this, 3, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
if (what == 3) {
String result = response.get();
showLog(result);
TwoLevelShelvesBean twoLevelShelvesBean = GsonUtils.GsonToBean(result, TwoLevelShelvesBean.class);
if (twoLevelShelvesBean != null) {
if (twoLevelShelvesBean.isFlag() && twoLevelShelvesBean.getDatas() != null && twoLevelShelvesBean.getDatas().size() > 0) {
spinnerSonList.clear();
spinnerSonList.addAll(twoLevelShelvesBean.getDatas());
// 在我们的这个位置的话创建我们的数组
String[] arrayModel = new String[spinnerSonList.size()];
ArrayList<String> listText = new ArrayList<String>();
spinnerSonList.forEach(item -> {
listText.add(item.getTEXT());
});
listText.toArray(arrayModel);
// 然后的话创建一个我们的一个数组适配器并且的话这个数组适配器使我们的字符串类型的
ArrayAdapter<String> adapter = new ArrayAdapter<String>(HjpdActivity.this, android.R.layout.simple_spinner_item, arrayModel);
// 设置我们的数组下拉时的选项的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerSon.setAdapter(adapter);
}
}
}
}
@Override
public void onFailed(int what, Response<String> response) {
System.out.println("错误" + what + "==" + response.get());
}
}, true, true, UiUtlis.getString(context, R.string.loading));
}
}
/**
* 1K101
* 1K101-013
* IT63966
* <p>
* 1K101
* 1K101-043
* IT63867
* <p>
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
* <p>
* 1K103
* 1K101-034
* IT16159
* <p>
* 1K101
* 1K101-043
* IT63867
* <p>
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
* <p>
* 1K103
* 1K101-034
* IT16159
* <p>
* 1K101
* 1K101-043
* IT63867
* <p>
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
* <p>
* 1K103
* 1K101-034
* IT16159
* <p>
* 1K101
* 1K101-043
* IT63867
* <p>
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
* <p>
* 1K103
* 1K101-034
* IT16159
* <p>
* 1K101
* 1K101-043
* IT63867
* <p>
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
* <p>
* 1K103
* 1K101-034
* IT16159
*/
/**
* 1K101
* 1K101-043
* IT63867
*/
/**
* 1K102
* 1K101-013
* IT62209
* IT62210
* IT62211
* IT60669
*/
/**
* 1K103
* 1K101-034
* IT16159
*/

@ -0,0 +1,442 @@
package com.rehome.zhdcoa.ui.activity
import android.content.Intent
import android.media.RingtoneManager
import android.text.TextUtils
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.CheckBox
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import com.rehome.zhdcoa.App
import com.rehome.zhdcoa.Contans
import com.rehome.zhdcoa.R
import com.rehome.zhdcoa.adapter.RealTimeKcpdAdapter
import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding
import com.rehome.zhdcoa.bean.DagerEnterApplyBaseBean
import com.rehome.zhdcoa.bean.OneLevelShelvesBean
import com.rehome.zhdcoa.bean.RealTimeKcpdInfo
import com.rehome.zhdcoa.bean.SaveRealTimeKcpdInfo
import com.rehome.zhdcoa.bean.TwoLevelShelvesBean
import com.rehome.zhdcoa.databinding.ActivityHjpdBinding
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.UiUtlis
import com.rehome.zhdcoa.weiget.RealTimePdDialog
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.Response
/**
* Create By HuangWenFei
* 创建日期2023-09-04 10:06
* 描述移动仓库-库存盘点-实时盘点
*/
class HjpdActivity : BaseActivityOaToolbarViewBinding<ActivityHjpdBinding>(),
RealTimeKcpdAdapter.Callback {
var spinnerSonList: MutableList<TwoLevelShelvesBean.RowsBean> = mutableListOf()
private lateinit var adapter: RealTimeKcpdAdapter
private val infos: MutableList<RealTimeKcpdInfo.RowsBean> = mutableListOf()
private lateinit var headView: View
private var selectItem = -1
private lateinit var launcherResultMHJ: ActivityResultLauncher<Intent>
private lateinit var launcherResultZHJ: ActivityResultLauncher<Intent>
override fun getViewBinding() = ActivityHjpdBinding.inflate(layoutInflater)
override fun getToolbar() = binding.toolbarView.toolbar
override fun initView() {
launcherResultMHJ = createActivityResultLauncherMHJ()
launcherResultZHJ = createActivityResultLauncherZHJ()
binding.btnCancel.setOnClickListener(View.OnClickListener { removeView() })
binding.btnQuery.setOnClickListener(View.OnClickListener { //String spinnerSonSelectItem = spinnerSon.getSelectedItem();
if (!TextUtils.isEmpty(UiUtlis.getText(binding.etHgtm))) {
requestData("加载中...")
UiUtlis.hideInput(binding.etHgtm, context)
} else {
showToast("请扫码母货架号")
}
})
binding.btnSave.setOnClickListener(View.OnClickListener {
if (selectItem != -1) {
if (!TextUtils.isEmpty(binding.etSjsl.getText().toString())) {
for (i in infos.indices) {
if (infos[i].isFlag) {
//判断是否已经盘点
if (infos[i].ispd == "1") {
showPdDialog(infos[i])
} else {
//如果没有盘点,就盘点
scData(addJson(infos[i]))
}
}
}
} else {
showToast("你还没有输入盘点数量")
}
} else {
//如果没有选中,点击保存。
showToast("请选择要盘点的物资")
}
})
binding.tvSys.setOnClickListener(View.OnClickListener {
val intentMHJ = Intent(this, MipcaActivityCapture::class.java)
launcherResultMHJ.launch(intentMHJ)
})
binding.tvSyswz.setOnClickListener(View.OnClickListener {
val intentZHJ = Intent(this, MipcaActivityCapture::class.java)
launcherResultZHJ.launch(intentZHJ)
})
binding.btnItqz.setOnClickListener(View.OnClickListener {
binding.etXmh.setText("IT")
})
setListData()
}
override fun initData() {
initToolbar("实时库存盘点", "盘点记录") {
val intent = Intent(context, RealTimeKcpdHistoryActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
startActivity(intent)
}
headView = View.inflate(this, R.layout.list_item1, null)
headView.findViewById<View>(R.id.cb_isprint).isEnabled = false
headView.findViewById<View>(R.id.head).visibility = View.VISIBLE
}
//创建一个ActivityResultLauncher
private fun createActivityResultLauncherMHJ(): ActivityResultLauncher<Intent> {
//kotlin写法
return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
val resultIntent = it.data
val resultCode = it.resultCode
if (resultCode == RESULT_OK) {
val resultText = resultIntent?.getStringExtra("result") ?: ""
binding.etHgtm.setText(resultText)
if (!TextUtils.isEmpty(resultText)) {
getSpinnerParentData(resultText)
}
}
}
}
//创建一个ActivityResultLauncher
private fun createActivityResultLauncherZHJ(): ActivityResultLauncher<Intent> {
//kotlin写法
return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
val resultIntent = it.data
val resultCode = it.resultCode
if (resultCode == RESULT_OK) {
val resultText = resultIntent?.getStringExtra("result") ?: ""
binding.etXmh.setText(resultText)
}
}
}
private fun requestData(msg: String) {
val request = NoHttp.createStringRequest(Contans.IP + Contans.REAL_TIME_PD)
if (binding.spinnerSon.selectedItem != null && !TextUtils.isEmpty(
binding.spinnerSon.selectedItem.toString()
)
) {
request.add("UDBINNUM", binding.spinnerSon.selectedItem.toString())
} else {
request.add("UDBINNUM", "")
}
request.add("ITEMNUM", UiUtlis.getText(binding.etXmh))
request.add("BINNUM", UiUtlis.getText(binding.etHgtm))
NohttpUtils.getInstance().add<String>(this, 0, request, callback, true, true, msg)
}
private fun scData(json: String) {
val request =
NoHttp.createStringRequest(Contans.IP + Contans.REAL_TIME_PDJHSC, RequestMethod.POST)
request.setDefineRequestBodyForJson(json)
NohttpUtils.getInstance().add<String>(
this,
1,
request,
callback,
true,
true,
UiUtlis.getString(context, R.string.upload)
)
}
private val callback: HttpListener<String> = object : HttpListener<String> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
showLog(result?:"")
when (what) {
0 -> {
val realTimeKcpdInfo = GsonUtils.GsonToBean(
result,
RealTimeKcpdInfo::class.java
)
if (realTimeKcpdInfo != null) {
if (realTimeKcpdInfo.isFlag) {
infos.clear()
infos.addAll(realTimeKcpdInfo.datas)
if(infos.size>0){
binding.ll.visibility = View.VISIBLE
if (binding.lv.headerViewsCount != 1) {
binding.lv.addHeaderView(headView, null, false)
}
adapter.notifyDataSetChanged()
}else{
infos.clear()
if (binding.lv.headerViewsCount == 1) {
binding.lv.removeHeaderView(headView)
}
adapter.notifyDataSetChanged()
binding.ll.visibility = View.GONE
clearView()
}
} else {
infos.clear()
if (binding.lv.headerViewsCount == 1) {
binding.lv.removeHeaderView(headView)
}
adapter.notifyDataSetChanged()
showToast("没有该货柜信息")
binding.ll.visibility = View.GONE
clearView()
}
} else {
showToast(UiUtlis.getString(context, R.string.data_error))
}
}
1 -> {
val info = GsonUtils.GsonToBean(
response?.get(),
DagerEnterApplyBaseBean::class.java
)
if (info != null) {
if (info.isFlag) {
showToast("盘点成功")
requestData("刷新..")
playSound()
} else {
showToast("盘点失败")
}
} else {
showToast(UiUtlis.getString(context, R.string.data_error))
}
}
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
println("错误" + what + "==" + response?.get())
}
}
private fun setListData() {
adapter = RealTimeKcpdAdapter(infos, context, this)
binding.lv.adapter = adapter
binding.lv.onItemClickListener =
AdapterView.OnItemClickListener { adapterView, view, i, l ->
if (i != 0) {
if (infos[i - 1].isFlag) {
infos[i - 1].isFlag = false
clearView()
} else {
infos[i - 1].isFlag = true
for (a in infos.indices) {
if (a != i - 1) {
infos[a].isFlag = false
}
}
updateView(i - 1)
}
}
adapter.notifyDataSetChanged()
}
}
private fun updateView(index: Int) {
selectItem = index
binding.etXm.text = infos[index].itemnum
binding.etMs.text = infos[index].description
binding.etSl.text = infos[index].curbal + ""
binding.etSjsl.setText(infos[index].curbal + "")
binding.etSjsl.isEnabled = true
}
private fun clearView() {
selectItem = -1
binding.spBz.setSelection(0)
binding.etXm.text = ""
binding.etMs.text = ""
binding.etSl.text = ""
binding.etSjsl.setText("")
}
private fun removeView() {
selectItem = -1
binding.etXm.text = ""
binding.etMs.text = ""
binding.etSl.text = ""
binding.etSjsl.setText("")
infos.clear()
if (adapter != null) {
adapter.notifyDataSetChanged()
binding.lv.removeHeaderView(headView)
}
binding.etXmh.setText("")
binding.ll.visibility = View.INVISIBLE
}
private fun addJson(kcpd: RealTimeKcpdInfo.RowsBean): String {
var json: String? = ""
val info = SaveRealTimeKcpdInfo()
info.pdsl = binding.etSjsl.text.toString()
info.pdr = App.getInstance().userInfo.manid
info.itemnum = kcpd.itemnum
info.bz = binding.spBz.selectedItem.toString()
info.lotnum = kcpd.lotnum
info.binnum = kcpd.binnum
json = GsonUtils.GsonString(info)
return json
}
private fun playSound() {
val sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val r = RingtoneManager.getRingtone(this, sound)
r.play()
}
override fun cbClick(view: View?) {
val index = view!!.tag as Int
val cb = view as CheckBox
if (!cb.isChecked) {
infos[index].isFlag = false
clearView()
} else {
infos[index].isFlag = true
for (a in infos.indices) {
if (a != index) {
infos[a].isFlag = false
}
}
updateView(index)
adapter.notifyDataSetChanged()
}
}
private fun showPdDialog(kcpd: RealTimeKcpdInfo.RowsBean) {
val dialog = RealTimePdDialog(this)
dialog.setFgOnClick {
scData(addJson(kcpd))
dialog.close()
}
dialog.setQxOnClick { dialog.close() }
}
//获取母货架
private fun getSpinnerParentData(qccode: String) {
val url = Contans.IP + Contans.GET_SPINNER_PARENT_UDBIN_URL
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
request.add("QCCODE", qccode)
NohttpUtils.getInstance()
.add<String>(this, 2, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
if (what == 2) {
val result = response?.get()
showLog(result?:"")
val oneLevelShelvesBean = GsonUtils.GsonToBean(
result,
OneLevelShelvesBean::class.java
)
if (oneLevelShelvesBean != null) {
if (oneLevelShelvesBean.isFlag && oneLevelShelvesBean.datas != null && oneLevelShelvesBean.datas.size > 0) {
val BINNUM = oneLevelShelvesBean.datas[0].binnum
getSpinnerSonData(BINNUM)
} else {
removeView()
val listText = mutableListOf<String>()
val arrayModel = listText.toTypedArray()
// 然后的话创建一个我们的一个数组适配器并且的话这个数组适配器使我们的字符串类型的
val adapter = ArrayAdapter<String?>(
context,
android.R.layout.simple_spinner_item,
arrayModel
)
// 设置我们的数组下拉时的选项的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
binding.spinnerSon.adapter = adapter
showToast("查询不到子货架号,请确认母货架号是否正确")
}
}
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
showLog("错误" + what + "==" + response?.get())
}
}, true, true, UiUtlis.getString(context, R.string.loading))
}
//获取子货架
private fun getSpinnerSonData(binnum: String) {
val url = Contans.IP + Contans.GET_SPINNER_SON_UDBIN_URL
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
request.add("BINNUM", binnum)
NohttpUtils.getInstance()
.add<String>(this, 3, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
if (what == 3) {
val result = response?.get()
showLog(result?:"")
val twoLevelShelvesBean = GsonUtils.GsonToBean(
result,
TwoLevelShelvesBean::class.java
)
if (twoLevelShelvesBean != null) {
if (twoLevelShelvesBean.isFlag && twoLevelShelvesBean.datas != null && twoLevelShelvesBean.datas.size > 0) {
spinnerSonList.clear()
spinnerSonList.addAll(twoLevelShelvesBean.datas)
// 在我们的这个位置的话创建我们的数组
//val arrayModel = mu<String>(spinnerSonList.size)
val listText = mutableListOf<String>()
for (item in spinnerSonList) {
listText.add(
item.text
)
}
//listText.toArray(arrayModel)
val arrayModel = listText.toTypedArray()
// 然后的话创建一个我们的一个数组适配器并且的话这个数组适配器使我们的字符串类型的
val adapter = ArrayAdapter<String?>(
context,
android.R.layout.simple_spinner_item,
arrayModel
)
// 设置我们的数组下拉时的选项的样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
binding.spinnerSon.adapter = adapter
}
}
}
}
override fun onFailed(what: Int, response: Response<String?>?) {
showLog("错误" + what + "==" + response?.get())
}
}, true, true, UiUtlis.getString(context, R.string.loading))
}
}

@ -13,6 +13,7 @@ import com.rehome.zhdcoa.adapter.GridViewKcpdTypeAdapter;
import com.rehome.zhdcoa.base.BaseViewBindingActivity;
import com.rehome.zhdcoa.bean.GridViewBean;
import com.rehome.zhdcoa.databinding.ActivityKcpdTypeBinding;
import java.util.ArrayList;
import java.util.List;
@ -57,7 +58,6 @@ public class KcpdTypeActivity extends BaseViewBindingActivity<ActivityKcpdTypeBi
break;
case 1:
intent = new Intent(KcpdTypeActivity.this, HjpdActivity.class);
intent.putExtra(Contans.KEY_PDID, "");
startActivity(intent);
break;
default:

@ -166,8 +166,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
binding.etPassword.setText("Maying0509?")
//
// //程宇翔
// binding.etUsername.setText("310673")
// binding.etPassword.setText("Abcd@1234")
binding.etUsername.setText("310673")
binding.etPassword.setText("Abcd@1234")
//李耿
// binding.etUsername.setText("310261")
// binding.etPassword.setText("!Lig770731")

@ -26,7 +26,12 @@ import com.yolanda.nohttp.RequestMethod
import com.yolanda.nohttp.rest.Response
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.function.Consumer
/**
* Create By HuangWenFei
* 创建日期2023-09-12 14:05
* 描述移动仓库-库存盘点-实时盘点-盘点记录
*/
class RealTimeKcpdHistoryActivity : BaseActivityOaToolbarViewBinding<ActivityRealTimeKcpdHistoryBinding>() {

@ -326,6 +326,8 @@ public class YunXingFragment extends BaseFragment {
final Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST);
request.setDefineRequestBodyForJson(createZyJson());
showLog(Contans.IP + Contans.XS_JCSJ);
showLog(createZyJson());
NohttpUtils.getInstance().add(getActivity(), 0, request, new HttpListener<String>() {
@ -333,7 +335,10 @@ public class YunXingFragment extends BaseFragment {
public void onSucceed(int what, Response<String> response) {
try {
BasicDataBean bean = GsonUtils.GsonToBean(response.get(), BasicDataBean.class);
String result = response.get();
showLog(Contans.IP + Contans.XS_JCSJ);
showLog(result);
BasicDataBean bean = GsonUtils.GsonToBean(result, BasicDataBean.class);
if (bean != null) {
if (bean.getState() == 1) {
if (bean.getData().size() != 0) {

@ -1,13 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".ui.activity.HjpdActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:orientation="vertical"
tools:context=".ui.activity.HjpdActivity">
<include layout="@layout/layout_base" />
<include
android:id="@+id/toolbarView"
layout="@layout/layout_base" />
<ScrollView
android:layout_width="match_parent"

Loading…
Cancel
Save