From 28bbdc4d47a96669f508d07489f8fb486ab5274d Mon Sep 17 00:00:00 2001 From: wanghao Date: Thu, 10 Apr 2025 16:57:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=92=8C=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/litepal.xml | 2 +- .../com/example/as_trak/LoadMainActivity.java | 8 +- .../as_trak/dialog/AddFlightDialog.java | 4 +- .../com/example/as_trak/entity/CargoInfo.java | 10 +++ .../as_trak/fragment/FlightInfoFragment.java | 29 +++---- .../main/res/layout/activity_load_main.xml | 85 ++++++++++++++++++- .../main/res/layout/activity_load_scan.xml | 4 +- .../main/res/layout/fragment_flight_info.xml | 44 ++++++++-- app/src/main/res/layout/item_cargo.xml | 12 +++ app/src/main/res/values/arrays.xml | 10 +-- 10 files changed, 169 insertions(+), 39 deletions(-) diff --git a/app/src/main/assets/litepal.xml b/app/src/main/assets/litepal.xml index f3da561..ce6d2c9 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 dd59956..e3fa67e 100644 --- a/app/src/main/java/com/example/as_trak/LoadMainActivity.java +++ b/app/src/main/java/com/example/as_trak/LoadMainActivity.java @@ -133,9 +133,9 @@ public class LoadMainActivity extends BaseActivity implements AddFlightDialog.Ad String cargoCode = binding.loadMainCargoCode.getText().toString(); if (cargoCode.isEmpty()) return; String cargoCode0 = binding.loadMainCargoCode0.getSelectedItem().toString(); - String cargoCode2 = binding.loadMainCargoCode2.getSelectedItem().toString(); + int id = flightInfoTag.getId(); - cargoCode = cargoCode0 + cargoCode + cargoCode2; + cargoCode = cargoCode0 + cargoCode ; int countTag = LitePal.where("cargoCode= ? and flightId=?", cargoCode, String.valueOf(id)).count(CargoInfo.class); if (countTag > 0) { Toast.makeText(this, "装载单元已经绑定", Toast.LENGTH_SHORT).show(); @@ -146,7 +146,7 @@ public class LoadMainActivity extends BaseActivity implements AddFlightDialog.Ad cargoInfo.setCargoCode(cargoCode); cargoInfo.setFlightId(id); cargoInfo.setState("未装载"); - // cargoInfo.setLoadState("C0"); + cargoInfo.setCargoType(binding.loadMainCargoCode2.getSelectedItem().toString()); cargoInfo.save(); cargoInfoList.add(cargoInfo); cargoInfoAdapter.notifyDataSetChanged(); @@ -197,7 +197,7 @@ public class LoadMainActivity extends BaseActivity implements AddFlightDialog.Ad @Override public void longClickCargoInfo(int index) { CargoInfo cargoInfo = cargoInfoList.get(index); - if (!cargoInfo.getState().equals("待装载")) { + if (!cargoInfo.getState().equals("未装载")) { Toast.makeText(this, "已经装载行李,不能删除", Toast.LENGTH_SHORT).show(); return; } 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 2c8d5f9..07cc5e3 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 @@ -35,7 +35,9 @@ public class AddFlightDialog extends Dialog { dialogDatepicker.setSpinnersShown(true); // 显示数字选择器(true); binding.dialogReturnTrue.setOnClickListener(v -> { - String date = dialogDatepicker.getYear() + "-" + (dialogDatepicker.getMonth()+1) + "-" + dialogDatepicker.getDayOfMonth(); + 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(); String flightCode = binding.dialogFlightCode.getText().toString(); diff --git a/app/src/main/java/com/example/as_trak/entity/CargoInfo.java b/app/src/main/java/com/example/as_trak/entity/CargoInfo.java index 072c04d..bdba77d 100644 --- a/app/src/main/java/com/example/as_trak/entity/CargoInfo.java +++ b/app/src/main/java/com/example/as_trak/entity/CargoInfo.java @@ -13,6 +13,9 @@ public class CargoInfo extends LitePalSupport { * 货箱号 */ private String cargoCode; + // 类型 + private String cargoType; + /** * 装载状态 */ @@ -22,6 +25,13 @@ public class CargoInfo extends LitePalSupport { private int count; + public String getCargoType() { + return cargoType; + } + + public void setCargoType(String cargoType) { + this.cargoType = cargoType; + } public String getLoadState() { return loadState; diff --git a/app/src/main/java/com/example/as_trak/fragment/FlightInfoFragment.java b/app/src/main/java/com/example/as_trak/fragment/FlightInfoFragment.java index 67c7051..7d9e9ff 100644 --- a/app/src/main/java/com/example/as_trak/fragment/FlightInfoFragment.java +++ b/app/src/main/java/com/example/as_trak/fragment/FlightInfoFragment.java @@ -66,8 +66,6 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); context = getContext(); - - progressDialog = new ProgressDialog(context); progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); progressDialog.setCanceledOnTouchOutside(false); @@ -100,13 +98,14 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl return binding.getRoot(); } - @SuppressLint("NotifyDataSetChanged") + @SuppressLint({"NotifyDataSetChanged", "SetTextI18n"}) @Override public void onItemClick(AdapterView parent, View view, int position, long id) { FlightInfo flightInfo = flightList.get(position); binding.loadMainFlightCode.setText(flightInfo.getFlightCode()); - + binding.loadMainFlightDate.setText(flightInfo.getTakeoffDate()); + binding.loadMainFlightNumber.setText("" + flightInfo.getJieguiQty()); tagId = String.valueOf(flightInfo.getId()); int countCargo = LitePal.where("flightId= ?", tagId).count(CargoInfo.class); binding.loadCountCargo.setText(String.valueOf(countCargo)); @@ -127,7 +126,7 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl progressDialog.show(); new Thread(() -> { // 根据 flightId 查询 LoadOperation 数据 - List loadOperations = LitePal.where("flightId = ?", flightId).find(LoadOperation.class); + List loadOperations = LitePal.where("flightId = ? and type='装载' and (state IS NULL or state = '修改') ", flightId).find(LoadOperation.class); // 创建新的工作簿 Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Load Operations"); @@ -135,14 +134,15 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl CellStyle headerCellStyle = workbook.createCellStyle(); headerCellStyle.setAlignment(HorizontalAlignment.CENTER); // 设置水平居中 headerCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 设置垂直居中 + + // 创建表头 Row headerRow = sheet.createRow(0); - - String[] headers = {"序号", "航班号", "目的地代码", "起飞时间", "货箱号", "行李编码", "旧的行李编码", "操作人", "装载时间", "操作","拉下时间", "状态"}; + String[] headers = {"序号", "航班号", "目的地代码", "起飞时间", "装载单元", "行李编码", "装载时间"}; for (int i = 0; i < headers.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(headers[i]); - sheet.setDefaultColumnStyle(i,headerCellStyle); + sheet.setDefaultColumnStyle(i, headerCellStyle); if (i == 4 || i == 5 || i == 6) { sheet.setColumnWidth(i, 5000); } else { @@ -150,8 +150,6 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl } } - - // 填充数据 int rowNum = 1; int index = 0; @@ -163,20 +161,15 @@ public class FlightInfoFragment extends Fragment implements AdapterView.OnItemCl row.createCell(2).setCellValue(loadOperation.getDestination()); row.createCell(3).setCellValue(loadOperation.getTakeoffTime()); row.createCell(4).setCellValue(loadOperation.getCargoCode()); - // row.createCell(5).setCellValue(loadOperation.getOrderNum()); row.createCell(5).setCellValue(loadOperation.getLuggageCode()); - row.createCell(6).setCellValue(loadOperation.getOldLuggageCode()); - row.createCell(7).setCellValue(loadOperation.getUser()); - row.createCell(8).setCellValue(loadOperation.getLoadTime()); - row.createCell(9).setCellValue(loadOperation.getType()); - row.createCell(10).setCellValue(loadOperation.getUnLoadTime()); - row.createCell(11).setCellValue(loadOperation.getState()); + row.createCell(6).setCellValue(loadOperation.getLoadTime()); } // 使用 MediaStore 存储文件 ContentResolver contentResolver = context.getContentResolver(); ContentValues contentValues = new ContentValues(); - contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "行李装载操作信息" + LocalDateTime.now().format(formatter) + ".xlsx"); + contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "行李装载信息" + binding.loadMainFlightCode.getText().toString() +" "+ + binding.loadMainFlightDate.getText().toString() + ".xlsx"); contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DOCUMENTS); diff --git a/app/src/main/res/layout/activity_load_main.xml b/app/src/main/res/layout/activity_load_main.xml index 7e91734..56fefdd 100644 --- a/app/src/main/res/layout/activity_load_main.xml +++ b/app/src/main/res/layout/activity_load_main.xml @@ -158,6 +158,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:layout_weight="1" /> + + + + @@ -87,6 +102,21 @@ android:layout_marginTop="1dp" android:background="@drawable/main_menu_bg"> + + + + + android:layout_weight="1" /> diff --git a/app/src/main/res/layout/item_cargo.xml b/app/src/main/res/layout/item_cargo.xml index 3c7c2b6..e0b3356 100644 --- a/app/src/main/res/layout/item_cargo.xml +++ b/app/src/main/res/layout/item_cargo.xml @@ -31,6 +31,18 @@ android:layout_gravity="center" android:background="#e1e1e1" /> + + + - C0 - C1 - C2 - C3 - C4 + B0 + B1 + B2 + B3 + BX \ No newline at end of file