Browse Source

1.0.12

master
ml 7 months ago
parent
commit
f4944eb4fe
  1. 2
      app/build.gradle
  2. 2
      app/release/output.json
  3. 2
      app/src/main/assets/FlowReportWorkUI.json
  4. 2
      app/src/main/assets/ReportWorkUI.json
  5. 2
      app/src/main/assets/litepal.xml
  6. 11
      app/src/main/java/com/techscan/wk/app/BaseApplication.java
  7. 2
      app/src/main/java/com/techscan/wk/base/BaseActivity.java
  8. 36
      app/src/main/java/com/techscan/wk/model/ProReqOrdeTaskBean.java
  9. 10
      app/src/main/java/com/techscan/wk/rxretrofit/BaseObserver.java
  10. 2
      app/src/main/java/com/techscan/wk/rxretrofit/HttpMethods.java
  11. 61
      app/src/main/java/com/techscan/wk/ui/proreq/ProReqActivity.java
  12. 113
      app/src/main/java/com/techscan/wk/ui/reportwork/FlowReportWorkActivity.java

2
app/build.gradle

@ -9,7 +9,7 @@ android {
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 29
versionCode 1
versionName "1.0.11"
versionName "1.0.12"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'

2
app/release/output.json

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.11","enabled":true,"outputFile":"维科上料报工系统_v1.0.11.apk","fullName":"release","baseName":"release"},"path":"维科上料报工系统_v1.0.11.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.12","enabled":true,"outputFile":"维科上料报工系统_v1.0.12.apk","fullName":"release","baseName":"release"},"path":"维科上料报工系统_v1.0.12.apk","properties":{}}]

2
app/src/main/assets/FlowReportWorkUI.json

@ -132,7 +132,7 @@
"values": [],
"mast": false,
"canChange": true,
"isShow": false,
"isShow": true,
"language": {
"zh": "报工数量",
"en": "Quantity reported",

2
app/src/main/assets/ReportWorkUI.json

@ -78,7 +78,7 @@
"values": [],
"mast": false,
"canChange": true,
"isShow": false,
"isShow": true,
"language": {
"zh": "报工数量",
"en": "Quantity reported",

2
app/src/main/assets/litepal.xml

@ -19,7 +19,7 @@
For example:
<version value="1" />
-->
<version value="23" />
<version value="24" />
<!--
Define your models in the list with mapping tag, LitePal will
create tables for each mapping class. The supported fields

11
app/src/main/java/com/techscan/wk/app/BaseApplication.java

@ -162,11 +162,11 @@ public class BaseApplication extends Application {
Log.d("BaseApplication", "xCrash SDK init: end");
// Send all pending crash log files.
new Thread(() -> {
for (File file : TombstoneManager.getAllTombstones()) {
sendThenDeleteCrashLog(file.getAbsolutePath(), null);
}
}).start();
// new Thread(() -> {
// for (File file : TombstoneManager.getAllTombstones()) {
// sendThenDeleteCrashLog(file.getAbsolutePath(), null);
// }
// }).start();
}
private void sendThenDeleteCrashLog(String logPath, String emergency) {
@ -201,6 +201,7 @@ public class BaseApplication extends Application {
requestJson.addProperty("pid", map.get("pid"));
requestJson.addProperty("javaStacktrace", map.get("java stacktrace"));
requestJson.addProperty("crashTime", map.get("Crash time"));
Log.e("seedErrorLog", "seedErrorLog");
HttpMethods.getInstance().seedErrorLog(requestJson, new BaseObserver<ResponseBody>() {
@Override
protected void onSuccess(ResponseBody responseBody) {

2
app/src/main/java/com/techscan/wk/base/BaseActivity.java

@ -54,6 +54,7 @@ public abstract class BaseActivity extends QMUIActivity implements NetBroadcastR
isBody = body;
}
/**
* 通过反射执行外部方法
*
@ -122,6 +123,7 @@ public abstract class BaseActivity extends QMUIActivity implements NetBroadcastR
super.onDestroy();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {

36
app/src/main/java/com/techscan/wk/model/ProReqOrdeTaskBean.java

@ -8,20 +8,20 @@ public class ProReqOrdeTaskBean extends LitePalSupport {
@Column(defaultValue = "0")
private Boolean complete; //是否完成
@Column(defaultValue = "0.00")
private Double completeNum; //已完成数量
private double completeNum; //已完成数量
private long rowid; //自定义行id
private String aufnr;//订单号
private String ausch;//部件废品百分数
private Double bdmng;//组件用量 //任务数量
private Double bmeng;//基本数量
private Double enmng;//提货数
private double bdmng;//组件用量 //任务数量
private double bmeng;//基本数量
private double enmng;//提货数
private String erfme;//组件单位
private Double erfmg;//组件用量(BOM单位)
private double erfmg;//组件用量(BOM单位)
private String lgort;//库存地点
private String lgortName;//库存地点名称
private String matnr;//组件物料编码
private String meins;//组件单位 //任务数量用到的单位
private Double menge;//单位用量
private double menge;//单位用量
private String posnr;//行项目
private String rgekz;//反冲
private String rsnum;//预留号
@ -61,11 +61,11 @@ public class ProReqOrdeTaskBean extends LitePalSupport {
this.complete = complete;
}
public Double getCompleteNum() {
public double getCompleteNum() {
return completeNum;
}
public void setCompleteNum(Double completeNum) {
public void setCompleteNum(double completeNum) {
this.completeNum = completeNum;
}
@ -85,27 +85,27 @@ public class ProReqOrdeTaskBean extends LitePalSupport {
this.ausch = ausch;
}
public Double getBdmng() {
public double getBdmng() {
return bdmng;
}
public void setBdmng(Double bdmng) {
public void setBdmng(double bdmng) {
this.bdmng = bdmng;
}
public Double getBmeng() {
public double getBmeng() {
return bmeng;
}
public void setBmeng(Double bmeng) {
public void setBmeng(double bmeng) {
this.bmeng = bmeng;
}
public Double getEnmng() {
public double getEnmng() {
return enmng;
}
public void setEnmng(Double enmng) {
public void setEnmng(double enmng) {
this.enmng = enmng;
}
@ -117,11 +117,11 @@ public class ProReqOrdeTaskBean extends LitePalSupport {
this.erfme = erfme;
}
public Double getErfmg() {
public double getErfmg() {
return erfmg;
}
public void setErfmg(Double erfmg) {
public void setErfmg(double erfmg) {
this.erfmg = erfmg;
}
@ -149,11 +149,11 @@ public class ProReqOrdeTaskBean extends LitePalSupport {
this.meins = meins;
}
public Double getMenge() {
public double getMenge() {
return menge;
}
public void setMenge(Double menge) {
public void setMenge(double menge) {
this.menge = menge;
}

10
app/src/main/java/com/techscan/wk/rxretrofit/BaseObserver.java

@ -102,6 +102,7 @@ public abstract class BaseObserver<T> implements Observer<T> {
private void showProgressDialog() {
if (context == null)return;
if(isContextExisted(context)){
qmuiTipDialog = new QMUITipDialog.Builder(context).setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
.setTipWord(context.getString(R.string.Loading))
.create();
@ -110,11 +111,20 @@ public abstract class BaseObserver<T> implements Observer<T> {
qmuiTipDialog.show();
}
}
private void closeProgressDialog() {
if (qmuiTipDialog == null) return;
try {
if(isContextExisted(context)){
if (qmuiTipDialog.isShowing())
qmuiTipDialog.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 自定义错误信息

2
app/src/main/java/com/techscan/wk/rxretrofit/HttpMethods.java

@ -105,7 +105,7 @@ public class HttpMethods {
.retryOnConnectionFailure(true)
.writeTimeout(TIME_OUT, TimeUnit.SECONDS)
.connectTimeout(TIME_OUT_CONN, TimeUnit.SECONDS)
.readTimeout(TIME_OUT_CONN, TimeUnit.SECONDS)
.readTimeout(TIME_OUT_CONN * 5, TimeUnit.SECONDS)
.build();
/*

61
app/src/main/java/com/techscan/wk/ui/proreq/ProReqActivity.java

@ -72,6 +72,7 @@ import com.techscan.wk.widgets.CustomBottomSheet;
import org.litepal.LitePal;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@ -124,8 +125,6 @@ public class ProReqActivity extends CommonFunctionActivity {
private Map<String, List<String>> scanBarcodeListMap;//存放条码扫描明细
private ProReqOrderBean proReqOrderBean;
private boolean isSave = false;
private AnalysisBarBean barDataBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -336,7 +335,25 @@ public class ProReqActivity extends CommonFunctionActivity {
getBarcodeInfo(value);
break;
case "quantity":
addDetailCheck(value);
DynamicFormBean barcodeItem = dynamicFormAdapter.getItemByFieldName("barcode");//条码
String barcodeItemValue = barcodeItem.getValue();
checkBarcode = BarAnalysisUtils.checkBarcodePresuffix(barcodeItemValue);
if (!checkBarcode) {
setNextFocus("barcode");
showError(getString(R.string.The_barcode_format_is_incorrect) + value);
return;
}
AnalysisBarBean barDataBean = BarAnalysisUtils.analysisBarcode(barcodeItemValue);
barDataBean.setQuantity(value);
String materiel = barDataBean.getMateriel();
if (TextUtils.isEmpty(materiel)) {
setNextFocus("barcode");
showError(getString(R.string.There_is_no_aterial_information_in_the_barcode_please_confirm));
return;
}
addDetailCheck(barDataBean);
break;
default:
break;
@ -350,7 +367,7 @@ public class ProReqActivity extends CommonFunctionActivity {
* @param value 条码内容
*/
private void getBarcodeInfo(String value) {
barDataBean = BarAnalysisUtils.analysisBarcode(value);
AnalysisBarBean barDataBean = BarAnalysisUtils.analysisBarcode(value);
String materiel = barDataBean.getMateriel();
if (TextUtils.isEmpty(materiel)) {
setNextFocus("barcode");
@ -408,7 +425,7 @@ public class ProReqActivity extends CommonFunctionActivity {
//判断是否开启 扫描自动加入明细
boolean aBoolean = PreferencesUtil.getBoolean(context, AppConst.SCAN_ADD_DETAIL, true);
if (aBoolean) {
new Handler().postDelayed(() -> addDetailCheck(barDataBean.getQuantity()), 300);
new Handler().postDelayed(() -> addDetailCheck(barDataBean), 200);
}
});
@ -418,7 +435,7 @@ public class ProReqActivity extends CommonFunctionActivity {
/**
* 加入明细前校验
*/
private void addDetailCheck(String quantity) {
private void addDetailCheck(AnalysisBarBean barDataBean) {
if (LitePal.count(ProReqOrdeTaskBean.class) == 0) {
showError(getString(R.string.Please_scan_the_ticket_number_first));
setNextFocus("AUFNR");
@ -429,7 +446,7 @@ public class ProReqActivity extends CommonFunctionActivity {
setNextFocus("barcode");
return;
}
String quantity = barDataBean.getQuantity();
if (TextUtils.isEmpty(quantity)) {
setNextFocus("quantity");
showError(getString(R.string.The_quantity_cannot_be_empty));
@ -441,20 +458,21 @@ public class ProReqActivity extends CommonFunctionActivity {
setNextFocus("quantity");
return;
}
BigDecimal quantityBD = new BigDecimal(quantity);
//当前加入明细的数量
double currenScanNum = Double.parseDouble(quantity);
double currenScanNum = quantityBD.doubleValue();
if (currenScanNum <= 0) {
showError(getString(R.string.The_number_of_scanned_codes_must_be_greater_than_0));
return;
}
//条码数量
String barNum = barDataBean.getQuantity();
String packageNumber = barDataBean.getPackageNumber();
if (!TextUtils.isEmpty(barNum) && checkNumber(barNum)) {
if (!TextUtils.isEmpty(quantity) && checkNumber(quantity) && packageNumber != null && !TextUtils.isEmpty(packageNumber)) {
//计算出当前箱号在明细中已扫描的数量
Double hisScanNum = LitePal.where("zboxid = ? ", packageNumber).sum(ProReqDetailBean.class, "erfmg", double.class);
double finalHisScanNum = hisScanNum;
double finalBarNum = Double.parseDouble(barNum);
double finalBarNum = Double.parseDouble(quantity);
double finalCurrenScanNum = currenScanNum;
HttpMethods.getInstance().getByzboxid(packageNumber, new BaseObserver<ResponseBody>(context) {
@Override
@ -476,7 +494,7 @@ public class ProReqActivity extends CommonFunctionActivity {
DialogUtil.showErrorInfoDialog(context, "当前数量" + quantity + ",历史已扫数量" + (finalHisScanNum + data) +
",已扫数量总和超过条码数量" + finalBarNum + ",请确认");
} else {
addDetail();
addDetail(barDataBean,currenScanNum);
}
}
}
@ -488,7 +506,7 @@ public class ProReqActivity extends CommonFunctionActivity {
});
} else {
addDetail();
addDetail(barDataBean,currenScanNum);
}
}
@ -496,7 +514,7 @@ public class ProReqActivity extends CommonFunctionActivity {
/**
* 加入明细方法
*/
private void addDetail() {
private void addDetail(AnalysisBarBean barDataBean,double currenScanNum) {
//DynamicFormBean ZLYSJItem = dynamicFormAdapter.getItemByFieldName("ZLYSJ");//领用时间
DynamicFormBean ZCJBMItem = dynamicFormAdapter.getItemByFieldName("ZCJBM");//车间编码
DynamicFormBean ZGWHItem = dynamicFormAdapter.getItemByFieldName("ZGWH");//工位号
@ -505,7 +523,6 @@ public class ProReqActivity extends CommonFunctionActivity {
DynamicFormBean MATNRItem = dynamicFormAdapter.getItemByFieldName("MATNR");//物料编码
DynamicFormBean ZXTPCItem = dynamicFormAdapter.getItemByFieldName("ZXTPC");//箱号
DynamicFormBean ZPCItem = dynamicFormAdapter.getItemByFieldName("ZPC");//批次
DynamicFormBean quantityItem = dynamicFormAdapter.getItemByFieldName("quantity");//数量
DynamicFormBean erfmeItem = dynamicFormAdapter.getItemByFieldName("erfme");//单位
if (TextUtils.isEmpty(lgortItem.getValue())) {
@ -513,14 +530,13 @@ public class ProReqActivity extends CommonFunctionActivity {
return;
}
String barcode = barcodeItem.getValue();
String barcode = barDataBean.getBarcode();
if (TextUtils.isEmpty(barcode)) {
showError(getString(R.string.The_bar_code_cannot_be_blank));
setNextFocus("barcode");
return;
}
LitePal
//.where("matnr = ? and complete = ?", MATNRItem.getValue(), "0")
.where("matnr = ?", MATNRItem.getValue())
@ -531,7 +547,7 @@ public class ProReqActivity extends CommonFunctionActivity {
showError(getString(R.string.There_is_no_data_of_the_same_dimension_in_the_task_list));
return;
}
double scanQuantity = Double.parseDouble(quantityItem.getValue());
double scanQuantity = currenScanNum;
String gid = System.currentTimeMillis() + "";
//加入明细,并且可以超量,每次只匹配任务一行
for (ProReqOrdeTaskBean bean : proReqOrdeTaskBeans) {
@ -546,7 +562,7 @@ public class ProReqActivity extends CommonFunctionActivity {
bean.save();
ProReqDetailBean detailBean = new ProReqDetailBean();
detailBean.setBarcode(barDataBean.getBarcode());
detailBean.setBarcode(barcode);
detailBean.setTaskRowId(bean.getRowid());
detailBean.setGid(gid);
detailBean.setAufnr(bean.getAufnr());
@ -581,7 +597,6 @@ public class ProReqActivity extends CommonFunctionActivity {
scanBarcodeListMap.put(gid, keyBarcodes);
runOnUiThread(() -> {
barDataBean = null;
SoundUtils.playSound(this, R.raw.ok);
if (KeyboardUtils.isSoftInputVisible(context)) {
KeyboardUtils.hideSoftInput(context);
@ -626,7 +641,7 @@ public class ProReqActivity extends CommonFunctionActivity {
}
List<ProReqOrderBean> data = baseResponseBean.getData();
if (data.size() == 0) {
if (data == null || data.size() == 0) {
showError(getString(R.string.No_data_was_obtained));
setNextFocus("AUFNR");
showTaskDetailBadgeNum();
@ -939,7 +954,7 @@ public class ProReqActivity extends CommonFunctionActivity {
}
}
dynamicFormAdapter.notifyDataSetChanged();
}, 200);
}, 100);
}

113
app/src/main/java/com/techscan/wk/ui/reportwork/FlowReportWorkActivity.java

@ -50,10 +50,12 @@ import com.techscan.wk.rxbus.RxBus;
import com.techscan.wk.rxretrofit.BaseObserver;
import com.techscan.wk.rxretrofit.BaseResponseBean;
import com.techscan.wk.rxretrofit.HttpMethods;
import com.techscan.wk.rxretrofit.exception.ApiException;
import com.techscan.wk.ui.baseAct.BasicDataListActivity;
import com.techscan.wk.ui.scan.CustomCaptureActivity;
import com.techscan.wk.utils.AntiShakeUtils;
import com.techscan.wk.utils.BarAnalysisUtils;
import com.techscan.wk.utils.DialogUtil;
import com.techscan.wk.utils.FindUtils;
import com.techscan.wk.utils.SoundUtils;
import com.techscan.wk.utils.ToastUtil;
@ -65,6 +67,9 @@ import org.litepal.LitePal;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -118,7 +123,6 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
private Map<String, List<String>> scanBarcodeListMap;//存放条码扫描明细
private boolean isSave = false;
private String[] items = new String[]{};
private AnalysisBarBean barDataBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -422,7 +426,6 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
break;
case "PacketBarcode":
barDataBean = null;
if (TextUtils.isEmpty(value)) {
setNextFocus("PacketBarcode");
showError(getString(R.string.The_packet_barcode_cannot_be_empty));
@ -465,12 +468,58 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
break;
//报工数量
case "GMNGA":
DynamicFormBean PacketBarcodeItem = dynamicFormAdapter.getItemByFieldName("PacketBarcode");//包条码
String barcodeItemValue = PacketBarcodeItem.getValue();
if (TextUtils.isEmpty(barcodeItemValue)) {
setNextFocus("PacketBarcode");
showError(getString(R.string.The_packet_barcode_cannot_be_empty));
return;
}
checkBarcode = BarAnalysisUtils.checkBarcodePresuffix(barcodeItemValue);
if (!checkBarcode) {
showError(getString(R.string.The_barcode_format_is_incorrect) + barcodeItemValue);
for (int i = 0; i < dynamicFormBeans.size(); i++) {
if (dynamicFormBeans.get(i).getFieldName().equals("AUFNR") ||
dynamicFormBeans.get(i).equals("ScanRule") ||
dynamicFormBeans.get(i).equals("FlowOrder")) {
continue;
}
dynamicFormBeans.get(i).setValue("");
}
setNextFocus("PacketBarcode");
return;
}
//判断条码是否已经被扫描
if (isInBarcodeList(scanBarcodeListMap, barcodeItemValue)) {
showError(getString(R.string.Do_not_scan_the_barcode_again));
for (int i = 0; i < dynamicFormBeans.size(); i++) {
if (dynamicFormBeans.get(i).getFieldName().equals("AUFNR") ||
dynamicFormBeans.get(i).equals("ScanRule") ||
dynamicFormBeans.get(i).equals("FlowOrder")) {
continue;
}
dynamicFormBeans.get(i).setValue("");
}
setNextFocus("PacketBarcode");
return;
}
DynamicFormBean MATNRItem = dynamicFormAdapter.getItemByFieldName("MATNR");//物料号
if (TextUtils.isEmpty(MATNRItem.getValue())) {
showError(getString(R.string.Please_scan_the_package_barcode_first));
setNextFocus("PacketBarcode");
return;
}
if (TextUtils.isEmpty(value)) {
showError(getString(R.string.The_number_of_reports_cannot_be_empty));
setNextFocus("GMNGA");
return;
}
AnalysisBarBean barBean = BarAnalysisUtils.analysisBarcode(PacketBarcodeItem.getValue());
barBean.setQuantity(value);
LitePal
.where("matnr = ?", MATNRItem.getValue())
.findAsync(FlowReportWorkProOrderBean.class)
@ -481,7 +530,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
addDetailCheck(orderBeans.get(0), value);
addDetailCheck(orderBeans.get(0), barBean);
});
break;
@ -525,10 +574,9 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
}
}
barDataBean = barBean;
//先根据条码物料信息比对工单产品信息
LitePal
.where("matnr = ?", barDataBean.getMateriel())
.where("matnr = ?", barBean.getMateriel())
.findAsync(FlowReportWorkProOrderBean.class)
.listen(orderBeans -> {
if (orderBeans.size() == 0) {
@ -541,19 +589,19 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
for (DynamicFormBean d : dynamicFormBeans) {
switch (d.getFieldName()) {
case "MATNR"://物料号
d.setValue(barDataBean.getMateriel());
d.setValue(barBean.getMateriel());
d.setFocus(false);
break;
case "ZXTPC"://包装容器号 --箱号
d.setValue(barDataBean.getPackageNumber());
d.setValue(barBean.getPackageNumber());
d.setFocus(false);
break;
case "ZPC"://批次
d.setValue(barDataBean.getBatch());
d.setValue(barBean.getBatch());
d.setFocus(false);
break;
case "GMNGA"://报工数量
d.setValue(barDataBean.getQuantity());
d.setValue(barBean.getQuantity());
d.setFocus(false);
break;
default:
@ -564,7 +612,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
dynamicFormAdapter.setList(dynamicFormBeans);
dynamicFormAdapter.notifyDataSetChanged();
new Handler().postDelayed(() -> addDetailCheck(orderBeans.get(0), barDataBean.getQuantity()), 300);
new Handler().postDelayed(() -> addDetailCheck(orderBeans.get(0), barBean), 200);
});
@ -573,25 +621,26 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
/**
* 加入明细前校验
*/
private void addDetailCheck(FlowReportWorkProOrderBean workProOrderBean, String quantity) {
if (barDataBean == null) {
private void addDetailCheck(FlowReportWorkProOrderBean workProOrderBean, AnalysisBarBean barBean) {
if (barBean == null) {
showError(getString(R.string.The_packet_barcode_cannot_be_empty));
setNextFocus("PacketBarcode");
return;
}
int count = LitePal.where("zxtpc =?", barDataBean.getPackageNumber()).count(FlowReportWorkDetailBean.class);
int count = LitePal.where("zxtpc =?", barBean.getPackageNumber()).count(FlowReportWorkDetailBean.class);
if (count > 0) {
showError(getString(R.string.The_case_number_cannot_be_scanned_repeatedly));
return;
}
String quantity = barBean.getQuantity();
if (TextUtils.isEmpty(quantity)) {
showError(getString(R.string.The_number_of_reports_cannot_be_empty));
setNextFocus("GMNGA");
return;
}
if (Double.parseDouble(quantity) <= 0) {
BigDecimal gmnga = new BigDecimal(quantity);//当前扫描的报工数量
if (gmnga.doubleValue() <= 0) {
showError(getString(R.string.The_number_of_jobs_reported_cannot_be_0_or_smaller_than_0));
setNextFocus("GMNGA");
return;
@ -613,7 +662,6 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
BigDecimal psmngdecimal = new BigDecimal(psmng);//订单数量
BigDecimal gwemgdecimal = new BigDecimal(gwemg);//已交货数量
BigDecimal gmnga = new BigDecimal(quantity);//当前扫描的报工数量
//统计明细里已报工的数量
Double sum = LitePal.sum(FlowReportWorkDetailBean.class, "gmnga", double.class);
@ -641,12 +689,12 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
.addAction(getResources().getString(R.string.cancel_info), (dialog, index) -> dialog.dismiss())
.addAction(getResources().getString(R.string.confirm_info), (dialog, index) -> {
dialog.dismiss();
addDetail(workProOrderBean);
addDetail(workProOrderBean, gmnga.doubleValue());
})
.create(R.style.QMUI_Dialog);
qmuiDialog.show();
} else {
addDetail(workProOrderBean);
addDetail(workProOrderBean, gmnga.doubleValue());
}
}
@ -654,12 +702,11 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
/**
* 加入明细列表
*/
private void addDetail(FlowReportWorkProOrderBean workProOrderBean) {
private void addDetail(FlowReportWorkProOrderBean workProOrderBean, double quantity) {
DynamicFormBean ScanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");//扫描规则
DynamicFormBean aufnrItem = dynamicFormAdapter.getItemByFieldName("AUFNR");//工单
DynamicFormBean flowOrderItem = dynamicFormAdapter.getItemByFieldName("FlowOrder");//流转单
DynamicFormBean PacketBarcodeItem = dynamicFormAdapter.getItemByFieldName("PacketBarcode");//包条码
DynamicFormBean gmngaItem = dynamicFormAdapter.getItemByFieldName("GMNGA");//报工数量
DynamicFormBean MATNRItem = dynamicFormAdapter.getItemByFieldName("MATNR");//物料号
DynamicFormBean ZXTPCItem = dynamicFormAdapter.getItemByFieldName("ZXTPC");//箱号
DynamicFormBean ZPCItem = dynamicFormAdapter.getItemByFieldName("ZPC");//批次
@ -706,7 +753,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setFlowOrders(flowOrderItem.getValue());
bean.setFlowOrders(flowOrderSb.substring(0, flowOrderSb.length() - 1));
bean.setPacketBarcode(barcode);
bean.setGmnga(gmngaItem.getValue());
bean.setGmnga(String.valueOf(quantity));
bean.setUeeto(workProOrderBean.getUeeto());
bean.setPsmng(workProOrderBean.getPsmng());
bean.setXmnga("");
@ -719,7 +766,6 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
List<String> keyBarcodes = new ArrayList<>();
keyBarcodes.add(barcode);
scanBarcodeListMap.put(gid, keyBarcodes);
barDataBean = null;
reInitUI(ScanRuleItem.getValue());
} else {
showError(getString(R.string.Failed_to_join_details));
@ -745,7 +791,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setMeinh(workProOrderBean.getAmein());
bean.setFlowOrders(flowOrderItem.getValue());
bean.setPacketBarcode(barcode);
bean.setGmnga(gmngaItem.getValue());
bean.setGmnga(String.valueOf(quantity));
bean.setUeeto(workProOrderBean.getUeeto());
bean.setPsmng(workProOrderBean.getPsmng());
bean.setXmnga("");
@ -756,7 +802,6 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
List<String> keyBarcodes = new ArrayList<>();
keyBarcodes.add(barcode);
scanBarcodeListMap.put(gid, keyBarcodes);
barDataBean = null;
reInitUI(ScanRuleItem.getValue());
} else {
showError(getString(R.string.Failed_to_join_details));
@ -982,8 +1027,12 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
@Override
protected void onFailure(Throwable e) throws Exception {
if (e instanceof SocketTimeoutException || e instanceof SocketException) {
DialogUtil.showErrorInfoDialog(context, "响应超时,请联系管理员确认数据是否已在处理,在继续下一步操作!!!");
} else {
CustomErrorDialog(e, FlowReportWorkActivity.this);
}
}
});
@ -1120,15 +1169,21 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
protected void doOnBackPressed() {
finishActivity();
return true;
}
return super.onKeyDown(keyCode, event);
}
// @Override
// public boolean onKeyDown(int keyCode, KeyEvent event) {
// if (keyCode == KeyEvent.KEYCODE_BACK) {
// finishActivity();
// return true;
// }
// return super.onKeyDown(keyCode, event);
// }
/**
* 判断界面是否填写数据
*

Loading…
Cancel
Save