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. 144
      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 //noinspection ExpiredTargetSdkVersion
targetSdkVersion 29 targetSdkVersion 29
versionCode 1 versionCode 1
versionName "1.0.2"
versionName "1.0.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk { ndk {
abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' 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, "editExp": 0,
"values": [], "values": [],
"mast": false, "mast": false,
"canChange": true,
"canChange": false,
"isShow": true, "isShow": true,
"isFocus": false, "isFocus": false,
"language": { "language": {

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

@ -16,9 +16,8 @@
"th": "ใช้เวลา" "th": "ใช้เวลา"
} }
}, },
{ {
"id": 4,
"id": 2,
"type": 2, "type": 2,
"fieldName": "AUFNR", "fieldName": "AUFNR",
"name": "工单号", "name": "工单号",
@ -35,6 +34,40 @@
"th": "หมายเลขหน้า" "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, "id": 5,
"type": 2, "type": 2,
@ -53,7 +86,7 @@
} }
}, },
{ {
"id": 3,
"id": 6,
"type": 1, "type": 1,
"fieldName": "lgort", "fieldName": "lgort",
"name": "库存地点", "name": "库存地点",
@ -70,7 +103,7 @@
} }
}, },
{ {
"id": 6,
"id": 7,
"type": 2, "type": 2,
"fieldName": "MATNR", "fieldName": "MATNR",
"name": "物料号", "name": "物料号",
@ -87,7 +120,7 @@
} }
}, },
{ {
"id": 7,
"id": 8,
"type": 2, "type": 2,
"fieldName": "ZXTPC", "fieldName": "ZXTPC",
"name": "箱号", "name": "箱号",
@ -104,7 +137,7 @@
} }
}, },
{ {
"id": 8,
"id": 9,
"type": 2, "type": 2,
"fieldName": "ZPC", "fieldName": "ZPC",
"name": "批次", "name": "批次",
@ -121,7 +154,7 @@
} }
}, },
{ {
"id": 9,
"id": 10,
"type": 2, "type": 2,
"fieldName": "quantity", "fieldName": "quantity",
"name": "数量", "name": "数量",
@ -136,5 +169,22 @@
"en": "quantity", "en": "quantity",
"th": "จำนวน" "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: For example:
<version value="1" /> <version value="1" />
--> -->
<version value="14" />
<version value="18" />
<!-- <!--
Define your models in the list with mapping tag, LitePal will Define your models in the list with mapping tag, LitePal will
create tables for each mapping class. The supported fields 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.ProReqDetailBean" />
<mapping class="com.techscan.wk.model.FlowOrderDetailBean" /> <mapping class="com.techscan.wk.model.FlowOrderDetailBean" />
<mapping class="com.techscan.wk.model.FlowReportWorkDetailBean" /> <mapping class="com.techscan.wk.model.FlowReportWorkDetailBean" />
<mapping class="com.techscan.wk.model.FlowReportWorkProOrderBean" />
</list> </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 lgort;//库存地点
private String lgortName;//库存地点 private String lgortName;//库存地点
public String getZboxid() { public String getZboxid() {
return zboxid; 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); DynamicFormBean bean = dynamicFormBeans.get(j);
if (bean.getFieldName().equals("lgort") || if (bean.getFieldName().equals("lgort") ||
bean.getFieldName().equals("AUFNR") || bean.getFieldName().equals("AUFNR") ||
bean.getFieldName().equals("ZGWH") ||
bean.getFieldName().equals("ZCJBM") ||
bean.getFieldName().equals("ZLYSJ")) { bean.getFieldName().equals("ZLYSJ")) {
continue; continue;
} else { } else {
@ -302,6 +304,12 @@ public class ProReqActivity extends CommonFunctionActivity {
} }
query(value); query(value);
break; break;
case "ZCJBM":
setNextFocus("ZGWH");
break;
case "ZGWH":
setNextFocus("barcode");
break;
case "barcode": case "barcode":
if (LitePal.count(ProReqOrdeTaskBean.class) == 0) { if (LitePal.count(ProReqOrdeTaskBean.class) == 0) {
showError(getString(R.string.Please_scan_the_ticket_number_first)); showError(getString(R.string.Please_scan_the_ticket_number_first));
@ -322,12 +330,12 @@ public class ProReqActivity extends CommonFunctionActivity {
return; 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); getBarcodeInfo(value);
break; break;
@ -379,6 +387,10 @@ public class ProReqActivity extends CommonFunctionActivity {
d.setValue(bean.getQuantity()); d.setValue(bean.getQuantity());
d.setFocus(true); d.setFocus(true);
break; break;
case "erfme"://单位
d.setValue(proReqOrdeTaskBeans.get(0).getMeins());
d.setFocus(true);
break;
default: default:
d.setFocus(false); d.setFocus(false);
break; break;
@ -387,7 +399,7 @@ public class ProReqActivity extends CommonFunctionActivity {
dynamicFormAdapter.setList(dynamicFormBeans); dynamicFormAdapter.setList(dynamicFormBeans);
dynamicFormAdapter.notifyDataSetChanged(); dynamicFormAdapter.notifyDataSetChanged();
boolean aBoolean = PreferencesUtil.getBoolean(context, AppConst.SCAN_ADD_DETAIL,true);
boolean aBoolean = PreferencesUtil.getBoolean(context, AppConst.SCAN_ADD_DETAIL, true);
if (aBoolean) { if (aBoolean) {
new Handler().postDelayed(new Runnable() { new Handler().postDelayed(new Runnable() {
@Override @Override
@ -419,7 +431,7 @@ public class ProReqActivity extends CommonFunctionActivity {
qmuiTipDialog.setCancelable(false); qmuiTipDialog.setCancelable(false);
qmuiTipDialog.setCanceledOnTouchOutside(false); qmuiTipDialog.setCanceledOnTouchOutside(false);
qmuiTipDialog.show(); qmuiTipDialog.show();
setNextFocus("barcode");
setNextFocus("ZCJBM");
for (int i = 0; i < item.size(); i++) { for (int i = 0; i < item.size(); i++) {
ProReqOrdeTaskBean taskBean = item.get(i); ProReqOrdeTaskBean taskBean = item.get(i);
taskBean.setRowid(System.currentTimeMillis()); taskBean.setRowid(System.currentTimeMillis());
@ -453,12 +465,15 @@ public class ProReqActivity extends CommonFunctionActivity {
private void addDetail() { private void addDetail() {
DynamicFormBean ZLYSJItem = dynamicFormAdapter.getItemByFieldName("ZLYSJ");//领用时间 DynamicFormBean ZLYSJItem = dynamicFormAdapter.getItemByFieldName("ZLYSJ");//领用时间
DynamicFormBean ZCJBMItem = dynamicFormAdapter.getItemByFieldName("ZCJBM");//车间编码
DynamicFormBean ZGWHItem = dynamicFormAdapter.getItemByFieldName("ZGWH");//工位号
DynamicFormBean lgortItem = dynamicFormAdapter.getItemByFieldName("lgort");//库存地点 DynamicFormBean lgortItem = dynamicFormAdapter.getItemByFieldName("lgort");//库存地点
DynamicFormBean barcodeItem = dynamicFormAdapter.getItemByFieldName("barcode");//条码 DynamicFormBean barcodeItem = dynamicFormAdapter.getItemByFieldName("barcode");//条码
DynamicFormBean MATNRItem = dynamicFormAdapter.getItemByFieldName("MATNR");//物料编码 DynamicFormBean MATNRItem = dynamicFormAdapter.getItemByFieldName("MATNR");//物料编码
DynamicFormBean ZXTPCItem = dynamicFormAdapter.getItemByFieldName("ZXTPC");//箱号 DynamicFormBean ZXTPCItem = dynamicFormAdapter.getItemByFieldName("ZXTPC");//箱号
DynamicFormBean ZPCItem = dynamicFormAdapter.getItemByFieldName("ZPC");//批次 DynamicFormBean ZPCItem = dynamicFormAdapter.getItemByFieldName("ZPC");//批次
DynamicFormBean quantityItem = dynamicFormAdapter.getItemByFieldName("quantity");//数量 DynamicFormBean quantityItem = dynamicFormAdapter.getItemByFieldName("quantity");//数量
DynamicFormBean erfmeItem = dynamicFormAdapter.getItemByFieldName("erfme");//单位
if (LitePal.count(ProReqOrdeTaskBean.class) == 0) { if (LitePal.count(ProReqOrdeTaskBean.class) == 0) {
showError(getString(R.string.Please_scan_the_ticket_number_first)); showError(getString(R.string.Please_scan_the_ticket_number_first));
@ -519,12 +534,12 @@ public class ProReqActivity extends CommonFunctionActivity {
detailBean.setTaskRowId(bean.getRowid()); detailBean.setTaskRowId(bean.getRowid());
detailBean.setGid(gid); detailBean.setGid(gid);
detailBean.setAufnr(bean.getAufnr()); detailBean.setAufnr(bean.getAufnr());
detailBean.setErfme(bean.getErfme());
detailBean.setErfme(bean.getMeins());
detailBean.setErfmg(scanQuantity); detailBean.setErfmg(scanQuantity);
detailBean.setMatnr(bean.getMatnr()); detailBean.setMatnr(bean.getMatnr());
detailBean.setWerks(proReqOrderBean != null ? proReqOrderBean.getDwerk() : ""); detailBean.setWerks(proReqOrderBean != null ? proReqOrderBean.getDwerk() : "");
detailBean.setZcjbm("");
detailBean.setZgwh("");
detailBean.setZcjbm(ZCJBMItem.getValue());
detailBean.setZgwh(ZGWHItem.getValue());
detailBean.setZitemo(bean.getRspos()); detailBean.setZitemo(bean.getRspos());
detailBean.setZlysj(ZLYSJItem.getValue()); detailBean.setZlysj(ZLYSJItem.getValue());
detailBean.setZboxid(ZXTPCItem.getValue()); detailBean.setZboxid(ZXTPCItem.getValue());
@ -557,6 +572,8 @@ public class ProReqActivity extends CommonFunctionActivity {
for (int i = 0; i < dynamicFormBeans.size(); i++) { for (int i = 0; i < dynamicFormBeans.size(); i++) {
DynamicFormBean dynamicFormBean = dynamicFormBeans.get(i); DynamicFormBean dynamicFormBean = dynamicFormBeans.get(i);
if (dynamicFormBean.getFieldName().equals("AUFNR") || if (dynamicFormBean.getFieldName().equals("AUFNR") ||
dynamicFormBean.getFieldName().equals("ZGWH") ||
dynamicFormBean.getFieldName().equals("ZCJBM") ||
dynamicFormBean.getFieldName().equals("ZLYSJ")) { dynamicFormBean.getFieldName().equals("ZLYSJ")) {
continue; continue;
} }

144
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.DynamicFormBean;
import com.techscan.wk.model.FlowOrderDetailBean; import com.techscan.wk.model.FlowOrderDetailBean;
import com.techscan.wk.model.FlowReportWorkDetailBean; import com.techscan.wk.model.FlowReportWorkDetailBean;
import com.techscan.wk.model.FlowReportWorkProOrderBean;
import com.techscan.wk.model.ReportWorkDetailBean; import com.techscan.wk.model.ReportWorkDetailBean;
import com.techscan.wk.rxbus.Event; import com.techscan.wk.rxbus.Event;
import com.techscan.wk.rxbus.RxBus; import com.techscan.wk.rxbus.RxBus;
@ -292,7 +293,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
if (rvUiHaveData() || count > 0 || detailCount > 0) { if (rvUiHaveData() || count > 0 || detailCount > 0) {
new QMUIDialog.MessageDialogBuilder(context).setTitle(getResources().getString(R.string.tips_title)) new QMUIDialog.MessageDialogBuilder(context).setTitle(getResources().getString(R.string.tips_title))
.setCancelable(false) .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.cancel_info), (dialog1, index) -> dialog1.dismiss())
.addAction(getResources().getString(R.string.confirm_info), (dialog1, index) -> { .addAction(getResources().getString(R.string.confirm_info), (dialog1, index) -> {
dialog1.dismiss(); dialog1.dismiss();
@ -348,20 +349,20 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
String value = dynamicFormBean.getValue(); String value = dynamicFormBean.getValue();
switch (dynamicFormBean.getFieldName()) { switch (dynamicFormBean.getFieldName()) {
case "AUFNR": 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; // 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; break;
case "FlowOrder": case "FlowOrder":
DynamicFormBean AUFNRItem = dynamicFormAdapter.getItemByFieldName("AUFNR"); DynamicFormBean AUFNRItem = dynamicFormAdapter.getItemByFieldName("AUFNR");
@ -370,7 +371,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
// return; // return;
// } // }
scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
DynamicFormBean scanRuleItem = dynamicFormAdapter.getItemByFieldName("ScanRule");
if (TextUtils.isEmpty(scanRuleItem.getValue())) { if (TextUtils.isEmpty(scanRuleItem.getValue())) {
dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId()); dynamicFormAdapter.setFocusAndClearValueById(dynamicFormBean.getId());
showError(getString(R.string.Select_a_scan_rule_first)); showError(getString(R.string.Select_a_scan_rule_first));
@ -382,29 +383,29 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
return; 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) { if (value.startsWith("T") && value.length() > 9) {
int t = value.indexOf("T"); int t = value.indexOf("T");
String substring = value.substring(t + 1, 9);
String workOrder = value.substring(t + 1, 9);
String aufnrItemValue = AUFNRItem.getValue(); String aufnrItemValue = AUFNRItem.getValue();
if (TextUtils.isEmpty(aufnrItemValue)) { if (TextUtils.isEmpty(aufnrItemValue)) {
AUFNRItem.setValue(substring);
AUFNRItem.setValue(workOrder);
AUFNRItem.setCanChange(false); AUFNRItem.setCanChange(false);
LitePal.deleteAll(FlowReportWorkProOrderBean.class);
query(workOrder, value, scanRuleItem, dynamicFormBean);
dynamicFormAdapter.setItemByFieldName(AUFNRItem.getFieldName(), AUFNRItem); dynamicFormAdapter.setItemByFieldName(AUFNRItem.getFieldName(), AUFNRItem);
dynamicFormAdapter.notifyDataSetChanged(); dynamicFormAdapter.notifyDataSetChanged();
} else { } else {
if (!substring.equals(aufnrItemValue)) {
if (!workOrder.equals(aufnrItemValue)) {
ToastUtils.showLong(R.string.order_number_in_the_flow_order_is_inconsistent); ToastUtils.showLong(R.string.order_number_in_the_flow_order_is_inconsistent);
dynamicFormAdapter.setFocusById(dynamicFormBean.getId()); dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return; return;
}
}
}
if (TextUtils.isEmpty(scanRuleItem.getValue())) {
setNextFocus(dynamicFormBean.getFieldName());
showError(getString(R.string.Select_a_scan_rule_first));
return;
}
} else {
if (scanRuleItem.getValue().equals(items[1])) { if (scanRuleItem.getValue().equals(items[1])) {
LitePal LitePal
.where("flowOrder = ?", value) .where("flowOrder = ?", value)
@ -429,6 +430,16 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
dynamicFormAdapter.notifyDataSetChanged(); dynamicFormAdapter.notifyDataSetChanged();
setNextFocus("PacketBarcode"); setNextFocus("PacketBarcode");
} }
}
}
} else {
ToastUtils.showLong(R.string.The_flow_order_number_format_is_incorrect);
dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return;
}
break; break;
case "PacketBarcode": case "PacketBarcode":
if (TextUtils.isEmpty(value)) { if (TextUtils.isEmpty(value)) {
@ -467,7 +478,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
dynamicFormAdapter.setFocusById(dynamicFormBean.getId()); dynamicFormAdapter.setFocusById(dynamicFormBean.getId());
return; return;
} }
getBarcodeInfo(value);
getBarcodeInfo(value, dynamicFormBean);
break; break;
//报工数量 //报工数量
case "GMNGA": case "GMNGA":
@ -541,6 +552,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setAufnr(aufnrItem.getValue()); bean.setAufnr(aufnrItem.getValue());
bean.setVornr(""); bean.setVornr("");
bean.setZxtpc(ZXTPCItem.getValue()); bean.setZxtpc(ZXTPCItem.getValue());
bean.setZpc(ZPCItem.getValue());
bean.setFlowOrders(flowOrderItem.getValue()); bean.setFlowOrders(flowOrderItem.getValue());
bean.setFlowOrders(flowOrderSb.substring(0, flowOrderSb.length() - 1)); bean.setFlowOrders(flowOrderSb.substring(0, flowOrderSb.length() - 1));
bean.setPacketBarcode(barcode); bean.setPacketBarcode(barcode);
@ -575,6 +587,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
bean.setAufnr(aufnrItem.getValue()); bean.setAufnr(aufnrItem.getValue());
bean.setVornr(""); bean.setVornr("");
bean.setZxtpc(ZXTPCItem.getValue()); bean.setZxtpc(ZXTPCItem.getValue());
bean.setZpc(ZPCItem.getValue());
bean.setFlowOrders(flowOrderItem.getValue()); bean.setFlowOrders(flowOrderItem.getValue());
bean.setPacketBarcode(barcode); bean.setPacketBarcode(barcode);
bean.setGmnga(gmngaItem.getValue()); bean.setGmnga(gmngaItem.getValue());
@ -597,8 +610,76 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
} }
private void getBarcodeInfo(String value) {
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");
}
}
@Override
protected void onFailure(Throwable e) throws Exception {
setNextFocus("FlowOrder");
SoundUtils.playSound(FlowReportWorkActivity.this, R.raw.warning);
CustomErrorDialog(e, FlowReportWorkActivity.this);
}
});
}
private void getBarcodeInfo(String value, DynamicFormBean dynamicFormBean) {
AnalysisBarBean bean = BarAnalysisUtils.analysisBarcode(value); 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) { for (DynamicFormBean d : dynamicFormBeans) {
switch (d.getFieldName()) { switch (d.getFieldName()) {
case "MATNR"://物料号 case "MATNR"://物料号
@ -631,6 +712,8 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
} }
}, 300); }, 300);
});
} }
@ -802,7 +885,7 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
} }
switch (selectDynamicFormBean.getFieldName()) { switch (selectDynamicFormBean.getFieldName()) {
case "PacketBarcode": case "PacketBarcode":
getBarcodeInfo(scanResult);
getBarcodeInfo(scanResult, selectDynamicFormBean);
break; break;
} }
} }
@ -847,6 +930,9 @@ public class FlowReportWorkActivity extends CommonFunctionActivity {
if (LitePal.count(FlowOrderDetailBean.class) > 0) { if (LitePal.count(FlowOrderDetailBean.class) > 0) {
LitePal.deleteAll(FlowOrderDetailBean.class); LitePal.deleteAll(FlowOrderDetailBean.class);
} }
if (LitePal.count(FlowReportWorkProOrderBean.class) > 0) {
LitePal.deleteAll(FlowReportWorkProOrderBean.class);
}
} }
@Override @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_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="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="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> </resources>

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

@ -167,5 +167,8 @@
<string name="Material_number">หมายเลขวัสดุ</string> <string name="Material_number">หมายเลขวัสดุ</string>
<string name="dialog_The_quantity_cannot_be_empty">ไม่สามารถว่า งได้</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="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> </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_quantity_cannot_be_empty">数量不可为空</string>
<string name="dialog_The_value_cannot_be_0_or_less_than_0">数量不能为0或小于0</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> </resources>

Loading…
Cancel
Save