Browse Source

功能模块调整

shuij 3 years ago
parent
commit
f81e83900b

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

@@ -52,6 +52,7 @@
             android:name=".activity.FunctionActivity"
             android:label="@string/title_activity_function"
             android:screenOrientation="portrait"
+            android:launchMode="singleTask"
             android:windowSoftInputMode="adjustUnspecified|stateHidden" />
         <activity
             android:name=".activity.SearchMaterialActivity"

+ 13 - 2
app/src/main/java/com/uas/gdstorage/activity/FunctionActivity.java

@@ -18,11 +18,13 @@ import com.uas.gdstorage.fragment.ChargingSummaryFragment;
 import com.uas.gdstorage.fragment.GdMaterialInFragment;
 import com.uas.gdstorage.fragment.GdTimeReportFragment;
 import com.uas.gdstorage.fragment.GdWorkPauseFragment;
-import com.uas.gdstorage.fragment.GdWorkStartFragment;
 import com.uas.gdstorage.fragment.GdWorkSwitchFragment;
 import com.uas.gdstorage.fragment.IndexSettingFragment;
 import com.uas.gdstorage.fragment.QualityManageFragment;
 import com.uas.gdstorage.fragment.ReportDetailFragment;
+import com.uas.gdstorage.fragment.StepReceiveFragment;
+import com.uas.gdstorage.fragment.StepTransferFragment;
+import com.uas.gdstorage.fragment.WorkOrderSearchFragment;
 import com.uas.gdstorage.global.GloableParams;
 import com.uas.gdstorage.interfaces.BackHandlerInterface;
 import com.uas.gdstorage.tools.DataSourceManager;
@@ -80,7 +82,8 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
             switch (funName) {
                 //工单绑定
                 case GloableParams.GRIDNAME_WORK_START:
-                    mFragment = new GdWorkStartFragment();
+                    //mFragment = new GdWorkStartFragment();
+                    mFragment=new WorkOrderSearchFragment();
                     break;
                 //解除绑定
                 case GloableParams.GRIDNAME_WORK_PAUSE:
@@ -107,6 +110,14 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                     mFragment = new ChargingSummaryFragment();
                     mbundle.putString(Constants.FLAG.MA_TITLE,"物料明细");
                     break;
+                //工序移交
+                case GloableParams.GRIDNAME_STEP_TRANSFER:
+                    mFragment = new StepTransferFragment();
+                    break;
+                //工序接收
+                case GloableParams.GRIDNAME_STEP_RECEIVE:
+                    mFragment = new StepReceiveFragment();
+                    break;
                 case GloableParams.HOME_QUALITY_MANAGE:
                     mFragment = new QualityManageFragment();
                     break;

+ 30 - 13
app/src/main/java/com/uas/gdstorage/activity/IndexActivity.java

@@ -61,10 +61,11 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
     private ArrayList<HashMap<String, Object>> gridItemList;
     private GridView menuGridView;
     private TextView actionbarTextVeiw;
+    private TextView tv_metrimal_name;
     private PopupWindow mExitPopupWindow;
     private TextView mPositionR, mFeeding, mCurDoc, mUnfinish, tv_pihao,
             mEmCodeTv, mEmNameTv, mScName, mStaffTextView, mScrapTextView;
-    private String sc_code = null, mStaffName, mStaffCode;
+    private String sc_code = null, mStaffName, mStaffCode,sc_name;
     private RefreshLayout mRefreshLayout;
     private PopupWindow editPW;
     private String MACODE = null; //工单编号
@@ -85,6 +86,7 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
         setContentView(R.layout.activity_index);
         mEmCodeTv = findViewById(R.id.em_code_tv);
         mEmNameTv = findViewById(R.id.em_name_tv);
+        tv_metrimal_name=findViewById(R.id.tv_metrimal_name);
         actionbarTextVeiw = (TextView) findViewById(R.id.actionbar);
         actionbarTextVeiw.setText("UAS车间工作站管理");
         menuGridView = (GridView) findViewById(R.id.grid_menu);
@@ -373,7 +375,7 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
             sc_code = dataObject.getString("SC_CODE");
             SharedPreUtil.saveString(this, "SC_CODE", sc_code);
             mPositionR.setText(sc_code);
-
+            SharedPreUtil.saveString(this,Constants.FLAG.GANG_WEI_SOURCE_CODE,sc_code);
             String sc_name = dataObject.getString("SC_NAME");
             if (sc_name.length() == 0 || sc_name == "") {
                 sc_name = "-";
@@ -381,6 +383,7 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
             sc_name = "(" + sc_name + ")";
 
             mScName.setText(sc_name);
+            SharedPreUtil.saveString(this,Constants.FLAG.GANG_WEI_SOURCE_NAME,sc_name);
         } else {
             CommonUtil.toastNoRepeat(this, "岗位资源数据为空");
             return;
@@ -409,6 +412,9 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
         } else {
             tv_pihao.setText("");
         }
+        //待设置
+        tv_metrimal_name.setText("K002雾化棒半成品_金桔柠檬0mg");
+
 
         mScrapTextView.setText(FastjsonUtil.getText(dataObject, "MA_ONLINESCRAPQTY"));
         mStaffName = FastjsonUtil.getText(dataObject, "UO_EMNAME");
@@ -426,6 +432,11 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
         mEmNameTv.setText(SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMNAME, "-"));
         //新增---给上线人员设置默认值
         mStaffCode =SharedPreUtil.getString(this, Constants.FLAG.CACHE_USER_EMCODE, "");
+        sc_code=SharedPreUtil.getString(this,Constants.FLAG.GANG_WEI_SOURCE_CODE,"");
+        sc_name=SharedPreUtil.getString(this,Constants.FLAG.GANG_WEI_SOURCE_NAME,"");
+        mPositionR.setText(sc_code);
+        mScName.setText(sc_name);
+
     }
 
     @Override
@@ -467,18 +478,24 @@ public class IndexActivity extends BaseActivity implements AdapterView.OnItemCli
             } else {
                 //工单号为空,启动工单
                 String workOrder = mCurDoc.getText().toString().trim();
-                if (StringUtil.isEmpty(workOrder)) {
-                    //工单启动,人员换岗
-                    if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {
-                        goFragment(position);
-                    } else {
-                        CommonUtil.toastNoRepeat(this, "暂无在线工单,可点击工单启动进行操作");
-                    }
-                } else {
-                    if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {//工单启动
-                        CommonUtil.toastNoRepeat(this, "已有在线工单不需要进行工单启动");
+                //工步移交和工步接收
+                if(GloableParams.GRIDNAME_STEP_TRANSFER.equals(itemName)
+                 ||GloableParams.GRIDNAME_STEP_RECEIVE.equals(itemName)){
+                    goFragment(position);
+                }else{
+                    if (StringUtil.isEmpty(workOrder)){
+                        //工单启动,人员换岗
+                        if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {
+                            goFragment(position);
+                        } else {
+                            CommonUtil.toastNoRepeat(this, "暂无在线工单,可点击工单绑定进行操作");
+                        }
                     } else {
-                        goFragment(position);
+                        if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {//工单启动
+                            CommonUtil.toastNoRepeat(this, "已有在线工单不需要进行工单绑定");
+                        } else {
+                            goFragment(position);
+                        }
                     }
                 }
             }

+ 1 - 1
app/src/main/java/com/uas/gdstorage/fragment/GdMaterialInFragment.java

@@ -92,7 +92,7 @@ public class GdMaterialInFragment extends BaseFragment implements View.OnClickLi
     @Override
     protected void initViews() {
 
-        ((FunctionActivity) mActivity).setTitle("料");
+        ((FunctionActivity) mActivity).setTitle("料");
 
         ((FunctionActivity) mActivity).setMoreBtnVisible(true);
 

+ 1 - 1
app/src/main/java/com/uas/gdstorage/fragment/GdTimeReportFragment.java

@@ -64,7 +64,7 @@ public class GdTimeReportFragment extends BaseFragment {
 
     @Override
     protected void initViews() {
-        ((FunctionActivity) getActivity()).setTitle("实时报工");
+        ((FunctionActivity) getActivity()).setTitle("报工");
         mOlIdTv = root.findViewById(R.id.ol_id_tv);
         mOlNUmbersTv = root.findViewById(R.id.olun_numbers_tv);
         mOlNameTv = root.findViewById(R.id.ol_name_tv);

+ 1 - 1
app/src/main/java/com/uas/gdstorage/fragment/GdWorkPauseFragment.java

@@ -68,7 +68,7 @@ public class GdWorkPauseFragment extends BaseFragment {
 
     @Override
     protected void initViews() {
-        ((FunctionActivity) getActivity()).setTitle("工单暂停");
+        ((FunctionActivity) getActivity()).setTitle("解除绑定");
 
         mOlIdTv = root.findViewById(R.id.ol_id_tv);
         mOlNUmbersTv = root.findViewById(R.id.olun_numbers_tv);

+ 1 - 1
app/src/main/java/com/uas/gdstorage/fragment/GdWorkStartFragment.java

@@ -60,7 +60,7 @@ public class GdWorkStartFragment extends BaseFragment implements View.OnClickLis
 
     @Override
     protected void initViews() {
-        ((FunctionActivity) getActivity()).setTitle("工单启动");
+        ((FunctionActivity) mActivity).setTitle("工单绑定");
         ((FunctionActivity) mActivity).setSearchBtnVisible(true);
         mActivity.findViewById(R.id.btn_actionbar_right).setOnClickListener(this);
         mRefreshLayout = root.findViewById(R.id.SmartRefreshLayout_id);

+ 152 - 0
app/src/main/java/com/uas/gdstorage/fragment/StepReceiveFragment.java

@@ -0,0 +1,152 @@
+package com.uas.gdstorage.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.listener.MyEditorActionListener;
+import com.uas.gdstorage.util.CameraUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.FastjsonUtil;
+import com.uas.gdstorage.util.HttpCallback;
+import com.uas.gdstorage.util.HttpParams;
+import com.uas.gdstorage.util.VollyRequest;
+import com.uas.gdstorage.view.ClearableEditText;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+/**
+ * Created by RaoMeng on 2020/4/26
+ * Desc: 工步接收
+ */
+public class StepReceiveFragment extends BaseFragment {
+    private static final int SCAN_BARCODE_CODE = 111;
+    private ClearableEditText mBarcodeEditText;
+    private ImageView mScanImageView;
+    private TextView mResultTextView;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_step_receive;
+    }
+
+    @Override
+    protected void initViews() {
+        setTitle("工步接收");
+
+        mBarcodeEditText = root.findViewById(R.id.step_receive_barcode_et);
+        mScanImageView = root.findViewById(R.id.step_receive_scan_iv);
+        mResultTextView = root.findViewById(R.id.step_receive_result_tv);
+    }
+
+    @Override
+    protected void initEvents() {
+        mScanImageView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (CameraUtil.hasCamera()) {
+                    Intent intent = new Intent();
+                    intent.setClass(mActivity, CaptureActivity.class);
+                    startActivityForResult(intent, SCAN_BARCODE_CODE);
+                } else {
+                    CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
+                }
+            }
+        });
+
+        CommonUtil.setEditorActionListener(mBarcodeEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                stepReceive(text);
+            }
+        });
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    private void stepReceive(String barcode) {
+        if (TextUtils.isEmpty(barcode)) {
+            return;
+        }
+        mResultTextView.setText("");
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_WIPSTEPTURN_ACCEPT)
+                .method(Request.Method.POST)
+                .addParam("lotno", barcode)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, "接收成功");
+                try {
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONObject dataObject = resultObject.getJSONObject("data");
+                    if (dataObject != null) {
+                        mResultTextView.setText(
+                                "批号:" + FastjsonUtil.getText(dataObject, "LOTNO")
+                                        + "\n数量:" + FastjsonUtil.getText(dataObject, "QTY")
+                                        + "\n接收成功"
+                        );
+                    }
+                    mBarcodeEditText.setText("");
+                    mBarcodeEditText.requestFocus();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                mResultTextView.setText(failStr);
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+                mBarcodeEditText.setText("");
+                mBarcodeEditText.requestFocus();
+            }
+        });
+    }
+
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (resultCode != Activity.RESULT_OK) {
+            return;
+        }
+
+        if (requestCode == SCAN_BARCODE_CODE && data != null) {
+            if (data.getExtras() != null) {
+                String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
+                mBarcodeEditText.setText(result);
+                mBarcodeEditText.setSelection(result.length());
+                stepReceive(result);
+            }
+        }
+    }
+
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+}

+ 160 - 0
app/src/main/java/com/uas/gdstorage/fragment/StepTransferFragment.java

@@ -0,0 +1,160 @@
+package com.uas.gdstorage.fragment;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.text.TextUtils;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.uas.gdstorage.R;
+import com.uas.gdstorage.global.GloableParams;
+import com.uas.gdstorage.listener.MyEditorActionListener;
+import com.uas.gdstorage.util.CameraUtil;
+import com.uas.gdstorage.util.CommonUtil;
+import com.uas.gdstorage.util.FastjsonUtil;
+import com.uas.gdstorage.util.HttpCallback;
+import com.uas.gdstorage.util.HttpParams;
+import com.uas.gdstorage.util.VollyRequest;
+import com.uas.gdstorage.view.ClearableEditText;
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
+import com.uuzuche.lib_zxing.activity.CodeUtils;
+
+/**
+ * Created by RaoMeng on 2020/4/26
+ * Desc: 工步移交
+ */
+public class StepTransferFragment extends BaseFragment {
+    private static final int SCAN_BARCODE_CODE = 111;
+
+    private ClearableEditText mBarcodeEditText;
+    private ImageView mScanImageView;
+    private TextView mResultTextView;
+    private CheckBox mCancelCheckBox;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_step_transfer;
+    }
+
+    @Override
+    protected void initViews() {
+        setTitle("工步移交");
+
+        mBarcodeEditText = root.findViewById(R.id.step_transfer_barcode_et);
+        mScanImageView = root.findViewById(R.id.step_transfer_scan_iv);
+        mResultTextView = root.findViewById(R.id.step_transfer_result_tv);
+        mCancelCheckBox = root.findViewById(R.id.step_transfer_cancel_cb);
+    }
+
+    @Override
+    protected void initEvents() {
+        mScanImageView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (CameraUtil.hasCamera()) {
+                    Intent intent = new Intent();
+                    intent.setClass(mActivity, CaptureActivity.class);
+                    startActivityForResult(intent, SCAN_BARCODE_CODE);
+                } else {
+                    CommonUtil.toastNoRepeat(mActivity, getString(R.string.no_camera_detected));
+                }
+            }
+        });
+
+        CommonUtil.setEditorActionListener(mBarcodeEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                stepSend(text);
+            }
+        });
+    }
+
+    @Override
+    protected void initDatas() {
+
+    }
+
+    private void stepSend(String barcode) {
+        if (TextUtils.isEmpty(barcode)) {
+            return;
+        }
+        mResultTextView.setText("");
+        progressDialog.show();
+        VollyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_WIPSTEPTURN_SEND)
+                .method(Request.Method.POST)
+                .addParam("lotno", barcode)
+                .addParam("cancel", String.valueOf(mCancelCheckBox.isChecked()))
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                progressDialog.dismiss();
+                String msg = "移交成功";
+                if (mCancelCheckBox.isChecked()) {
+                    msg = "撤销移交成功";
+                }
+                CommonUtil.toastNoRepeat(mActivity, msg);
+                try {
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONObject dataObject = resultObject.getJSONObject("data");
+                    if (dataObject != null) {
+                        mResultTextView.setText(
+                                "批号:" + FastjsonUtil.getText(dataObject, "LOTNO")
+                                        + "\n数量:" + FastjsonUtil.getText(dataObject, "QTY")
+                                        + "\n" + msg
+                        );
+                    }
+                    mBarcodeEditText.setText("");
+                    mBarcodeEditText.requestFocus();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                mResultTextView.setText(failStr);
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+                mBarcodeEditText.setText("");
+                mBarcodeEditText.requestFocus();
+            }
+        });
+    }
+
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (resultCode != Activity.RESULT_OK) {
+            return;
+        }
+
+        if (requestCode == SCAN_BARCODE_CODE && data != null) {
+            if (data.getExtras() != null) {
+                String result = data.getExtras().getString(CodeUtils.RESULT_STRING);
+                mBarcodeEditText.setText(result);
+                mBarcodeEditText.setSelection(result.length());
+                stepSend(result);
+            }
+        }
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+}

+ 22 - 4
app/src/main/java/com/uas/gdstorage/global/GloableParams.java

@@ -252,6 +252,8 @@ public class GloableParams {
     public static String ADDRESS_SPOTCHECK_SAVEQUACOMPLAIN;
     public static String ADDRESS_SPOTCHECK_SAVEQUALITYFEEDBACK;
     public static String ADDRESS_SPOTCHECK_SAVEMAKEQUALITYYC;
+    public static String ADDRESS_WIPSTEPTURN_SEND;
+    public static String ADDRESS_WIPSTEPTURN_ACCEPT;
 
     /**
      * 高登
@@ -714,6 +716,14 @@ public class GloableParams {
     private static final String ADDRESSTAIL_PAD_FEEDEDLOADDING = "/api/pdashop/loading/loading.action";
     //获取当前账号可使用的岗位资源
     private static final String ADDRESSTAIL_PAD_GETSOURCEBYEMP = "/api/pdashop/getSourceByEmp.action";
+    /**
+     * 工步移交
+     */
+    private static final String ADDRESSTAIL_WIPSTEPTURN_SEND = "/api/pdashop/wipStepTurn/send.action";
+    /**
+     * 工步接收
+     */
+    private static final String ADDRESSTAIL_WIPSTEPTURN_ACCEPT = "/api/pdashop/wipStepTurn/accept.action";
 
     /***********************************************************************************************/
     /*界面文字和图片资源,控制后续数据一致*/
@@ -734,16 +744,21 @@ public class GloableParams {
     public static final String GRIDNAME_TIME_REPORT = "报工";
     public static final String GRIDNAME_TIME_REPORT_DETAIL = "报工明细";
     public static final String GRIDNAME_TIME_METRIAL_DETAIL = "物料明细";
+    public static final String GRIDNAME_STEP_TRANSFER = "工步移交";
+    public static final String GRIDNAME_STEP_RECEIVE = "工步接收";
    // public static final String GRIDNAME_STAFF_CHANGE = "人员换岗";
     //public static final String GRIDNAME_STAFF_UP = "人员上线";
   //  public static final String GRIDNAME_STAFF_DOWN = "人员下线";
     public static String[] indexMainGridNames = {GRIDNAME_WORK_START,
             GRIDNAME_WORK_PAUSE, GRIDNAME_WORK_SWITCH, GRIDNAME_IN_MATERIAL, GRIDNAME_TIME_REPORT,
-           GRIDNAME_TIME_REPORT_DETAIL,GRIDNAME_TIME_METRIAL_DETAIL};
+           GRIDNAME_TIME_REPORT_DETAIL,GRIDNAME_TIME_METRIAL_DETAIL,
+           GRIDNAME_STEP_TRANSFER,GRIDNAME_STEP_RECEIVE};
 
-    public static int[] indexMainGridImgs = {R.drawable.start, R.drawable.pause, R.drawable.swich,
-            R.drawable.feeded, R.drawable.report,
-            R.drawable.ic_staff_up, R.drawable.ic_staff_down};
+    public static int[] indexMainGridImgs = {
+            R.drawable.start, R.drawable.pause, R.drawable.swich,
+            R.drawable.feeded,R.drawable.report,
+            R.drawable.ic_staff_up,R.drawable.ic_staff_down,
+            R.drawable.ic_storage_out,R.drawable.ic_storage_in};
 
     //INDEX:出入库管理Index
     public static final String GRIDNAME_CODEBAR_COLLECT = "入库";
@@ -1098,5 +1113,8 @@ public class GloableParams {
         GloableParams.ADDRESS_SPOTCHECK_SAVEQUACOMPLAIN = uriHead + GloableParams.ADDRESSTAIL_SPOTCHECK_SAVEQUACOMPLAIN;
         GloableParams.ADDRESS_SPOTCHECK_SAVEQUALITYFEEDBACK = uriHead + GloableParams.ADDRESSTAIL_SPOTCHECK_SAVEQUALITYFEEDBACK;
         GloableParams.ADDRESS_SPOTCHECK_SAVEMAKEQUALITYYC = uriHead + GloableParams.ADDRESSTAIL_SPOTCHECK_SAVEMAKEQUALITYYC;
+        GloableParams.ADDRESS_WIPSTEPTURN_SEND = uriHead + GloableParams.ADDRESSTAIL_WIPSTEPTURN_SEND;
+        GloableParams.ADDRESS_WIPSTEPTURN_ACCEPT = uriHead + GloableParams.ADDRESSTAIL_WIPSTEPTURN_ACCEPT;
+
     }
 }

+ 4 - 0
app/src/main/java/com/uas/gdstorage/util/Constants.java

@@ -218,6 +218,10 @@ public interface Constants {
 
         //报工单位
         String REPORT_UNIT = "cache_report_unit";
+        //岗位资源CODE码
+        String GANG_WEI_SOURCE_CODE = "gang_wei_source_code";
+        //岗位资源名称
+        String GANG_WEI_SOURCE_NAME = "gang_wei_source_name";
     }
 
     /**

+ 32 - 18
app/src/main/java/com/uas/gdstorage/view/ClearableEditText.java

@@ -10,9 +10,9 @@ import android.text.TextWatcher;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
-
 import com.uas.gdstorage.R;
 
+
 /**
  * @注释:输入框右边的清除按钮
  */
@@ -22,6 +22,7 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     private OnFocusChangeListener mOnFocusChangeListener;
     private OnTouchListener mOnTouchListener;
     Context context;
+    private boolean isClearVisiable = false;
 
     public ClearableEditText(Context context) {
         super(context);
@@ -38,10 +39,15 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
         init(context);
     }
 
-    private void init(Context pContext){
+    public void setClearVisiable(boolean clearVisiable) {
+        isClearVisiable = clearVisiable;
+        setClearIconVisible(clearVisiable);
+    }
+
+    private void init(Context pContext) {
         context = pContext;
         //封装drawable对象,系统默认图标:R.drawable.abc_ic_clear_mtrl_alpha
-        Drawable drawable = ContextCompat.getDrawable(context, R.drawable.wrong );
+        Drawable drawable = ContextCompat.getDrawable(context, R.drawable.wrong);
         Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
         //简单着色
         DrawableCompat.setTint(wrappedDrawable, getCurrentHintTextColor());
@@ -59,18 +65,19 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     }
 
     private void setClearIconVisible(final boolean visible) {
-        mClearTextIcon.setVisible(visible, false);
+        boolean isVisible = isClearVisiable || visible;
+        mClearTextIcon.setVisible(isVisible, false);
         final Drawable[] compoundDrawables = getCompoundDrawables();
         //在edittext右侧设置图标
         setCompoundDrawables(
                 compoundDrawables[0],
                 compoundDrawables[1],
-                visible ? mClearTextIcon : null,
+                isVisible ? mClearTextIcon : null,
                 compoundDrawables[3]);
     }
 
     //设置警告标志可见
-    public void setWarnIconVisible(){
+    public void setWarnIconVisible() {
         Drawable warnDrawable = ContextCompat.getDrawable(context, R.drawable.warn);
         Drawable wrapWarnDrawable = DrawableCompat.wrap(warnDrawable);
         warnDrawable = wrapWarnDrawable;
@@ -88,15 +95,17 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
                 compoundDrawables[3]);
 
     }
+
     //设置警告标志可见
-    public void setSmallWarnIconVisible(){
+    public void setSmallWarnIconVisible() {
         Drawable warnDrawable = ContextCompat.getDrawable(context, R.drawable.warn);
         Drawable wrapWarnDrawable = DrawableCompat.wrap(warnDrawable);
         warnDrawable = wrapWarnDrawable;
         int f = context.getResources().getDimensionPixelSize(R.dimen.hint_pic_small);
         warnDrawable.setBounds(0, 0, f, f);
 
-        final Drawable[] compoundDrawables = getCompoundDrawables(); mClearTextIcon.setBounds(0, 0, mClearTextIcon.getIntrinsicHeight(), mClearTextIcon.getIntrinsicWidth());
+        final Drawable[] compoundDrawables = getCompoundDrawables();
+        mClearTextIcon.setBounds(0, 0, mClearTextIcon.getIntrinsicHeight(), mClearTextIcon.getIntrinsicWidth());
 
         //在edittext右侧设置图标
         setCompoundDrawables(
@@ -106,7 +115,8 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
                 compoundDrawables[3]);
 
     }
-    private void dismissOkIcon(final boolean visible){
+
+    private void dismissOkIcon(final boolean visible) {
         mClearTextIcon.setVisible(visible, false);
         final Drawable[] compoundDrawables = getCompoundDrawables();
         //在edittext右侧设置图标
@@ -118,8 +128,9 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     }
 
     boolean isOk = false;
+
     //设置成功标志可见
-    public void setOkIconVisible(){
+    public void setOkIconVisible() {
         isOk = true;
         Drawable warnDrawable = ContextCompat.getDrawable(context, R.drawable.ok);
         Drawable wrapWarnDrawable = DrawableCompat.wrap(warnDrawable);
@@ -142,14 +153,13 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     public void onFocusChange(View v, boolean hasFocus) {
         if (hasFocus) {
             setClearIconVisible(getText().length() > 0);
-        }
-        else {
+        } else {
             //如果不是正确图片,则焦点消失清空图片
-            if(!isOk){
+            if (!isOk) {
                 setClearIconVisible(false);
             }
             //如果是正确图片,则焦点消失后图片也不消失,显示正确图片
-            else{
+            else {
                 setOkIconVisible();
             }
         }
@@ -160,12 +170,14 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
 
 
     /**
-     * 输入框获取焦点*/
-    private void editTextGetFocus(){
+     * 输入框获取焦点
+     */
+    private void editTextGetFocus() {
         setFocusable(true);
         setFocusableInTouchMode(true);
         requestFocus();
     }
+
     @Override
     public boolean onTouch(View v, MotionEvent event) {
         final int x = (int) event.getX();
@@ -176,7 +188,7 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
                 //EditText本身获得焦点
                 editTextGetFocus();
                 //外界btn使EditText自动获取焦点
-                if(etFocus!=null){
+                if (etFocus != null) {
                     etFocus.setFoucus();
                 }
             }
@@ -186,7 +198,8 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     }
 
     EditTextFocus etFocus;
-    public interface EditTextFocus{
+
+    public interface EditTextFocus {
         void setFoucus();
     }
 
@@ -203,6 +216,7 @@ public class ClearableEditText extends AppCompatEditText implements View.OnTouch
     public void afterTextChanged(Editable s) {
 
     }
+
     @Override
     public final void onTextChanged(final CharSequence s, final int start, final int before, final int count) {
         //如果文字被修改,则OK消失

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

@@ -183,7 +183,7 @@
 
                     <TextView
                         style="@style/captiontext"
-                        android:text="报废数:" />
+                        android:text="报废数: " />
 
                     <TextView
                         android:id="@+id/index_scrap_number"
@@ -194,6 +194,13 @@
                         android:layout_width="20dp"
                         android:layout_height="wrap_content"/>
                 </LinearLayout>
+                <TextView
+                    android:id="@+id/tv_metrimal_name"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:padding="15dp"
+                    android:layout_marginLeft="5dp"
+                    tools:text="K002雾化棒半成品_金桔柠檬0mg"/>
 
                 <com.uas.gdstorage.view.MyGridView
                     android:id="@+id/grid_menu"

+ 53 - 0
app/src/main/res/layout/fragment_step_receive.xml

@@ -0,0 +1,53 @@
+<?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="12dp">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:background="@drawable/bg_line_edittext">
+
+            <com.uas.gdstorage.view.ClearableEditText
+                android:id="@+id/step_receive_barcode_et"
+                style="@style/EditTextStyle"
+                android:layout_weight="1"
+                android:background="@null"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:hint="请采集批号"
+                android:imeOptions="actionSend"
+                android:textColor="@color/black" />
+
+            <ImageView
+                android:id="@+id/step_receive_scan_iv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginRight="10dp"
+                android:clickable="false"
+                android:src="@drawable/ic_edittext_scan" />
+        </LinearLayout>
+    </LinearLayout>
+
+    <TextView
+        android:id="@+id/step_receive_result_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="18dp"
+        android:textColor="@color/blue_800"
+        android:textSize="16sp"
+        android:textStyle="bold"
+        tools:text="采集结果是xxxxxxxxxxxxx" />
+</LinearLayout>

+ 59 - 0
app/src/main/res/layout/fragment_step_transfer.xml

@@ -0,0 +1,59 @@
+<?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="12dp">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <LinearLayout
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:background="@drawable/bg_line_edittext">
+
+            <com.uas.gdstorage.view.ClearableEditText
+                android:id="@+id/step_transfer_barcode_et"
+                style="@style/EditTextStyle"
+                android:layout_weight="1"
+                android:background="@null"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:hint="请采集批号"
+                android:imeOptions="actionSend"
+                android:textColor="@color/black" />
+
+            <ImageView
+                android:id="@+id/step_transfer_scan_iv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginRight="10dp"
+                android:clickable="false"
+                android:src="@drawable/ic_edittext_scan" />
+        </LinearLayout>
+
+        <CheckBox
+            android:id="@+id/step_transfer_cancel_cb"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="撤销" />
+    </LinearLayout>
+
+    <TextView
+        android:id="@+id/step_transfer_result_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="18dp"
+        android:textColor="@color/blue_800"
+        android:textSize="16sp"
+        android:textStyle="bold"
+        tools:text="采集结果是xxxxxxxxxxxxx" />
+</LinearLayout>

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

@@ -63,7 +63,7 @@
 
                 <Button
                     android:id="@+id/start_btn"
-                    android:text="启动"
+                    android:text="绑定"
                     android:layout_width="match_parent"
                     android:layout_height="40dp"
                     style="@style/ButtonStyle"