Skip to content
项目
Groups
代码片段
帮助
正在加载...
Sign in / Register
Toggle navigation
W
workoffice
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图表
统计图
Create a new issue
作业
提交
议题看板
Open sidebar
冷广德
workoffice
Commits
9743c0b6
提交
9743c0b6
authored
4月 12, 2020
作者:
lgd
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.领用申请
2.//TODO erp用户激活测试,忘记/重置密码测试,领用申请列表参数,坩埚下单页面,组装下单,产品下单还差附件测试,mes,消息,刷新token
上级
613df52a
全部展开
显示空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
1822 行增加
和
4 行删除
+1822
-4
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+32
-0
UseApplyBean.java
app/src/main/java/com/wd/workoffice/bean/UseApplyBean.java
+331
-0
CheckUseEvent.java
...main/java/com/wd/workoffice/bean/event/CheckUseEvent.java
+14
-0
ApiService.java
app/src/main/java/com/wd/workoffice/retrofit/ApiService.java
+31
-3
EndApplyActivity.java
...wd/workoffice/ui/activity/bat/order/EndApplyActivity.java
+6
-0
EndApplyDetailActivity.java
...koffice/ui/activity/bat/order/EndApplyDetailActivity.java
+218
-0
UseApplyActivity.java
...wd/workoffice/ui/activity/bat/order/UseApplyActivity.java
+101
-0
UseApplyAddActivity.java
...workoffice/ui/activity/bat/order/UseApplyAddActivity.java
+135
-0
UseApplyDetailActivity.java
...koffice/ui/activity/bat/order/UseApplyDetailActivity.java
+201
-0
SaleOrderDetailActivity.java
...e/ui/activity/bat/order/sale/SaleOrderDetailActivity.java
+25
-0
OrderDetailProductAdapter.java
...m/wd/workoffice/ui/adapter/OrderDetailProductAdapter.java
+4
-0
UseApplyAdapter.java
...in/java/com/wd/workoffice/ui/adapter/UseApplyAdapter.java
+46
-0
UseApplyFragment.java
...c/main/java/com/wd/workoffice/ui/fg/UseApplyFragment.java
+278
-0
activity_end_apply_add.xml
app/src/main/res/layout/activity_end_apply_add.xml
+136
-0
activity_end_apply_detail.xml
app/src/main/res/layout/activity_end_apply_detail.xml
+155
-0
activity_send_apply_add.xml
app/src/main/res/layout/activity_send_apply_add.xml
+1
-1
activity_use_apply_detail.xml
app/src/main/res/layout/activity_use_apply_detail.xml
+0
-0
item_use_apply.xml
app/src/main/res/layout/item_use_apply.xml
+108
-0
没有找到文件。
app/src/main/AndroidManifest.xml
浏览文件 @
9743c0b6
...
...
@@ -896,6 +896,38 @@
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjustPan"
/>
<activity
android:name=
".ui.activity.bat.order.EndApplyDetailActivity"
android:configChanges=
"keyboardHidden|orientation"
android:label=
"提前结束详情"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjustPan"
/>
<activity
android:name=
".ui.activity.bat.order.UseApplyActivity"
android:configChanges=
"keyboardHidden|orientation"
android:label=
"领用申请详情"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjustPan"
/>
<activity
android:name=
".ui.activity.bat.order.UseApplyAddActivity"
android:configChanges=
"keyboardHidden|orientation"
android:label=
"添加领用申请"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjustPan"
/>
<activity
android:name=
".ui.activity.bat.order.UseApplyDetailActivity"
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"
android:authorities=
"com.wd.workoffice.fileprovider"
...
...
app/src/main/java/com/wd/workoffice/bean/UseApplyBean.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
bean
;
import
java.util.List
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UseApplyBean
{
/**
* records : [{"createdBy":675,"createdByName":"李凯","createdTime":"2020-04-12 16:05:46","updatedBy":null,"updatedByName":null,"updatedTime":null,"commenceFromId":null,"createdType":null,"id":170,"orderId":"SO10761","orderType":"SO","status":"0","applyRemark":"1","auditRemark":null,"serialNumber":"RCI20041216054670","deptIdList":null,"ownId":null,"orderItemId":null,"productId":30,"product":"整体塞棒","simpleCode":"B214","soleCode":"70GTB214001","productAmount":1,"boxCode":null},{"createdBy":675,"createdByName":"李凯","createdTime":"2020-04-12 15:54:23","updatedBy":null,"updatedByName":null,"updatedTime":null,"commenceFromId":null,"createdType":null,"id":169,"orderId":"SO10761","orderType":"SO","status":"0","applyRemark":"1","auditRemark":null,"serialNumber":"RCI20041215542215","deptIdList":null,"ownId":null,"orderItemId":"9a1f38f80a564945987419817240a39b","productId":30,"product":"整体塞棒","simpleCode":"B214","soleCode":"70GTB214001","productAmount":1,"boxCode":null}]
* total : 2
* 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 : 675
* createdByName : 李凯
* createdTime : 2020-04-12 16:05:46
* updatedBy : null
* updatedByName : null
* updatedTime : null
* commenceFromId : null
* createdType : null
* id : 170
* orderId : SO10761
* orderType : SO
* status : 0
* applyRemark : 1
* auditRemark : null
* serialNumber : RCI20041216054670
* deptIdList : null
* ownId : null
* orderItemId : null
* productId : 30
* product : 整体塞棒
* simpleCode : B214
* soleCode : 70GTB214001
* productAmount : 1.0
* boxCode : null
*/
private
int
createdBy
;
private
String
createdByName
;
private
String
createdTime
;
private
String
updatedBy
;
private
String
updatedByName
;
private
String
updatedTime
;
private
Object
commenceFromId
;
private
Object
createdType
;
private
int
id
;
private
String
orderId
;
private
String
orderType
;
private
String
status
;
private
String
applyRemark
;
private
String
auditRemark
;
private
String
serialNumber
;
private
Object
deptIdList
;
private
Object
ownId
;
private
Object
orderItemId
;
private
int
productId
;
private
String
product
;
private
String
simpleCode
;
private
String
soleCode
;
private
double
productAmount
;
private
Object
boxCode
;
public
int
getCreatedBy
()
{
return
createdBy
;
}
public
void
setCreatedBy
(
int
createdBy
)
{
this
.
createdBy
=
createdBy
;
}
public
String
getCreatedByName
()
{
return
createdByName
;
}
public
void
setCreatedByName
(
String
createdByName
)
{
this
.
createdByName
=
createdByName
;
}
public
String
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
String
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
public
String
getUpdatedBy
()
{
return
updatedBy
;
}
public
void
setUpdatedBy
(
String
updatedBy
)
{
this
.
updatedBy
=
updatedBy
;
}
public
String
getUpdatedByName
()
{
return
updatedByName
;
}
public
void
setUpdatedByName
(
String
updatedByName
)
{
this
.
updatedByName
=
updatedByName
;
}
public
String
getUpdatedTime
()
{
return
updatedTime
;
}
public
void
setUpdatedTime
(
String
updatedTime
)
{
this
.
updatedTime
=
updatedTime
;
}
public
Object
getCommenceFromId
()
{
return
commenceFromId
;
}
public
void
setCommenceFromId
(
Object
commenceFromId
)
{
this
.
commenceFromId
=
commenceFromId
;
}
public
Object
getCreatedType
()
{
return
createdType
;
}
public
void
setCreatedType
(
Object
createdType
)
{
this
.
createdType
=
createdType
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getOrderId
()
{
return
orderId
;
}
public
void
setOrderId
(
String
orderId
)
{
this
.
orderId
=
orderId
;
}
public
String
getOrderType
()
{
return
orderType
;
}
public
void
setOrderType
(
String
orderType
)
{
this
.
orderType
=
orderType
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getApplyRemark
()
{
return
applyRemark
;
}
public
void
setApplyRemark
(
String
applyRemark
)
{
this
.
applyRemark
=
applyRemark
;
}
public
String
getAuditRemark
()
{
return
auditRemark
;
}
public
void
setAuditRemark
(
String
auditRemark
)
{
this
.
auditRemark
=
auditRemark
;
}
public
String
getSerialNumber
()
{
return
serialNumber
;
}
public
void
setSerialNumber
(
String
serialNumber
)
{
this
.
serialNumber
=
serialNumber
;
}
public
Object
getDeptIdList
()
{
return
deptIdList
;
}
public
void
setDeptIdList
(
Object
deptIdList
)
{
this
.
deptIdList
=
deptIdList
;
}
public
Object
getOwnId
()
{
return
ownId
;
}
public
void
setOwnId
(
Object
ownId
)
{
this
.
ownId
=
ownId
;
}
public
Object
getOrderItemId
()
{
return
orderItemId
;
}
public
void
setOrderItemId
(
Object
orderItemId
)
{
this
.
orderItemId
=
orderItemId
;
}
public
int
getProductId
()
{
return
productId
;
}
public
void
setProductId
(
int
productId
)
{
this
.
productId
=
productId
;
}
public
String
getProduct
()
{
return
product
;
}
public
void
setProduct
(
String
product
)
{
this
.
product
=
product
;
}
public
String
getSimpleCode
()
{
return
simpleCode
;
}
public
void
setSimpleCode
(
String
simpleCode
)
{
this
.
simpleCode
=
simpleCode
;
}
public
String
getSoleCode
()
{
return
soleCode
;
}
public
void
setSoleCode
(
String
soleCode
)
{
this
.
soleCode
=
soleCode
;
}
public
double
getProductAmount
()
{
return
productAmount
;
}
public
void
setProductAmount
(
double
productAmount
)
{
this
.
productAmount
=
productAmount
;
}
public
Object
getBoxCode
()
{
return
boxCode
;
}
public
void
setBoxCode
(
Object
boxCode
)
{
this
.
boxCode
=
boxCode
;
}
}
}
app/src/main/java/com/wd/workoffice/bean/event/CheckUseEvent.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
bean
.
event
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
CheckUseEvent
{
public
CheckUseEvent
()
{
}
}
app/src/main/java/com/wd/workoffice/retrofit/ApiService.java
浏览文件 @
9743c0b6
...
...
@@ -1123,6 +1123,7 @@ public interface ApiService {
*/
@GET
(
"/saleOrder/oneInfo/{orderId}"
)
Observable
<
BaseBean
>
saleOrderDetail
(
@Path
(
"orderId"
)
String
orderId
,
@Query
(
"type"
)
String
type
);
/**
* 获取发货申请分页列表
*
...
...
@@ -1153,7 +1154,7 @@ public interface ApiService {
* @return
*/
@POST
(
"/procedureStart/so/applyOutStock/{orderId}"
)
Observable
<
BaseBean
>
sendApply
(
@Path
(
"orderId"
)
String
orderId
,
@Body
RequestBody
requestBody
);
Observable
<
BaseBean
>
sendApply
(
@Path
(
"orderId"
)
String
orderId
,
@Body
RequestBody
requestBody
);
/**
* _step5_1-发起提前结束申请
...
...
@@ -1161,12 +1162,39 @@ public interface ApiService {
* @return
*/
@POST
(
"/procedureStart/so/applyAdvanceFinish/{orderId}"
)
Observable
<
BaseBean
>
endApply
(
@Path
(
"orderId"
)
String
orderId
,
@Body
RequestBody
requestBody
);
Observable
<
BaseBean
>
endApply
(
@Path
(
"orderId"
)
String
orderId
,
@Body
RequestBody
requestBody
);
/**
* step5_3-一个订单的提前结束历史记录
*
* @return
*/
@GET
(
"/advance-finish-apply/so/logs/{orderId}"
)
Observable
<
BaseBean
>
endApplyList
(
@Path
(
"orderId"
)
String
orderId
,
@QueryMap
Map
<
String
,
Object
>
param
);
Observable
<
BaseBean
>
endApplyList
(
@Path
(
"orderId"
)
String
orderId
,
@QueryMap
Map
<
String
,
Object
>
param
);
/**
* step5_32-发送销售订单领用申请
*
* @return
*/
@POST
(
"/procedureStart/so/applyUse/{orderId}"
)
Observable
<
BaseBean
>
useApplyAdd
(
@Path
(
"orderId"
)
String
orderId
,
@Body
RequestBody
requestBody
);
/**
* step8_1-领用申请分页查询
*
* @return
*/
@GET
(
"/useApply/so/page/list"
)
Observable
<
BaseBean
>
useApply
(
@QueryMap
Map
<
String
,
Object
>
param
);
/**
* step8_3-领用申请审核
*
* @return
*/
@PUT
(
"/useApply/so/audit/{applyId}"
)
Observable
<
BaseBean
>
useApplyCheck
(
@Path
(
"applyId"
)
String
applyId
,
@Body
RequestBody
requestBody
);
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/EndApplyActivity.java
浏览文件 @
9743c0b6
...
...
@@ -124,6 +124,12 @@ public class EndApplyActivity extends WorkToolBarActivity {
// getData();
// }
// }, rvData);
dataAdapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
startActivity
(
EndApplyDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
}
});
}
@Override
...
...
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/EndApplyDetailActivity.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
ui
.
activity
.
bat
.
order
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.alibaba.fastjson.JSON
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.bean.EndApplyBean
;
import
com.wd.workoffice.bean.SendApplyBean
;
import
com.wd.workoffice.bean.SendApplyDetailBean
;
import
com.wd.workoffice.bean.event.CheckSendEvent
;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.ui.adapter.SendApplyDetailAdapter
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
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
EndApplyDetailActivity
extends
WorkToolBarActivity
{
@BindView
(
R
.
id
.
tv_refuse
)
TextView
tvRefuse
;
@BindView
(
R
.
id
.
tv_agree
)
TextView
tvAgree
;
@BindView
(
R
.
id
.
ll_bottom
)
LinearLayout
llBottom
;
@BindView
(
R
.
id
.
tv_person
)
TextView
tvPerson
;
@BindView
(
R
.
id
.
tv_time
)
TextView
tvTime
;
@BindView
(
R
.
id
.
tv_remark
)
TextView
tvRemark
;
private
Map
<
String
,
Object
>
param
;
private
EndApplyBean
.
RecordsBean
info
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
}
@Override
protected
void
initData
()
{
info
=
JSON
.
parseObject
(
getIntent
().
getStringExtra
(
"info"
),
EndApplyBean
.
RecordsBean
.
class
);
tvTime
.
setText
(
info
.
getCreatedTime
());
tvPerson
.
setText
(
info
.
getApplyUserName
());
tvRemark
.
setText
(
info
.
getApplyRemark
());
if
(
TextUtils
.
equals
(
info
.
getStatus
(),
"0"
))
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
llBottom
.
setVisibility
(
View
.
GONE
);
}
llBottom
.
setVisibility
(
View
.
GONE
);
param
=
new
HashMap
<>();
param
.
put
(
"id"
,
info
.
getId
());
}
private
void
getData
(
String
id
)
{
// RtfUtils.getRtf().sendApplyDetail(id).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<SendApplyDetailBean> dataBean = JSON.parseArray(data.getData().toString(), SendApplyDetailBean.class);
// dataList.addAll(dataBean);
// dataAdapter.notifyDataSetChanged();
// }
// });
}
@Override
protected
void
initEvent
()
{
}
@Override
protected
int
layoutId
()
{
return
R
.
layout
.
activity_end_apply_detail
;
}
@OnClick
({
R
.
id
.
tv_refuse
,
R
.
id
.
tv_agree
})
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_refuse
:
checkDialog
(
2
);
break
;
case
R
.
id
.
tv_agree
:
checkDialog
(
1
);
break
;
}
}
private
void
checkDialog
(
int
status
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
);
View
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
view_check
,
null
);
TextView
tvOk
=
view
.
findViewById
(
R
.
id
.
tv_ok
);
TextView
tvDesc
=
view
.
findViewById
(
R
.
id
.
tv_desc
);
tvDesc
.
setText
(
status
==
1
?
"通过"
:
"拒绝"
);
TextView
tvNum
=
view
.
findViewById
(
R
.
id
.
tv_num
);
TextView
tvCancel
=
view
.
findViewById
(
R
.
id
.
tv_cancel
);
EditText
etRemark
=
view
.
findViewById
(
R
.
id
.
et_content
);
etRemark
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
tvNum
.
setText
(
s
.
length
()
+
"/140"
);
}
});
builder
.
setView
(
view
);
AlertDialog
addCartDialog
=
builder
.
create
();
tvOk
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
TextUtils
.
isEmpty
(
etRemark
.
getText
().
toString
()))
{
toast
(
"请填写备注"
);
return
;
}
check
(
status
,
etRemark
.
getText
().
toString
());
addCartDialog
.
dismiss
();
}
});
tvCancel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
addCartDialog
.
dismiss
();
}
});
addCartDialog
.
show
();
}
private
void
check
(
int
status
,
String
remark
)
{
param
.
put
(
"status"
,
status
);
param
.
put
(
"auditRemark"
,
remark
);
param
.
put
(
"id"
,
info
.
getId
());
RtfUtils
.
getRtf
().
sendApplyCheck
(
WorkUtils
.
convertMapToBody
(
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
;
}
toast
(
"操作成功"
);
EventBus
.
getDefault
().
post
(
new
CheckSendEvent
());
finish
();
}
});
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/UseApplyActivity.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
ui
.
activity
.
bat
.
order
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.View
;
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.SendApplyFragment
;
import
com.wd.workoffice.ui.fg.UseApplyFragment
;
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
;
/**
* 发货申请列表
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UseApplyActivity
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"
};
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
tlTab
.
setupWithViewPager
(
vpData
);
tlTab
.
setTabMode
(
TabLayout
.
MODE_FIXED
);
}
@Override
protected
void
initData
()
{
FragmentManager
sfm
=
getSupportFragmentManager
();
List
<
Fragment
>
data
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
tab
.
length
;
i
++)
{
UseApplyFragment
saleFragment
=
new
UseApplyFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"state"
,
order
[
i
]);
bundle
.
putString
(
"orderId"
,
getIntent
().
getStringExtra
(
"orderId"
));
bundle
.
putString
(
"simpleCode"
,
getIntent
().
getStringExtra
(
"simpleCode"
));
bundle
.
putString
(
"product"
,
getIntent
().
getStringExtra
(
"product"
));
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
)
{
if
(
TextUtils
.
equals
(
getIntent
().
getStringExtra
(
"status"
),
"600"
))
{
getMenuInflater
().
inflate
(
R
.
menu
.
menu_add
,
menu
);
}
return
super
.
onCreateOptionsMenu
(
menu
);
}
@Override
public
boolean
onOptionsItemSelected
(
MenuItem
item
)
{
switch
(
item
.
getItemId
())
{
case
R
.
id
.
add
:
startActivity
(
UseApplyAddActivity
.
class
,
"num"
,
getIntent
().
getStringExtra
(
"num"
),
"productId"
,
getIntent
().
getStringExtra
(
"productId"
),
"simpleCode"
,
getIntent
().
getStringExtra
(
"simpleCode"
),
"id"
,
getIntent
().
getStringExtra
(
"orderId"
));
break
;
}
return
super
.
onOptionsItemSelected
(
item
);
}
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/UseApplyAddActivity.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
ui
.
activity
.
bat
.
order
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.widget.EditText
;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.bean.OrderDetail
;
import
com.wd.workoffice.bean.event.CheckSendEvent
;
import
com.wd.workoffice.bean.event.CheckUseEvent
;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
java.util.HashMap
;
import
java.util.Map
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
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
UseApplyAddActivity
extends
WorkToolBarActivity
{
@BindView
(
R
.
id
.
tv_bottom
)
TextView
tvBottom
;
@BindView
(
R
.
id
.
et_img_code
)
TextView
etImgCode
;
@BindView
(
R
.
id
.
tv_num
)
TextView
tvNum
;
@BindView
(
R
.
id
.
et_num
)
EditText
etNum
;
@BindView
(
R
.
id
.
et_remark
)
EditText
etRemark
;
@BindView
(
R
.
id
.
tv_remark_num
)
TextView
tvRemarkNum
;
private
Map
<
String
,
Object
>
param
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
}
@Override
protected
void
initData
()
{
tvNum
.
setText
(
String
.
format
(
"最大领用数量(%s)"
,
getIntent
().
getStringExtra
(
"num"
)));
param
=
new
HashMap
<>();
param
.
put
(
"productId"
,
getIntent
().
getStringExtra
(
"productId"
));
param
.
put
(
"simpleCode"
,
getIntent
().
getStringExtra
(
"simpleCode"
));
etImgCode
.
setText
(
getIntent
().
getStringExtra
(
"simpleCode"
));
}
@Override
protected
void
initEvent
()
{
etRemark
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
tvRemarkNum
.
setText
(
s
.
length
()
+
"/140"
);
}
});
}
@Override
protected
int
layoutId
()
{
return
R
.
layout
.
activity_end_apply_add
;
}
@OnClick
(
R
.
id
.
tv_bottom
)
public
void
onViewClicked
()
{
submit
();
}
private
void
submit
()
{
String
num
=
etNum
.
getText
().
toString
();
String
remark
=
etRemark
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
num
))
{
toast
(
"请输入领用数量"
);
return
;
}
param
.
put
(
"productAmount"
,
num
);
param
.
put
(
"orderId"
,
getIntent
().
getStringExtra
(
"id"
));
param
.
put
(
"applyRemark"
,
remark
);
RtfUtils
.
getRtf
().
useApplyAdd
(
getIntent
().
getStringExtra
(
"id"
),
WorkUtils
.
convertMapToBody
(
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
;
}
toast
(
"提交申请成功"
);
EventBus
.
getDefault
().
post
(
new
CheckUseEvent
());
finish
();
}
});
}
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/UseApplyDetailActivity.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
ui
.
activity
.
bat
.
order
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
com.alibaba.fastjson.JSON
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.bean.UseApplyBean
;
import
com.wd.workoffice.bean.event.CheckSendEvent
;
import
com.wd.workoffice.bean.event.CheckUseEvent
;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
java.util.Map
;
import
androidx.appcompat.app.AlertDialog
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
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
UseApplyDetailActivity
extends
WorkToolBarActivity
{
@BindView
(
R
.
id
.
tv_refuse
)
TextView
tvRefuse
;
@BindView
(
R
.
id
.
tv_agree
)
TextView
tvAgree
;
@BindView
(
R
.
id
.
ll_bottom
)
LinearLayout
llBottom
;
@BindView
(
R
.
id
.
tv_num
)
TextView
tvNum
;
@BindView
(
R
.
id
.
tv_person
)
TextView
tvPerson
;
@BindView
(
R
.
id
.
tv_time
)
TextView
tvTime
;
@BindView
(
R
.
id
.
tv_remark
)
TextView
tvRemark
;
@BindView
(
R
.
id
.
tv_check_person
)
TextView
tvCheckPerson
;
@BindView
(
R
.
id
.
tv_check_time
)
TextView
tvCheckTime
;
@BindView
(
R
.
id
.
tv_check_remark
)
TextView
tvCheckRemark
;
@BindView
(
R
.
id
.
tv_check_status
)
TextView
tvCheckStatus
;
@BindView
(
R
.
id
.
ll_check
)
LinearLayout
llCheck
;
private
UseApplyBean
.
RecordsBean
info
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
}
@Override
protected
void
initData
()
{
info
=
JSON
.
parseObject
(
getIntent
().
getStringExtra
(
"info"
),
UseApplyBean
.
RecordsBean
.
class
);
tvNum
.
setText
(
String
.
valueOf
(
info
.
getProductAmount
()));
tvPerson
.
setText
(
String
.
valueOf
(
info
.
getCreatedByName
()));
tvTime
.
setText
(
info
.
getCreatedTime
());
tvRemark
.
setText
(
String
.
valueOf
(
info
.
getApplyRemark
()));
if
(
TextUtils
.
equals
(
info
.
getStatus
(),
"0"
))
{
llBottom
.
setVisibility
(
View
.
VISIBLE
);
llCheck
.
setVisibility
(
View
.
GONE
);
}
else
{
llBottom
.
setVisibility
(
View
.
GONE
);
llCheck
.
setVisibility
(
View
.
VISIBLE
);
tvCheckPerson
.
setText
(
info
.
getUpdatedByName
());
tvCheckTime
.
setText
(
info
.
getUpdatedTime
());
tvCheckRemark
.
setText
(
info
.
getAuditRemark
());
tvCheckStatus
.
setText
(
WorkUtils
.
getFinancialStatus
(
Integer
.
valueOf
(
info
.
getStatus
())));
}
}
@Override
protected
void
initEvent
()
{
}
@Override
protected
int
layoutId
()
{
return
R
.
layout
.
activity_use_apply_detail
;
}
@OnClick
({
R
.
id
.
tv_refuse
,
R
.
id
.
tv_agree
})
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_refuse
:
checkDialog
(
2
,
info
.
getId
(),
info
.
getProductAmount
());
break
;
case
R
.
id
.
tv_agree
:
checkDialog
(
1
,
info
.
getId
(),
info
.
getProductAmount
());
break
;
}
}
private
void
checkDialog
(
int
status
,
int
id
,
double
productAmount
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
);
View
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
view_check
,
null
);
TextView
tvOk
=
view
.
findViewById
(
R
.
id
.
tv_ok
);
TextView
tvDesc
=
view
.
findViewById
(
R
.
id
.
tv_desc
);
tvDesc
.
setText
(
status
==
1
?
"通过"
:
"拒绝"
);
TextView
tvNum
=
view
.
findViewById
(
R
.
id
.
tv_num
);
TextView
tvCancel
=
view
.
findViewById
(
R
.
id
.
tv_cancel
);
EditText
etRemark
=
view
.
findViewById
(
R
.
id
.
et_content
);
etRemark
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
tvNum
.
setText
(
s
.
length
()
+
"/140"
);
}
});
builder
.
setView
(
view
);
AlertDialog
addCartDialog
=
builder
.
create
();
tvOk
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
TextUtils
.
isEmpty
(
etRemark
.
getText
().
toString
()))
{
toast
(
"请填写备注"
);
return
;
}
check
(
status
,
etRemark
.
getText
().
toString
(),
id
,
productAmount
);
addCartDialog
.
dismiss
();
}
});
tvCancel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
addCartDialog
.
dismiss
();
}
});
addCartDialog
.
show
();
}
private
void
check
(
int
status
,
String
remark
,
int
id
,
double
productAmount
)
{
Map
<
String
,
Object
>
checkParam
=
WorkUtils
.
simpleParam
();
checkParam
.
put
(
"status"
,
status
);
checkParam
.
put
(
"auditRemark"
,
remark
);
checkParam
.
put
(
"productAmount"
,
productAmount
);
checkParam
.
put
(
"id"
,
id
);
RtfUtils
.
getRtf
().
useApplyCheck
(
id
+
""
,
WorkUtils
.
convertMapToBody
(
checkParam
)).
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
;
}
toast
(
"操作成功"
);
EventBus
.
getDefault
().
post
(
new
CheckUseEvent
());
finish
();
}
});
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
}
app/src/main/java/com/wd/workoffice/ui/activity/bat/order/sale/SaleOrderDetailActivity.java
浏览文件 @
9743c0b6
...
...
@@ -12,6 +12,7 @@ import android.widget.RelativeLayout;
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.BaseBean
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
...
...
@@ -21,6 +22,8 @@ import com.wd.workoffice.retrofit.RtfUtils;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.ui.activity.bat.order.EndApplyActivity
;
import
com.wd.workoffice.ui.activity.bat.order.SendApplyActivity
;
import
com.wd.workoffice.ui.activity.bat.order.UseApplyActivity
;
import
com.wd.workoffice.ui.activity.bat.order.UseApplyAddActivity
;
import
com.wd.workoffice.ui.adapter.OrderDetailProductAdapter
;
import
com.wd.workoffice.ui.adapter.OrderProcessAdapter
;
import
com.wd.workoffice.util.WorkUtils
;
...
...
@@ -215,6 +218,28 @@ public class SaleOrderDetailActivity extends WorkToolBarActivity {
@Override
protected
void
initEvent
()
{
proAdapter
.
setOnItemChildClickListener
(
new
BaseQuickAdapter
.
OnItemChildClickListener
()
{
@Override
public
void
onItemChildClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_get
:
startActivity
(
UseApplyActivity
.
class
,
"status"
,
dataBean
.
getStatus
()
+
""
,
"num"
,
proList
.
get
(
position
).
getStoreSum
()
+
""
,
"product"
,
proList
.
get
(
position
).
getProductName
(),
"simpleCode"
,
proList
.
get
(
position
).
getProductSimpleCode
(),
"orderId"
,
getIntent
().
getStringExtra
(
"id"
),
"productId"
,
proList
.
get
(
position
).
getProductId
()
+
""
);
break
;
case
R
.
id
.
tv_add
:
break
;
case
R
.
id
.
tv_return
:
break
;
case
R
.
id
.
tv_flow
:
break
;
}
}
});
}
@Override
...
...
app/src/main/java/com/wd/workoffice/ui/adapter/OrderDetailProductAdapter.java
浏览文件 @
9743c0b6
...
...
@@ -36,6 +36,10 @@ public class OrderDetailProductAdapter extends BaseQuickAdapter<OrderDetail.Orde
helper
.
setText
(
R
.
id
.
tv_unit
,
item
.
getProductUnit
());
helper
.
setText
(
R
.
id
.
tv_from
,
WorkUtils
.
getOrderFrom
(
item
.
getType
()));
helper
.
setText
(
R
.
id
.
tv_num
,
String
.
valueOf
(
item
.
getProductCount
()));
helper
.
addOnClickListener
(
R
.
id
.
tv_get
);
helper
.
addOnClickListener
(
R
.
id
.
tv_return
);
helper
.
addOnClickListener
(
R
.
id
.
tv_flow
);
helper
.
addOnClickListener
(
R
.
id
.
tv_add
);
switch
(
status
)
{
// private String tab[] = {
// "全部", "待审核", "待接单", "待生产", "已入库",
...
...
app/src/main/java/com/wd/workoffice/ui/adapter/UseApplyAdapter.java
0 → 100644
浏览文件 @
9743c0b6
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.SendApplyBean
;
import
com.wd.workoffice.bean.UseApplyBean
;
import
com.wd.workoffice.util.WorkUtils
;
import
java.util.List
;
import
androidx.annotation.Nullable
;
/**
* Created by flexible on 2018/8/13.
*/
public
class
UseApplyAdapter
extends
BaseQuickAdapter
<
UseApplyBean
.
RecordsBean
,
BaseViewHolder
>
{
int
status
;
public
UseApplyAdapter
(
int
layoutResId
,
List
data
)
{
super
(
layoutResId
,
data
);
}
public
UseApplyAdapter
(
int
layoutResId
,
@Nullable
List
<
UseApplyBean
.
RecordsBean
>
data
,
int
status
)
{
super
(
layoutResId
,
data
);
this
.
status
=
status
;
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
UseApplyBean
.
RecordsBean
item
)
{
helper
.
setText
(
R
.
id
.
tv_name
,
item
.
getSerialNumber
());
helper
.
setText
(
R
.
id
.
tv_num
,
String
.
valueOf
(
item
.
getProductAmount
()));
helper
.
setText
(
R
.
id
.
tv_time
,
item
.
getCreatedTime
());
helper
.
setText
(
R
.
id
.
tv_status
,
WorkUtils
.
getFinancialStatus
(
Integer
.
valueOf
(
item
.
getStatus
())));
if
(
status
==
0
)
{
helper
.
setVisible
(
R
.
id
.
ll_btn
,
true
);
helper
.
addOnClickListener
(
R
.
id
.
tv_agree
);
helper
.
addOnClickListener
(
R
.
id
.
tv_refuse
);
}
}
}
app/src/main/java/com/wd/workoffice/ui/fg/UseApplyFragment.java
0 → 100644
浏览文件 @
9743c0b6
package
com
.
wd
.
workoffice
.
ui
.
fg
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.TextView
;
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.SendApplyBean
;
import
com.wd.workoffice.bean.UseApplyBean
;
import
com.wd.workoffice.bean.event.CheckSendEvent
;
import
com.wd.workoffice.bean.event.CheckUseEvent
;
import
com.wd.workoffice.retrofit.RtfUtils
;
import
com.wd.workoffice.retrofit.WorkObserver
;
import
com.wd.workoffice.ui.activity.bat.order.SendApplyDetailActivity
;
import
com.wd.workoffice.ui.activity.bat.order.UseApplyDetailActivity
;
import
com.wd.workoffice.ui.adapter.SendApplyAdapter
;
import
com.wd.workoffice.ui.adapter.UseApplyAdapter
;
import
com.wd.workoffice.util.WorkUtils
;
import
org.greenrobot.eventbus.EventBus
;
import
org.greenrobot.eventbus.Subscribe
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AlertDialog
;
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
UseApplyFragment
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
UseApplyAdapter
dataAdapter
;
private
List
<
UseApplyBean
.
RecordsBean
>
dataList
;
private
String
orderId
;
private
String
simpleCode
;
private
String
product
;
@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
);
param
.
put
(
"simpleCode"
,
simpleCode
);
param
.
put
(
"product"
,
product
);
page
=
1
;
param
.
put
(
"current"
,
page
);
dataList
=
new
ArrayList
<>();
dataAdapter
=
new
UseApplyAdapter
(
R
.
layout
.
item_use_apply
,
dataList
,
Integer
.
valueOf
(
state
));
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"
);
orderId
=
arguments
.
getString
(
"orderId"
);
simpleCode
=
arguments
.
getString
(
"simpleCode"
);
product
=
arguments
.
getString
(
"product"
);
}
}
private
void
getData
()
{
RtfUtils
.
getRtf
().
useApply
(
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
<
UseApplyBean
.
RecordsBean
>
getList
=
JSON
.
parseObject
(
data
.
getData
().
toString
(),
UseApplyBean
.
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
(
UseApplyDetailActivity
.
class
,
"info"
,
JSON
.
toJSONString
(
dataList
.
get
(
position
)));
}
});
dataAdapter
.
setOnItemChildClickListener
(
new
BaseQuickAdapter
.
OnItemChildClickListener
()
{
@Override
public
void
onItemChildClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_refuse
:
checkDialog
(
2
,
dataList
.
get
(
position
).
getId
(),
dataList
.
get
(
position
).
getProductAmount
());
break
;
case
R
.
id
.
tv_agree
:
checkDialog
(
1
,
dataList
.
get
(
position
).
getId
(),
dataList
.
get
(
position
).
getProductAmount
());
break
;
}
}
});
}
private
void
checkDialog
(
int
status
,
int
id
,
double
productAmount
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
getActivity
());
View
view
=
LayoutInflater
.
from
(
getActivity
()).
inflate
(
R
.
layout
.
view_check
,
null
);
TextView
tvOk
=
view
.
findViewById
(
R
.
id
.
tv_ok
);
TextView
tvDesc
=
view
.
findViewById
(
R
.
id
.
tv_desc
);
tvDesc
.
setText
(
status
==
1
?
"通过"
:
"拒绝"
);
TextView
tvNum
=
view
.
findViewById
(
R
.
id
.
tv_num
);
TextView
tvCancel
=
view
.
findViewById
(
R
.
id
.
tv_cancel
);
EditText
etRemark
=
view
.
findViewById
(
R
.
id
.
et_content
);
etRemark
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
tvNum
.
setText
(
s
.
length
()
+
"/140"
);
}
});
builder
.
setView
(
view
);
AlertDialog
addCartDialog
=
builder
.
create
();
tvOk
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
TextUtils
.
isEmpty
(
etRemark
.
getText
().
toString
()))
{
toast
(
"请填写备注"
);
return
;
}
check
(
status
,
etRemark
.
getText
().
toString
(),
id
,
productAmount
);
addCartDialog
.
dismiss
();
}
});
tvCancel
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
addCartDialog
.
dismiss
();
}
});
addCartDialog
.
show
();
}
private
void
check
(
int
status
,
String
remark
,
int
id
,
double
productAmount
)
{
Map
<
String
,
Object
>
checkParam
=
WorkUtils
.
simpleParam
();
checkParam
.
put
(
"status"
,
status
);
checkParam
.
put
(
"auditRemark"
,
remark
);
checkParam
.
put
(
"productAmount"
,
productAmount
);
checkParam
.
put
(
"id"
,
id
);
RtfUtils
.
getRtf
().
useApplyCheck
(
id
+
""
,
WorkUtils
.
convertMapToBody
(
checkParam
)).
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
;
}
toast
(
"操作成功"
);
page
=
1
;
param
.
put
(
"current"
,
page
);
getData
();
}
});
}
@Override
protected
int
layoutId
()
{
return
R
.
layout
.
fg_work_contacts
;
}
@Override
public
void
onStart
()
{
super
.
onStart
();
EventBus
.
getDefault
().
register
(
this
);
}
@Override
public
void
onStop
()
{
super
.
onStop
();
EventBus
.
getDefault
().
unregister
(
this
);
}
@Subscribe
public
void
refresh
(
CheckUseEvent
event
)
{
page
=
1
;
param
.
put
(
"current"
,
page
);
getData
();
}
}
app/src/main/res/layout/activity_end_apply_add.xml
0 → 100644
浏览文件 @
9743c0b6
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<TextView
android:id=
"@+id/tv_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"48mm"
android:layout_alignParentBottom=
"true"
android:background=
"#5C768A"
android:gravity=
"center"
android:orientation=
"horizontal"
android:text=
"提交领用申请"
android:textColor=
"@color/white"
android:textSize=
"16sp"
/>
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/tv_bottom"
android:background=
"@color/white"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"9mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:text=
"图号"
android:textSize=
"14sp"
/>
<TextView
android:id=
"@+id/et_img_code"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginLeft=
"10mm"
android:layout_weight=
"1"
android:background=
"@null"
android:gravity=
"right"
android:padding=
"3mm"
android:textColor=
"@color/flexible_text_gray"
android:textSize=
"14sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"9mm"
>
<TextView
android:id=
"@+id/tv_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:text=
"最大领用数量"
android:textSize=
"14sp"
/>
<EditText
android:id=
"@+id/et_num"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginLeft=
"10mm"
android:inputType=
"numberDecimal"
android:layout_weight=
"1"
android:background=
"@null"
android:gravity=
"right"
android:hint=
"输入数量"
android:padding=
"3mm"
android:textColor=
"@color/flexible_text_gray"
android:textSize=
"14sp"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"10mm"
android:text=
"领用备注:"
android:textSize=
"14sp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"20mm"
android:background=
"@drawable/shape_confirm_order"
android:orientation=
"vertical"
>
<EditText
android:id=
"@+id/et_remark"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"3mm"
android:background=
"@null"
android:gravity=
"top"
android:hint=
"请输入"
android:minLines=
"4"
android:padding=
"5mm"
android:textSize=
"16sp"
/>
<TextView
android:id=
"@+id/tv_remark_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:layout_margin=
"4mm"
android:text=
"0/140"
android:textColor=
"@color/flexible_text_gray"
/>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/activity_end_apply_detail.xml
0 → 100644
浏览文件 @
9743c0b6
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
android:id=
"@+id/ll_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"60mm"
android:layout_alignParentBottom=
"true"
android:gravity=
"center_vertical|right"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_refuse"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"10mm"
android:background=
"@drawable/shape_red_btn"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"5mm"
android:text=
"拒绝"
android:textColor=
"@color/white"
/>
<TextView
android:id=
"@+id/tv_agree"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"10mm"
android:background=
"@drawable/shape_green_btn"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"5mm"
android:text=
"同意"
android:textColor=
"@color/white"
/>
</LinearLayout>
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/ll_bottom"
android:background=
"@color/white"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/ll_bottom"
android:orientation=
"vertical"
android:paddingBottom=
"20mm"
>
<View
style=
"@style/ViewX"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:paddingVertical=
"10mm"
>
<View
android:layout_width=
"8mm"
android:layout_height=
"18mm"
android:background=
"@color/red_btn_bg"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"10mm"
android:text=
"发货信息"
android:textSize=
"15sp"
/>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:background=
"@color/white"
android:gravity=
"center"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"15mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"申请人"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_person"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:textColor=
"@color/flexible_text_gray"
android:textSize=
"15sp"
/>
</RelativeLayout>
<View
style=
"@style/dividerX"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:background=
"@color/white"
android:gravity=
"center"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"15mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"申请时间"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:text=
"销售二公司"
android:textColor=
"@color/flexible_text_gray"
android:textSize=
"15sp"
/>
</RelativeLayout>
<View
style=
"@style/dividerX"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"1mm"
android:background=
"@color/white"
android:orientation=
"vertical"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"10mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"备注"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_remark"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"3mm"
android:textColor=
"@color/flexible_text_gray"
android:textSize=
"12sp"
/>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</RelativeLayout>
app/src/main/res/layout/activity_send_apply_add.xml
浏览文件 @
9743c0b6
...
...
@@ -242,7 +242,7 @@
android:layout_height=
"wrap_content"
android:paddingHorizontal=
"20mm"
android:paddingVertical=
"10mm"
android:text=
"
运输方式及费用承担
:"
android:text=
"
备注
:"
android:textSize=
"14sp"
/>
<LinearLayout
...
...
app/src/main/res/layout/activity_use_apply_detail.xml
0 → 100644
浏览文件 @
9743c0b6
差异被折叠。
点击展开。
app/src/main/res/layout/item_use_apply.xml
0 → 100644
浏览文件 @
9743c0b6
<?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:background=
"@color/white"
android:orientation=
"vertical"
android:paddingHorizontal=
"20mm"
android:paddingTop=
"10mm"
android:paddingBottom=
"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"
/>
<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=
"10mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"领用数量:"
android:textSize=
"16sp"
/>
<TextView
android:id=
"@+id/tv_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10mm"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"申请时间:"
android:textSize=
"16sp"
/>
<TextView
android:id=
"@+id/tv_time"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"16sp"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_btn"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:layout_marginTop=
"10mm"
android:visibility=
"gone"
>
<TextView
android:id=
"@+id/tv_agree"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/selector_product_choose"
android:gravity=
"center"
android:paddingHorizontal=
"10mm"
android:paddingVertical=
"5mm"
android:text=
"通过"
android:textSize=
"13sp"
/>
<TextView
android:id=
"@+id/tv_refuse"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"10mm"
android:background=
"@drawable/selector_product_choose"
android:gravity=
"center"
android:paddingHorizontal=
"10mm"
android:paddingVertical=
"5mm"
android:text=
"驳回"
android:textSize=
"13sp"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论