修改入库界面以及调拨出库逻辑

asv2022.3.1
杨万里 2 days ago
parent 118cf21ea4
commit 790dc3a4f1

@ -37,7 +37,9 @@ import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.pda.serialport.Tools;
@ -89,7 +91,15 @@ public class InStoreHouseActivity extends AllBaseActivity implements AdapterView
private List<TyreSizeVo> patternSize;
// === 广播接收器 (保持不变) ===
private KeyReceiver keyReceiver;
private static final String[] TYRE_TYPE_CODES = {"new", "circulating", "renovate", "experimental", "scrap"};
private Map<String,String> tyreTypeMap = new HashMap<>();
private void initTyreTypeMap() {
tyreTypeMap.put("全新胎", "new");
tyreTypeMap.put("周转胎", "circulating");
tyreTypeMap.put("翻新胎", "renovate");
tyreTypeMap.put("实验胎", "experimental");
tyreTypeMap.put("报废胎", "scrap");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -102,7 +112,7 @@ public class InStoreHouseActivity extends AllBaseActivity implements AdapterView
binding.back.setOnClickListener(view -> {
finish();
});
initTyreTypeMap();
EPC=binding.EPC;
wtbm=binding.wtbm;
wtbm.requestFocus();
@ -295,6 +305,12 @@ public class InStoreHouseActivity extends AllBaseActivity implements AdapterView
String kind = spinnerkind.getSelectedItem() != null ?
spinnerkind.getSelectedItem().toString() : selectedKind;
String kindCode = tyreTypeMap.get(kind);
if (kindCode == null) {
kindCode = "new"; // 设置默认值或报错
Toast.makeText(this, "轮胎类型选择错误", Toast.LENGTH_SHORT).show();
return;
}
String grooves = spinnergcts.getSelectedItem() != null ?
spinnergcts.getSelectedItem().toString() : selectedGcts;
@ -318,7 +334,7 @@ public class InStoreHouseActivity extends AllBaseActivity implements AdapterView
.params("tyreLevel", level)
.params("tyrePattern", pattern)
.params("grooves", grooves)
.params("tyreType", kind)
.params("tyreType", kindCode)
.params("patternDepth", depthStr)
.params("CreateBy", SharedPreferencesUtils.getstring("user", "admin"))
.execute(new StringCallback() {
@ -373,14 +389,12 @@ public class InStoreHouseActivity extends AllBaseActivity implements AdapterView
try {
Gson gson = new Gson();
InStoreSpinnerVo vo = gson.fromJson(response.body(), InStoreSpinnerVo.class);
// 设置 Adapter (逻辑保持不变)
setAdapter(spinnerkind, vo.getKindList());
// setAdapter(spinnerkind, vo.getKindList());
setAdapter(spinnerpattern, vo.getPatternList());
setAdapter(spinnerlevel, vo.getLevelList());
setAdapter(spinnergcts, vo.getGctsList());
setAdapter(spinnerBrand, vo.getTyreBrandList());
// 特殊处理:型号 (需要处理 Label/Value)
List<String> sizeLabels = new ArrayList<>();
// if (vo.getTyreSizeList() != null) {

@ -12,6 +12,7 @@ import android.util.Log;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.databinding.ObservableBoolean;
import com.android.hdhe.uhf.reader.UhfReader;
@ -44,6 +45,7 @@ public class OutStoreHouseActivity extends AppCompatActivity {
TextView huawen;
TextView wtbm;
TextView ltlb;
long lastTime;
long nextTime;
private ActivityOutStoreHouseBinding binding;
@ -56,7 +58,9 @@ public class OutStoreHouseActivity extends AppCompatActivity {
private ArrayList<String> listepc = new ArrayList<String>();
private KeyReceiver keyReceiver;
private ObservableBoolean aType;
private static final int STATE_IDLE = 0; // 空闲状态,可扫描
private static final int STATE_LOCKED = 1; // 锁定状态,禁止下拉
private int currentSpinnerState = STATE_IDLE;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -84,6 +88,7 @@ public class OutStoreHouseActivity extends AppCompatActivity {
cengji = binding.cengji;
huawen = binding.huawen;
wtbm = binding.wtbm;
ltlb = binding.ltlb;
}
private void setupClickListeners() {
@ -179,16 +184,19 @@ public class OutStoreHouseActivity extends AppCompatActivity {
nextTime = lastTime;
Log.e("TAG", "run: " + time);
}
}
});
hideLoadingDialog();
Log.e("EPC", "listepc:+ " + listepc);
if (listepc != null && !listepc.isEmpty()) {
startFlag = false;
scan.setText(listepc.get(0).toString());
showLoadingDialog();
find(listepc.get(0).toString());
}
clearData();
}
});
}
private void clearData() {
listEPC.removeAll(listEPC);
@ -203,6 +211,7 @@ public class OutStoreHouseActivity extends AppCompatActivity {
@Override
public void onSuccess(Response<String> response) {
String body = response.body();
hideLoadingDialog();
try {
Gson gson = new Gson();
BaseTyre baseTyre = gson.fromJson(body, BaseTyre.class);
@ -214,7 +223,8 @@ public class OutStoreHouseActivity extends AppCompatActivity {
String size = safeGetString(baseTyre.getTyreModel());
String level = safeGetString(baseTyre.getTyreLevel());
String pattern = safeGetString(baseTyre.getTyrePattern());
String kind = safeGetString(baseTyre.getTyreType());
String kind = getTyreType(safeGetString(baseTyre.getTyreType()));
String deptId = safeGetString(baseTyre.getDeptId());
pinpai.setText(brand);
wtbm.setText(tyreno);
// zbh.setText(zb);
@ -222,6 +232,22 @@ public class OutStoreHouseActivity extends AppCompatActivity {
cengji.setText(level);
huawen.setText(pattern);
ltlb.setText(kind);
String deptNameFromServer = safeGetString(baseTyre.getDeptName()); // 或者 getFactorySite()
String[] siteArray = getResources().getStringArray(R.array.zxzd);
// 遍历数组,寻找与服务器返回数据匹配的站点名称
// 这里假设 baseTyre 返回的是站点名称(如 "光明修理厂"
// 如果返回的是 ID如 200则需要先通过 getDeptId() 反查名称,或者直接根据 ID 逻辑处理
int targetIndex = 0; // 默认选中第一个
for (int i = 0; i < siteArray.length; i++) {
if (siteArray[i].equals(deptNameFromServer)) {
targetIndex = i;
break;
}
}
binding.outStoreSiteNow.setSelection(targetIndex);
binding.outStoreSiteNow.setBackground(ContextCompat.getDrawable(OutStoreHouseActivity.this, R.drawable.bg_textview_plain));
binding.outStoreSiteNow.setEnabled(false);
currentSpinnerState = STATE_LOCKED;
} else {
new CommonDialog(OutStoreHouseActivity.this).setMessage("轮胎不存在!").show();
}
@ -277,7 +303,21 @@ public class OutStoreHouseActivity extends AppCompatActivity {
}
return 209;
}
public String getTyreType(String type) {
if (type.equals("circulating")) {
return "周转胎";
}
else if (type.equals("renovate")) {
return "翻新胎";
}
else if (type.equals("experimental")) {
return "实验胎";
}
else if (type.equals("scrap")) {
return "报废胎";
}
return "全新胎";
}
/**
* Inventory EPC Thread
*/

@ -34,6 +34,7 @@ public class BaseTyre
private String tyreLevel;
/** 轮胎花纹 */
private String tyrePattern;
@ -42,8 +43,8 @@ public class BaseTyre
/** 所属车队 */
private String team;
private String deptId;
private String deptName;
private String carNo;
private String wheelPostion;
@ -54,6 +55,22 @@ public class BaseTyre
private String pressure;
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getPressure() {
return pressure;
}

@ -0,0 +1,6 @@
<!-- res/drawable/bg_textview_plain.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/white" /> <!-- 背景色,根据你的主题调整 -->
<corners android:radius="4dp" /> <!-- 圆角,根据你的 bg_select_grey 样式调整 -->
<stroke android:width="1dp" android:color="#DDDDDD" /> <!-- 边框颜色 -->
</shape>

@ -279,6 +279,7 @@
android:layout_height="48dp"
android:background="@drawable/rounded_input_bg"
android:paddingStart="12dp"
android:entries="@array/tyreType"
android:spinnerMode="dropdown" />
</LinearLayout>
</LinearLayout>

@ -204,7 +204,26 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
style="@style/layout_t12_s8_style"
android:layout_width="match_parent"
android:layout_height="45dp">
<TextView
style="@style/alltext"
android:layout_width="90dp"
android:layout_height="match_parent"
android:text="当前站点:" />
<Spinner
android:id="@+id/out_store_site_now"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@drawable/bg_select_grey"
android:entries="@array/zxzd"
android:paddingStart="12dp" />
</LinearLayout>
<LinearLayout
style="@style/layout_t12_s8_style"
android:layout_width="match_parent"

@ -36,7 +36,17 @@
<item>一分公司修理厂</item>
<item>光明修理厂</item>
<item>石岩修理厂</item>
<item>运维部门</item>
</string-array>
<string-array name="tyreType">
<item>全新胎</item>
<item>周转胎</item>
<item>翻新胎</item>
<item>实验胎</item>
<item>报废胎</item>
</string-array>
<string-array name="work_type">
<item>二级保养</item>
<item>小修</item>

Loading…
Cancel
Save