Compare commits
3 Commits
a4f792a0d0
...
a46846134d
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a46846134d | ||
![]() |
9c5c3343d4 | ||
![]() |
4b6734ec2d |
@ -137,12 +137,12 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
private RepairWorkerService repairWorkerService;
|
private RepairWorkerService repairWorkerService;
|
||||||
@Resource
|
|
||||||
private RepairWorkerService workerService;
|
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
private RepairRecordsService recordsService;
|
private RepairRecordsService recordsService;
|
||||||
@Autowired
|
|
||||||
|
@Resource
|
||||||
private RepairRecordsService repairRecordsService;
|
private RepairRecordsService repairRecordsService;
|
||||||
|
|
||||||
|
|
||||||
@ -331,9 +331,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 客户信息和车辆信息 新增、修改
|
* 客户信息和车辆信息 新增、修改
|
||||||
*
|
*
|
||||||
|
* @param customerAndCarVO 用户信息和车辆信息
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 9:25 2024/10/8
|
* @date 9:25 2024/10/8
|
||||||
* @param customerAndCarVO 用户信息和车辆信息
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
@ -417,9 +417,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 分类查询工单分页
|
* 分类查询工单分页
|
||||||
*
|
*
|
||||||
|
* @param repairTicketsReqVO 查询对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 16:26 2024/10/12
|
* @date 16:26 2024/10/12
|
||||||
* @param repairTicketsReqVO 查询对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public IPage<DlRepairTickets> getPageType(DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page) {
|
public IPage<DlRepairTickets> getPageType(DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page) {
|
||||||
@ -431,7 +431,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
repairTicketsReqVO.setAdviserId(String.valueOf(SecurityFrameworkUtils.getLoginUserId()));
|
repairTicketsReqVO.setAdviserId(String.valueOf(SecurityFrameworkUtils.getLoginUserId()));
|
||||||
} else if (userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
} else if (userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
||||||
//维修工,进一步判断是否是班组长
|
//维修工,进一步判断是否是班组长
|
||||||
boolean ifLeader = workerService.getIfLeader();
|
boolean ifLeader = repairWorkerService.getIfLeader();
|
||||||
if (ifLeader) {
|
if (ifLeader) {
|
||||||
//班组长,看本班组所有数据
|
//班组长,看本班组所有数据
|
||||||
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
||||||
@ -502,9 +502,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 接单
|
* 接单
|
||||||
*
|
*
|
||||||
|
* @param id 工单ID
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 11:48 2024/10/14
|
* @date 11:48 2024/10/14
|
||||||
* @param id 工单ID
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void updateTake(String id) {
|
public void updateTake(String id) {
|
||||||
@ -525,9 +525,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
/**
|
/**
|
||||||
* 指派员工,通知施工
|
* 指派员工,通知施工
|
||||||
*
|
*
|
||||||
|
* @param reqVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 15:34 2024/10/14
|
* @date 15:34 2024/10/14
|
||||||
* @param reqVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void updateRepair(DlRepairTicketsReqVO reqVO) {
|
public void updateRepair(DlRepairTicketsReqVO reqVO) {
|
||||||
@ -544,7 +544,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
if (update != 1) {
|
if (update != 1) {
|
||||||
throw exception0(500, "工单已开始");
|
throw exception0(500, "工单已开始");
|
||||||
}
|
}
|
||||||
workerService.sentMessage(reqVO.getNowRepairId(),"您有新的工单要处理");
|
repairWorkerService.sentMessage(reqVO.getNowRepairId(), "您有新的工单要处理");
|
||||||
//最后记录操作日志--指派施工
|
//最后记录操作日志--指派施工
|
||||||
repairRecordsService.saveRepairRecord(reqVO.getId(), null, RecordTypeEnum.ZPSG.getCode(), "指派施工", null);
|
repairRecordsService.saveRepairRecord(reqVO.getId(), null, RecordTypeEnum.ZPSG.getCode(), "指派施工", null);
|
||||||
}
|
}
|
||||||
@ -578,15 +578,87 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
}
|
}
|
||||||
// 记录日志
|
// 记录日志
|
||||||
recordsService.saveRepairRecord(respVO.getId(), respVO.getItem().getId(), respVO.getRecordType(), respVO.getRemark(), respVO.getImage());
|
recordsService.saveRepairRecord(respVO.getId(), respVO.getItem().getId(), respVO.getRecordType(), respVO.getRemark(), respVO.getImage());
|
||||||
|
|
||||||
|
// 通知服务顾问和维修总检
|
||||||
|
DlRepairTickets tickets = baseMapper.selectById(respVO.getId());
|
||||||
|
DlRepairTitem titem = titemService.getById(respVO.getItem().getId());
|
||||||
|
/*
|
||||||
|
消息组成:谁,对那个工单,那个项目,干了什么
|
||||||
|
谁:工单的当前施工人
|
||||||
|
对那个工单:工单号
|
||||||
|
那个项目:操作的项目
|
||||||
|
干了什么:提交的请求
|
||||||
|
干了什么有三种情况:开始施工、施工中的记录上传、施工完成
|
||||||
|
施工完成又分四种情况:阶段完成、完成并移交下一班组、完成并移交总检、完成工单,其中部分完成同开始施工、施工中的记录上传一致,只上传,不改变
|
||||||
|
*/
|
||||||
|
// 消息生成
|
||||||
|
String message = createMessage(tickets.getNowRepairName(), tickets.getTicketNo(), titem.getItemName(), respVO.getRecordType(), respVO.getFinishType(), respVO.getNextName());
|
||||||
|
// 通知服务顾问
|
||||||
|
// 如果员工完成了订单
|
||||||
|
if (respVO.getRecordType().equals("03") && respVO.getFinishType().equals("03")) {
|
||||||
|
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的工单可以交车");
|
||||||
|
} else {
|
||||||
|
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), message);
|
||||||
|
}
|
||||||
|
// 通知总检
|
||||||
|
// 总检查角色包含总检的员工
|
||||||
|
// 取这个角色的角色信息
|
||||||
|
RoleReqDTO roleInfo = roleApi.getRoleInfo(RepairRoleEnum.INSPECTION.getCode());
|
||||||
|
// 通过角色信息查有这个角色的人
|
||||||
|
List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
|
||||||
|
if (CollectionUtil.isEmpty(ids)) return;
|
||||||
|
// 如果是移交给总检就需要通知总检并让其总检
|
||||||
|
if (respVO.getRecordType().equals("03") && respVO.getFinishType().equals("02")) {
|
||||||
|
// 工单移交给总检(理论上讲只有一个总检,就算有多个这里面也只给一个)
|
||||||
|
AdminUserRespDTO user = adminUserApi.getUser(ids.get(0));
|
||||||
|
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
|
||||||
|
.set(DlRepairTickets::getNowRepairId, user.getId())
|
||||||
|
.eq(DlRepairTickets::getNowRepairName, user.getNickname()));
|
||||||
|
repairWorkerService.sentMessage(user.getId(), "您有新的工单需要总检");
|
||||||
|
} else {
|
||||||
|
ids.forEach(id -> {
|
||||||
|
repairWorkerService.sentMessage(id, message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String createMessage(String who, String no, String projectName, String type, String finishType, String nextName) {
|
||||||
|
String result = who;
|
||||||
|
switch (type) {
|
||||||
|
// 开始施工
|
||||||
|
case "kssg":
|
||||||
|
return result + "开始施工工单:" + no + "中" + projectName + "项目";
|
||||||
|
// 施工记录
|
||||||
|
case "sgz":
|
||||||
|
return result + "上传了工单:" + no + "中" + projectName + "项目的维修记录";
|
||||||
|
// 施工完成
|
||||||
|
case "sgwczj":
|
||||||
|
result = result + "完成了工单:" + no + "中" + projectName + "项目";
|
||||||
|
switch (finishType) {
|
||||||
|
// 完成并移交下一班组
|
||||||
|
case "01":
|
||||||
|
return result + "并移交工单给了" + nextName;
|
||||||
|
// 完成并移交总检
|
||||||
|
case "02":
|
||||||
|
return result + "并移交给了总检";
|
||||||
|
// 完成工单
|
||||||
|
case "03":
|
||||||
|
return who + "完成了工单";
|
||||||
|
default:
|
||||||
|
return "异常消息";
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return "异常消息";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 配件客户是否可见
|
* 配件客户是否可见
|
||||||
*
|
*
|
||||||
* @author 小李
|
|
||||||
* @date 21:52 2024/10/18
|
|
||||||
* @param id 工单ID
|
* @param id 工单ID
|
||||||
* @param show 是否可见 1可见, 0不可见
|
* @param show 是否可见 1可见, 0不可见
|
||||||
|
* @author 小李
|
||||||
|
* @date 21:52 2024/10/18
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void updateShow(String id, String show) {
|
public void updateShow(String id, String show) {
|
||||||
|
@ -14,6 +14,9 @@ import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi;
|
|||||||
import cn.iocoder.yudao.module.stockOperate.mapper.DlRepairSoMapper;
|
import cn.iocoder.yudao.module.stockOperate.mapper.DlRepairSoMapper;
|
||||||
import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService;
|
import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService;
|
||||||
import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService;
|
import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService;
|
||||||
|
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||||
import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets;
|
import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets;
|
||||||
import cn.iocoder.yudao.module.tickets.entity.DlRepairTitem;
|
import cn.iocoder.yudao.module.tickets.entity.DlRepairTitem;
|
||||||
import cn.iocoder.yudao.module.tickets.entity.DlTicketWares;
|
import cn.iocoder.yudao.module.tickets.entity.DlTicketWares;
|
||||||
@ -80,11 +83,17 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
private RepairWaresService repairWaresService;
|
private RepairWaresService repairWaresService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RepairWorkerService workerService;
|
|
||||||
@Autowired
|
|
||||||
@Lazy
|
@Lazy
|
||||||
private DlRepairSoMapper dlRepairSoMapper;
|
private DlRepairSoMapper dlRepairSoMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
@Lazy
|
||||||
|
private RoleApi roleApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
@Lazy
|
||||||
|
private PermissionApi permissionApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
*
|
*
|
||||||
@ -103,7 +112,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
reqVO.setAdviserId(SecurityFrameworkUtils.getLoginUserId());
|
reqVO.setAdviserId(SecurityFrameworkUtils.getLoginUserId());
|
||||||
} else if (userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
} else if (userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
||||||
//维修工,进一步判断是否是班组长
|
//维修工,进一步判断是否是班组长
|
||||||
boolean ifLeader = workerService.getIfLeader();
|
boolean ifLeader = repairWorkerService.getIfLeader();
|
||||||
if (ifLeader) {
|
if (ifLeader) {
|
||||||
//班组长,看本班组所有数据
|
//班组长,看本班组所有数据
|
||||||
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
||||||
@ -173,6 +182,20 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
throw exception0(500, "配件列表为空");
|
throw exception0(500, "配件列表为空");
|
||||||
}
|
}
|
||||||
twItemService.saveOrUpdateBatch(list);
|
twItemService.saveOrUpdateBatch(list);
|
||||||
|
|
||||||
|
// 通知对应的维修服务顾问和总检
|
||||||
|
// 维修服务顾问即创建工单时选的是谁
|
||||||
|
DlRepairTickets tickets = repairTicketsService.getById(respVO.getTicketId());
|
||||||
|
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的配件申请单需要审核");
|
||||||
|
// 总检查角色包含总检的员工
|
||||||
|
// 取这个角色的角色信息
|
||||||
|
RoleReqDTO roleInfo = roleApi.getRoleInfo(RepairRoleEnum.INSPECTION.getCode());
|
||||||
|
// 通过角色信息查有这个角色的人
|
||||||
|
List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
|
||||||
|
// 发通知
|
||||||
|
if (CollectionUtil.isNotEmpty(ids)){
|
||||||
|
ids.forEach(id -> repairWorkerService.sentMessage(id, "您有新的配件申请单需要审核"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -236,6 +259,13 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
item.setItemStatus("08");
|
item.setItemStatus("08");
|
||||||
});
|
});
|
||||||
repairTitemService.saveBatch(respVO.getWares());
|
repairTitemService.saveBatch(respVO.getWares());
|
||||||
|
|
||||||
|
// 发送通过的消息给仓库
|
||||||
|
RoleReqDTO roleInfo = roleApi.getRoleInfo(RepairRoleEnum.WAREHOUSE.getCode());
|
||||||
|
List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
|
||||||
|
if (CollectionUtil.isNotEmpty(ids)){
|
||||||
|
ids.forEach(id -> repairWorkerService.sentMessage(id, "您有新的配件申请单需要处理"));
|
||||||
|
}
|
||||||
} else if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("02")) {
|
} else if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("02")) {
|
||||||
// 如果通过退料,也需要更新
|
// 如果通过退料,也需要更新
|
||||||
// 更新维修工单
|
// 更新维修工单
|
||||||
@ -279,6 +309,10 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 发送没有通过的消息给员工
|
||||||
|
DlTicketWares ticketWares = baseMapper.selectById(respVO.getId());
|
||||||
|
repairWorkerService.sentMessage(ticketWares.getRepairId(), "您的配件申请单被驳回了");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,4 +48,15 @@ public class DlRepairTicketsRespVO extends DlRepairTickets {
|
|||||||
List<DlRepairTitemReqVO> wares;
|
List<DlRepairTitemReqVO> wares;
|
||||||
List<DlRepairTitemReqVO> projects;
|
List<DlRepairTitemReqVO> projects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修工完成的类别
|
||||||
|
* 01:完成并移交下一班组
|
||||||
|
* 02:完成并移交总检
|
||||||
|
* 03:完成工单
|
||||||
|
*/
|
||||||
|
private String finishType;
|
||||||
|
|
||||||
|
/** 如果是完成并移交下一班组,就有移交给了那一个班组 */
|
||||||
|
private String nextName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user