guilin hace 8 meses
padre
commit
ca02d38125

+ 1 - 2
app/src/main/java/com/fxy/base/StorageApplication.java

@@ -126,9 +126,8 @@ public class StorageApplication extends Application {
         Realm.init(context);
         RealmConfiguration config = new RealmConfiguration.Builder()
                 .name("storageRealm.realm") //文件名
-                .deleteRealmIfMigrationNeeded()
                 .schemaVersion(Integer.parseInt(BuildConfig.VERSION_REALM)) //版本号
-       .build();
+                .build();
 
         // 进行迁移操作,从0到1
         try {

+ 17 - 8
app/src/main/java/com/fxy/hk/HkTrayMainActivity.java

@@ -46,6 +46,7 @@ import com.fxy.constant.BaseConfig;
 import com.fxy.constant.EventCode;
 import com.fxy.hk.bean.InboundBean;
 import com.fxy.hk.bean.OutboundBean;
+import com.fxy.hk.bean.RecordBean;
 import com.fxy.net.MyDialogCallback;
 import com.fxy.net.Urls;
 import com.fxy.putIn.TallyMainActivity;
@@ -128,6 +129,7 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
 
     //托盘数据
     private List<InboundBean> tallyDataList = new ArrayList<>();
+    private  List<RecordBean> listRecord = new ArrayList<>();
 
 
     @Override
@@ -235,7 +237,7 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
         errorView = this.getLayoutInflater().inflate(R.layout.pager_error, (ViewGroup) recyclerView.getParent(), false);
         notDataView = emptyView;
 
-        mAdapter = new FinishWorkAdapter(tallyDataList);
+        mAdapter = new FinishWorkAdapter(listRecord);
         mAdapter.setEmptyView(emptyView);
         mAdapter.openLoadAnimation(BaseQuickAdapter.SCALEIN);
         recyclerView.setLayoutManager(new LinearLayoutManager(this));
@@ -446,10 +448,16 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
                                 InboundBean inboundBean = JsonUtil.getObject(bean.data, InboundBean.class);
                                 tvCtnQty.setText(inboundBean.getCtnQty());
 
+
                                 etContainerCode.setEnabled(false);
                                 ibContainerCodeClear.setVisibility(View.GONE);
                                 etCtnCode.setEnabled(true);
                                 etCtnCode.requestFocus();
+
+                                listRecord.clear();
+                                listRecord = inboundBean.getList();
+                                mAdapter.setNewData(listRecord);
+                                mAdapter.notifyDataSetChanged();
                             } else {
                                 showWarningToast(bean.msg);
                             }
@@ -483,6 +491,7 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
                             ActionBean bean = JsonUtil.getObject(response.body(), ActionBean.class);
                             if (bean.code == 1) {
                                 showSuccessToast(bean.msg);
+
                                 authCamera();
                             } else {
 
@@ -554,8 +563,10 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
                             if (bean.code == 1) {
                                 showSuccessToast(bean.msg);
                                 InboundBean inboundBean = JsonUtil.getObject(bean.data, InboundBean.class);
-                                tallyDataList.add(inboundBean);
-                                mAdapter.setNewData(tallyDataList);
+
+
+                                listRecord = inboundBean.getList();
+                                mAdapter.setNewData(listRecord);
                                 mAdapter.notifyDataSetChanged();
                                 etCtnCode.setText("");
                                 setEditTextNormal(etCtnCode,true);
@@ -628,17 +639,15 @@ public class HkTrayMainActivity extends BaseActivity implements StoJNI.ScanCallB
         return true;
     }
 
-    private class FinishWorkAdapter extends BaseQuickAdapter<InboundBean, BaseViewHolder> {
-        public FinishWorkAdapter(List<InboundBean> data) {
+    private static class FinishWorkAdapter extends BaseQuickAdapter<RecordBean, BaseViewHolder> {
+        public FinishWorkAdapter(List<RecordBean> data) {
             super(R.layout.item_putin_scan, data);
         }
 
 
-        public void setNewData(List<InboundBean> tallyDataList) {
-        }
 
         @Override
-        protected void convert(BaseViewHolder helper, InboundBean item) {
+        protected void convert(BaseViewHolder helper, RecordBean item) {
             helper.addOnClickListener(R.id.ib_clear);//定义setOnItemChildClickListener 事件点击
             helper.setText(R.id.tv_number, item.getCtnCode());
             helper.getView(R.id.ib_clear).setVisibility(View.GONE);

+ 44 - 35
app/src/main/java/com/fxy/hk/bean/InboundBean.java

@@ -3,15 +3,54 @@ package com.fxy.hk.bean;
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class InboundBean implements Parcelable {
     public String pallet_code = "";
     public String ctn_code = "";
     public String ctn_qty = "";
+    public List<RecordBean> list= new ArrayList<>();
+
+    protected InboundBean(Parcel in) {
+        pallet_code = in.readString();
+        ctn_code = in.readString();
+        ctn_qty = in.readString();
+        list = in.createTypedArrayList(RecordBean.CREATOR);
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(pallet_code);
+        dest.writeString(ctn_code);
+        dest.writeString(ctn_qty);
+        dest.writeTypedList(list);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public static final Creator<InboundBean> CREATOR = new Creator<InboundBean>() {
+        @Override
+        public InboundBean createFromParcel(Parcel in) {
+            return new InboundBean(in);
+        }
+
+        @Override
+        public InboundBean[] newArray(int size) {
+            return new InboundBean[size];
+        }
+    };
 
     public String getPalletCode() {
         return pallet_code;
     }
 
+    public InboundBean(){
+
+    }
 
     public String getCtnCode() {
         return ctn_code;
@@ -34,42 +73,12 @@ public class InboundBean implements Parcelable {
         return ctn_qty;
     }
 
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeString(this.pallet_code);
-        dest.writeString(this.ctn_code);
-        dest.writeString(this.ctn_qty);
-    }
-
-    public void readFromParcel(Parcel source) {
-        this.pallet_code = source.readString();
-        this.ctn_code = source.readString();
-        this.ctn_qty = source.readString();
-    }
-
-    public InboundBean() {
+    public List<RecordBean> getList() {
+        return list;
     }
 
-    protected InboundBean(Parcel in) {
-        this.pallet_code = in.readString();
-        this.ctn_code = in.readString();
-        this.ctn_qty = in.readString();
+    public InboundBean setList(List<RecordBean> list) {
+        this.list = list;
+        return this;
     }
-
-    public static final Creator<InboundBean> CREATOR = new Creator<InboundBean>() {
-        @Override
-        public InboundBean createFromParcel(Parcel source) {
-            return new InboundBean(source);
-        }
-
-        @Override
-        public InboundBean[] newArray(int size) {
-            return new InboundBean[size];
-        }
-    };
 }

+ 46 - 0
app/src/main/java/com/fxy/hk/bean/RecordBean.java

@@ -0,0 +1,46 @@
+package com.fxy.hk.bean;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class RecordBean implements Parcelable {
+    public String ctn_code = "";
+
+    public RecordBean(){
+
+    }
+    protected RecordBean(Parcel in) {
+        ctn_code = in.readString();
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(ctn_code);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public static final Creator<RecordBean> CREATOR = new Creator<RecordBean>() {
+        @Override
+        public RecordBean createFromParcel(Parcel in) {
+            return new RecordBean(in);
+        }
+
+        @Override
+        public RecordBean[] newArray(int size) {
+            return new RecordBean[size];
+        }
+    };
+
+    public String getCtnCode() {
+        return ctn_code;
+    }
+
+    public RecordBean setCtnCode(String ctn_code) {
+        this.ctn_code = ctn_code;
+        return this;
+    }
+}

+ 15 - 4
app/src/main/java/com/fxy/main/fragment/MineFragment.java

@@ -54,8 +54,10 @@ import com.fxy.utils.DeviceIdUtils;
 import org.json.JSONObject;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
@@ -318,11 +320,20 @@ public class MineFragment extends BaseFragment {
      */
     private void showLogDialog() {
 
-        File files[] =  new File(filesDir).listFiles();
+        File[] filesTmp =  new File(filesDir).listFiles();
 
-        if (files != null){
+        if (filesTmp != null){
+            List<File> filesList = Arrays.asList(filesTmp);
             //倒序的数组
-            Collections.reverse(Arrays.asList(files));
+            Collections.reverse(filesList);
+
+            // 如果fileList的长度大于20,则创建一个新的列表来只包含前20个元素
+            List<File> files = new ArrayList<>();
+            for (int i = 0; i < Math.min(filesList.size(), 20); i++) {
+                files.add(filesList.get(i));
+            }
+
+
 
             TListDialog cTListDialog = (TListDialog) new TListDialog.Builder(getActivity().getSupportFragmentManager())
                     .setListLayoutRes(R.layout.dialog_recyclerview_batch_number, LinearLayoutManager.VERTICAL)
@@ -337,7 +348,7 @@ public class MineFragment extends BaseFragment {
                             ((TextView) viewHolder.getView(R.id.txt_title)).setText(R.string.msg_title_select_log);
                         }
                     })
-                    .setAdapter(new TBaseAdapter<File>(R.layout.item_dialog_list_one, Arrays.asList(files)) {
+                    .setAdapter(new TBaseAdapter<File>(R.layout.item_dialog_list_one, files) {
                         @Override
                         protected void onBind(BindViewHolder holder, int position, File file) {
                             holder.setText(R.id.tv_dialog_list, file.getName());

+ 28 - 1
app/src/main/java/com/fxy/putIn/PutinPhotosMainActivity.java

@@ -227,6 +227,7 @@ public class PutinPhotosMainActivity extends  BaseActivity implements StoJNI.Sca
         iniData();
         setTotalData();
         filedUpload = new FiledUpload(PutinPhotosMainActivity.this,"work");
+        uploadedAbnormal();
     }
 
 
@@ -381,6 +382,9 @@ public class PutinPhotosMainActivity extends  BaseActivity implements StoJNI.Sca
             }
         }
 
+
+
+
     }
 
     protected void showBack() {
@@ -458,9 +462,32 @@ public class PutinPhotosMainActivity extends  BaseActivity implements StoJNI.Sca
         tvUploadedException.setText(String.valueOf(totalAbnormal));
     }
 
+    private void uploadedAbnormal(){
+        if (awaitUploadList==null || awaitUploadList.size()==0){
+            long timestamp = getYesterdayStartTimestamp();
+            RealmResults<TakePhotosRealm> realmResults  = mRealm.where(TakePhotosRealm.class)
+                    .equalTo("isDelete",0)
+                    .equalTo("pushStatus",1)
+                    .greaterThan("createTime",  timestamp)
+                    .sort("pushStatus").findAll();
+            realmResults.load();
+            awaitUploadList.addAll(realmResults);
+            asyncUpload();
+        }
+    }
+
     public static long getCurrentDayStartTimestamp() {
         Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.HOUR_OF_DAY-1, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        return calendar.getTimeInMillis();
+    }
+
+    public static long getYesterdayStartTimestamp() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, -2);
         calendar.set(Calendar.MINUTE, 0);
         calendar.set(Calendar.SECOND, 0);
         calendar.set(Calendar.MILLISECOND, 0);

+ 29 - 25
app/src/main/res/layout/activity_fxy_hk_tray.xml

@@ -59,6 +59,32 @@
 
             </LinearLayout>
 
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/dp_10"
+                android:layout_marginTop="@dimen/dp_10"
+                android:layout_marginRight="@dimen/dp_10"
+                android:layout_marginBottom="@dimen/dp_4"
+                android:background="@drawable/bg_white_et"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:padding="10dp">
+                <TextView
+                    style="@style/fontSize"
+                    android:id="@+id/btn_change"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/dp_10"
+                    android:layout_marginRight="@dimen/dp_10"
+                    android:background="@drawable/bg_orange_item"
+                    android:gravity="center"
+                    android:text="切换托盘"
+                    android:padding="10dp"
+                    android:textColor="@color/white"
+                    android:visibility="visible" />
+            </LinearLayout>
+
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -93,6 +119,8 @@
                 </TextView>
             </LinearLayout>
 
+
+
             <LinearLayout
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
@@ -113,31 +141,7 @@
                     android:overScrollMode="never"/>
             </LinearLayout>
 
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/dp_10"
-                android:layout_marginTop="@dimen/dp_10"
-                android:layout_marginRight="@dimen/dp_10"
-                android:layout_marginBottom="@dimen/dp_4"
-                android:background="@drawable/bg_white_et"
-                android:gravity="center_vertical"
-                android:orientation="horizontal"
-                android:padding="10dp">
-                <TextView
-                    style="@style/fontSize"
-                    android:id="@+id/btn_change"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/dp_10"
-                    android:layout_marginRight="@dimen/dp_10"
-                    android:background="@drawable/bg_orange_item"
-                    android:gravity="center"
-                    android:text="切换托盘"
-                    android:padding="10dp"
-                    android:textColor="@color/white"
-                    android:visibility="visible" />
-            </LinearLayout>
+
         </LinearLayout>
     </ScrollView>