Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
da74ef9b
Commit
da74ef9b
authored
Nov 13, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改快速出入库业务功能
parent
bd6bb885
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
54 行增加
和
52 行删除
+54
-52
OrderExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/OrderExceptionEnum.java
+1
-0
InventorySummary.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/InventorySummary.java
+7
-0
GlobalEndListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
+14
-45
InventoryMapper.java
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventoryMapper.java
+5
-0
InventorySummaryMapper.java
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventorySummaryMapper.java
+1
-1
InventoryService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/InventoryService.java
+3
-0
InventorySummaryService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/InventorySummaryService.java
+1
-1
OrderMainService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/OrderMainService.java
+2
-0
InventoryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventoryServiceImpl.java
+6
-0
InventorySummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
+2
-2
LogSummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
+1
-1
OrderMainServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
+0
-0
PolicemanServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
+1
-1
InventoryMapper.xml
jyzb-biz/src/main/resources/mapper/InventoryMapper.xml
+9
-0
InventorySummaryMapper.xml
jyzb-biz/src/main/resources/mapper/InventorySummaryMapper.xml
+1
-1
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/OrderExceptionEnum.java
View file @
da74ef9b
...
@@ -13,6 +13,7 @@ public enum OrderExceptionEnum implements IExceptionEnum {
...
@@ -13,6 +13,7 @@ public enum OrderExceptionEnum implements IExceptionEnum {
ORDERDETAIL_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不存在"
),
ORDERDETAIL_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不存在"
),
ORDERDETAIL_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不一致,操作失败"
),
ORDERDETAIL_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不一致,操作失败"
),
ROLE_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"审核组织机构用户配置异常!请检查日志"
),
ROLE_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"审核组织机构用户配置异常!请检查日志"
),
ORDER_CREATE_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"单子创建失败"
),
;
;
/**
/**
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/entity/InventorySummary.java
View file @
da74ef9b
...
@@ -36,6 +36,13 @@ public class InventorySummary implements Serializable {
...
@@ -36,6 +36,13 @@ public class InventorySummary implements Serializable {
@TableField
(
"org_name"
)
@TableField
(
"org_name"
)
private
String
orgName
;
private
String
orgName
;
/**
* 组织机构编码
*/
@ApiModelProperty
(
value
=
"组织机构编码"
)
@TableField
(
"org_code"
)
private
String
orgCode
;
/**
/**
* 装备类型id
* 装备类型id
*/
*/
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
View file @
da74ef9b
...
@@ -13,9 +13,11 @@ import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
...
@@ -13,9 +13,11 @@ import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import
com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq
;
import
com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq
;
import
com.junmp.jyzb.api.bean.req.UpdateOrderReq
;
import
com.junmp.jyzb.api.bean.req.UpdateOrderReq
;
import
com.junmp.jyzb.api.bean.req.UpdateReassignmentReq
;
import
com.junmp.jyzb.api.bean.req.UpdateReassignmentReq
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.service.*
;
import
com.junmp.jyzb.service.*
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
com.rabbitmq.client.Channel
;
import
com.rabbitmq.client.Channel
;
import
com.rabbitmq.client.Connection
;
import
com.rabbitmq.client.Connection
;
...
@@ -81,18 +83,19 @@ import java.util.stream.Collectors;
...
@@ -81,18 +83,19 @@ import java.util.stream.Collectors;
String
Type
=
orderType
.
get
(
0
).
getValue
().
toString
();
String
Type
=
orderType
.
get
(
0
).
getValue
().
toString
();
if
(
Type
.
equals
(
"workOrder"
))
//出入库单据
if
(
Type
.
equals
(
"workOrder"
))
//出入库单据
{
{
OrderMainReq
req
=
new
OrderMainReq
();
//
OrderMainReq req=new OrderMainReq();
req
.
setProcessId
(
processInstanceId
);
//
req.setProcessId(processInstanceId);
OrderMain
existOrder
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
OrderMain
existOrder
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
.
eq
(
OrderMain:
:
getProcessId
,
req
.
getProcessId
()));
.
eq
(
OrderMain:
:
getProcessId
,
processInstanceId
));
existOrder
.
setExamineState
(
"finished"
);
existOrder
.
setOrderState
(
"ready"
);
UpdateOrderReq
updateOrderReq
=
new
UpdateOrderReq
();
UpdateOrderReq
updateOrderReq
=
new
UpdateOrderReq
();
BeanPlusUtil
.
copyProperties
(
existOrder
,
updateOrderReq
);
BeanPlusUtil
.
copyProperties
(
existOrder
,
updateOrderReq
);
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
.
eq
(
OrderDetail:
:
getOrderId
,
updateOrderReq
.
getId
()));
.
eq
(
OrderDetail:
:
getOrderId
,
updateOrderReq
.
getId
()));
updateOrderReq
.
setId
(
existOrder
.
getId
());
updateOrderReq
.
setId
(
existOrder
.
getId
());
updateOrderReq
.
setExamineState
(
"finished"
);
orderMainService
.
updateById
(
existOrder
);
updateOrderReq
.
setOrderState
(
"ready"
);
// orderMainService.ChangeOrderState(updateOrderReq);
orderMainService
.
ChangeOrderState
(
updateOrderReq
);
List
<
UpdateOrderDetailReq
>
collect
=
list
.
stream
().
map
(
orderDetail
->
{
List
<
UpdateOrderDetailReq
>
collect
=
list
.
stream
().
map
(
orderDetail
->
{
UpdateOrderDetailReq
updateOrderDetailReq
=
new
UpdateOrderDetailReq
();
UpdateOrderDetailReq
updateOrderDetailReq
=
new
UpdateOrderDetailReq
();
BeanPlusUtil
.
copyProperties
(
orderDetail
,
updateOrderDetailReq
);
BeanPlusUtil
.
copyProperties
(
orderDetail
,
updateOrderDetailReq
);
...
@@ -120,52 +123,18 @@ import java.util.stream.Collectors;
...
@@ -120,52 +123,18 @@ import java.util.stream.Collectors;
}
}
if
(
Type
.
equals
(
"quickOrder"
)){
if
(
Type
.
equals
(
"quickOrder"
)){
//创建快速出库单并且通过快速出库单再去创建入库单(主单)
OrderMain
orderMain
=
new
OrderMain
();
OrderMain
existOrder
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
OrderMain
existOrder
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
.
eq
(
OrderMain:
:
getProcessId
,
processInstanceId
));
.
eq
(
OrderMain:
:
getProcessId
,
processInstanceId
));
existOrder
.
setExamineState
(
"finished"
);
existOrder
.
setExamineState
(
"finished"
);
existOrder
.
setOrderState
(
"ready"
);
existOrder
.
setOrderState
(
"ready"
);
BeanPlusUtil
.
copyProperties
(
existOrder
,
orderMain
);
orderMain
.
setEndOrgId
(
existOrder
.
getStartOrgId
());
orderMain
.
setEndOrgName
(
existOrder
.
getStartOrgName
());
orderMain
.
setOrderType
(
"in"
);
orderMain
.
setId
(
UUID
.
randomUUID
().
toString
());
//修改订单编号
UpdateOrderReq
req
=
new
UpdateOrderReq
();
BeanPlusUtil
.
copyProperties
(
orderMain
,
req
);
OrderNum
orderNum
=
orderMainService
.
setOrderCode
(
req
);
String
codeValue
=
String
.
format
(
"%04d"
,
orderNum
.
getNum
());
orderMain
.
setOrderCode
(
orderNum
.
getBussinessType
()+
orderNum
.
getYear
()+
String
.
format
(
"%02d"
,
LocalDateTime
.
now
().
getMonth
().
getValue
())+
String
.
format
(
"%02d"
,
LocalDateTime
.
now
().
getDayOfMonth
())+
codeValue
);
orderMainService
.
updateById
(
existOrder
);
orderMainService
.
updateById
(
existOrder
);
orderMainService
.
save
(
orderMain
);
//创建子单
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
.
eq
(
OrderDetail:
:
getOrderId
,
existOrder
.
getId
()));
List
<
Object
[]>
searchCriteria
=
new
ArrayList
<>();
List
<
OrderDetail
>
collect
=
list
.
stream
().
map
(
orderDetail
->
{
OrderDetail
orderDetail1
=
new
OrderDetail
();
BeanPlusUtil
.
copyProperties
(
orderDetail
,
orderDetail1
);
//修改主单据id
orderDetail1
.
setOrderId
(
orderMain
.
getId
());
//修改单据出入状态
orderDetail1
.
setType
(
"in"
);
//修改仓库id
orderDetail1
.
setWarehouseId
(
orderMain
.
getLocationId
());
orderDetail1
.
setWarehouseName
(
orderMain
.
getLocationName
());
//新增创建时间
orderDetail1
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
Object
[]
criteria
=
new
Object
[]{
existOrder
.
getStartOrgId
(),
orderDetail
.
getWarehouseId
(),
orderDetail
.
getTypeId
(),
orderDetail
.
getSizeId
(),
orderDetail
.
getPrice
()};
searchCriteria
.
add
(
criteria
);
return
orderDetail1
;
}).
collect
(
Collectors
.
toList
());
orderDetailService
.
saveBatch
(
collect
);
//将库存表中的装备的仓库id进行修改
//创建快速出库单并且通过快速出库单再去创建入库单(主单)
boolean
b
=
orderMainService
.
addQuickOrder
(
existOrder
);
if
(!
b
){
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDER_CREATE_ERROR
);
}
//将summary汇总表中数据进行修改
}
}
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventoryMapper.java
View file @
da74ef9b
...
@@ -60,4 +60,8 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
...
@@ -60,4 +60,8 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
//判断epc是否存在
//判断epc是否存在
List
<
String
>
checkEPCList
(
@Param
(
"list"
)
List
<
String
>
epcList
);
List
<
String
>
checkEPCList
(
@Param
(
"list"
)
List
<
String
>
epcList
);
//根据条件查询满足条件的数据(用于快速移库修改装备仓库id)
List
<
Inventory
>
selectEqsByItem
(
@Param
(
"list"
)
List
<
Object
[]>
searchCriteria
);
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventorySummaryMapper.java
View file @
da74ef9b
...
@@ -35,7 +35,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
...
@@ -35,7 +35,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
List
<
InventorySummary
>
selectByItems
(
@Param
(
"list"
)
List
<
Object
[]>
searchCriteria
);
List
<
InventorySummary
>
select
Sum
ByItems
(
@Param
(
"list"
)
List
<
Object
[]>
searchCriteria
);
//根据组织机构查询报表中的本级及下一级信息
//根据组织机构查询报表中的本级及下一级信息
List
<
TjOrgEqsDto
>
getByOrgId
(
@Param
(
"orgId"
)
Long
orgId
);
List
<
TjOrgEqsDto
>
getByOrgId
(
@Param
(
"orgId"
)
Long
orgId
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/InventoryService.java
View file @
da74ef9b
...
@@ -81,4 +81,7 @@ public interface InventoryService extends IService<Inventory> {
...
@@ -81,4 +81,7 @@ public interface InventoryService extends IService<Inventory> {
//判断epc是否存在
//判断epc是否存在
List
<
String
>
checkEPCList
(
EpcCheckReq
req
);
List
<
String
>
checkEPCList
(
EpcCheckReq
req
);
//根据条件查询满足条件的数据(用于快速移库修改装备仓库id)
List
<
Inventory
>
selectEqsByItem
(
List
<
Object
[]>
searchCriteria
);
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/InventorySummaryService.java
View file @
da74ef9b
...
@@ -35,6 +35,6 @@ public interface InventorySummaryService extends IService<InventorySummary> {
...
@@ -35,6 +35,6 @@ public interface InventorySummaryService extends IService<InventorySummary> {
List
<
InventorySummary
>
EquipmentStatistics
(
InventorySumReq
req
);
List
<
InventorySummary
>
EquipmentStatistics
(
InventorySumReq
req
);
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
List
<
InventorySummary
>
selectByItems
(
List
<
Object
[]>
searchCriteria
);
List
<
InventorySummary
>
select
Sum
ByItems
(
List
<
Object
[]>
searchCriteria
);
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/OrderMainService.java
View file @
da74ef9b
...
@@ -53,4 +53,6 @@ public interface OrderMainService extends IService<OrderMain> {
...
@@ -53,4 +53,6 @@ public interface OrderMainService extends IService<OrderMain> {
OrderNum
setOrderCode
(
UpdateOrderReq
req
);
OrderNum
setOrderCode
(
UpdateOrderReq
req
);
//快速创建入库单(快速移库内容)
boolean
addQuickOrder
(
OrderMain
existOrder
);
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventoryServiceImpl.java
View file @
da74ef9b
...
@@ -601,6 +601,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
...
@@ -601,6 +601,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return
inventoryMapper
.
checkEPCList
(
req
.
getEpcList
());
return
inventoryMapper
.
checkEPCList
(
req
.
getEpcList
());
}
}
//根据条件查询满足条件的数据(用于快速移库修改装备仓库id)
@Override
public
List
<
Inventory
>
selectEqsByItem
(
List
<
Object
[]>
searchCriteria
)
{
return
inventoryMapper
.
selectEqsByItem
(
searchCriteria
);
}
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
View file @
da74ef9b
...
@@ -225,8 +225,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
...
@@ -225,8 +225,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
@Override
@Override
public
List
<
InventorySummary
>
selectByItems
(
List
<
Object
[]>
searchCriteria
)
{
public
List
<
InventorySummary
>
select
Sum
ByItems
(
List
<
Object
[]>
searchCriteria
)
{
return
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
return
inventorySummaryMapper
.
select
Sum
ByItems
(
searchCriteria
);
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
View file @
da74ef9b
...
@@ -157,7 +157,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -157,7 +157,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
searchCriteria
.
add
(
criteria
);
searchCriteria
.
add
(
criteria
);
}
}
//满足条件的数据
//满足条件的数据
List
<
InventorySummary
>
inventorySummaryList
=
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
List
<
InventorySummary
>
inventorySummaryList
=
inventorySummaryMapper
.
select
Sum
ByItems
(
searchCriteria
);
List
<
InventorySummary
>
addList
=
new
ArrayList
<>();
List
<
InventorySummary
>
addList
=
new
ArrayList
<>();
List
<
InventorySummary
>
updateList
=
new
ArrayList
<>();
List
<
InventorySummary
>
updateList
=
new
ArrayList
<>();
//遍历两者,判断数据库中是否全部存在,如果不存在,则进行增加数据操作,如果存在,则更新数据即可
//遍历两者,判断数据库中是否全部存在,如果不存在,则进行增加数据操作,如果存在,则更新数据即可
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
View file @
da74ef9b
差异被折叠。
点击展开。
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
View file @
da74ef9b
...
@@ -720,7 +720,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
...
@@ -720,7 +720,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
StartProcessInstanceDTO
startProcessInstanceDTO
=
new
StartProcessInstanceDTO
();
StartProcessInstanceDTO
startProcessInstanceDTO
=
new
StartProcessInstanceDTO
();
startProcessInstanceDTO
.
setProcessDefinitionId
(
req
.
getProcessDefinitionId
());
startProcessInstanceDTO
.
setProcessDefinitionId
(
req
.
getProcessDefinitionId
());
startProcessInstanceDTO
.
setOrderId
(
reassignment
.
getId
());
startProcessInstanceDTO
.
setOrderId
(
reassignment
.
getId
());
startProcessInstanceDTO
.
setOrderType
(
"reassigment
Order
"
);
startProcessInstanceDTO
.
setOrderType
(
"reassigment"
);
startProcessInstanceDTO
.
setUserId
(
req
.
getUserId
());
startProcessInstanceDTO
.
setUserId
(
req
.
getUserId
());
String
ProcessInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
String
ProcessInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
reassignment
.
setProcessId
(
ProcessInstanceId
);
reassignment
.
setProcessId
(
ProcessInstanceId
);
...
...
jyzb-biz/src/main/resources/mapper/InventoryMapper.xml
View file @
da74ef9b
...
@@ -466,6 +466,14 @@
...
@@ -466,6 +466,14 @@
#{item}
#{item}
</foreach>
</foreach>
</select>
</select>
<select
id=
"selectEqsByItem"
resultType=
"com.junmp.jyzb.entity.Inventory"
>
select * from base_inventory where
<foreach
collection=
"list"
item=
"item"
separator=
"or"
>
(
location_state = 'in' AND state = 'normal' AND org_id_int = ${item[0]} AND location_id = '${item[1]}' AND type_id = ${item[3]} AND size_id = '${item[2]}' AND unit_price = ${item[4]}
)
</foreach>
</select>
</mapper>
</mapper>
\ No newline at end of file
jyzb-biz/src/main/resources/mapper/InventorySummaryMapper.xml
View file @
da74ef9b
...
@@ -264,7 +264,7 @@
...
@@ -264,7 +264,7 @@
GROUP BY size_id,type_id
GROUP BY size_id,type_id
HAVING stockNumber>0
HAVING stockNumber>0
</select>
</select>
<select
id=
"selectByItems"
resultType=
"com.junmp.jyzb.entity.InventorySummary"
>
<select
id=
"select
Sum
ByItems"
resultType=
"com.junmp.jyzb.entity.InventorySummary"
>
select * from base_inventory_summary where
select * from base_inventory_summary where
<foreach
collection=
"list"
item=
"item"
separator=
"or"
>
<foreach
collection=
"list"
item=
"item"
separator=
"or"
>
(
(
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论