1
This commit is contained in:
parent
8ed75b1daf
commit
300067ae1f
@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单操作记录-工作类型枚举
|
* 工单操作记录-工作类型枚举(repair_records_type)
|
||||||
*
|
*
|
||||||
* @author vinjor-m
|
* @author vinjor-m
|
||||||
*/
|
*/
|
||||||
@ -39,6 +39,10 @@ public enum RecordTypeEnum {
|
|||||||
* 结束工单
|
* 结束工单
|
||||||
*/
|
*/
|
||||||
JSGD("jsgd","结束工单"),
|
JSGD("jsgd","结束工单"),
|
||||||
|
/**
|
||||||
|
* 通知客户取车
|
||||||
|
*/
|
||||||
|
TZQC("tzqc","通知客户取车"),
|
||||||
/**
|
/**
|
||||||
* 开始施工
|
* 开始施工
|
||||||
*/
|
*/
|
||||||
|
@ -11,4 +11,9 @@ public class RepairCons {
|
|||||||
public static final String TICKETS_WAITING = "waiting";
|
public static final String TICKETS_WAITING = "waiting";
|
||||||
/**工单-所有*/
|
/**工单-所有*/
|
||||||
public static final String TICKETS_ALL = "all";
|
public static final String TICKETS_ALL = "all";
|
||||||
|
|
||||||
|
/**数据字典常量-repair_records_type-*/
|
||||||
|
public static final String DICT_REPAIR_RECORDS_TYPE = "repair_records_type";
|
||||||
|
/**数据字典常量-repair_type-*/
|
||||||
|
public static final String DICT_REPAIR_TYPE = "repair_type";
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修工单状态枚举
|
* 维修工单状态枚举(repair_tickets_status)
|
||||||
*
|
*
|
||||||
* @author vinjor-m
|
* @author vinjor-m
|
||||||
*/
|
*/
|
||||||
@ -23,6 +23,10 @@ public enum TicketsStatusEnum {
|
|||||||
* 未结账
|
* 未结账
|
||||||
*/
|
*/
|
||||||
NO_PAY("01","未结账"),
|
NO_PAY("01","未结账"),
|
||||||
|
/**
|
||||||
|
* 待通知客户取车
|
||||||
|
*/
|
||||||
|
WAITING_NOTICE("07","待通知客户取车"),
|
||||||
/**
|
/**
|
||||||
* 挂单/记账
|
* 挂单/记账
|
||||||
*/
|
*/
|
||||||
|
@ -44,6 +44,7 @@ import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService;
|
|||||||
import cn.iocoder.yudao.module.tickets.service.DlRepairTitemService;
|
import cn.iocoder.yudao.module.tickets.service.DlRepairTitemService;
|
||||||
import cn.iocoder.yudao.module.tickets.tools.WordUtil;
|
import cn.iocoder.yudao.module.tickets.tools.WordUtil;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.*;
|
import cn.iocoder.yudao.module.tickets.vo.*;
|
||||||
|
import cn.iocoder.yudao.util.SendSmsUtil;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@ -52,8 +53,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.formula.functions.Na;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -62,11 +61,12 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.common.BaseConstants.ORDER_TENANT_NAME;
|
import static cn.iocoder.yudao.common.BaseConstants.ORDER_TENANT_NAME;
|
||||||
|
import static cn.iocoder.yudao.common.RepairCons.DICT_REPAIR_RECORDS_TYPE;
|
||||||
|
import static cn.iocoder.yudao.common.RepairCons.DICT_REPAIR_TYPE;
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||||
|
|
||||||
@ -306,7 +306,10 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
RepairRecordsPageReqVO entity = new RepairRecordsPageReqVO();
|
RepairRecordsPageReqVO entity = new RepairRecordsPageReqVO();
|
||||||
entity.setTicketId(id);
|
entity.setTicketId(id);
|
||||||
List<RepairRecordsRespVO> records = repairRecordsService.queryList(entity);
|
List<RepairRecordsRespVO> records = repairRecordsService.queryList(entity);
|
||||||
result.setRecords(records);
|
// 操作记录类型
|
||||||
|
List<DictDataRespDTO> recordTypeList = dictDataApi.getDictDataList(DICT_REPAIR_RECORDS_TYPE);
|
||||||
|
Map<String,String> typeMap = recordTypeList.stream().collect(Collectors.toMap(DictDataRespDTO::getValue,DictDataRespDTO::getLabel));
|
||||||
|
result.setRecords(records.stream().peek(item->item.setType(typeMap.get(item.getType()))).collect(Collectors.toList()));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -768,6 +771,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
// 更新工单状态
|
// 更新工单状态
|
||||||
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
||||||
.set(DlRepairTickets::getTicketsWorkStatus, TicketsWorkStatusEnum.END.getCode())
|
.set(DlRepairTickets::getTicketsWorkStatus, TicketsWorkStatusEnum.END.getCode())
|
||||||
|
.set(DlRepairTickets::getTicketsStatus, TicketsStatusEnum.WAITING_NOTICE.getCode())
|
||||||
.eq(DlRepairTickets::getId, respVO.getId())
|
.eq(DlRepairTickets::getId, respVO.getId())
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -814,9 +818,14 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
public void noticeCus(NoticeCusVO noticeCusVO) {
|
public void noticeCus(NoticeCusVO noticeCusVO) {
|
||||||
// 获取客户信息
|
// 获取客户信息
|
||||||
DlRepairTickets tickets = baseMapper.selectById(noticeCusVO.getId());
|
DlRepairTickets tickets = baseMapper.selectById(noticeCusVO.getId());
|
||||||
|
// 更新工单状态为待结算(待取车)
|
||||||
|
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
||||||
|
.set(DlRepairTickets::getTicketsStatus, TicketsStatusEnum.NO_PAY.getCode())
|
||||||
|
.eq(DlRepairTickets::getId, noticeCusVO.getId())
|
||||||
|
);
|
||||||
CustomerMain cus = customerService.getById(tickets.getUserId());
|
CustomerMain cus = customerService.getById(tickets.getUserId());
|
||||||
// 维修项目
|
// 维修项目
|
||||||
List<DictDataRespDTO> repairType = dictDataApi.getDictDataList("repair_type");
|
List<DictDataRespDTO> repairType = dictDataApi.getDictDataList(DICT_REPAIR_TYPE);
|
||||||
// 默认是维修
|
// 默认是维修
|
||||||
String type = "维修";
|
String type = "维修";
|
||||||
DictDataRespDTO dictDataRespDTO = repairType.stream()
|
DictDataRespDTO dictDataRespDTO = repairType.stream()
|
||||||
@ -827,25 +836,19 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
type = dictDataRespDTO.getLabel();
|
type = dictDataRespDTO.getLabel();
|
||||||
}
|
}
|
||||||
// 构建消息
|
// 构建消息
|
||||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
||||||
String start = format.format(noticeCusVO.getTime()[0]);
|
|
||||||
String end = format.format(noticeCusVO.getTime()[1]);
|
|
||||||
String message = String.format(
|
String message = String.format(
|
||||||
"尊敬的客户您好:您的爱车%s已%s完毕,请您于%s至%s之内前来取车。若有问题可以联系%s,联系电话:%s"
|
"尊敬的客户您好:您的爱车%s已%s完毕,请您前来取车。若有问题可以联系%s,联系电话:%s"
|
||||||
, tickets.getCarNo(), type, start, end, noticeCusVO.getName(), noticeCusVO.getMobile()
|
, tickets.getCarNo(), type, noticeCusVO.getName(), noticeCusVO.getMobile()
|
||||||
);
|
);
|
||||||
// todo 小程序通知客户
|
// todo 小程序通知客户
|
||||||
// todo 短信通知客户
|
if(null!=cus && StringUtils.isNotEmpty(cus.getPhoneNumber())){
|
||||||
|
// 短信通知客户
|
||||||
|
SendSmsUtil.sendMsgCommon(new String[]{message}, cus.getPhoneNumber(), "1400852709", "蓝安汽车小程序", "2143603");
|
||||||
|
}
|
||||||
// 记录日志
|
// 记录日志
|
||||||
String recordStr = noticeCusVO.getName()
|
String recordStr = noticeCusVO.getName()
|
||||||
+ "通知客户:"
|
+ "通知客户取车:"+message;
|
||||||
+ cus.getCusName()
|
repairRecordsService.saveRepairRecord(noticeCusVO.getId(), null, RecordTypeEnum.TZQC.getCode(), recordStr, null);
|
||||||
+ "于"
|
|
||||||
+ start
|
|
||||||
+ "至"
|
|
||||||
+ end
|
|
||||||
+ "前来取车";
|
|
||||||
repairRecordsService.saveRepairRecord(noticeCusVO.getId(), null, RecordTypeEnum.JSGD.getCode(), recordStr, null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user