维保短信提醒

master
薛宏祥 1 year ago
parent 1a348c5560
commit 6c7fb48b83
  1. 704
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  2. 66
      src/main/java/org/springblade/modules/business/sms/SmsService.java
  3. 15
      src/main/resources/application-dev.yml

@ -1,5 +1,6 @@
package org.springblade.modules.business.contraller;
import com.aliyuncs.exceptions.ClientException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -21,6 +22,7 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskD
import org.springblade.modules.business.service.IMaintenancePlanService;
import org.springblade.modules.business.service.IMaintenanceTaskDetailService;
import org.springblade.modules.business.service.IMaintenanceTaskService;
import org.springblade.modules.business.sms.SmsService;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
@ -38,355 +40,355 @@ import java.util.List;
@Tag(name = "维保控制器", description = "维控制器")
public class MaintenanceController extends BladeController {
private final IMaintenancePlanService planService;
private final IMaintenanceTaskService taskService;
private final IMaintenanceTaskDetailService taskDetailService;
/*---------- 维修计划开始 ----------*/
@GetMapping("/plan-page")
@Operation(summary = "维保计划列表", description = "维保计划列表")
public R<IPage<MaintenancePlan>> planPage(MaintenancePlan plan, Query query) {
LambdaQueryWrapper<MaintenancePlan> wrapper = Wrappers.lambdaQuery(plan).orderByDesc(MaintenancePlan::getCreateTime);
IPage<MaintenancePlan> pages = this.planService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/plan-detail")
@Operation(summary = "维保计划明细", description = "维保计划明细")
public R planDetail(MaintenancePlan plan) {
return R.data(this.planService.planDetail(plan));
}
@PostMapping("/plan-create")
@Operation(summary = "创建维保计划", description = "创建维保计划")
public R planCreate(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.create(plan));
}
@PostMapping("/plan-update")
@Operation(summary = "修改维保计划", description = "修改维保计划")
public R planUpdate(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.planUpdate(plan));
}
@PostMapping("/plan-open")
@Operation(summary = "维保计划开启/关闭", description = "维保计划开启/关闭")
public R planOpen(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.planOpen(plan));
}
@PostMapping("/plan-remove")
@Operation(summary = "删除维保计划", description = "删除维保计划")
public R planRemove(@RequestParam String ids) {
return R.status(planService.planRemove(Func.toLongList(ids)));
}
/*---------- 维修计划结束 ----------*/
/*---------- 维修任务开始 ----------*/
@PostMapping("/task-create")
@Operation(summary = "定时任务-根据维保计划生成维保任务", description = "定时任务-根据维保计划生成维保任务")
public R taskCreate() {
LocalDate now = LocalDate.now();
// 注意要查询上一次巡检计划中发现但未维修的
return R.status(planService.createTask(now));
}
@GetMapping("/task-page")
@Operation(summary = "维保任务列表", description = "维保任务列表")
public R taskPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
if (Func.isNotEmpty(task.getStatusSearch())) {
wrapper.in(MaintenanceTask::getTaskStatus, task.getStatusSearch().split(","));
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/task-detail")
@Operation(summary = "任务明细", description = "任务明细")
public R taskDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.taskDetail(id);
return R.data(task);
}
@PostMapping("/task-supervisor-confirm")
@Operation(summary = "主管审核并指定维修人员", description = "主管审核并指定维修人员")
public R taskSupervisorConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setServicemanId(task.getServicemanId());
taskOld.setServicemanName(task.getServicemanName());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SUPERVISOR_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-receive")
@Operation(summary = "维修人员确认接收", description = "维修人员确认接收")
public R taskServicemanReceive(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setStartTime(DateUtil.now());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-time")
@Operation(summary = "维修人员更新预约时间", description = "维修人员更新预约时间")
public R taskServicemanUpdateTime(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setReservationTime(task.getReservationTime());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-detail")
@Operation(summary = "维修人员更新维修明细", description = "维修人员更新维修明细")
public R taskServicemanUpdateDetail(@RequestBody List<MaintenanceTaskDetail> taskDetailList) {
// 获取详细中的异常项目数量
long count = taskDetailList.stream().filter(e -> CommonConstant.TRUE_INT.equals(e.getStatus())).count();
if (count > 0) {
// 若异常数量大于0, 更新巡检的维修状态
MaintenanceTask taskOld = taskService.getById(taskDetailList.get(0).getTaskId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld);
}
// 只更新设备状态
taskDetailService.saveOrUpdateBatch(taskDetailList);
return R.success();
}
@PostMapping("/task-serviceman-submit")
@Operation(summary = "维修人员提交巡检完成", description = "维修人员提交巡检完成")
public R taskServicemanSubmit(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_SUBMIT.getValue());
taskOld.setFinishTime(DateUtil.now());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-customer-confirm")
@Operation(summary = "客户确认巡检完成", description = "客户确认巡检完成")
public R taskCustomerConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-customer-refuse")
@Operation(summary = "客户确认巡检未完成", description = "客户确认巡检未完成")
public R taskCustomerRefuse(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户确认巡检结果");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(task.getApproveResult());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setApproveTime(DateUtil.now());
taskOld.setFinishTime(DateUtil.now());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
/*---------- 维修任务结束 ----------*/
/*---------- 维修方案开始 ----------*/
@GetMapping("/repair-page")
@Operation(summary = "维保维修列表", description = "维保维修列表")
public R repairPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
wrapper.gt(MaintenanceTask::getRepairStatus, MaintenanceStatusEnum.REPAIR_NO.getValue());
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
if (Func.isNotEmpty(task.getDeptName())) {
wrapper.eq(MaintenanceTask::getDeptName, task.getDeptName());
}
if (Func.isNotEmpty(task.getStatusSearch())) {
wrapper.in(MaintenanceTask::getRepairStatus, task.getStatusSearch().split(","));
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/repair-detail")
@Operation(summary = "维修详细", description = "维修详细")
public R repairDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.repairDetail(id);
return R.data(task);
}
@PostMapping("/repair-solution-save")
@Operation(summary = "维修人员保存维修方案", description = "维修人员保存维修方案")
public R repairSolutionSave(@RequestBody MaintenanceTaskDto taskDto) {
MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.saveOrUpdateBatch(detailList);
return R.success();
}
@PostMapping("/repair-solution-submit")
@Operation(summary = "维修人员提交维修方案", description = "维修人员提交维修方案")
public R repairSolutionSubmit(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_SUBMIT.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-supervisor-confirm")
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SUPERVISOR_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-supervisor-refuse")
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorRefuse(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("主管审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.SUPERVISOR_CONFIRM_REFUSE.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-customer-confirm")
@Operation(summary = "客户确认维修明细", description = "客户确认维修明细")
public R repairCustomerConfirmDetail(@RequestBody MaintenanceTaskDto taskDto) {
MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId());
// 获取详细中的异常项目数量
long count = taskDto.getDetailList().stream().filter(e -> CommonConstant.TRUE_INT.equals(e.getIsRepair())).count();
if (count == 0) {
// 确认维修数量 = 0, 更新巡检的维修状态为无需维修
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_NO.getValue());
} else {
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
}
taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.updateBatchById(detailList);
return R.success();
}
@PostMapping("/repair-solution-customer-refuse")
@Operation(summary = "客户驳回维修明细", description = "客户驳回维修明细")
public R repairCustomerRefuseDetail(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.CUSTOMER_CONFIRM_REFUSE.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-serviceman-submit")
@Operation(summary = "维修人员维修完成", description = "维修人员维修完成")
public R repairServicemanFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIR_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-customer-confirm-finish")
@Operation(summary = "客户确认维修完成", description = "客户确认维修完成")
public R repairCustomerConfirmFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setSignaturePerson(task.getSignaturePerson());
taskOld.setSignatureUrl(task.getSignatureUrl());
taskOld.setSignatureTime(task.getSignatureTime());
taskOld.setIsOkSecure(task.getIsOkSecure());
taskOld.setIsOkValidity(task.getIsOkValidity());
taskOld.setIsOkQuality(task.getIsOkQuality());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_EVALUATE_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-customer-refuse-finish")
@Operation(summary = "客户确认维修未完成", description = "客户确认维修未完成")
public R repairCustomerRefuseFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户确认维修完成");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-service-confirm")
@Operation(summary = "客服确认客户付款", description = "客服确认客户付款")
public R repairServiceConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-service-confirm-invoice")
@Operation(summary = "客服确认开发票", description = "客服确认开发票")
public R repairServiceConfirmInvoice(@RequestBody List<MaintenanceTask> taskList) {
List<MaintenanceTask> taskOldList = new ArrayList<>();
for (MaintenanceTask task : taskList) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_INVOICE.getValue());
taskOldList.add(taskOld);
}
taskService.updateBatchById(taskOldList);
return R.success();
}
/*---------- 维修方案结束 ----------*/
private final IMaintenancePlanService planService;
private final IMaintenanceTaskService taskService;
private final IMaintenanceTaskDetailService taskDetailService;
/*---------- 维修计划开始 ----------*/
@GetMapping("/plan-page")
@Operation(summary = "维保计划列表", description = "维保计划列表")
public R<IPage<MaintenancePlan>> planPage(MaintenancePlan plan, Query query) {
LambdaQueryWrapper<MaintenancePlan> wrapper = Wrappers.lambdaQuery(plan).orderByDesc(MaintenancePlan::getCreateTime);
IPage<MaintenancePlan> pages = this.planService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/plan-detail")
@Operation(summary = "维保计划明细", description = "维保计划明细")
public R planDetail(MaintenancePlan plan) {
return R.data(this.planService.planDetail(plan));
}
@PostMapping("/plan-create")
@Operation(summary = "创建维保计划", description = "创建维保计划")
public R planCreate(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.create(plan));
}
@PostMapping("/plan-update")
@Operation(summary = "修改维保计划", description = "修改维保计划")
public R planUpdate(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.planUpdate(plan));
}
@PostMapping("/plan-open")
@Operation(summary = "维保计划开启/关闭", description = "维保计划开启/关闭")
public R planOpen(@RequestBody MaintenancePlan plan) {
return R.status(this.planService.planOpen(plan));
}
@PostMapping("/plan-remove")
@Operation(summary = "删除维保计划", description = "删除维保计划")
public R planRemove(@RequestParam String ids) {
return R.status(planService.planRemove(Func.toLongList(ids)));
}
/*---------- 维修计划结束 ----------*/
/*---------- 维修任务开始 ----------*/
@PostMapping("/task-create")
@Operation(summary = "定时任务-根据维保计划生成维保任务", description = "定时任务-根据维保计划生成维保任务")
public R taskCreate() {
LocalDate now = LocalDate.now();
// 注意要查询上一次巡检计划中发现但未维修的
return R.status(planService.createTask(now));
}
@GetMapping("/task-page")
@Operation(summary = "维保任务列表", description = "维保任务列表")
public R taskPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
if (Func.isNotEmpty(task.getStatusSearch())) {
wrapper.in(MaintenanceTask::getTaskStatus, task.getStatusSearch().split(","));
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/task-detail")
@Operation(summary = "任务明细", description = "任务明细")
public R taskDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.taskDetail(id);
return R.data(task);
}
@PostMapping("/task-supervisor-confirm")
@Operation(summary = "主管审核并指定维修人员", description = "主管审核并指定维修人员")
public R taskSupervisorConfirm(@RequestBody MaintenanceTask task) throws ClientException {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setServicemanId(task.getServicemanId());
taskOld.setServicemanName(task.getServicemanName());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SUPERVISOR_CONFIRM.getValue());
taskService.updateById(taskOld);
SmsService.sendSms("13553032083", "阿祥");
return R.success();
}
@PostMapping("/task-serviceman-receive")
@Operation(summary = "维修人员确认接收", description = "维修人员确认接收")
public R taskServicemanReceive(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setStartTime(DateUtil.now());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-time")
@Operation(summary = "维修人员更新预约时间", description = "维修人员更新预约时间")
public R taskServicemanUpdateTime(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setReservationTime(task.getReservationTime());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-serviceman-update-detail")
@Operation(summary = "维修人员更新维修明细", description = "维修人员更新维修明细")
public R taskServicemanUpdateDetail(@RequestBody List<MaintenanceTaskDetail> taskDetailList) {
// 获取详细中的异常项目数量
long count = taskDetailList.stream().filter(e -> CommonConstant.TRUE_INT.equals(e.getStatus())).count();
if (count > 0) {
// 若异常数量大于0, 更新巡检的维修状态
MaintenanceTask taskOld = taskService.getById(taskDetailList.get(0).getTaskId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld);
}
// 只更新设备状态
taskDetailService.saveOrUpdateBatch(taskDetailList);
return R.success();
}
@PostMapping("/task-serviceman-submit")
@Operation(summary = "维修人员提交巡检完成", description = "维修人员提交巡检完成")
public R taskServicemanSubmit(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_SUBMIT.getValue());
taskOld.setFinishTime(DateUtil.now());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-customer-confirm")
@Operation(summary = "客户确认巡检完成", description = "客户确认巡检完成")
public R taskCustomerConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/task-customer-refuse")
@Operation(summary = "客户确认巡检未完成", description = "客户确认巡检未完成")
public R taskCustomerRefuse(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户确认巡检结果");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(task.getApproveResult());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setApproveTime(DateUtil.now());
taskOld.setFinishTime(DateUtil.now());
taskOld.setTaskStatus(MaintenanceStatusEnum.TASK_SERVICEMAN_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
/*---------- 维修任务结束 ----------*/
/*---------- 维修方案开始 ----------*/
@GetMapping("/repair-page")
@Operation(summary = "维保维修列表", description = "维保维修列表")
public R repairPage(MaintenanceTask task, Query query) {
LambdaQueryWrapper<MaintenanceTask> wrapper = Wrappers.lambdaQuery(MaintenanceTask.class);
wrapper.eq(MaintenanceTask::getIsDeleted, CommonConstant.FALSE_STR);
wrapper.gt(MaintenanceTask::getRepairStatus, MaintenanceStatusEnum.REPAIR_NO.getValue());
if (Func.isNotEmpty(task.getPlanId())) {
wrapper.eq(MaintenanceTask::getPlanId, task.getPlanId());
}
if (Func.isNotEmpty(task.getDeptName())) {
wrapper.eq(MaintenanceTask::getDeptName, task.getDeptName());
}
if (Func.isNotEmpty(task.getStatusSearch())) {
wrapper.in(MaintenanceTask::getRepairStatus, task.getStatusSearch().split(","));
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
}
@GetMapping("/repair-detail")
@Operation(summary = "维修详细", description = "维修详细")
public R repairDetail(@RequestParam Long id) {
MaintenanceTask task = taskService.repairDetail(id);
return R.data(task);
}
@PostMapping("/repair-solution-save")
@Operation(summary = "维修人员保存维修方案", description = "维修人员保存维修方案")
public R repairSolutionSave(@RequestBody MaintenanceTaskDto taskDto) {
MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_CREATE.getValue());
taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.saveOrUpdateBatch(detailList);
return R.success();
}
@PostMapping("/repair-solution-submit")
@Operation(summary = "维修人员提交维修方案", description = "维修人员提交维修方案")
public R repairSolutionSubmit(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SERVICEMAN_SUBMIT.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-supervisor-confirm")
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_SUPERVISOR_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-supervisor-refuse")
@Operation(summary = "主管审核维修方案", description = "主管审核维修方案")
public R repairSupervisorRefuse(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("主管审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.SUPERVISOR_CONFIRM_REFUSE.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-solution-customer-confirm")
@Operation(summary = "客户确认维修明细", description = "客户确认维修明细")
public R repairCustomerConfirmDetail(@RequestBody MaintenanceTaskDto taskDto) {
MaintenanceTask task = taskDto.getTask();
MaintenanceTask taskOld = taskService.getById(task.getId());
// 获取详细中的异常项目数量
long count = taskDto.getDetailList().stream().filter(e -> CommonConstant.TRUE_INT.equals(e.getIsRepair())).count();
if (count == 0) {
// 确认维修数量 = 0, 更新巡检的维修状态为无需维修
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_NO.getValue());
} else {
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
}
taskService.updateById(taskOld);
List<MaintenanceTaskDetail> detailList = taskDto.getDetailList();
taskDetailService.updateBatchById(detailList);
return R.success();
}
@PostMapping("/repair-solution-customer-refuse")
@Operation(summary = "客户驳回维修明细", description = "客户驳回维修明细")
public R repairCustomerRefuseDetail(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户审核维修方案");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.CUSTOMER_CONFIRM_REFUSE.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-serviceman-submit")
@Operation(summary = "维修人员维修完成", description = "维修人员维修完成")
public R repairServicemanFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIR_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-customer-confirm-finish")
@Operation(summary = "客户确认维修完成", description = "客户确认维修完成")
public R repairCustomerConfirmFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setSignaturePerson(task.getSignaturePerson());
taskOld.setSignatureUrl(task.getSignatureUrl());
taskOld.setSignatureTime(task.getSignatureTime());
taskOld.setIsOkSecure(task.getIsOkSecure());
taskOld.setIsOkValidity(task.getIsOkValidity());
taskOld.setIsOkQuality(task.getIsOkQuality());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_EVALUATE_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-customer-refuse-finish")
@Operation(summary = "客户确认维修未完成", description = "客户确认维修未完成")
public R repairCustomerRefuseFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setApprovePoint("客户确认维修完成");
taskOld.setApprovePerson(task.getApprovePerson());
taskOld.setApproveResult(CommonConstant.FALSE_INT);
taskOld.setApproveTime(DateUtil.now());
taskOld.setApproveRemark(task.getApproveRemark());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_CUSTOMER_CONFIRM.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-service-confirm")
@Operation(summary = "客服确认客户付款", description = "客服确认客户付款")
public R repairServiceConfirm(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_FINISH.getValue());
taskService.updateById(taskOld);
return R.success();
}
@PostMapping("/repair-service-confirm-invoice")
@Operation(summary = "客服确认开发票", description = "客服确认开发票")
public R repairServiceConfirmInvoice(@RequestBody List<MaintenanceTask> taskList) {
List<MaintenanceTask> taskOldList = new ArrayList<>();
for (MaintenanceTask task : taskList) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_INVOICE.getValue());
taskOldList.add(taskOld);
}
taskService.updateBatchById(taskOldList);
return R.success();
}
/*---------- 维修方案结束 ----------*/
}

@ -0,0 +1,66 @@
package org.springblade.modules.business.sms;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@Component
public class SmsService {
// 阿里云的Access Key ID和Access Key Secret
@Value("${sms.access-key}")
private static String ACCESS_KEY_ID;
@Value("${sms.secret-key}")
private static String ACCESS_KEY_SECRET;
// 短信签名和模板ID
// 短信签名,替换成你在阿里云控制台设置的签名
@Value("${sms.sign-name}")
private static String SIGN_NAME;
@Value("${sms.template-id1}")
private static String TEMPLATE_CODE; // 短信模板ID,替换成你在阿里云控制台设置的模板ID
public static void sendSms(String phoneNumber, String name) throws ClientException {
try {
// 设置发送短信的相关参数
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESS_KEY_ID, ACCESS_KEY_SECRET);
DefaultAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
// 设置短信模板的参数
Map<String, String> templateParam = new HashMap<>();
templateParam.put("name", name); // 这里的 "code" 是短信模板中的占位符
request.putQueryParameter("PhoneNumbers", phoneNumber); //手机号
request.putQueryParameter("SignName", ""); //申请的签名名称
request.putQueryParameter("TemplateCode", ""); //模板名称
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(templateParam)); //验证码
// 发送短信请求
CommonResponse response = client.getCommonResponse(request);
if (response.getHttpResponse().isSuccess()) {
System.out.println("短信发送成功!");
} else {
System.out.println("短信发送失败.");
}
} catch (ClientException e) {
e.printStackTrace();
System.out.println("短信发送异常: " + e.getMessage());
}
}
}

@ -12,7 +12,7 @@ spring:
datasource:
# MySql
url: jdbc:mysql://192.168.1.12:3306/lab-ops?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
# url: jdbc:mysql://127.0.0.1:3306/lab-ops?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
# url: jdbc:mysql://127.0.0.1:3306/lab-ops?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: 123456
@ -21,6 +21,7 @@ sms:
name: aliyun
# sms审核通过的短信模板
template-id: SMS_154950909
template-id1: SMS_476455177
# sms审核通过的短信签名
sign-name: 阿里云短信测试
# sms提供的accesskey
@ -29,12 +30,12 @@ sms:
secret-key: PWFmEByyD5YrjMlAyioZZqLtMGxZLu
# 地域,主要由阿里云配置
region-id: cn-hangzhou
aliyun:
accessKeyId: 111
accessKeySecret: 111
signName: 111
isPushSms: true
templateCode: 111
# aliyun:
# accessKeyId: 111
# accessKeySecret: 111
# signName: 111
# isPushSms: true
# templateCode: 111
#blade配置
#blade:

Loading…
Cancel
Save