提交 2b555dd1 authored 作者: lgd's avatar lgd

1.物流列表

2.//TODO erp用户激活测试,忘记/重置密码测试,产品下单还差附件,bat,mes,消息,刷新token,开票/收票接口
上级 cb274b59
......@@ -648,6 +648,14 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.work.WorkLogisticActivity"
android:configChanges="keyboardHidden|orientation"
android:label="物流管理"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider
android:name="androidx.core.content.FileProvider"
......
package com.wd.workoffice.bean;
import java.util.List;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class LogisticBean {
/**
* records : [{"createdBy":null,"createdByName":null,"createdTime":"2020-01-15 17:38:19","updatedBy":null,"updatedByName":null,"updatedTime":"2020-02-20 09:40:26","id":34,"receiveDeptId":null,"logisticsId":null,"distributionSite":"1","issuingUnit":"2","invoiceNumber":"3","processCode":"PO","totalWeight":1000,"applyAmount":100,"status":"1","remark":"1","logisticsLogList":null,"receiveDeptName":"业务部","logisticsName":"圆通物流1","createdUser":"冯帆","updatedUser":"冷益飞"},{"createdBy":null,"createdByName":null,"createdTime":"2020-01-15 15:56:03","updatedBy":null,"updatedByName":null,"updatedTime":"2020-02-20 09:40:33","id":33,"receiveDeptId":null,"logisticsId":null,"distributionSite":"12","issuingUnit":"3","invoiceNumber":"44","processCode":"PO","totalWeight":560,"applyAmount":116,"status":"2","remark":"2","logisticsLogList":null,"receiveDeptName":"业务部","logisticsName":"圆通物流1","createdUser":"冯帆","updatedUser":"冷益飞"},{"createdBy":null,"createdByName":null,"createdTime":"2020-01-14 15:21:36","updatedBy":null,"updatedByName":null,"updatedTime":null,"id":32,"receiveDeptId":null,"logisticsId":null,"distributionSite":"11","issuingUnit":"111","invoiceNumber":"111","processCode":"SO","totalWeight":35,"applyAmount":1000,"status":"0","remark":null,"logisticsLogList":null,"receiveDeptName":"锆碳公司","logisticsName":"圆通物流1","createdUser":"冷益飞","updatedUser":null}]
* total : 3
* size : 10
* current : 1
* orders : []
* searchCount : true
* pages : 1
*/
private int total;
private int size;
private int current;
private boolean searchCount;
private int pages;
private List<RecordsBean> records;
private List<?> orders;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getCurrent() {
return current;
}
public void setCurrent(int current) {
this.current = current;
}
public boolean isSearchCount() {
return searchCount;
}
public void setSearchCount(boolean searchCount) {
this.searchCount = searchCount;
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public List<RecordsBean> getRecords() {
return records;
}
public void setRecords(List<RecordsBean> records) {
this.records = records;
}
public List<?> getOrders() {
return orders;
}
public void setOrders(List<?> orders) {
this.orders = orders;
}
public static class RecordsBean {
/**
* createdBy : null
* createdByName : null
* createdTime : 2020-01-15 17:38:19
* updatedBy : null
* updatedByName : null
* updatedTime : 2020-02-20 09:40:26
* id : 34
* receiveDeptId : null
* logisticsId : null
* distributionSite : 1
* issuingUnit : 2
* invoiceNumber : 3
* processCode : PO
* totalWeight : 1000.0
* applyAmount : 100.0
* status : 1
* remark : 1
* logisticsLogList : null
* receiveDeptName : 业务部
* logisticsName : 圆通物流1
* createdUser : 冯帆
* updatedUser : 冷益飞
*/
private Object createdBy;
private Object createdByName;
private String createdTime;
private Object updatedBy;
private Object updatedByName;
private String updatedTime;
private int id;
private Object receiveDeptId;
private Object logisticsId;
private String distributionSite;
private String issuingUnit;
private String invoiceNumber;
private String processCode;
private double totalWeight;
private double applyAmount;
private String status;
private String remark;
private Object logisticsLogList;
private String receiveDeptName;
private String logisticsName;
private String createdUser;
private String updatedUser;
public Object getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Object createdBy) {
this.createdBy = createdBy;
}
public Object getCreatedByName() {
return createdByName;
}
public void setCreatedByName(Object createdByName) {
this.createdByName = createdByName;
}
public String getCreatedTime() {
return createdTime;
}
public void setCreatedTime(String createdTime) {
this.createdTime = createdTime;
}
public Object getUpdatedBy() {
return updatedBy;
}
public void setUpdatedBy(Object updatedBy) {
this.updatedBy = updatedBy;
}
public Object getUpdatedByName() {
return updatedByName;
}
public void setUpdatedByName(Object updatedByName) {
this.updatedByName = updatedByName;
}
public String getUpdatedTime() {
return updatedTime;
}
public void setUpdatedTime(String updatedTime) {
this.updatedTime = updatedTime;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Object getReceiveDeptId() {
return receiveDeptId;
}
public void setReceiveDeptId(Object receiveDeptId) {
this.receiveDeptId = receiveDeptId;
}
public Object getLogisticsId() {
return logisticsId;
}
public void setLogisticsId(Object logisticsId) {
this.logisticsId = logisticsId;
}
public String getDistributionSite() {
return distributionSite;
}
public void setDistributionSite(String distributionSite) {
this.distributionSite = distributionSite;
}
public String getIssuingUnit() {
return issuingUnit;
}
public void setIssuingUnit(String issuingUnit) {
this.issuingUnit = issuingUnit;
}
public String getInvoiceNumber() {
return invoiceNumber;
}
public void setInvoiceNumber(String invoiceNumber) {
this.invoiceNumber = invoiceNumber;
}
public String getProcessCode() {
return processCode;
}
public void setProcessCode(String processCode) {
this.processCode = processCode;
}
public double getTotalWeight() {
return totalWeight;
}
public void setTotalWeight(double totalWeight) {
this.totalWeight = totalWeight;
}
public double getApplyAmount() {
return applyAmount;
}
public void setApplyAmount(double applyAmount) {
this.applyAmount = applyAmount;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Object getLogisticsLogList() {
return logisticsLogList;
}
public void setLogisticsLogList(Object logisticsLogList) {
this.logisticsLogList = logisticsLogList;
}
public String getReceiveDeptName() {
return receiveDeptName;
}
public void setReceiveDeptName(String receiveDeptName) {
this.receiveDeptName = receiveDeptName;
}
public String getLogisticsName() {
return logisticsName;
}
public void setLogisticsName(String logisticsName) {
this.logisticsName = logisticsName;
}
public String getCreatedUser() {
return createdUser;
}
public void setCreatedUser(String createdUser) {
this.createdUser = createdUser;
}
public String getUpdatedUser() {
return updatedUser;
}
public void setUpdatedUser(String updatedUser) {
this.updatedUser = updatedUser;
}
}
}
......@@ -562,4 +562,13 @@ public interface ApiService {
*/
@PUT("/dept-account-balance/balance")
Observable<BaseBean> freezeOrUnfreezeBalanceShelf(@Body RequestBody requestBody);
/**
* n 获取运费开票申请分页列表
*
* @return
*/
@GET("/finance-logistics-apply/page/list")
Observable<BaseBean> logistic(@QueryMap Map<String, Object> param);
}
......@@ -51,7 +51,6 @@ public class WorkFinancialActivity extends WorkToolBarActivity {
}
@OnClick({R.id.ll_back, R.id.ll_pay, R.id.ll_open_ticket, R.id.ll_receive_ticket, R.id.ll_account, R.id.ll_logistics})
public void onViewClicked(View view) {
switch (view.getId()) {
......@@ -71,6 +70,7 @@ public class WorkFinancialActivity extends WorkToolBarActivity {
startActivity(WorkFinancialAccountActivity.class);
break;
case R.id.ll_logistics:
startActivity(WorkLogisticActivity.class);
break;
}
}
......
package com.wd.workoffice.ui.activity.bat.work;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.material.tabs.TabLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.WorkLogisticsFragment;
import java.util.ArrayList;
import java.util.List;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import butterknife.ButterKnife;
import static com.google.android.material.tabs.TabLayout.MODE_FIXED;
/**
* 财务 物流
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class WorkLogisticActivity extends WorkToolBarActivity {
@BindView(R.id.tl_tab)
TabLayout tlTab;
@BindView(R.id.vp_data)
ViewPager vpData;
private String tab[] = {
"未审核", "已通过", "已驳回"};
private String order[] = {
"0", "1", "2"};//0 待审核 1已通过 2未通过
@Override
protected void initView() {
ButterKnife.bind(this);
tlTab.setupWithViewPager(vpData);
tlTab.setTabMode(MODE_FIXED);
}
@Override
protected void initData() {
FragmentManager sfm = getSupportFragmentManager();
List<Fragment> data = new ArrayList<>();
for (int i = 0; i < tab.length; i++) {
WorkLogisticsFragment saleFragment = new WorkLogisticsFragment();
Bundle bundle = new Bundle();
bundle.putString("state", order[i]);
saleFragment.setArguments(bundle);
data.add(saleFragment);
}
VpDataAdapter vpFgAdapter = new VpDataAdapter(sfm, data);
vpData.setAdapter(vpFgAdapter);
for (int i = 0; i < tab.length; i++) {
tlTab.getTabAt(i).setText(tab[i]);
}
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_order;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
// startActivity(InsideOrderSearchActivity.class, "identity", "2","","");
break;
}
return super.onOptionsItemSelected(item);
}
}
package com.wd.workoffice.ui.adapter;
import android.text.TextUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.wd.workoffice.R;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.LogisticBean;
import com.wd.workoffice.util.WorkUtils;
import java.util.List;
/**
* Created by flexible on 2018/8/13.
*/
public class WorkLogisticAdapter extends BaseQuickAdapter<LogisticBean.RecordsBean, BaseViewHolder> {
public WorkLogisticAdapter(int layoutResId, List data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, LogisticBean.RecordsBean item) {
helper.setText(R.id.tv_name, item.getLogisticsName());
helper.setText(R.id.tv_receive_dep, item.getReceiveDeptName());
helper.setText(R.id.tv_status, WorkUtils.getFinancialStatus(Integer.valueOf(item.getStatus())));
helper.setText(R.id.tv_apply, item.getCreatedUser());
helper.setText(R.id.tv_time, item.getCreatedTime());
}
}
package com.wd.workoffice.ui.fg;
import android.os.Bundle;
import android.view.View;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkBaseFg;
import com.wd.workoffice.bean.ContactsBean;
import com.wd.workoffice.bean.LogisticBean;
import com.wd.workoffice.bean.ProPriceBean;
import com.wd.workoffice.contract.WorkContactsContract;
import com.wd.workoffice.presenter.WorkContactsPresenter;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.work.WorkContactsDetailActivity;
import com.wd.workoffice.ui.adapter.WorkContactsAdapter;
import com.wd.workoffice.ui.adapter.WorkLogisticAdapter;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.annotation.Nullable;
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 WorkLogisticsFragment extends WorkBaseFg {
@BindView(R.id.rv_data)
RecyclerView rvData;
@BindView(R.id.srl_refresh)
SmartRefreshLayout srlRefresh;
private String state;
private int page = 1;
private Map<String, Object> param;
private WorkLogisticAdapter dataAdapter;
private List<LogisticBean.RecordsBean> dataList;
@Override
protected void initView() {
ButterKnife.bind(this, getContentView());
rvData.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.VERTICAL, false));
}
@Override
protected void initData() {
param = WorkUtils.pageKey();
param.put("status", state);
page = 1;
param.put("current", page);
dataList = new ArrayList<>();
dataAdapter = new WorkLogisticAdapter(R.layout.item_logistics, dataList);
dataAdapter.bindToRecyclerView(rvData);
dataAdapter.setEmptyView(R.layout.view_empty_content, rvData);
getData();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
if (arguments != null) {
state = arguments.getString("state");
}
}
private void getData() {
RtfUtils.getRtf().logistic(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
List<LogisticBean.RecordsBean> getList = JSON.parseObject(data.getData().toString(), LogisticBean.class).getRecords();
if (page == 1) {
srlRefresh.finishRefresh();
dataList.clear();
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
dataAdapter.loadMoreComplete();
} else {
dataAdapter.loadMoreComplete();
dataList.addAll(getList);
dataAdapter.notifyDataSetChanged();
}
if (getList.size() == 0) {
dataAdapter.loadMoreEnd();
} else {
page++;
}
}
});
}
@Override
protected void initEvent() {
srlRefresh.setOnRefreshListener(refreshLayout -> {
page = 1;
param.put("current", page);
getData();
});
dataAdapter.setOnLoadMoreListener(() -> {
param.put("current", page);
getData();
}, rvData);
dataAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// startActivity(WorkContactsDetailActivity.class,
// "id",dataList.get(position).getId()+"",
// "partTypeNames", partTypeNames,"title",dataList.get(position).getName());
}
});
}
@Override
protected int layoutId() {
return R.layout.fg_work_contacts;
}
}
<?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_marginTop="10mm"
android:paddingTop="10mm"
android:paddingBottom="20mm"
android:background="@color/white"
android:orientation="vertical"
android:paddingHorizontal="20mm">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5mm">
<TextView
android:id="@+id/tv_name"
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:text="待生产"
android:textColor="@color/orange"
android:textSize="14sp" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14mm"
android:paddingVertical="10mm"
android:background="#FCFCFD"
android:orientation="vertical">
<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_receive_dep"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="王紫逸"
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_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="王紫逸"
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:text="王紫逸"
android:textColor="@color/flexible_text_gray"
android:textSize="13sp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论