diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 87d0e94..03c5a4c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + + + diff --git a/app/src/main/java/com/example/haiwei_mom/ClassItemActivity.java b/app/src/main/java/com/example/haiwei_mom/ClassItemActivity.java new file mode 100644 index 0000000..633d87f --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/ClassItemActivity.java @@ -0,0 +1,14 @@ +package com.example.haiwei_mom; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class ClassItemActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_class_item); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/haiwei_mom/ConfigActivity.java b/app/src/main/java/com/example/haiwei_mom/ConfigActivity.java new file mode 100644 index 0000000..465f651 --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/ConfigActivity.java @@ -0,0 +1,14 @@ +package com.example.haiwei_mom; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class ConfigActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_config); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java b/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java index 2ad64d5..7863293 100644 --- a/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java +++ b/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java @@ -19,6 +19,7 @@ import com.example.haiwei_mom.wms.product.BindVehicleActivity; import com.example.haiwei_mom.wms.product.ProductInActivity; import com.example.haiwei_mom.wms.product.ProductOutActivity; import com.example.haiwei_mom.wms.raw.RawInActivity; +import com.example.haiwei_mom.wms.raw.RawOutActivity; import com.example.haiwei_mom.wms.raw.RawReturnActivity; import com.example.haiwei_mom.wms.semi.SemiInActivity; import com.example.haiwei_mom.wms.semi.SemiOutActivity; @@ -56,11 +57,13 @@ public class HomePageActivity extends BaseActivity implements ItemClickCall { map.put("成品批量入库", ProductInActivity.class); map.put("成品出库", ProductOutActivity.class); map.put("原材料入库", RawInActivity.class); - map.put("原材料出库", RawReturnActivity.class); + map.put("原材料出库", RawOutActivity.class); map.put("原材料盘点", RawReturnActivity.class); map.put("原材料退库", RawReturnActivity.class); map.put("制品质检", CheckActivity.class); map.put("制品复检", CheckActivity.class); + map.put("系统配置", ConfigActivity.class); + map.put("班组管理", ClassItemActivity.class); } private void initRequest() { diff --git a/app/src/main/java/com/example/haiwei_mom/adapter/RawOutDetailAdapter.java b/app/src/main/java/com/example/haiwei_mom/adapter/RawOutDetailAdapter.java new file mode 100644 index 0000000..4d3613d --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/adapter/RawOutDetailAdapter.java @@ -0,0 +1,63 @@ +package com.example.haiwei_mom.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.haiwei_mom.R; +import com.example.haiwei_mom.data.OutDetail; +import com.example.haiwei_mom.databinding.ItemBindVehicleBinding; +import com.example.haiwei_mom.databinding.ItemRawOutBinding; + +import java.util.List; + +public class RawOutDetailAdapter extends RecyclerView.Adapter { + private Context context; + private LayoutInflater inflater; + + + public RawOutDetailAdapter(Context context) { + this.context = context; + inflater=LayoutInflater.from(context); + } + + private List list; + + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + ItemRawOutBinding binding=DataBindingUtil.inflate(inflater, R.layout.item_raw_out,parent,false); + return new MyViewHolder(binding); + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + var binding = holder.binding; + binding.setVm(list.get(position)); + + } + + @Override + public int getItemCount() { + return list==null?0:list.size(); + } + + public class MyViewHolder extends RecyclerView.ViewHolder{ + private ItemRawOutBinding binding; + + public MyViewHolder(ItemRawOutBinding binding) { + super(binding.getRoot()); + this.binding = binding; + } + + } +} diff --git a/app/src/main/java/com/example/haiwei_mom/data/OutDetail.java b/app/src/main/java/com/example/haiwei_mom/data/OutDetail.java new file mode 100644 index 0000000..6e4dc92 --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/data/OutDetail.java @@ -0,0 +1,77 @@ +package com.example.haiwei_mom.data; + + + +import java.io.Serializable; +import java.util.Date; + + + +/** + * 出库单-物料视图对象 wms_outstock_detail + * + * @author LionLi + * @date 2025-01-08 + */ + +public class OutDetail { + + + + /** + * 表主键 + */ + + private Long outstockDetailId; + + /** + * 出库单号 + */ + + private String outstockCode; + + /** + * 出库单 主键 + */ + + private Long outstockId; + + /** + * 物料id + */ + + private Long materialId; + + /** + * 出库数量 + */ + + private double outstockQty; + private double outSum; + /** + * 物料大类 + */ + + private String materialCategories; + + + private String materialCode; + + private String materialName; + + public double getOutstockQty() { + return outstockQty; + } + + public double getOutSum() { + return outSum; + } + + public String getMaterialCode() { + return materialCode; + } + + public String getMaterialName() { + return materialName; + } +} diff --git a/app/src/main/java/com/example/haiwei_mom/wms/raw/RawOutActivity.java b/app/src/main/java/com/example/haiwei_mom/wms/raw/RawOutActivity.java new file mode 100644 index 0000000..7f494a4 --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/wms/raw/RawOutActivity.java @@ -0,0 +1,127 @@ +package com.example.haiwei_mom.wms.raw; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.MotionEvent; +import android.view.View; +import android.widget.EditText; + +import com.example.haiwei_mom.R; +import com.example.haiwei_mom.adapter.RawOutDetailAdapter; +import com.example.haiwei_mom.base.BaseActivity; +import com.example.haiwei_mom.base.MyRecultCall; +import com.example.haiwei_mom.base.MyResult; +import com.example.haiwei_mom.data.OutDetail; +import com.example.haiwei_mom.databinding.ActivityRawOutBinding; +import com.google.gson.reflect.TypeToken; +import com.lzy.okgo.OkGo; +import com.lzy.okgo.model.Response; + +import java.util.List; + +public class RawOutActivity extends BaseActivity implements View.OnFocusChangeListener { + private ActivityRawOutBinding binding; + private RawOutDetailAdapter rawOutDetailAdapter; + private EditText rawOutCodeView; + private EditText rawOutLocationView; + private EditText rawOutGoodsView; + private EditText focusView; + private boolean sanState = true; + + @SuppressLint("ClickableViewAccessibility") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + binding = DataBindingUtil.setContentView(this, R.layout.activity_raw_out); + rawOutCodeView = binding.rawOutCode; + rawOutCodeView.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + // 获取触摸的位置 + int x = (int) event.getX(); + if (x >= 464) { + selectOutOrderCode(binding.rawOutCode.getText().toString()); + return true; + } + } + return false; + }); + + rawOutLocationView = binding.rawOutLocation; + rawOutLocationView.setOnFocusChangeListener(this); + rawOutGoodsView = binding.rawOutGoods; + rawOutGoodsView.setOnFocusChangeListener(this); + + rawOutDetailAdapter = new RawOutDetailAdapter(this); + binding.setDetailAdapter(rawOutDetailAdapter); + } + + private void selectOutOrderCode(String orderCode) { + OkGo.post(url + "/wms/pda/raw/outSelectByOrderCode").params("orderCode", orderCode).execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode() == 200) { + List list = gson.fromJson(body.getDataJson(), new TypeToken>() { + }.getType()); + rawOutDetailAdapter.setList(list); + rawOutDetailAdapter.notifyDataSetChanged(); + sanState = false; + return; + } + sanState = true; + myToastUitls.show(body.getMsg()); + } + }); + } + + + @Override + public void getScannerData(String data) { + super.getScannerData(data); + + if (sanState) { + rawOutCodeView.setText(data); + selectOutOrderCode(data); + return; + } + if (focusView == rawOutLocationView) { + rawOutLocationView.setText(data); + } else if (focusView == rawOutGoodsView) { + rawOutGoodsView.setText(data); + selectBacthCode(data, rawOutLocationView.getText().toString()); + } + + + } + + // 查询物料 + private void selectBacthCode(String bacthCode, String locationCode) { + OkGo.post(url + "/wms/pda/raw/selectInVentoryByBatchCode").params("bacthCode", bacthCode).params("locationCode", locationCode).execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode() == 200) { + List list = gson.fromJson(body.getDataJson(), new TypeToken>() { + }.getType()); + rawOutDetailAdapter.setList(list); + rawOutDetailAdapter.notifyDataSetChanged(); + return; + } + myToastUitls.show(body.getMsg()); + } + }); + } + + @Override + public void onFocusChange(View v, boolean hasFocus) { + if (hasFocus) { + focusView = (EditText) v; + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_select.png b/app/src/main/res/drawable/icon_select.png new file mode 100644 index 0000000..d6127f1 Binary files /dev/null and b/app/src/main/res/drawable/icon_select.png differ diff --git a/app/src/main/res/drawable/spinner_bg.xml b/app/src/main/res/drawable/spinner_bg.xml new file mode 100644 index 0000000..c9e5224 --- /dev/null +++ b/app/src/main/res/drawable/spinner_bg.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_class_item.xml b/app/src/main/res/layout/activity_class_item.xml new file mode 100644 index 0000000..61d7425 --- /dev/null +++ b/app/src/main/res/layout/activity_class_item.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +