Browse Source

提交类型 添加设备管理需求
提交内容 添加设备匹配功能

Bitliker 8 years ago
parent
commit
83bc433882

+ 5 - 5
WeiChat/version.properties

@@ -1,5 +1,5 @@
-#Wed Feb 28 09:31:28 CST 2018
-debugName=274
-versionName=617
-debugCode=274
-versionCode=158
+#Thu Mar 01 09:03:38 CST 2018
+debugName=289
+versionName=620
+debugCode=289
+versionCode=159

+ 1 - 1
app_modular/apputils/src/main/java/com/modular/apputils/activity/SelectNetAcitivty.java

@@ -290,7 +290,7 @@ public class SelectNetAcitivty extends OABaseActivity {
             builder.add("gridField", fieldKey)
                     .add("gridCaller", caller);//主从(单据caller   副从表传 本身的caller)
         }
-        httpClient.Api().send(builder.build(), new ResultSubscriber<>(new ResultListener<Object>() {
+        httpClient.Api().send(builder.isDebug(true).build(), new ResultSubscriber<>(new ResultListener<Object>() {
             @Override
             public void onResponse(Object o) {
                 if (!lastKey.equals(keyWork)) return;

+ 0 - 1
app_modular/apputils/src/main/java/com/modular/apputils/widget/EmptyRecyclerView.java

@@ -60,7 +60,6 @@ public class EmptyRecyclerView extends RecyclerView {
                 ((ViewGroup) getRootView()).addView(emptyView);
             }
         });
-
     }
 
 

+ 9 - 0
app_modular/appworks/src/main/AndroidManifest.xml

@@ -346,6 +346,15 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+        <activity
+            android:name=".CRM.erp.activity.DeviceMatchActivity"
+            android:label="@string/text_device_query_match">
+            <intent-filter>
+                <action android:name="com.modular.work.DeviceMatchActivity" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
         <activity
             android:name=".CRM.erp.activity.ScanDetailActivity"
             android:label="@string/text_scan_device" />

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceCycleCountAddActivity.java

@@ -336,6 +336,7 @@ public class DeviceCycleCountAddActivity extends BaseActivity implements View.On
                                             .putExtra("fieldKey", model.getField())
                                             .putExtra("caller", "DeviceBatch!Stock")
                                             .putExtra("isForm", true)
+                                            .putExtra("isDevice", true)
                                     , 90);
                         }
 

+ 8 - 2
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceDataFormAddActivity.java

@@ -186,11 +186,17 @@ public class DeviceDataFormAddActivity extends BaseActivity implements View.OnCl
                                 }
                                 if (data.getName().equals("设备编号")) {
                                     data.setValue(noCode);
-                                } else if (data.getName().equals("申请人编号") || data.getName().equals("送检人编号") || data.getName().equals("人员编号")) {
+                                } else if (data.getName().equals("送检人编号") || data.getName().equals("申请人编号") || data.getName().equals("送检人编号") || data.getName().equals("人员编号")) {
                                     data.setValue(CommonUtil.getEmcode());
-                                } else if (data.getName().equals("申请人名称") || data.getName().equals("送检人名称") || data.getName().equals("人员名称")) {
+                                } else if (data.getName().equals("送检人名称") ||data.getName().equals("申请人名称") || data.getName().equals("送检人名称") || data.getName().equals("人员名称")) {
+                                    data.setValue(CommonUtil.getName());
+                                }else if ("dc_emcode".equals(data.getField())){
+                                    data.setValue(CommonUtil.getEmcode());
+                                }else if ("dc_emname".equals(data.getField())){
                                     data.setValue(CommonUtil.getName());
                                 }
+
+
                                 if (data.getField().equals("dc_class")) {
                                     JSONArray combostore = JSONUtil.getJSONArray(items, "COMBOSTORE");
                                     if (!ListUtils.isEmpty(combostore)) {

+ 1 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceManageActivity.java

@@ -51,6 +51,7 @@ public class DeviceManageActivity extends BaseActivity {
         models.add(new DeviceManage(6, R.drawable.icon_fault_inspection, StringUtil.getMessage(R.string.text_fault_inspection)).setCazz(DeviceDataFormAddActivity.class).addString("caller", "DeviceChange!Inspect"));
         //周期盘点
         models.add(new DeviceManage(7, R.drawable.icon_cycle_count, StringUtil.getMessage(R.string.text_cycle_count)).setCazz(DeviceCycleCountActivity.class));
+        models.add(new DeviceManage(8, R.drawable.icon_device_query, StringUtil.getMessage(R.string.text_device_query_match)).setCazz(DeviceMatchActivity.class));
         DeviceManageAdapter adapter = new DeviceManageAdapter(this, models);
         contantRv.setAdapter(adapter);
         adapter.setItemClickListener(new DeviceManageAdapter.ItemClickListener() {

+ 273 - 0
app_modular/appworks/src/main/java/com/uas/appworks/CRM/erp/activity/DeviceMatchActivity.java

@@ -0,0 +1,273 @@
+package com.uas.appworks.CRM.erp.activity;
+
+import android.content.Intent;
+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.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.common.LogUtil;
+import com.common.data.JSONUtil;
+import com.common.data.ListUtils;
+import com.common.data.StringUtil;
+import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.me.network.app.http.Method;
+import com.modular.apputils.activity.BaseNetActivity;
+import com.modular.apputils.activity.SelectNetAcitivty;
+import com.modular.apputils.listener.OnSmartHttpListener;
+import com.modular.apputils.network.Parameter;
+import com.modular.apputils.network.Tags;
+import com.uas.appworks.R;
+import com.uas.appworks.model.DeviceMatch;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Bitlike on 2018/2/28.
+ */
+
+public class DeviceMatchActivity extends BaseNetActivity implements View.OnClickListener, OnSmartHttpListener {
+    private final int LOAD_TO_DO = 1;
+
+    private TextView centerCodeEd;
+    private TextView lineCodeEd;
+    private TextView workShopEd;
+    private TextView devModelEd;
+    private RecyclerView mRecyclerView;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.activity_device_match;
+    }
+
+    @Override
+    protected String getBaseUrl() {
+        return CommonUtil.getAppBaseUrl(this);
+    }
+
+    @Override
+    protected void init() throws Exception {
+        initView();
+//        loadData("De_0126", "SMT-01", "A1", "生产机型1");
+    }
+
+    private void initView() {
+        centerCodeEd = findViewById(R.id.centerCodeEd);
+        lineCodeEd = findViewById(R.id.lineCodeEd);
+        workShopEd = findViewById(R.id.workShopEd);
+        devModelEd = findViewById(R.id.devModelEd);
+
+        findViewById(R.id.cancelTv).setOnClickListener(this);
+        findViewById(R.id.resetTv).setOnClickListener(this);
+        findViewById(R.id.confirmTv).setOnClickListener(this);
+        centerCodeEd.setOnClickListener(this);
+        lineCodeEd.setOnClickListener(this);
+        workShopEd.setOnClickListener(this);
+        devModelEd.setOnClickListener(this);
+
+        mRecyclerView = findViewById(R.id.mRecyclerView);
+        mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
+        mRecyclerView.addItemDecoration(new DividerItemDecoration(ct, LinearLayout.VERTICAL));
+        mRecyclerView.setItemAnimator(new DefaultItemAnimator());
+    }
+
+
+    private void loadData(String centercode, String linecode, String workshop, String devmodel) {
+        showProgress();
+        Parameter.Builder builder = new Parameter.Builder();
+        builder.url("mobile/device/getDevModelInfo.action")
+                .record(LOAD_TO_DO)
+                .addParams("centercode", centercode)
+                .addParams("linecode", linecode)
+                .addParams("workshop", workshop)
+                .addParams("devmodel", devmodel)
+                .showLog(true)
+                .mode(Method.GET);
+        requestCompanyHttp(builder, this);
+
+    }
+
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.cancelTv) {
+
+        } else if (id == R.id.resetTv) {
+            centerCodeEd.setText("");
+            workShopEd.setText("");
+            lineCodeEd.setText("");
+            devModelEd.setText("");
+        } else if (id == R.id.confirmTv) {
+            String centercode = StringUtil.getText(centerCodeEd);
+            String workshop = StringUtil.getText(workShopEd);
+            String linecode = StringUtil.getText(lineCodeEd);
+            String devmodel = StringUtil.getText(devModelEd);
+            loadData(centercode, linecode, workshop, devmodel);
+        } else {
+            String name = "";
+            if (id == R.id.centerCodeEd) {
+                name = "centercode";
+            } else if (id == R.id.workShopEd) {
+                name = "workshop";
+            } else if (id == R.id.lineCodeEd) {
+                name = "linecode";
+            } else if (id == R.id.devModelEd) {
+                name = "devmodel";
+            }
+            LogUtil.i("name="+name);
+            if (!TextUtils.isEmpty(name)) {
+                startActivityForResult(new Intent(ct, SelectNetAcitivty.class)
+                                .putExtra("fieldKey", name)
+                                .putExtra("caller", "ModelRequire")
+                                .putExtra("dataForm", true)
+                                .putExtra("isForm", true)//是否是主表
+                        , 90);
+            }
+        }
+    }
+
+    @Override
+    public void onSuccess(int what, String message, Tags tag) throws Exception {
+        JSONObject object = JSON.parseObject(message);
+        switch (what) {
+            case LOAD_TO_DO:
+                if (JSONUtil.getBoolean(object, "success")) {
+                    handerData(JSONUtil.getJSONArray(object, "data"));
+                }
+                break;
+        }
+    }
+
+    @Override
+    public void onFailure(int what, String message, Tags tag) throws Exception {
+        if (JSONUtil.validateJSONObject(message)){
+            String exceptionInfo=JSONUtil.getText(message,"exceptionInfo");
+            if (!TextUtils.isEmpty(exceptionInfo)){
+                ToastUtil.showToast(ct,exceptionInfo);
+            }
+        }
+        handerData(new JSONArray());
+    }
+
+    private void handerData(JSONArray array) throws Exception {
+        List<DeviceMatch> matches = new ArrayList<>();
+        if (!ListUtils.isEmpty(array)) {
+            JSONObject object = null;
+            DeviceMatch matche = null;
+            for (int i = 0; i < array.size(); i++) {
+                object = array.getJSONObject(i);
+                matche = new DeviceMatch();
+                matche.setCode(JSONUtil.getText(object, "DM_CODE"));
+                matche.setName(JSONUtil.getText(object, "DE_NAME"));
+                matche.setExistqty(JSONUtil.getText(object, "EXISTQTY"));
+                matche.setLackqty(JSONUtil.getText(object, "LACKQTY"));
+                matches.add(matche);
+            }
+        }
+        setData2View(matches);
+
+    }
+
+    private DeviceMatchAdapter mAdapter = null;
+
+    private void setData2View(List<DeviceMatch> matches) {
+        if (mAdapter == null) {
+            mAdapter = new DeviceMatchAdapter(matches);
+            mRecyclerView.setAdapter(mAdapter);
+        } else {
+            mAdapter.setMatches(matches);
+        }
+    }
+
+
+    private class DeviceMatchAdapter extends RecyclerView.Adapter<DeviceMatchAdapter.ViewHolder> {
+        private List<DeviceMatch> matches;
+
+        public DeviceMatchAdapter(List<DeviceMatch> matches) {
+            this.matches = matches;
+        }
+
+        public void setMatches(List<DeviceMatch> matches) {
+            this.matches = matches;
+            notifyDataSetChanged();
+        }
+
+        @Override
+        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            return new ViewHolder(LayoutInflater.from(ct).inflate(R.layout.item_device_match, parent, false));
+        }
+
+        @Override
+        public void onBindViewHolder(ViewHolder holder, int position) {
+            DeviceMatch match = matches.get(position);
+            holder.codeTv.setText(match.getCode());
+            holder.nameTv.setText(match.getName());
+            holder.existqtyTv.setText(match.getExistqty());
+            holder.lackqtyTv.setText(match.getLackqty());
+        }
+
+        @Override
+        public int getItemCount() {
+            return ListUtils.getSize(matches);
+        }
+
+
+        class ViewHolder extends RecyclerView.ViewHolder {
+            private TextView codeTv;
+            private TextView nameTv;
+            private TextView existqtyTv;
+            private TextView lackqtyTv;
+
+            public ViewHolder(View itemView) {
+                super(itemView);
+                codeTv = itemView.findViewById(R.id.codeTv);
+                nameTv = itemView.findViewById(R.id.nameTv);
+                existqtyTv = itemView.findViewById(R.id.existqtyTv);
+                lackqtyTv = itemView.findViewById(R.id.lackqtyTv);
+            }
+        }
+    }
+
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (90 == requestCode && data != null) {
+            String json = data.getStringExtra("data");
+            if (JSONUtil.validateJSONObject(json)) try {
+                JSONObject object = JSON.parseObject(json);
+                String centercode = JSONUtil.getText(object, "centercode");
+                String workshop = JSONUtil.getText(object, "workshop");
+                String linecode = JSONUtil.getText(object, "linecode");
+                String devmodel = JSONUtil.getText(object, "devmodel");
+
+                if (!TextUtils.isEmpty(centercode)) {
+                    centerCodeEd.setText(centercode);
+                }
+                if (!TextUtils.isEmpty(workshop)) {
+                    workShopEd.setText(workshop);
+                }
+                if (!TextUtils.isEmpty(linecode)) {
+                    lineCodeEd.setText(linecode);
+                }
+                if (!TextUtils.isEmpty(devmodel)) {
+                    devModelEd.setText(devmodel);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}

+ 42 - 0
app_modular/appworks/src/main/java/com/uas/appworks/model/DeviceMatch.java

@@ -0,0 +1,42 @@
+package com.uas.appworks.model;
+
+/**
+ * Created by Bitlike on 2018/2/28.
+ */
+
+public class DeviceMatch {
+    //机型、机型设备列表名称、现有匹配设备数量、欠缺设备数量
+    private String code, name, existqty, lackqty;
+
+    public String getCode() {
+        return code == null ? "" : code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name == null ? "" : name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getExistqty() {
+        return existqty == null ? "" : existqty;
+    }
+
+    public void setExistqty(String existqty) {
+        this.existqty = existqty;
+    }
+
+    public String getLackqty() {
+        return lackqty == null ? "" : lackqty;
+    }
+
+    public void setLackqty(String lackqty) {
+        this.lackqty = lackqty;
+    }
+}

+ 1 - 1
app_modular/appworks/src/main/res/layout/activity_business_travel.xml

@@ -10,7 +10,7 @@
     app:enablePullUp="true"
     tools:context="com.uas.appworks.OA.platform.activity.BusinessTravelActivity">
 
-    <android.support.v7.widget.RecyclerView
+    <com.modular.apputils.widget.EmptyRecyclerView
         android:id="@+id/mRecyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />

+ 162 - 0
app_modular/appworks/src/main/res/layout/activity_device_match.xml

@@ -0,0 +1,162 @@
+<?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="match_parent"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/padding"
+        android:orientation="horizontal">
+        <TextView
+            android:layout_width="80dp"
+            android:layout_height="36dp"
+            android:layout_gravity="left"
+            android:layout_marginRight="10dp"
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="2"
+            android:paddingLeft="6dp"
+            android:text="部门编号"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/centerCodeEd"
+            android:layout_width="match_parent"
+            android:layout_height="36dp"
+            android:background="@drawable/shape_corner_white_bg"
+            android:gravity="center_vertical"
+            android:paddingLeft="10dp"
+            android:textSize="14sp" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/padding"
+        android:orientation="horizontal">
+        <TextView
+            android:layout_width="80dp"
+            android:layout_height="36dp"
+            android:layout_gravity="left"
+            android:layout_marginRight="10dp"
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="2"
+            android:paddingLeft="6dp"
+            android:text="线别"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/lineCodeEd"
+            android:layout_width="match_parent"
+            android:layout_height="36dp"
+            android:background="@drawable/shape_corner_white_bg"
+            android:gravity="center_vertical"
+            android:paddingLeft="10dp"
+            android:textSize="14sp" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/padding"
+        android:orientation="horizontal">
+        <TextView
+            android:layout_width="80dp"
+            android:layout_height="36dp"
+            android:layout_gravity="left"
+            android:layout_marginRight="10dp"
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="2"
+            android:paddingLeft="6dp"
+            android:text="车间"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/workShopEd"
+            android:layout_width="match_parent"
+            android:layout_height="36dp"
+            android:background="@drawable/shape_corner_white_bg"
+            android:gravity="center_vertical"
+            android:paddingLeft="10dp"
+            android:textSize="14sp" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/padding"
+        android:orientation="horizontal">
+        <TextView
+            android:layout_width="80dp"
+            android:layout_height="36dp"
+            android:layout_gravity="left"
+            android:layout_marginRight="10dp"
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="2"
+            android:paddingLeft="6dp"
+            android:text="机型"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/devModelEd"
+            android:layout_width="match_parent"
+            android:layout_height="36dp"
+            android:background="@drawable/shape_corner_white_bg"
+            android:gravity="center_vertical"
+            android:paddingLeft="10dp"
+            android:textSize="14sp" />
+    </LinearLayout>
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/background"
+        android:clickable="true"
+        android:orientation="horizontal"
+        android:padding="10dp">
+
+        <TextView
+            android:id="@+id/cancelTv"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginLeft="30dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_cancel_bg"
+            android:gravity="center"
+            android:text="@string/cancel"
+            android:textColor="@color/selector_cancel_text_color"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/resetTv"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginLeft="20dp"
+            android:layout_marginRight="20dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="@string/reset"
+            android:textColor="@color/white"
+            android:textSize="14sp" />
+
+        <TextView
+            android:id="@+id/confirmTv"
+            android:layout_width="0dp"
+            android:layout_height="35dp"
+            android:layout_marginRight="30dp"
+            android:layout_weight="1"
+            android:background="@drawable/selector_confirm_bg"
+            android:gravity="center"
+            android:text="@string/app_dialog_ok"
+            android:textColor="@color/white"
+            android:textSize="14sp" />
+    </LinearLayout>
+
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/mRecyclerView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+</LinearLayout>

+ 100 - 0
app_modular/appworks/src/main/res/layout/item_device_match.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+
+    <TextView
+        android:id="@+id/codeTag"
+        android:layout_width="90dp"
+        android:layout_height="36dp"
+        android:layout_gravity="left"
+        android:layout_marginRight="10dp"
+        android:ellipsize="end"
+        android:gravity="center_vertical"
+        android:maxLines="2"
+        android:paddingLeft="@dimen/paddingMin"
+        android:text="机型"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/codeTv"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_toRightOf="@id/codeTag"
+        android:gravity="center_vertical"
+        android:paddingLeft="10dp"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/nameTag"
+        android:layout_width="90dp"
+        android:layout_height="36dp"
+        android:layout_below="@id/codeTag"
+        android:layout_gravity="left"
+        android:layout_marginRight="10dp"
+        android:ellipsize="end"
+        android:gravity="center_vertical"
+        android:maxLines="2"
+        android:paddingLeft="@dimen/paddingMin"
+        android:text="设备名称"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/nameTv"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_alignTop="@id/nameTag"
+        android:layout_toRightOf="@id/nameTag"
+        android:gravity="center_vertical"
+        android:paddingLeft="10dp"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/existqtyTag"
+        android:layout_width="90dp"
+        android:layout_height="36dp"
+        android:layout_below="@id/nameTag"
+        android:layout_gravity="left"
+        android:layout_marginRight="10dp"
+        android:ellipsize="end"
+        android:gravity="center_vertical"
+        android:maxLines="2"
+        android:paddingLeft="@dimen/paddingMin"
+        android:text="匹配设备数量"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/existqtyTv"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_alignTop="@id/existqtyTag"
+        android:layout_toRightOf="@id/existqtyTag"
+        android:gravity="center_vertical"
+        android:paddingLeft="10dp"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/lackqtyTag"
+        android:layout_width="90dp"
+        android:layout_height="36dp"
+        android:layout_below="@id/existqtyTag"
+        android:layout_gravity="left"
+        android:layout_marginRight="10dp"
+        android:ellipsize="end"
+        android:gravity="center_vertical"
+        android:maxLines="2"
+        android:paddingLeft="@dimen/paddingMin"
+        android:text="欠缺设备数量"
+        android:textSize="14sp" />
+
+    <TextView
+        android:id="@+id/lackqtyTv"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_alignTop="@id/lackqtyTag"
+        android:layout_toRightOf="@id/lackqtyTag"
+        android:gravity="center_vertical"
+        android:paddingLeft="10dp"
+        android:textSize="14sp" />
+</RelativeLayout>

+ 1 - 0
app_modular/appworks/src/main/res/values/strings.xml

@@ -83,6 +83,7 @@
     <string name="text_maintenance">养护管理</string>
     <string name="text_fault_inspection">故障送检</string>
     <string name="text_cycle_count">周期盘点</string>
+    <string name="text_device_query_match">需求匹配</string>
     <string name="text_cycle_count_add">添加盘点</string>
     <string name="more_info"><u>详细信息</u></string>
     <string name="cycle">盘点</string>