From 4a08a468a9c68199772665dd0e63347e1016c1d8 Mon Sep 17 00:00:00 2001 From: wanghao Date: Wed, 29 Apr 2026 18:30:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E9=87=8C=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../java/com/example/tyre/UpActivity.java | 32 ++- .../maintenance/CreateWorkOrderActivity.java | 10 +- .../tyre/maintenance/WorkExecuteActivity.java | 184 +++++++++++------- .../tyre/maintenance/WorkOrderActivity.java | 3 +- .../tyre/maintenance/been/BaseTyre.java | 22 ++- .../maintenance/been/BizOrderTireDetail.java | 7 + .../maintenance/dialog/TireChangeDialog.java | 16 +- .../maintenance/dialog/TireUpdateDialog.java | 72 ++++--- .../java/com/example/tyre/util/MyUrl.java | 3 +- app/src/main/res/layout/activity_up.xml | 2 + .../main/res/layout/activity_work_execute.xml | 8 + .../main/res/layout/dialog_tire_change.xml | 12 +- .../main/res/layout/dialog_tire_update.xml | 27 +-- 14 files changed, 272 insertions(+), 130 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4667ad0..77bbc6f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.example.tyre" minSdk 26 targetSdk 34 - versionCode 4 - versionName "3.1" + versionCode 5 + versionName "3.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/example/tyre/UpActivity.java b/app/src/main/java/com/example/tyre/UpActivity.java index 018f958..13f5eb6 100644 --- a/app/src/main/java/com/example/tyre/UpActivity.java +++ b/app/src/main/java/com/example/tyre/UpActivity.java @@ -36,6 +36,8 @@ import com.lzy.okgo.request.base.Request; import java.lang.ref.WeakReference; import java.util.*; import cn.pda.serialport.Tools; +import okhttp3.MediaType; +import okhttp3.RequestBody; public class UpActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { @@ -81,6 +83,8 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS String min = "EC0001012026010100000001"; // 左边界(包含) String max = "EC0001012026010100100000"; // 右边界(包含) + private int startPosition=0; + private List locationList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -115,6 +119,22 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS // 默认显示加载框(如果需要预加载数据) // showLoadingDialog(); + + Intent intent=getIntent(); + boolean dataType = intent.getBooleanExtra("dataType", false); + locationList=new ArrayList<>(Arrays.asList("左前轮","右前轮","右内轮","右外轮","左内轮","左外轮")); + if (dataType){ + String location = intent.getStringExtra("location"); + + startPosition = locationList.indexOf(location); + + String carNo = intent.getStringExtra("carNo"); + carEdit.setText(carNo); ; + String licheng = intent.getStringExtra("licheng"); + startEdit.setText(licheng); ; + } + + } private void initViews() { @@ -262,7 +282,7 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS .params("wheelPostion", wheel) .params("selfNo", selfNo) .params("patternDepth", patternDepth) - .params("CreateBy", SharedPreferencesUtils.getstring("user", "admin")) + .params("createBy", SharedPreferencesUtils.getstring("user", "admin")) .execute(new StringCallback() { @Override public void onSuccess(Response response) { @@ -285,7 +305,7 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS } }); } - + public MediaType JSON = MediaType.parse("application/json; charset=utf-8"); /** * 根据车牌号查询车辆信息 * 对应之前的 car_spinner 逻辑 @@ -298,12 +318,14 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS new CommonDialog(UpActivity.this).setMessage("车牌号不能为空!").show(); return; } - + Map map = new HashMap<>(); + map.put("carNo", carNo); // 2. 发起网络请求 // 接口说明:通常调用车辆查询接口,传入车牌号 OkGo.post(MyUrl.url + "/tyre/car/PdaQueryCarList") // 注意:这是根据车牌查询的接口,区别于之前的 RFID 查询 .tag(this) - .params("carNo", carNo) // 传递车牌号参数 + // .params("carNo", carNo) // 传递车牌号参数 + .upRequestBody(RequestBody.create(JSON, new Gson().toJson(map))) .execute(new StringCallback() { @Override public void onSuccess(Response response) { @@ -635,7 +657,7 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS // 绑定到 Spinner conditionSpinner.setAdapter(adapter); - + conditionSpinner.setSelection(startPosition); } catch (JsonSyntaxException e) { e.printStackTrace(); showErrorDialog("轮位数据解析失败"); diff --git a/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java index 2ca82b5..e80f6ae 100644 --- a/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java +++ b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java @@ -91,7 +91,7 @@ public class CreateWorkOrderActivity extends BaseActivity { isSearch = false; BaseCar baseCar = baseCarList.get(position); submitMap.put("vehicleId", baseCar.getId()); - submitMap.put("orderType", "1" ); + submitMap.put("orderType", "1"); String carNo = baseCar.getCarNo(); submitMap.put("plateNumber", carNo); binding.createWorkCarNo.setText(carNo); @@ -113,7 +113,7 @@ public class CreateWorkOrderActivity extends BaseActivity { typeTitle = getIntent().getStringExtra("title"); - binding.setTypeCode(typeTitle);//传入页面控制显示轮胎还是车牌 + binding.setTypeCode(typeTitle);// 传入页面控制显示轮胎还是车牌 // 显示类型选择器 if (typeTitle != null) { List typeList = Arrays.asList(getResources().getStringArray(R.array.work_type)); @@ -132,7 +132,7 @@ public class CreateWorkOrderActivity extends BaseActivity { OkGo.post(MyUrl.url + "/tyre/car/PdaQueryCarList").tag(this) .upRequestBody(RequestBody.create(JSON, gson.toJson(map))) - .params("carNo", carNo).execute(new MyRecultCall(dialog, this) { + .execute(new MyRecultCall(dialog, this) { @Override public void onSuccess(Response response) { super.onSuccess(response); @@ -165,7 +165,7 @@ public class CreateWorkOrderActivity extends BaseActivity { public void generateWorkOrder(View view) { Object vehicleId = submitMap.get("vehicleId"); - if ( vehicleId == null) { + if (vehicleId == null) { tipDialog.show(false, null, "请先选择车辆/轮胎", false); return; } @@ -219,7 +219,7 @@ public class CreateWorkOrderActivity extends BaseActivity { // wtbm.setText(safeGetString(baseTyre.getTyreNo())); submitMap.put("vehicleId", baseTyre.getTyreId()); submitMap.put("plateNumber", baseTyre.getTyreNo()); - submitMap.put("orderType", "2" ); + submitMap.put("orderType", "2"); return; } tipDialog.show(false, null, "未查询到轮胎信息", false); diff --git a/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java b/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java index 5c2b562..ee1eec5 100644 --- a/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java +++ b/app/src/main/java/com/example/tyre/maintenance/WorkExecuteActivity.java @@ -38,10 +38,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; -public class WorkExecuteActivity extends BaseActivity { +import okhttp3.RequestBody; + +public class WorkExecuteActivity extends BaseActivity implements TireUpdateDialog.TireUpdateDialogSaveListener { private ActivityWorkExecuteBinding binding; private Map tyreMap; + private Map infoMap; private TireUpdateDialog tireUpdateDialog;// 点击轮胎弹窗 private Map orderSubmitMap; private List tireDetails; @@ -51,6 +55,8 @@ public class WorkExecuteActivity extends BaseActivity { private String epcTag = "";// 屏蔽重复查询 private String carNo; private ActivityResultLauncher launcher; + private boolean orderState;// 工单状态 + private Order order; @Override protected void onCreate(Bundle savedInstanceState) { @@ -58,68 +64,30 @@ public class WorkExecuteActivity extends BaseActivity { binding = DataBindingUtil.setContentView(this, R.layout.activity_work_execute); initRFID(); Intent intent = getIntent(); + infoMap = new HashMap<>(); + // 订单状态 + orderState = intent.getBooleanExtra("orderState", false); + binding.setOrderState(orderState); carNo = intent.getStringExtra("carNo"); binding.setCarNo(carNo); tyreMap = new HashMap<>(); - selectCarNo(carNo); + // selectCarNo(carNo); selectTire(carNo); orderSubmitMap = new HashMap<>(); - Order order = gson.fromJson(intent.getStringExtra("json"), Order.class); + order = gson.fromJson(intent.getStringExtra("json"), Order.class); orderSubmitMap.put("order", order); tireDetails = new ArrayList<>(); fileList = new ArrayList<>(); orderSubmitMap.put("tireDetails", tireDetails); binding.setSite(intent.getStringExtra("site")); binding.setDate(intent.getStringExtra("maintainDate")); - tireUpdateDialog = new TireUpdateDialog(this, new TireUpdateDialog.TireUpdateDialogSaveListener() { - @Override - public void onSave(BizOrderTireDetail bizOrderTireDetail, File image, boolean isupdate, BizOrderTireDetail newTireDetail) { - // 返回轮胎信息 - bizOrderTireDetail.setOrderId(order.getOrderId()); - tireDetails.add(bizOrderTireDetail); - if (image != null) { - fileList.add(image); - } - tireUpdateDialog.dismiss(); - if (isupdate) { - // 换新胎 - tireDetails.add(newTireDetail); - BaseTyre baseTyre = newTireDetail.getBaseTyre(); - String positionName = newTireDetail.getPositionName(); - tyreMap.put(positionName, baseTyre); - initTire(positionName, baseTyre);// 页面信息修改 - up_insert(baseTyre.getTyreEpc(), carNo,binding.workLicheng.getText().toString(), positionName, baseTyre.getSelfNo()); - } - } - - @Override - public void onTakePhoto() { - // 拍照 - try { - teke_photo(); - } catch (Exception e) { - e.printStackTrace(); - } - - - } - - - }); + tireUpdateDialog = new TireUpdateDialog(this, this); tireClick(); tipDialog = new TipResultDialog(this, this); launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { if (result.getResultCode() == RESULT_OK) { - /* Intent data = result.getData(); - - // 返回json转换 - String json = data.getStringExtra("json"); - Log.e("TAG", "onCreate:" + json); - BaseTyre reBaseTyre = gson.fromJson(json, BaseTyre.class); - tyreMap.put(reBaseTyre.getWheelPostion(), reBaseTyre);*/ - // initTire(reBaseTyre.getWheelPostion(), reBaseTyre); selectTire(carNo); } }); @@ -127,6 +95,9 @@ public class WorkExecuteActivity extends BaseActivity { // 点击轮胎 private void tireClick() { + if (orderState) { + return; + } binding.tireClick1.layoutTireInfo.setOnClickListener(view -> { showDialog("左前轮"); }); @@ -159,10 +130,9 @@ public class WorkExecuteActivity extends BaseActivity { if (baseTyre == null) { try { if (keyReceiver != null) { - unregisterReceiver(keyReceiver); } - }catch (Exception e){ + } catch (Exception e) { } @@ -174,7 +144,9 @@ public class WorkExecuteActivity extends BaseActivity { launcher.launch(intent); } else { initKeyRecriver(this::readEPC); - tireUpdateDialog.setBaseTyre(baseTyre); + BizOrderTireDetail tag= + tireDetails.stream().filter(tire -> tire.getPositionName().equals(location)).findFirst().orElse(null); + tireUpdateDialog.setBaseTyre(baseTyre, tag); } } @@ -184,7 +156,12 @@ public class WorkExecuteActivity extends BaseActivity { OkGo.post(MyUrl.url + "/tyre/tyre/getCarBingTire").tag(this).params("carNo", carNo).execute(new StringCallback() { @Override public void onSuccess(Response response) { - + binding.setTire1(new BaseTyre()); + binding.setTire2(new BaseTyre()); + binding.setTire3(new BaseTyre()); + binding.setTire4(new BaseTyre()); + binding.setTire5(new BaseTyre()); + binding.setTire6(new BaseTyre()); baseTyreList = gson.fromJson(response.body(), new TypeToken>() { }.getType()); tireUpdateDialog.setBaseTyreList(baseTyreList); @@ -221,17 +198,14 @@ public class WorkExecuteActivity extends BaseActivity { // 初始化轮胎信息 private void initTire(String wheelPostion, BaseTyre baseTyre) { - binding.setTire1(new BaseTyre()); - binding.setTire2(new BaseTyre()); - binding.setTire3(new BaseTyre()); - binding.setTire4(new BaseTyre()); - binding.setTire5(new BaseTyre()); - binding.setTire6(new BaseTyre()); + switch (wheelPostion) { case "左前轮": + binding.setTire1(baseTyre); break; case "右前轮": + binding.setTire2(baseTyre); break; case "左外轮": @@ -252,7 +226,9 @@ public class WorkExecuteActivity extends BaseActivity { // 查询车辆信息 private void selectCarNo(String carNo) { - OkGo.post(MyUrl.url + "/tyre/car/PdaQueryCarList").tag(this).params("carNo", carNo).execute(new MyRecultCall(dialog, this) { + Map map = new HashMap<>(); + map.put("carNo", carNo); + OkGo.post(MyUrl.url + "/tyre/car/PdaQueryCarList").tag(this).upRequestBody(RequestBody.create(JSON, new Gson().toJson(map))).execute(new MyRecultCall(dialog, this) { @Override public void onSuccess(Response response) { super.onSuccess(response); @@ -294,7 +270,7 @@ public class WorkExecuteActivity extends BaseActivity { public void tekePhotoResult(String fileUrl, File file) { super.tekePhotoResult(fileUrl, file); Log.e("TAG", "拍照成功,路径是:" + fileUrl); - tireUpdateDialog.setImage(fileUrl,file); + tireUpdateDialog.setImage(fileUrl, file); } // 删除实时表、卸车记录表 @@ -311,14 +287,7 @@ public class WorkExecuteActivity extends BaseActivity { // 装车 private void up_insert(String rfid, String carNo, String millage, String wheel, String selfNo) { - OkGo.post(MyUrl.url + "/tyre/install/PdaInstallTyre").tag(this) - .params("tyreRfid", rfid) - .params("mileage", millage) - .params("carNo", carNo) - .params("wheelPostion", wheel) - .params("selfNo", selfNo) - .params("CreateBy", SharedPreferencesUtils.getstring("user", "admin")) - .execute(new StringCallback() { + OkGo.post(MyUrl.url + "/tyre/install/PdaInstallTyre").tag(this).params("tyreRfid", rfid).params("mileage", millage).params("carNo", carNo).params("wheelPostion", wheel).params("selfNo", selfNo).params("CreateBy", SharedPreferencesUtils.getstring("user", "admin")).execute(new StringCallback() { @Override public void onSuccess(Response response) { String body = response.body(); @@ -371,4 +340,87 @@ public class WorkExecuteActivity extends BaseActivity { break; } } + + @Override + public void onSave(BizOrderTireDetail bizOrderTireDetail, File image, boolean isupdate, BizOrderTireDetail newTireDetail) { + // 返回轮胎信息 + bizOrderTireDetail.setOrderId(order.getOrderId()); + infoMap.put(bizOrderTireDetail.getPositionName(), bizOrderTireDetail); + tireDetails.stream().filter(tire -> tire.getPositionName().equals(bizOrderTireDetail.getPositionName())).findFirst().ifPresent(tire -> { + tireDetails.remove(tire); + + }); + tireDetails.add(bizOrderTireDetail); + if (image != null) { + fileList.add(image); + } + tireUpdateDialog.dismiss(); + if (isupdate) { + // 换新胎 + tireDetails.add(newTireDetail); + BaseTyre baseTyre = newTireDetail.getBaseTyre(); + String positionName = newTireDetail.getPositionName(); + tyreMap.put(positionName, baseTyre); + initTire(positionName, baseTyre);// 页面信息修改 + up_insert(baseTyre.getTyreEpc(), carNo, binding.workLicheng.getText().toString(), positionName, baseTyre.getSelfNo()); + } + } + + @Override + public void onTakePhoto() { + // 拍照 + try { + teke_photo(); + } catch (Exception e) { + e.printStackTrace(); + } + + + } + + @Override + public void onChangeSave(String oldLocation, String newLocation) { + BaseTyre baseTyreOld = tyreMap.get(oldLocation); + + BaseTyre baseTyreNew = tyreMap.get(newLocation); + OkGo.post(url + "/tyre/tyre/changeTyreForOneCar") + + .params("oldTyreId", baseTyreOld.getTyreId()) + .params("newTyreId", baseTyreNew.getTyreId()) + .params("oldLocation", oldLocation) + .params("newLocation", newLocation) + .params("user", SharedPreferencesUtils.getstring("user", "admin")) + .execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + MyResult body = response.body(); + if (body.getCode() == 0) { + tyreMap.put(newLocation, baseTyreOld); + initTire(newLocation, baseTyreOld); + tyreMap.put(oldLocation, baseTyreNew); + initTire(oldLocation, baseTyreNew); + tireDetails.forEach(tireDetail -> { + if (tireDetail.getPositionName().equals(oldLocation)) { + tireDetail.setPositionName(newLocation); + } else if (tireDetail.getPositionName().equals(newLocation)) { + tireDetail.setPositionName(oldLocation); + } + }); + + + + // BizOrderTireDetail info1 = infoMap.get(newLocation); + // BizOrderTireDetail info2 = infoMap.get(oldLocation); + + + + return; + } + Toast.makeText(WorkExecuteActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show(); + } + }); + } + + } \ No newline at end of file diff --git a/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java index 6282390..7fd1ac1 100644 --- a/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java +++ b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java @@ -179,6 +179,7 @@ public class WorkOrderActivity extends BaseActivity implements OrderAdapter.Sele intent.putExtra("site", binding.workOrderSite.getText().toString()); intent.putExtra("carNo", order.getPlateNumber()); intent.putExtra("maintainDate", order.getMaintainDate()); + intent.putExtra("orderState", status.get()); intent.putExtra("json", gson.toJson(order)); startActivity(intent); } @@ -187,6 +188,6 @@ public class WorkOrderActivity extends BaseActivity implements OrderAdapter.Sele protected void onResume() { super.onResume(); binding.workOrderSite.setText(SharedPreferencesUtils.getstring("workOrderSite", "光明修理厂")); - selectWorkOrder(binding.workOrderDateStart.getText().toString(), binding.workOrderDateEnd.getText().toString(), getDeptId(binding.workOrderSite.getText().toString()), "PROCESSING"); + selectWorkOrder(binding.workOrderDateStart.getText().toString(), binding.workOrderDateEnd.getText().toString(), getDeptId(binding.workOrderSite.getText().toString()), status.get() ? "COMPLETED" : "PROCESSING"); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java b/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java index a91929f..bcf60b9 100644 --- a/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java +++ b/app/src/main/java/com/example/tyre/maintenance/been/BaseTyre.java @@ -191,5 +191,25 @@ public class BaseTyre extends BaseObservable { this.team = team; } - + @Override + public String toString() { + return "BaseTyre{" + + "tyreId=" + tyreId + + ", tyreNo='" + tyreNo + '\'' + + ", selfNo='" + selfNo + '\'' + + ", tyreEpc='" + tyreEpc + '\'' + + ", tyreBrand='" + tyreBrand + '\'' + + ", tyreModel='" + tyreModel + '\'' + + ", tyreLevel='" + tyreLevel + '\'' + + ", tyrePattern='" + tyrePattern + '\'' + + ", patternDepth='" + patternDepth + '\'' + + ", patternDepth1='" + patternDepth1 + '\'' + + ", grooves='" + grooves + '\'' + + ", tyreType='" + tyreType + '\'' + + ", team='" + team + '\'' + + ", carNo='" + carNo + '\'' + + ", wheelPostion='" + wheelPostion + '\'' + + ", deptId=" + deptId + + '}'; + } } diff --git a/app/src/main/java/com/example/tyre/maintenance/been/BizOrderTireDetail.java b/app/src/main/java/com/example/tyre/maintenance/been/BizOrderTireDetail.java index 9d319b0..a4a02c5 100644 --- a/app/src/main/java/com/example/tyre/maintenance/been/BizOrderTireDetail.java +++ b/app/src/main/java/com/example/tyre/maintenance/been/BizOrderTireDetail.java @@ -46,6 +46,7 @@ public class BizOrderTireDetail { * 胎压 */ private String tirePress; + private String tirePressOld;// 胎压(旧值) /** * 轮胎状态描述(截图中的“新胎”、“模拟数据”) @@ -55,7 +56,13 @@ public class BizOrderTireDetail { private String dataType; private BaseTyre baseTyre;//基础轮胎信息 + public String getTirePressOld() { + return tirePressOld; + } + public void setTirePressOld(String tirePressOld) { + this.tirePressOld = tirePressOld; + } public BaseTyre getBaseTyre() { return baseTyre; diff --git a/app/src/main/java/com/example/tyre/maintenance/dialog/TireChangeDialog.java b/app/src/main/java/com/example/tyre/maintenance/dialog/TireChangeDialog.java index 56196f5..e9c47bb 100644 --- a/app/src/main/java/com/example/tyre/maintenance/dialog/TireChangeDialog.java +++ b/app/src/main/java/com/example/tyre/maintenance/dialog/TireChangeDialog.java @@ -17,7 +17,6 @@ import androidx.databinding.DataBindingUtil; import com.example.tyre.R; import com.example.tyre.databinding.DialogTireChangeBinding; import com.example.tyre.maintenance.been.BaseTyre; -import com.example.tyre.maintenance.been.BizOrderTireDetail; import java.util.HashMap; import java.util.List; @@ -29,6 +28,7 @@ public class TireChangeDialog extends Dialog { private Map tyreMap; private String locationOld; private TireChangeListener tireChangeListener; + private String newLocation; public TireChangeDialog(@NonNull Context context, TireChangeListener tireChangeListener) { super(context, R.style.MyMiddleDialogStyle); @@ -36,7 +36,9 @@ public class TireChangeDialog extends Dialog { binding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.dialog_tire_change, null, false); binding.dialogTitle1.setOnClickListener(view -> dismiss()); - + binding.dialogChangeButton.setOnClickListener(view -> { + tireChangeListener. onChangeSave(locationOld,newLocation); + }); setContentView(binding.getRoot()); } @@ -50,9 +52,9 @@ public class TireChangeDialog extends Dialog { baseTyreList.forEach(tire -> { String wheelPostion = tire.getWheelPostion(); tyreMap.put(wheelPostion, tire); - if (tire.getTyreNo() == null || tire.getTyreNo().equals("")) { - tire.setTyreNo("测试标识:" + wheelPostion); - } + // if (tire.getTyreNo() == null || tire.getTyreNo().equals("")) { + // tire.setTyreNo("测试标识:" + wheelPostion); + // } initTire(wheelPostion, tire); }); @@ -89,6 +91,7 @@ public class TireChangeDialog extends Dialog { Toast.makeText(getContext(), "当前轮胎位置与选择位置相同", Toast.LENGTH_SHORT).show(); return; } + this.newLocation = location; BaseTyre baseTyre = tyreMap.get(location); BaseTyre baseTyreOld = tyreMap.get(this.locationOld); if (baseTyre == null) { @@ -102,6 +105,7 @@ public class TireChangeDialog extends Dialog { Log.e("TAG", "tireLayoutCllick:" + location + "," + baseTyreOld.toString()); Toast.makeText(getContext(), "互换成功", Toast.LENGTH_SHORT).show(); + } /** @@ -150,7 +154,7 @@ public class TireChangeDialog extends Dialog { } public interface TireChangeListener { - void onChangeSave(BizOrderTireDetail bizOrderTireDetail); + void onChangeSave(String oldLocation, String newLocation); } } diff --git a/app/src/main/java/com/example/tyre/maintenance/dialog/TireUpdateDialog.java b/app/src/main/java/com/example/tyre/maintenance/dialog/TireUpdateDialog.java index af3e8bf..d3f2f5b 100644 --- a/app/src/main/java/com/example/tyre/maintenance/dialog/TireUpdateDialog.java +++ b/app/src/main/java/com/example/tyre/maintenance/dialog/TireUpdateDialog.java @@ -1,19 +1,13 @@ package com.example.tyre.maintenance.dialog; -import android.app.Activity; import android.app.Dialog; import android.content.Context; -import android.graphics.Rect; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; import android.view.Window; import android.view.WindowManager; -import android.view.inputmethod.InputMethodManager; -import android.widget.EditText; import android.widget.Toast; import androidx.annotation.NonNull; @@ -31,7 +25,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -public class TireUpdateDialog extends Dialog { +public class TireUpdateDialog extends Dialog implements TireChangeDialog.TireChangeListener { private DialogTireUpdateBinding binding; private BaseTyre baseTyre; private ObservableBoolean isupdate; @@ -44,10 +38,13 @@ public class TireUpdateDialog extends Dialog { private List baseTyreList; private BaseTyre newBaseTyre; private Context context; + private DisposalFileAdapter disposalFileAdapter; + private List filesList; public TireUpdateDialog(@NonNull Context context, TireUpdateDialogSaveListener listener) { super(context, R.style.MyMiddleDialogStyle); this.context = context; + this.listener = listener; binding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.dialog_tire_update, null, false); isupdate = new ObservableBoolean(false); @@ -59,8 +56,8 @@ public class TireUpdateDialog extends Dialog { isupdate.set(isChecked); }); - - binding.dialogTireUpdateSave.setOnClickListener(view -> {// 保存按钮点击事件 +// 保存按钮点击事件 + binding.dialogTireUpdateSave.setOnClickListener(view -> { String shendu = binding.dialogTireShendu1.getText().toString(); String taiya = binding.dialogTireTaiya1.getText().toString(); if (shendu.isEmpty()) { @@ -74,14 +71,14 @@ public class TireUpdateDialog extends Dialog { bizOrderTireDetail.setRemark(binding.dialogTireRemark1.getText().toString()); bizOrderTireDetail.setTreadDepth(shendu);// 花纹深度 bizOrderTireDetail.setTirePress(taiya);// 胎压 - + bizOrderTireDetail.setTirePressOld(binding.dialogTireTaiyaOld.getText().toString()); boolean isupdate1 = isupdate.get(); if (isupdate1) { String s = binding.newTireInfo2.getText().toString(); String s1 = binding.dialogTireShendu2.getText().toString(); String s2 = binding.dialogTireTaiya2.getText().toString(); - if (s1.isEmpty() ) { + if (s1.isEmpty()) { Toast.makeText(context, "请输入花纹深度", Toast.LENGTH_SHORT).show(); return; } @@ -90,7 +87,7 @@ public class TireUpdateDialog extends Dialog { bizOrderTireDetail.setDataType("换新胎,卸车"); bizOrderTireDetail.setTireStatus("换新胎,卸车"); } - listener.onSave(bizOrderTireDetail, image, isupdate1,newTireDetail); + listener.onSave(bizOrderTireDetail, image, isupdate1, newTireDetail); }); // 同车互换 binding.dialogButtonTong.setOnClickListener(view -> { @@ -106,21 +103,17 @@ public class TireUpdateDialog extends Dialog { // photoState = new ObservableBoolean(false); // binding.setPhotoState(photoState); setContentView(binding.getRoot()); - tireChangeDialog = new TireChangeDialog(context, new TireChangeDialog.TireChangeListener() { - @Override - public void onChangeSave(BizOrderTireDetail bizOrderTireDetail) { - - } - - - }); - disposalFileAdapter=new DisposalFileAdapter(context, new DisposalFileAdapter.ItemClickCall() { + tireChangeDialog = new TireChangeDialog(context,this); + disposalFileAdapter = new DisposalFileAdapter(context, new DisposalFileAdapter.ItemClickCall() { @Override public void onClick(int position, boolean type) { - + if (!type) { + filesList.remove(position); + disposalFileAdapter.notifyDataSetChanged(); + } } }); - filesList=new ArrayList<>(); + filesList = new ArrayList<>(); disposalFileAdapter.setList(filesList); binding.setAdapter1(disposalFileAdapter); } @@ -146,7 +139,7 @@ public class TireUpdateDialog extends Dialog { this.baseTyreList = baseTyreList; } - public void setBaseTyre(BaseTyre baseTyre) { + public void setBaseTyre(BaseTyre baseTyre, BizOrderTireDetail tag) { this.baseTyre = baseTyre; binding.setTire(baseTyre); bizOrderTireDetail = new BizOrderTireDetail(); @@ -164,6 +157,19 @@ public class TireUpdateDialog extends Dialog { // 重置ui // photoState.set(false); binding.dialogUpdatePhoto.setImageResource(R.mipmap.ic_xiangji); + if (tag != null) { + binding.dialogTireRemark1.setText(tag.getRemark()); + binding.dialogTireShendu1.setText(tag.getTreadDepth()); + // 花纹深度 + binding.dialogTireTaiya1.setText(tag.getTirePress());// 胎压 + binding.dialogTireTaiyaOld.setText(tag.getTirePressOld());// 胎压 + } else { + binding.dialogTireRemark1.setText(null); + binding.dialogTireShendu1.setText(null); + ;// 花纹深度 + binding.dialogTireTaiya1.setText(null);// 胎压 + binding.dialogTireTaiyaOld.setText(null);// 胎压 + } show(); } @@ -192,9 +198,8 @@ public class TireUpdateDialog extends Dialog { // 点击外部不关闭 setCanceledOnTouchOutside(false); } - private DisposalFileAdapter disposalFileAdapter; - private List filesList ; - public void setImage(String fileUrl,File image) { + + public void setImage(String fileUrl, File image) { this.image = image; // photoState.set(true); // binding.dialogUpdatePhoto.setImageResource(R.mipmap.ic_duihao); @@ -205,15 +210,22 @@ public class TireUpdateDialog extends Dialog { disposalFileAdapter.notifyDataSetChanged(); } + // 同车互换修改 + @Override + public void onChangeSave(String oldLocation, String newLocation) { + tireChangeDialog. dismiss(); + + listener.onChangeSave(oldLocation, newLocation); + dismiss(); + } public interface TireUpdateDialogSaveListener { - void onSave(BizOrderTireDetail bizOrderTireDetail, File image, boolean isupdate,BizOrderTireDetail newTireDetail); + void onSave(BizOrderTireDetail bizOrderTireDetail, File image, boolean isupdate, BizOrderTireDetail newTireDetail); void onTakePhoto(); - + void onChangeSave(String oldLocation, String newLocation); } - } diff --git a/app/src/main/java/com/example/tyre/util/MyUrl.java b/app/src/main/java/com/example/tyre/util/MyUrl.java index c4d86dc..da21178 100644 --- a/app/src/main/java/com/example/tyre/util/MyUrl.java +++ b/app/src/main/java/com/example/tyre/util/MyUrl.java @@ -8,5 +8,6 @@ package com.example.tyre.util; public class MyUrl { // public static String url="http://192.168.0.18:8020"; // public static String url="http://www.qdhys.xyz:8020"; - public static String url="http://10.11.187.77:8020"; +// public static String url="http://10.11.187.77:8020"; + public static String url="http://192.168.137.1:8020"; } diff --git a/app/src/main/res/layout/activity_up.xml b/app/src/main/res/layout/activity_up.xml index 9e80f29..ea048b8 100644 --- a/app/src/main/res/layout/activity_up.xml +++ b/app/src/main/res/layout/activity_up.xml @@ -129,6 +129,7 @@ android:gravity="center_vertical" android:paddingStart="12dp" android:textColor="#555" + android:inputType="textVisiblePassword" android:textSize="16sp" android:hint="请输入自编号" /> @@ -163,6 +164,7 @@ android:layout_marginTop="4dp" android:background="@drawable/rounded_input_bg" android:gravity="center_vertical" + android:inputType="number" android:paddingStart="12dp" android:textColor="#555" android:textSize="16sp" diff --git a/app/src/main/res/layout/activity_work_execute.xml b/app/src/main/res/layout/activity_work_execute.xml index 1eb2d5b..e788c3a 100644 --- a/app/src/main/res/layout/activity_work_execute.xml +++ b/app/src/main/res/layout/activity_work_execute.xml @@ -21,6 +21,12 @@ name="line" type="String" /> + + + + @@ -113,6 +119,7 @@ android:textSize="15sp" android:textStyle="bold" app:layout_columnWeight="1" + android:enabled="@{!orderState}" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -328,6 +335,7 @@ android:text="完成处理" android:textColor="@color/white" android:textSize="18sp" + android:visibility="@{orderState ? View.GONE : View.VISIBLE}" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/dialog_tire_change.xml b/app/src/main/res/layout/dialog_tire_change.xml index b824038..157be14 100644 --- a/app/src/main/res/layout/dialog_tire_change.xml +++ b/app/src/main/res/layout/dialog_tire_change.xml @@ -161,6 +161,16 @@ - +