From 0b57b2798729172d51585931ba7e8c7e5bd10538 Mon Sep 17 00:00:00 2001 From: wanghao Date: Fri, 7 Feb 2025 20:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=8D=8A=E6=88=90?= =?UTF-8?q?=E5=93=81=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/haiwei_mom/HomePageActivity.java | 3 +- .../com/example/haiwei_mom/MainActivity.java | 1 - .../com/example/haiwei_mom/data/SemiInVo.java | 96 +++++++++++- .../example/haiwei_mom/data/WmsPsmInLoad.java | 90 +++++++++++ .../wms/product/ProductInActivity.java | 69 +++++++-- .../haiwei_mom/wms/semi/SemiInActivity.java | 81 +++++++++- .../main/res/layout/activity_product_in.xml | 22 ++- app/src/main/res/layout/activity_raw_in.xml | 146 +++++++++++++++++- app/src/main/res/layout/activity_semi_in.xml | 123 ++++++++++++--- app/src/main/res/layout/activity_semi_out.xml | 81 +++++++++- 10 files changed, 656 insertions(+), 56 deletions(-) create mode 100644 app/src/main/java/com/example/haiwei_mom/data/WmsPsmInLoad.java 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 e5b4a30..904a133 100644 --- a/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java +++ b/app/src/main/java/com/example/haiwei_mom/HomePageActivity.java @@ -17,6 +17,7 @@ import com.example.haiwei_mom.uitls.SharedPreferencesUtils; 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.RawReturnActivity; import com.example.haiwei_mom.wms.semi.SemiInActivity; import com.example.haiwei_mom.wms.semi.SemiOutActivity; @@ -53,7 +54,7 @@ public class HomePageActivity extends BaseActivity implements ItemClickCall { map.put("入库工装绑定", BindVehicleActivity.class); map.put("成品批量入库", ProductInActivity.class); map.put("成品出库", ProductOutActivity.class); - map.put("原材料入库", RawReturnActivity.class); + map.put("原材料入库", RawInActivity.class); map.put("原材料出库", RawReturnActivity.class); map.put("原材料盘点", RawReturnActivity.class); map.put("原材料退库", RawReturnActivity.class); diff --git a/app/src/main/java/com/example/haiwei_mom/MainActivity.java b/app/src/main/java/com/example/haiwei_mom/MainActivity.java index 3075128..cb3a605 100644 --- a/app/src/main/java/com/example/haiwei_mom/MainActivity.java +++ b/app/src/main/java/com/example/haiwei_mom/MainActivity.java @@ -80,7 +80,6 @@ public class MainActivity extends BaseActivity { var body = response.body(); if (body.getCode() == 200) { String accessToken = JSONObject.parseObject(body.getDataJson()).get("access_token").toString(); - // SharedPreferencesUtils.putstring("access_token", "Bearer "+accessToken); MyApplication.getApplication().setAccessToken("Bearer "+accessToken); boolean remember = loginVm.isRemember(); if (remember) { diff --git a/app/src/main/java/com/example/haiwei_mom/data/SemiInVo.java b/app/src/main/java/com/example/haiwei_mom/data/SemiInVo.java index 681466b..b5c17dc 100644 --- a/app/src/main/java/com/example/haiwei_mom/data/SemiInVo.java +++ b/app/src/main/java/com/example/haiwei_mom/data/SemiInVo.java @@ -1,7 +1,101 @@ package com.example.haiwei_mom.data; +import androidx.databinding.BaseObservable; + +import com.example.haiwei_mom.base.BaseActivity; + +import java.math.BigDecimal; +import java.util.Date; import java.util.Observable; -public class SemiInVo extends Observable { +public class SemiInVo extends BaseObservable { // private String + private Long objId; + + /** + * 流水卡号 + */ + private String cardNo; + + /** + * 工装架子号 + */ + private String shelfNo; + + /** + * 库位id + */ + private Long storePlaceId; + + /** + * 品级编号,0:合格,1:不合格 + */ + private String gradeCode; + + /** + * 产品类别:0:半成品,1:成型 + */ + private String productCategory; + + /** + * 物料 + */ + private Long materialId; + + /** + * 物料规格 + */ + private String materialSpec; + private String materialCode; + + /** + * 入库类型,0:半制品产出,2:入半制品线边库3:入成型线边库 + */ + private String instockType; + + private String createBy; + + private String createTime; + + private double instockNum; + private String storePlaceCode; + private String unitName; + + + public String getCardNo() { + return cardNo; + } + + public String getShelfNo() { + return shelfNo; + } + public void setShelfNo(String shelfNo) { + this.shelfNo= shelfNo; + notifyChange(); + } + + public String getMaterialSpec() { + return materialSpec; + } + + public String getMaterialCode() { + return materialCode; + } + + public double getInstockNum() { + return instockNum; + } + + public String getUnitName() { + return unitName; + } + + + public String getStorePlaceCode() { + return storePlaceCode; + } + + public void setStorePlaceCode(String storePlaceCode) { + this.storePlaceCode = storePlaceCode;notifyChange(); + } } diff --git a/app/src/main/java/com/example/haiwei_mom/data/WmsPsmInLoad.java b/app/src/main/java/com/example/haiwei_mom/data/WmsPsmInLoad.java new file mode 100644 index 0000000..136fc00 --- /dev/null +++ b/app/src/main/java/com/example/haiwei_mom/data/WmsPsmInLoad.java @@ -0,0 +1,90 @@ +package com.example.haiwei_mom.data; + + +import androidx.databinding.BaseObservable; + +import java.util.Date; +import java.util.Observable; + +/** + * 装车架子信息对象 wms_psm_in_load + * + * @author LionLi + * @date 2025-01-15 + */ + +public class WmsPsmInLoad extends BaseObservable { + + + public void setToolingBarcode(String toolingBarcode) { + this.toolingBarcode = toolingBarcode; + notifyChange(); + } + + /** + * 工装条码 + */ + private String toolingBarcode; + + private Long inLoadId; + + /** + * 物料ID + */ + private Long materialId; + + /** + * 轮胎规格 + */ + private String materialSpe; + + /** + * 品级编号 + */ + private String checkGradeCode; + + /** + * 装载数量 + */ + private Long loadAmount; + private String materialCode; + + public String getToolingBarcode() { + return toolingBarcode; + } + + public Long getMaterialId() { + return materialId; + } + + public String getMaterialSpe() { + return materialSpe; + } + + public String getCheckGradeCode() { + return checkGradeCode; + } + + public Long getLoadAmount() { + return loadAmount; + } + + public String getMaterialCode() { + return materialCode; + } + + + /** + * 库位条码 + */ + private String storePlaceCode; + + public String getStorePlaceCode() { + return storePlaceCode; + } + + public void setStorePlaceCode(String storePlaceCode) { + this.storePlaceCode = storePlaceCode; + notifyChange(); + } +} diff --git a/app/src/main/java/com/example/haiwei_mom/wms/product/ProductInActivity.java b/app/src/main/java/com/example/haiwei_mom/wms/product/ProductInActivity.java index 84a40fa..aa57979 100644 --- a/app/src/main/java/com/example/haiwei_mom/wms/product/ProductInActivity.java +++ b/app/src/main/java/com/example/haiwei_mom/wms/product/ProductInActivity.java @@ -14,19 +14,28 @@ import com.example.haiwei_mom.R; 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.WmsPsmInLoad; import com.example.haiwei_mom.databinding.ActivityProductInBinding; import com.lzy.okgo.OkGo; import com.lzy.okgo.model.Response; -public class ProductInActivity extends BaseActivity { +import okhttp3.RequestBody; +public class ProductInActivity extends BaseActivity implements View.OnFocusChangeListener { + private WmsPsmInLoad wmsPsmInLoad; + private EditText productInCode; + private EditText productInLocation;private ActivityProductInBinding binding; @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ActivityProductInBinding binding; + binding = DataBindingUtil.setContentView(this, R.layout.activity_product_in); - var productInCode = binding.productInCode; + productInCode = binding.productInCode; + productInCode.setOnFocusChangeListener(this); + + productInLocation = binding.productInLocation; + productInLocation .setOnFocusChangeListener(this); productInCode.setOnTouchListener((v, event) -> { final int DRAWABLE_RIGHT = 2; if (event.getAction() == MotionEvent.ACTION_UP) { @@ -39,31 +48,71 @@ public class ProductInActivity extends BaseActivity { Log.e("TAG", "onCreate2:" + drawableRightStart); // 判断是否点击了右侧图标 if (x >= drawableRightStart && x <= (productInCode.getWidth() - productInCode.getPaddingRight())) { - + selectVehicleInfo(); return true; } } return false; }); + wmsPsmInLoad = new WmsPsmInLoad(); + binding.setData(wmsPsmInLoad); } @Override public void getScannerData(String data) { super.getScannerData(data); + if (focusedView!=null){ + if (focusedView==productInCode){ + wmsPsmInLoad.setToolingBarcode(data); + selectVehicleInfo(); + }else if (focusedView==productInLocation){ + productInLocation.setText(data); + } + } } - private void selectVehicleInfo(){ - OkGo.post(url+"/wms/pda/product/selectVehicleInfo") - .params("code","") - .execute(new MyRecultCall(dialog,this) { + + private void selectVehicleInfo() { + OkGo.post(url + "/wms/pda/product/selectVehicleInfo") + .params("code", wmsPsmInLoad.getToolingBarcode()) + .execute(new MyRecultCall(dialog, this) { @Override public void onSuccess(Response response) { super.onSuccess(response); - + var body = response.body(); + if (body.getCode()==200){ + wmsPsmInLoad=gson.fromJson(body.getDataJson(),WmsPsmInLoad.class); + binding.setData(wmsPsmInLoad); + } + myToastUitls.show(body.getMsg()); } }); } - public void productInSubmit(View view) { + public void productInSubmit(View view) { + OkGo.post(url + "/wms/pda/product/submitInStoreInfo") + .upRequestBody(RequestBody.create(JSON, gson.toJson(wmsPsmInLoad))) + .execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode()==200){ + wmsPsmInLoad=new WmsPsmInLoad(); + binding.setData(wmsPsmInLoad); + } + myToastUitls.show(body.getMsg()); + } + }); + } + + private EditText focusedView; + + @Override + public void onFocusChange(View v, boolean hasFocus) { + if (hasFocus) { + Log.e("TAG", "onFocusChange:" + v.getId()); + focusedView = (EditText) v; + } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/haiwei_mom/wms/semi/SemiInActivity.java b/app/src/main/java/com/example/haiwei_mom/wms/semi/SemiInActivity.java index 9727367..cf12063 100644 --- a/app/src/main/java/com/example/haiwei_mom/wms/semi/SemiInActivity.java +++ b/app/src/main/java/com/example/haiwei_mom/wms/semi/SemiInActivity.java @@ -3,8 +3,12 @@ package com.example.haiwei_mom.wms.semi; import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; +import android.annotation.SuppressLint; import android.os.Bundle; +import android.util.Log; +import android.view.MotionEvent; import android.view.View; +import android.widget.EditText; import com.example.haiwei_mom.R; import com.example.haiwei_mom.base.BaseActivity; @@ -17,25 +21,88 @@ import com.lzy.okgo.model.Response; import okhttp3.RequestBody; -public class SemiInActivity extends BaseActivity { +public class SemiInActivity extends BaseActivity implements View.OnFocusChangeListener { private SemiInVo semi; - + private EditText semiInVehicle; + private EditText semiInLocation; + private ActivitySemiInBinding binding; + @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ActivitySemiInBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_semi_in); + binding = DataBindingUtil.setContentView(this, R.layout.activity_semi_in); + semiInLocation = binding.semiInLocation; + semiInLocation.setOnFocusChangeListener(this); + semiInVehicle = binding.semiInVehicle; + semiInVehicle.setOnFocusChangeListener(this); + semiInVehicle.setOnTouchListener((v, event) -> { + + if (event.getAction() == MotionEvent.ACTION_UP) { + // 获取触摸的位置 + int x = (int) event.getX(); + if (x >= 464) { + selectVehicleInfo(); + return true; + } + } + return false; + }); + semi=new SemiInVo(); + binding.setData(semi); } - public void semiInSubmit(View view) { - OkGo.post(url + "") - .upRequestBody(RequestBody.create(JSON, gson.toJson(semi))) - .execute(new MyRecultCall(dialog,this) { + private void selectVehicleInfo() { + OkGo.post(url + "/wms/pda/semi/selectVehicleInfo") + .params("code", semi.getShelfNo()).execute(new MyRecultCall(dialog, this) { @Override public void onSuccess(Response response) { super.onSuccess(response); + var body = response.body(); + if (body.getCode()==200){ + semi=gson.fromJson(body.getDataJson(),SemiInVo.class); + binding.setData(semi); + } + myToastUitls.show(body.getMsg()); + } + }); + } + + public void semiInSubmit(View view) { + + OkGo.post(url + "/wms/pda/semi/submitInstore") + .upRequestBody(RequestBody.create(JSON, gson.toJson(semi))) + .execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode()==200){ + finish(); + } + myToastUitls.show(body.getMsg()); } }); } + @Override + public void getScannerData(String data) { + super.getScannerData(data); + if (focusedView!=null){ + + if (focusedView==semiInVehicle){ + semi.setShelfNo(data); + selectVehicleInfo(); + }else if (focusedView==semiInLocation){ + semiInLocation.setText(data); + } + } + } + + private EditText focusedView; + + @Override + public void onFocusChange(View v, boolean hasFocus) { + focusedView = (EditText) v; + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_product_in.xml b/app/src/main/res/layout/activity_product_in.xml index 1ae3129..094f7ed 100644 --- a/app/src/main/res/layout/activity_product_in.xml +++ b/app/src/main/res/layout/activity_product_in.xml @@ -8,6 +8,9 @@ + + android:drawableRight="@mipmap/icon_chaxun" + android:text="@{data.toolingBarcode}"/> @@ -51,12 +55,13 @@ style="@style/text_title" android:layout_width="110dp" android:layout_height="match_parent" - android:text="物料名称:" /> + android:text="物料编码:" /> + android:layout_height="match_parent" + android:text="@{data.materialCode}"/> @@ -76,8 +81,8 @@ - + android:layout_height="match_parent" + android:text="@{data.materialSpe}"/> @@ -96,8 +101,8 @@ - + android:layout_height="match_parent" + android:text='@{String.valueOf(data.loadAmount)??" "}'/> @@ -117,7 +122,8 @@ android:id="@+id/product_in_location" style="@style/text_san" android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="match_parent" + android:text="@={data.storePlaceCode}"/> diff --git a/app/src/main/res/layout/activity_raw_in.xml b/app/src/main/res/layout/activity_raw_in.xml index 6fa8012..60565dc 100644 --- a/app/src/main/res/layout/activity_raw_in.xml +++ b/app/src/main/res/layout/activity_raw_in.xml @@ -1,9 +1,151 @@ - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +