Browse Source

ESOP查看增加输入扫描功能,出库采集增加物料编号与表格相同时,表格该行背景显示红色,调整出库采集根据料号修改表格背景

songw 3 months ago
parent
commit
ca937aae80

+ 1 - 1
app/build.gradle

@@ -18,7 +18,7 @@ android {
     buildToolsVersion rootProject.ext.android.buildToolsVersion
 
     defaultConfig {
-        applicationId "erp.erp.jiaweisi_wms"
+        applicationId "uas.erp.jiaweisi_wms"
         minSdkVersion rootProject.ext.android.minSdkVersion
         targetSdkVersion rootProject.ext.android.targetSdkVersion
         versionCode rootProject.ext.android.versionCode

+ 2 - 1
app/src/main/AndroidManifest.xml

@@ -22,6 +22,7 @@
     <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 
+
     <application
         android:name="uas.erp.jiaweisi_wms.application.PdaApplication"
         android:allowBackup="true"
@@ -70,7 +71,7 @@
 
         <provider
             android:name="androidx.core.content.FileProvider"
-            android:authorities="erp.erp.jiaweisi_wms.fileprovider"
+            android:authorities="uas.erp.jiaweisi_wms.fileprovider"
             android:exported="false"
             android:grantUriPermissions="true"
             tools:replace="android:authorities">

+ 17 - 17
app/src/main/java/uas/erp/jiaweisi_wms/adapter/StorageRechargeAdapter.java

@@ -23,7 +23,6 @@ import uas.erp.jiaweisi_wms.interfaces.OnQuantityModifyListener;
 import uas.erp.jiaweisi_wms.util.CommonUtil;
 import uas.erp.jiaweisi_wms.util.HttpCallback;
 import uas.erp.jiaweisi_wms.util.HttpParams;
-import uas.erp.jiaweisi_wms.util.StringUtil;
 import uas.erp.jiaweisi_wms.util.VolleyRequest;
 
 public class StorageRechargeAdapter extends BaseAdapter {
@@ -99,29 +98,30 @@ public class StorageRechargeAdapter extends BaseAdapter {
 //                        if (mOnQuantityModifyListener != null) {
 //                            mOnQuantityModifyListener.onQuantityModify(alertDialog, s, position,remarkqty);
 //                        }
-                        if (StringUtil.isEmpty(modifyEditText.getText().toString().trim())){
-                            CommonUtil.toastNoRepeat(context, "请输入送货数量");
-                            return;
-                        }
-                        if (StringUtil.isEmpty(et_remarkqty.getText().toString().trim())){
-                            CommonUtil.toastNoRepeat(context, "请输入备品数量");
-                        }
-                        double quantity = -1;
-                        double remarkqty = -1;
+//                        if (StringUtil.isEmpty(modifyEditText.getText().toString().trim())){
+//                            CommonUtil.toastNoRepeat(context, "请输入送货数量");
+//                            return;
+//                        }
+//                        if (StringUtil.isEmpty(et_remarkqty.getText().toString().trim())){
+//                            CommonUtil.toastNoRepeat(context, "请输入备品数量");
+//                            return;
+//                        }
+                        double quantity = 0;
+                        double remarkqty = 0;
                         try {
-                            quantity = Double.parseDouble(modifyEditText.getText().toString().trim());
-                            remarkqty = Double.parseDouble(et_remarkqty.getText().toString().trim());
+                            quantity = Double.parseDouble(TextUtils.isEmpty(modifyEditText.getText().toString().trim())?"0":modifyEditText.getText().toString().trim());
+                            remarkqty = Double.parseDouble(TextUtils.isEmpty(et_remarkqty.getText().toString().trim())?"0":et_remarkqty.getText().toString().trim());
                         } catch (Exception e) {
                             CommonUtil.toastNoRepeat(context, "请输入正确的数字");
 //                    dialogInterface.dismiss();
                             return;
                         }
 
-                        if (quantity <= 0) {
-                            CommonUtil.toastNoRepeat(context, "数量必须大于0");
-//                    dialogInterface.dismiss();
-                            return;
-                        }
+//                        if (quantity <= 0) {
+//                            CommonUtil.toastNoRepeat(context, "数量必须大于0");
+////                    dialogInterface.dismiss();
+//                            return;
+//                        }
 
                         final double finalQuantity = quantity;
                         VolleyRequest.getInstance().stringRequest(mStringRequest,

+ 1 - 1
app/src/main/java/uas/erp/jiaweisi_wms/bean/OutboundTableData.java

@@ -10,7 +10,7 @@ public class OutboundTableData {
     private String V_PW_WHCODE;
     private double V_PW_ONHAND;
     private String PR_ORISPECCODE;
-    private String PD_PRODCODE;
+    private String PD_PRODCODE;     //物料编号
     private String PR_DETAIL;
     private double PD_OUTQTY;
     private Object PD_PDAQTY;

+ 35 - 10
app/src/main/java/uas/erp/jiaweisi_wms/fragment/IOCOutMakeMaterialOper.java

@@ -579,12 +579,17 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         mPrintDpi = SharedPreUtil.getInt(mActivity, "printDpi", 203);
 
         mCheckBox = root.findViewById(R.id.stock_data_summary_cb);
+
         mSmartTable = root.findViewById(R.id.st_data);
         CommonUtil.getDefaultTable(mActivity, mSmartTable);
+        initTableData();
+    }
+
+    private void initTableData() {
         PD_PRODCODE = new Column<String>("物料编号", "PD_PRODCODE");
         PR_DETAIL = new Column<String>("物料名称", "PR_DETAIL");
         PD_PDAQTY = new Column<String>("已采集数量", "PD_PDAQTY");
-        PD_WHCODE = new Column<String>("仓库", "PD_WHCODE");
+        PD_WHCODE = new Column<String>("仓库名称", "PD_WHCODE");
         V_PW_WHCODE = new Column<String>("仓位", "V_PW_WHCODE");
         PR_ORISPECCODE = new Column<String>("型号", "PR_ORISPECCODE");
         PD_OUTQTY = new Column<Double>("出库数量", "PD_OUTQTY", new IFormat<Double>() {
@@ -611,7 +616,6 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                 return CommonUtil.doubleFormat(aDouble);
             }
         });
-
     }
 
     private void setTableData(List<OutboundTableData> filterTableData) {
@@ -619,7 +623,7 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         //				仓库pd_whcode,仓位V_PW_WHCODE,实物库存V_PW_ONHAND,
         //				条码库存V_BA_REMAIN,型号PR_ORISPECCODE
         mTableData = new TableData<OutboundTableData>("出库单列表", filterTableData,
-                PD_PRODCODE, PR_DETAIL, PD_OUTQTY, PD_PDAQTY,To_Be_Collected, PD_WHCODE,
+                PD_PRODCODE, PR_DETAIL, PD_PDAQTY, PD_OUTQTY,To_Be_Collected, PD_WHCODE,
                 V_PW_WHCODE, V_PW_ONHAND, V_BA_REMAIN, PR_ORISPECCODE);
         mSmartTable.setTableData(mTableData);
         mSmartTable.postDelayed(new Runnable() {
@@ -694,8 +698,6 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
         btn_oneprint.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-
-
                 if (listArray != null && listArray.size() > 0) {
                     printEvent(listArray);
                 } else {
@@ -786,7 +788,6 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
-
                         }
                     }
 
@@ -894,7 +895,7 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                         for (int i = 0; i < dataArray.size(); i++) {
                             com.alibaba.fastjson.JSONObject dataObject = dataArray.getJSONObject(i);
                             if (dataObject != null) {
-                                //物料编号pr_code,物料名称pr_detail,出库数量pd_outqty,已采集数量pd_pdaqty,'
+                                //物料编号 pd_prodcode,物料名称pr_detail,出库数量pd_outqty,已采集数量pd_pdaqty,'
                                 //	仓库pd_whcode,仓位V_PW_WHCODE,实物库存V_PW_ONHAND,
                                 //	条码库存V_BA_REMAIN,型号PR_ORISPECCODE
                                 OutboundTableData outboundTableData = new OutboundTableData();
@@ -1084,7 +1085,6 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                 + "&type=boxcode&msdcheck=" + msdcheck
                                 + "&datecheck=" + datecheck;
                     }
-
                 }
             }
         } catch (UnsupportedEncodingException e) {
@@ -1162,6 +1162,20 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                 }
                             }
 
+                            String pd_prodcode = JsonUtils.optStringNotNull(messageObject, "BAR_PRODCODE");
+                            int[] array = new int[mStockTaskMultipleBeans.size()];
+                            if (!TextUtils.isEmpty(pd_prodcode)) {
+                                for (int i = 0; i < mStockTaskMultipleBeans.size(); i++) {
+                                    OutboundTableData outboundTableData = mStockTaskMultipleBeans.get(i);
+                                    if (pd_prodcode.equals(outboundTableData.getPD_PRODCODE())) {
+                                        array[i] = i;
+                                    }
+                                }
+                                CommonUtil.getDefaultTable(mActivity, mSmartTable,R.color.viewfinder_laser,array);
+                                initTableData();
+                                setTableData(mStockTaskMultipleBeans);
+                            }
+
                             SpannableStringBuilder style1 = new SpannableStringBuilder(part1);
                             SpannableStringBuilder style2 = new SpannableStringBuilder(part2);
                             SpannableStringBuilder style3 = new SpannableStringBuilder(part3);
@@ -1172,7 +1186,6 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                             style1 = style1.append(style2).append(style3);
                             mCollectResultTextView.setText(style1);
 
-
                             mBarcodeTableLayout.setVisibility(View.GONE);
                             mBoxTableLayout.setVisibility(View.GONE);
 
@@ -1263,11 +1276,23 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                                 }
                                 mMaterialInforTextView.setText(materialInfo);
                             }
+
+//                            String pd_prodcode = materialInformationBean.getPD_PRODCODE();
+//                            if (!TextUtils.isEmpty(pd_prodcode)) {
+//                                for (int i = 0; i < mStockTaskMultipleBeans.size(); i++) {
+//                                    OutboundTableData outboundTableData = mStockTaskMultipleBeans.get(i);
+//                                    if (pd_prodcode.equals(outboundTableData.getPD_PRODCODE())) {
+//                                        CommonUtil.getDefaultTable(mActivity, mSmartTable,i,R.color.viewfinder_laser);
+//                                    }
+//                                }
+//                                initTableData();
+//                                setTableData(mStockTaskMultipleBeans);
+//                            }
+
                         } else {
                             mMaterialInforTextView.setText("该出库单已经完成备料");
                         }
                     }
-
                 } catch (Exception e) {
                     e.printStackTrace();
                 }

+ 10 - 11
app/src/main/java/uas/erp/jiaweisi_wms/fragment/InventoryCollectFragment.java

@@ -43,7 +43,6 @@ import uas.erp.jiaweisi_wms.util.FastjsonUtil;
 import uas.erp.jiaweisi_wms.util.FragmentUtils;
 import uas.erp.jiaweisi_wms.util.HttpCallback;
 import uas.erp.jiaweisi_wms.util.HttpParams;
-import uas.erp.jiaweisi_wms.util.StringUtil;
 import uas.erp.jiaweisi_wms.util.VolleyRequest;
 import uas.erp.jiaweisi_wms.view.ClearableEditText;
 
@@ -276,21 +275,21 @@ public class InventoryCollectFragment extends BaseFragment implements View.OnCli
                                 .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
                                     @Override
                                     public void onClick(DialogInterface dialog, int which) {
-                                        if (StringUtil.isEmpty(modifyEditText.getText().toString().trim())) {
-                                            CommonUtil.toastNoRepeat(getActivity(), "请输入条码数量");
-                                            return;
-                                        }
-                                        double quantity = -1;
+//                                        if (StringUtil.isEmpty(modifyEditText.getText().toString().trim())) {
+//                                            CommonUtil.toastNoRepeat(getActivity(), "请输入条码数量");
+//                                            return;
+//                                        }
+                                        double quantity = 0;
                                         try {
-                                            quantity = Double.parseDouble(modifyEditText.getText().toString().trim());
+                                            quantity = Double.parseDouble(TextUtils.isEmpty(modifyEditText.getText().toString().trim())?"0":modifyEditText.getText().toString().trim());
                                         } catch (Exception e) {
                                             CommonUtil.toastNoRepeat(getActivity(), "请输入正确的数字");
                                             return;
                                         }
-                                        if (quantity < 0) {
-                                            CommonUtil.toastNoRepeat(getActivity(), "数量必须大于等于0");
-                                            return;
-                                        }
+//                                        if (quantity < 0) {
+//                                            CommonUtil.toastNoRepeat(getActivity(), "数量必须大于等于0");
+//                                            return;
+//                                        }
                                         VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
                                                 .url(GloableParams.ADDRESS_BARSTOCK_GETBARCODEINFO)
                                                 .method(Request.Method.GET)

+ 0 - 1
app/src/main/java/uas/erp/jiaweisi_wms/fragment/StorageInspectionListFragment.java

@@ -65,7 +65,6 @@ public class StorageInspectionListFragment extends BaseFragment implements HttpC
         Bundle arguments = getArguments();
         if (arguments != null) {
             mCaller = arguments.getString(Constants.FLAG.FLAG_INSPECTION_CALLER);
-
             if ("VerifyApply!Have".equals(mCaller)) {
                 FunctionActivity.setTitle("已转检验");
             } else if ("VerifyApply!Need".equals(mCaller)) {

+ 18 - 17
app/src/main/java/uas/erp/jiaweisi_wms/fragment/StorageRechargeFragment.java

@@ -44,7 +44,6 @@ import uas.erp.jiaweisi_wms.util.FastjsonUtil;
 import uas.erp.jiaweisi_wms.util.FragmentUtils;
 import uas.erp.jiaweisi_wms.util.HttpCallback;
 import uas.erp.jiaweisi_wms.util.HttpParams;
-import uas.erp.jiaweisi_wms.util.StringUtil;
 import uas.erp.jiaweisi_wms.util.VolleyRequest;
 import uas.erp.jiaweisi_wms.view.ClearableEditText;
 
@@ -178,6 +177,7 @@ public class StorageRechargeFragment extends BaseFragment implements View.OnClic
                         || actionId == EditorInfo.IME_ACTION_SEND
                         || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                     String barcode = mBarcodeEditText.getText().toString().trim();
+                    Log.e("aaa", "收料的条码号是:" + barcode);
                     getDataByBarcode(barcode);
                     return true;
                 }
@@ -188,29 +188,30 @@ public class StorageRechargeFragment extends BaseFragment implements View.OnClic
         mStorageRechargeAdapter.setOnQuantityModifyListener(new OnQuantityModifyListener() {
             @Override
             public void onQuantityModify(final DialogInterface dialogInterface, String text, final int position,String remarkQTY) {
-                if (StringUtil.isEmpty(text)){
-                    CommonUtil.toastNoRepeat(mActivity, "请输入送货数量");
-                    return;
-                }
-                if (StringUtil.isEmpty(remarkQTY)){
-                    CommonUtil.toastNoRepeat(mActivity, "请输入备品数量");
-                }
-                double quantity = -1;
-                double remarkqty = -1;
+//                if (StringUtil.isEmpty(text)){
+//                    CommonUtil.toastNoRepeat(mActivity, "请输入送货数量");
+//                    return;
+//                }
+//                if (StringUtil.isEmpty(remarkQTY)){
+//                    CommonUtil.toastNoRepeat(mActivity, "请输入备品数量");
+//                    return;
+//                }
+                double quantity = 0;
+                double remarkqty = 0;
                 try {
-                    quantity = Double.parseDouble(text);
-                    remarkqty = Double.parseDouble(remarkQTY);
+                    quantity = Double.parseDouble(TextUtils.isEmpty(text)?"0":text);
+                    remarkqty = Double.parseDouble(TextUtils.isEmpty(remarkQTY)?"0":remarkQTY);
                 } catch (Exception e) {
                     CommonUtil.toastNoRepeat(mActivity, "请输入正确的数字");
 //                    dialogInterface.dismiss();
                     return;
                 }
 
-                if (quantity <= 0) {
-                    CommonUtil.toastNoRepeat(mActivity, "数量必须大于0");
-//                    dialogInterface.dismiss();
-                    return;
-                }
+//                if (quantity <= 0) {
+//                    CommonUtil.toastNoRepeat(mActivity, "数量必须大于0");
+////                    dialogInterface.dismiss();
+//                    return;
+//                }
 
                 progressDialog.show();
                 final double finalQuantity = quantity;

+ 27 - 1
app/src/main/java/uas/erp/jiaweisi_wms/fragment/StorageRechargeListFragment.java

@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.android.volley.Request;
 import com.android.volley.toolbox.StringRequest;
+import com.efs.sdk.base.core.util.Log;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshListView;
 
@@ -193,6 +194,7 @@ public class StorageRechargeListFragment extends BaseFragment implements HttpCal
             }
             if (o != null) {
                 String result = o.toString();
+                Log.e("aaa","收料数据是: " + result);
                 if (JsonUtils.validate(result)) {
                     JSONObject resultObject = JSON.parseObject(result);
                     JSONArray dataArray = resultObject.getJSONArray("data");
@@ -213,11 +215,35 @@ public class StorageRechargeListFragment extends BaseFragment implements HttpCal
                                 storageRechargeInspectionBean.setVendname(FastjsonUtil.getText(mainObject, "AN_VENDNAME"));
                                 storageRechargeInspectionBean.setDetailJson(FastjsonUtil.getText(dataObject, "detail"));
                                 storageRechargeInspectionBean.setSlipable(FastjsonUtil.getBoolean(dataObject, "ifShowButton"));
-                                storageRechargeInspectionBean.setAN_INDATE(FastjsonUtil.getText(mainObject, "AN_INDATE"));
+                                storageRechargeInspectionBean.setAN_INDATE(FastjsonUtil.getText(mainObject, "AN_INDATE"));  //收料时间
+
+//                                long anIndate = 0l;
+//                                try {
+//                                    anIndate = Long.parseLong(FastjsonUtil.getText(mainObject, "AN_INDATE"));
+//                                }catch (Exception e) {
+//                                    e.printStackTrace();
+//                                }
+//                                Date date = new Date(anIndate);
+//                                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//                                String formattedDate = sdf.format(date);
+//                                storageRechargeInspectionBean.setAN_INDATE(formattedDate);  //收料时间
 
                                 mStorageRechargeInspectionBeans.add(storageRechargeInspectionBean);
                             }
                         }
+                        //正序
+                        try {
+//                            Collections.sort(mStorageRechargeInspectionBeans,new Comparator<StorageRechargeInspectionBean>(){
+//                                @Override
+//                                public int compare(StorageRechargeInspectionBean o1, StorageRechargeInspectionBean o2) {
+//                                    return o2.getAN_INDATE().compareTo(o1.getAN_INDATE());
+//                                }
+//                            });
+                            //倒序
+                            //Collections.reverse(mStorageRechargeInspectionBeans);
+                        }catch (Exception e) {
+                            e.printStackTrace();
+                        }
 
                         mStorageRechargeInspectionAdapter.notifyDataSetChanged();
                         if (mStorageRechargeInspectionBeans.size() == 0) {

+ 1 - 1
app/src/main/java/uas/erp/jiaweisi_wms/fragment/VersionUpgradeFragment.java

@@ -237,7 +237,7 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                         Intent intent = new Intent(Intent.ACTION_VIEW);
                         if (Build.VERSION.SDK_INT >= 24) {
                             Uri apkUri = FileProvider.getUriForFile(mActivity,
-                                    "erp.erp.jiaweisi_wms.fileprovider", apk);
+                                    "uas.erp.jiaweisi_wms.fileprovider", apk);
                             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                             intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                             intent.setDataAndType(apkUri, "application/vnd.android.package-archive");

+ 32 - 0
app/src/main/java/uas/erp/jiaweisi_wms/util/CommonUtil.java

@@ -1021,6 +1021,38 @@ public class CommonUtil {
                 });
     }
 
+    //指定行颜色
+    public static void getDefaultTable(Activity mActivity, SmartTable mSmartTable,int color,int[] indexs) {
+        WindowManager wm = mActivity.getWindowManager();
+        int screenWith = wm.getDefaultDisplay().getWidth();
+        mSmartTable.getConfig().setMinTableWidth(screenWith)
+                .setShowXSequence(false)
+                .setShowYSequence(false)
+                .setShowTableTitle(false)
+                .setFixedTitle(true)
+                .setVerticalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleVerticalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setSequenceHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setColumnTitleHorizontalPadding(CommonUtil.dip2px(mActivity, 10))
+                .setContentStyle(new FontStyle(CommonUtil.sp2px(mActivity, 12), Color.parseColor("#333333")))
+                .setColumnTitleStyle(new FontStyle(CommonUtil.sp2px(mActivity, 14), Color.parseColor("#000000")))
+                .setContentCellBackgroundFormat(new BaseCellBackgroundFormat<CellInfo>() {
+                    @Override
+                    public int getBackGroundColor(CellInfo cellInfo) {
+                        for (int i = 0; i < indexs.length; i++) {
+                            if (cellInfo.row == indexs[i]) {
+                                return ContextCompat.getColor(mActivity, color);
+                            }
+                        }
+                        if (cellInfo.row % 2 == 0) {
+                            return ContextCompat.getColor(mActivity, R.color.blue_50);
+                        }
+                        return TableConfig.INVALID_COLOR;
+                    }
+                });
+    }
+
     //表格内容左对齐
     public static void getLeftDefaultTable(Activity mActivity, SmartTable mSmartTable) {
         WindowManager wm = mActivity.getWindowManager();

+ 2 - 1
app/src/main/res/xml/file_paths.xml

@@ -6,7 +6,8 @@
         name="files_root" />
     <external-path path="." name="external_storage_root" />-->
 
-    <external-path name="ext_root" path="download"/>
+    <external-path
+        name="ext_root" path="download"/>
 
     <root-path
         name="root_path"

+ 2 - 2
build.gradle

@@ -54,8 +54,8 @@ ext {
             targetSdkVersion : 31,
             compileSdkVersion: 31,
             buildToolsVersion: "35.0.0",
-            versionCode      : 2,
-            versionName      : "1.0.1"
+            versionCode      : 9,
+            versionName      : "1.0.8"
     ]
 
     depsVersion = [