diff --git a/app/src/main/assets/litepal.xml b/app/src/main/assets/litepal.xml index 8900797..cc1e29d 100644 --- a/app/src/main/assets/litepal.xml +++ b/app/src/main/assets/litepal.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/java/com/example/as_trak/LoadMainActivity.java b/app/src/main/java/com/example/as_trak/LoadMainActivity.java index 8b259f3..f2c1b26 100644 --- a/app/src/main/java/com/example/as_trak/LoadMainActivity.java +++ b/app/src/main/java/com/example/as_trak/LoadMainActivity.java @@ -118,20 +118,24 @@ public class LoadMainActivity extends BaseActivity implements AddFlightDialog.Ad int size = list.size(); List list1 = new ArrayList<>(size); List list2 = new ArrayList<>(size); + List list3 = new ArrayList<>(size); list.forEach(t -> { if (t.getType().equals("1")) { list1.add(t.getTypeName()); - } else { + }else if (t.getType().equals("2")) { list2.add(t.getTypeName()); + } else { + list3.add(t.getTypeName()); } }); - if (list1.isEmpty() || list2.isEmpty()) { + if (list1.isEmpty() || list2.isEmpty()|| list3.isEmpty()) { Toast.makeText(this, "基础信息未维护", Toast.LENGTH_SHORT).show(); Intent intent1 = new Intent(this, SettingActivity.class); startActivity(intent1); } binding.setList1(list1); binding.setList2(list2); + binding.setList3(list3); } } @@ -146,28 +150,31 @@ public class LoadMainActivity extends BaseActivity implements AddFlightDialog.Ad visibState.set(false); } - // 添加货箱 + + // 手动添加货箱 + public void loadAddCargo(View view) { + if (flightInfoTag == null) return; + String cargoCode = binding.loadMainCargoCode.getText().toString(); + // if (cargoCode.length() != 5) { + // Toast.makeText(this, "填写格式不规范", Toast.LENGTH_SHORT).show(); + // return; + // } + String cargoCode0 = binding.loadMainCargoCode0.getSelectedItem().toString(); + String cargoCode3=binding.loadMainCargoCode3.getSelectedItem().toString(); + cargoCode = cargoCode0 + cargoCode+cargoCode3; + addCargo(cargoCode, binding.loadMainCargoCode2.getSelectedItem().toString()); + } + + // 扫描添加货箱 @SuppressLint("NotifyDataSetChanged") public void loadAddCargo1(View view) { if (flightInfoTag == null) return; String code0 = binding.loadMainCargoSanCode.getText().toString(); + if (code0.isEmpty()) return; - addCargo(code0, binding.loadMainSanTypeSpinner.getSelectedItem().toString()); } - public void loadAddCargo(View view) { - if (flightInfoTag == null) return; - String cargoCode = binding.loadMainCargoCode.getText().toString(); - if (cargoCode.length() != 7) { - Toast.makeText(this, "填写格式不规范", Toast.LENGTH_SHORT).show(); - return; - } - String cargoCode0 = binding.loadMainCargoCode0.getSelectedItem().toString(); - cargoCode = cargoCode0 + cargoCode; - addCargo(cargoCode, binding.loadMainCargoCode2.getSelectedItem().toString()); - } - @SuppressLint("NotifyDataSetChanged") private void addCargo(String cargoCode, String type) { int id = flightInfoTag.getId(); diff --git a/app/src/main/java/com/example/as_trak/LoadScanActivity.java b/app/src/main/java/com/example/as_trak/LoadScanActivity.java index 7cd0f5e..c192e52 100644 --- a/app/src/main/java/com/example/as_trak/LoadScanActivity.java +++ b/app/src/main/java/com/example/as_trak/LoadScanActivity.java @@ -34,21 +34,18 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class LoadScanActivity extends BaseActivity implements CargoListAdapter.CargoInfoCall, LoadInfoAdapter.LoadInfoCall, View.OnLongClickListener { + private final Handler handler = new Handler(Looper.getMainLooper()); private List cargoInfoList; private CargoListAdapter adapter; private List loadOperations; private CargoInfo cargoInfoTag; private FlightInfo flightInfo; - // private LoadToast loadToast; private LoadInfoAdapter loadInfoAdapter; - // 定义时间格式 - private DateTimeFormatter formatter; + private DateTimeFormatter formatter; // 定义时间格式 private UpdataDialog updataDialog; - // 装载完成对话框 - private ActivityLoadScanBinding binding; + private ActivityLoadScanBinding binding; // 装载完成对话框 private TipDialog tipDialog; private AlertDialog.Builder alertDialog; - private Handler handler = new Handler(Looper.getMainLooper()); private String checkCode; private boolean checkState; @@ -70,7 +67,6 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C adapter.setList(cargoInfoList); binding.setAdapter1(adapter); formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // loadToast = new LoadToast(this); loadInfoAdapter = new LoadInfoAdapter(this, this); loadInfoAdapter.setRecyclerView(binding.loadInfoRecyclerview); binding.setAdapter2(loadInfoAdapter); @@ -82,12 +78,26 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C @SuppressLint("NotifyDataSetChanged") private void initDialog() { updataDialog = new UpdataDialog(this); - updataDialog.setUpdataDialogCall((code, index) -> { - LoadOperation loadOperation = loadOperations.get(index); - loadOperation.setOldLuggageCode(loadOperation.getLuggageCode()); - loadOperation.setLuggageCode(code); - loadOperation.setState("修改"); - loadOperation.update(loadOperation.getId()); + updataDialog.setUpdataDialogCall((tag, code, index) -> { + if (tag.equals("行李")) { + LoadOperation loadOperation = loadOperations.get(index); + loadOperation.setOldLuggageCode(loadOperation.getLuggageCode()); + loadOperation.setLuggageCode(code); + loadOperation.setState("修改"); + loadOperation.update(loadOperation.getId()); + } else if (tag.equals("装载单元")) { + // 128 + CargoInfo cargoInfo = cargoInfoList.get(index); + int id = cargoInfo.getId(); + LoadOperation updateBeen = new LoadOperation(); + updateBeen.setUpdateCargoTag(1); + String formattedTime = LocalDateTime.now().format(formatter); + updateBeen.setLoadTime(formattedTime); + updateBeen.updateAll("cargoId =?", String.valueOf(id)); + cargoInfo.setCargoCode(code); + cargoInfo.update(id); + adapter.notifyDataSetChanged(); + } loadInfoAdapter.notifyDataSetChanged(); updataDialog.dismiss(); }); @@ -110,16 +120,27 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C } // 点击装载单元 + @SuppressLint("NotifyDataSetChanged") @Override public void clickCargoInfo(int index) { cargoInfoTag = cargoInfoList.get(index); - // Log.e("TAG", "clickCargoInfo:" + cargoInfoTag.toString()); loadOperations = LitePal.where("cargoId =? and type = ? and (state IS NULL or state = '修改') ", String.valueOf(cargoInfoTag.getId()), "装载").order("id desc").find(LoadOperation.class); Log.e("TAG", "clickCargoInfo:" + loadOperations); loadInfoAdapter.setList(loadOperations); loadInfoAdapter.notifyDataSetChanged(); } + // 长按货箱 + @Override + public void longClickCargoInfo(int index) { + // 93 + CargoInfo cargoInfo = cargoInfoList.get(index); + updataDialog.setIndex(index); + updataDialog.setCode(cargoInfo.getCargoCode()); + updataDialog.setTag("装载单元"); + updataDialog.show(); + } + // 扫码结果 @Override public void sanCodeResult(String code) { @@ -134,9 +155,7 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C String group = matcher.group(); // Log.e("TAG", "sanCodeResult:" + matcher.group()); for (int i = 0; i < cargoInfoList.size(); i++) { - if (cargoInfoList.get(i).getCargoCode().equals(group)) { - RecyclerView.LayoutManager layoutManager = binding.scanR1.getLayoutManager(); if (layoutManager instanceof LinearLayoutManager) { View itemView = layoutManager.findViewByPosition(i); @@ -182,6 +201,7 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C } + // 插入数据库 private void loadLastFun(String code) { int count = LitePal.where("flightId= ? and luggageCode=? and type ='装载' and (state IS NULL or state = '修改') ", String.valueOf(flightInfo.getId()), code).count(LoadOperation.class); if (count > 0) { @@ -233,6 +253,7 @@ public class LoadScanActivity extends BaseActivity implements CargoListAdapter.C // } LoadOperation loadOperation = loadOperations.get(index); updataDialog.setIndex(index); + updataDialog.setTag("行李"); updataDialog.setCode(loadOperation.getLuggageCode()); updataDialog.show(); } diff --git a/app/src/main/java/com/example/as_trak/adapter/CargoListAdapter.java b/app/src/main/java/com/example/as_trak/adapter/CargoListAdapter.java index 168be0f..cd6f79c 100644 --- a/app/src/main/java/com/example/as_trak/adapter/CargoListAdapter.java +++ b/app/src/main/java/com/example/as_trak/adapter/CargoListAdapter.java @@ -65,7 +65,6 @@ public class CargoListAdapter extends RecyclerView.Adapter { + call.longClickCargoInfo(position); + return true; + }); } @Override @@ -104,5 +108,6 @@ public class CargoListAdapter extends RecyclerView.Adapter call.deleteCargoInfo(position)); binding.itemLoadU.setOnLongClickListener(v -> { diff --git a/app/src/main/java/com/example/as_trak/dialog/AddFlightDialog.java b/app/src/main/java/com/example/as_trak/dialog/AddFlightDialog.java index 07cc5e3..cffeef0 100644 --- a/app/src/main/java/com/example/as_trak/dialog/AddFlightDialog.java +++ b/app/src/main/java/com/example/as_trak/dialog/AddFlightDialog.java @@ -36,7 +36,6 @@ public class AddFlightDialog extends Dialog { binding.dialogReturnTrue.setOnClickListener(v -> { int month = dialogDatepicker.getMonth() + 1; - String date = dialogDatepicker.getYear() + "-" + String.format("%02d", month) + "-" + dialogDatepicker.getDayOfMonth(); // Log.e("TAG", "AddFlightDialog:" + date); String time= dialogTimepicker.getHour()+":"+dialogTimepicker.getMinute(); diff --git a/app/src/main/java/com/example/as_trak/dialog/UpdataDialog.java b/app/src/main/java/com/example/as_trak/dialog/UpdataDialog.java index 170c7bd..ad2f4ff 100644 --- a/app/src/main/java/com/example/as_trak/dialog/UpdataDialog.java +++ b/app/src/main/java/com/example/as_trak/dialog/UpdataDialog.java @@ -10,12 +10,15 @@ import androidx.databinding.DataBindingUtil; import com.example.as_trak.R; import com.example.as_trak.databinding.DialogUpdateBinding; -import java.nio.charset.CoderResult; - public class UpdataDialog extends Dialog { private DialogUpdateBinding binding; private String code; private int index; + private String tag; + + public void setTag(String tag) { + this.tag = tag; + } public void setIndex(int index) { this.index = index; @@ -41,17 +44,18 @@ public class UpdataDialog extends Dialog { if (code.isEmpty()) { return; } - updataDialogCall.codeResult(code,index); + updataDialogCall.codeResult(tag, code, index); }); } @Override public void show() { super.show(); + binding.setTag(tag); binding.updateOldCode.setText(code); binding.updataNewCode.setText(null); } public interface UpdataDialogCall{ - public void codeResult(String code,int index); + public void codeResult(String tag,String code,int index); } } diff --git a/app/src/main/java/com/example/as_trak/entity/LoadOperation.java b/app/src/main/java/com/example/as_trak/entity/LoadOperation.java index 5772711..5e2d678 100644 --- a/app/src/main/java/com/example/as_trak/entity/LoadOperation.java +++ b/app/src/main/java/com/example/as_trak/entity/LoadOperation.java @@ -52,6 +52,16 @@ public class LoadOperation extends LitePalSupport { */ private String state; + private int updateCargoTag=0; + + public int getUpdateCargoTag() { + return updateCargoTag; + } + + public void setUpdateCargoTag(int updateCargoTag) { + this.updateCargoTag = updateCargoTag; + } + private boolean bg =false; public boolean isBg() { diff --git a/app/src/main/res/layout/activity_load_main.xml b/app/src/main/res/layout/activity_load_main.xml index 2573235..52a2eac 100644 --- a/app/src/main/res/layout/activity_load_main.xml +++ b/app/src/main/res/layout/activity_load_main.xml @@ -27,6 +27,10 @@ name="list2" type="java.util.List" /> + + - + android:orientation="horizontal"> - - + - + - + - + - + - + + + + + + + + + android:visibility="@{visibState?View.GONE:View.VISIBLE}"> + android:text="扫描添加:" /> + android:maxLines="1" + android:textSize="17sp" /> + android:textAlignment="center" /> - diff --git a/app/src/main/res/layout/dialog_add_flight.xml b/app/src/main/res/layout/dialog_add_flight.xml index 57b118c..8fc3043 100644 --- a/app/src/main/res/layout/dialog_add_flight.xml +++ b/app/src/main/res/layout/dialog_add_flight.xml @@ -45,7 +45,9 @@ android:id="@+id/dialog_flight_code" style="@style/text_info" android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="match_parent" + android:inputType="textCapCharacters" + android:singleLine="true" /> + android:layout_height="match_parent" + android:inputType="textCapCharacters" + android:singleLine="true"/> @@ -86,7 +90,6 @@ android:id="@+id/dialog_datepicker" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:datePickerMode="spinner" /> diff --git a/app/src/main/res/layout/dialog_edit.xml b/app/src/main/res/layout/dialog_edit.xml index 8365409..dd307d2 100644 --- a/app/src/main/res/layout/dialog_edit.xml +++ b/app/src/main/res/layout/dialog_edit.xml @@ -43,8 +43,9 @@ android:layout_width="match_parent" android:layout_height="55dp" android:gravity="center" - android:inputType="textCapWords" + android:inputType="textCapCharacters" android:lines="1" + android:maxLines="1" /> diff --git a/app/src/main/res/layout/dialog_update.xml b/app/src/main/res/layout/dialog_update.xml index e3d143a..ed1e33b 100644 --- a/app/src/main/res/layout/dialog_update.xml +++ b/app/src/main/res/layout/dialog_update.xml @@ -2,7 +2,9 @@ - + + android:text='@{"修改"+tag}' /> + android:text='@{tag+"(原):"}' /> + android:text="输入新编码:" /> + android:layout_height="match_parent" + android:lines="1" + android:maxLines="1" + android:inputType="textCapCharacters"/>