Quellcode durchsuchen

预加工报工页面修改为瑞梓预加工报工页面, 报工页面改为柯赛报工页面, 优化蓝牙打印页面权限授权.

songw vor 5 Monaten
Ursprung
Commit
47e4f1396f
24 geänderte Dateien mit 3547 neuen und 84 gelöschten Zeilen
  1. 3 2
      app/src/main/java/com/uas/baigang_workshop_workstation/activity/FunctionActivity.java
  2. 2 3
      app/src/main/java/com/uas/baigang_workshop_workstation/activity/ProcessManagementActivity.java
  3. 555 0
      app/src/main/java/com/uas/baigang_workshop_workstation/adapter/ReportingWorkAdapter.java
  4. 9 0
      app/src/main/java/com/uas/baigang_workshop_workstation/bean/LineCodeEntity.java
  5. 24 1
      app/src/main/java/com/uas/baigang_workshop_workstation/bean/MaintainitemBean.java
  6. 72 0
      app/src/main/java/com/uas/baigang_workshop_workstation/bean/ReportingWorkB.java
  7. 225 0
      app/src/main/java/com/uas/baigang_workshop_workstation/bean/ReportingWorkBean.java
  8. 9 4
      app/src/main/java/com/uas/baigang_workshop_workstation/fragment/BlueToothPrintFragment.java
  9. 1018 0
      app/src/main/java/com/uas/baigang_workshop_workstation/fragment/GdTimeReportFragmentNew2.java
  10. 320 37
      app/src/main/java/com/uas/baigang_workshop_workstation/fragment/PreProcessingReportFragment.java
  11. 19 3
      app/src/main/java/com/uas/baigang_workshop_workstation/global/GloableParams.java
  12. 9 0
      app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBaoFeiListener.java
  13. 9 0
      app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBaoGongListener.java
  14. 9 0
      app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBeiZhuListener.java
  15. 9 0
      app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextYiChangGongSiListener.java
  16. 218 0
      app/src/main/java/com/uas/baigang_workshop_workstation/util/ToastUtils.java
  17. 9 0
      app/src/main/res/drawable/shape_b2b_gray_light_line_bg.xml
  18. 83 0
      app/src/main/res/layout/dialog_title.xml
  19. 96 0
      app/src/main/res/layout/fragment_gd_time_report_new2.xml
  20. 110 32
      app/src/main/res/layout/fragment_pre_processing_report.xml
  21. 99 0
      app/src/main/res/layout/fuzzy_ipandport_item2.xml
  22. 93 0
      app/src/main/res/layout/index_line_pup.xml
  23. 545 0
      app/src/main/res/layout/item_reporting_work.xml
  24. 2 2
      build.gradle

+ 3 - 2
app/src/main/java/com/uas/baigang_workshop_workstation/activity/FunctionActivity.java

@@ -18,7 +18,7 @@ import com.uas.baigang_workshop_workstation.fragment.BaseFragment;
 import com.uas.baigang_workshop_workstation.fragment.CaiPiFragment;
 import com.uas.baigang_workshop_workstation.fragment.ChargingSummaryFragment;
 import com.uas.baigang_workshop_workstation.fragment.GdMaterialInFragment;
-import com.uas.baigang_workshop_workstation.fragment.GdTimeReportFragmentNew;
+import com.uas.baigang_workshop_workstation.fragment.GdTimeReportFragmentNew2;
 import com.uas.baigang_workshop_workstation.fragment.GdWorkSwitchFragment;
 import com.uas.baigang_workshop_workstation.fragment.IndexInOutContentFragment;
 import com.uas.baigang_workshop_workstation.fragment.IndexSettingFragment;
@@ -160,7 +160,8 @@ public class FunctionActivity extends BaseActivity implements View.OnClickListen
                     break;
                 //报工
                 case GloableParams.GRIDNAME_TIME_REPORT:
-                    fragment = new GdTimeReportFragmentNew();
+                    //fragment = new GdTimeReportFragmentNew();
+                    fragment = new GdTimeReportFragmentNew2();
                     break;
                 //产出明细
                 case GloableParams.GRIDNAME_TIME_REPORT_DETAIL:

+ 2 - 3
app/src/main/java/com/uas/baigang_workshop_workstation/activity/ProcessManagementActivity.java

@@ -1189,7 +1189,8 @@ public class ProcessManagementActivity extends BaseActivity implements AdapterVi
 //                return;
 //            }
             //工单暂停,工单切换,实时报工
-            if (TextUtils.isEmpty(mStaffCode) && (GloableParams.GRIDNAME_WORK_PAUSE.equals(itemName)
+            if (TextUtils.isEmpty(mStaffCode) && (
+                    GloableParams.GRIDNAME_WORK_PAUSE.equals(itemName)
                     || GloableParams.GRIDNAME_WORK_SWITCH.equals(itemName)
                     || GloableParams.GRIDNAME_TIME_REPORT.equals(itemName)
                     || GloableParams.GRIDNAME_TIME_REPORT_DETAIL.equals(itemName))) {
@@ -1272,9 +1273,7 @@ public class ProcessManagementActivity extends BaseActivity implements AdapterVi
                             dia.dismiss();
                         }
                     });
-
                 }else{
-
                     if (StringUtil.isEmpty(workOrder)){
                         //工单启动,人员换岗
                         if (GloableParams.GRIDNAME_WORK_START.equals(itemName)) {

+ 555 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/adapter/ReportingWorkAdapter.java

@@ -0,0 +1,555 @@
+package com.uas.baigang_workshop_workstation.adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.RecyclerView;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.uas.baigang_workshop_workstation.R;
+import com.uas.baigang_workshop_workstation.application.PdaApplication;
+import com.uas.baigang_workshop_workstation.bean.ReportingWorkB;
+import com.uas.baigang_workshop_workstation.bean.ReportingWorkBean;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBaoFeiListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBaoGongListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBeiZhuListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextYiChangGongSiListener;
+import com.uas.baigang_workshop_workstation.util.CommonUtil;
+import com.uas.baigang_workshop_workstation.view.ClearableEditText;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ReportingWorkAdapter extends RecyclerView.Adapter<ReportingWorkAdapter.viewHolder> {
+    private Context mContext;
+    private LayoutInflater mInflater;
+    private ArrayList<ReportingWorkBean> mList;
+    private final Map<Integer, String> mapBaoGong;
+    private final Map<Integer, String> mapBaoFei;
+    private final Map<Integer, String> mapBeiZhu;
+    private final Map<Integer, String> mapYiChangGongShi;
+    private final OnTextBaoGongListener onTextBaoGongListener;
+    private final OnTextBaoFeiListener onTextBaoFeiListener;
+    private final OnTextBeiZhuListener onTextBeiZhuListener;
+    private final OnTextYiChangGongSiListener onTextYiChangGongSiListener;
+
+    public ReportingWorkAdapter(Context context, ArrayList<ReportingWorkBean> list,
+                                OnTextBaoGongListener onTextBaoGongListener,
+                                OnTextBaoFeiListener onTextBaoFeiListener,
+                                OnTextBeiZhuListener onTextBeiZhuListener,
+                                OnTextYiChangGongSiListener onTextYiChangGongSiListener
+    ) {
+        mContext = context;
+        mInflater = LayoutInflater.from(context);
+        mList = list;
+        mapBaoGong = new HashMap<>();
+        mapBaoFei = new HashMap<>();
+        mapBeiZhu = new HashMap<>();
+        mapYiChangGongShi = new HashMap<>();
+        this.onTextBaoGongListener = onTextBaoGongListener;
+        this.onTextBaoFeiListener = onTextBaoFeiListener;
+        this.onTextBeiZhuListener = onTextBeiZhuListener;
+        this.onTextYiChangGongSiListener = onTextYiChangGongSiListener;
+    }
+
+    @Override
+    public viewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        return new viewHolder(mInflater.inflate(R.layout.item_reporting_work, parent, false));
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull ReportingWorkAdapter.viewHolder viewHolder, @SuppressLint("RecyclerView") int position) {
+        viewHolder.tv_dingdanhao_value.setText(mList.get(position).getMPD_ORDERCODE());
+        viewHolder.tv_gongdan_value.setText(mList.get(position).getMA_CODE());
+        viewHolder.tv_order_numbers_value.setText(String.valueOf(mList.get(position).getMA_QTY()));
+        viewHolder.tv_chanping_value.setText(mList.get(position).getPR_CODE());
+        viewHolder.tv_name_value.setText(mList.get(position).getPR_DETAIL());
+        viewHolder.tv_spec_value.setText(mList.get(position).getPR_SPEC());
+        viewHolder.tv_mujianguige.setText(mList.get(position).getPRSPEC());
+        viewHolder.tv_beizhu.setText(mList.get(position).getMPD_REMARK());
+        viewHolder.tv_paichan_time.setText(mList.get(position).getMP_BEGINTIME());
+        viewHolder.tv_nowqty_value.setText(mList.get(position).getNOWQTY());
+        viewHolder.tv_sumqty_value.setText(mList.get(position).getSUMQTY());
+        viewHolder.tv_start_time_value.setText(mList.get(position).getSTARTTIME());    //启动时间
+        viewHolder.tv_work_hour_value.setText(mList.get(position).getWORKHOUR());      //累计工时
+        viewHolder.cb_select.setChecked(mList.get(position).isSelect());    //是否选中
+
+        viewHolder.bt_ol_pause.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (setReportingWorkListener != null) {
+                        String baogong = viewHolder.cet_ol_numbers.getText().toString().trim(); //报工数
+                        String baofei = viewHolder.cet_ol_unuse.getText().toString().trim();    //报废数
+                        String beizhu = viewHolder.cet_ol_remark.getText().toString().trim();   //备注
+                        String yichanggongshi = viewHolder.cet_unworkhour.getText().toString().trim();  //异常工时
+                        String gongdanhao = mList.get(position).getMA_CODE();  //工单号
+                        if(TextUtils.isEmpty(baogong)){
+                            CommonUtil.toastNoRepeat(mContext,"报工数不能为空");
+                            return;
+                        }
+                        if(Integer.parseInt(baogong) <= 0){
+                            CommonUtil.toastNoRepeat(mContext,"报工数必须大于0");
+                            return;
+                        }
+                        setReportingWorkListener.setdata(baogong,baofei,beizhu,yichanggongshi,gongdanhao,position);
+                    }
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+
+        viewHolder.ll_baogongtuisong.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (baoGongTuiSong != null){
+                    String baoGongNumbber = viewHolder.cet_ol_numbers.getText().toString().trim();
+                    String dingDanHao = mList.get(position).getMPD_ORDERCODE();
+                    baoGongTuiSong.tuiSong(baoGongNumbber,dingDanHao);
+                }
+            }
+        });
+
+        viewHolder.cet_ol_numbers.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) {
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                if (s.toString().trim().length() > 0) {
+                    viewHolder.ll_baogongtuisong.setEnabled(true);
+                    viewHolder.ll_baogongtuisong.setBackgroundColor(mContext.getResources().getColor(R.color.blue));
+                }else {
+                    viewHolder.ll_baogongtuisong.setEnabled(false);
+                    viewHolder.ll_baogongtuisong.setBackgroundColor(mContext.getResources().getColor(R.color.gray1));
+                }
+            }
+        });
+
+        viewHolder.cb_select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                Log.e("aaa", "触发 cb_select");
+                if (buttonView.isPressed()) {
+                    if (onGetSelectState != null) {
+                        ReportingWorkB pwb = new ReportingWorkB();
+                        pwb.setPici("");    //批次
+                        pwb.setBaogong(viewHolder.cet_ol_numbers.getText().toString().trim());  //报工数
+                        pwb.setBaofei(viewHolder.cet_ol_unuse.getText().toString().trim());   //报废数
+                        pwb.setBeizhu(viewHolder.cet_ol_remark.getText().toString().trim());    //备注
+                        pwb.setYichanggongshi(viewHolder.cet_unworkhour.getText().toString().trim());   //异常工时
+                        pwb.setGongdanhao(mList.get(position).getMA_CODE());     //工单号
+                        pwb.setSelet(isChecked);    //选中状态
+                        onGetSelectState.isSelect(pwb, position);
+                        for (int i = 0; i < mList.size(); i++) {
+                            if (i == position) {
+                                mList.get(i).setSelect(isChecked);
+                            }
+                        }
+                        notifyDataSetChanged();
+                    }
+                }
+            }
+        });
+        viewHolder.ll_content.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Log.e("aaa", "触发 ll_content");
+                if (onGetSelectState != null) {
+                    ReportingWorkB pwb = new ReportingWorkB();
+                    pwb.setPici("");    //批次
+                    pwb.setBaogong(viewHolder.cet_ol_numbers.getText().toString().trim());  //报工数
+                    pwb.setBaofei(viewHolder.cet_ol_unuse.getText().toString().trim());   //报废数
+                    pwb.setBeizhu(viewHolder.cet_ol_remark.getText().toString().trim());    //备注
+                    pwb.setYichanggongshi(viewHolder.cet_unworkhour.getText().toString().trim());   //异常工时
+                    pwb.setGongdanhao(mList.get(position).getMA_CODE());     //工单号
+                    pwb.setSelet(!mList.get(position).isSelect());    //选中状态
+                    onGetSelectState.isSelect(pwb, position);
+                    for (int i = 0; i < mList.size(); i++) {
+                        if (i == position) {
+                            mList.get(i).setSelect(!mList.get(position).isSelect());
+                        }
+                    }
+                    notifyDataSetChanged();
+                }
+            }
+        });
+
+        mapBaoGong.put(position, "");
+        mapBaoFei.put(position, "");
+        mapBeiZhu.put(position, "");
+        mapYiChangGongShi.put(position, "");
+
+        viewHolder.ll_baogongtuisong.setEnabled(false);
+        // 禁止ViewHolder被复用
+        //viewHolder.setIsRecyclable(false);
+        viewHolder.bindBaoGong(mList.get(position), position, onTextBaoGongListener, mapBaoGong);
+        viewHolder.bindBaoFei(mList.get(position), position, onTextBaoFeiListener, mapBaoFei);
+        viewHolder.bindBeiZhu(mList.get(position), position, onTextBeiZhuListener, mapBeiZhu);
+        viewHolder.bindYiChangGongSi(mList.get(position), position, onTextYiChangGongSiListener, mapYiChangGongShi);
+    }
+
+    public List<ReportingWorkB> getAllSelect(){
+        List<ReportingWorkB> listAllSelect = new ArrayList<>();
+        for (int i = 0; i < mList.size(); i++) {
+            ReportingWorkB pwb = new ReportingWorkB();
+            pwb.setPici("");    //批次
+            pwb.setBaogong(mapBaoGong.get(i));  //报工数
+            pwb.setBaofei(mapBaoFei.get(i));   //报废数
+            pwb.setBeizhu(mapBeiZhu.get(i));    //备注
+            pwb.setYichanggongshi(mapYiChangGongShi.get(i));   //异常工时
+            pwb.setGongdanhao(mList.get(i).getMA_CODE());     //工单号
+            pwb.setSelet(true);    //选中状态
+            listAllSelect.add(pwb);
+        }
+        for (int i = 0; i < mList.size(); i++) {
+            mList.get(i).setSelect(true);
+        }
+        notifyDataSetChanged();
+        return listAllSelect;
+    }
+
+    public void getNoAllSelect(){
+        for (int i = 0; i < mList.size(); i++) {
+            mList.get(i).setSelect(false);
+        }
+        notifyDataSetChanged();
+    }
+
+    public ArrayList<ReportingWorkBean> getList(){
+        return mList;
+    }
+
+    @Override
+    public int getItemCount() {
+        return mList != null ? mList.size() : 0;
+    }
+
+    public void setList(ArrayList<ReportingWorkBean> list){
+        this.mList = list;
+        notifyDataSetChanged();
+    }
+
+    public void removeItem(int position) {
+        mList.remove(position);
+        notifyDataSetChanged();
+    }
+    static class viewHolder extends RecyclerView.ViewHolder {
+        private TextWatcher textWatcherBaogong;
+        private TextWatcher textWatcherBaofei;
+        private TextWatcher textWatcherBeiZhu;
+        private TextWatcher textWatcherYichangGongSi;
+        private TextView tv_dingdanhao_value;
+        private TextView tv_gongdan_value;
+        private TextView tv_order_numbers_value;
+        private TextView tv_chanping_value;
+        private TextView tv_name_value;
+        private TextView tv_spec_value;
+        private LinearLayout ll_content;
+
+        private LinearLayout ll_baogongtuisong;
+        private TextView tv_mujianguige;
+        private TextView tv_beizhu;
+        private TextView tv_paichan_time;
+        private TextView tv_nowqty_value;
+        private TextView tv_sumqty_value;
+        private TextView tv_start_time_value;   //启动时间
+        private TextView tv_work_hour_value;   //累计工时
+
+        private ClearableEditText cet_ol_numbers;   //报工数
+        private ClearableEditText cet_ol_unuse;     //报废数
+        private ClearableEditText cet_ol_remark;    //备注
+        private ClearableEditText cet_unworkhour;    //异常工时
+        private Button bt_ol_pause;    //确认报工
+
+        private CheckBox cb_select;
+
+        public viewHolder(View view) {
+            super(view);
+            tv_dingdanhao_value = view.findViewById(R.id.tv_dingdanhao_value);
+            tv_gongdan_value = view.findViewById(R.id.tv_gongdan_value);
+            tv_order_numbers_value = view.findViewById(R.id.tv_order_numbers_value);
+            tv_chanping_value = view.findViewById(R.id.tv_chanping_value);
+            tv_name_value = view.findViewById(R.id.tv_name_value);
+            tv_spec_value = view.findViewById(R.id.tv_spec_value);
+            ll_content = view.findViewById(R.id.ll_content);
+            ll_baogongtuisong = view.findViewById(R.id.ll_baogongtuisong);
+
+            tv_mujianguige = view.findViewById(R.id.tv_mujianguige);
+            tv_beizhu = view.findViewById(R.id.tv_beizhu);
+
+            cet_ol_numbers = view.findViewById(R.id.cet_ol_numbers);
+            cet_ol_unuse = view.findViewById(R.id.cet_ol_unuse);
+            cet_ol_remark = view.findViewById(R.id.cet_ol_remark);
+            bt_ol_pause = view.findViewById(R.id.bt_ol_pause);
+
+            tv_paichan_time = view.findViewById(R.id.tv_paichan_time);
+            tv_nowqty_value = view.findViewById(R.id.tv_nowqty_value);
+            tv_sumqty_value = view.findViewById(R.id.tv_sumqty_value);
+
+            tv_start_time_value = view.findViewById(R.id.tv_start_time_value);
+            tv_work_hour_value = view.findViewById(R.id.tv_work_hour_value);
+
+            cet_unworkhour = view.findViewById(R.id.cet_unworkhour);
+            cb_select = view.findViewById(R.id.cb_select);
+        }
+
+        public void bindBaoGong(ReportingWorkBean item, int position, OnTextBaoGongListener listener,Map<Integer,String> mapBaoGong) {
+            // 移除旧监听避免干扰
+            if (textWatcherBaogong != null) {
+                cet_ol_numbers.removeTextChangedListener(textWatcherBaogong);
+            }
+
+            // 恢复数据到 EditText
+            cet_ol_numbers.setText(item.getTextBaoGong());
+
+            // 创建新的 TextWatcher
+            textWatcherBaogong = 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) {}
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    listener.onTextChanged(position, s.toString());
+                    mapBaoGong.put(position, s.toString().trim());
+                }
+            };
+
+            cet_ol_numbers.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (item.isSelect()) {
+                        CommonUtil.toastNoRepeat(PdaApplication.getmContext(),"请取消勾选,在输入");
+                    }
+                }
+            });
+
+            if (item.isSelect()) {
+                cet_ol_numbers.setFocusable(false);
+                cet_ol_numbers.setFocusableInTouchMode(false);
+            }else {
+                cet_ol_numbers.setFocusable(true);
+                cet_ol_numbers.setFocusableInTouchMode(true);
+            }
+
+            cet_ol_numbers.addTextChangedListener(textWatcherBaogong);
+
+            // 处理焦点丢失时的数据提交
+            cet_ol_numbers.setOnFocusChangeListener((v, hasFocus) -> {
+                if (!hasFocus) {
+                    listener.onTextChanged(position, cet_ol_numbers.getText().toString());
+                }
+            });
+        }
+
+        public void bindBaoFei(ReportingWorkBean item, int position, OnTextBaoFeiListener listener,Map<Integer,String> mapBaoFei) {
+            // 移除旧监听避免干扰
+            if (textWatcherBaofei != null) {
+                cet_ol_unuse.removeTextChangedListener(textWatcherBaofei);
+            }
+
+            // 恢复数据到 EditText
+            cet_ol_unuse.setText(item.getTextBaoFei());
+
+            // 创建新的 TextWatcher
+            textWatcherBaofei = 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) {}
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    listener.onTextChanged(position, s.toString());
+                    mapBaoFei.put(position, s.toString().trim());
+                }
+            };
+
+            cet_ol_unuse.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (item.isSelect()) {
+                        CommonUtil.toastNoRepeat(PdaApplication.getmContext(),"请取消勾选,在输入");
+                    }
+                }
+            });
+
+            if (item.isSelect()) {
+                cet_ol_unuse.setFocusable(false);
+                cet_ol_unuse.setFocusableInTouchMode(false);
+            }else {
+                cet_ol_unuse.setFocusable(true);
+                cet_ol_unuse.setFocusableInTouchMode(true);
+            }
+
+            cet_ol_unuse.addTextChangedListener(textWatcherBaofei);
+
+            // 处理焦点丢失时的数据提交
+            cet_ol_unuse.setOnFocusChangeListener((v, hasFocus) -> {
+                if (!hasFocus) {
+                    listener.onTextChanged(position, cet_ol_unuse.getText().toString());
+                }
+            });
+        }
+
+        public void bindBeiZhu(ReportingWorkBean item, int position, OnTextBeiZhuListener listener,Map<Integer,String> mapBaoGong) {
+            // 移除旧监听避免干扰
+            if (textWatcherBeiZhu != null) {
+                cet_ol_remark.removeTextChangedListener(textWatcherBeiZhu);
+            }
+
+            // 恢复数据到 EditText
+            cet_ol_remark.setText(item.getTextBeiZhu());
+
+            // 创建新的 TextWatcher
+            textWatcherBeiZhu = 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) {}
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    listener.onTextChanged(position, s.toString());
+                    mapBaoGong.put(position, s.toString().trim());
+                }
+            };
+
+            cet_ol_remark.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (item.isSelect()) {
+                        CommonUtil.toastNoRepeat(PdaApplication.getmContext(),"请取消勾选,在输入");
+                    }
+                }
+            });
+
+            if (item.isSelect()) {
+                cet_ol_remark.setFocusable(false);
+                cet_ol_remark.setFocusableInTouchMode(false);
+            }else {
+                cet_ol_remark.setFocusable(true);
+                cet_ol_remark.setFocusableInTouchMode(true);
+            }
+
+            cet_ol_remark.addTextChangedListener(textWatcherBeiZhu);
+
+            // 处理焦点丢失时的数据提交
+            cet_ol_remark.setOnFocusChangeListener((v, hasFocus) -> {
+                if (!hasFocus) {
+                    listener.onTextChanged(position, cet_ol_remark.getText().toString());
+                }
+            });
+        }
+
+        public void bindYiChangGongSi(ReportingWorkBean item, int position, OnTextYiChangGongSiListener listener,Map<Integer,String> mapYiChangGongSi) {
+            // 移除旧监听避免干扰
+            if (textWatcherYichangGongSi != null) {
+                cet_unworkhour.removeTextChangedListener(textWatcherYichangGongSi);
+            }
+
+            // 恢复数据到 EditText
+            cet_unworkhour.setText(item.getTextYiChangGongSi());
+
+            // 创建新的 TextWatcher
+            textWatcherYichangGongSi = 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) {}
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    listener.onTextChanged(position, s.toString());
+                    mapYiChangGongSi.put(position, s.toString().trim());
+                }
+            };
+
+            cet_unworkhour.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (item.isSelect()) {
+                        CommonUtil.toastNoRepeat(PdaApplication.getmContext(),"请取消勾选,在输入");
+                    }
+                }
+            });
+
+            if (item.isSelect()) {
+                cet_unworkhour.setFocusable(false);
+                cet_unworkhour.setFocusableInTouchMode(false);
+            }else {
+                cet_unworkhour.setFocusable(true);
+                cet_unworkhour.setFocusableInTouchMode(true);
+            }
+
+            cet_unworkhour.addTextChangedListener(textWatcherYichangGongSi);
+
+            // 处理焦点丢失时的数据提交
+            cet_unworkhour.setOnFocusChangeListener((v, hasFocus) -> {
+                if (!hasFocus) {
+                    listener.onTextChanged(position, cet_unworkhour.getText().toString());
+                }
+            });
+        }
+    }
+
+    public SetReportingWorkListener setReportingWorkListener;
+
+    public void setReportingWorkListener(SetReportingWorkListener setReportingWorkListener){
+        this.setReportingWorkListener = setReportingWorkListener;
+    }
+
+    public interface SetReportingWorkListener{
+        void setdata(String baogong,String baofei,String beizhu,String yichanggongshi,String dingDanHao,int position);
+    }
+
+    public BaoGongTuiSong baoGongTuiSong;
+
+    public void setBaoGongTuiSong(BaoGongTuiSong baoGongTuiSong){
+        this.baoGongTuiSong = baoGongTuiSong;
+    }
+
+    public interface BaoGongTuiSong{
+        void tuiSong(String baoGongShu,String dingDanHao);
+    }
+
+
+    public OnGetSelectState onGetSelectState;
+
+    public void setOnGetSelectState(OnGetSelectState onGetSelectState){
+        this.onGetSelectState = onGetSelectState;
+    }
+
+    public interface OnGetSelectState{
+        void isSelect(ReportingWorkB pwb,int position);
+    }
+
+
+}

+ 9 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/bean/LineCodeEntity.java

@@ -10,6 +10,15 @@ public class LineCodeEntity extends BaseSelectEntity {
     private String LI_CODE;
     private String LI_NAME;
     private SpanUtils mSpanUtils;
+    private boolean checked;
+
+    public boolean getChecked() {
+        return checked;
+    }
+
+    public void setChecked(boolean checked) {
+        this.checked = checked;
+    }
 
     public String getLI_CODE() {
         return LI_CODE;

+ 24 - 1
app/src/main/java/com/uas/baigang_workshop_workstation/bean/MaintainitemBean.java

@@ -11,12 +11,35 @@ public class MaintainitemBean {
     private String PR_UNIT;
     private String MM_ONEUSEQTY;
     private String MM_QTY;
+    private String mi_item;
+    private String PR_SPEC3_USER;
     private boolean isChecked;
 
-    public MaintainitemBean(String MM_PRODCODE, String PR_DETAIL, String PR_SPEC) {
+    public MaintainitemBean(String MM_PRODCODE, String PR_DETAIL, String PR_SPEC,String PR_SPEC3_USER) {
         this.MM_PRODCODE = MM_PRODCODE;
         this.PR_DETAIL = PR_DETAIL;
         this.PR_SPEC = PR_SPEC;
+        this.PR_SPEC3_USER = PR_SPEC3_USER;
+    }
+
+    public String getMi_item() {
+        return mi_item;
+    }
+
+    public void setMi_item(String mi_item) {
+        this.mi_item = mi_item;
+    }
+
+    public String getPR_SPEC3_USER() {
+        return PR_SPEC3_USER;
+    }
+
+    public void setPR_SPEC3_USER(String PR_SPEC3_USER) {
+        this.PR_SPEC3_USER = PR_SPEC3_USER;
+    }
+
+    public boolean isChecked() {
+        return isChecked;
     }
 
     public String getMM_PRODCODE() {

+ 72 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/bean/ReportingWorkB.java

@@ -0,0 +1,72 @@
+package com.uas.baigang_workshop_workstation.bean;
+
+public
+        /**
+         * Created by sw on 2025-06-21
+         */
+class ReportingWorkB {
+
+    private String pici;        //批次
+    private String baogong;     //报工数
+    private String baofei;      //报废数
+    private String beizhu;      //备注
+    private String yichanggongshi;  //异常工时
+    private String gongdanhao;   //工单号
+    private boolean selet;   //选中状态
+
+    public String getPici() {
+        return pici;
+    }
+
+    public void setPici(String pici) {
+        this.pici = pici;
+    }
+
+    public String getBaogong() {
+        return baogong;
+    }
+
+    public void setBaogong(String baogong) {
+        this.baogong = baogong;
+    }
+
+    public String getBaofei() {
+        return baofei;
+    }
+
+    public void setBaofei(String baofei) {
+        this.baofei = baofei;
+    }
+
+    public String getBeizhu() {
+        return beizhu;
+    }
+
+    public void setBeizhu(String beizhu) {
+        this.beizhu = beizhu;
+    }
+
+    public String getYichanggongshi() {
+        return yichanggongshi;
+    }
+
+    public void setYichanggongshi(String yichanggongshi) {
+        this.yichanggongshi = yichanggongshi;
+    }
+
+    public String getGongdanhao() {
+        return gongdanhao;
+    }
+
+    public void setGongdanhao(String gongdanhao) {
+        this.gongdanhao = gongdanhao;
+    }
+
+    public boolean isSelet() {
+        return selet;
+    }
+
+    public void setSelet(boolean selet) {
+        this.selet = selet;
+    }
+}

+ 225 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/bean/ReportingWorkBean.java

@@ -0,0 +1,225 @@
+package com.uas.baigang_workshop_workstation.bean;
+
+public
+        /**
+         * Created by sw on 2025-03-24
+         */
+class ReportingWorkBean {
+    private String PRSPEC;
+    private String MPD_REMARK;
+    private String MA_WCCODE;
+    private String CR_NAME;
+    private String PR_CODE;
+    private String MPD_ORDERCODE;   //订单号
+    private String MA_DOWNMAN;
+    private String MA_CODE;
+    private String MPD_PRODCODE;
+    private int MA_QTY;
+    private String MPD_PLANQTY;
+    private String PR_DETAIL;
+    private String PR_SPEC;
+    private String MP_BEGINTIME;    //排产日期
+    private String NOWQTY;  //当日报工数
+    private String SUMQTY;  //累计报工数
+    private String UNWORKHOUR;  //异常工时
+    private String STARTTIME;  //启动时间
+    private String WORKHOUR;  //累计工时
+    private boolean isSelect;  //是否选中
+
+    private String textBaoGong = "";    // 保存 EditText 内容,//报工数
+    private String textBaoFei = "";    // 保存 EditText 内容,//报废数
+    private String textBeiZhu = "";    // 保存 EditText 内容,//备注
+    private String textYiChangGongSi = "";    // 保存 EditText 内容,//异常工时
+
+    public String getTextBaoGong() {
+        return textBaoGong;
+    }
+
+    public void setTextBaoGong(String textBaoGong) {
+        this.textBaoGong = textBaoGong;
+    }
+
+    public String getTextBaoFei() {
+        return textBaoFei;
+    }
+
+    public void setTextBaoFei(String textBaoFei) {
+        this.textBaoFei = textBaoFei;
+    }
+
+    public String getTextBeiZhu() {
+        return textBeiZhu;
+    }
+
+    public void setTextBeiZhu(String textBeiZhu) {
+        this.textBeiZhu = textBeiZhu;
+    }
+
+    public String getTextYiChangGongSi() {
+        return textYiChangGongSi;
+    }
+
+    public void setTextYiChangGongSi(String textYiChangGongSi) {
+        this.textYiChangGongSi = textYiChangGongSi;
+    }
+
+    public boolean isSelect() {
+        return isSelect;
+    }
+
+    public void setSelect(boolean select) {
+        isSelect = select;
+    }
+
+    public String getSTARTTIME() {
+        return STARTTIME;
+    }
+
+    public void setSTARTTIME(String STARTTIME) {
+        this.STARTTIME = STARTTIME;
+    }
+
+    public String getWORKHOUR() {
+        return WORKHOUR;
+    }
+
+    public void setWORKHOUR(String WORKHOUR) {
+        this.WORKHOUR = WORKHOUR;
+    }
+
+    public String getUNWORKHOUR() {
+        return UNWORKHOUR;
+    }
+
+    public void setUNWORKHOUR(String UNWORKHOUR) {
+        this.UNWORKHOUR = UNWORKHOUR;
+    }
+
+    public String getMP_BEGINTIME() {
+        return MP_BEGINTIME;
+    }
+
+    public void setMP_BEGINTIME(String MP_BEGINTIME) {
+        this.MP_BEGINTIME = MP_BEGINTIME;
+    }
+
+    public String getNOWQTY() {
+        return NOWQTY;
+    }
+
+    public void setNOWQTY(String NOWQTY) {
+        this.NOWQTY = NOWQTY;
+    }
+
+    public String getSUMQTY() {
+        return SUMQTY;
+    }
+
+    public void setSUMQTY(String SUMQTY) {
+        this.SUMQTY = SUMQTY;
+    }
+
+    public String getPRSPEC() {
+        return PRSPEC;
+    }
+
+    public void setPRSPEC(String PRSPEC) {
+        this.PRSPEC = PRSPEC;
+    }
+
+    public String getMPD_REMARK() {
+        return MPD_REMARK;
+    }
+
+    public void setMPD_REMARK(String MPD_REMARK) {
+        this.MPD_REMARK = MPD_REMARK;
+    }
+
+    public String getMA_WCCODE() {
+        return MA_WCCODE;
+    }
+
+    public void setMA_WCCODE(String MA_WCCODE) {
+        this.MA_WCCODE = MA_WCCODE;
+    }
+
+    public String getCR_NAME() {
+        return CR_NAME;
+    }
+
+    public void setCR_NAME(String CR_NAME) {
+        this.CR_NAME = CR_NAME;
+    }
+
+    public String getPR_CODE() {
+        return PR_CODE;
+    }
+
+    public void setPR_CODE(String PR_CODE) {
+        this.PR_CODE = PR_CODE;
+    }
+
+    public String getMPD_ORDERCODE() {
+        return MPD_ORDERCODE;
+    }
+
+    public void setMPD_ORDERCODE(String MPD_ORDERCODE) {
+        this.MPD_ORDERCODE = MPD_ORDERCODE;
+    }
+
+    public String getMA_DOWNMAN() {
+        return MA_DOWNMAN;
+    }
+
+    public void setMA_DOWNMAN(String MA_DOWNMAN) {
+        this.MA_DOWNMAN = MA_DOWNMAN;
+    }
+
+    public String getMA_CODE() {
+        return MA_CODE;
+    }
+
+    public void setMA_CODE(String MA_CODE) {
+        this.MA_CODE = MA_CODE;
+    }
+
+    public String getMPD_PRODCODE() {
+        return MPD_PRODCODE;
+    }
+
+    public void setMPD_PRODCODE(String MPD_PRODCODE) {
+        this.MPD_PRODCODE = MPD_PRODCODE;
+    }
+
+    public int getMA_QTY() {
+        return MA_QTY;
+    }
+
+    public void setMA_QTY(int MA_QTY) {
+        this.MA_QTY = MA_QTY;
+    }
+
+    public String getMPD_PLANQTY() {
+        return MPD_PLANQTY;
+    }
+
+    public void setMPD_PLANQTY(String MPD_PLANQTY) {
+        this.MPD_PLANQTY = MPD_PLANQTY;
+    }
+
+    public String getPR_DETAIL() {
+        return PR_DETAIL;
+    }
+
+    public void setPR_DETAIL(String PR_DETAIL) {
+        this.PR_DETAIL = PR_DETAIL;
+    }
+
+    public String getPR_SPEC() {
+        return PR_SPEC;
+    }
+
+    public void setPR_SPEC(String PR_SPEC) {
+        this.PR_SPEC = PR_SPEC;
+    }
+}

+ 9 - 4
app/src/main/java/com/uas/baigang_workshop_workstation/fragment/BlueToothPrintFragment.java

@@ -104,7 +104,7 @@ public class BlueToothPrintFragment extends BaseFragment {
         mRefreshImageView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                if (connectHelper.isOpenBluetooth()) {
+                if (connectHelper != null && connectHelper.isOpenBluetooth()) {
                     mRefreshImageView.setAnimation(getImgAnimation());
                     mRefreshImageView.startAnimation(getImgAnimation());
                     connectHelper.searchDevices();
@@ -176,7 +176,6 @@ public class BlueToothPrintFragment extends BaseFragment {
             mMenuPopupWindow = null;
             CommonUtil.setBackgroundAlpha(mActivity, 1f);
         }
-
     }
 
     @Override
@@ -191,12 +190,18 @@ public class BlueToothPrintFragment extends BaseFragment {
                             public void onAction(List<String> data) {
                                 initHelper();
                             }
-                        })
+                        }).onDenied(new Action<List<String>>() {
+                    @Override
+                    public void onAction(List<String> data) {
+                        if (mActivity != null) {
+                            CommonUtil.toastNoRepeat(mActivity, "未授权定位将影响蓝牙功能的使用");
+                        }
+                    }
+                })
                         .start();
             } catch (Exception e) {
                 e.printStackTrace();
             }
-
         } else {
             initHelper();
         }

+ 1018 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/fragment/GdTimeReportFragmentNew2.java

@@ -0,0 +1,1018 @@
+package com.uas.baigang_workshop_workstation.fragment;
+
+import android.annotation.SuppressLint;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.android.volley.Request;
+import com.android.volley.toolbox.StringRequest;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.uas.baigang_workshop_workstation.R;
+import com.uas.baigang_workshop_workstation.activity.FunctionActivity;
+import com.uas.baigang_workshop_workstation.adapter.ReportingWorkAdapter;
+import com.uas.baigang_workshop_workstation.bean.CaiPiBlueBean;
+import com.uas.baigang_workshop_workstation.bean.LineCodeEntity;
+import com.uas.baigang_workshop_workstation.bean.ReportingWorkB;
+import com.uas.baigang_workshop_workstation.bean.ReportingWorkBean;
+import com.uas.baigang_workshop_workstation.global.GloableParams;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBaoFeiListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBaoGongListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextBeiZhuListener;
+import com.uas.baigang_workshop_workstation.interfaces.OnTextYiChangGongSiListener;
+import com.uas.baigang_workshop_workstation.tools.SharedPreUtil;
+import com.uas.baigang_workshop_workstation.util.CommonUtil;
+import com.uas.baigang_workshop_workstation.util.Constants;
+import com.uas.baigang_workshop_workstation.util.FastjsonUtil;
+import com.uas.baigang_workshop_workstation.util.FragmentUtils;
+import com.uas.baigang_workshop_workstation.util.HttpCallback;
+import com.uas.baigang_workshop_workstation.util.HttpParams;
+import com.uas.baigang_workshop_workstation.util.LogUtil;
+import com.uas.baigang_workshop_workstation.util.PrintUtils;
+import com.uas.baigang_workshop_workstation.util.StringUtil;
+import com.uas.baigang_workshop_workstation.util.VolleyRequest;
+import com.uas.baigang_workshop_workstation.view.ClearableEditText;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import razerdp.basepopup.BasePopupWindow;
+
+public class GdTimeReportFragmentNew2 extends BaseFragment {
+    private StringRequest mStringRequest;
+    private CheckBox cb_is_print;
+    private Button bt_printjson;
+    private RecyclerView rv_reporting_for_work;
+    private TextView tv_result;
+    private Boolean isPrinting = false;
+
+    private ReportingWorkAdapter reportingWorkAdapter;
+    private String sc_code;     //岗位
+    private ArrayList<ReportingWorkBean> reportingWorkBeans;
+    private String ma_code;     //工单
+    private AlertDialog dialog;
+
+    private JSONArray dataArrayjson;
+    private PopupWindow splitPop;
+    private int mPrintDpi = 203;
+    private boolean isConnected = false;
+    private List<CaiPiBlueBean.DataBean> messages = new ArrayList<>();
+    private LinearLayout ll_search;
+    private ClearableEditText cet_search;
+    private ImageView search_im;
+    private String my_prodcode;
+    private String my_name;
+    private String personnel_id;
+
+    private ArrayList<LineCodeEntity> personnelList;
+    private GetLinePortAdapter getLinePortAdapter;
+    private ClearableEditText edit_et;
+    private RecyclerView rv_getline_ip_port_data;
+    private PopupWindow editPW;
+    private String li_personne_id;
+    private CheckBox cb_all_select;
+    private List<ReportingWorkB> listb;     //批量处理报工
+    private Button bt_piliangbaogong;
+
+    @Override
+    protected int getLayout() {
+        return R.layout.fragment_gd_time_report_new2;
+    }
+
+    @Override
+    protected void initViews() {
+        ((FunctionActivity) getActivity()).setTitle("报工");
+
+        cb_is_print = root.findViewById(R.id.cb_is_print);
+        bt_printjson = root.findViewById(R.id.bt_printjson);
+        tv_result = root.findViewById(R.id.tv_result);
+        rv_reporting_for_work = root.findViewById(R.id.rv_reporting_for_work);
+        ll_search = root.findViewById(R.id.ll_search);
+        cet_search = root.findViewById(R.id.cet_search);
+        search_im = root.findViewById(R.id.search_im);
+        cb_all_select = root.findViewById(R.id.cb_all_select);
+        bt_piliangbaogong = root.findViewById(R.id.bt_piliangbaogong);
+
+        personnelList = new ArrayList<>();
+
+        rv_reporting_for_work.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
+        rv_reporting_for_work.setLayoutManager(new LinearLayoutManager(mActivity));
+        reportingWorkBeans = new ArrayList<>();
+        reportingWorkAdapter = new ReportingWorkAdapter(getActivity(), reportingWorkBeans, new OnTextBaoGongListener() {
+            @Override
+            public void onTextChanged(int position, String text) {
+                try {
+                    reportingWorkBeans.get(position).setTextBaoGong(text);
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }, new OnTextBaoFeiListener() {
+            @Override
+            public void onTextChanged(int position, String text) {
+                try {
+                    reportingWorkBeans.get(position).setTextBaoFei(text);
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }, new OnTextBeiZhuListener() {
+            @Override
+            public void onTextChanged(int position, String text) {
+                try {
+                    reportingWorkBeans.get(position).setTextBeiZhu(text);
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }, new OnTextYiChangGongSiListener() {
+            @Override
+            public void onTextChanged(int position, String text) {
+                try {
+                    reportingWorkBeans.get(position).setTextYiChangGongSi(text);
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        reportingWorkAdapter.setList(reportingWorkBeans);
+        rv_reporting_for_work.setAdapter(reportingWorkAdapter);
+    }
+
+    @Override
+    protected void initEvents() {
+        cb_is_print.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                if (buttonView.isPressed()) {
+                    isPrinting = isChecked;
+                }
+            }
+        });
+
+        bt_printjson.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (dataArrayjson == null || dataArrayjson.size() <= 0) {
+                    CommonUtil.toastNoRepeat(mActivity, "条码数据为空");
+                    return;
+                }
+                initBreakPopupWindow(dataArrayjson);
+            }
+        });
+
+        reportingWorkAdapter.setReportingWorkListener((baogong, baofei, beizhu, yichanggongshi, gongdanhao, position) -> {
+            new AlertDialog.Builder(mActivity).setTitle("提示")
+                    .setMessage("是否推送相关人员?")
+                    .setPositiveButton("确认", new DialogInterface.OnClickListener() {
+                        @Override
+                        public void onClick(DialogInterface dialog, int which) {
+                            initGetPersonnelID(baogong,gongdanhao,baofei, beizhu, yichanggongshi,position);
+                        }
+                    })
+                    .setNegativeButton("取消",
+                            new DialogInterface.OnClickListener() {
+                                @Override
+                                public void onClick(DialogInterface dialog, int which) {
+                                    setReportingWork(baogong, baofei, beizhu, yichanggongshi, position);
+                                }
+                            }).create().show();
+        });
+
+        search_im.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (reportingWorkBeans.size() > 0) {
+                    String trim = cet_search.getText().toString().trim();
+                    if (!TextUtils.isEmpty(trim)) {
+                        ArrayList<ReportingWorkBean> reportingWorkBeans1 = new ArrayList<>();
+                        for (int i = 0; i < reportingWorkBeans.size(); i++) {
+                            ReportingWorkBean reportingWorkBean = reportingWorkBeans.get(i);
+                            // 将字符串转换为小写,并检查是否包含关键字
+                            boolean containsKeyword = reportingWorkBean.getMPD_ORDERCODE().toLowerCase().contains(trim.toLowerCase());
+                            if (containsKeyword) {
+                                reportingWorkBeans1.add(reportingWorkBean);
+                            }
+                        }
+                        reportingWorkAdapter.setList(reportingWorkBeans1);
+                    }else {
+                        reportingWorkAdapter.setList(reportingWorkBeans);
+                    }
+                }
+            }
+        });
+
+        reportingWorkAdapter.setOnGetSelectState((pwb, position) -> {
+            try {
+                if (pwb.isSelet()) {
+                    listb.add(pwb);
+                }else {
+                    for (int i = 0; i < listb.size(); i++) {
+                        if (listb.get(i).getGongdanhao().equals(pwb.getGongdanhao())) {
+                            listb.remove(i);
+                        }
+                    }
+                }
+                if (reportingWorkBeans.size() == listb.size()) {
+                    cb_all_select.setChecked(true);
+                }else {
+                    cb_all_select.setChecked(false);
+                }
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+        });
+
+        cb_all_select.setOnCheckedChangeListener((buttonView, isChecked) -> {
+            if (buttonView.isPressed()) {
+                listb.clear();
+                if (isChecked) {
+                    List<ReportingWorkB> allSelect = reportingWorkAdapter.getAllSelect();
+                    listb.addAll(allSelect);
+                }else {
+                    reportingWorkAdapter.getNoAllSelect();
+                }
+            }
+        });
+
+        bt_piliangbaogong.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (listb.size() <= 0) {
+                        CommonUtil.toastNoRepeat(mActivity, "请选择报工工单");
+                        return;
+                    }
+                    setAllReportingWork(listb);
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+    }
+
+    private void setAllReportingWork(List<ReportingWorkB> listRWB) {
+        JSONArray reportdataArr = new JSONArray();
+        for (int i = 0; i < listRWB.size(); i++) {
+            ReportingWorkB reportingWorkB = listRWB.get(i);
+            JSONObject jb2 = new JSONObject();
+            JSONObject jb3 = new JSONObject();
+            JSONArray jsonArray2 = new JSONArray();
+
+            jb3.put("scrapqty",reportingWorkB.getBaofei()); //报废数
+            jb3.put("lotno",reportingWorkB.getPici()); //批次号
+            jb3.put("remark",reportingWorkB.getBeizhu()); //备注
+            jb3.put("unworkhour",reportingWorkB.getYichanggongshi()); //异常工时
+            jb3.put("madeqty",reportingWorkB.getBaogong()); //报工数
+            jsonArray2.add(jb3);
+
+            jb2.put("ma_code", reportingWorkB.getGongdanhao());
+            jb2.put("sc_code", sc_code);
+            jb2.put("data", jsonArray2);
+            reportdataArr.add(jb2);
+        }
+        Log.e("aaa", reportdataArr.toString());
+
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_REPORT_MAS)
+                        .method(Request.Method.POST)
+                        .tag(TAG + "reportMa")
+                        .flag(0)
+                        .addParam("data", reportdataArr.toString())
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(), "success");
+                            if (isSuccess) {
+                                tv_result.setVisibility(View.VISIBLE);
+                                tv_result.setTextColor(getResources().getColor(R.color.green));
+                                tv_result.setText("批量报工成功");
+                                getReportingForWork();
+                            }
+                            progressDialog.dismiss();
+                        }catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        tv_result.setVisibility(View.VISIBLE);
+                        tv_result.setTextColor(getResources().getColor(R.color.red));
+                        tv_result.setText(failStr);
+                    }
+                });
+    }
+
+    private void setReportingWork(String baogong, String baofei, String beizhu, String yichanggongshi, int position) {
+        Map<Object, String> exchangeData = new HashMap<>();
+        String pici = "";//批次号
+        String madeqty = baogong;//报工数
+        String scrapqty = baofei;//报废数
+        String remark = beizhu;//备注
+        String yichang = yichanggongshi;//异常工时
+        exchangeData.put("lotno", pici);
+        exchangeData.put("madeqty", madeqty);
+        exchangeData.put("scrapqty", scrapqty);
+        exchangeData.put("remark", remark);
+        exchangeData.put("unworkhour", yichang);
+        //工单
+        String maCode = reportingWorkAdapter.getList().get(position).getMA_CODE();
+        LogUtil.i(TAG, JSON.toJSONString(exchangeData));
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_PDA_REPORTMA)
+                        .method(Request.Method.POST)
+                        .tag(TAG + "reportMa")
+                        .flag(0)
+                        .addParam("ma_code", maCode)      //工单
+                        .addParam("sc_code", sc_code)    //岗位
+                        .addParam("data", JSON.toJSONString(exchangeData))
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            progressDialog.dismiss();
+                            Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(), "success");
+                            dataArrayjson = FastjsonUtil.getJSONArray(o.toString(), "data");
+                            if (isSuccess) {
+                                tv_result.setVisibility(View.VISIBLE);
+                                tv_result.setTextColor(getResources().getColor(R.color.green));
+                                tv_result.setText("报工成功");
+                                getReportingForWork();
+                                if (isPrinting) {
+                                    initBreakPopupWindow(dataArrayjson);
+                                }
+                            }
+                        }catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        tv_result.setVisibility(View.VISIBLE);
+                        tv_result.setTextColor(getResources().getColor(R.color.red));
+                        tv_result.setText(failStr);
+                    }
+                });
+    }
+
+    @Override
+    protected void initDatas() {
+        listb = new ArrayList<>();
+        Bundle bundle = getArguments();//从activity传过来的Bundle
+        if (bundle != null) {
+            sc_code = bundle.getString(Constants.FLAG.SC_CODE);     //岗位
+            ma_code = bundle.getString(Constants.FLAG.MA_CODE);     //工单
+            my_prodcode = bundle.getString("ma_prodcode");    //产品编号
+            my_name = bundle.getString("index_detail_doc");  //名称
+            personnel_id = bundle.getString("personnel_id");  //人员编号
+            getReportingForWork();
+        }
+    }
+
+    private void getReportingForWork() {
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_GET_REPORT_MACODE)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getReportingForWork")
+                        .flag(0)
+                        .addParam("sc_code", sc_code)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(), "success");
+                            JSONArray dataArrayjson = FastjsonUtil.getJSONArray(o.toString(), "data");
+                            if (isSuccess) {
+                                reportingWorkBeans.clear();
+                                if (dataArrayjson.size() > 0) {
+                                    for (int i = 0; i < dataArrayjson.size(); i++) {
+                                        JSONObject barcodeObject = dataArrayjson.getJSONObject(i);
+                                        if (barcodeObject != null) {
+                                            ReportingWorkBean reportingWorkBean = new ReportingWorkBean();
+                                            reportingWorkBean.setPRSPEC(barcodeObject.getString("PRSPEC"));
+                                            reportingWorkBean.setMPD_REMARK(barcodeObject.getString("MPD_REMARK"));
+                                            reportingWorkBean.setMA_WCCODE(barcodeObject.getString("MA_WCCODE"));
+                                            reportingWorkBean.setCR_NAME(barcodeObject.getString("CR_NAME"));
+                                            reportingWorkBean.setPR_CODE(barcodeObject.getString("PR_CODE"));
+                                            reportingWorkBean.setMPD_ORDERCODE(barcodeObject.getString("MPD_ORDERCODE"));
+                                            reportingWorkBean.setMA_DOWNMAN(barcodeObject.getString("MA_DOWNMAN"));
+                                            reportingWorkBean.setMA_CODE(barcodeObject.getString("MA_CODE"));
+                                            reportingWorkBean.setMPD_PRODCODE(barcodeObject.getString("MPD_PRODCODE"));
+                                            reportingWorkBean.setMA_QTY(barcodeObject.getInteger("MA_QTY"));
+                                            reportingWorkBean.setMPD_PLANQTY(barcodeObject.getString("MPD_PLANQTY"));
+                                            reportingWorkBean.setPR_DETAIL(barcodeObject.getString("PR_DETAIL"));
+                                            reportingWorkBean.setPR_SPEC(barcodeObject.getString("PR_SPEC"));
+                                            reportingWorkBean.setMP_BEGINTIME(barcodeObject.getString("MP_BEGINTIME"));
+                                            reportingWorkBean.setNOWQTY(barcodeObject.getString("NOWQTY"));
+                                            reportingWorkBean.setSUMQTY(barcodeObject.getString("SUMQTY"));
+                                            reportingWorkBean.setUNWORKHOUR(barcodeObject.getString("UNWORKHOUR"));
+                                            reportingWorkBean.setSTARTTIME(barcodeObject.getString("STARTTIME"));
+                                            reportingWorkBean.setWORKHOUR(barcodeObject.getString("WORKHOUR"));
+                                            reportingWorkBeans.add(reportingWorkBean);
+                                        }
+                                    }
+                                    if (reportingWorkBeans.size() > 0) {
+                                        ll_search.setVisibility(View.VISIBLE);
+                                    } else {
+                                        ll_search.setVisibility(View.GONE);
+                                    }
+                                }else {
+                                    if (mActivity != null) {
+                                        CommonUtil.toastNoRepeat(mActivity, "没有报工数据");
+                                    }
+                                }
+                                reportingWorkAdapter.setList(reportingWorkBeans);
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        progressDialog.dismiss();
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        tv_result.setVisibility(View.VISIBLE);
+                        tv_result.setTextColor(getResources().getColor(R.color.red));
+                        tv_result.setText(failStr);
+                    }
+                });
+    }
+
+    private void initGetPersonnelID(String baoGong,String gongdanhao,String baofei,String beizhu,String yichanggongshi,int position) {
+        li_personne_id = "";
+        personnelList.clear();
+        getLinePortAdapter = new GetLinePortAdapter(personnelList);
+        View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_line_pup, null);
+        edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
+        TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
+        TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
+        ImageView search_im = contView.findViewById(R.id.search_im);
+        LinearLayout line_top = contView.findViewById(R.id.line_top);
+        rv_getline_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
+        rv_getline_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
+        rv_getline_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
+        getLinePortAdapter.setmList(personnelList);
+        rv_getline_ip_port_data.setAdapter(getLinePortAdapter);
+        getPersonnelID();
+
+        editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        editPW.setTouchable(true);
+        editPW.setBackgroundDrawable(new BitmapDrawable());
+        editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeListPopupWindow();
+            }
+        });
+        View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
+        editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+        search_im.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String mSearchStr = edit_et.getText().toString().trim();
+                if (!mSearchStr.isEmpty()) {
+                    List<LineCodeEntity> thisList = new ArrayList<>();
+                    for (int i = 0; i < personnelList.size(); i++) {
+                        if (personnelList.get(i).getLI_CODE().contains(mSearchStr) ||
+                                personnelList.get(i).getLI_NAME().contains(mSearchStr)
+                        ) {
+                            thisList.add(personnelList.get(i));
+                        }
+                        if (i == personnelList.size() - 1) {
+                            getLinePortAdapter = new GetLinePortAdapter(thisList);
+                            rv_getline_ip_port_data.setAdapter(getLinePortAdapter);
+                            LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+
+                        }
+                        List<LineCodeEntity> lineCodeEntities = getLinePortAdapter.getmList();
+                        for (int j = 0; j < lineCodeEntities.size(); j++) {
+                            lineCodeEntities.get(j).setChecked(false);
+                        }
+                        getLinePortAdapter.notifyDataSetChanged();
+                    }
+                } else {
+                    getLinePortAdapter = new GetLinePortAdapter(personnelList);
+                    rv_getline_ip_port_data.setAdapter(getLinePortAdapter);
+                    List<LineCodeEntity> lineCodeEntities = getLinePortAdapter.getmList();
+                    for (int i = 0; i < lineCodeEntities.size(); i++) {
+                        lineCodeEntities.get(i).setChecked(false);
+                    }
+                    getLinePortAdapter.notifyDataSetChanged();
+
+                }
+                getLinePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                        try {
+                            List<LineCodeEntity> lineCodeEntities = getLinePortAdapter.getmList();
+                            String li_code = lineCodeEntities.get(position).getLI_CODE();
+                            if (TextUtils.isEmpty(li_personne_id)) {
+                                li_personne_id = li_code;
+                            }else{
+                                if (li_personne_id.contains(li_code)){
+                                    String[] split = li_personne_id.split(",");
+                                    for (int i = 0; i < split.length; i++) {
+                                        if (split[i].equals(li_code)) {
+                                            if (li_personne_id.length() > li_code.length()) {
+                                                int start = li_personne_id.indexOf(li_code) - 1;
+                                                int end = start + li_code.length() + 1;
+                                                if(start <= 0) {
+                                                    li_personne_id = li_personne_id.substring(end);
+                                                }else {
+                                                    li_personne_id = li_personne_id.substring(0, start).concat(li_personne_id.substring(end));
+                                                }
+                                            }else {
+                                                li_personne_id = "";
+                                            }
+                                        }
+                                    }
+                                }else {
+                                    li_personne_id += "," + li_code;
+                                }
+                            }
+                            for (int i = 0; i < lineCodeEntities.size(); i++) {
+                                String[] split = li_personne_id.split(",");
+                                for (int i1 = 0; i1 < split.length; i1++) {
+                                    if (li_code.equals(split[i1])) {
+                                        lineCodeEntities.get(position).setChecked(true);
+                                    }else {
+                                        lineCodeEntities.get(position).setChecked(false);
+                                    }
+                                }
+                            }
+                            getLinePortAdapter.notifyDataSetChanged();
+                        }catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+            }
+        });
+
+        getLinePortAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+            @Override
+            public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                try {
+                    List<LineCodeEntity> lineCodeEntities = getLinePortAdapter.getmList();
+                    String li_code = lineCodeEntities.get(position).getLI_CODE();
+                    if (TextUtils.isEmpty(li_personne_id)) {
+                        li_personne_id = li_code;
+                    }else{
+                        if (li_personne_id.contains(li_code)){
+                            String[] split = li_personne_id.split(",");
+                            for (int i = 0; i < split.length; i++) {
+                                if (split[i].equals(li_code)) {
+                                    if (li_personne_id.length() > li_code.length()) {
+                                        int start = li_personne_id.indexOf(li_code) - 1;
+                                        int end = start + li_code.length() + 1;
+                                        if(start <= 0) {
+                                            li_personne_id = li_personne_id.substring(end);
+                                        }else {
+                                            li_personne_id = li_personne_id.substring(0, start).concat(li_personne_id.substring(end));
+                                        }
+                                    }else {
+                                        li_personne_id = "";
+                                    }
+                                }
+                            }
+                        }else {
+                            li_personne_id += "," + li_code;
+                        }
+                    }
+                    for (int i = 0; i < lineCodeEntities.size(); i++) {
+                        String[] split = li_personne_id.split(",");
+                        for (int i1 = 0; i1 < split.length; i1++) {
+                            if (li_code.equals(split[i1])) {
+                                lineCodeEntities.get(position).setChecked(true);
+                            }else {
+                                lineCodeEntities.get(position).setChecked(false);
+                            }
+                        }
+                    }
+                    getLinePortAdapter.notifyDataSetChanged();
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+
+        //确定
+        sure_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (!StringUtil.isEmpty(li_personne_id)) {
+                    reportWorkPush(sc_code,baoGong,gongdanhao,li_personne_id);
+                    setReportingWork(baoGong, baofei, beizhu, yichanggongshi, position);
+                } else {
+                    CommonUtil.toastNoRepeat(mActivity, "请选择人员编号");
+                    return;
+                }
+                closeListPopupWindow();
+            }
+        });
+
+        //取消
+        cancle_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeListPopupWindow();
+            }
+        });
+    }
+
+    private void reportWorkPush(String sc_code,String ma_qty,String ma_code,String em_code) {
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADDRESS_SEND_NOTIFY)
+                .method(Request.Method.GET)
+                .addParam("sc_code",sc_code)
+                .addParam("ma_qty",ma_qty)
+                .addParam("ma_code",ma_code)
+                .addParam("em_code",em_code)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                personnelList.clear();
+                try {
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    if (resultObject.getString("success") != null) {
+                        CommonUtil.toastNoRepeat(mActivity, "报工推送成功");
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                progressDialog.dismiss();
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
+    }
+
+    private void setcodelineAdapter(ArrayList<LineCodeEntity> mList) {
+        getLinePortAdapter.setmList(mList);
+        getLinePortAdapter.notifyDataSetChanged();
+        rv_getline_ip_port_data.setAdapter(getLinePortAdapter);
+    }
+
+    private void closeListPopupWindow() {
+        if (editPW != null) {
+            editPW.dismiss();
+            editPW = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+    }
+
+    private void getPersonnelID() {
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(new HttpParams.Builder()
+                .url(GloableParams.ADD_GET_PERSONNEL_ID)
+                .addParam("type","完工报工")
+                .method(Request.Method.POST)
+                .build(), new HttpCallback() {
+            @Override
+            public void onSuccess(int flag, Object o) throws Exception {
+                try {
+                    personnelList.clear();
+                    String result = o.toString();
+                    JSONObject resultObject = JSON.parseObject(result);
+                    JSONArray dataArray = resultObject.getJSONArray("data");
+                    if (dataArray != null) {
+                        for (int i = 0; i < dataArray.size(); i++) {
+                            JSONObject dataObject = dataArray.getJSONObject(i);
+                            if (dataObject != null) {
+                                LineCodeEntity lineCodeEntity = new LineCodeEntity();
+                                lineCodeEntity.setLI_CODE(FastjsonUtil.getText(dataObject, "EM_CODE"));
+                                lineCodeEntity.setLI_NAME(FastjsonUtil.getText(dataObject, "EM_NAME"));
+                                personnelList.add(lineCodeEntity);
+                            }
+                        }
+                    }
+                    if (personnelList.size() == 0) {
+                        CommonUtil.toastNoRepeat(mActivity, "人员编号数据为空");
+                    } else {
+                        setcodelineAdapter(personnelList);
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                progressDialog.dismiss();
+            }
+
+            @Override
+            public void onFail(int flag, String failStr) throws Exception {
+                progressDialog.dismiss();
+                CommonUtil.toastNoRepeat(mActivity, failStr);
+            }
+        });
+    }
+
+    private void printEvent(JSONArray printArray) {
+        if (isPrinting) {
+            CommonUtil.toastNoRepeat(mActivity, "正在打印中,请勿重复操作");
+            return;
+        }
+        isPrinting = true;
+        if (printArray != null && printArray.size() > 0) {
+            boolean isFail = false;
+            for (int i = 0; i < printArray.size(); i++) {
+                try {
+                    int printResult = PrintUtils.printBar(mActivity, printArray.toString(), mPrintDpi, null);
+                    if (printResult <= 0) {
+                        isFail = true;
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+            closeSplitPopupWindow();
+            progressDialog.dismiss();
+            if (isFail) {
+                isConnected = false;
+                SharedPreUtil.saveInt(mActivity, "printConnect", 0);
+                CommonUtil.toastNoRepeat(mActivity, "打印失败,请重新连接打印机");
+
+                BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+                Bundle bundle = new Bundle();
+                bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, printArray.toString());
+                Log.e("listArraythree", printArray.toString());
+                blueToothPrintFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(GdTimeReportFragmentNew2.this, blueToothPrintFragment);
+            } else {
+                CommonUtil.toastNoRepeat(mActivity, "打印成功");
+            }
+        } else {
+            CommonUtil.toastNoRepeat(mActivity, "打印失败,条码数据为空");
+        }
+        isPrinting = false;
+    }
+
+    private void closeSplitPopupWindow() {
+        if (splitPop != null) {
+            splitPop.dismiss();
+            splitPop = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+    }
+
+    protected void initBreakPopupWindow(JSONArray listArray) {
+        for (int i = 0; i < listArray.size(); i++) {
+            messages.clear();
+            try {
+                JSONObject barcodeObject = listArray.getJSONObject(i);
+
+                if (barcodeObject != null) {
+                    CaiPiBlueBean.DataBean dataBean=new CaiPiBlueBean.DataBean();
+                    //                    dataBean.setLotno(JsonUtils.optStringNotNull(barcodeObject, "LOTNO"));
+                    //                    dataBean.setQty(JsonUtils.optStringNotNull(barcodeObject, "QTY"));
+                    Log.e("BAR_CODE",barcodeObject.getString("BAR_CODE"));//PR_CODE
+                    dataBean.setLotno("新条码号:"+barcodeObject.getString("BAR_CODE"));
+                    dataBean.setQty("数量:"+barcodeObject.getString("BAR_REMAIN")
+                            +"\n产品名称:"+barcodeObject.getString("PR_DETAIL")
+                            +"\n工单号:"+barcodeObject.getString("MA_CODE")
+                            +"\n料号:"+barcodeObject.getString("PR_CODE")
+                            +"\n打印时间:"+barcodeObject.getString("PRINTDATE"));
+                    messages.add(dataBean);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        View popView = LayoutInflater.from(getActivity()).inflate(R.layout.popupwindow_whbreaking_batch, null);
+        ListView listView = (ListView) popView.findViewById(R.id.list_view);
+        Button btnPrintf = (Button) popView.findViewById(R.id.btn_print);
+        Button btnPrintfSet = (Button) popView.findViewById(R.id.btn_print_setting);
+        Button btnClose = (Button) popView.findViewById(R.id.btn_close);
+        Button btnBack = (Button) popView.findViewById(R.id.btn_back);
+
+        btnBack.setVisibility(View.GONE);
+        btnClose.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeSplitPopupWindow();
+                //                }
+            }
+        });
+        btnPrintf.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (isConnected) {
+                    progressDialog.show();
+                    //                    listArray.remove(0);
+                    printEvent(listArray);
+                } else {
+                    closeSplitPopupWindow();
+                    BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+
+                    Bundle bundle = new Bundle();
+                    bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
+                    Log.e("listArrayone",listArray.toString());
+                    blueToothPrintFragment.setArguments(bundle);
+                    FragmentUtils.switchFragment(GdTimeReportFragmentNew2.this, blueToothPrintFragment);
+                }
+            }
+        });
+
+        btnPrintfSet.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeSplitPopupWindow();
+                BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+
+                Bundle bundle = new Bundle();
+                bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
+                Log.e("listArraytwo",listArray.toString());
+                blueToothPrintFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(GdTimeReportFragmentNew2.this, blueToothPrintFragment);
+            }
+        });
+        MyAdapter adapter = new MyAdapter(getActivity(), R.layout.item_list_whbreakingbatchfragment, messages);
+        listView.setAdapter(adapter);
+        //当只有一条数据的时候可以加上
+        /*
+        if (messages.size()>1){
+            btnBack.setVisibility(View.GONE);
+        }*/
+        // PopupWindow实例化,参数的意思是 view,长(不包括状态栏),高(不包括状态栏),是否聚焦
+        splitPop = new PopupWindow(popView, LinearLayout.LayoutParams.WRAP_CONTENT,
+                LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        splitPop.setAnimationStyle(R.style.MenuAnimationFade);
+        splitPop.setBackgroundDrawable(new BitmapDrawable());
+        // 弹出窗口显示内容视图,默认以锚定视图的左下角为起点,这里为点击按钮
+        splitPop.showAtLocation(getActivity().getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+        splitPop.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeSplitPopupWindow();
+                //                specialOut();
+            }
+        });
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return false;
+    }
+
+    @Override
+    public boolean onFragmentBackPressed() {
+        return false;
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    private class MyAdapter extends ArrayAdapter<CaiPiBlueBean.DataBean> {
+        private int resourceId;
+
+        public MyAdapter(Context context, int resource, List<CaiPiBlueBean.DataBean> objects) {
+            super(context, resource, objects);
+            resourceId = resource;
+        }
+
+        @SuppressLint("ViewHolder")
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            CaiPiBlueBean.DataBean person = getItem(position);
+            convertView = LayoutInflater.from(getContext()).inflate(resourceId, null);
+            TextView tv_gone1 = (TextView) convertView.findViewById(R.id.tv_bar_code);
+            TextView tv_gone2 = (TextView) convertView.findViewById(R.id.tv_bar_remain);
+            tv_gone1.setText(person.getLotno());
+            tv_gone2.setText(person.getQty());
+            return convertView;
+        }
+    }
+
+    private class ComListAdapter extends BaseQuickAdapter<ComDataBean, BaseViewHolder> {
+        private List<ComDataBean> mmmmList;
+
+        public List<ComDataBean> getmList() {
+            return mmmmList;
+        }
+
+        public void setmList(List<ComDataBean> mList) {
+            this.mmmmList = mList;
+        }
+
+        public ComDataBean getBeanByPositon(int position) {
+            return mmmmList.get(position);
+        }
+
+        private ComListAdapter(@Nullable List<ComDataBean> data) {
+            super(R.layout.fuzzy_search_item, data);
+            this.mmmmList = data;
+        }
+
+        @Override
+        protected void convert(BaseViewHolder helper, ComDataBean item) {
+            helper.setText(R.id.macode_Tv, item.getItemName());
+            helper.setText(R.id.remark_Tv, item.getItemremark());
+        }
+    }
+
+    private class ComDataBean {
+        String itemName = null;
+        String itemremark = null;
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+
+        public String getItemremark() {
+            return itemremark;
+        }
+
+        public void setItemremark(String itemremark) {
+            this.itemremark = itemremark;
+        }
+    }
+
+    private class GetLinePortAdapter extends BaseQuickAdapter<LineCodeEntity, BaseViewHolder> {
+        private List<LineCodeEntity> mmmmList;
+
+        public List<LineCodeEntity> getmList() {
+            return mmmmList;
+        }
+
+        public void setmList(List<LineCodeEntity> mList) {
+            this.mmmmList = mList;
+        }
+
+        public LineCodeEntity getBeanByPositon(int position) {
+            return mmmmList.get(position);
+        }
+
+        private GetLinePortAdapter(@Nullable List<LineCodeEntity> data) {
+            super(R.layout.fuzzy_ipandport_item2, data);
+            this.mmmmList = data;
+        }
+
+        @Override
+        protected void convert(BaseViewHolder helper, LineCodeEntity item) {
+            helper.setText(R.id.macode_ip__Tv, item.getLI_NAME() + "(" + item.getLI_CODE() + ")");
+            helper.setGone(R.id.rl_2, false);
+            helper.setGone(R.id.rl_3, false);
+            LinearLayout line_true = helper.itemView.findViewById(R.id.line_true);
+            if (item.getChecked()) {
+                line_true.setSelected(true);
+            } else {
+                line_true.setSelected(false);
+            }
+        }
+    }
+
+}

+ 320 - 37
app/src/main/java/com/uas/baigang_workshop_workstation/fragment/PreProcessingReportFragment.java

@@ -2,20 +2,28 @@ package com.uas.baigang_workshop_workstation.fragment;
 
 import android.annotation.SuppressLint;
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
+import android.graphics.drawable.BitmapDrawable;
+import android.os.Bundle;
 import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.DividerItemDecoration;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.util.SparseBooleanArray;
+import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
 import android.widget.Button;
 import android.widget.CheckBox;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
@@ -25,17 +33,24 @@ import com.android.volley.Request;
 import com.android.volley.toolbox.StringRequest;
 import com.uas.baigang_workshop_workstation.R;
 import com.uas.baigang_workshop_workstation.activity.FunctionActivity;
+import com.uas.baigang_workshop_workstation.bean.CaiPiBlueBean;
 import com.uas.baigang_workshop_workstation.bean.MaintainitemBean;
 import com.uas.baigang_workshop_workstation.global.GloableParams;
 import com.uas.baigang_workshop_workstation.tools.SharedPreUtil;
 import com.uas.baigang_workshop_workstation.util.CommonUtil;
+import com.uas.baigang_workshop_workstation.util.Constants;
 import com.uas.baigang_workshop_workstation.util.FastjsonUtil;
+import com.uas.baigang_workshop_workstation.util.FragmentUtils;
 import com.uas.baigang_workshop_workstation.util.HttpCallback;
 import com.uas.baigang_workshop_workstation.util.HttpParams;
 import com.uas.baigang_workshop_workstation.util.LogUtil;
+import com.uas.baigang_workshop_workstation.util.PrintUtils;
+import com.uas.baigang_workshop_workstation.util.StringUtil;
 import com.uas.baigang_workshop_workstation.util.VolleyRequest;
+import com.uas.baigang_workshop_workstation.view.ClearableEditText;
 
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Created by RaoMeng on 2024/05/27
@@ -51,6 +66,21 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
     private String ma_code;
     private String sc_code;
     private TextView tv_ma_code;
+    private ClearableEditText ct_qty;
+    private ClearableEditText ct_sum;
+    private List<CaiPiBlueBean.DataBean> messages = new ArrayList<>();
+    private PopupWindow splitPop;
+    private boolean isConnected = false;
+    private boolean isPrinting = false;
+    private int mPrintDpi = 203;
+    private JSONArray dataArray;
+    private Button btn_oneprint;
+    private ClearableEditText ol_remark_et;
+    private ImageView iv_search;
+    private String sccode;
+    private String macode;
+    private String mouldcode;
+    private String stringlotno;
 
     @Override
     protected int getLayout() {
@@ -63,16 +93,56 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
         ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
         mRecyclerView = root.findViewById(R.id.feeded_rv);
         tv_ma_code = root.findViewById(R.id.tv_ma_code);
+        ct_qty = root.findViewById(R.id.ct_qty);
+        ct_sum = root.findViewById(R.id.ct_sum);
+        btn_oneprint = root.findViewById(R.id.btn_oneprint);
+        ol_remark_et = root.findViewById(R.id.ol_remark_et);
+        iv_search = root.findViewById(R.id.iv_search);
         jlt_storage_in_barcode_save_btn = root.findViewById(R.id.jlt_storage_in_barcode_save_btn);
     }
 
-
-
+    public static String removeBrackets(String input) {
+        // 去除前后的中括号
+        if (input.startsWith("[") && input.endsWith("]")) {
+            input = input.substring(1, input.length() - 1);
+        }
+        return input;
+    }
     @Override
     protected void initEvents() {
+        Bundle arguments = getArguments();
+        sccode = arguments.getString(Constants.FLAG.SC_CODE);
+        macode = arguments.getString(Constants.FLAG.MA_CODE);
+        mouldcode = arguments.getString(Constants.FLAG.MOULDCODE);
+
+        getPrintTemplate("PreBarcode");
+        btn_oneprint.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (dataArray != null && dataArray.size() > 0) {
+                    printEvent(dataArray);
+                }else {
+                    CommonUtil.toastNoRepeat(mActivity, "数据为空");
+                }
+            }
+        });
+//        Bundle mbundle = new Bundle();
+//        iv_search.setOnClickListener(new View.OnClickListener() {
+//            @Override
+//            public void onClick(View v) {
+//                Intent intent = new Intent(mActivity, WorkOrderSearchActivity.class);
+//                intent.putExtra(Constants.FLAG.SC_CODE, sccode);
+//                startActivityForResult(intent, Constants.FLAG.GET_COMMON_ITEM);
+//            }
+//        });
+
         jlt_storage_in_barcode_save_btn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (StringUtil.isEmpty(ct_sum.getText().toString().trim())){
+                    CommonUtil.toastNoRepeat(mActivity, "请输入报工数");
+                    return;
+                }
                 ArrayList<MaintainitemBean> selectedItem = myAdapter.getSelectedItem();
                 if (selectedItem==null||selectedItem.size()==0){
                     CommonUtil.toastNoRepeat(mActivity, "请选择料号");
@@ -88,8 +158,13 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
                 getNewsave(sunmdata);
             }
         });
-        ma_code = SharedPreUtil.getString(mActivity, "MA_CODE", null);
-        sc_code = SharedPreUtil.getString(mActivity, "SC_CODE", null);
+
+        Bundle bundle = getArguments();
+        if (bundle != null) {
+            sc_code = bundle.getString(Constants.FLAG.SC_CODE);
+            ma_code = bundle.getString(Constants.FLAG.MA_CODE);
+        }
+
         tv_ma_code.setText(ma_code);
     }
 
@@ -104,10 +179,10 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
         mRecyclerView.setItemAnimator(new DefaultItemAnimator());
         setAdapter(mFeededList);
         mRecyclerView.setAdapter(myAdapter);
-        getNewVersionMsg();
+//        getNewVersionMsg(ma_code);
     }
 
-    private void getNewVersionMsg() {
+    private void getNewVersionMsg(String ma_code) {
         progressDialog.show();
         VolleyRequest.getInstance().stringRequest(mStringRequest,
                 new HttpParams.Builder()
@@ -122,7 +197,6 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
                         String result = o.toString();
                         JSONArray dataArray = FastjsonUtil.getJSONArray(result, "data");
                         handleFeededData(dataArray);
-
                     }
 
                     @Override
@@ -131,14 +205,9 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
                         CommonUtil.toastNoRepeat(mActivity, failStr);
 
                     }
-
                 });
-
-
-
-
-
     }
+
     private void handleFeededData(JSONArray dataArray) {
         MaintainitemBean bean;
         mFeededList.clear();
@@ -147,11 +216,13 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
             bean= new MaintainitemBean(
                     data.getString("MM_PRODCODE"),
                     data.getString("PR_DETAIL"),
-                    data.getString("PR_SPEC"));
+                    data.getString("PR_SPEC"),
+                    data.getString("PR_SPEC3_USER"));
             mFeededList.add(bean);
         }
         setAdapter(mFeededList);
     }
+
     private void setAdapter(ArrayList<MaintainitemBean> mList) {
         LogUtil.i("mList", JSON.toJSONString(mList));
         myAdapter = new SelectAdapter(mList);
@@ -167,16 +238,21 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
                 new HttpParams.Builder()
                         .url(GloableParams.ADDRESS_MODIFYMAPRODS)
                         .method(Request.Method.GET)
-                        .addParam("ma_code",ma_code)
+                        .addParam("ma_code",tv_ma_code.getText().toString().trim())
                         .addParam("sc_code",sc_code)
                         .addParam("prods",prods)
+                        .addParam("decode",ct_qty.getText().toString().trim())
+                        .addParam("reportqty",ct_sum.getText().toString().trim())
+                        .addParam("remark",ol_remark_et.getText().toString().trim())
                         .build(), new HttpCallback() {
                     @Override
                     public void onSuccess(int flag, Object o) throws Exception {
                         progressDialog.dismiss();
-                        String data = FastjsonUtil.getText(o.toString(), "data");
-                        CommonUtil.toastNoRepeat(mActivity, data.toString()+"");
 
+                        dataArray = FastjsonUtil.getJSONArray(o.toString(), "data");
+                        CommonUtil.toastNoRepeat(mActivity, "报工成功");
+//                        initBreakPopupWindow(dataArray);
+                        printEvent(dataArray);
                     }
 
                     @Override
@@ -188,6 +264,201 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
 
                 });
     }
+    //org.json.
+    protected void initBreakPopupWindow(JSONArray listArray) {
+        messages.clear();
+        for (int i = 1; i < listArray.size(); i++) {
+            try {
+                JSONObject barcodeObject = listArray.getJSONObject(i);
+
+                if (barcodeObject != null) {
+                    CaiPiBlueBean.DataBean dataBean=new CaiPiBlueBean.DataBean();
+//                    dataBean.setLotno(JsonUtils.optStringNotNull(barcodeObject, "LOTNO"));
+//                    dataBean.setQty(JsonUtils.optStringNotNull(barcodeObject, "QTY"));
+                    dataBean.setLotno(barcodeObject.getString("LOTNO"));
+                    dataBean.setQty(barcodeObject.getString("QTY"));
+                    messages.add(dataBean);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+
+        View popView = LayoutInflater.from(getActivity()).inflate(R.layout.popupwindow_whbreaking_batch, null);
+        ListView listView = (ListView) popView.findViewById(R.id.list_view);
+        Button btnPrintf = (Button) popView.findViewById(R.id.btn_print);
+        Button btnPrintfSet = (Button) popView.findViewById(R.id.btn_print_setting);
+        Button btnClose = (Button) popView.findViewById(R.id.btn_close);
+        Button btnBack = (Button) popView.findViewById(R.id.btn_back);
+
+        btnBack.setVisibility(View.GONE);
+        btnClose.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeSplitPopupWindow();
+//                }
+            }
+        });
+        btnPrintf.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (isConnected) {
+                    progressDialog.show();
+                    listArray.remove(0);
+                    printEvent(listArray);
+                } else {
+                    closeSplitPopupWindow();
+                    BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+
+                    Bundle bundle = new Bundle();
+                    bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
+                    Log.e("listArrayone",listArray.toString());
+                    blueToothPrintFragment.setArguments(bundle);
+                    FragmentUtils.switchFragment(PreProcessingReportFragment.this, blueToothPrintFragment);
+                }
+            }
+        });
+
+        btnPrintfSet.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closeSplitPopupWindow();
+                BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+
+                Bundle bundle = new Bundle();
+                bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, listArray.toString());
+                Log.e("listArraytwo",listArray.toString());
+                blueToothPrintFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(PreProcessingReportFragment.this, blueToothPrintFragment);
+            }
+        });
+        MyAdapter adapter = new MyAdapter(getActivity(), R.layout.item_list_whbreakingbatchfragment, messages);
+        listView.setAdapter(adapter);
+        //当只有一条数据的时候可以加上
+        /*
+        if (messages.size()>1){
+            btnBack.setVisibility(View.GONE);
+        }*/
+        // PopupWindow实例化,参数的意思是 view,长(不包括状态栏),高(不包括状态栏),是否聚焦
+        splitPop = new PopupWindow(popView, LinearLayout.LayoutParams.WRAP_CONTENT,
+                LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        splitPop.setAnimationStyle(R.style.MenuAnimationFade);
+        splitPop.setBackgroundDrawable(new BitmapDrawable());
+        // 弹出窗口显示内容视图,默认以锚定视图的左下角为起点,这里为点击按钮
+        splitPop.showAtLocation(getActivity().getWindow().getDecorView(), Gravity.CENTER, 0, 0);
+        splitPop.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeSplitPopupWindow();
+//                specialOut();
+            }
+        });
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+    }
+
+    private void closeSplitPopupWindow() {
+        if (splitPop != null) {
+            splitPop.dismiss();
+            splitPop = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
+    }
+    private void getPrintTemplate(String caller) {
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_BARINFO_PRINTMODEL)
+                        .method(Request.Method.GET)
+                        .flag(0)
+                        .tag("barinfoPrint")
+                        .addParam("caller", caller)//Barcode!PDAPrint仓库
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        try {
+                            String result = o.toString();
+                            Log.e("prints", result);
+                            if (FastjsonUtil.validate(result)) {
+                                JSONObject resultObject = JSON.parseObject(result);
+                                JSONArray dataArray = resultObject.getJSONArray("data");
+                                if (dataArray != null && dataArray.size() > 0) {
+                                    SharedPreUtil.saveString(mActivity, Constants.FLAG.PRINT_TEMPLATE_CACHE, dataArray.toJSONString());
+                                }
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        Log.e("printf", failStr);
+                    }
+                });
+    }
+
+    private void printEvent(JSONArray printArray) {
+        if (isPrinting) {
+            CommonUtil.toastNoRepeat(mActivity, "正在打印中,请勿重复操作");
+            return;
+        }
+        isPrinting = true;
+        if (printArray != null && printArray.size() > 0) {
+            boolean isFail = false;
+            for (int i = 0; i < printArray.size(); i++) {
+                try {
+                    JSONObject printObject = printArray.getJSONObject(i);
+                    int printResult = PrintUtils.printBar(mActivity, printObject.toString(), mPrintDpi, null);
+                    if (printResult <= 0) {
+                        isFail = true;
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+            closeSplitPopupWindow();
+            progressDialog.dismiss();
+            if (isFail) {
+                isConnected = false;
+                SharedPreUtil.saveInt(mActivity, "printConnect", 0);
+                CommonUtil.toastNoRepeat(mActivity, "打印失败,请重新连接打印机");
+
+                BlueToothPrintFragment blueToothPrintFragment = new BlueToothPrintFragment();
+
+                Bundle bundle = new Bundle();
+                bundle.putString(Constants.KEY.BARCODE_PRINT_ARRAY, printArray.toString());
+                Log.e("listArraythree",printArray.toString());
+                blueToothPrintFragment.setArguments(bundle);
+                FragmentUtils.switchFragment(PreProcessingReportFragment.this, blueToothPrintFragment);
+            } else {
+                CommonUtil.toastNoRepeat(mActivity, "打印成功");
+            }
+        } else {
+            CommonUtil.toastNoRepeat(mActivity, "打印失败,条码数据为空");
+        }
+        isPrinting = false;
+    }
+
+    private class MyAdapter extends ArrayAdapter<CaiPiBlueBean.DataBean> {
+        private int resourceId;
+
+        public MyAdapter(Context context, int resource, List<CaiPiBlueBean.DataBean> objects) {
+            super(context, resource, objects);
+            resourceId = resource;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            CaiPiBlueBean.DataBean person = getItem(position);
+            convertView = LayoutInflater.from(getContext()).inflate(resourceId,
+                    null);
+            TextView tv_bar_code = (TextView) convertView.findViewById(R.id.tv_bar_code);
+            TextView tv_bar_remain = (TextView) convertView.findViewById(R.id.tv_bar_remain);
+            tv_bar_code.setText(person.getLotno());
+            tv_bar_remain.setText(person.getQty());
+            return convertView;
+        }
+    }
     @Override
     public void onHiddenChanged(boolean hidden) {
         super.onHiddenChanged(hidden);
@@ -215,19 +486,30 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
         ((FunctionActivity) getActivity()).setMoreBtnVisible(false);
     }
 
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+    }
+
     @SuppressLint("NonConstantResourceId")
     @Override
     public void onClick(View v) {
 
     }
+
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (resultCode != Activity.RESULT_OK) {
-            return;
         }
-
+        //不良代码选择之后回调
+        if (requestCode == Constants.FLAG.GET_COMMON_ITEM && resultCode == 1847) {
+            String result = data.getStringExtra("ITEM_DATA");
+            tv_ma_code.setText(result+"");
+            getNewVersionMsg(result);
+        }
     }
+
     public class SelectAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
 
         private ArrayList<MaintainitemBean> mList = new ArrayList<>();
@@ -249,7 +531,6 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
 //            ab.setTitle("已选择" + 0 + "项");
         }
 
-
         //获得选中条目的结果
         public ArrayList<MaintainitemBean> getSelectedItem() {
             ArrayList<MaintainitemBean> selectList = new ArrayList<>();
@@ -294,7 +575,7 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
             ((ListItemViewHolder) holder).tv_liaocode.setText("物料编号:"+mList.get(i).getMM_PRODCODE());
             ((ListItemViewHolder) holder).tv_liaotetall.setText("物料名称:"+mList.get(i).getPR_DETAIL());
             ((ListItemViewHolder) holder).tv_liaospec.setText("物料规格:"+mList.get(i).getPR_SPEC());
-
+            ((ListItemViewHolder) holder).tv_name_work_order.setText("物料规格3:"+mList.get(i).getPR_SPEC3_USER());
 
             ((ListItemViewHolder) holder).checkBox.setChecked(isItemChecked(i));
 //            if (i%2==0){
@@ -319,23 +600,23 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
                 }
             });
 
-//            //条目view的监听
-//            ((ListItemViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
-//                @Override
-//                public void onClick(View v) {
-//                    if (isItemChecked(i)) {
-//                        setItemChecked(i, false);
-//                    } else {
-//                        setItemChecked(i, true);
+            //条目view的监听
+            ((ListItemViewHolder) holder).itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (isItemChecked(i)) {
+                        setItemChecked(i, false);
+                    } else {
+                        setItemChecked(i, true);
+                    }
+//                    notifyItemChanged(i);
+//                    if (!StringUtil.isEmpty(mList.get(i).getDI_REMARK())){
+//                        ((ListItemViewHolder) holder).tv_remark.setText("点检值:"+mList.get(i).getDI_REMARK());
 //                    }
-////                    notifyItemChanged(i);
-////                    if (!StringUtil.isEmpty(mList.get(i).getDI_REMARK())){
-////                        ((ListItemViewHolder) holder).tv_remark.setText("点检值:"+mList.get(i).getDI_REMARK());
-////                    }
-//
-////                    ab.setTitle("已选择" + getSelectedItem().size() + "项");
-//                }
-//            });
+
+//                    ab.setTitle("已选择" + getSelectedItem().size() + "项");
+                }
+            });
 
         }
 
@@ -350,12 +631,14 @@ public class PreProcessingReportFragment extends BaseFragment implements View.On
             TextView tv_liaocode;
             TextView tv_liaotetall;
             TextView tv_liaospec;
+            TextView tv_name_work_order;
             ListItemViewHolder(View view) {
                 super(view);
                 this.tv_liaocode = (TextView) view.findViewById(R.id.tv_liaocode);
                 this.tv_liaotetall = (TextView) view.findViewById(R.id.tv_liaotetall);
                 this.tv_liaospec = (TextView) view.findViewById(R.id.tv_liaospec);
                 this.checkBox = (CheckBox) view.findViewById(R.id.select_checkbox);
+                this.tv_name_work_order = (TextView) view.findViewById(R.id.tv_name_work_order);
 
             }
         }

+ 19 - 3
app/src/main/java/com/uas/baigang_workshop_workstation/global/GloableParams.java

@@ -373,6 +373,13 @@ public class GloableParams {
     //获取排位图
     public static String ADDRESS_OBTAIN_RANKING_CHART;
 
+    public static String ADDRESS_REPORT_MAS;    //批量报工
+    public static String ADDRESS_GET_REPORT_MACODE;    //异常提报
+    public static String ADDRESS_SEND_NOTIFY;    //报工---报工推送
+    public static String ADD_GET_PERSONNEL_ID;        //获取人员编号接口
+
+
+
 
 
     //连接服务器请求地址
@@ -972,7 +979,15 @@ public class GloableParams {
     //获取排位图
     private static final String ADDRESSTAIL_OBTAIN_RANKING_CHART = "/api/pda/smt/getDeviceData.action";
 
+    //批量报工
+    private static final String ADDRESSTAIL_REPORT_MAS = "/api/pdashop/report/reportMas.action";
+    //报工
+    private static final String ADDRESSTAIL_GET_REPORT_MACODE = "/api/pdashop/start/getReportMacode.action";
+    //推送--报工推送
+    private static final String ADDRESSTAIL_SEND_NOTIFY = "/api/pdashop/start/sendNotify.action";
 
+    //人员编号
+    public static String ADDRESSTAIL_GET_PERSONNEL_ID="/api/pda/spm/getEmployee.action";
 
 
     /**
@@ -1580,9 +1595,10 @@ public class GloableParams {
 
         GloableParams.ADDRESS_OBTAIN_RANKING_CHART = uriHead + GloableParams.ADDRESSTAIL_OBTAIN_RANKING_CHART;
 
-
-
-
+        GloableParams.ADDRESS_REPORT_MAS = uriHead + GloableParams.ADDRESSTAIL_REPORT_MAS;
+        GloableParams.ADDRESS_GET_REPORT_MACODE = uriHead + GloableParams.ADDRESSTAIL_GET_REPORT_MACODE;
+        GloableParams.ADDRESS_SEND_NOTIFY = uriHead + GloableParams.ADDRESSTAIL_SEND_NOTIFY;
+        GloableParams.ADD_GET_PERSONNEL_ID = uriHead + GloableParams.ADDRESSTAIL_GET_PERSONNEL_ID;
 
 
 

+ 9 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBaoFeiListener.java

@@ -0,0 +1,9 @@
+package com.uas.baigang_workshop_workstation.interfaces;
+
+public
+        /**
+         * Created by sw on 2025-06-21
+         */
+interface OnTextBaoFeiListener {
+    void onTextChanged(int position, String text);
+}

+ 9 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBaoGongListener.java

@@ -0,0 +1,9 @@
+package com.uas.baigang_workshop_workstation.interfaces;
+
+public
+        /**
+         * Created by sw on 2025-06-21
+         */
+interface OnTextBaoGongListener {
+    void onTextChanged(int position, String text);
+}

+ 9 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextBeiZhuListener.java

@@ -0,0 +1,9 @@
+package com.uas.baigang_workshop_workstation.interfaces;
+
+public
+        /**
+         * Created by sw on 2025-06-21
+         */
+interface OnTextBeiZhuListener {
+    void onTextChanged(int position, String text);
+}

+ 9 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/interfaces/OnTextYiChangGongSiListener.java

@@ -0,0 +1,9 @@
+package com.uas.baigang_workshop_workstation.interfaces;
+
+public
+        /**
+         * Created by sw on 2025-06-21
+         */
+interface OnTextYiChangGongSiListener {
+    void onTextChanged(int position, String text);
+}

+ 218 - 0
app/src/main/java/com/uas/baigang_workshop_workstation/util/ToastUtils.java

@@ -0,0 +1,218 @@
+package com.uas.baigang_workshop_workstation.util;
+
+import android.content.Context;
+import android.util.TypedValue;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+/**
+ * @author RaoMeng
+ * @describe
+ * @date 2018/8/28 11:29
+ */
+public class ToastUtils {
+    private Toast toast;
+    private LinearLayout toastView;
+
+    /**
+     * 修改原布局的Toast
+     */
+    public ToastUtils() {
+
+    }
+
+    /**
+     * 完全自定义布局Toast
+     *
+     * @param context
+     * @param view
+     */
+    public ToastUtils(Context context, View view, int duration) {
+        toast = new Toast(context);
+        toast.setView(view);
+        toast.setDuration(duration);
+    }
+
+    /**
+     * 向Toast中添加自定义view
+     *
+     * @param view
+     * @param postion
+     * @return
+     */
+    public ToastUtils addView(View view, int postion) {
+        toastView = (LinearLayout) toast.getView();
+        toastView.addView(view, postion);
+
+        return this;
+    }
+
+    /**
+     * 设置Toast字体及背景颜色
+     *
+     * @param messageColor
+     * @param backgroundColor
+     * @return
+     */
+    public ToastUtils setToastColor(int messageColor, int backgroundColor) {
+        View view = toast.getView();
+        if (view != null) {
+            TextView message = ((TextView) view.findViewById(android.R.id.message));
+            message.setBackgroundColor(backgroundColor);
+            message.setTextColor(messageColor);
+        }
+        return this;
+    }
+
+    /**
+     * 设置Toast字体及背景颜色
+     *
+     * @param messageColor
+     * @param backgroundColor
+     * @return
+     */
+    public ToastUtils setToastColor(int messageColor, int textSize, int backgroundColor) {
+        View view = toast.getView();
+        if (view != null) {
+            TextView message = ((TextView) view.findViewById(android.R.id.message));
+            message.setBackgroundColor(backgroundColor);
+            message.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
+            message.setTextColor(messageColor);
+        }
+        return this;
+    }
+
+    /**
+     * 设置Toast字体及背景图片
+     *
+     * @param messageColor
+     * @param background
+     * @return
+     */
+    public ToastUtils setToastBackground(int messageColor, int background) {
+        View view = toast.getView();
+        if (view != null) {
+            TextView message = ((TextView) view.findViewById(android.R.id.message));
+            message.setBackgroundResource(background);
+            message.setTextColor(messageColor);
+        }
+        return this;
+    }
+
+    /**
+     * 短时间显示Toast
+     */
+    public ToastUtils Short(Context context, CharSequence message) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(Toast.LENGTH_SHORT);
+        }
+        return this;
+    }
+
+    /**
+     * 短时间显示Toast
+     */
+    public ToastUtils Short(Context context, int message) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(Toast.LENGTH_SHORT);
+        }
+        return this;
+    }
+
+    /**
+     * 长时间显示Toast
+     */
+    public ToastUtils Long(Context context, CharSequence message) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, Toast.LENGTH_LONG);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(Toast.LENGTH_LONG);
+        }
+        return this;
+    }
+
+    /**
+     * 长时间显示Toast
+     *
+     * @param context
+     * @param message
+     */
+    public ToastUtils Long(Context context, int message) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, Toast.LENGTH_LONG);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(Toast.LENGTH_LONG);
+        }
+        return this;
+    }
+
+    /**
+     * 自定义显示Toast时间
+     *
+     * @param context
+     * @param message
+     * @param duration
+     */
+    public ToastUtils Indefinite(Context context, CharSequence message, int duration) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, duration);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(duration);
+        }
+        return this;
+    }
+
+    /**
+     * 自定义显示Toast时间
+     *
+     * @param context
+     * @param message
+     * @param duration
+     */
+    public ToastUtils Indefinite(Context context, int message, int duration) {
+        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
+            toast = Toast.makeText(context, message, duration);
+            toastView = null;
+        } else {
+            toast.setText(message);
+            toast.setDuration(duration);
+        }
+        return this;
+    }
+
+    /**
+     * 显示Toast
+     *
+     * @return
+     */
+    public ToastUtils show() {
+        toast.show();
+
+        return this;
+    }
+
+    /**
+     * 获取Toast
+     *
+     * @return
+     */
+    public Toast getToast() {
+        return toast;
+    }
+}

+ 9 - 0
app/src/main/res/drawable/shape_b2b_gray_light_line_bg.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <corners android:radius="8dp" />
+    <stroke
+        android:width="1dp"
+        android:color="#ddd" />
+    <solid android:color="@color/white" />
+</shape>

+ 83 - 0
app/src/main/res/layout/dialog_title.xml

@@ -0,0 +1,83 @@
+<?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="wrap_content"
+    android:layout_gravity="center"
+    android:layout_margin="24dp"
+    android:background="@drawable/shape_b2b_gray_light_line_bg"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/tv_title"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:padding="12dp"
+        android:text="提示"
+        android:textSize="15sp"
+        android:textColor="@color/red"
+        />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:background="@color/white"
+            android:gravity="center_vertical"
+            android:layout_marginStart="10dp"
+            android:layout_marginEnd="10dp"
+            android:layout_gravity="center_horizontal"
+            android:padding="6dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="是否确认完工"
+                android:textColor="#666666"
+                android:textSize="14sp" />
+
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="60dp"
+        android:padding="10dp"
+        android:layout_marginBottom="10dp"
+        android:layout_marginTop="5dp"
+        >
+
+        <TextView
+            android:id="@+id/tv_ok"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_marginHorizontal="10dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_cancel_bg"
+            android:gravity="center"
+            android:text="确定"
+            android:textColor="@color/selector_cancel_text_color"
+            android:textSize="14sp"
+
+            />
+
+        <TextView
+            android:id="@+id/tv_cancel"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_marginHorizontal="10dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/white"
+            android:textSize="14sp" />
+    </LinearLayout>
+</LinearLayout>

+ 96 - 0
app/src/main/res/layout/fragment_gd_time_report_new2.xml

@@ -0,0 +1,96 @@
+<?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="16dp">
+
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        >
+
+        <CheckBox
+            android:id="@+id/cb_is_print"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="10dp"
+            android:layout_centerVertical="true"
+            android:text="是否打印" />
+
+        <Button
+            android:layout_toStartOf="@+id/bt_printjson"
+            android:id="@+id/bt_piliangbaogong"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="10dp"
+            android:text="批量报工"/>
+
+        <Button
+            android:layout_alignParentEnd="true"
+            android:id="@+id/bt_printjson"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="打印"/>
+
+    </RelativeLayout>
+
+    <TextView
+        android:id="@+id/tv_result"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:background="@drawable/shape_msg_block"
+        android:padding="10dp"
+        android:visibility="gone"
+        tools:visibility="visible"
+        tools:text=""
+        />
+
+    <LinearLayout
+        android:layout_marginTop="@dimen/dp_10"
+        android:id="@+id/ll_search"
+        android:layout_width="match_parent"
+        android:visibility="gone"
+        android:layout_height="36dp"
+        android:background="@color/white"
+        android:orientation="horizontal">
+
+        <com.uas.baigang_workshop_workstation.view.ClearableEditText
+            android:id="@+id/cet_search"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_marginRight="16dp"
+            android:layout_weight="1"
+            android:background="@drawable/bg_line_edittext"
+            android:gravity="center_vertical"
+            android:hint="请输入要搜索的内容"
+            android:padding="5dp"
+            android:textSize="14sp"/>
+
+        <ImageView
+            android:id="@+id/search_im"
+            android:layout_width="46dp"
+            android:layout_height="match_parent"
+            android:layout_marginRight="10dp"
+            android:background="@drawable/bg_button"
+            android:src="@drawable/search_48" />
+    </LinearLayout>
+
+    <CheckBox
+        android:layout_marginTop="10dp"
+        android:id="@+id/cb_all_select"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:text="全选" />
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/rv_reporting_for_work"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginTop="3dp"/>
+
+</LinearLayout>

+ 110 - 32
app/src/main/res/layout/fragment_pre_processing_report.xml

@@ -5,79 +5,157 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
+
     <LinearLayout
-        android:layout_weight="1"
-        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <Button
+            android:id="@+id/btn_oneprint"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="打印"/>
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="vertical">
 
         <LinearLayout
-            android:padding="@dimen/sp_16"
-            android:orientation="horizontal"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:padding="10dp">
+
             <TextView
-                android:layout_gravity="center"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@color/red"
-                android:text="单据编号"
+                android:layout_gravity="center"
                 android:layout_marginRight="@dimen/dp_10"
-                android:gravity="right">
-            </TextView>
+                android:gravity="right"
+                android:text="工单号"
+                android:textColor="@color/red"/>
+
             <TextView
                 android:id="@+id/tv_ma_code"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
                 android:layout_gravity="center"
+                android:layout_marginRight="@dimen/dp_10"
+                android:layout_weight="1"
+                android:gravity="left"
+                android:text=""
+                android:textColor="@color/black"/>
+
+            <ImageView
+                android:id="@+id/iv_search"
+                android:layout_width="34dp"
+                android:layout_height="34dp"
+                android:layout_gravity="center_vertical"
+                android:layout_marginRight="5dp"
+                android:background="@drawable/bg_button"
+                android:src="@drawable/search_48"
+                android:visibility="gone" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:padding="10dp">
+
+            <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@color/black"
-                android:text=""
+                android:layout_gravity="center"
                 android:layout_marginRight="@dimen/dp_10"
-                android:gravity="left">
-            </TextView>
+                android:gravity="right"
+                android:text="机台号"
+                android:textColor="@color/red"/>
+
+            <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                android:id="@+id/ct_qty"
+                style="@style/EditTextStyle"
+                android:layout_weight="1"
+                android:background="@drawable/bg_line_edittext"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:hint="请输入机台号"
+                android:imeOptions="actionSend"
+                android:textColor="@color/black" />
         </LinearLayout>
 
         <LinearLayout
-            android:padding="@dimen/sp_16"
-            android:orientation="horizontal"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:padding="10dp">
+
             <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:layout_gravity="center"
+                android:layout_marginRight="@dimen/dp_10"
+                android:gravity="right"
+                android:text="报工数"
+                android:textColor="@color/red"/>
+
+            <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                android:id="@+id/ct_sum"
+                style="@style/EditTextStyle"
+                android:layout_weight="1"
+                android:background="@drawable/bg_line_edittext"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:hint="请输入报工数量"
+                android:imeOptions="actionSend"
+                android:textColor="@color/black" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:padding="10dp">
+
+            <TextView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@color/red"
-                android:text="机台号"
+                android:layout_gravity="center"
                 android:layout_marginRight="@dimen/dp_10"
-                android:gravity="right">
-            </TextView>
+                android:gravity="right"
+                android:text="备注"
+                android:textColor="@color/red"/>
+
             <com.uas.baigang_workshop_workstation.view.ClearableEditText
-                android:id="@+id/ct_qty"
+                android:id="@+id/ol_remark_et"
                 style="@style/EditTextStyle"
                 android:layout_weight="1"
                 android:background="@drawable/bg_line_edittext"
                 android:focusable="true"
                 android:focusableInTouchMode="true"
-                android:hint="请输入机台号"
+                android:hint="请输入备注"
                 android:imeOptions="actionSend"
-                android:textColor="@color/black"
-                />
+                android:textColor="@color/black" />
         </LinearLayout>
 
         <android.support.v7.widget.RecyclerView
-            android:layout_marginLeft="@dimen/dp_10"
-            android:layout_marginRight="@dimen/dp_10"
             android:id="@+id/feeded_rv"
             android:layout_width="match_parent"
-            android:layout_height="300dp"
-            />
+            android:layout_height="match_parent"
+            android:layout_marginLeft="@dimen/dp_10"
+            android:layout_marginRight="@dimen/dp_10" />
     </LinearLayout>
+
     <Button
         android:id="@+id/jlt_storage_in_barcode_save_btn"
         style="@style/ButtonStyle"
         android:layout_width="match_parent"
-        android:layout_margin="12dp"
         android:layout_alignParentBottom="true"
-        android:text="保存" />
+        android:layout_margin="12dp"
+        android:text="报工" />
 
 </LinearLayout>

+ 99 - 0
app/src/main/res/layout/fuzzy_ipandport_item2.xml

@@ -0,0 +1,99 @@
+<?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="wrap_content"
+    tools:ignore="MissingDefaultResource"
+    android:visibility="visible"
+    android:orientation="vertical"
+    android:id="@+id/line_true"
+    android:background="@drawable/login_technological_process"
+    >
+
+    <LinearLayout
+        android:layout_marginTop="5dp"
+        android:layout_marginLeft="30dp"
+        android:layout_marginRight="30dp"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="5dp">
+
+        <TextView
+            android:id="@+id/macode_ip__Tv"
+            android:gravity="center"
+            android:text="1321313"
+            android:layout_gravity="center"
+            android:layout_width="0dp"
+            android:layout_weight="5"
+            android:layout_height="wrap_content"
+            />
+
+    </LinearLayout>
+
+    <RelativeLayout
+        android:id="@+id/rl_2"
+        android:layout_marginTop="5dp"
+        android:layout_marginStart="30dp"
+        android:layout_marginEnd="30dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_horizontal"
+        >
+
+        <TextView
+            android:id="@+id/tv_leijijianyanshuliang"
+            android:gravity="center"
+            android:text="累计检验数量: "
+            android:layout_gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            />
+
+        <TextView
+            android:layout_toEndOf="@+id/tv_leijijianyanshuliang"
+            android:id="@+id/tv_leijijianyanshuliang_value"
+            android:gravity="center"
+            android:text=""
+            android:layout_gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            />
+
+    </RelativeLayout>
+
+
+    <RelativeLayout
+        android:id="@+id/rl_3"
+        android:layout_marginTop="5dp"
+        android:layout_marginStart="30dp"
+        android:layout_marginEnd="30dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_horizontal"
+        >
+
+        <TextView
+            android:id="@+id/tv_dingdanshuliang"
+            android:gravity="center"
+            android:text="订单数量: "
+            android:layout_gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            />
+
+        <TextView
+            android:layout_toEndOf="@+id/tv_dingdanshuliang"
+            android:id="@+id/tv_dingdanshuliang_value"
+            android:gravity="center"
+            android:text=""
+            android:layout_gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            />
+
+    </RelativeLayout>
+
+
+</LinearLayout>

+ 93 - 0
app/src/main/res/layout/index_line_pup.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_margin="12dp"
+    android:background="@color/background"
+    android:orientation="vertical">
+    <TextView
+        android:visibility="gone"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:padding="14dp"
+        android:text="请采集岗位资源" />
+
+    <LinearLayout
+        android:layout_marginTop="@dimen/dp_10"
+        android:id="@+id/line_top"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:background="@color/white"
+        android:orientation="horizontal">
+
+        <com.uas.baigang_workshop_workstation.view.ClearableEditText
+            android:id="@+id/edit_et"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="16dp"
+            android:layout_marginRight="16dp"
+            android:layout_weight="1"
+            android:background="@drawable/bg_line_edittext"
+            android:gravity="center_vertical"
+            android:hint="请输入要搜索的内容"
+            android:padding="5dp"
+            android:textSize="14sp"/>
+
+        <ImageView
+            android:id="@+id/search_im"
+            android:layout_width="46dp"
+            android:layout_height="match_parent"
+            android:layout_marginRight="10dp"
+            android:background="@drawable/bg_button"
+            android:src="@drawable/search_48" />
+    </LinearLayout>
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/rv_ip_port_data"
+        android:layout_centerHorizontal="true"
+        android:layout_width="match_parent"
+        android:layout_marginLeft="@dimen/dp_10"
+        android:layout_marginRight="@dimen/dp_10"
+        android:layout_below="@+id/line_top"
+        android:layout_height="200dp"
+        android:layout_marginTop="30dp">
+    </android.support.v7.widget.RecyclerView>
+    <LinearLayout
+        android:layout_below="@+id/rv_ip_port_data"
+        android:layout_centerHorizontal="true"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:layout_marginBottom="10dp">
+
+        <Button
+            android:id="@+id/cancle_tv"
+            android:layout_width="0dp"
+            android:layout_height="36dp"
+            android:layout_margin="12dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_cancel_bg"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/selector_cancel_text_color" />
+
+        <Button
+            android:id="@+id/sure_tv"
+            android:layout_width="0dp"
+            android:layout_height="36dp"
+            android:layout_margin="12dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="确定"
+            android:textColor="@color/white" />
+
+    </LinearLayout>
+
+
+
+
+
+
+</RelativeLayout>

+ 545 - 0
app/src/main/res/layout/item_reporting_work.xml

@@ -0,0 +1,545 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="#ffffff"
+    android:orientation="vertical">
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        >
+
+        <CheckBox
+            android:id="@+id/cb_select"
+            android:layout_gravity="center_vertical"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:layout_marginEnd="5dp"
+            />
+
+        <LinearLayout
+            android:id="@+id/ll_content"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:layout_marginTop="10dp"
+            android:layout_marginEnd="10dp"
+            android:layout_toStartOf="@+id/iv_esop"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="订单号: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_dingdanhao_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_gravity="center_vertical"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="工单: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_gongdan_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_gravity="center_vertical"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="8dp"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="工单数量: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_order_numbers_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="2"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="产品: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_chanping_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="8dp"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="名称: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_name_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="2"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:visibility="gone"
+                    android:id="@+id/ll_baogongtuisong"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:padding="5dp"
+                    android:background="@color/gray1"
+                    >
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="报工"
+                        android:layout_marginStart="2dp"
+                        android:layout_marginEnd="2dp"
+                        android:textColor="@color/white"
+                        />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="推送"
+                        android:layout_marginStart="2dp"
+                        android:layout_marginEnd="2dp"
+                        android:textColor="@color/white"
+                        />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="规格: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_spec_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:visibility="gone"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:text="母件规格: "
+                    android:textSize="14sp" />
+
+                <TextView
+                    android:id="@+id/tv_mujianguige"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="8dp"
+                    android:textColor="#333"
+                    android:textSize="14sp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:visibility="gone"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="排产日期: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_paichan_time"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="启动时间: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_start_time_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="2"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="当日报工数: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_nowqty_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="8dp"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="累计报工数: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_sumqty_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="2"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:visibility="gone"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="3dp">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="备注: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_beizhu"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="1"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="8dp"
+                    android:layout_weight="1"
+                    android:orientation="horizontal">
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:text="累计工时: "
+                        android:textSize="14sp" />
+
+                    <TextView
+                        android:id="@+id/tv_work_hour_value"
+                        android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_marginLeft="8dp"
+                        android:layout_weight="2"
+                        android:textColor="#333"
+                        android:textSize="14sp" />
+                </LinearLayout>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    style="@style/tl_tv_style"
+                    android:layout_width="65dp"
+                    android:gravity="start|center"
+                    android:layout_height="wrap_content"
+                    android:text="报工数"
+                    android:textColor="@color/red"
+                    android:textSize="14sp" />
+
+                <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                    android:id="@+id/cet_ol_numbers"
+                    style="@style/EditTextStyle"
+                    android:layout_width="0dp"
+                    android:layout_weight="2"
+                    android:layout_marginStart="10dp"
+                    android:hint="请输入报工数"
+                    android:background="@drawable/shape_msg_block"
+                    android:textColor="@color/black"
+                    android:textSize="14sp"
+                    android:inputType="number"/>
+
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginTop="5dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    style="@style/tl_tv_style"
+                    android:layout_width="65dp"
+                    android:gravity="start|center"
+                    android:layout_height="wrap_content"
+                    android:text="报废数"
+                    android:textColor="@color/body_text_1"
+                    android:textSize="14sp" />
+
+                <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                    android:id="@+id/cet_ol_unuse"
+                    style="@style/EditTextStyle"
+                    android:layout_marginStart="10dp"
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    android:hint="请输入(选填)"
+                    android:textColor="@color/black"
+                    android:background="@drawable/shape_msg_block"
+                    android:textSize="14sp"
+                    android:inputType="number"/>
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginTop="5dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    style="@style/tl_tv_style"
+                    android:layout_height="wrap_content"
+                    android:layout_width="65dp"
+                    android:gravity="start|center"
+                    android:text="备注"
+                    android:textColor="@color/body_text_1"
+                    android:textSize="14sp" />
+
+                <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                    android:id="@+id/cet_ol_remark"
+                    android:layout_marginStart="10dp"
+                    style="@style/EditTextStyle"
+                    android:background="@drawable/shape_msg_block"
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    android:hint="请输入(选填)"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="40dp"
+                android:layout_marginTop="5dp"
+                android:orientation="horizontal">
+
+                <TextView
+                    style="@style/tl_tv_style"
+                    android:layout_height="wrap_content"
+                    android:layout_width="65dp"
+                    android:gravity="start|center"
+                    android:text="异常工时"
+                    android:textColor="@color/body_text_1"
+                    android:textSize="14sp" />
+
+                <com.uas.baigang_workshop_workstation.view.ClearableEditText
+                    android:id="@+id/cet_unworkhour"
+                    android:layout_marginStart="10dp"
+                    style="@style/EditTextStyle"
+                    android:background="@drawable/shape_msg_block"
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
+                    android:hint="请输入(选填)"
+                    android:textColor="@color/black"
+                    android:textSize="14sp" />
+            </LinearLayout>
+
+            <Button
+                android:id="@+id/bt_ol_pause"
+                style="@style/ButtonStyle"
+                android:text="确认报工"
+                android:layout_marginBottom="10dp"
+                />
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:layout_alignParentBottom="true"
+        android:background="#55000000" />
+
+
+</LinearLayout>

+ 2 - 2
build.gradle

@@ -64,8 +64,8 @@ ext {
             targetSdkVersion : 28,
             compileSdkVersion: 28,
             buildToolsVersion: "28.0.3",
-            versionCode      : 7,
-            versionName      : "v1.0.6"
+            versionCode      : 8,
+            versionName      : "v1.0.7"
     ]
 
     depsVersion = [