|
|
@@ -1,6 +1,7 @@
|
|
|
package com.kxs.store.biz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.lang.Snowflake;
|
|
|
import cn.hutool.core.util.EnumUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
@@ -12,6 +13,7 @@ import com.kxs.common.core.constant.SecurityConstants;
|
|
|
import com.kxs.common.core.constant.enums.BrandTypeEnum;
|
|
|
import com.kxs.common.core.constant.enums.ErrorTypeEnum;
|
|
|
import com.kxs.common.core.constant.enums.KindTypeEnum;
|
|
|
+import com.kxs.common.core.constant.enums.MachineTypeEnum;
|
|
|
import com.kxs.common.core.exception.GlobalCustomerException;
|
|
|
import com.kxs.common.core.util.R;
|
|
|
import com.kxs.common.core.util.RetOps;
|
|
|
@@ -27,6 +29,8 @@ import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalDetailVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.StoreOrderDetailVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.StoreOrderListVO;
|
|
|
+import com.kxs.store.api.vo.kxsapp.userOrder.UserApplyMachineDetailVO;
|
|
|
+import com.kxs.store.api.vo.kxsapp.userOrder.UserApplyMahineListVO;
|
|
|
import com.kxs.store.biz.constant.StoreConstants;
|
|
|
import com.kxs.store.biz.constant.enums.*;
|
|
|
import com.kxs.store.biz.mapper.*;
|
|
|
@@ -37,6 +41,7 @@ import com.kxs.system.api.util.MsgTemplateUtil;
|
|
|
import com.kxs.user.api.feign.RemoteKxsUserService;
|
|
|
import com.kxs.user.api.model.KxsUser;
|
|
|
import com.kxs.user.api.model.KxsUserAdvance;
|
|
|
+import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -45,6 +50,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
@@ -81,6 +88,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
private final KxsSendTotalService kxsSendTotalService;
|
|
|
|
|
|
@Override
|
|
|
+ @GlobalTransactional
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R applyMachine(ApplyMachineDTO param) {
|
|
|
|
|
|
@@ -91,7 +99,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
|
|
|
KxsMachineApply order = new KxsMachineApply();
|
|
|
BeanUtils.copyProperties(param, order);
|
|
|
- order.setOrderSn(String.valueOf(orderSn));
|
|
|
+ order.setOrderSn("BA" + orderSn);
|
|
|
//查询申请用户
|
|
|
R<KxsUser> userResult = remoteKxsUserService.loadUserById(userId.intValue(), SecurityConstants.FROM_IN);
|
|
|
KxsUser user = RetOps.of(userResult)
|
|
|
@@ -102,8 +110,14 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
order.setUserCode(user.getUserCode());
|
|
|
//预发机申请
|
|
|
if(param.getIsAdvance() == 1){
|
|
|
- order.setStatus(MachineOrderEnum.APPLY_SUCCESSFUL.getType());
|
|
|
+ order.setStatus(MachineOrderStatusEnum.APPLY_SUCCESSFUL.getType());
|
|
|
}
|
|
|
+ //查询品牌
|
|
|
+ R<KxsBrand> kxsBrandR = remoteKxsProductService.loadByBrand(param.getBrandId(), SecurityConstants.FROM_IN);
|
|
|
+ KxsBrand brand = RetOps.of(kxsBrandR)
|
|
|
+ .getData()
|
|
|
+ .orElseThrow(() -> new GlobalCustomerException(StoreErrorTypeEnum.DATA_ERROR.getDescription()));
|
|
|
+ order.setBrandName(brand.getName());
|
|
|
//添加订单
|
|
|
baseMapper.insert(order);
|
|
|
|
|
|
@@ -111,8 +125,8 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
//预发机
|
|
|
List<String> advanceList = param.getAdvanceList();
|
|
|
for (int i = 0; i < snList.size(); i++) {
|
|
|
+
|
|
|
String sn = snList.get(i);
|
|
|
- String advanceSn = advanceList.get(i);
|
|
|
//新增订单详情
|
|
|
KxsMachineApplyDetail orderDetail = new KxsMachineApplyDetail();
|
|
|
orderDetail.setOrderId(order.getId());
|
|
|
@@ -132,7 +146,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
throw new GlobalCustomerException(StoreErrorTypeEnum.TICKET_CODE_UN.getDescription());
|
|
|
}
|
|
|
//冻结券码,发货后 驳回改回未使用 通过修改为已使用
|
|
|
- ticket.setStatus(TicketStatusEnum.TICKET_USED.getType());
|
|
|
+ ticket.setStatus(TicketStatusEnum.TICKET_FREEZE.getType());
|
|
|
R<Boolean> result = remoteKxsProductService.updateByTicket(ticket, SecurityConstants.FROM_IN);
|
|
|
if(!result.getData()){
|
|
|
throw new GlobalCustomerException(StoreErrorTypeEnum.DATA_ERROR.getDescription());
|
|
|
@@ -164,6 +178,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
|
|
|
//预发机申请
|
|
|
if(param.getIsAdvance() == 1){
|
|
|
+ String advanceSn = advanceList.get(i);
|
|
|
//查询机具
|
|
|
R<KxsMachine> machineResult = remoteKxsProductService.loadMachineBySn(advanceSn, SecurityConstants.FROM_IN);
|
|
|
KxsMachine adMachine = RetOps.of(machineResult)
|
|
|
@@ -173,11 +188,6 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
KxsMachineAdvanceInfo kxsMachineAdvance = kxsMachineAdvanceInfoMapper.selectOne(Wrappers.<KxsMachineAdvanceInfo>lambdaQuery()
|
|
|
.eq(KxsMachineAdvanceInfo::getPosSn, advanceSn));
|
|
|
|
|
|
- //查询机具品牌
|
|
|
- R<KxsBrand> brandResult = remoteKxsProductService.loadByBrand(adMachine.getBrandId(), SecurityConstants.FROM_IN);
|
|
|
- KxsBrand brand = RetOps.of(brandResult)
|
|
|
- .getData()
|
|
|
- .orElseThrow(() -> new GlobalCustomerException(StoreErrorTypeEnum.DATA_ERROR.getDescription()));
|
|
|
if (kxsMachineAdvance == null ) {
|
|
|
throw new GlobalCustomerException(StoreErrorTypeEnum.ADVANCE_MACHINE_NOT_FIND.getDescription());
|
|
|
}
|
|
|
@@ -194,7 +204,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
//占用自己的预发额度
|
|
|
if (kxsMachineAdvance.getIsUseAmount() == 1) {
|
|
|
//小分仓减少已用额度 刷新可用额度
|
|
|
- Integer price = EnumUtil.getFieldBy(BrandTypeEnum::getType, BrandTypeEnum::getType, brand.getBrandType());
|
|
|
+ Integer price = EnumUtil.getFieldBy(BrandTypeEnum::getType, BrandTypeEnum::getDescription, String.valueOf(brand.getBrandType()));
|
|
|
kxsWarehouseLimitService.refreshUserAmount(userId.intValue(), price, KindTypeEnum.SUB.getType());
|
|
|
}
|
|
|
//已经添加到预扣款
|
|
|
@@ -223,6 +233,9 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
adMachine.setUserId(userId.intValue());
|
|
|
//修改为申请的机具类型
|
|
|
adMachine.setMachineType(param.getApplyType());
|
|
|
+ //修改机具已出库
|
|
|
+ adMachine.setStatus(MachineTypeEnum.STATUS_OUT.getType());
|
|
|
+ adMachine.setDeliveryTime(LocalDateTime.now());
|
|
|
//如果是循环申请则继承循环机时间
|
|
|
if(param.getApplyType().equals(MachineOrderEnum.M_TYPE_RE.getType())){
|
|
|
//继承循环起止时间并变更为可循环
|
|
|
@@ -231,7 +244,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
}
|
|
|
R<Boolean> result = remoteKxsProductService.updateByMachine(adMachine, SecurityConstants.FROM_IN);
|
|
|
if(!result.getData()){
|
|
|
- throw new GlobalCustomerException(StoreErrorTypeEnum.DATA_ERROR.getDescription());
|
|
|
+ throw new GlobalCustomerException(ErrorTypeEnum.REMOTE_DATA_ERROR.getDescription());
|
|
|
}
|
|
|
//机具已绑定 机具满足激活条件 && 绑定至申请时间 ≤ 30min
|
|
|
if (adMachine.getBindStatus() == 1 ) {
|
|
|
@@ -265,6 +278,8 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @GlobalTransactional
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public R storeOrderTransferUser(StoreOrderTransferUserDTO param) {
|
|
|
|
|
|
Long userId = SecurityUtils.getUser().getId();
|
|
|
@@ -273,9 +288,14 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
if(order == null){
|
|
|
return R.failed(StoreErrorTypeEnum.ORDER_NULL.getDescription());
|
|
|
}
|
|
|
- if(!Objects.equals(order.getStatus(), MachineOrderEnum.UNDER_REVIEW.getType())){
|
|
|
+ if(!Objects.equals(order.getStatus(), MachineOrderStatusEnum.UNDER_REVIEW.getType())){
|
|
|
return R.failed(StoreErrorTypeEnum.ORDER_REPETITION_SUBMIT.getDescription());
|
|
|
}
|
|
|
+ //查询仓库
|
|
|
+ KxsWarehouse warehouse = kxsWarehouseMapper.selectById(order.getWarehouseId());
|
|
|
+ if(warehouse == null || warehouse.getUserId() != userId.intValue()){
|
|
|
+ return R.failed(StoreErrorTypeEnum.WAREHOUSE_NOT_FIND.getDescription());
|
|
|
+ }
|
|
|
List<KxsMachineApplyDetail> orderDetails = kxsMachineApplyDetailMapper.selectList(Wrappers.<KxsMachineApplyDetail>lambdaQuery().eq(KxsMachineApplyDetail::getOrderId, order.getId()));
|
|
|
List<String> snList = param.getSnList();
|
|
|
//申请数量对应不上
|
|
|
@@ -292,14 +312,14 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
KxsMachine machine = RetOps.of(machineResult)
|
|
|
.getData()
|
|
|
.orElseThrow(() -> new GlobalCustomerException(StoreErrorTypeEnum.SN_FIND_NULL.getDescription()));
|
|
|
-
|
|
|
+ if(machine.getStatus() != 0){
|
|
|
+ throw new GlobalCustomerException(machine.getPosSn() + "机具状态不是在库!");
|
|
|
+ }
|
|
|
|
|
|
//划拨给订单用户
|
|
|
machine.setUserId(order.getUserId());
|
|
|
- //在库才修改状态为出库
|
|
|
- if(machine.getStatus() == 0){
|
|
|
- machine.setStatus(1);
|
|
|
- }
|
|
|
+ //修改状态为出库
|
|
|
+ machine.setStatus(MachineTypeEnum.STATUS_OUT.getType());
|
|
|
//如果为兑换机设置循环时间并设置为可循环申请
|
|
|
if (order.getApplyType().equals(MachineOrderEnum.M_TYPE_SN.getType())) {
|
|
|
machine.setRecycleEndTime(LocalDateTime.now().plusDays(StoreConstants.RECYC_MAX_DAY));
|
|
|
@@ -335,6 +355,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
|
|
|
//订单详情绑定机具
|
|
|
orderDetail.setMachineId(machine.getId());
|
|
|
+ orderDetail.setPosSn(machine.getPosSn());
|
|
|
kxsMachineApplyDetailMapper.updateById(orderDetail);
|
|
|
|
|
|
if (machine.getBindStatus() == 1 ) {
|
|
|
@@ -351,14 +372,14 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
//新增仓库日志记录
|
|
|
kxsWarehouseStockLogService.addKxsWarehouseStockLog(order.getWarehouseId(), order.getBrandId(), warehouseStock, KindTypeEnum.SUB.getType(), 1, snList.size());
|
|
|
//修改订单状态
|
|
|
- order.setStatus(MachineOrderEnum.APPLY_SUCCESSFUL.getType());
|
|
|
+ order.setStatus(MachineOrderStatusEnum.APPLY_SUCCESSFUL.getType());
|
|
|
baseMapper.updateById(order);
|
|
|
//刷新仓库额度
|
|
|
R<KxsBrand> kxsBrandR = remoteKxsProductService.loadByBrand(order.getBrandId(), SecurityConstants.FROM_IN);
|
|
|
KxsBrand kxsBrand = RetOps.of(kxsBrandR)
|
|
|
.getData()
|
|
|
.orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.REMOTE_DATA_ERROR.getDescription()));
|
|
|
- Integer price = EnumUtil.getFieldBy(BrandTypeEnum::getType, BrandTypeEnum::getType, kxsBrand.getBrandType());
|
|
|
+ Integer price = EnumUtil.getFieldBy(BrandTypeEnum::getType, BrandTypeEnum::getDescription, String.valueOf(kxsBrand.getBrandType()));
|
|
|
int amount = snList.size() * price;
|
|
|
//减少仓库已用额度增加仓库可用额度
|
|
|
kxsWarehouseLimitService.refreshWarehouseAmount(userId.intValue(), amount, KindTypeEnum.SUB.getType());
|
|
|
@@ -375,7 +396,7 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
IPage<StoreOrderListVO> byPage = baseMapper.getByPage(page, param);
|
|
|
//如果已完成的订单才去查询机具号
|
|
|
for (StoreOrderListVO orderListVo : byPage.getRecords()) {
|
|
|
- if (Objects.equals(orderListVo.getStatus(), MachineOrderEnum.APPLY_SUCCESSFUL.getType())) {
|
|
|
+ if (Objects.equals(orderListVo.getStatus(), MachineOrderStatusEnum.APPLY_SUCCESSFUL.getType())) {
|
|
|
List<KxsMachineApplyDetail> orderDetails = kxsMachineApplyDetailMapper.selectList(Wrappers.<KxsMachineApplyDetail>lambdaQuery().eq(KxsMachineApplyDetail::getOrderId, orderListVo.getId()));
|
|
|
orderListVo.setSnList(orderDetails.stream().map(KxsMachineApplyDetail::getPosSn).collect(Collectors.toList()));
|
|
|
}
|
|
|
@@ -400,13 +421,13 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
public R orderCancel(KxsMachineApply param) {
|
|
|
KxsMachineApply order = baseMapper.selectById(param.getId());
|
|
|
|
|
|
- if(Objects.equals(order.getStatus(), MachineOrderEnum.APPLY_SUCCESSFUL.getType())){
|
|
|
+ if(Objects.equals(order.getStatus(), MachineOrderStatusEnum.APPLY_SUCCESSFUL.getType())){
|
|
|
return R.failed(StoreErrorTypeEnum.ORDER_REPETITION_TRANSFER.getDescription());
|
|
|
}
|
|
|
- if(Objects.equals(order.getStatus(), MachineOrderEnum.REJECTED.getType())){
|
|
|
+ if(Objects.equals(order.getStatus(), MachineOrderStatusEnum.REJECTED.getType())){
|
|
|
return R.failed(StoreErrorTypeEnum.ORDER_REPETITION_CANCEL.getDescription());
|
|
|
}
|
|
|
- order.setStatus(MachineOrderEnum.REJECTED.getType());
|
|
|
+ order.setStatus(MachineOrderStatusEnum.REJECTED.getType());
|
|
|
baseMapper.updateById(order);
|
|
|
//查询订单详情回退券码状态
|
|
|
List<KxsMachineApplyDetail> orderDetail = kxsMachineApplyDetailMapper.selectList(Wrappers.<KxsMachineApplyDetail>lambdaQuery().eq(KxsMachineApplyDetail::getOrderId, param.getId()));
|
|
|
@@ -467,21 +488,20 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
@Override
|
|
|
public IPage<OrderMonthTotalDetailVO> orderMonthTotalDetail(Page<OrderMonthTotalDetailVO> page, OrderMonthTotalDetailDTO param) {
|
|
|
|
|
|
- String month = param.getMonth();
|
|
|
+ //组装本月日期
|
|
|
+ String month = param.getMonth() + "-01";
|
|
|
//根据月份获取本月开始时间和结束时间
|
|
|
- LocalDate monthDate = LocalDate.parse(month, DatePattern.NORM_MONTH_FORMATTER);
|
|
|
+ LocalDate monthDate = LocalDate.parse(month, DatePattern.NORM_DATE_FORMATTER);
|
|
|
LocalDateTime monthStartTime = LocalDateTime.of(monthDate, LocalTime.MIN);
|
|
|
- LocalDateTime monthEndTime = LocalDateTime.of(monthDate.plusMonths(1), LocalTime.MAX);
|
|
|
+ LocalDateTime monthEndTime = LocalDateTime.of(monthDate.plusMonths(1), LocalTime.MIN);
|
|
|
|
|
|
param.setStartDate(String.valueOf(monthStartTime));
|
|
|
param.setEndDate(String.valueOf(monthEndTime));
|
|
|
IPage<OrderMonthTotalDetailVO> byPage = baseMapper.orderMonthTotalDetail(page, param);
|
|
|
|
|
|
for (OrderMonthTotalDetailVO record : byPage.getRecords()) {
|
|
|
-
|
|
|
- String date = record.getDate();
|
|
|
- String startTime = date + " 00:00:00";
|
|
|
- String endTime = date + " 23:59:59";
|
|
|
+ String startTime = record.getDate() + " 00:00:00";
|
|
|
+ String endTime = record.getDate() + " 23:59:59";
|
|
|
//查询当天发出的机器
|
|
|
List<String> snList = kxsMachineApplyDetailMapper.listDateQueries(param.getWarehouseId(), param.getBrandId(),
|
|
|
startTime, endTime);
|
|
|
@@ -491,6 +511,54 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
return byPage;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public IPage<UserApplyMahineListVO> userApplyMachineList(Page<UserApplyMahineListVO> page) {
|
|
|
+
|
|
|
+ IPage<UserApplyMahineListVO> pageList = baseMapper.userApplyMachineList(page, SecurityUtils.getUser().getId());
|
|
|
+ for (UserApplyMahineListVO record : pageList.getRecords()) {
|
|
|
+ String statusNo = EnumUtil.getFieldBy(MachineOrderStatusEnum::getDescription, MachineOrderStatusEnum::getType, record.getStatus());
|
|
|
+ record.setStatusNo(statusNo);
|
|
|
+ }
|
|
|
+ return pageList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public UserApplyMachineDetailVO userApplyMachineDetail(Long id) {
|
|
|
+
|
|
|
+ UserApplyMachineDetailVO userApplyMachineDetailVO = new UserApplyMachineDetailVO();
|
|
|
+ KxsMachineApply order = baseMapper.selectById(id);
|
|
|
+ BeanUtils.copyProperties(order, userApplyMachineDetailVO);
|
|
|
+ //查询仓库
|
|
|
+ KxsWarehouse warehouse = kxsWarehouseMapper.selectById(order.getWarehouseId());
|
|
|
+ userApplyMachineDetailVO.setWarehouseName(warehouse.getWarehouseName() + "--" + warehouse.getBrandName());
|
|
|
+ userApplyMachineDetailVO.setWarehousePhone(warehouse.getWarehousePhone());
|
|
|
+
|
|
|
+ //订单状态
|
|
|
+ String statusNo = EnumUtil.getFieldBy(MachineOrderStatusEnum::getDescription, MachineOrderStatusEnum::getType, order.getStatus());
|
|
|
+ userApplyMachineDetailVO.setStatusNo(statusNo);
|
|
|
+ //查询订单详情
|
|
|
+ List<KxsMachineApplyDetail> orderInfos = kxsMachineApplyDetailMapper.selectList(Wrappers.lambdaQuery(KxsMachineApplyDetail.class).eq(KxsMachineApplyDetail::getOrderId, order.getId()));
|
|
|
+ //兑换机申请
|
|
|
+ if(Objects.equals(order.getApplyType(), MachineOrderEnum.M_TYPE_SN.getType())){
|
|
|
+ List<String> snList = orderInfos.stream().map(KxsMachineApplyDetail::getTicketCode).toList();
|
|
|
+ userApplyMachineDetailVO.setSnList(snList);
|
|
|
+ }else{
|
|
|
+ //循环机申请
|
|
|
+ for (KxsMachineApplyDetail orderInfo : orderInfos) {
|
|
|
+ R<KxsMachine> kxsMachineR = remoteKxsProductService.loadMachineById(orderInfo.getRecycleMachineId(), SecurityConstants.FROM_IN);
|
|
|
+ KxsMachine machine = RetOps.of(kxsMachineR)
|
|
|
+ .getData()
|
|
|
+ .orElseThrow(() -> new GlobalCustomerException(StoreErrorTypeEnum.SN_FIND_NULL.getDescription()));
|
|
|
+ //兑换机
|
|
|
+ if(Objects.equals(machine.getMachineType(), MachineTypeEnum.M_TYPE_SN.getType())){
|
|
|
+ userApplyMachineDetailVO.getSnList().add(machine.getPosSn() + ":" + MachineTypeEnum.M_TYPE_SN.getDescription());
|
|
|
+ }else{
|
|
|
+ userApplyMachineDetailVO.getSnList().add(machine.getPosSn() + ":" + MachineTypeEnum.M_TYPE_RE.getDescription());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return userApplyMachineDetailVO;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|