소스 검색

1.修复部分UI展示问题
2.部分小BUG修复

JaycePC 2 주 전
부모
커밋
1bee81500d

+ 1 - 1
app/build.gradle

@@ -13,7 +13,7 @@ android {
         //noinspection ExpiredTargetSdkVersion,OldTargetApi
         targetSdk 28
         versionCode 1
-        versionName "2.1"
+        versionName "2.2"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         multiDexEnabled = true

+ 0 - 2
app/src/main/java/xn/hxp/ui/MainActivity.java

@@ -86,10 +86,8 @@ public class MainActivity extends BaseActivity {
     private int currentPosition = 0;
     private RecyclerView recyclerView;
     private UsbReceiver mUsbReceiver;
-    private boolean mHandleScanEvent = false;
     private Lztek mLztek;
     private String mDeviceNum;
-    private Runnable runnable;
     private List<String> faceList;
     private String mLoginType;
     private int mCounter = 0;

+ 66 - 106
app/src/main/java/xn/hxp/ui/plan/already/AlreadyActivity.java

@@ -1,21 +1,16 @@
 package xn.hxp.ui.plan.already;
 
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
-import android.text.InputType;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
-import android.widget.Button;
-import android.widget.EditText;
 import android.widget.RadioGroup;
 
 import androidx.activity.result.ActivityResult;
 import androidx.activity.result.ActivityResultCallback;
 import androidx.activity.result.ActivityResultLauncher;
 import androidx.activity.result.contract.ActivityResultContracts;
-import androidx.appcompat.app.AlertDialog;
 import androidx.viewbinding.ViewBinding;
 
 import com.blankj.utilcode.util.ClickUtils;
@@ -62,6 +57,7 @@ import xn.hxp.ui.plan.room.dao.HxpDoorDAO;
 import xn.hxp.ui.plan.room.dao.HxpInventoryDAO;
 import xn.hxp.ui.plan.save_list.SaveListActivity;
 import xn.hxp.ui.plan.unlock.UnlockActivity;
+import xn.hxp.weidith.SelectAlreadyDialog;
 
 public class AlreadyActivity extends BaseActivity {
     private ActivityAlreadyBinding binding;
@@ -76,7 +72,9 @@ public class AlreadyActivity extends BaseActivity {
     private String applyUserName;// 申领人
     private String topicUserName;// 归属人
 
-    private String[] applyArray;
+    private List<String> applicantList;// 申领人选择列
+    private List<String> ownerList;// 归属人选择列
+    private List<String> applyOrderNumberList;// 申领单号选择列
 
     private ActivityResultLauncher<Intent> intentActivityResultLauncher;
 
@@ -159,7 +157,7 @@ public class AlreadyActivity extends BaseActivity {
                     alreadyAdapter.update(type);
                     LogUtils.json(waitArray);
                 } else {
-                    showLoading("未有可操作的数据!");
+                    showToast("未有可操作的数据!");
                     binding.selectAllCB.setChecked(false);
                 }
             }
@@ -185,24 +183,23 @@ public class AlreadyActivity extends BaseActivity {
         binding.applicantCodeSearchRL.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (null != applyArray) {
-                    AlertDialog.Builder builder = new AlertDialog.Builder(AlreadyActivity.this);
-                    builder.setTitle("选择申领单号查询");
-                    builder.setItems(applyArray, (dialog, which) -> {
-                        applyOrder = applyArray[which];
-                        binding.applicantCodeSearchTV.setText(applyOrder);
-                        binding.applicantCodeSearchTV.setSelected(true);
-                        getHxpStockWait(true);
-                    });
-                    builder.setNeutralButton("清空", new DialogInterface.OnClickListener() {
+                if (null != applyOrderNumberList) {
+                    new SelectAlreadyDialog(AlreadyActivity.this, "选择申领单号", applyOrderNumberList, new SelectAlreadyDialog.SelectedListener() {
                         @Override
-                        public void onClick(DialogInterface dialog, int which) {
+                        public void selected(String string) {
+                            applyOrder = string;
+                            binding.applicantCodeSearchTV.setText(applyOrder);
+                            binding.applicantCodeSearchTV.setSelected(true);
+                            getHxpStockWait(true);
+                        }
+
+                        @Override
+                        public void clear() {
                             applyOrder = "";
                             binding.applicantCodeSearchTV.setText("申领单号");
                             getHxpStockWait(true);
                         }
-                    });
-                    builder.show();
+                    }).show();
                 } else {
                     showLoading("申领单号查询中...");
                     getApplyList();
@@ -214,88 +211,54 @@ public class AlreadyActivity extends BaseActivity {
         binding.applicantSearchRL.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                AlertDialog.Builder builder = new AlertDialog.Builder(AlreadyActivity.this);
-                builder.setTitle("请输入申领人姓名");
-                final EditText editText = new EditText(AlreadyActivity.this);
-                editText.setInputType(InputType.TYPE_CLASS_TEXT); // 设置输入类型为文本
-                builder.setView(editText);
-                builder.setNeutralButton("清空", new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        applyUserName = "";
-                        binding.applicantSearchTV.setText("申领人");
-                        getHxpStockWait(true);
-                    }
-                });
-                builder.setPositiveButton("确定", null);
-                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        dialog.dismiss();
-                    }
-                });
-                AlertDialog dialog = builder.create();
-                dialog.show();
-                Button positiveButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
-                positiveButton.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        String input = editText.getText().toString();
-                        if (input.isEmpty()) {
-                            editText.setSelected(true);
-                            editText.setError("请输入姓名!");
-                        } else {
-                            applyUserName = input;
+                if (null != applicantList) {
+                    new SelectAlreadyDialog(AlreadyActivity.this, "选择申领人", applicantList, new SelectAlreadyDialog.SelectedListener() {
+                        @Override
+                        public void selected(String string) {
+                            applyUserName = string;
                             binding.applicantSearchTV.setText(applyUserName);
+                            binding.applicantSearchTV.setSelected(true);
                             getHxpStockWait(true);
-                            dialog.dismiss();
                         }
-                    }
-                });
+
+                        @Override
+                        public void clear() {
+                            applyUserName = "";
+                            binding.applicantSearchTV.setText("申领人");
+                            getHxpStockWait(true);
+                        }
+                    }).show();
+                } else {
+                    showLoading("申领人查询中...");
+                    getApplyList();
+                }
             }
         });
         // 根据归属人查询
         binding.belongSearchRL.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                AlertDialog.Builder builder = new AlertDialog.Builder(AlreadyActivity.this);
-                builder.setTitle("请输入归属人姓名");
-                final EditText editText = new EditText(AlreadyActivity.this);
-                editText.setInputType(InputType.TYPE_CLASS_TEXT); // 设置输入类型为文本
-                builder.setView(editText);
-                builder.setPositiveButton("确定", null);
-                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        dialog.dismiss();
-                    }
-                });
-                builder.setNeutralButton("清空", new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        topicUserName = "";
-                        binding.belongSearchTV.setText("归属人");
-                        getHxpStockWait(true);
-                    }
-                });
-                AlertDialog dialog = builder.create();
-                dialog.show();
-                Button positiveButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
-                positiveButton.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        String input = editText.getText().toString();
-                        if (input.isEmpty()) {
-                            editText.setSelected(true);
-                            editText.setError("请输入姓名!");
-                        } else {
-                            topicUserName = input;
+                if (null != ownerList) {
+                    new SelectAlreadyDialog(AlreadyActivity.this, "选择归属人", ownerList, new SelectAlreadyDialog.SelectedListener() {
+                        @Override
+                        public void selected(String string) {
+                            topicUserName = string;
                             binding.belongSearchTV.setText(topicUserName);
+                            binding.belongSearchTV.setSelected(true);
                             getHxpStockWait(true);
-                            dialog.dismiss();
                         }
-                    }
-                });
+
+                        @Override
+                        public void clear() {
+                            topicUserName = "";
+                            binding.belongSearchTV.setText("归属人");
+                            getHxpStockWait(true);
+                        }
+                    }).show();
+                } else {
+                    showLoading("归属人查询中...");
+                    getApplyList();
+                }
             }
         });
         // 一键入库
@@ -507,6 +470,7 @@ public class AlreadyActivity extends BaseActivity {
         });
     }
 
+
     /**
      * 获取单号检索列表
      */
@@ -518,24 +482,23 @@ public class AlreadyActivity extends BaseActivity {
                 String json = response.body().string();
                 JSONObject jsonObject = new JSONObject(json);
                 if (jsonObject.getInt("code") == 200) {
-                    JSONArray jsonArray = jsonObject.getJSONArray("data");
-                    return GsonUtils.fromJson(jsonArray.toString(), new TypeToken<ArrayList<String>>() {
+                    JSONObject data = jsonObject.getJSONObject("data");
+                    applicantList = GsonUtils.fromJson(data.getJSONArray("applicants").toString(), new TypeToken<ArrayList<String>>() {
+                    }.getType());
+                    ownerList = GsonUtils.fromJson(data.getJSONArray("owners").toString(), new TypeToken<ArrayList<String>>() {
+                    }.getType());
+                    applyOrderNumberList = GsonUtils.fromJson(data.getJSONArray("applyOrderNumbers").toString(), new TypeToken<ArrayList<String>>() {
                     }.getType());
                 } else {
                     String msg = jsonObject.getString("message");
                     ToastUtils.showLong(msg);
-                    return null;
                 }
+                return null;
             }
 
             @Override
             public void onSuccess(List<String> applyList) {
                 dismissLoading();
-                if (applyList == null) {
-                    showToast("获取申领单号失败!");
-                } else {
-                    applyArray = applyList.toArray(new String[0]);
-                }
             }
         });
     }
@@ -574,7 +537,6 @@ public class AlreadyActivity extends BaseActivity {
                                     RoomTool.getInstance().hxpDoorDAO().insertAll(hxpCabinetDoorVoList);
                                 }
                             }
-
                         }
                     } else {
                         throw new NetException("" + hxpCabinetListVo.getCode(), hxpCabinetListVo.getMessage());
@@ -631,6 +593,8 @@ public class AlreadyActivity extends BaseActivity {
                     List<HxpChemicalVo> resultRecords = result.getPageData().getRecords();
                     if (null != resultRecords && !resultRecords.isEmpty()) {
                         hxpChemicalVoList.addAll(resultRecords);
+                    } else {
+                        showToast("暂无数据!");
                     }
 
                     for (String checkWaitId : checkWaitIdSet) {
@@ -648,16 +612,12 @@ public class AlreadyActivity extends BaseActivity {
                     } else {
                         alreadyAdapter.update(type);
                     }
-                    int total = result.getPageData().getTotal();
                     if (result.isAdmin()) {
                         binding.typeRG.setVisibility(View.VISIBLE);
-                        if (binding.relatedRB.isChecked()) {
-                            binding.relatedRB.setText("与我相关(" + total + ")");
-                        }
-                        if (binding.otherRB.isChecked()) {
-                            binding.otherRB.setText("其它(" + total + ")");
-                        }
+                        binding.relatedRB.setText("与我相关(" + result.getPersonal() + ")");
+                        binding.otherRB.setText("其它(" + result.getOther() + ")");
                     } else {
+                        int total = result.getPageData().getTotal();
                         binding.alreadyName.setText("已申领危化品存储(" + total + ")");
                         if (total == 0) {
                             showToast("暂无您可处理的危化品!");

+ 1 - 0
app/src/main/java/xn/hxp/ui/plan/already/AlreadyAdapter.java

@@ -185,6 +185,7 @@ public class AlreadyAdapter extends BaseAdapter {
                                 LogUtils.e(Log.getStackTraceString(e));
                             }
                             context.dismissLoading();
+                            PopTip.show("打印完成!");
                         });
                     }
                 });

+ 20 - 0
app/src/main/java/xn/hxp/ui/plan/already/AlreadyBean.java

@@ -10,6 +10,10 @@ public class AlreadyBean {
 
     private PageData pageData;
 
+    // 与我无关总数
+    private int other;
+    // 与我相关总数
+    private int personal;
 
     public class PageData {
         private int total;// 总数
@@ -75,4 +79,20 @@ public class AlreadyBean {
     public void setPageData(PageData pageData) {
         this.pageData = pageData;
     }
+
+    public int getOther() {
+        return other;
+    }
+
+    public void setOther(int other) {
+        this.other = other;
+    }
+
+    public int getPersonal() {
+        return personal;
+    }
+
+    public void setPersonal(int personal) {
+        this.personal = personal;
+    }
 }

+ 13 - 9
app/src/main/java/xn/hxp/ui/plan/change/ChangeCabinetActivity.java

@@ -55,15 +55,19 @@ public class ChangeCabinetActivity extends BaseActivity {
         binding.cancelBT.setOnClickListener(v -> finish());
 
         binding.confirmBT.setOnClickListener(v -> {
-            HxpLayerDAO hxpLayerDAO = RoomTool.getInstance().hxpLayerDAO();
-            hxpLayerDAO.insert(cabinetLayerSelect);
-            hxpLayerDAO.change(cabinetLayerSelect.getCabinetId(), cabinetLayerSelect.getDoorId(), cabinetLayerSelect.getLayer());
-            Intent intent = new Intent();
-            Bundle bundle = new Bundle();
-            bundle.putSerializable("Change", cabinetLayerSelect);
-            intent.putExtra("data", bundle);
-            setResult(RESULT_OK, intent);
-            finish();
+            if (cabinetLayerSelect != null) {
+                HxpLayerDAO hxpLayerDAO = RoomTool.getInstance().hxpLayerDAO();
+                hxpLayerDAO.insert(cabinetLayerSelect);
+                hxpLayerDAO.change(cabinetLayerSelect.getCabinetId(), cabinetLayerSelect.getDoorId(), cabinetLayerSelect.getLayer());
+                Intent intent = new Intent();
+                Bundle bundle = new Bundle();
+                bundle.putSerializable("Change", cabinetLayerSelect);
+                intent.putExtra("data", bundle);
+                setResult(RESULT_OK, intent);
+                finish();
+            } else {
+                showToast("请选择要更换的柜层!");
+            }
         });
 
         try {

+ 85 - 0
app/src/main/java/xn/hxp/weidith/SelectAlreadyDialog.java

@@ -0,0 +1,85 @@
+package xn.hxp.weidith;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+
+import java.util.List;
+
+import xn.hxp.databinding.AlreadyDialogBinding;
+
+public class SelectAlreadyDialog extends Dialog {
+    private Context context;
+    private AlreadyDialogBinding binding;
+    private List<String> alreadyList;
+    private SelectedListener selectedListener;
+    private String dialogName;
+
+    public SelectAlreadyDialog(@NonNull Context context, String dialogName, List<String> alreadyList, SelectedListener selectedListener) {
+        super(context);
+        this.context = context;
+        this.alreadyList = alreadyList;
+        this.selectedListener = selectedListener;
+        this.dialogName = dialogName;
+    }
+
+    public interface SelectedListener {
+        void selected(String string);
+
+        void clear();
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        requestWindowFeature(Window.FEATURE_NO_TITLE);
+        binding = AlreadyDialogBinding.inflate(getLayoutInflater());
+        setContentView(binding.getRoot());
+        getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+        getWindow().setGravity(Gravity.CENTER);
+        getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
+        setCanceledOnTouchOutside(false);
+
+        binding.dialogName.setText(TextUtils.isEmpty(dialogName) ? "" : dialogName);
+        if (null != alreadyList) {
+            String[] alreadyListArray = alreadyList.toArray(new String[0]);
+            ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, alreadyListArray);
+            binding.listView.setAdapter(arrayAdapter);
+            binding.listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                @Override
+                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                    String selectedItem = (String) parent.getItemAtPosition(position);
+                    selectedListener.selected(selectedItem);
+                    dismiss();
+                }
+            });
+        }
+
+        binding.close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dismiss();
+            }
+        });
+
+        binding.clear.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                selectedListener.clear();
+                dismiss();
+            }
+        });
+
+    }
+}

+ 9 - 11
app/src/main/res/layout/activity_already.xml

@@ -5,7 +5,7 @@
     android:id="@+id/main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@mipmap/icon_add_bg"
+    android:background="@mipmap/auto_bg"
     tools:context=".ui.plan.already.AlreadyActivity"
     tools:ignore="PxUsage">
 
@@ -176,14 +176,13 @@
                 android:layout_alignParentEnd="true"
                 android:background="@drawable/shape_input_box">
 
-                <TextView
+                <ImageView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentEnd="true"
                     android:layout_centerVertical="true"
                     android:layout_marginEnd="15px"
-                    android:rotation="90"
-                    android:text=">"
+                    android:src="@mipmap/icon_kzjc_zk"
                     android:textSize="20px" />
 
                 <TextView
@@ -205,14 +204,13 @@
                 android:layout_toStartOf="@id/belongSearchRL"
                 android:background="@drawable/shape_input_box">
 
-                <TextView
+                <ImageView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentEnd="true"
                     android:layout_centerVertical="true"
                     android:layout_marginEnd="15px"
-                    android:rotation="90"
-                    android:text=">"
+                    android:src="@mipmap/icon_kzjc_zk"
                     android:textSize="20px" />
 
                 <TextView
@@ -234,14 +232,13 @@
                 android:layout_toStartOf="@id/applicantSearchRL"
                 android:background="@drawable/shape_input_box">
 
-                <TextView
+                <ImageView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentEnd="true"
                     android:layout_centerVertical="true"
                     android:layout_marginEnd="15px"
-                    android:rotation="90"
-                    android:text=">"
+                    android:src="@mipmap/icon_kzjc_zk"
                     android:textSize="20px" />
 
                 <TextView
@@ -269,7 +266,8 @@
             android:layout_gravity="end"
             android:layout_marginTop="10px"
             android:layout_marginEnd="50px"
-            android:text="*该处显示已从危化品服务中心申领完成,未使用终端存入危化品柜中的危化品" />
+            android:text="*该处显示已从危化品服务中心申领完成,未使用终端存入危化品柜中的危化品"
+            android:textSize="12sp" />
 
         <RelativeLayout
             android:layout_width="match_parent"

+ 62 - 0
app/src/main/res/layout/already_dialog.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:gravity="center"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:layout_width="418dp"
+        android:layout_height="340dp"
+        android:background="@drawable/bg_shu_ru_kuang"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@+id/dialogName"
+            android:layout_width="wrap_content"
+            android:layout_height="40dp"
+            android:layout_centerHorizontal="true"
+            android:layout_gravity="center"
+            android:layout_marginTop="10dp"
+            android:gravity="center"
+            android:text="提醒"
+            android:textColor="@color/black"
+            android:textSize="18sp" />
+
+        <ListView
+            android:id="@+id/listView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_below="@id/dialogName"
+            android:layout_margin="10dp" />
+    </RelativeLayout>
+
+    <LinearLayout
+        android:id="@+id/control"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="20dp"
+        android:orientation="horizontal">
+
+        <Button
+            android:id="@+id/close"
+            android:layout_width="110dp"
+            android:layout_height="32dp"
+            android:layout_marginHorizontal="20dp"
+            android:background="@drawable/bg_quan_xin_twoe"
+            android:text="关闭"
+            android:textColor="@color/white" />
+
+        <Button
+            android:id="@+id/clear"
+            android:layout_width="110dp"
+            android:layout_height="32dp"
+            android:layout_marginHorizontal="20dp"
+            android:background="@drawable/bg_quan_xin_twoe"
+            android:text="清空"
+            android:textColor="@color/white" />
+    </LinearLayout>
+
+
+</LinearLayout>

BIN
app/src/main/res/mipmap-xhdpi/auto_bg.webp