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 3367b4b..5935911 100644 --- a/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/HomePageActivity.java @@ -68,6 +68,7 @@ public class HomePageActivity extends BaseActivity implements ItemClickCall { map.put("半成品入成品库", SemiActivity.class); map.put("物料质检", CheckActivity.class); map.put("物料质检列表", CheckSelectActivity.class); + map.put("不合格处置", CheckSelectActivity.class); } private void initRequest() { @@ -113,6 +114,10 @@ public class HomePageActivity extends BaseActivity implements ItemClickCall { var menuName = menuList.get(position).getMenuName(); var cls = map.get(menuName); if (cls==null) return; - startActivity(new Intent(this, cls)); + var intent = new Intent(this, cls); + if (menuName.equals("物料质检列表")||menuName.equals("不合格处置")){ + intent.putExtra("title",menuName); + } + startActivity(intent); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jingyuan_mes/adapter/check/CheckSelectDetalAdapter.java b/app/src/main/java/com/example/jingyuan_mes/adapter/check/CheckSelectDetalAdapter.java new file mode 100644 index 0000000..46b2d79 --- /dev/null +++ b/app/src/main/java/com/example/jingyuan_mes/adapter/check/CheckSelectDetalAdapter.java @@ -0,0 +1,70 @@ +package com.example.jingyuan_mes.adapter.check; + +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.adapter.ItemClickCall; +import com.example.jingyuan_mes.databinding.ItemCheckSelectBinding; +import com.example.jingyuan_mes.databinding.ItemCheckSelectDetalBinding; +import com.example.jingyuan_mes.entity.check.CheckResult; +import com.example.jingyuan_mes.entity.check.CheckResultDetal; + +import java.util.List; + +/** + * @author wanghao + * @date 2024/1/31 15:18 + */ +public class CheckSelectDetalAdapter extends RecyclerView.Adapter { + private List list; + private Context context; + private LayoutInflater inflater; + private ItemClickCall clickCall; + public CheckSelectDetalAdapter(Context context, ItemClickCall clickCall) { + this.context = context; + this.clickCall = clickCall; + inflater = LayoutInflater.from(context); + } + + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + ItemCheckSelectDetalBinding binding = DataBindingUtil.inflate(inflater, R.layout.item_check_select_detal, parent, false); + return new MyViewHolder(binding); + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + var outstock = list.get(position); + var binding = holder.binding; + binding.setVariable(BR.vm,outstock); + binding.checkSelectDetalClick.setOnClickListener(v -> clickCall.onClick(position)); + } + + @Override + public int getItemCount() { + return list==null?0:list.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + private ItemCheckSelectDetalBinding binding; + + public MyViewHolder(ItemCheckSelectDetalBinding 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 bc5ca7c..ffc2f95 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.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6Ijc5YjM3OWVhLWIxYmYtNGY0Mi05YjcxLWM5MzdkMWM5OTE3MiIsInVzZXJuYW1lIjoiYWRtaW4ifQ.z-aOF4Od5w0FQ_eAbSt-rRNzWha68EtLP1--uq7m5pSd6iNXxbb-EQsUGINC2iZ6I-XGRpCULpwIlH01gcd86Q"; + public String handle = "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjdmNzc2OTQwLWQ3ZTMtNGU3NC1hM2JkLTc3NzlhMmU4MDY4MCIsInVzZXJuYW1lIjoiYWRtaW4ifQ.CJbA82A3QaepkA_qo2agavyqs_38b45yqcbkvdRUlGoMcBMB1SEd6mL-m2wzHKI1BTfeWmCnURbSoZdOllxzGw"; public Context context; @Override protected void onCreate(Bundle savedInstanceState) { diff --git a/app/src/main/java/com/example/jingyuan_mes/check/CheckActivity.java b/app/src/main/java/com/example/jingyuan_mes/check/CheckActivity.java index 023fd54..69e7fec 100644 --- a/app/src/main/java/com/example/jingyuan_mes/check/CheckActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/check/CheckActivity.java @@ -2,7 +2,9 @@ package com.example.jingyuan_mes.check; import androidx.databinding.DataBindingUtil; +import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.Toast; @@ -27,10 +29,17 @@ public class CheckActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - binding = DataBindingUtil.setContentView(this, R.layout.activity_check); adapter = new CheckWorkAdapter(this); binding.setAdapter(adapter); + var intent = getIntent(); + var id = intent.getStringExtra("id"); + if (id!=null){ + var visble = intent.getBooleanExtra("visble", true); + binding.checkSearchLinear.setVisibility(View.GONE); + Log.e("TAG", "传值:" + visble); + searchRequest(null,id, visble); + } } public void checkSubmit(View view) { @@ -51,17 +60,21 @@ public class CheckActivity extends BaseActivity { } public void checkSearch(View view) { var serchText = binding.checkSearchText.getText().toString(); + searchRequest(serchText,null,true); + } + private void searchRequest(String serchText,String id,boolean status){ OkGo.get(url + "/qms/mobile/getCheckResultDetail") .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) .params("materialBarcode", serchText) + .params("checkResultDetailId", id) .execute(new MyRecultCall(dialog, this) { @Override public void onSuccess(Response response) { super.onSuccess(response); var body = response.body(); if (body.getCode() == 200) { - checkResult = gson.fromJson(body.getData().toString(), CheckResult.class); + checkResult.setVisbleStatus(status); binding.setVm(checkResult); adapter.setList(checkResult.getQmsCheckResultDetailProjectList()); adapter.notifyDataSetChanged(); diff --git a/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectActivity.java b/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectActivity.java index a48ff5a..dc982d1 100644 --- a/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectActivity.java @@ -25,15 +25,20 @@ import java.util.List; public class CheckSelectActivity extends BaseActivity implements ItemClickCall { private List list; private CheckSelectAdapter adapter; - private Intent intent; - + private Intent intent1; + private String title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityCheckSelectBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_check_select); adapter = new CheckSelectAdapter(this, this); binding.setAdapter(adapter); - intent = new Intent(this, CheckSelectDetalActivity.class); + var intent = getIntent(); + + title = intent.getStringExtra("title"); + binding.setTitle(title); + intent1 = new Intent(this, title.equals("物料质检列表")?CheckSelectDetalActivity.class:CheckSelectDetalActivity.class); + } @Override @@ -41,6 +46,7 @@ public class CheckSelectActivity extends BaseActivity implements ItemClickCall { super.onResume(); OkGo.get(url + "/qms/mobile/getCheckResults").tag(this) .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) + .params("checkStatus", title.equals("物料质检列表")?null:"3") .execute(new MyRecultCall(dialog, this) { @SuppressLint("NotifyDataSetChanged") @Override @@ -67,13 +73,13 @@ public class CheckSelectActivity extends BaseActivity implements ItemClickCall { public void onClick(int position) { var checkResult = list.get(position); var checkResultId = checkResult.getCheckResultId(); - var checkMode = checkResult.getCheckMode(); + var checkMode = checkResult.getCheckModeText(); var checkSample = checkResult.getCheckSample(); var materialBatch = checkResult.getMaterialBatch(); - intent.putExtra("checkResultId",checkResultId); - intent.putExtra("checkMode",checkMode); - intent.putExtra("checkSample",checkSample); - intent.putExtra("materialBatch",materialBatch); - startActivity(intent); + intent1.putExtra("checkResultId",checkResultId); + intent1.putExtra("checkMode",checkMode); + intent1.putExtra("checkSample",checkSample); + intent1.putExtra("materialBatch",materialBatch); + startActivity(intent1); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectDetalActivity.java b/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectDetalActivity.java index 7140cff..4c96e93 100644 --- a/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectDetalActivity.java +++ b/app/src/main/java/com/example/jingyuan_mes/check/CheckSelectDetalActivity.java @@ -9,6 +9,9 @@ import android.view.View; import android.widget.Toast; import com.example.jingyuan_mes.R; +import com.example.jingyuan_mes.adapter.ItemClickCall; +import com.example.jingyuan_mes.adapter.check.CheckSelectAdapter; +import com.example.jingyuan_mes.adapter.check.CheckSelectDetalAdapter; import com.example.jingyuan_mes.base.BaseActivity; import com.example.jingyuan_mes.base.MyRecultCall; import com.example.jingyuan_mes.base.MyResult; @@ -28,14 +31,19 @@ import java.util.Map; import okhttp3.RequestBody; -public class CheckSelectDetalActivity extends BaseActivity { +public class CheckSelectDetalActivity extends BaseActivity implements ItemClickCall { private ActivityCheckSelectDetalBinding binding; private List list; + private CheckSelectDetalAdapter checkSelectDetalAdapter; + private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.activity_check_select_detal); + checkSelectDetalAdapter = new CheckSelectDetalAdapter(this, this); + binding.setAdapter(checkSelectDetalAdapter); + intent = new Intent(this, CheckActivity.class); } public void checkSelectSubmit2(View view) { @@ -50,20 +58,17 @@ public class CheckSelectDetalActivity extends BaseActivity { Map map = new HashMap<>(); map.put("checkResultId", String.valueOf(checkResultId)); map.put("checkStatus", status); - OkGo.post(url + "/wms/mobile/auditCheckResult") - .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) { - finish(); - } - Toast.makeText(context, body.getMsg(), Toast.LENGTH_SHORT).show(); - } - }); + OkGo.post(url + "/qms/mobile/auditCheckResult").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) { + finish(); + } + Toast.makeText(context, body.getMsg(), Toast.LENGTH_SHORT).show(); + } + }); } @@ -75,42 +80,45 @@ public class CheckSelectDetalActivity extends BaseActivity { var intent = getIntent(); checkResultId = intent.getIntExtra("checkResultId", 0); - OkGo.get(url + "/qms/mobile/getCheckResult").tag(this) - .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) - .params("checkResultId", checkResultId) - .params("materialBatch", intent.getStringExtra("materialBatch")) - .params("checkMode", intent.getStringExtra("checkMode")) - .params("checkSample", intent.getStringExtra("checkSample")) - .execute(new MyRecultCall(dialog, this) { - @Override - public void onSuccess(Response response) { - super.onSuccess(response); - var body = response.body(); - if (body.getCode() == 200) { - CheckResultDetailVo checkResultDetailVo = gson.fromJson(body.getData().toString(), CheckResultDetailVo.class); - binding.setVm(checkResultDetailVo); - - } - Toast.makeText(context, body.getMsg(), Toast.LENGTH_SHORT).show(); - } - }); - OkGo.get(url + "/qms/mobile/getCheckResultDetails").tag(this) - .headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")) - .params("checkResultId", checkResultId) - .execute(new MyRecultCall(dialog, this) { - @Override - public void onSuccess(Response response) { - super.onSuccess(response); - var body = response.body(); - if (body.getTotal() == 0) { - Toast.makeText(context, body.getCode() == 200 ? "暂无审批数据" : body.getMsg(), Toast.LENGTH_SHORT).show(); - return; - } - list = gson.fromJson(gson.toJson(body.getRows()), new TypeToken>() { - }.getType()); - } - }); + OkGo.get(url + "/qms/mobile/getCheckResult").tag(this).headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")).params("checkResultId", checkResultId).params("materialBatch", intent.getStringExtra("materialBatch")).params("checkMode", intent.getStringExtra("checkMode")).params("checkSample", intent.getStringExtra("checkSample")).execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getCode() == 200) { + CheckResultDetailVo checkResultDetailVo = gson.fromJson(body.getData().toString(), CheckResultDetailVo.class); + binding.setVm(checkResultDetailVo); + + } + Toast.makeText(context, body.getMsg(), Toast.LENGTH_SHORT).show(); + } + }); + OkGo.get(url + "/qms/mobile/getCheckResultDetails").tag(this).headers("Authorization", SharedPreferencesUtils.getstring("access_token", "")).params("checkResultId", checkResultId).execute(new MyRecultCall(dialog, this) { + @Override + public void onSuccess(Response response) { + super.onSuccess(response); + var body = response.body(); + if (body.getTotal() == 0) { + Toast.makeText(context, body.getCode() == 200 ? "暂无审批数据" : body.getMsg(), Toast.LENGTH_SHORT).show(); + return; + } + list = gson.fromJson(gson.toJson(body.getRows()), new TypeToken>() { + }.getType()); + checkSelectDetalAdapter.setList(list); + checkSelectDetalAdapter.notifyDataSetChanged(); + } + }); } + + @Override + public void onClick(int position) { + var checkResultDetal = list.get(position); + var checkResultDetailId = checkResultDetal.getCheckResultDetailId(); + var checkStatus = checkResultDetal.getCheckStatus(); + intent.putExtra("id", String.valueOf(checkResultDetailId)); + intent.putExtra("visble", (checkStatus.equals("待检验") || checkStatus.equals("检验中"))); + startActivity(intent); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResult.java b/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResult.java index 97edd31..40b8aa3 100644 --- a/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResult.java +++ b/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResult.java @@ -46,6 +46,36 @@ public class CheckResult extends BaseObservable { private String materialName; private String poNo; private String saleorderCode; + private String materialType; + + + private boolean visbleStatus=true; + + public boolean isVisbleStatus() { + return visbleStatus; + } + + public void setVisbleStatus(boolean visbleStatus) { + this.visbleStatus = visbleStatus; + notifyChange(); + } + + public String getMaterialType() { + + switch (materialType){ + case "1" : return "原材料"; + case "2" : return "半成品"; + case "3" : return "成品"; + } + + + return null; + } + + public void setMaterialType(String materialType) { + this.materialType = materialType; + } + private List qmsCheckResultDetailProjectList; /** * 批次号 @@ -122,6 +152,10 @@ public class CheckResult extends BaseObservable { return checkMode.equals("1") ? "全检" : "抽检"; } + public String getCheckModeText() { + + return checkMode; + } public void setCheckMode(String checkMode) { this.checkMode = checkMode; diff --git a/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResultDetal.java b/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResultDetal.java index bb39b03..f7e700d 100644 --- a/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResultDetal.java +++ b/app/src/main/java/com/example/jingyuan_mes/entity/check/CheckResultDetal.java @@ -5,6 +5,8 @@ import android.util.Log; import androidx.databinding.BaseObservable; +import java.util.Date; + /** * @author wanghao * @date 2024/3/1 9:27 @@ -60,6 +62,63 @@ public class CheckResultDetal extends BaseObservable { private String checkStatusShow; + + private String checkStatus; + /** 创建者 */ + private String createBy; + + /** 创建时间 */ + private String createTime; + + private String materialCode; + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCheckStatus() { + switch (checkStatus) { + case "0": + setCheckStatus("待检验"); + break; + case "1": + setCheckStatus("检验中"); + break; + case "2": + setCheckStatus("质检通过"); + break; + case "3": + setCheckStatus("质检不通过"); + break; + + } + return checkStatus; + } + + public void setCheckStatus(String checkStatus) { + this.checkStatus = checkStatus; + } + public int getIndex() { return index; } diff --git a/app/src/main/res/drawable/ic_xl.png b/app/src/main/res/drawable/ic_xl.png new file mode 100644 index 0000000..9446e21 Binary files /dev/null and b/app/src/main/res/drawable/ic_xl.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..720c6c3 --- /dev/null +++ b/app/src/main/res/drawable/spinner_bg.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_check.xml b/app/src/main/res/layout/activity_check.xml index 800695a..814f1e0 100644 --- a/app/src/main/res/layout/activity_check.xml +++ b/app/src/main/res/layout/activity_check.xml @@ -13,6 +13,7 @@ + + android:text="检验规则:" /> + android:layout_weight="1" + android:text="@{vm.checkRuleName}" /> + + + + + android:text="@{vm.materialCode}" /> + android:text="@{vm.materialName}" /> + android:text="@{vm.checkMode}" /> + android:text="@{vm.checkStatus}" /> diff --git a/app/src/main/res/layout/activity_check_select.xml b/app/src/main/res/layout/activity_check_select.xml index 693d6be..db5955e 100644 --- a/app/src/main/res/layout/activity_check_select.xml +++ b/app/src/main/res/layout/activity_check_select.xml @@ -28,8 +28,10 @@ + android:layout_marginStart="10dp" + android:layout_marginTop="10dp" + android:layout_marginEnd="10dp" + android:background="@drawable/spinner_bg" /> + type="com.example.jingyuan_mes.adapter.check.CheckSelectDetalAdapter" /> + android:text='@{vm.materialType + "检验" }' /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file