Browse Source

亿道MES 1.0版本

shuij 4 years ago
parent
commit
08c320f372
23 changed files with 887 additions and 46 deletions
  1. 5 5
      app/build.gradle
  2. 1 1
      app/src/main/AndroidManifest.xml
  3. 10 2
      app/src/main/java/com/uas/pda_smart_com/activity/FunctionActivity.java
  4. 6 4
      app/src/main/java/com/uas/pda_smart_com/activity/IndexActivity.java
  5. 1 0
      app/src/main/java/com/uas/pda_smart_com/adapter/ListCollectAlreadyAdapter.java
  6. 9 0
      app/src/main/java/com/uas/pda_smart_com/bean/MaterialOutMessageBean.java
  7. 10 11
      app/src/main/java/com/uas/pda_smart_com/fragment/DefaultSettingFragment.java
  8. 4 3
      app/src/main/java/com/uas/pda_smart_com/fragment/FinishedGoodsStorageFragment.java
  9. 1 1
      app/src/main/java/com/uas/pda_smart_com/fragment/IOCOutMakeMaterial.java
  10. 0 6
      app/src/main/java/com/uas/pda_smart_com/fragment/IndexWareHouseContentFragment.java
  11. 455 0
      app/src/main/java/com/uas/pda_smart_com/fragment/SNGuoZhanFragment.java
  12. 84 0
      app/src/main/java/com/uas/pda_smart_com/fragment/ZhiChengManagerFragment.java
  13. 30 7
      app/src/main/java/com/uas/pda_smart_com/global/GloableParams.java
  14. 15 0
      app/src/main/java/com/uas/pda_smart_com/tools/DataSourceManager.java
  15. 3 0
      app/src/main/java/com/uas/pda_smart_com/util/Constants.java
  16. 1 1
      app/src/main/res/layout/activity_index.xml
  17. 16 0
      app/src/main/res/layout/fragment_default_setting.xml
  18. 211 0
      app/src/main/res/layout/fragment_sn_guozhan.xml
  19. 18 0
      app/src/main/res/layout/fragment_zhicheng_manager.xml
  20. 3 1
      app/src/main/res/layout/layout_list_collect_already.xml
  21. 1 1
      app/src/main/res/values/strings.xml
  22. 1 1
      app/src/main/res/values/styles.xml
  23. 2 2
      build.gradle

+ 5 - 5
app/build.gradle

@@ -4,16 +4,16 @@ apply plugin: 'com.android.application'
 android {
     signingConfigs {
         udapda {
-            keyAlias 'pda_smart_com_key'
+            keyAlias 'pad_yidao_key'
             keyPassword 'pdakeystone'
-            storeFile file('C:\\sigin\\pda_smart_com_keystone.jks')
+            storeFile file('C:\\sigin\\pda_yidao_keystone.jks')
             storePassword 'pdakeystone'
         }
     }
     compileSdkVersion rootProject.ext.android.compileSdkVersion
     buildToolsVersion rootProject.ext.android.buildToolsVersion
     defaultConfig {
-        applicationId "com.uas.pda_smart_com"
+        applicationId "com.uas.pda_yidao"
         minSdkVersion rootProject.ext.android.minSdkVersion
         targetSdkVersion rootProject.ext.android.targetSdkVersion
         versionCode rootProject.ext.android.versionCode
@@ -41,11 +41,11 @@ android {
             if (outputFile != null && outputFile.name.endsWith('.apk')) {
                 if (variant.buildType.name.equals('release')) {
                     def releaseInfo = getVersionName()
-                    fileName = "UAS_PDA_SMART_COM_RELEASE_${releaseInfo}.apk"
+                    fileName = "UAS_PDA_YIDAO_RELEASE_${releaseInfo}.apk"
 
                 } else if (variant.buildType.name.equals('debug')) {
                     def debugInfo = getVersionName()
-                    fileName = "UAS_PDA_SMART_COM_DEBUG_${debugInfo}.apk"
+                    fileName = "UAS_PDA_YIDAO_DEBUG_${debugInfo}.apk"
                 }
                 outputFileName = fileName
             }

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

@@ -62,7 +62,7 @@
 
         <provider
             android:name="android.support.v4.content.FileProvider"
-            android:authorities="com.uas.pda_smart_com"
+            android:authorities="com.uas.pda_yidao"
             android:exported="false"
             android:grantUriPermissions="true">
             <meta-data

+ 10 - 2
app/src/main/java/com/uas/pda_smart_com/activity/FunctionActivity.java

@@ -13,7 +13,7 @@ import android.widget.TextView;
 
 import com.uas.pda_smart_com.R;
 import com.uas.pda_smart_com.fragment.BaseFragment;
-import com.uas.pda_smart_com.fragment.IOCOutMakeMaterial;
+import com.uas.pda_smart_com.fragment.IOCOutManagement;
 import com.uas.pda_smart_com.fragment.IndexInOutContentFragment;
 import com.uas.pda_smart_com.fragment.IndexSettingFragment;
 import com.uas.pda_smart_com.fragment.IndexShopContentFragment;
@@ -22,6 +22,7 @@ import com.uas.pda_smart_com.fragment.MSDManageFragment;
 import com.uas.pda_smart_com.fragment.SCSMTFragment;
 import com.uas.pda_smart_com.fragment.SolderPasteManageFragment;
 import com.uas.pda_smart_com.fragment.StorageInFragment;
+import com.uas.pda_smart_com.fragment.ZhiChengManagerFragment;
 import com.uas.pda_smart_com.global.GloableParams;
 import com.uas.pda_smart_com.interfaces.BackHandlerInterface;
 import com.uas.pda_smart_com.tools.DataSourceManager;
@@ -78,7 +79,8 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                     break;
                 //出库
                 case GloableParams.GRIDNAME_OUT_STORAGE:
-                    fragment = new IOCOutMakeMaterial();
+                  //  fragment = new IOCOutMakeMaterial();
+                      fragment=new IOCOutManagement();
                     break;
                 //车间管理
                 case GloableParams.GRIDNAME_SHOPCONTENT:
@@ -88,6 +90,10 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                 case GloableParams.GRIDNAME_STORAGE_MANAGER:
                     fragment = new IndexWareHouseContentFragment();
                     break;
+                //制程管理
+                case GloableParams.GRIDNAME_ZHICHENG_MANAGER:
+                    fragment = new ZhiChengManagerFragment();
+                    break;
                 //MSD管理
                 case GloableParams.GRIDNAME_MSD_MANAGER:
                     fragment = new MSDManageFragment();
@@ -111,6 +117,8 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                     .add(R.id.container_function_fragment, fragment).commitAllowingStateLoss();
         }
 
+
+
     }
 
     @Override

+ 6 - 4
app/src/main/java/com/uas/pda_smart_com/activity/IndexActivity.java

@@ -200,6 +200,8 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
             isPower = true;
         } else if (GloableParams.GRIDNAME_SOLDER_MANAGER.equals(itemName)) {
             isPower = true;
+        }else if( GloableParams.GRIDNAME_ZHICHENG_MANAGER.equals(itemName)){//制程管理
+            isPower = true;
         } else if (powerList != null) {
             for (int i = 0; i < powerList.size(); i++) {
                 String power = powerList.get(i);
@@ -228,13 +230,13 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
             }
         }
 
-        if (isPower) {
+ //       if (isPower) {
             Intent intent = new Intent(IndexActivity.this, FunctionActivity.class);
             intent.putExtra(DataSourceManager.KEY_GRID_ITEMNAME, itemName);
             startActivity(intent);
-        } else {
-            CommonUtil.toastNoRepeat(this, getString(R.string.have_no_power));
-        }
+//        } else {
+//            CommonUtil.toastNoRepeat(this, getString(R.string.have_no_power));
+//        }
 
 //        } else {
 //        CommonUtil.toastNoRepeat(this, "该功能正在内测");

+ 1 - 0
app/src/main/java/com/uas/pda_smart_com/adapter/ListCollectAlreadyAdapter.java

@@ -59,6 +59,7 @@ public class ListCollectAlreadyAdapter extends BaseAdapter {
         } else if (!TextUtils.isEmpty(object.getBI_OUTBOXCODE())) {
             holder.listCollectAlreadyBarcodeTv.setText(object.getBI_OUTBOXCODE());
         }
+
         if (object.getBI_INQTY() == 0 || object.getBI_INQTY() == -1) {
             holder.listCollectAlreadyQuantityTv.setText(CommonUtil.doubleFormat(object.getBI_OUTQTY()));
         } else {

+ 9 - 0
app/src/main/java/com/uas/pda_smart_com/bean/MaterialOutMessageBean.java

@@ -52,6 +52,15 @@ public class MaterialOutMessageBean {
         private long PI_ID;
         private String PI_STATUSCODE;
         private String PI_PDASTATUS;
+        private String PI_WHCODE;
+
+        public String getPI_WHCODE() {
+            return PI_WHCODE;
+        }
+
+        public void setPI_WHCODE(String PI_WHCODE) {
+            this.PI_WHCODE = PI_WHCODE;
+        }
 
         public String getPD_WHCODE() {
             return PD_WHCODE;

+ 10 - 11
app/src/main/java/com/uas/pda_smart_com/fragment/DefaultSettingFragment.java

@@ -15,6 +15,7 @@ public class DefaultSettingFragment extends BaseFragment implements View.OnClick
     private ClearableEditText defaultSettingWarehouseEt;
     private ClearableEditText defaultSettingLinecodeEt;
     private ClearableEditText mDefaultRejectsWarehouseEt;
+    private ClearableEditText default_setting_gwzy_et;
 
     @Override
     protected int getLayout() {
@@ -28,6 +29,7 @@ public class DefaultSettingFragment extends BaseFragment implements View.OnClick
         defaultSettingWarehouseEt = (ClearableEditText) root.findViewById(R.id.default_setting_warehouse_et);
         defaultSettingLinecodeEt = (ClearableEditText) root.findViewById(R.id.default_setting_linecode_et);
         mDefaultRejectsWarehouseEt = (ClearableEditText) root.findViewById(R.id.default_setting_rejects_warehouse_et);
+        default_setting_gwzy_et=(ClearableEditText)root.findViewById(R.id.default_setting_gwzy_et);
     }
 
     @Override
@@ -54,33 +56,30 @@ public class DefaultSettingFragment extends BaseFragment implements View.OnClick
         if (defaultRejectsWarehouse != null) {
             mDefaultRejectsWarehouseEt.setText(defaultRejectsWarehouse);
         }
+
+        String defaultGwzy = SharedPreUtil.getString(mActivity
+                , Constants.FLAG.CACHE_DEFAULT_GWZY + CommonUtil.getUserName(mActivity), null);
+        if (defaultGwzy != null) {
+            default_setting_gwzy_et.setText(defaultGwzy);
+        }
     }
 
     @Override
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.default_setting_submit_btn:
-//                if (TextUtils.isEmpty(getDefaultSettingWarehouseEt().getText().toString().trim())) {
-//                    Toast.makeText(getActivity(), "请输入仓库编号", Toast.LENGTH_SHORT).show();
-//                } else {
-
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.DEFAULT_WAREHOUSE_CACHE + CommonUtil.getUserName(mActivity), defaultSettingWarehouseEt.getText().toString().trim());
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.SMT_LINECODE_CACHE + CommonUtil.getUserName(mActivity) + CommonUtil.getFunMaster(mActivity), defaultSettingLinecodeEt.getText().toString().trim());
                 SharedPreUtil.saveString(mActivity, Constants.FLAG.CACHE_DEFAULT_REJECTS_WAREHOUSE + CommonUtil.getUserName(mActivity), mDefaultRejectsWarehouseEt.getText().toString().trim());
+                SharedPreUtil.saveString(mActivity, Constants.FLAG.CACHE_DEFAULT_GWZY + CommonUtil.getUserName(mActivity), default_setting_gwzy_et.getText().toString().trim());
+
                 Toast.makeText(getActivity(), "缺省项设置成功", Toast.LENGTH_SHORT).show();
 
-//                new Handler().postDelayed(new Runnable() {
-//                    @Override
-//                    public void run() {
                 if (getActivity().getSupportFragmentManager().getBackStackEntryCount() == 0) {
                     getActivity().finish();
                 } else {
                     getActivity().getSupportFragmentManager().popBackStack();
                 }
-//                    }
-//                }, 500);
-
-//                }
                 break;
         }
     }

+ 4 - 3
app/src/main/java/com/uas/pda_smart_com/fragment/FinishedGoodsStorageFragment.java

@@ -167,7 +167,7 @@ public class FinishedGoodsStorageFragment extends BaseFragment implements View.O
                                 dataBean.setPI_ID(JsonUtils.optLongNotNull(materialObject, "PI_ID"));
                                 dataBean.setPI_STATUSCODE(JsonUtils.optStringNotNull(materialObject, "PI_STATUSCODE"));
                                 dataBean.setPI_PDASTATUS(JsonUtils.optStringNotNull(materialObject, "PI_PDASTATUS"));
-
+                                dataBean.setPI_WHCODE(JsonUtils.optStringNotNull(materialObject, "PI_WHCODE"));
                                 dataBeans.add(dataBean);
                             }
                         }
@@ -422,7 +422,7 @@ public class FinishedGoodsStorageFragment extends BaseFragment implements View.O
                                 dataBean.setPI_ID(JsonUtils.optLongNotNull(materialObject, "PI_ID"));
                                 dataBean.setPI_STATUSCODE(JsonUtils.optStringNotNull(materialObject, "PI_STATUSCODE"));
                                 dataBean.setPI_PDASTATUS(JsonUtils.optStringNotNull(materialObject, "PI_PDASTATUS"));
-
+                                dataBean.setPI_WHCODE(JsonUtils.optStringNotNull(materialObject, "PI_WHCODE"));
                                 dataBeans.add(dataBean);
                             }
                         }
@@ -730,7 +730,8 @@ public class FinishedGoodsStorageFragment extends BaseFragment implements View.O
         Bundle bundle = new Bundle();
         bundle.putString("pi_id", mProdInfoList.get(position).getPI_ID() + "");
         bundle.putString("pi_inoutno", mProdInfoList.get(position).getPI_INOUTNO());
-        bundle.putString("pd_whcode", mProdInfoList.get(position).getPD_WHCODE());
+        bundle.putString("pd_whcode", TextUtils.isEmpty(mProdInfoList.get(position).getPD_WHCODE())?
+                mProdInfoList.get(position).getPI_WHCODE() : mProdInfoList.get(position).getPD_WHCODE());
         mFragment = new FinishedGoodsCollectFragment();
 //        ((FunctionActivity) getActivity()).fragment = (BaseFragment) mFragment;
         mFragment.setArguments(bundle);

+ 1 - 1
app/src/main/java/com/uas/pda_smart_com/fragment/IOCOutMakeMaterial.java

@@ -118,7 +118,7 @@ public class IOCOutMakeMaterial extends BaseFragment {
     protected void initViews() {
         ButterKnife.bind(this, root);
         mDbManager = new DBManager(getActivity());
-        ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText("出库单");
+        ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText("材料出库单");
 
         //弹出软键盘
         mInputMethodManager = (InputMethodManager) root.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

+ 0 - 6
app/src/main/java/com/uas/pda_smart_com/fragment/IndexWareHouseContentFragment.java

@@ -133,12 +133,6 @@ public class IndexWareHouseContentFragment extends BaseFragment implements Adapt
                     getFragmentManager().beginTransaction().addToBackStack(null)
                             .replace(R.id.container_function_fragment, fragment).commit();
                     break;
-                    //BOM校验
-                case GloableParams.GRIDNAME_BOM_CHECK:
-                    fragment = new BomCheckFragment();
-                    getFragmentManager().beginTransaction().addToBackStack(null)
-                            .replace(R.id.container_function_fragment, fragment).commit();
-                    break;
             }
         }
     }

+ 455 - 0
app/src/main/java/com/uas/pda_smart_com/fragment/SNGuoZhanFragment.java

@@ -0,0 +1,455 @@
+package com.uas.pda_smart_com.fragment;
+
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.inputmethod.EditorInfo;
+import android.widget.AdapterView;
+import android.widget.AutoCompleteTextView;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.volley.AuthFailureError;
+import com.android.volley.DefaultRetryPolicy;
+import com.android.volley.Request;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.toolbox.StringRequest;
+import com.uas.pda_smart_com.R;
+import com.uas.pda_smart_com.application.PdaApplication;
+import com.uas.pda_smart_com.global.GloableParams;
+import com.uas.pda_smart_com.tools.SharedPreUtil;
+import com.uas.pda_smart_com.tools.VolleyUtil;
+import com.uas.pda_smart_com.util.CommonUtil;
+import com.uas.pda_smart_com.util.Constants;
+import com.uas.pda_smart_com.util.JsonUtils;
+import com.uas.pda_smart_com.util.LogUtil;
+import com.uas.pda_smart_com.util.MyArrayAdapter;
+import com.uas.pda_smart_com.view.ClearableEditText;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * SN过站主页
+ */
+public class SNGuoZhanFragment extends BaseFragment  {
+    AutoCompleteTextView ac_tv_gwzy;
+    ImageView iv_clear_1;
+    AutoCompleteTextView ac_tv_gdh;
+    ImageView iv_clear_2;
+    TextView tv_product_no;
+    TextView tv_product_name;
+    TextView tv_has_caiji_num;
+    TextView tv_not_caiji_num;
+    ClearableEditText et_sn;
+    TextView tv_msg;
+    private static final int MACODE_FUZZY = 0;//工单号
+    private static final int GWZY_FUZZY = 1;//岗位资源
+    private StringRequest mStringRequest;
+    private MyArrayAdapter mAutoStringAdapter;
+    private String pr_code;//产品编号
+    private String pr_detail;//产品名称
+    private String  mcd_okqty;// 已采集数
+    private String  mcd_remainqty;// 待采集数
+    private String iSourceCode;
+
+
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_sn_guozhan;
+    }
+
+    @Override
+    protected void initViews() {
+        root.setBackgroundColor(getResources().getColor(R.color.background_color_second));
+        ac_tv_gwzy=root.findViewById(R.id.ac_tv_gwzy);
+        iv_clear_1=root.findViewById(R.id.iv_clear_1);
+        ac_tv_gdh=root.findViewById(R.id.ac_tv_gdh);
+        iv_clear_2=root.findViewById(R.id.iv_clear_2);
+        tv_product_no=root.findViewById(R.id.tv_product_no);
+        tv_product_name=root.findViewById(R.id.tv_product_name);
+        tv_has_caiji_num=root.findViewById(R.id.tv_has_caiji_num);
+        tv_not_caiji_num=root.findViewById(R.id.tv_not_caiji_num);
+        et_sn=root.findViewById(R.id.et_sn);
+        tv_msg=root.findViewById(R.id.tv_msg);
+        ac_tv_gwzy.setThreshold(1);
+        ac_tv_gdh.setThreshold(1);
+        ac_tv_gwzy.requestFocus();
+        iSourceCode=SharedPreUtil.getString(mActivity
+                , Constants.FLAG.CACHE_DEFAULT_GWZY + CommonUtil.getUserName(mActivity), null);
+        if (!TextUtils.isEmpty(iSourceCode) ) {
+            ac_tv_gwzy.setText(iSourceCode);
+            ac_tv_gwzy.setSelection(iSourceCode.length());
+        }
+    }
+
+    @Override
+    protected void initEvents() {
+        ac_tv_gwzy.setOnFocusChangeListener(new View.OnFocusChangeListener() {
+            @Override
+            public void onFocusChange(View v, boolean hasFocus) {
+                if(!hasFocus){
+                    iSourceCode=ac_tv_gwzy.getText().toString().trim();
+                    if(!TextUtils.isEmpty(iSourceCode)){
+                        SharedPreUtil.saveString(mActivity, Constants.FLAG.CACHE_DEFAULT_GWZY + CommonUtil.getUserName(mActivity),iSourceCode);
+                    }
+                }
+            }
+        });
+        ac_tv_gwzy.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if (s.length() >= 1) {
+                    if (!s.toString().matches(Constants.REGEX.NO_SYMBOL)) {
+                        CommonUtil.toastNoRepeat(getActivity(), getResources().getString(R.string.note_number_cannot_contain_special));
+                        ac_tv_gwzy.setText(null);
+                        ac_tv_gwzy.requestFocus();
+                    } else {
+                        fuzzySearch(ac_tv_gwzy,GWZY_FUZZY);
+                    }
+                }
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s == null || s.length() == 0) {
+                    iv_clear_1.setVisibility(View.GONE);
+                } else {
+                    iv_clear_1.setVisibility(View.VISIBLE);
+                }
+            }
+        });
+
+        ac_tv_gdh.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if (s.length() >= 1) {
+                    if (!s.toString().matches(Constants.REGEX.NO_SYMBOL)) {
+                        CommonUtil.toastNoRepeat(getActivity(), getResources().getString(R.string.note_number_cannot_contain_special));
+                        ac_tv_gdh.setText(null);
+                        ac_tv_gdh.requestFocus();
+                    } else {
+                        fuzzySearch(ac_tv_gdh,MACODE_FUZZY);
+                    }
+                }
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s == null || s.length() == 0) {
+                    iv_clear_2.setVisibility(View.GONE);
+                } else {
+                    iv_clear_2.setVisibility(View.VISIBLE);
+                }
+            }
+        });
+        et_sn.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_SEND
+                        || actionId == EditorInfo.IME_ACTION_SEARCH
+                        || actionId == EditorInfo.IME_ACTION_DONE
+                        || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
+                    if (TextUtils.isEmpty(et_sn.getText().toString().trim())) {
+                        CommonUtil.toastNoRepeat(getActivity(), "请输入SN");
+                    } else if (CommonUtil.isStringContainsSpecialChar(et_sn.getText().toString().trim())) {
+                        CommonUtil.toastNoRepeat(getActivity(), "SN不能包含特殊字符");
+                    } else {
+                        validateSN();
+                    }
+                    return true;
+                }
+                return false;
+            }
+        });
+
+        ac_tv_gdh.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                if (TextUtils.isEmpty(ac_tv_gwzy.getText().toString().trim())) {
+                    CommonUtil.toastNoRepeat(getActivity(), "请输入岗位资源");
+                } else if (CommonUtil.isStringContainsSpecialChar(ac_tv_gwzy.getText().toString().trim())) {
+                    CommonUtil.toastNoRepeat(getActivity(), "岗位资源不能包含特殊字符");
+                } else {
+                   iSourceCode=ac_tv_gwzy.getText().toString().trim();
+                   getProdInfoMessage(iSourceCode);
+                }
+            }
+        });
+
+        iv_clear_1.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                ac_tv_gwzy.setText("");
+            }
+        });
+        iv_clear_2.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                ac_tv_gdh.setText("");
+            }
+        });
+
+    }
+
+    private void validateSN() {
+        String iSourceCode=ac_tv_gwzy.getText().toString().trim();//岗位资源
+        String iMakeCode=ac_tv_gdh.getText().toString().trim();//工单号
+        String snStr=et_sn.getText().toString().trim();
+        if(TextUtils.isEmpty(iSourceCode)){
+            CommonUtil.toastNoRepeat(mActivity, "岗位资源不能为空");
+            return;
+        }
+        if(TextUtils.isEmpty(iMakeCode)){
+            CommonUtil.toastNoRepeat(mActivity, "工单号不能为空");
+            return;
+        }
+        if(TextUtils.isEmpty(snStr)){
+            CommonUtil.toastNoRepeat(mActivity, "SN不能为空");
+            return;
+        }
+        getProdInfoMessage(iSourceCode);
+
+        progressDialog.show();
+        String url = null;
+        try {
+            url = GloableParams.ADDRESS_SN_PASS+
+                    "?iMakeCode=" + URLEncoder.encode(iMakeCode, "utf-8")
+                    +"&iSourceCode="+URLEncoder.encode(iSourceCode, "utf-8")
+                    +"&iSN="+URLEncoder.encode(snStr, "utf-8")
+                    +"&iUserCode="+URLEncoder.encode(CommonUtil.getUserName(mActivity), "utf-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        //取消重复请求
+        PdaApplication.mRequestQueue.cancelAll(TAG);
+        mStringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
+            @Override
+            public void onResponse(String s) {
+                progressDialog.dismiss();
+                try {
+                    JSONObject resultJsonObject = new JSONObject(s);
+                    JSONObject dataObject = resultJsonObject.getJSONObject("data");
+                    String oErr =JsonUtils.optStringNotNull(dataObject, "oErr");
+                    if(!TextUtils.isEmpty(oErr)){
+                        tv_msg.setText(oErr);
+                        tv_msg.setTextColor(getResources().getColor(R.color.red));
+                    }else{
+                        tv_msg.setText("SN:"+snStr+"采集成功");
+                        tv_msg.setTextColor(getResources().getColor(R.color.black));
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+            }
+        }, new Response.ErrorListener() {
+            @Override
+            public void onErrorResponse(VolleyError error) {
+                progressDialog.dismiss();
+                CommonUtil.showErrorToast(error);
+                reset();
+            }
+        }) {
+            @Override
+            public Map<String, String> getHeaders() throws AuthFailureError {
+                return VolleyUtil.getVolleyUtil().setCookies();
+            }
+        };
+        mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
+        mStringRequest.setTag(TAG);
+        PdaApplication.mRequestQueue.add(mStringRequest);
+    }
+    /**
+     * 确定按钮点击事件、enter事件
+     */
+    private void getProdInfoMessage(String iSourceCode) {
+        progressDialog.show();
+        String iMakeCode = ac_tv_gdh.getText().toString();
+
+        if (TextUtils.isEmpty(iMakeCode)) {
+            progressDialog.dismiss();
+            return;
+        }
+        String url = null;
+        try {
+            url = GloableParams.ADDRESS_GET_MAKE_INFO+ "?iMakeCode=" + URLEncoder.encode(iMakeCode, "utf-8")+"&iSourceCode="+URLEncoder.encode(iSourceCode, "utf-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        //取消重复请求
+        PdaApplication.mRequestQueue.cancelAll(TAG);
+        mStringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
+            @Override
+            public void onResponse(String s) {
+                progressDialog.dismiss();
+                LogUtil.e("!!!ok", s);
+                try {
+                    JSONObject resultJsonObject = new JSONObject(s);
+                    JSONObject dataObject = resultJsonObject.getJSONObject("data");
+                    pr_code=JsonUtils.optStringNotNull(dataObject, "PR_CODE");
+                    pr_detail=JsonUtils.optStringNotNull(dataObject, "PR_DETAIL");
+                    mcd_okqty=JsonUtils.optStringNotNull(dataObject, "MCD_OKQTY");
+                    mcd_remainqty=JsonUtils.optStringNotNull(dataObject, "MCD_REMAINQTY");
+                    tv_product_no.setText(pr_code);
+                    tv_product_name.setText(pr_detail);
+                    tv_has_caiji_num.setText(mcd_okqty);
+                    tv_not_caiji_num.setText(mcd_remainqty);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+            }
+        }, new Response.ErrorListener() {
+            @Override
+            public void onErrorResponse(VolleyError error) {
+                progressDialog.dismiss();
+                CommonUtil.showErrorToast(error);
+                reset();
+            }
+        }) {
+            @Override
+            public Map<String, String> getHeaders() throws AuthFailureError {
+                return VolleyUtil.getVolleyUtil().setCookies();
+            }
+        };
+        mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
+        mStringRequest.setTag(TAG);
+        PdaApplication.mRequestQueue.add(mStringRequest);
+    }
+
+    public void reset() {
+        if (getActivity() != null) {
+            ac_tv_gwzy.getText().clear();
+            ac_tv_gdh.getText().clear();
+            tv_product_name.setText("");
+            tv_product_no.setText("");
+            tv_has_caiji_num.setText("");
+            tv_not_caiji_num.setText("");
+            if (progressDialog.isShowing()){
+                progressDialog.dismiss();
+            }
+            CommonUtil.editTextGetFocus(ac_tv_gwzy);
+        }
+    }
+
+
+    /**
+     * 模糊查询
+     *
+     * @param jobsEditText
+     * @param fuzzy
+     */
+    private void fuzzySearch(final AutoCompleteTextView jobsEditText, final int fuzzy) {
+        String url = null;
+        try {
+            if (fuzzy == MACODE_FUZZY){//工单模糊搜索
+                url = GloableParams.ADDRESS_FULL_SEARCH_MAKE
+                        + "?iMakeCode=" + URLEncoder.encode(jobsEditText.getText().toString().toLowerCase(), "utf-8");
+            } else if (fuzzy == GWZY_FUZZY){//岗位资源模糊搜索
+                url = GloableParams.ADDRESS_FULL_SEARCH_SOURCE
+                        + "?iSource=" + URLEncoder.encode(jobsEditText.getText().toString().toLowerCase(), "utf-8");
+            }
+
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+            if (fuzzy == MACODE_FUZZY){
+                url = GloableParams.ADDRESS_FULL_SEARCH_MAKE
+                        + "?iMakeCode=" + jobsEditText.getText().toString().toLowerCase();
+            } else if (fuzzy == GWZY_FUZZY){
+                url = GloableParams.ADDRESS_FULL_SEARCH_SOURCE
+                        + "?iSource=" + jobsEditText.getText().toString().toLowerCase();
+            }
+        }
+
+        PdaApplication.mRequestQueue.cancelAll(TAG + "fuzzysearch");
+
+        mStringRequest = new StringRequest(Request.Method.GET, url,
+                new Response.Listener<String>() {
+                    @Override
+                    public void onResponse(String s) {
+                        Log.e("autoStrings", s);
+                        List<String> mAutoStrings = new ArrayList<String>();
+                        try {
+                            mAutoStrings.clear();
+                            mAutoStringAdapter = new MyArrayAdapter<String>(mActivity, android.R.layout.simple_dropdown_item_1line, mAutoStrings);
+                            if (jobsEditText != null) {
+                                jobsEditText.setAdapter(mAutoStringAdapter);
+                            }
+
+                            JSONObject resultObject = new JSONObject(s);
+                            JSONArray dataArray = resultObject.optJSONArray("data");
+                            if (dataArray != null) {
+                                for (int i = 0; i < dataArray.length(); i++) {
+                                    JSONObject dataObject = dataArray.optJSONObject(i);
+                                    if (dataObject != null) {
+                                        String pi_inoutno = JsonUtils.optStringNotNull(dataObject, fuzzy == MACODE_FUZZY ? "MA_CODE" : "SC_CODE");
+                                        if (!TextUtils.isEmpty(pi_inoutno))
+                                            mAutoStringAdapter.add(pi_inoutno);
+                                    }
+                                }
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                },
+                new Response.ErrorListener() {
+                    @Override
+                    public void onErrorResponse(VolleyError volleyError) {
+                        CommonUtil.showErrorToast(volleyError);
+                        jobsEditText.setText("");
+                        jobsEditText.requestFocus();
+                        CommonUtil.openKeybord(jobsEditText, mActivity);
+                    }
+                }) {
+            @Override
+            public Map<String, String> getHeaders() throws AuthFailureError {
+                return VolleyUtil.getVolleyUtil().setCookies();
+            }
+        };
+        mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
+        mStringRequest.setTag(TAG + "fuzzysearch");
+        PdaApplication.mRequestQueue.add(mStringRequest);
+    }
+
+
+    @Override
+    protected void initDatas() {
+        ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText("SN过站");
+    }
+
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+
+}

+ 84 - 0
app/src/main/java/com/uas/pda_smart_com/fragment/ZhiChengManagerFragment.java

@@ -0,0 +1,84 @@
+package com.uas.pda_smart_com.fragment;
+
+import android.support.v4.app.Fragment;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.GridView;
+import android.widget.SimpleAdapter;
+
+import com.uas.pda_smart_com.R;
+import com.uas.pda_smart_com.activity.FunctionActivity;
+import com.uas.pda_smart_com.global.GloableParams;
+import com.uas.pda_smart_com.tools.DataSourceManager;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @note:仓库管理WH
+ */
+public class ZhiChengManagerFragment extends BaseFragment implements AdapterView.OnItemClickListener {
+    GridView gridView;
+    List<Map<String, Object>> gridItemList;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_zhicheng_manager;
+    }
+
+    @Override
+    protected void initViews() {
+        FunctionActivity.setTitle("制程管理");
+        //获取组件
+        gridView = (GridView) root.findViewById(R.id.grid_menu_zhicheng);
+        //配置数据
+        gridItemList = DataSourceManager.getDataSourceManager().getZhiChengMenuList();
+        //配置Adapter
+        SimpleAdapter adapter = new SimpleAdapter(getActivity(), gridItemList, R.layout.item_grid_first,
+                new String[]{DataSourceManager.KEY_GRID_ITEMIMG, DataSourceManager.KEY_GRID_ITEMNAME},
+                new int[]{R.id.first_griditem_img, R.id.first_griditem_name});
+        gridView.setAdapter(adapter);
+    }
+
+    @Override
+    protected void initEvents() {
+        //配置监听
+        gridView.setOnItemClickListener(this);
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        String gridName = (String) gridItemList.get(position).get(DataSourceManager.KEY_GRID_ITEMNAME);
+        Fragment fragment;
+        switch (gridName) {
+            //SN过站
+            case GloableParams.GRIDNAME_SN_GUOZHAN:
+                fragment = new SNGuoZhanFragment();
+                getFragmentManager().beginTransaction().addToBackStack(null)
+                        .replace(R.id.container_function_fragment, fragment).commit();
+                break;
+            //BOM校验
+            case GloableParams.GRIDNAME_BOM_CHECK:
+                fragment = new BomCheckFragment();
+                getFragmentManager().beginTransaction().addToBackStack(null)
+                        .replace(R.id.container_function_fragment, fragment).commit();
+                break;
+        }
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+}

+ 30 - 7
app/src/main/java/com/uas/pda_smart_com/global/GloableParams.java

@@ -225,7 +225,10 @@ public class GloableParams {
     public static String ADDRESS_BARSTOCK_GETPRODINOUTQTYSUM;
     public static String ADDRESS_OUTMATERIAL_CHECKBOMBARCODE;
     public static String ADDRESS_OUTMATERIAL_GETPREMATERIALLIST;
-
+    public static  String ADDRESS_FULL_SEARCH_MAKE;
+    public static  String ADDRESS_FULL_SEARCH_SOURCE;
+    public static  String ADDRESS_SN_PASS;
+    public static  String ADDRESS_GET_MAKE_INFO;
 
     //连接服务器请求地址
     private static final String ADDRESSTAIL_CONNECT_SERVER = "/api/pda/getAllMasters.action";
@@ -630,8 +633,15 @@ public class GloableParams {
     private static final String ADDRESSTAIL_SET_DEFAULT_PRINT = "/api/pda/print/setDefaultPrint.action";
     //切换账套
     private static final String ADDRESSTAIL_CHANGE_MASTER = "/api/pda/changeMaster.action";
-
+    /**
+     * 制程管理 SN过站
+     */
     /***********************************************************************************************/
+    private static final String ADDRESSTAIL_FULL_SEARCH_MAKE = "/api/pda/check/fuzzySearchMake.action";
+    private static final String ADDRESSTAIL_FULL_SEARCH_SOURCE = "/api/pda/check/fuzzySearchSource.action";
+    private static final String ADDRESSTAIL_SN_PASS = "/api/pda/check/SNPass.action";
+    private static final String ADDRESSTAIL_GET_MAKE_INFO = "/api/pda/check/GetMakeInfo.action";
+
     /*界面文字和图片资源,控制后续数据一致*/
     //主界面
     public static final String GRIDNAME_INOUT_STORAGE = "出入库";
@@ -643,11 +653,12 @@ public class GloableParams {
     public static final String GRIDNAME_IN_STORAGE = "入库";
     public static final String GRIDNAME_OUT_STORAGE = "出库";
     public static final String GRIDNAME_STORAGE_MANAGER = "仓库管理";
+    public static final String GRIDNAME_ZHICHENG_MANAGER = "制程管理";
     public static final String GRIDNAME_SETTING = "设置";
     public static String[] indexMainGridNames = {GRIDNAME_IN_STORAGE, GRIDNAME_OUT_STORAGE,
-            GRIDNAME_STORAGE_MANAGER, GRIDNAME_SETTING};
+            GRIDNAME_STORAGE_MANAGER, GRIDNAME_ZHICHENG_MANAGER,GRIDNAME_SETTING};
     public static int[] indexMainGridImgs = {R.drawable.ic_storage_in,
-            R.drawable.ic_storage_out, R.drawable.mainmenu_storehousemanager,
+            R.drawable.ic_storage_out, R.drawable.mainmenu_storehousemanager,R.drawable.mainmenu_outinstorage,
             R.drawable.mainmenu_usersetting};
     //INDEX:出入库管理Index
     public static final String GRIDNAME_CODEBAR_COLLECT = "入库";
@@ -678,13 +689,21 @@ public class GloableParams {
     public static final String GRIDNAME_STOCK_BARCODE = "补贴库存条码";
     public static final String GRIDNAME_WORK_INVENTORY = "盘点作业";
     public static final String GRIDNAME_MODIFY_QUANTITY = "条码数量修改";
-    public static final String GRIDNAME_BOM_CHECK = "BOM校验";
+
     public static final String[] storageGridNames = {GRIDNAME_GOOD_SEARCH, GRIDNAME_BATCH_OPRATION,
-            GRIDNAME_STORAGE_TRANSFER, GRIDNAME_MODIFY_QUANTITY, GRIDNAME_WORK_INVENTORY, GRIDNAME_BOM_CHECK};
+            GRIDNAME_STORAGE_TRANSFER, GRIDNAME_MODIFY_QUANTITY, GRIDNAME_WORK_INVENTORY};
     public static final int[] storageGridImgs = {R.drawable.storage_good_search,
             R.drawable.storage_bach_operation, R.drawable.storage_transfer,
             R.drawable.storage_work_inventory,
-            R.drawable.ic_modify_quantity, R.drawable.storage_msd_manager};
+            R.drawable.ic_modify_quantity};
+    //制程管理
+    public static final String GRIDNAME_SN_GUOZHAN = "SN过站";
+    public static final String GRIDNAME_BOM_CHECK = "BOM校验";
+    public static final String[] zhichengGridNames = {GRIDNAME_SN_GUOZHAN,GRIDNAME_BOM_CHECK};
+    public static final int[] zhichengGridImgs = {R.drawable.storage_good_search,R.drawable.storage_msd_manager};
+
+
+
     //DETAIL:搜索备料单号,下拉列表
     public static final String SPINNER_PREPARE_SEARCH = "搜索备料单号";
     public static final String SPINNER_MAKECODE_SEARCH = "搜索制造单号";
@@ -996,5 +1015,9 @@ public class GloableParams {
         GloableParams.ADDRESS_BARSTOCK_GETPRODINOUTQTYSUM = uriHead + GloableParams.ADDRESSTAIL_BARSTOCK_GETPRODINOUTQTYSUM;
         GloableParams.ADDRESS_OUTMATERIAL_CHECKBOMBARCODE = uriHead + GloableParams.ADDRESSTAIL_OUTMATERIAL_CHECKBOMBARCODE;
         GloableParams.ADDRESS_OUTMATERIAL_GETPREMATERIALLIST = uriHead + GloableParams.ADDRESSTAIL_OUTMATERIAL_GETPREMATERIALLIST;
+        GloableParams.ADDRESS_FULL_SEARCH_MAKE = uriHead + GloableParams.ADDRESSTAIL_FULL_SEARCH_MAKE;
+        GloableParams.ADDRESS_FULL_SEARCH_SOURCE= uriHead + GloableParams.ADDRESSTAIL_FULL_SEARCH_SOURCE;
+        GloableParams.ADDRESS_SN_PASS = uriHead + GloableParams.ADDRESSTAIL_SN_PASS;
+        GloableParams.ADDRESS_GET_MAKE_INFO=uriHead+GloableParams.ADDRESSTAIL_GET_MAKE_INFO;
     }
 }

+ 15 - 0
app/src/main/java/com/uas/pda_smart_com/tools/DataSourceManager.java

@@ -767,6 +767,21 @@ public class DataSourceManager {
         return gridItemList;
     }
 
+    //ZhiChengManagerFragment
+    public ArrayList getZhiChengMenuList() {
+        String[] tmpNames = GloableParams.zhichengGridNames;
+        int[] tmpImgs = GloableParams.zhichengGridImgs;
+        gridItemList = new ArrayList<>();
+        HashMap<String, Object> tmpMap;
+        for (int i = 0; i < tmpNames.length; i++) {
+            tmpMap = new HashMap();
+            tmpMap.put(KEY_GRID_ITEMIMG, tmpImgs[i]);
+            tmpMap.put(KEY_GRID_ITEMNAME, tmpNames[i]);
+            gridItemList.add(tmpMap);
+        }
+        return gridItemList;
+    }
+
     //IndexSetting
     /*==========================DataSoutceManager对象配置函数=================================*/
 

+ 3 - 0
app/src/main/java/com/uas/pda_smart_com/util/Constants.java

@@ -186,6 +186,9 @@ public interface Constants {
         //默认不良品仓库编号缓存
         String CACHE_DEFAULT_REJECTS_WAREHOUSE = "cache_default_rejects_warehouse";
 
+        //默认岗位资源
+        String CACHE_DEFAULT_GWZY= "cache_default_gwzy";
+
         //登录数据缓存
         String CACHE_LOGIN_DATA_LIST = "cache_login_data_list";
 

+ 1 - 1
app/src/main/res/layout/activity_index.xml

@@ -19,7 +19,7 @@
         <GridView
             android:id="@+id/grid_menu"
             style="@style/MenuGridViewStyle"
-            android:numColumns="2">
+            android:numColumns="3">
 
         </GridView>
 

+ 16 - 0
app/src/main/res/layout/fragment_default_setting.xml

@@ -55,6 +55,22 @@
         android:layout_marginTop="10dp"
         android:hint="@string/default_linecode"
         android:textSize="@dimen/textsize_16" />
+    <TextView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:text="默认岗位资源"
+        android:textSize="@dimen/textsize_18"
+        android:textStyle="bold" />
+
+    <com.uas.pda_smart_com.view.ClearableEditText
+        android:id="@+id/default_setting_gwzy_et"
+        style="@style/EditTextLineStyle"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:layout_marginTop="10dp"
+        android:hint="请输入岗位资源"
+        android:textSize="@dimen/textsize_16" />
 
     <Button
         android:id="@+id/default_setting_submit_btn"

+ 211 - 0
app/src/main/res/layout/fragment_sn_guozhan.xml

@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:padding="15dp">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical">
+        <TextView
+            android:layout_width="65dp"
+            android:layout_height="wrap_content"
+            android:text="岗位资源"
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+
+        <FrameLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+
+            <AutoCompleteTextView
+                android:id="@+id/ac_tv_gwzy"
+                style="@style/EditTextLineStyle"
+                android:hint="请输入岗位资源" />
+
+            <ImageView
+                android:id="@+id/iv_clear_1"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center|right"
+                android:layout_marginRight="13dp"
+                android:src="@drawable/wrong"
+                android:visibility="gone" />
+        </FrameLayout>
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:layout_marginTop="10dp">
+        <TextView
+            android:layout_width="65dp"
+            android:layout_height="wrap_content"
+            android:text="工单号     "
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+
+        <FrameLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+
+            <AutoCompleteTextView
+                android:id="@+id/ac_tv_gdh"
+                style="@style/EditTextLineStyle"
+                android:hint="请输入工单号" />
+
+            <ImageView
+                android:id="@+id/iv_clear_2"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center|right"
+                android:layout_marginRight="13dp"
+                android:src="@drawable/wrong"
+                android:visibility="gone" />
+        </FrameLayout>
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:layout_marginTop="20dp">
+        <TextView
+            android:layout_width="65dp"
+            android:layout_height="wrap_content"
+            android:text="产品编号  "
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+        <TextView
+            android:id="@+id/tv_product_no"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            tools:text="543637676574747"
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:layout_marginTop="20dp">
+        <TextView
+            android:layout_width="65dp"
+            android:layout_height="wrap_content"
+            android:text="产品名称  "
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+        <TextView
+            android:id="@+id/tv_product_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            tools:text="543637676574747"
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:layout_marginTop="20dp">
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+            <TextView
+                android:layout_width="100dp"
+                android:layout_height="wrap_content"
+                android:text="已采集"
+                android:textColor="@color/black"
+                android:layout_marginRight="10dp"
+                android:textSize="14sp"
+                />
+            <TextView
+                android:id="@+id/tv_has_caiji_num"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                tools:text="78"
+                android:textColor="@color/black"
+                android:layout_marginRight="10dp"
+                android:textSize="14sp"
+                />
+        </LinearLayout>
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+            <TextView
+                android:layout_width="100dp"
+                android:layout_height="wrap_content"
+                android:text="待采集"
+                android:textColor="@color/black"
+                android:layout_marginRight="10dp"
+                android:textSize="14sp"
+                />
+            <TextView
+                android:id="@+id/tv_not_caiji_num"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                tools:text="78"
+                android:textColor="@color/black"
+                android:layout_marginRight="10dp"
+                android:textSize="14sp"
+                />
+        </LinearLayout>
+
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:layout_marginTop="10dp">
+        <TextView
+            android:layout_width="65dp"
+            android:layout_height="wrap_content"
+            android:text="SN"
+            android:textColor="@color/black"
+            android:layout_marginRight="10dp"
+            android:textSize="14sp"
+            />
+
+        <FrameLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1">
+            <com.uas.pda_smart_com.view.ClearableEditText
+                android:id="@+id/et_sn"
+                style="@style/EditTextStyle"
+                android:hint="请输入SN"
+                android:textColor="@color/black" />
+        </FrameLayout>
+    </LinearLayout>
+    <TextView
+        android:id="@+id/tv_msg"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="20dp"
+        android:textColor="@color/color_dark_grey"
+        android:textSize="14sp"
+        tools:text="SN:356采集成功"
+        />
+
+</LinearLayout>

+ 18 - 0
app/src/main/res/layout/fragment_zhicheng_manager.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout style="@style/Background"
+                xmlns:android="http://schemas.android.com/apk/res/android"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <GridView
+            android:id="@+id/grid_menu_zhicheng"
+            style="@style/MenuGridViewStyle"
+            android:numColumns="1"/>
+    </RelativeLayout>
+
+
+</RelativeLayout>

+ 3 - 1
app/src/main/res/layout/layout_list_collect_already.xml

@@ -19,6 +19,7 @@
             android:gravity="center"
             android:textSize="@dimen/textsize_16"
             android:textStyle="bold"/>
+        <!-- 直接隐藏  2021-10-11  zhangzheng-->
         <TextView
             android:id="@+id/list_collect_already_quantity_tv"
             android:layout_width="0dp"
@@ -26,7 +27,8 @@
             android:layout_weight="1"
             android:gravity="center"
             android:textSize="@dimen/textsize_16"
-            android:textStyle="bold"/>
+            android:textStyle="bold"
+            android:visibility="invisible"/>
     </LinearLayout>
 
     <LinearLayout

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -1,6 +1,6 @@
 <resources>
     <string name="my_app_name">UAS智能终端系统</string>
-    <string name="my_app_name_test">PDA-仓库通用</string>
+    <string name="my_app_name_test">亿道MES</string>
     <string name="hello_world">Hello world!</string>
     <string name="action_settings">Settings</string>
     <string name="title_activity_connect_server_fragment">ConnectServerFragment</string>

+ 1 - 1
app/src/main/res/values/styles.xml

@@ -22,7 +22,7 @@
         <item name="android:paddingRight">12dp</item>
         <item name="android:paddingLeft">12dp</item>
         <item name="android:textColorHint">@color/gray_light</item>
-        <item name="android:minHeight">48dp</item>
+        <item name="android:minHeight">40dp</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_width">match_parent</item>
         <item name="android:textSize">14sp</item>

+ 2 - 2
build.gradle

@@ -43,8 +43,8 @@ ext {
             targetSdkVersion : 28,
             compileSdkVersion: 28,
             buildToolsVersion: "28.0.3",
-            versionCode      : 20,
-            versionName      : "v2.0"
+            versionCode      : 10,
+            versionName      : "v1.0"
     ]
 
     depsVersion = [