From e183334d6324d6d3f1efa7abdb43bae21d1c9089 Mon Sep 17 00:00:00 2001 From: wangh <123456> Date: Wed, 28 Feb 2024 17:25:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E5=8D=8A=E6=88=90?= =?UTF-8?q?=E5=93=81=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jingyuan_mes/HomePageActivity.java | 3 +- .../jingyuan_mes/adapter/ItemSemiAdapter.java | 66 +++++ .../jingyuan_mes/base/BaseActivity.java | 2 +- .../com/example/jingyuan_mes/entity/Semi.java | 243 ++++++++++++++++++ .../jingyuan_mes/store/SemiActivity.java | 79 +++++- .../store/SemiFinishedActivity.java | 16 -- app/src/main/res/layout/activity_semi.xml | 89 ++++--- .../res/layout/activity_semi_finished.xml | 20 -- app/src/main/res/layout/item_semi.xml | 166 ++++++++++++ app/src/main/res/values/themes.xml | 13 + 10 files changed, 619 insertions(+), 78 deletions(-) create mode 100644 app/src/main/java/com/example/jingyuan_mes/adapter/ItemSemiAdapter.java create mode 100644 app/src/main/java/com/example/jingyuan_mes/entity/Semi.java delete mode 100644 app/src/main/java/com/example/jingyuan_mes/store/SemiFinishedActivity.java delete mode 100644 app/src/main/res/layout/activity_semi_finished.xml create mode 100644 app/src/main/res/layout/item_semi.xml diff --git a/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java b/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java index ea5a625..bec5b8e 100644 --- a/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java @@ -23,6 +23,7 @@ import com.example.jingyuan_mes.store.ProductInActivity; import com.example.jingyuan_mes.store.ProductOutActivity; import com.example.jingyuan_mes.store.ProductOutApplyActivity; import com.example.jingyuan_mes.store.ProductOutConfirmActivity; +import com.example.jingyuan_mes.store.SemiActivity; import com.example.jingyuan_mes.store.StockreturnActivity; import com.example.jingyuan_mes.store.StockreturnConfirmActivity; import com.example.jingyuan_mes.uitls.SharedPreferencesUtils; @@ -63,7 +64,7 @@ public class HomePageActivity extends BaseActivity implements ItemClickCall { map.put("成品出库申请", ProductOutApplyActivity.class); map.put("成品出库", ProductOutActivity.class); map.put("成品出库确认", ProductOutConfirmActivity.class); - map.put("半成品入成品库", ProductOutConfirmActivity.class); + map.put("半成品入成品库", SemiActivity.class); } private void initRequest() { diff --git a/app/src/main/java/com/example/jingyuan_mes/adapter/ItemSemiAdapter.java b/app/src/main/java/com/example/jingyuan_mes/adapter/ItemSemiAdapter.java new file mode 100644 index 0000000..e22cf16 --- /dev/null +++ b/app/src/main/java/com/example/jingyuan_mes/adapter/ItemSemiAdapter.java @@ -0,0 +1,66 @@ +package com.example.jingyuan_mes.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.jingyuan_mes.BR; +import com.example.jingyuan_mes.R; +import com.example.jingyuan_mes.databinding.ItemReturnListBinding; +import com.example.jingyuan_mes.databinding.ItemSemiBinding; +import com.example.jingyuan_mes.entity.RawReturn; +import com.example.jingyuan_mes.entity.Semi; + +import java.util.List; + +/** + * @author wanghao + * @date 2024/1/31 15:18 + */ +public class ItemSemiAdapter extends RecyclerView.Adapter { + private List list; + private Context context; + private LayoutInflater inflater; + public ItemSemiAdapter(Context context) { + this.context = context; + inflater = LayoutInflater.from(context); + } + + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public ItemtViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + ItemSemiBinding binding = DataBindingUtil.inflate(inflater, R.layout.item_semi, parent, false); + return new ItemtViewHolder(binding); + } + + @Override + public void onBindViewHolder(@NonNull ItemtViewHolder holder, int position) { + var rawReturn = list.get(position); + var binding = holder.binding; + binding.setVariable(BR.vm,rawReturn); + } + + @Override + public int getItemCount() { + return list==null?0:list.size(); + } + + class ItemtViewHolder extends RecyclerView.ViewHolder { + private ItemSemiBinding binding; + + public ItemtViewHolder(ItemSemiBinding binding) { + super(binding.getRoot()); + this.binding = binding; + } + + + } +} diff --git a/app/src/main/java/com/example/jingyuan_mes/base/BaseActivity.java b/app/src/main/java/com/example/jingyuan_mes/base/BaseActivity.java index ecaba2f..97824a6 100644 --- a/app/src/main/java/com/example/jingyuan_mes/base/BaseActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/base/BaseActivity.java @@ -30,7 +30,7 @@ public class BaseActivity extends AppCompatActivity { public Gson gson; public MediaType JSON = MediaType.parse("application/json; charset=utf-8"); private MyReceiver myReceiver; - public String handle = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6ImVjNTExZWRmLTFhZmUtNGM3NC1hYzY0LWE0NDAzNGYyNjViZCIsInVzZXJuYW1lIjoiYWRtaW4ifQ.o5gRcCOrE9xBzwgy5-emClML29gWyuS9sYW12Nd9XvJrUVBEcrDvemHGIsUm_SVsGuZYPAWjMPN0zSARQ5UHvw"; + public String handle = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjViOTgxMWFlLWMzNTMtNDhhZC1hMjlkLTM0MzAwNThhYTI2OCIsInVzZXJuYW1lIjoiYWRtaW4ifQ.w5QX9R4ca6IanVpP_zOY2xG0ed8f2z3z6nBYuN2B9ng2wjd3Js_FH1jDUKx9QPManOy38mM4GslQkqTxJX1D2A"; public Context context; @Override protected void onCreate(Bundle savedInstanceState) { diff --git a/app/src/main/java/com/example/jingyuan_mes/entity/Semi.java b/app/src/main/java/com/example/jingyuan_mes/entity/Semi.java new file mode 100644 index 0000000..85830b1 --- /dev/null +++ b/app/src/main/java/com/example/jingyuan_mes/entity/Semi.java @@ -0,0 +1,243 @@ +package com.example.jingyuan_mes.entity; + +import androidx.databinding.BaseObservable; + +/** + * 转库记录对象 wmstransfer + */ +public class Semi extends BaseObservable { + /** + * 转库记录ID + */ + private Long transferId; + /** + * 任务编号 + */ + private String taskCode; + /** + * 原仓库ID + */ + private Long oriWarehouseId; + /** + * 原库位编码 + */ + private String oriLocationCode; + + /** + * 目标仓库ID + */ + private Long targetWarehouseId; + /** + * 目标库位编码 + */ + private String targetLocationCode; + /** + * 物料ID + */ + private Long materialId; + /** + * 产品批次号 + */ + private String productBatch; + + /** + * 计划编号,关联pd_base_plan_info的plan_code + */ + private String planCode; + /** + * 申请数量 + */ + private int applyQty; + /** + * 已出数量 + */ + private int outstockQty; + /** + * 已入数量 + */ + private int instockQty; + /** + * 转库类型(1、出半成品库入成品库) + */ + private String transferType; + + /** + * 申请原因 + */ + private String applyReason; + + + /** + * 申请人 + */ + private String applyBy; + + /** + * 申请时间 + */ + private String applyDate; + private String oriWarehouseName; + private String targetWarehouseName; + private String materialCode; + private String materialName; + + public Long getTransferId() { + return transferId; + } + + public void setTransferId(Long transferId) { + this.transferId = transferId; + } + + public String getTaskCode() { + return taskCode; + } + + public void setTaskCode(String taskCode) { + this.taskCode = taskCode; + } + + public Long getOriWarehouseId() { + return oriWarehouseId; + } + + public void setOriWarehouseId(Long oriWarehouseId) { + this.oriWarehouseId = oriWarehouseId; + } + + public String getOriLocationCode() { + return oriLocationCode; + } + + public void setOriLocationCode(String oriLocationCode) { + this.oriLocationCode = oriLocationCode; + } + + public Long getTargetWarehouseId() { + return targetWarehouseId; + } + + public void setTargetWarehouseId(Long targetWarehouseId) { + this.targetWarehouseId = targetWarehouseId; + } + + public String getTargetLocationCode() { + return targetLocationCode; + } + + public void setTargetLocationCode(String targetLocationCode) { + this.targetLocationCode = targetLocationCode; + } + + public Long getMaterialId() { + return materialId; + } + + public void setMaterialId(Long materialId) { + this.materialId = materialId; + } + + public String getProductBatch() { + return productBatch; + } + + public void setProductBatch(String productBatch) { + this.productBatch = productBatch; + } + + public String getPlanCode() { + return planCode; + } + + public void setPlanCode(String planCode) { + this.planCode = planCode; + } + + public int getApplyQty() { + return applyQty; + } + + public void setApplyQty(int applyQty) { + this.applyQty = applyQty; + } + + public int getOutstockQty() { + return outstockQty; + } + + public void setOutstockQty(int outstockQty) { + this.outstockQty = outstockQty; + } + + public int getInstockQty() { + return instockQty; + } + + public void setInstockQty(int instockQty) { + this.instockQty = instockQty; + } + + public String getTransferType() { + return transferType; + } + + public void setTransferType(String transferType) { + this.transferType = transferType; + } + + public String getApplyReason() { + return applyReason; + } + + public void setApplyReason(String applyReason) { + this.applyReason = applyReason; + } + + public String getApplyBy() { + return applyBy; + } + + public void setApplyBy(String applyBy) { + this.applyBy = applyBy; + } + + public String getApplyDate() { + return applyDate; + } + + public void setApplyDate(String applyDate) { + this.applyDate = applyDate; + } + + public String getOriWarehouseName() { + return oriWarehouseName; + } + + public void setOriWarehouseName(String oriWarehouseName) { + this.oriWarehouseName = oriWarehouseName; + } + + public String getTargetWarehouseName() { + return targetWarehouseName; + } + + public void setTargetWarehouseName(String targetWarehouseName) { + this.targetWarehouseName = targetWarehouseName; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } +} diff --git a/app/src/main/java/com/example/jingyuan_mes/store/SemiActivity.java b/app/src/main/java/com/example/jingyuan_mes/store/SemiActivity.java index 8e3efbd..85bf0c2 100644 --- a/app/src/main/java/com/example/jingyuan_mes/store/SemiActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/store/SemiActivity.java @@ -1,16 +1,91 @@ package com.example.jingyuan_mes.store; import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; +import androidx.databinding.ObservableField; import android.os.Bundle; +import android.widget.Toast; import com.example.jingyuan_mes.R; +import com.example.jingyuan_mes.adapter.ItemSemiAdapter; +import com.example.jingyuan_mes.base.BaseActivity; +import com.example.jingyuan_mes.base.MyRecultCall; +import com.example.jingyuan_mes.base.MyResult; +import com.example.jingyuan_mes.databinding.ActivitySemiBinding; +import com.example.jingyuan_mes.entity.RawReturn; +import com.example.jingyuan_mes.entity.Semi; +import com.example.jingyuan_mes.uitls.SharedPreferencesUtils; +import com.google.gson.reflect.TypeToken; +import com.lzy.okgo.OkGo; +import com.lzy.okgo.model.Response; -public class SemiActivity extends AppCompatActivity { +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import okhttp3.RequestBody; + +public class SemiActivity extends BaseActivity { + private ItemSemiAdapter adapter; + private List list; + public ObservableField locationCode; + public ObservableField proCode; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_semi); + ActivitySemiBinding binding= DataBindingUtil.setContentView(this,R.layout.activity_semi); + adapter=new ItemSemiAdapter(this); + binding.setAdapter(adapter); + locationCode=new ObservableField<>(); + proCode=new ObservableField<>(); + binding.setVm(this); + + initRequest(); + } + + private void initRequest() { + OkGo.get(url + "/wms/mobile/getTransfers").tag(this) + .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) + .execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getTotal()==0) { + if (list != null) { + list.clear(); + adapter.notifyDataSetChanged(); + } + Toast.makeText(context, body.getCode() == 200 ? "暂无审批数据" : body.getMsg(), Toast.LENGTH_SHORT).show(); + return; + } + list = gson.fromJson(gson.toJson(body.getRows()), new TypeToken>() {}.getType()); + adapter.setList(list); + adapter.notifyDataSetChanged(); + } + }); + + + } + public void submit(boolean b){ + Map map=new HashMap<>(); + map.put("locationCode",locationCode.get()); + map.put("materialBarcode",proCode.get()); + OkGo.post(url+"/wms/mobile/"+(b?"transferOutstock":"transferInstock")) + .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) + .upRequestBody(RequestBody.create(JSON,gson.toJson(map))) + .execute(new MyRecultCall(dialog,this){ + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode()==200){ + initRequest(); + } + Toast.makeText(context, body.getMsg(), Toast.LENGTH_SHORT).show(); + } + }); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jingyuan_mes/store/SemiFinishedActivity.java b/app/src/main/java/com/example/jingyuan_mes/store/SemiFinishedActivity.java deleted file mode 100644 index eecd74b..0000000 --- a/app/src/main/java/com/example/jingyuan_mes/store/SemiFinishedActivity.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.jingyuan_mes.store; - -import androidx.appcompat.app.AppCompatActivity; - -import android.os.Bundle; - -import com.example.jingyuan_mes.R; - -public class SemiFinishedActivity extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_semi_finished); - } -} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_semi.xml b/app/src/main/res/layout/activity_semi.xml index fc8406e..239f094 100644 --- a/app/src/main/res/layout/activity_semi.xml +++ b/app/src/main/res/layout/activity_semi.xml @@ -4,15 +4,18 @@ xmlns:tools="http://schemas.android.com/tools"> + + + type="com.example.jingyuan_mes.store.SemiActivity" /> + + type="com.example.jingyuan_mes.adapter.ItemSemiAdapter" /> - + + + + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> + android:layout_height="45dp"> - + android:text="扫描库位:" /> + android:text="@={vm.locationCode}" /> + android:layout_height="45dp" + android:layout_marginTop="12dp"> + android:text="扫描物料:" /> + + android:layout_height="match_parent" + android:text="@={vm.proCode}" /> - + android:layout_height="40dp" + android:layout_margin="12dp" + android:orientation="horizontal"> - + android:layout_weight="1" + android:background="@drawable/button_bg" + android:text="申请" /> - + android:layout_weight="1" /> - +