提交 457507ed authored 作者: lgd's avatar lgd

1.添加质量追溯

2.//TODO 坩埚下单,mes其他页面,mes用户反馈空也展示,编辑任务担当无法修改
上级 4d6b564b
...@@ -2168,6 +2168,14 @@ ...@@ -2168,6 +2168,14 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/Work.Base" android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.mes.QualityTraceabilityDetailActivity"
android:configChanges="keyboardHidden|orientation"
android:label="质量追溯详情"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.wd.workoffice.fileprovider" android:authorities="com.wd.workoffice.fileprovider"
......
package com.wd.workoffice.bean.mesBean;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class DispatchBean {
/**
* id : 434da80291be41b298e9018079e7ae17
* createDateTime : 1587723181000
* updateDateTime : 1586916721000
* workStepId :
* workStepName : null
* workStepCode : null
* workStepType : null
* basketId : xxx
* serialNumber : null
* basketCode : null
* productionStatus : 1
* createUserId : 398c852b38e911ea8334fa163e1166bd
* createUserName : hello
* teamId :
* teamName :
* teamCode :
* procedureId : 0407249a9ff511ea8334fa163e1166bd
* procedureName : 喷涂(勿删)
* procedureCode : PT
* assetId : 9daab57f312d11ea8334fa163e1166bd
* assetName : 坩埚制料生产线
* assetCode : 02990018
* reportDate : 1587723181000
* delete : false
*/
private String id;
private long createDateTime;
private long updateDateTime;
private String workStepId;
private Object workStepName;
private Object workStepCode;
private Object workStepType;
private String basketId;
private Object serialNumber;
private Object basketCode;
private String productionStatus;
private String createUserId;
private String createUserName;
private String teamId;
private String teamName;
private String teamCode;
private String procedureId;
private String procedureName;
private String procedureCode;
private String assetId;
private String assetName;
private String assetCode;
private long reportDate;
private boolean delete;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public long getCreateDateTime() {
return createDateTime;
}
public void setCreateDateTime(long createDateTime) {
this.createDateTime = createDateTime;
}
public long getUpdateDateTime() {
return updateDateTime;
}
public void setUpdateDateTime(long updateDateTime) {
this.updateDateTime = updateDateTime;
}
public String getWorkStepId() {
return workStepId;
}
public void setWorkStepId(String workStepId) {
this.workStepId = workStepId;
}
public Object getWorkStepName() {
return workStepName;
}
public void setWorkStepName(Object workStepName) {
this.workStepName = workStepName;
}
public Object getWorkStepCode() {
return workStepCode;
}
public void setWorkStepCode(Object workStepCode) {
this.workStepCode = workStepCode;
}
public Object getWorkStepType() {
return workStepType;
}
public void setWorkStepType(Object workStepType) {
this.workStepType = workStepType;
}
public String getBasketId() {
return basketId;
}
public void setBasketId(String basketId) {
this.basketId = basketId;
}
public Object getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(Object serialNumber) {
this.serialNumber = serialNumber;
}
public Object getBasketCode() {
return basketCode;
}
public void setBasketCode(Object basketCode) {
this.basketCode = basketCode;
}
public String getProductionStatus() {
return productionStatus;
}
public void setProductionStatus(String productionStatus) {
this.productionStatus = productionStatus;
}
public String getCreateUserId() {
return createUserId;
}
public void setCreateUserId(String createUserId) {
this.createUserId = createUserId;
}
public String getCreateUserName() {
return createUserName;
}
public void setCreateUserName(String createUserName) {
this.createUserName = createUserName;
}
public String getTeamId() {
return teamId;
}
public void setTeamId(String teamId) {
this.teamId = teamId;
}
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
public String getTeamCode() {
return teamCode;
}
public void setTeamCode(String teamCode) {
this.teamCode = teamCode;
}
public String getProcedureId() {
return procedureId;
}
public void setProcedureId(String procedureId) {
this.procedureId = procedureId;
}
public String getProcedureName() {
return procedureName;
}
public void setProcedureName(String procedureName) {
this.procedureName = procedureName;
}
public String getProcedureCode() {
return procedureCode;
}
public void setProcedureCode(String procedureCode) {
this.procedureCode = procedureCode;
}
public String getAssetId() {
return assetId;
}
public void setAssetId(String assetId) {
this.assetId = assetId;
}
public String getAssetName() {
return assetName;
}
public void setAssetName(String assetName) {
this.assetName = assetName;
}
public String getAssetCode() {
return assetCode;
}
public void setAssetCode(String assetCode) {
this.assetCode = assetCode;
}
public long getReportDate() {
return reportDate;
}
public void setReportDate(long reportDate) {
this.reportDate = reportDate;
}
public boolean isDelete() {
return delete;
}
public void setDelete(boolean delete) {
this.delete = delete;
}
}
...@@ -565,5 +565,19 @@ public interface MesApiService { ...@@ -565,5 +565,19 @@ public interface MesApiService {
*/ */
@POST("/himes/api/mpsProduct/show/getMpsProductByBasket/list.json") @POST("/himes/api/mpsProduct/show/getMpsProductByBasket/list.json")
Observable<BaseMesBean> getMpsProductByBasket(@Query("functionId") String functionId, @Body RequestBody requestBody); Observable<BaseMesBean> getMpsProductByBasket(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* 用户信息采集历史详情
* @return
*/
@POST("/himes/api/quality/show/productBy/productMud.json")
Observable<BaseMesBean> productMud(@Query("functionId") String functionId, @Body RequestBody requestBody);
/**
* 用户信息采集历史详情
* @return
*/
@POST("/himes/api/quality/show/productBy/dispatchDetail.json")
Observable<BaseMesBean> dispatchDetail(@Query("functionId") String functionId, @Body RequestBody requestBody);
} }
...@@ -177,7 +177,7 @@ public class AddCrucibleConfirmActivity extends WorkToolBarActivity { ...@@ -177,7 +177,7 @@ public class AddCrucibleConfirmActivity extends WorkToolBarActivity {
data.put("innerPrice", recordsBean.getInternalPrice()); data.put("innerPrice", recordsBean.getInternalPrice());
data.put("customerBranchFactoryId", recordsBean.getFactoryId());//3.分厂客户ID data.put("customerBranchFactoryId", recordsBean.getFactoryId());//3.分厂客户ID
data.put("outerPrice", recordsBean.getCarPrice()); data.put("outerPrice", recordsBean.getCarPrice());
data.put("productCount", recordsBean.getCarDoubleNum()); data.put("productCount", recordsBean.getCarNum());
data.put("annex", recordsBean.getUrl()); data.put("annex", recordsBean.getUrl());
orderItems.add(data); orderItems.add(data);
} }
......
...@@ -139,21 +139,11 @@ public class QualityTraceabilityActivity extends WorkBaseActivity { ...@@ -139,21 +139,11 @@ public class QualityTraceabilityActivity extends WorkBaseActivity {
param.put("pageNum", page); param.put("pageNum", page);
getData(); getData();
}, rvData); }, rvData);
dataAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override @Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
switch (view.getId()) { startActivity(QualityTraceabilityDetailActivity.class, "info",
case R.id.ll_num:
startActivity(WorkWarehouseStockNumActivity.class, "detail",
JSON.toJSONString(dataList.get(position))); JSON.toJSONString(dataList.get(position)));
break;
case R.id.tv_detail:
startActivity(WorkWarehouseStockDetailActivity.class, "id", dataList.get(position).getId() + "");
break;
case R.id.tv_flow:
startActivity(WorkWarehouseStockFlowActivity.class, "id", dataList.get(position).getId() + "");
break;
}
} }
}); });
} }
......
package com.wd.workoffice.ui.activity.mes;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseMesBean;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.mesBean.DispatchBean;
import com.wd.workoffice.bean.mesBean.QualityTraceabilityBean;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.work.WorkWarehouseStockNumActivity;
import com.wd.workoffice.ui.adapter.QualityDispatchAdapter;
import com.wd.workoffice.ui.adapter.QualityTraceabilityAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class QualityTraceabilityDetailActivity extends WorkToolBarActivity {
@BindView(R.id.tv_no)
TextView tvNo;
@BindView(R.id.tv_status)
TextView tvStatus;
@BindView(R.id.tv_single_code)
TextView tvSingleCode;
@BindView(R.id.tv_pro_name)
TextView tvProName;
@BindView(R.id.tv_pro_code)
TextView tvProCode;
@BindView(R.id.tv_img_code)
TextView tvImgCode;
@BindView(R.id.tv_spec)
TextView tvSpec;
@BindView(R.id.tv_box_num)
TextView tvBoxNum;
@BindView(R.id.tv_factory_name)
TextView tvFactoryName;
@BindView(R.id.tv_factory_code)
TextView tvFactoryCode;
@BindView(R.id.tv_code)
TextView tvCode;
@BindView(R.id.tv_version)
TextView tvVersion;
@BindView(R.id.tv_pro)
TextView tvPro;
@BindView(R.id.rv_mud)
RecyclerView rvMud;
@BindView(R.id.rv_dispatch)
RecyclerView rvDispatch;
private Map<String, Object> param;
private List<DispatchBean> dispatchList;
private QualityDispatchAdapter dispatchAdapter;
private QualityTraceabilityBean.ListBean info;
@Override
protected void initView() {
ButterKnife.bind(this);
rvDispatch.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
rvMud.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
info = JSON.parseObject(getIntent().getStringExtra("info"), QualityTraceabilityBean.ListBean.class);
tvNo.setText(String.format("订单号:%s", info.getOrderNumber()));
tvSingleCode.setText(info.getSerialNumber());
tvProName.setText(info.getProductName());
tvProCode.setText(info.getProductCode());
tvImgCode.setText(info.getDrawingNumber());
tvSpec.setText(info.getSpecification());
tvBoxNum.setText(info.getBoxNumber());
tvFactoryName.setText(info.getSiteName());
tvFactoryCode.setText(info.getSiteCode());
tvCode.setText(info.getManufactureOrderNumber());
tvVersion.setText(info.getVerson());
tvPro.setText(info.getSeriesName());
dispatchList = new ArrayList<>();
dispatchAdapter = new QualityDispatchAdapter(R.layout.item_quality_traceability_dispatch, dispatchList);
dispatchAdapter.bindToRecyclerView(rvDispatch);
param = WorkUtils.simpleParam();
param.put("orderId", info.getOrderId());
param.put("productId", info.getProductId());
getData();
}
private void getData() {
RtfUtils.getMesRtf().dispatchDetail("1", WorkUtils.convertMapToBody(param)).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseMesBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseMesBean data) {
hideLoading();
if (!data.isSuccess()) {
toast(data.getMessage());
return;
}
List<DispatchBean> getList = JSON.parseArray(data.getData().toString(), DispatchBean.class);
dispatchList.clear();
dispatchList.addAll(getList);
dispatchAdapter.notifyDataSetChanged();
}
});
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_quality_traceability_detail;
}
}
package com.wd.workoffice.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.mesBean.DispatchBean;
import com.wd.workoffice.bean.mesBean.QualityTraceabilityBean;
import java.util.List;
import flexible.xd.android_base.utils.TimeUtils;
/**
* Created by flexible on 2018/8/13.
*/
public class QualityDispatchAdapter extends BaseQuickAdapter<DispatchBean, BaseViewHolder> {
public QualityDispatchAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, DispatchBean item) {
helper.setText(R.id.tv_name, item.getProcedureName());
helper.setText(R.id.tv_identify_name, item.getAssetName());
helper.setText(R.id.tv_person, item.getCreateUserName());
helper.setText(R.id.tv_time, TimeUtils.millis2String(item.getCreateDateTime()));
}
}
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="10mm" android:layout_margin="8mm"
android:background="@color/white" android:background="@color/white"
android:orientation="vertical" android:orientation="vertical"
android:paddingHorizontal="20mm" android:paddingHorizontal="20mm"
android:paddingTop="10mm" android:paddingTop="10mm"
android:paddingBottom="20mm"> android:paddingBottom="10mm">
<RelativeLayout <RelativeLayout
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="8mm"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm"
android:paddingTop="10mm"
android:paddingBottom="10mm">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5mm">
<TextView
android:id="@+id/tv_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="所属工序:"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="#0841F0"
android:textSize="14sp" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14mm"
android:background="#FCFCFD"
android:orientation="vertical"
android:paddingVertical="10mm">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="10mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="工序名称"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:paddingHorizontal="10mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="设备名称"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_identify_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:paddingHorizontal="10mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="报工人"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10mm"
android:paddingHorizontal="10mm">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="报工时间"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论