Compare commits
No commits in common. "8201a54327471c3e92157c05b75b433dceeeafea" and "43a059c63cde9c498e6944e069fcaa7918c2d16c" have entirely different histories.
8201a54327
...
43a059c63c
@ -19,7 +19,7 @@ public interface RepairRecordsService extends IService<RepairRecords> {
|
|||||||
* 保存维修记录
|
* 保存维修记录
|
||||||
*
|
*
|
||||||
* @param ticketId 工单id
|
* @param ticketId 工单id
|
||||||
// * @param repairItemId 工单子表id
|
* @param repairItemId 工单子表id
|
||||||
* @param type 工作类型(数据字典:repair_records_type;后端对应 RecordTypeEnum 枚举)
|
* @param type 工作类型(数据字典:repair_records_type;后端对应 RecordTypeEnum 枚举)
|
||||||
* @param remark 备注
|
* @param remark 备注
|
||||||
* @param images 图片(相对路径按照“,”分隔)
|
* @param images 图片(相对路径按照“,”分隔)
|
||||||
|
@ -8,7 +8,6 @@ import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService;
|
|||||||
import cn.iocoder.yudao.module.tickets.vo.CustomerAndCarVO;
|
import cn.iocoder.yudao.module.tickets.vo.CustomerAndCarVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.NoticeCusVO;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -294,19 +293,5 @@ public class DlRepairTicketsController {
|
|||||||
dlRepairTicketsService.confirm(respVO);
|
dlRepairTicketsService.confirm(respVO);
|
||||||
return CommonResult.ok();
|
return CommonResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 服务顾问通知客户取车
|
|
||||||
*
|
|
||||||
* @author 小李
|
|
||||||
* @date 22:40 2024/10/23
|
|
||||||
* @param noticeCusVO 请求对象
|
|
||||||
**/
|
|
||||||
@PostMapping("/noticeCus")
|
|
||||||
@Operation(summary = "服务顾问通知客户取车")
|
|
||||||
public CommonResult<?> noticeCus(@RequestBody NoticeCusVO noticeCusVO) {
|
|
||||||
dlRepairTicketsService.noticeCus(noticeCusVO);
|
|
||||||
return CommonResult.ok();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets;
|
|||||||
import cn.iocoder.yudao.module.tickets.vo.CustomerAndCarVO;
|
import cn.iocoder.yudao.module.tickets.vo.CustomerAndCarVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.NoticeCusVO;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
@ -164,13 +163,4 @@ public interface DlRepairTicketsService extends IService<DlRepairTickets> {
|
|||||||
* @param respVO 请求对象
|
* @param respVO 请求对象
|
||||||
**/
|
**/
|
||||||
void confirm(DlRepairTicketsRespVO respVO);
|
void confirm(DlRepairTicketsRespVO respVO);
|
||||||
|
|
||||||
/**
|
|
||||||
* 服务顾问通知客户取车
|
|
||||||
*
|
|
||||||
* @author 小李
|
|
||||||
* @date 22:40 2024/10/23
|
|
||||||
* @param noticeCusVO 请求对象
|
|
||||||
**/
|
|
||||||
void noticeCus(NoticeCusVO noticeCusVO);
|
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,10 @@ import cn.iocoder.yudao.module.tickets.mapper.DlRepairTicketsMapper;
|
|||||||
import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService;
|
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.CustomerAndCarVO;
|
||||||
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO;
|
||||||
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.tickets.vo.DlRepairTitemReqVO;
|
||||||
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 +55,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,7 +63,6 @@ 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;
|
||||||
|
|
||||||
@ -731,13 +731,13 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 维修总检完成总检
|
* 维修总检完成总检
|
||||||
*
|
*
|
||||||
* @param respVO 请求对象
|
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 16:48 2024/10/23
|
* @date 16:48 2024/10/23
|
||||||
|
* @param respVO 请求对象
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void inspection(DlRepairTicketsRespVO respVO) {
|
public void inspection(DlRepairTicketsRespVO respVO){
|
||||||
// 新增日志
|
// 新增日志
|
||||||
repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.ZJ.getCode(), respVO.getRemark(), respVO.getImage());
|
repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.ZJ.getCode(), respVO.getRemark(), respVO.getImage());
|
||||||
// 更新工单
|
// 更新工单
|
||||||
@ -755,12 +755,12 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 服务顾问上传出厂检验日志
|
* 服务顾问上传出厂检验日志
|
||||||
*
|
*
|
||||||
* @param respVO 请求对象
|
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 17:47 2024/10/23
|
* @date 17:47 2024/10/23
|
||||||
|
* @param respVO 请求对象
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void confirm(DlRepairTicketsRespVO respVO) {
|
public void confirm(DlRepairTicketsRespVO respVO){
|
||||||
// 更新工单状态
|
// 更新工单状态
|
||||||
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
||||||
.set(DlRepairTickets::getTicketsWorkStatus, "03")
|
.set(DlRepairTickets::getTicketsWorkStatus, "03")
|
||||||
@ -770,52 +770,6 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
// 记录日志
|
// 记录日志
|
||||||
repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.JSGD.getCode(), respVO.getRemark(), respVO.getImage());
|
repairRecordsService.saveRepairRecord(respVO.getId(), null, RecordTypeEnum.JSGD.getCode(), respVO.getRemark(), respVO.getImage());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 服务顾问通知客户取车
|
|
||||||
*
|
|
||||||
* @param noticeCusVO 请求对象
|
|
||||||
* @author 小李
|
|
||||||
* @date 22:40 2024/10/23
|
|
||||||
**/
|
|
||||||
@Override
|
|
||||||
@DSTransactional
|
|
||||||
public void noticeCus(NoticeCusVO noticeCusVO) {
|
|
||||||
// 获取客户信息
|
|
||||||
DlRepairTickets tickets = baseMapper.selectById(noticeCusVO.getId());
|
|
||||||
CustomerMain cus = customerService.getById(tickets.getUserId());
|
|
||||||
// 维修项目
|
|
||||||
List<DictDataRespDTO> repairType = dictDataApi.getDictDataList("repair_type");
|
|
||||||
// 默认是维修
|
|
||||||
String type = "维修";
|
|
||||||
DictDataRespDTO dictDataRespDTO = repairType.stream()
|
|
||||||
.filter(item -> item.getValue().equals(tickets.getRepairType()))
|
|
||||||
.findFirst()
|
|
||||||
.orElse(null);
|
|
||||||
if (dictDataRespDTO != null){
|
|
||||||
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(
|
|
||||||
"尊敬的客户您好:您的爱车%s已%s完毕,请您于%s至%s之内前来取车。若有问题可以联系%s,联系电话:%s"
|
|
||||||
, tickets.getCarNo(), type, start, end, noticeCusVO.getName(), noticeCusVO.getMobile()
|
|
||||||
);
|
|
||||||
// todo 小程序通知客户
|
|
||||||
// todo 短信通知客户
|
|
||||||
// 记录日志
|
|
||||||
String recordStr = noticeCusVO.getName()
|
|
||||||
+ "通知客户:"
|
|
||||||
+ cus.getCusName()
|
|
||||||
+ "于"
|
|
||||||
+ start
|
|
||||||
+ "至"
|
|
||||||
+ end
|
|
||||||
+ "前来取车";
|
|
||||||
repairRecordsService.saveRepairRecord(noticeCusVO.getId(), null, RecordTypeEnum.JSGD.getCode(), recordStr, null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
package cn.iocoder.yudao.module.tickets.vo;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class NoticeCusVO {
|
|
||||||
|
|
||||||
/** 维修工单ID */
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/** 取车时间 */
|
|
||||||
@Schema(pattern = "时间区间")
|
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
||||||
private Date[] time;
|
|
||||||
|
|
||||||
/** 联系人 */
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
/** 联系电话 */
|
|
||||||
private String mobile;
|
|
||||||
|
|
||||||
/** 备注 */
|
|
||||||
private String remark;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user