Browse Source

1.0.3

master
ml 1 year ago
parent
commit
23a7fec938
  1. 2
      app/build.gradle
  2. 2
      app/release/output.json
  3. 2
      app/src/main/assets/FlowReportWorkUI.json
  4. 64
      app/src/main/assets/ProReqBodyUI.json
  5. 3
      app/src/main/assets/litepal.xml
  6. 216
      app/src/main/java/com/techscan/wk/model/FlowReportWorkProOrderBean.java
  7. 1
      app/src/main/java/com/techscan/wk/model/ProReqDetailBean.java
  8. 39
      app/src/main/java/com/techscan/wk/ui/proreq/ProReqActivity.java
  9. 240
      app/src/main/java/com/techscan/wk/ui/reportwork/FlowReportWorkActivity.java
  10. 3
      app/src/main/res/values-en/strings.xml
  11. 5
      app/src/main/res/values-th-rTH/strings.xml
  12. 3
      app/src/main/res/values/strings.xml

2
app/build.gradle

@ -9,7 +9,7 @@ android {
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 29
versionCode 1
versionName "1.0.2"
versionName "1.0.3"
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.2","enabled":true,"outputFile":"维科上料报工系统_v1.0.2.apk","fullName":"release","baseName":"release"},"path":"维科上料报工系统_v1.0.2.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.3","enabled":true,"outputFile":"维科上料报工系统_v1.0.3.apk","fullName":"release","baseName":"release"},"path":"维科上料报工系统_v1.0.3.apk","properties":{}}]

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

@ -26,7 +26,7 @@
"editExp": 0,
"values": [],
"mast": false,
"canChange": true,
"canChange": false,
"isShow": true,
"isFocus": false,
"language": {

64
app/src/main/assets/ProReqBodyUI.json

@ -16,9 +16,8 @@
"th": "ใช้เวลา"
}
},
{
"id": 4,
"id": 2,
"type": 2,
"fieldName": "AUFNR",
"name": "工单号",
@ -35,6 +34,40 @@
"th": "หมายเลขหน้า"
}
},
{
"id": 3,
"type": 2,
"fieldName": "ZCJBM",
"name": "车间编码",
"value": "",
"editExp": 0,
"values": [],
"mast": false,
"canChange": true,
"isShow": true,
"language": {
"zh": "车间编码",
"en": "Shop coding",
"th": "การเข้ารหัสของห้องปฏิบัติการ"
}
},
{
"id": 4,
"type": 2,
"fieldName": "ZGWH",
"name": "工位号",
"value": "",
"editExp": 0,
"values": [],
"mast": false,
"canChange": true,
"isShow": true,
"language": {
"zh": "工位号",
"en": "working location number",
"th": "จำนวนคนงาน"
}
},
{
"id": 5,
"type": 2,
@ -53,7 +86,7 @@
}
},
{
"id": 3,
"id": 6,
"type": 1,
"fieldName": "lgort",
"name": "库存地点",
@ -70,7 +103,7 @@
}
},
{
"id": 6,
"id": 7,
"type": 2,
"fieldName": "MATNR",
"name": "物料号",
@ -87,7 +120,7 @@
}
},
{
"id": 7,
"id": 8,
"type": 2,
"fieldName": "ZXTPC",
"name": "箱号",
@ -104,7 +137,7 @@
}
},
{
"id": 8,
"id": 9,
"type": 2,
"fieldName": "ZPC",
"name": "批次",
@ -121,7 +154,7 @@
}
},
{
"id": 9,
"id": 10,
"type": 2,
"fieldName": "quantity",
"name": "数量",
@ -136,5 +169,22 @@
"en": "quantity",
"th": "จำนวน"
}
},
{
"id": 11,
"type": 2,
"fieldName": "erfme",
"name": "单位",
"value": "",
"editExp": 0,
"values": [],
"mast": false,
"canChange": false,
"isShow": true,
"language": {
"zh": "单位",
"en": "unit",
"th": "หน่วย"
}
}
]

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

@ -19,7 +19,7 @@
For example:
<version value="1" />
-->
<version value="14" />
<version value="18" />
<!--
Define your models in the list with mapping tag, LitePal will
create tables for each mapping class. The supported fields
@ -37,6 +37,7 @@
<mapping class="com.techscan.wk.model.ProReqDetailBean" />
<mapping class="com.techscan.wk.model.FlowOrderDetailBean" />
<mapping class="com.techscan.wk.model.FlowReportWorkDetailBean" />
<mapping class="com.techscan.wk.model.FlowReportWorkProOrderBean" />
</list>
<!--

216
app/src/main/java/com/techscan/wk/model/FlowReportWorkProOrderBean.java

@ -0,0 +1,216 @@
package com.techscan.wk.model;
import org.litepal.crud.LitePalSupport;
public class FlowReportWorkProOrderBean extends LitePalSupport {
private String amein;
private String aufnr;
private String bmeng;
private String dauat;
private String dispo;
private String dwerk;
private String fevor;
private String gltrp;
private String gstrp;
private String lgort;
private String matnr;
private String plnal;
private String plnnr;
private String projn;
private String psmng;
private String stlal;
private String ueeto;
private String ybzq;
private String zremark;
private String zszjd;
private String zwlbc;
private String zzt;
private String zzy;
public void setAmein(String amein) {
this.amein = amein;
}
public String getAmein() {
return amein;
}
public void setAufnr(String aufnr) {
this.aufnr = aufnr;
}
public String getAufnr() {
return aufnr;
}
public void setBmeng(String bmeng) {
this.bmeng = bmeng;
}
public String getBmeng() {
return bmeng;
}
public void setDauat(String dauat) {
this.dauat = dauat;
}
public String getDauat() {
return dauat;
}
public void setDispo(String dispo) {
this.dispo = dispo;
}
public String getDispo() {
return dispo;
}
public void setDwerk(String dwerk) {
this.dwerk = dwerk;
}
public String getDwerk() {
return dwerk;
}
public void setFevor(String fevor) {
this.fevor = fevor;
}
public String getFevor() {
return fevor;
}
public void setGltrp(String gltrp) {
this.gltrp = gltrp;
}
public String getGltrp() {
return gltrp;
}
public void setGstrp(String gstrp) {
this.gstrp = gstrp;
}
public String getGstrp() {
return gstrp;
}
public void setLgort(String lgort) {
this.lgort = lgort;
}
public String getLgort() {
return lgort;
}
public void setMatnr(String matnr) {
this.matnr = matnr;
}
public String getMatnr() {
return matnr;
}
public void setPlnal(String plnal) {
this.plnal = plnal;
}
public String getPlnal() {
return plnal;
}
public void setPlnnr(String plnnr) {
this.plnnr = plnnr;
}
public String getPlnnr() {
return plnnr;
}
public void setProjn(String projn) {
this.projn = projn;
}
public String getProjn() {
return projn;
}
public void setPsmng(String psmng) {
this.psmng = psmng;
}
public String getPsmng() {
return psmng;
}
public void setStlal(String stlal) {
this.stlal = stlal;
}
public String getStlal() {
return stlal;
}
public void setUeeto(String ueeto) {
this.ueeto = ueeto;
}
public String getUeeto() {
return ueeto;
}
public void setYbzq(String ybzq) {
this.ybzq = ybzq;
}
public String getYbzq() {
return ybzq;
}
public void setZremark(String zremark) {
this.zremark = zremark;
}
public String getZremark() {
return zremark;
}
public void setZszjd(String zszjd) {
this.zszjd = zszjd;
}
public String getZszjd() {
return zszjd;
}
public void setZwlbc(String zwlbc) {
this.zwlbc = zwlbc;
}
public String getZwlbc() {
return zwlbc;
}
public void setZzt(String zzt) {
this.zzt = zzt;
}
public String getZzt() {
return zzt;
}
public void setZzy(String zzy) {
this.zzy = zzy;
}
public String getZzy() {
return zzy;
}
}

1
app/src/main/java/com/techscan/wk/model/ProReqDetailBean.java

@ -23,6 +23,7 @@ public class ProReqDetailBean extends LitePalSupport {
private String lgort;//库存地点
private String lgortName;//库存地点
public String getZboxid() {
return zboxid;
}

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

@ -286,6 +286,8 @@ public class ProReqActivity extends CommonFunctionActivity {
DynamicFormBean bean = dynamicFormBeans.get(j);
if (bean.getFieldName().equals("lgort") ||
bean.getFieldName().equals("AUFNR") ||
bean.getFieldName().equals("ZGWH") ||
bean.getFieldName().equals("ZCJBM") ||
bean.getFieldName().equals("ZLYSJ")) {
continue;
} else {
@ -302,6 +304,12 @@ public class ProReqActivity extends CommonFunctionActivity {
}
query(value);
break;
case "ZCJBM":
setNextFocus("ZGWH");
break;
case "ZGWH":
setNextFocus("barcode");
break;
case "barcode":
if (LitePal.count(ProReqOrdeTaskBean.class) == 0) {
showError(getString(R.string.Please_scan_the_ticket_number_first));
@ -322,12 +330,12 @@ public class ProReqActivity extends CommonFunctionActivity {
return;
}
//判断条码是否已经被扫描
if (isInBarcodeList(scanBarcodeListMap, value)) {
showError(getString(R.string.Do_not_scan_the_barcode_again));
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
// //判断条码是否已经被扫描
// if (isInBarcodeList(scanBarcodeListMap, value)) {
// showError(getString(R.string.Do_not_scan_the_barcode_again));
// dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
// return;
// }
getBarcodeInfo(value);
break;
@ -379,6 +387,10 @@ public class ProReqActivity extends CommonFunctionActivity {
d.setValue(bean.getQuantity());
d.setFocus(true);
break;
case "erfme"://单位
d.setValue(proReqOrdeTaskBeans.get(0).getMeins());
d.setFocus(true);
break;
default:
d.setFocus(false);
break;
@ -387,7 +399,7 @@ public class ProReqActivity extends CommonFunctionActivity {
dynamicFormAdapter.setList(dynamicFormBeans);
dynamicFormAdapter.notifyDataSetChanged();
boolean aBoolean = PreferencesUtil.getBoolean(context, AppConst.SCAN_ADD_DETAIL,true);
boolean aBoolean = PreferencesUtil.getBoolean(context, AppConst.SCAN_ADD_DETAIL, true);
if (aBoolean) {
new Handler().postDelayed(new Runnable() {
@Override
@ -419,7 +431,7 @@ public class ProReqActivity extends CommonFunctionActivity {
qmuiTipDialog.setCancelable(false);
qmuiTipDialog.setCanceledOnTouchOutside(false);
qmuiTipDialog.show();
setNextFocus("barcode");
setNextFocus("ZCJBM");
for (int i = 0; i < item.size(); i++) {
ProReqOrdeTaskBean taskBean = item.get(i);
taskBean.setRowid(System.currentTimeMillis());
@ -453,12 +465,15 @@ public class ProReqActivity extends CommonFunctionActivity {
private void addDetail() {
DynamicFormBean ZLYSJItem = dynamicFormAdapter.getItemByFieldName("ZLYSJ");//领用时间
DynamicFormBean ZCJBMItem = dynamicFormAdapter.getItemByFieldName("ZCJBM");//车间编码
DynamicFormBean ZGWHItem = dynamicFormAdapter.getItemByFieldName("ZGWH");//工位号
DynamicFormBean lgortItem = dynamicFormAdapter.getItemByFieldName("lgort");//库存地点
DynamicFormBean barcodeItem = dynamicFormAdapter.getItemByFieldName("barcode");//条码
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 (LitePal.count(ProReqOrdeTaskBean.class) == 0) {
showError(getString(R.string.Please_scan_the_ticket_number_first));
@ -519,12 +534,12 @@ public class ProReqActivity extends CommonFunctionActivity {
detailBean.setTaskRowId(bean.getRowid());
detailBean.setGid(gid);
detailBean.setAufnr(bean.getAufnr());
detailBean.setErfme(bean.getErfme());
detailBean.setErfme(bean.getMeins());
detailBean.setErfmg(scanQuantity);
detailBean.setMatnr(bean.getMatnr());
detailBean.setWerks(proReqOrderBean != null ? proReqOrderBean.getDwerk() : "");
detailBean.setZcjbm("");
detailBean.setZgwh("");
detailBean.setZcjbm(ZCJBMItem.getValue());
detailBean.setZgwh(ZGWHItem.getValue());
detailBean.setZitemo(bean.getRspos());
detailBean.setZlysj(ZLYSJItem.getValue());
detailBean.setZboxid(ZXTPCItem.getValue());
@ -557,6 +572,8 @@ public class ProReqActivity extends CommonFunctionActivity {
for (int i = 0; i < dynamicFormBeans.size(); i++) {
DynamicFormBean dynamicFormBean = dynamicFormBeans.get(i);
if (dynamicFormBean.getFieldName().equals("AUFNR") ||
dynamicFormBean.getFieldName().equals("ZGWH") ||
dynamicFormBean.getFieldName().equals("ZCJBM") ||
dynamicFormBean.getFieldName().equals("ZLYSJ")) {
continue;
}

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

@ -43,6 +43,7 @@ import com.techscan.wk.model.AnalysisBarBean;
import com.techscan.wk.model.DynamicFormBean;
import com.techscan.wk.model.FlowOrderDetailBean;
import com.techscan.wk.model.FlowReportWorkDetailBean;
import com.techscan.wk.model.FlowReportWorkProOrderBean;
import com.techscan.wk.model.ReportWorkDetailBean;
import com.techscan.wk.rxbus.Event;
import com.techscan.wk.rxbus.RxBus;
@ -292,7 +293,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
if (rvUiHaveData() || count > 0 || detailCount > 0) {
new QMUIDialog.MessageDialogBuilder(context).setTitle(getResources().getString(R.string.tips_title))
.setCancelable(false)
.setMessage("是否切换扫描规则?(切换将清空界面和所有扫描明细内容)")
.setMessage(getString(R.string.Do_you_want_to_change_scan_rules_Switching_will_clear_the_interface_and_all_scan_details))
.addAction(getResources().getString(R.string.cancel_info), (dialog1, index) -> dialog1.dismiss())
.addAction(getResources().getString(R.string.confirm_info), (dialog1, index) -> {
dialog1.dismiss();
@ -348,20 +349,20 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
String value = dynamicFormBean.getValue();
switch (dynamicFormBean.getFieldName()) {
case "AUFNR":
DynamicFormBean scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
// String value1 = scanRuleItem.getValue();
// if (TextUtils.isEmpty(value1)) {
// dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
// showError(getString(R.string.Select_a_scan_rule_first));
// DynamicFormBean scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
//// String value1 = scanRuleItem.getValue();
//// if (TextUtils.isEmpty(value1)) {
//// dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
//// showError(getString(R.string.Select_a_scan_rule_first));
//// return;
//// }
// if (TextUtils.isEmpty(value)) {
// showError(getString(R.string.The_work_order_number_cannot_be_empty));
// return;
// }
if (TextUtils.isEmpty(value)) {
showError(getString(R.string.The_work_order_number_cannot_be_empty));
return;
}
dynamicFormBean.setCanChange(false);
dynamicFormAdapter.notifyDataSetChanged();
setNextFocus("FlowOrder");
// dynamicFormBean.setCanChange(false);
// dynamicFormAdapter.notifyDataSetChanged();
// setNextFocus("FlowOrder");
break;
case "FlowOrder":
DynamicFormBean AUFNRItem = dynamicFormAdapter.getItemByFieldName("AUFNR");
@ -370,7 +371,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
// return;
// }
scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
DynamicFormBean scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
if (TextUtils.isEmpty(scanRuleItem.getValue())) {
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
showError(getString(R.string.Select_a_scan_rule_first));
@ -382,52 +383,62 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
return;
}
if (TextUtils.isEmpty(scanRuleItem.getValue())) {
setNextFocus(dynamicFormBean.getFieldName());
showError(getString(R.string.Select_a_scan_rule_first));
return;
}
if (value.startsWith("T") && value.length() > 9) {
int t = value.indexOf("T");
String substring = value.substring(t + 1, 9);
String workOrder = value.substring(t + 1, 9);
String aufnrItemValue = AUFNRItem.getValue();
if (TextUtils.isEmpty(aufnrItemValue)) {
AUFNRItem.setValue(substring);
AUFNRItem.setValue(workOrder);
AUFNRItem.setCanChange(false);
LitePal.deleteAll(FlowReportWorkProOrderBean.class);
query(workOrder, value, scanRuleItem, dynamicFormBean);
dynamicFormAdapter.setItemByFieldName(AUFNRItem.getFieldName(), AUFNRItem);
dynamicFormAdapter.notifyDataSetChanged();
} else {
if (!substring.equals(aufnrItemValue)) {
if (!workOrder.equals(aufnrItemValue)) {
ToastUtils.showLong(R.string.order_number_in_the_flow_order_is_inconsistent);
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
} else {
if (scanRuleItem.getValue().equals(items[1])) {
LitePal
.where("flowOrder = ?", value)
.findAsync(FlowOrderDetailBean.class)
.listen(reportWorkDetailBean -> {
if (reportWorkDetailBean.size() > 0) {
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
showError(getString(R.string.The_current_flow_order_number_has_been_scanned));
return;
}
String gid = System.currentTimeMillis() + "";
FlowOrderDetailBean bean = new FlowOrderDetailBean();
bean.setGid(gid);
bean.setFlowOrder(value);
bean.save();
showOrderDetailBadgeNum();
SoundUtils.playSound(this, R.raw.ok);
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
});
} else {
dynamicFormBean.setCanChange(false);
dynamicFormAdapter.notifyDataSetChanged();
setNextFocus("PacketBarcode");
}
}
}
}
if (TextUtils.isEmpty(scanRuleItem.getValue())) {
setNextFocus(dynamicFormBean.getFieldName());
showError(getString(R.string.Select_a_scan_rule_first));
return;
}
if (scanRuleItem.getValue().equals(items[1])) {
LitePal
.where("flowOrder = ?", value)
.findAsync(FlowOrderDetailBean.class)
.listen(reportWorkDetailBean -> {
if (reportWorkDetailBean.size() > 0) {
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
showError(getString(R.string.The_current_flow_order_number_has_been_scanned));
return;
}
String gid = System.currentTimeMillis() + "";
FlowOrderDetailBean bean = new FlowOrderDetailBean();
bean.setGid(gid);
bean.setFlowOrder(value);
bean.save();
showOrderDetailBadgeNum();
SoundUtils.playSound(this, R.raw.ok);
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
});
} else {
dynamicFormBean.setCanChange(false);
dynamicFormAdapter.notifyDataSetChanged();
setNextFocus("PacketBarcode");
ToastUtils.showLong(R.string.The_flow_order_number_format_is_incorrect);
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
break;
case "PacketBarcode":
@ -467,7 +478,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
getBarcodeInfo(value);
getBarcodeInfo(value, dynamicFormBean);
break;
//报工数量
case "GMNGA":
@ -541,6 +552,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setAufnr(aufnrItem.getValue());
bean.setVornr("");
bean.setZxtpc(ZXTPCItem.getValue());
bean.setZpc(ZPCItem.getValue());
bean.setFlowOrders(flowOrderItem.getValue());
bean.setFlowOrders(flowOrderSb.substring(0, flowOrderSb.length() - 1));
bean.setPacketBarcode(barcode);
@ -575,6 +587,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setAufnr(aufnrItem.getValue());
bean.setVornr("");
bean.setZxtpc(ZXTPCItem.getValue());
bean.setZpc(ZPCItem.getValue());
bean.setFlowOrders(flowOrderItem.getValue());
bean.setPacketBarcode(barcode);
bean.setGmnga(gmngaItem.getValue());
@ -597,39 +610,109 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
}
private void getBarcodeInfo(String value) {
AnalysisBarBean bean = BarAnalysisUtils.analysisBarcode(value);
for (DynamicFormBean d : dynamicFormBeans) {
switch (d.getFieldName()) {
case "MATNR"://物料号
d.setValue(bean.getMateriel());
d.setFocus(false);
break;
case "ZXTPC"://包装容器号 --箱号
d.setValue(bean.getPackageNumber());
d.setFocus(false);
break;
case "ZPC"://批次
d.setValue(bean.getBatch());
d.setFocus(false);
break;
case "GMNGA"://报工数量
d.setValue(bean.getQuantity());
d.setFocus(false);
break;
default:
d.setFocus(false);
break;
private void query(String workOrder, String flowOrder, DynamicFormBean scanRuleItem, DynamicFormBean dynamicFormBean) {
HttpMethods.getInstance().getOrderInfo(workOrder, new BaseObserver<ResponseBody>(context) {
@Override
protected void onSuccess(ResponseBody body) throws Exception {
String string = body.string();
Type objectType = new TypeToken<BaseResponseBean<List<FlowReportWorkProOrderBean>>>() {
}.getType();
BaseResponseBean<List<FlowReportWorkProOrderBean>> baseResponseBean = gson.fromJson(string, objectType);
if (baseResponseBean.getCode() == 200) {
List<FlowReportWorkProOrderBean> data = baseResponseBean.getData();
if (data.size() > 0) {
FlowReportWorkProOrderBean flowReportWorkProOrderBean = data.get(0);
flowReportWorkProOrderBean.save();
if (scanRuleItem.getValue().equals(items[1])) {
LitePal
.where("flowOrder = ?", flowOrder)
.findAsync(FlowOrderDetailBean.class)
.listen(reportWorkDetailBean -> {
if (reportWorkDetailBean.size() > 0) {
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
showError(getString(R.string.The_current_flow_order_number_has_been_scanned));
return;
}
String gid = System.currentTimeMillis() + "";
FlowOrderDetailBean bean = new FlowOrderDetailBean();
bean.setGid(gid);
bean.setFlowOrder(flowOrder);
bean.save();
showOrderDetailBadgeNum();
SoundUtils.playSound(FlowReportWorkActivity.this, R.raw.ok);
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
});
} else {
dynamicFormBean.setCanChange(false);
dynamicFormAdapter.notifyDataSetChanged();
setNextFocus("PacketBarcode");
}
} else {
showError(getString(R.string.No_material_information_was_obtained_for_the_workorder));
setNextFocus("FlowOrder");
}
} else {
showError(baseResponseBean.getMsg());
setNextFocus("FlowOrder");
}
}
}
dynamicFormAdapter.setList(dynamicFormBeans);
dynamicFormAdapter.notifyDataSetChanged();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
addDetail();
protected void onFailure(Throwable e) throws Exception {
setNextFocus("FlowOrder");
SoundUtils.playSound(FlowReportWorkActivity.this, R.raw.warning);
CustomErrorDialog(e, FlowReportWorkActivity.this);
}
}, 300);
});
}
private void getBarcodeInfo(String value, DynamicFormBean dynamicFormBean) {
AnalysisBarBean bean = BarAnalysisUtils.analysisBarcode(value);
LitePal
.where("matnr = ?", bean.getMateriel())
.findAsync(FlowReportWorkProOrderBean.class)
.listen(orderBeans -> {
if (orderBeans.size() == 0) {
//未找到相同维度数据,报错
showError("工单物料与扫码物料不一致,请确认");
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
for (DynamicFormBean d : dynamicFormBeans) {
switch (d.getFieldName()) {
case "MATNR"://物料号
d.setValue(bean.getMateriel());
d.setFocus(false);
break;
case "ZXTPC"://包装容器号 --箱号
d.setValue(bean.getPackageNumber());
d.setFocus(false);
break;
case "ZPC"://批次
d.setValue(bean.getBatch());
d.setFocus(false);
break;
case "GMNGA"://报工数量
d.setValue(bean.getQuantity());
d.setFocus(false);
break;
default:
d.setFocus(false);
break;
}
}
dynamicFormAdapter.setList(dynamicFormBeans);
dynamicFormAdapter.notifyDataSetChanged();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
addDetail();
}
}, 300);
});
}
@ -802,7 +885,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
}
switch (selectDynamicFormBean.getFieldName()) {
case "PacketBarcode":
getBarcodeInfo(scanResult);
getBarcodeInfo(scanResult, selectDynamicFormBean);
break;
}
}
@ -847,6 +930,9 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
if (LitePal.count(FlowOrderDetailBean.class) > 0) {
LitePal.deleteAll(FlowOrderDetailBean.class);
}
if (LitePal.count(FlowReportWorkProOrderBean.class) > 0) {
LitePal.deleteAll(FlowReportWorkProOrderBean.class);
}
}
@Override

3
app/src/main/res/values-en/strings.xml

@ -168,4 +168,7 @@
<string name="dialog_The_quantity_cannot_be_empty">The quantity cannot be empty</string>
<string name="dialog_The_value_cannot_be_0_or_less_than_0">The value cannot be 0 or less than 0</string>
<string name="Quantity_of_returned_material">Quantity of returned material</string>
<string name="No_material_information_was_obtained_for_the_workorder">No material information was obtained for the work order</string>
<string name="Do_you_want_to_change_scan_rules_Switching_will_clear_the_interface_and_all_scan_details">Do you want to change scan rules? (Switching will clear the interface and all scan details)</string>
<string name="The_flow_order_number_format_is_incorrect">The flow order number format is incorrect</string>
</resources>

5
app/src/main/res/values-th-rTH/strings.xml

@ -167,5 +167,8 @@
<string name="Material_number">หมายเลขวัสดุ</string>
<string name="dialog_The_quantity_cannot_be_empty">ไม่สามารถว่า งได้</string>
<string name="dialog_The_value_cannot_be_0_or_less_than_0">จำนวนไม่สามารถเป็น 0 หรือน้อยกว่า 0 ได้</string>
<string name="Quantity_of_returned_material">退料数量</string>
<string name="Quantity_of_returned_material">จำนวนการส่งออก</string>
<string name="No_material_information_was_obtained_for_the_workorder">ไม่มีการรับข้อมูลวัสดุใด ๆ</string>
<string name="Do_you_want_to_change_scan_rules_Switching_will_clear_the_interface_and_all_scan_details">จะสลับกฎการสแกน หรือไม่?(สลับการล้างอินเทอร์เฟซ และรายละเอียดการสแกนทั้งหมด)</string>
<string name="The_flow_order_number_format_is_incorrect">หมายเลขโรเตอร์ไม่ถูกต้อง</string>
</resources>

3
app/src/main/res/values/strings.xml

@ -179,5 +179,8 @@
<string name="dialog_The_quantity_cannot_be_empty">数量不可为空</string>
<string name="dialog_The_value_cannot_be_0_or_less_than_0">数量不能为0或小于0</string>
<string name="Quantity_of_returned_material">退料数量</string>
<string name="No_material_information_was_obtained_for_the_workorder">该工单没有获取到物料信息</string>
<string name="Do_you_want_to_change_scan_rules_Switching_will_clear_the_interface_and_all_scan_details">是否切换扫描规则?(切换将清空界面和所有扫描明细内容)</string>
<string name="The_flow_order_number_format_is_incorrect">流转单号格式不正确</string>
</resources>

Loading…
Cancel
Save