From 904f43cdcc5022758e1b24d437791ba2a0e7aaa2 Mon Sep 17 00:00:00 2001 From: fyf Date: Fri, 30 Jun 2023 14:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=B3=BB=E7=BB=9F=E9=85=8D?= =?UTF-8?q?=E6=96=99=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 - .idea/misc.xml | 7 +- .idea/render.experimental.xml | 6 + app/build.gradle | 12 + app/src/main/assets/fonts/iconfont.ttf | Bin 0 -> 10276 bytes .../bnframework/common/constant/DataBus.java | 33 +- .../bonait/bnframework/common/db/QueryDB.java | 58 ++++ .../bnframework/common/db/mode/BPA_SILOS.java | 2 + .../bnframework/common/db/res/lcMode.java | 3 +- .../common/helper/I/MyClickListener.java | 2 + .../modules/home/adapter/lcsz_adapter.java | 76 +++++ .../modules/home/adapter/wl_adapter.java | 72 +++++ .../modules/home/fragment/Home1Fragment.java | 13 + .../home/fragment/from/CpxzActivity.java | 10 + .../fragment/SystemSeasoningsetFragment.java | 301 +++++++++++++++++- app/src/main/res/drawable/button.xml | 2 +- app/src/main/res/drawable/input_bj.xml | 7 +- app/src/main/res/drawable/spinner_border.xml | 28 ++ app/src/main/res/layout/activity_diy.xml | 12 +- .../res/layout/datatab/layout/lcsz_item.xml | 88 +++++ .../res/layout/datatab/layout/wl_item.xml | 73 +++++ app/src/main/res/layout/fragment_home1.xml | 3 +- .../layout/fragment_system_seasoningset.xml | 300 ++++++++++++++++- .../item/layout/spinner_dropdown_item.xml | 12 + .../layout/item/layout/spinner_text_item.xml | 16 + app/src/main/res/layout/item_liaochang.xml | 28 +- .../main/res/mipmap-xxhdpi/spinner_down.png | Bin 0 -> 711 bytes .../main/res/mipmap-xxhdpi/spinner_down_2.png | Bin 0 -> 425 bytes app/src/main/res/values/colors.xml | 5 + app/src/main/res/values/dimens.xml | 5 + app/src/main/res/values/styles.xml | 28 ++ 31 files changed, 1149 insertions(+), 56 deletions(-) delete mode 100644 .idea/.gitignore create mode 100644 .idea/render.experimental.xml create mode 100644 app/src/main/assets/fonts/iconfont.ttf create mode 100644 app/src/main/java/com/bonait/bnframework/modules/home/adapter/lcsz_adapter.java create mode 100644 app/src/main/java/com/bonait/bnframework/modules/home/adapter/wl_adapter.java create mode 100644 app/src/main/res/drawable/spinner_border.xml create mode 100644 app/src/main/res/layout/datatab/layout/lcsz_item.xml create mode 100644 app/src/main/res/layout/datatab/layout/wl_item.xml create mode 100644 app/src/main/res/layout/item/layout/spinner_dropdown_item.xml create mode 100644 app/src/main/res/layout/item/layout/spinner_text_item.xml create mode 100644 app/src/main/res/mipmap-xxhdpi/spinner_down.png create mode 100644 app/src/main/res/mipmap-xxhdpi/spinner_down_2.png diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d33521..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 31622f1e..fab34583 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,10 +1,5 @@ - - - - - + \ No newline at end of file diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml new file mode 100644 index 00000000..8ec256a5 --- /dev/null +++ b/.idea/render.experimental.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index b3c95158..544ed7da 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,6 +30,18 @@ android { targetCompatibility JavaVersion.VERSION_1_8 } buildToolsVersion rootProject.ext.buildToolsVersion + + sourceSets { + main { + res.srcDirs = [ + 'src/main/res/layout/datatab', + 'src/main/res/layout/item', + 'src/main/res/layout', + 'src/main/res' + ] + + } + } } dependencies { diff --git a/app/src/main/assets/fonts/iconfont.ttf b/app/src/main/assets/fonts/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d6a19d36c377479389afc3dd0ba2c05baeb156f1 GIT binary patch literal 10276 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 C%p*|% literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/bonait/bnframework/common/constant/DataBus.java b/app/src/main/java/com/bonait/bnframework/common/constant/DataBus.java index 816063ba..b92e24f2 100644 --- a/app/src/main/java/com/bonait/bnframework/common/constant/DataBus.java +++ b/app/src/main/java/com/bonait/bnframework/common/constant/DataBus.java @@ -77,21 +77,44 @@ public class DataBus { for (BPA_SILOS silo : bpa_silos) { List m = QueryDB.GetMaterialBySilosID(silo.id); if (m.size() > 0) { - lcModes.add(new lcMode(silo.id, silo.num, m.get(0).name, silo.silosmargin, m.get(0).id,m.get(0).type, silo.warningValue, silo.thrsoleValue)); + lcModes.add(new lcMode(silo.id, silo.num, m.get(0).name, silo.silosmargin, silo.siloszl, m.get(0).id,m.get(0).type, silo.warningValue, silo.thrsoleValue)); } else { - lcModes.add(new lcMode(silo.id, silo.num, "未设置", silo.silosmargin, "",0, silo.warningValue, silo.thrsoleValue)); + lcModes.add(new lcMode(silo.id, silo.num, "未设置", silo.silosmargin, silo.siloszl, "",0, silo.warningValue, silo.thrsoleValue)); } } } if (lcadapter!=null) { - DataBus.getInstance().lcadapter.refresh(); + lcadapter.refresh(); } } catch (Exception e) { e.printStackTrace(); } } + public ArrayList ResGetLc() + { + ArrayList lc=new ArrayList<>(); + try { + //获取料仓数据 + ArrayList bpa_silos = QueryDB.GetSilosALL(); + //加载materials数据 + if (bpa_silos.size() > 0) { + for (BPA_SILOS silo : bpa_silos) { + List m = QueryDB.GetMaterialBySilosID(silo.id); + if (m.size() > 0) { + lc.add(new lcMode(silo.id, silo.num, m.get(0).name, silo.silosmargin, silo.siloszl, m.get(0).id,m.get(0).type, silo.warningValue, silo.thrsoleValue)); + } else { + lc.add(new lcMode(silo.id, silo.num, "未设置", silo.silosmargin, silo.siloszl, "",0, silo.warningValue, silo.thrsoleValue)); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return lc; + } + /** * 加满物料 */ @@ -100,10 +123,10 @@ public class DataBus { if(index>=0 && lcModes.size()>=0) { lcModes.get(index).silosmargin=10000; + QueryDB.UpdateYL(lcModes.get(index).id,lcModes.get(index).silosmargin); if (lcadapter!=null) { - QueryDB.UpdateYL(lcModes.get(index).id,lcModes.get(index).silosmargin); - DataBus.getInstance().lcadapter.refresh(); + lcadapter.refresh(); } } } diff --git a/app/src/main/java/com/bonait/bnframework/common/db/QueryDB.java b/app/src/main/java/com/bonait/bnframework/common/db/QueryDB.java index 0b6b74d2..1e6bf6c1 100644 --- a/app/src/main/java/com/bonait/bnframework/common/db/QueryDB.java +++ b/app/src/main/java/com/bonait/bnframework/common/db/QueryDB.java @@ -222,6 +222,32 @@ public class QueryDB { } } + + /** + * 修改物料名称 + * @param id + * @param name + */ + public static void UpdateMaterialName(String id, String name) { + BPA_MATERIAL material = GetMaterialID(id); + if (material != null) { + material.name = name; + Update(BPA_MATERIAL.class, material); + } + } + + /** + * 修改物料类型 + * @param id + * @param type + */ + public static void UpdateMaterialType(String id, int type) { + BPA_MATERIAL material = GetMaterialID(id); + if (material != null) { + material.type = type; + Update(BPA_MATERIAL.class, material); + } + } //endregion //region BPA_SILOS 料仓管理表 @@ -302,6 +328,9 @@ public class QueryDB { par.name = k.name; par.warningValue = k.warningValue; par.thrsoleValue = k.thrsoleValue; + par.silosmargin = k.silosmargin; + par.siloszl = k.siloszl; + par.plcValue = k.plcValue; par.bValue = k.bValue; par.jValue = k.jValue; @@ -377,6 +406,34 @@ public class QueryDB { Update(BPA_SILOS.class, silos); } } + + /** + * 修改报警值 + * + * @param id + * @param data + */ + public static void UpdateSilosBJZ(String id, int data) { + BPA_SILOS silos = GetSilosID(id); + if (silos != null) { + silos.warningValue = data; + Update(BPA_SILOS.class, silos); + } + } + + /** + * 修改总量 + * + * @param id + * @param data + */ + public static void UpdateSilosZL(String id, int data) { + BPA_SILOS silos = GetSilosID(id); + if (silos != null) { + silos.siloszl = data; + Update(BPA_SILOS.class, silos); + } + } //endregion //region BPA_SILOSANDMATERIAL 料仓物料关联表 @@ -2080,6 +2137,7 @@ public class QueryDB { ((BPA_SILOS) data).status = cursor.getInt((int) cursor.getColumnIndex("status")); ((BPA_SILOS) data).Sort = cursor.getInt((int) cursor.getColumnIndex("Sort")); ((BPA_SILOS) data).silosmargin = cursor.getInt((int) cursor.getColumnIndex("silosmargin")); + ((BPA_SILOS) data).siloszl = cursor.getInt((int) cursor.getColumnIndex("siloszl")); break; case "BPA_SILOSANDMATERIAL": data = new BPA_SILOSANDMATERIAL(); diff --git a/app/src/main/java/com/bonait/bnframework/common/db/mode/BPA_SILOS.java b/app/src/main/java/com/bonait/bnframework/common/db/mode/BPA_SILOS.java index 5c5c5280..ed2c1029 100644 --- a/app/src/main/java/com/bonait/bnframework/common/db/mode/BPA_SILOS.java +++ b/app/src/main/java/com/bonait/bnframework/common/db/mode/BPA_SILOS.java @@ -25,4 +25,6 @@ public class BPA_SILOS extends ModeBase { public int Sort; //料仓余料 public int silosmargin; + //料仓总量 + public int siloszl; } diff --git a/app/src/main/java/com/bonait/bnframework/common/db/res/lcMode.java b/app/src/main/java/com/bonait/bnframework/common/db/res/lcMode.java index cf52fec0..8682f7d3 100644 --- a/app/src/main/java/com/bonait/bnframework/common/db/res/lcMode.java +++ b/app/src/main/java/com/bonait/bnframework/common/db/res/lcMode.java @@ -10,7 +10,7 @@ public class lcMode extends BPA_SILOS { public String materialId; //物料类型 public int materiallx; - public lcMode(String id, int num,String materialName, int silosmargin,String materialId,int materiallx,int warningValue,int thrsoleValue) { + public lcMode(String id, int num,String materialName, int silosmargin,int siloszl,String materialId,int materiallx,int warningValue,int thrsoleValue) { this.materialName = materialName; this.silosmargin = silosmargin; this.num = num; @@ -19,5 +19,6 @@ public class lcMode extends BPA_SILOS { this.materiallx=materiallx; this.warningValue=warningValue; this.thrsoleValue=thrsoleValue; + this.siloszl=siloszl; } } diff --git a/app/src/main/java/com/bonait/bnframework/common/helper/I/MyClickListener.java b/app/src/main/java/com/bonait/bnframework/common/helper/I/MyClickListener.java index 445d8a58..1047d3ce 100644 --- a/app/src/main/java/com/bonait/bnframework/common/helper/I/MyClickListener.java +++ b/app/src/main/java/com/bonait/bnframework/common/helper/I/MyClickListener.java @@ -4,4 +4,6 @@ import android.view.View; public interface MyClickListener { public void clickListener(View v, Object data); + + public void clickListenerNew(View v,int k, Object data); } diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/adapter/lcsz_adapter.java b/app/src/main/java/com/bonait/bnframework/modules/home/adapter/lcsz_adapter.java new file mode 100644 index 00000000..377307d3 --- /dev/null +++ b/app/src/main/java/com/bonait/bnframework/modules/home/adapter/lcsz_adapter.java @@ -0,0 +1,76 @@ +package com.bonait.bnframework.modules.home.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.bonait.bnframework.R; +import com.bonait.bnframework.common.db.mode.BPA_MATERIAL; +import com.bonait.bnframework.common.db.res.lcMode; +import com.bonait.bnframework.common.helper.I.MyClickListener; + +import java.util.List; + + +/** + * 物料数据表格 + */ +public class lcsz_adapter extends ArrayAdapter { + /** + * 内部点击事件 + */ + private MyClickListener mListener; + private List datas; + int resource1; + public lcsz_adapter(@NonNull Context context, int resource, @NonNull List objects, MyClickListener listener) { + super(context, resource, objects); + mListener = listener; + datas=objects; + this.resource1=resource; + } + //每个子项被滚动到屏幕内的时候会被调用 + @NonNull + @Override + public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + lcMode lc = (lcMode) getItem(position);//得到当前项选中item实例 + //为每一个子项加载设定的布局 + View view = LayoutInflater.from(getContext()).inflate(resource1, parent, false); + //分别获取 image view 和 textview 的实例 + + TextView xh = view.findViewById(R.id.xh); + TextView name = view.findViewById(R.id.name); + TextView bjz = view.findViewById(R.id.bjz); + TextView zlz = view.findViewById(R.id.zlz); + // 设置要显示的图片和文字 + xh.setText(lc.num+""); + name.setText(lc.materialName); + bjz.setText(lc.warningValue+""); + zlz.setText(lc.siloszl+""); + name.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListenerNew(view,0,lc); + } + }); + bjz.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListenerNew(view,0,lc); + } + }); + zlz.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListenerNew(view,0,lc); + } + }); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/adapter/wl_adapter.java b/app/src/main/java/com/bonait/bnframework/modules/home/adapter/wl_adapter.java new file mode 100644 index 00000000..3acc63c9 --- /dev/null +++ b/app/src/main/java/com/bonait/bnframework/modules/home/adapter/wl_adapter.java @@ -0,0 +1,72 @@ +package com.bonait.bnframework.modules.home.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.bonait.bnframework.R; +import com.bonait.bnframework.common.db.mode.BPA_MATERIAL; +import com.bonait.bnframework.common.helper.I.MyClickListener; + +import java.util.List; + +/** + * 物料数据表格 + */ +public class wl_adapter extends ArrayAdapter { + /** + * 内部点击事件 + */ + private MyClickListener mListener; + private List datas; + int resource1; + public wl_adapter(@NonNull Context context, int resource, @NonNull List objects, MyClickListener listener) { + super(context, resource, objects); + mListener = listener; + datas=objects; + this.resource1=resource; + } + //每个子项被滚动到屏幕内的时候会被调用 + @NonNull + @Override + public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + BPA_MATERIAL bpa_material = (BPA_MATERIAL) getItem(position);//得到当前项选中item实例 + //为每一个子项加载设定的布局 + View view = LayoutInflater.from(getContext()).inflate(resource1, parent, false); + //分别获取 image view 和 textview 的实例 + TextView name = view.findViewById(R.id.name); + Button button = view.findViewById(R.id.button_item); + TextView lx = view.findViewById(R.id.lx); + // 设置要显示的图片和文字 + name.setText(bpa_material.name); + lx.setText(bpa_material.type==0?"液料":"酱料"); + lx.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListener(view,bpa_material); + } + }); + + name.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListener(view,bpa_material); + } + }); + + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(mListener!=null) mListener.clickListener(view,bpa_material); + } + }); + return view; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/Home1Fragment.java b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/Home1Fragment.java index afb8a3ae..2d723d87 100644 --- a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/Home1Fragment.java +++ b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/Home1Fragment.java @@ -102,6 +102,7 @@ public class Home1Fragment extends BaseFragment { */ private void initData() { try{ + DataBus.getInstance().GetLc(); MyLayoutManager layout = new MyLayoutManager(); layout.setAutoMeasureEnabled(true); recyclerView.setLayoutManager(layout); @@ -109,6 +110,7 @@ public class Home1Fragment extends BaseFragment { DataBus.getInstance().lcadapter = new lc_adapter( getContext()); recyclerView.setAdapter(DataBus.getInstance().lcadapter); + }catch(Exception e){ ToastUtils.info("异常信息:"+e.getMessage()); } @@ -124,6 +126,11 @@ public class Home1Fragment extends BaseFragment { public void clickListener(View v, Object data) { ToastUtils.info("火力按钮点击,当前级别:"+data); } + + @Override + public void clickListenerNew(View v, int k, Object data) { + + } }; DataBus.getInstance().mListener=new MyClickListener() { @@ -133,6 +140,12 @@ public class Home1Fragment extends BaseFragment { caipumingcheng.setText(good.name); shengyushijian.setText("预计剩余时间:300s"); } + + @Override + public void clickListenerNew(View v, int k, Object data) { + ToastUtils.info("刷新界面"); + initData(); + } }; } diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/CpxzActivity.java b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/CpxzActivity.java index c5d770ae..d8aac838 100644 --- a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/CpxzActivity.java +++ b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/CpxzActivity.java @@ -84,12 +84,22 @@ public class CpxzActivity extends BaseActivity { } finish(); } + + @Override + public void clickListenerNew(View v, int k, Object data) { + + } }; }catch(Exception e){ ToastUtils.info("异常信息:"+e.getMessage()); } } + public void initEvent() + { + + } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/fragment/SystemSeasoningsetFragment.java b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/fragment/SystemSeasoningsetFragment.java index 751ddb69..d32bc577 100644 --- a/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/fragment/SystemSeasoningsetFragment.java +++ b/app/src/main/java/com/bonait/bnframework/modules/home/fragment/from/fragment/SystemSeasoningsetFragment.java @@ -4,9 +4,18 @@ import android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; + +import android.content.DialogInterface; import android.os.Bundle; +import android.text.InputType; import android.view.LayoutInflater; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.Spinner; import android.widget.TextView; import com.bin.david.form.core.SmartTable; @@ -14,19 +23,55 @@ import com.bin.david.form.data.column.ColumnInfo; import com.bin.david.form.listener.OnColumnClickListener; import com.bonait.bnframework.R; import com.bonait.bnframework.common.base.BaseFragment; +import com.bonait.bnframework.common.constant.ConfigName; +import com.bonait.bnframework.common.constant.DataBus; +import com.bonait.bnframework.common.constant.MessageName; +import com.bonait.bnframework.common.db.QueryDB; import com.bonait.bnframework.common.db.mode.BPA_MATERIAL; +import com.bonait.bnframework.common.db.mode.BPA_SILOSANDMATERIAL; +import com.bonait.bnframework.common.db.res.lcMode; +import com.bonait.bnframework.common.helper.I.MyClickListener; +import com.bonait.bnframework.common.message.MessageManager; import com.bonait.bnframework.common.utils.ToastUtils; +import com.bonait.bnframework.modules.home.adapter.lc_adapter; +import com.bonait.bnframework.modules.home.adapter.lcsz_adapter; +import com.bonait.bnframework.modules.home.adapter.wl_adapter; +import com.bonait.bnframework.modules.home.fragment.from.CpActivity; +import com.bonait.bnframework.modules.home.fragment.from.DiyActivity; +import com.bonait.bnframework.modules.home.fragment.from.SzActivity; +import com.bonait.bnframework.modules.home.fragment.from.WhActivity; import com.orhanobut.logger.Logger; +import com.qmuiteam.qmui.widget.QMUITopBar; +import com.qmuiteam.qmui.widget.dialog.QMUIDialog; +import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; -public class SystemSeasoningsetFragment extends BaseFragment { - +public class SystemSeasoningsetFragment extends BaseFragment implements MyClickListener { + @BindView(R.id.edittext) + EditText edittext; + @BindView(R.id.wllx) + Spinner wllx; + @BindView(R.id.add_wl) + Button add_wl; + @BindView(R.id.datatab_wl) + ListView datatab_wl; + Map wllx_map = new LinkedHashMap<>(); + /** + * 物料数据 + */ + ArrayList bpa_materials=new ArrayList<>(); + @BindView(R.id.datatab_lc) + ListView datatab_lc;//料仓 + ArrayList lcModes=new ArrayList<>(); private Context context; @Override protected View onCreateView() { @@ -47,22 +92,85 @@ public class SystemSeasoningsetFragment extends BaseFragment { * 初始化界面 */ public void InitView() { - // 设置数据源 -// List dataSource = new ArrayList(); -// for (int i = 0; i < 30; i++) -// { -// BPA_MATERIAL b=new BPA_MATERIAL(){ }; -// b.name="物料"+i; -// b.type=i%3==0?0:1; -// dataSource.add(b); -// } + wllx_map.put("液料",0); + wllx_map.put("酱料",1); + ArrayAdapter adapter2 = new ArrayAdapter<>(context, R.layout.spinner_text_item, new ArrayList<>(wllx_map.keySet())); + adapter2.setDropDownViewResource(R.layout.spinner_dropdown_item); + wllx.setAdapter(adapter2); + Initdata_wl(); + Initdata_lc(); + } + + @OnClick({R.id.add_wl}) + public void onViewClicked(View view) { + switch (view.getId()) { + case R.id.add_wl://增加物料 + String name= edittext.getText().toString(); + String lx=wllx.getSelectedItem().toString(); + if(name.isEmpty()){ + ToastUtils.info("物料名称不能为空"); + return; + } + if(lx.isEmpty()){ + ToastUtils.info("物料类型不能为空"); + return; + } + if(QueryDB.GetMaterialIs(name)){ + ToastUtils.info("物料名称重复,请重新输入后重试!"); + return; + } + BPA_MATERIAL bpa_material=new BPA_MATERIAL(); + bpa_material.name=name; + bpa_material.imgUrl=""; + bpa_material.type=wllx_map.get(lx); + bpa_material.deviceID= ConfigName.getInstance().DeviceId; + bpa_material.userID=ConfigName.getInstance().user.userID; + QueryDB.AddMaterial(bpa_material); + ToastUtils.info("新增成功"); + Initdata_wl(); + break; + + } + } + + //region 数据加载 + /** + * 初始化数据加载 + */ + public void Initdata_wl() + { + try{ + bpa_materials= QueryDB.GetMaterialALL(); + wl_adapter adapter = new wl_adapter(context, R.layout.wl_item, bpa_materials,this); + datatab_wl.setAdapter(adapter); + }catch(Exception e){ + + } + } + /** + * 初始化数据加载 + */ + public void Initdata_lc() + { + try{ + lcModes=DataBus.getInstance().ResGetLc(); + lcsz_adapter adapter1 = new lcsz_adapter(context, R.layout.lcsz_item,lcModes,this); + datatab_lc.setAdapter(adapter1); + }catch(Exception e){ + + } } + //endregion @Override public void onDestroy() { super.onDestroy(); + if( DataBus.getInstance().mListener!=null) + { + DataBus.getInstance().mListener.clickListenerNew(this.getView(),0,""); + } Logger.d("我的fragment销毁"); } @@ -79,4 +187,175 @@ public class SystemSeasoningsetFragment extends BaseFragment { protected boolean canDragBack() { return false; } + + /** + * 点击事件 + * @param v + * @param data + */ + @Override + public void clickListener(View v, Object data) { + switch (v.getId()) + { + case R.id.name://修改物料名称按钮 + final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context); + builder.setTitle("物料名称") + .setPlaceholder("在此输入物料名称") + .setDefaultText(((BPA_MATERIAL)data).name) + .setInputType(InputType.TYPE_CLASS_TEXT) + .addAction("取消", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + dialog.dismiss(); + } + }) + .addAction("确定", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + CharSequence text = builder.getEditText().getText(); + if (text != null && text.length() > 0) { + if(QueryDB.GetMaterialIs(text.toString())){ + ToastUtils.info("物料名称重复,请重新输入后重试!"); + return; + } + QueryDB.UpdateMaterialName(((BPA_MATERIAL)data).id,text.toString()); + Initdata_wl(); + dialog.dismiss(); + } else { + //请填入昵称 + ToastUtils.info("物料名称不能为空!"); + } + } + }) + .show(); + break; + case R.id.lx://选择类型 + final String [] items=new String[]{"液料","酱料"}; + final int checkIndex=((BPA_MATERIAL)data).type; + new QMUIDialog.CheckableDialogBuilder(context) + .addItems(items, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + QueryDB.UpdateMaterialType(((BPA_MATERIAL)data).id,which); + Initdata_wl(); + dialog.dismiss(); + } + }) + .setCheckedIndex(checkIndex) + .show(); + break; + case R.id.button_item://删除按钮 + QueryDB.DeleteMaterial((BPA_MATERIAL)data); + Initdata_wl(); + break; + } + } + + @Override + public void clickListenerNew(View v, int k, Object data) { + + lcMode lc= (lcMode)data; + switch (v.getId()) + { + case R.id.name://修改物料 + List names=new ArrayList<>(); + int index=0; + int count=0; + ArrayList materials=new ArrayList<>(); + for (BPA_MATERIAL item: bpa_materials) + { + materials.add(item); + } + BPA_MATERIAL wsz = new BPA_MATERIAL(); + wsz.name = "未设置"; + wsz.id = ""; + materials.add(wsz); + for (BPA_MATERIAL item: materials) + { + names.add(item.name); + if(item.name.equals(lc.materialName)) + { + index=count; + } + count++; + } + String[] items = names.toArray(new String[names.size()]); + final int checkIndex=index; + new QMUIDialog.CheckableDialogBuilder(context) + .addItems(items, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + BPA_SILOSANDMATERIAL item = new BPA_SILOSANDMATERIAL(); + BPA_MATERIAL material = materials.get(which); + item.silosID = lc.id; + item.materialID = material.id; + //更新 + if (QueryDB.UpdateSilosAndMaterial(item)) { + Initdata_lc(); + dialog.dismiss(); + } + } + }) + .setCheckedIndex(checkIndex) + .show(); + break; + case R.id.bjz://修改料仓报警值 + final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(context); + builder.setTitle(lc.materialName+" 报警值(g)") + .setPlaceholder("在此输入报警值") + .setDefaultText(lc.warningValue+"") + .setInputType(InputType.TYPE_CLASS_NUMBER) + .addAction("取消", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + dialog.dismiss(); + } + }) + .addAction("确定", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + CharSequence text = builder.getEditText().getText(); + if (text != null && text.length() > 0) { + QueryDB.UpdateSilosBJZ(lc.id,Integer.parseInt(text.toString())); + Initdata_lc(); + dialog.dismiss(); + } else { + //请填入昵称 + ToastUtils.info("值不能为空!"); + } + } + }) + .show(); + break; + case R.id.zlz://修改料仓总量值 + final QMUIDialog.EditTextDialogBuilder builder1 = new QMUIDialog.EditTextDialogBuilder(context); + builder1.setTitle(lc.materialName+" 总量值(g)") + .setPlaceholder("在此输入总量值") + .setDefaultText(lc.siloszl+"") + .setInputType(InputType.TYPE_CLASS_NUMBER) + .addAction("取消", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + dialog.dismiss(); + } + }) + .addAction("确定", new QMUIDialogAction.ActionListener() { + @Override + public void onClick(QMUIDialog dialog, int index) { + CharSequence text = builder1.getEditText().getText(); + if (text != null && text.length() > 0) { + QueryDB.UpdateSilosZL(lc.id,Integer.parseInt(text.toString())); + Initdata_lc(); + dialog.dismiss(); + } else { + //请填入昵称 + ToastUtils.info("值不能为空!"); + } + } + }) + .show(); + break; + } + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/button.xml b/app/src/main/res/drawable/button.xml index 9be22b9f..6570dfac 100644 --- a/app/src/main/res/drawable/button.xml +++ b/app/src/main/res/drawable/button.xml @@ -12,7 +12,7 @@ - + diff --git a/app/src/main/res/drawable/input_bj.xml b/app/src/main/res/drawable/input_bj.xml index 7ec495e2..e2273fcd 100644 --- a/app/src/main/res/drawable/input_bj.xml +++ b/app/src/main/res/drawable/input_bj.xml @@ -2,14 +2,11 @@ - + > + android:color="@color/color3" /> \ No newline at end of file diff --git a/app/src/main/res/drawable/spinner_border.xml b/app/src/main/res/drawable/spinner_border.xml new file mode 100644 index 00000000..1b1c2115 --- /dev/null +++ b/app/src/main/res/drawable/spinner_border.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_diy.xml b/app/src/main/res/layout/activity_diy.xml index 36db85cd..c32c978f 100644 --- a/app/src/main/res/layout/activity_diy.xml +++ b/app/src/main/res/layout/activity_diy.xml @@ -134,7 +134,7 @@ android:text="步骤:"/>