通知信息开发

master
薛宏祥 1 year ago
parent c3714ed05c
commit 05831880f6
  1. 905
      src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java
  2. 6
      src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java
  3. 3
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java

@ -22,6 +22,7 @@ import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder; import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderApproval; import org.springblade.modules.business.pojo.entity.workorder.WorkOrderApproval;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO; import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
import org.springblade.modules.business.service.IMessageService;
import org.springblade.modules.business.service.IWorkOrderApprovalService; import org.springblade.modules.business.service.IWorkOrderApprovalService;
import org.springblade.modules.business.service.IWorkOrderFlowService; import org.springblade.modules.business.service.IWorkOrderFlowService;
import org.springblade.modules.business.service.IWorkOrderService; import org.springblade.modules.business.service.IWorkOrderService;
@ -50,455 +51,457 @@ import java.util.Map;
@RequestMapping(CommonConstant.APPLICATION_PROJECT + "/work-order") @RequestMapping(CommonConstant.APPLICATION_PROJECT + "/work-order")
public class WorkOrderController extends BladeController { public class WorkOrderController extends BladeController {
private final IWorkOrderService workOrderService; private final IWorkOrderService workOrderService;
private final IWorkOrderApprovalService approvalService; private final IWorkOrderApprovalService approvalService;
private final IWorkOrderFlowService flowService; private final IWorkOrderFlowService flowService;
/**
* 查询工作订单列表 /**
* * 查询工作订单列表
* @param workOrderDTO 工作订单DTO包含查询条件 *
* @param query 分页查询对象 * @param workOrderDTO 工作订单DTO包含查询条件
* @return 返回工作订单列表的响应对象 * @param query 分页查询对象
*/ * @return 返回工作订单列表的响应对象
@GetMapping("/page") */
public R<IPage<WorkOrder>> page(WorkOrderDTO workOrderDTO, Query query) { @GetMapping("/page")
// 创建工作订单的查询条件包装器 public R<IPage<WorkOrder>> page(WorkOrderDTO workOrderDTO, Query query) {
LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery(WorkOrder.class); // 创建工作订单的查询条件包装器
LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery(WorkOrder.class);
// 数据权限
if (StringUtils.isNotBlank(workOrderDTO.getDataType())) { // 数据权限
switch (workOrderDTO.getDataType()) { if (StringUtils.isNotBlank(workOrderDTO.getDataType())) {
case "1": switch (workOrderDTO.getDataType()) {
// 客户 case "1":
wrapper.and(wrp -> wrp.eq(WorkOrder::getCreateUser, AuthUtil.getUserId()).or().eq(WorkOrder::getReportUnit, AuthUtil.getDeptId())); // 客户
break; wrapper.and(wrp -> wrp.eq(WorkOrder::getCreateUser, AuthUtil.getUserId()).or().eq(WorkOrder::getReportUnit, AuthUtil.getDeptId()));
case "2": break;
// 客服 case "2":
// eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId())); // 客服
wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue()); // eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId()));
break; wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue());
case "3": break;
// 维修负责人 case "3":
wrapper.ge(WorkOrder::getStatus, WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue()); // 维修负责人
break; wrapper.ge(WorkOrder::getStatus, WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue());
case "4": break;
// 维修人员 case "4":
wrapper.eq(WorkOrder::getRepairPerson, AuthUtil.getUserId()); // 维修人员
break; wrapper.eq(WorkOrder::getRepairPerson, AuthUtil.getUserId());
default: break;
log.error("数据权限设置失败"); default:
return R.fail("数据权限设置失败"); log.error("数据权限设置失败");
} return R.fail("数据权限设置失败");
} }
}
// 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序
wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation()); // 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序
wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType()); wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation());
if (StringUtils.isNotBlank(workOrderDTO.getStatusSearch())) { wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType());
wrapper.in(WorkOrder::getStatus, workOrderDTO.getStatusSearch().split(",")); if (StringUtils.isNotBlank(workOrderDTO.getStatusSearch())) {
} wrapper.in(WorkOrder::getStatus, workOrderDTO.getStatusSearch().split(","));
wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode()); }
wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()); wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode());
wrapper.orderByDesc(WorkOrder::getCreateTime); wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime());
wrapper.orderByDesc(WorkOrder::getCreateTime);
// 执行分页查询
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), wrapper); // 执行分页查询
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), wrapper);
pages.getRecords().forEach(order -> {
Dept dept = DeptCache.getDept(order.getReportUnit()); pages.getRecords().forEach(order -> {
if (Func.isNotEmpty(dept)) { Dept dept = DeptCache.getDept(order.getReportUnit());
order.setReportUnitName(dept.getDeptName()); if (Func.isNotEmpty(dept)) {
} order.setReportUnitName(dept.getDeptName());
}); }
});
// 返回查询结果
return R.data(pages); // 返回查询结果
} return R.data(pages);
}
/**
* 客服查询自己提报的订单列表 /**
* * 客服查询自己提报的订单列表
* @param workOrderDTO 工作订单DTO包含查询条件 *
* @param query 分页查询对象 * @param workOrderDTO 工作订单DTO包含查询条件
* @return 返回工作订单列表的响应对象 * @param query 分页查询对象
*/ * @return 返回工作订单列表的响应对象
@GetMapping("/service-page") */
public R<IPage<WorkOrder>> servicePage(WorkOrderDTO workOrderDTO, Query query) { @GetMapping("/service-page")
// 创建工作订单的查询条件包装器 public R<IPage<WorkOrder>> servicePage(WorkOrderDTO workOrderDTO, Query query) {
LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery(WorkOrder.class); // 创建工作订单的查询条件包装器
wrapper.eq(WorkOrder::getCreateUser, AuthUtil.getUserId()); LambdaQueryWrapper<WorkOrder> wrapper = Wrappers.lambdaQuery(WorkOrder.class);
// 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序 wrapper.eq(WorkOrder::getCreateUser, AuthUtil.getUserId());
wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation()); // 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序
wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType()); wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation());
if (StringUtils.isNotBlank(workOrderDTO.getStatusSearch())) { wrapper.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType());
wrapper.in(WorkOrder::getStatus, workOrderDTO.getStatusSearch().split(",")); if (StringUtils.isNotBlank(workOrderDTO.getStatusSearch())) {
} wrapper.in(WorkOrder::getStatus, workOrderDTO.getStatusSearch().split(","));
wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode()); }
wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()); wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode());
wrapper.orderByDesc(WorkOrder::getCreateTime); wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime());
wrapper.orderByDesc(WorkOrder::getCreateTime);
// 执行分页查询
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), wrapper); // 执行分页查询
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), wrapper);
pages.getRecords().forEach(order -> {
Dept dept = DeptCache.getDept(order.getReportUnit()); pages.getRecords().forEach(order -> {
if (Func.isNotEmpty(dept)) { Dept dept = DeptCache.getDept(order.getReportUnit());
order.setReportUnitName(dept.getDeptName()); if (Func.isNotEmpty(dept)) {
} order.setReportUnitName(dept.getDeptName());
}); }
});
// 返回查询结果
return R.data(pages); // 返回查询结果
} return R.data(pages);
}
/**
* 工单表 详情 /**
*/ * 工单表 详情
@GetMapping("/detail") */
public R<WorkOrderVO> detail(WorkOrder workOrder) { @GetMapping("/detail")
WorkOrderVO detail = workOrderService.detail(workOrder); public R<WorkOrderVO> detail(WorkOrder workOrder) {
return R.data(detail); WorkOrderVO detail = workOrderService.detail(workOrder);
} return R.data(detail);
}
/**
* 保存工单并提交 /**
*/ * 保存工单并提交
@ApiLog(value = "提报管理-保存工单并提交") */
@PostMapping("/customer-save") @ApiLog(value = "提报管理-保存工单并提交")
public R customerSave(@RequestBody List<WorkOrderVO> workOrder) { @PostMapping("/customer-save")
return R.status(workOrderService.saveAndSubmit(workOrder)); public R customerSave(@RequestBody List<WorkOrderVO> workOrder) {
} ;
return R.status(workOrderService.saveAndSubmit(workOrder));
/** }
* 保存工单为草稿
*/ /**
@ApiLog(value = "提报管理-保存工单为草稿") * 保存工单为草稿
@PostMapping("/customer-draft") */
public R customerDraft(@RequestBody List<WorkOrderVO> workOrder) { @ApiLog(value = "提报管理-保存工单为草稿")
return R.status(workOrderService.saveDraft(workOrder)); @PostMapping("/customer-draft")
} public R customerDraft(@RequestBody List<WorkOrderVO> workOrder) {
return R.status(workOrderService.saveDraft(workOrder));
/** }
* 客服保存工单并提交
*/ /**
@ApiLog(value = "提报管理-客服保存工单并提交") * 客服保存工单并提交
@PostMapping("/service-save") */
public R serviceSave(@RequestBody List<WorkOrderVO> workOrder) { @ApiLog(value = "提报管理-客服保存工单并提交")
return R.status(workOrderService.serviceSaveAndSubmit(workOrder)); @PostMapping("/service-save")
} public R serviceSave(@RequestBody List<WorkOrderVO> workOrder) {
return R.status(workOrderService.serviceSaveAndSubmit(workOrder));
/** }
* 客服工单为草稿
*/ /**
@ApiLog(value = "提报管理-客服工单为草稿") * 客服工单为草稿
@PostMapping("/service-draft") */
public R serviceDraft(@RequestBody List<WorkOrderVO> workOrder) { @ApiLog(value = "提报管理-客服工单为草稿")
return R.status(workOrderService.serviceSave(workOrder)); @PostMapping("/service-draft")
} public R serviceDraft(@RequestBody List<WorkOrderVO> workOrder) {
return R.status(workOrderService.serviceSave(workOrder));
/** }
* 修改工单信息
*/ /**
@ApiLog(value = "提报管理-修改工单信息") * 修改工单信息
@PostMapping("/update") */
public R update(@RequestBody WorkOrderVO workOrder) { @ApiLog(value = "提报管理-修改工单信息")
return R.status(workOrderService.updateAttach(workOrder)); @PostMapping("/update")
} public R update(@RequestBody WorkOrderVO workOrder) {
return R.status(workOrderService.updateAttach(workOrder));
/** }
* 客服审核指定维修人员
*/ /**
@ApiLog(value = "提报管理-客服审核指定维修人员") * 客服审核指定维修人员
@PostMapping("/service-to-serviceman") */
public R serviceToServiceman(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-客服审核指定维修人员")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/service-to-serviceman")
workOrderOld.setRepairPerson(workOrder.getRepairPerson()); public R serviceToServiceman(@RequestBody WorkOrder workOrder) {
workOrderOld.setDispatchTime(DateUtil.now()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setPlanCompleteTime(workOrder.getPlanCompleteTime()); workOrderOld.setRepairPerson(workOrder.getRepairPerson());
workOrderOld.setRemark(workOrder.getRemark()); workOrderOld.setDispatchTime(DateUtil.now());
workOrderOld.setCustomerOpinion(workOrder.getCustomerOpinion()); workOrderOld.setPlanCompleteTime(workOrder.getPlanCompleteTime());
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_ALLOT.getValue()); workOrderOld.setRemark(workOrder.getRemark());
workOrderService.updateById(workOrderOld); workOrderOld.setCustomerOpinion(workOrder.getCustomerOpinion());
// todo 审核通过 workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_ALLOT.getValue());
workOrderService.updateById(workOrderOld);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 维修人员接收工单
*/ /**
@ApiLog(value = "提报管理-维修人员接收工单") * 维修人员接收工单
@PostMapping("/serviceman-receive") */
public R serviceReceive(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-维修人员接收工单")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/serviceman-receive")
workOrderOld.setReceiveOrderTime(DateUtil.now()); public R serviceReceive(@RequestBody WorkOrder workOrder) {
workOrderOld.setStatus(WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderService.updateById(workOrderOld); workOrderOld.setReceiveOrderTime(DateUtil.now());
workOrderOld.setStatus(WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue());
// todo 审核通过 workOrderService.updateById(workOrderOld);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 维修人员拒绝接收工单
*/ /**
@ApiLog(value = "提报管理-维修人员拒绝接收工单") * 维修人员拒绝接收工单
@PostMapping("/serviceman-reject") */
public R serviceReject(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-维修人员拒绝接收工单")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/serviceman-reject")
workOrderOld.setRepaiRejectReason(workOrder.getRepaiRejectReason()); public R serviceReject(@RequestBody WorkOrder workOrder) {
workOrderOld.setStatus(WorkOrderStatusEnum.WX_ORDER_REFUSE.getValue()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderService.updateById(workOrderOld); workOrderOld.setRepaiRejectReason(workOrder.getRepaiRejectReason());
workOrderOld.setStatus(WorkOrderStatusEnum.WX_ORDER_REFUSE.getValue());
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getRepaiRejectReason()); workOrderService.updateById(workOrderOld);
approvalService.save(approval);
// todo 审核拒绝 WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getRepaiRejectReason());
approvalService.save(approval);
return R.success(""); // todo 审核拒绝
}
return R.success("");
/** }
* 维修人员提交维修方案
*/ /**
@ApiLog(value = "提报管理-维修人员提交维修方案") * 维修人员提交维修方案
@PostMapping("/serviceman-submit") */
public R serviceSubmit(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-维修人员提交维修方案")
workOrderService.repairPlanSubmit(workOrder); @PostMapping("/serviceman-submit")
public R serviceSubmit(@RequestBody WorkOrder workOrder) {
return R.success(""); workOrderService.repairPlanSubmit(workOrder);
}
return R.success("");
/** }
* 主管确认维修方案
*/ /**
@ApiLog(value = "提报管理-主管确认维修方案") * 主管确认维修方案
@PostMapping("/supervisor-confirm") */
public R supervisorConfirm(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-主管确认维修方案")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/supervisor-confirm")
workOrderOld.setApprovePoint("主管审批维修方案"); public R supervisorConfirm(@RequestBody WorkOrder workOrder) {
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApproveResult(workOrder.getApproveResult()); workOrderOld.setApprovePoint("主管审批维修方案");
workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_PASS.getValue()); workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderService.updateById(workOrderOld); workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_PASS.getValue());
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark()); workOrderService.updateById(workOrderOld);
approvalService.save(approval);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark());
return R.success(""); approvalService.save(approval);
}
return R.success("");
/** }
* 主管驳回维修方案
*/ /**
@ApiLog(value = "提报管理-主管驳回维修方案") * 主管驳回维修方案
@PostMapping("/supervisor-reject") */
public R supervisorReject(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-主管驳回维修方案")
workOrderService.repairPlanRefuse(workOrder); @PostMapping("/supervisor-reject")
public R supervisorReject(@RequestBody WorkOrder workOrder) {
return R.success(""); workOrderService.repairPlanRefuse(workOrder);
}
return R.success("");
/** }
* 客户确认维修方案
*/ /**
@ApiLog(value = "提报管理-客户确认维修方案") * 客户确认维修方案
@PostMapping("/customer-confirm") */
public R customerConfirm(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-客户确认维修方案")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/customer-confirm")
workOrderOld.setApprovePoint("客户审批维修方案"); public R customerConfirm(@RequestBody WorkOrder workOrder) {
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApproveResult(workOrder.getApproveResult()); workOrderOld.setApprovePoint("客户审批维修方案");
workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_PASS.getValue()); workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderService.updateById(workOrderOld); workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_PASS.getValue());
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark()); workOrderService.updateById(workOrderOld);
approvalService.save(approval);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark());
// todo 审核通过 approvalService.save(approval);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 客户驳回维修方案
*/ /**
@ApiLog(value = "提报管理-客户驳回维修方案") * 客户驳回维修方案
@PostMapping("/customer-reject") */
public R customerReject(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-客户驳回维修方案")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/customer-reject")
workOrderOld.setApprovePoint("客户审批维修方案"); public R customerReject(@RequestBody WorkOrder workOrder) {
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApproveResult(workOrder.getApproveResult()); workOrderOld.setApprovePoint("客户审批维修方案");
workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_REFUSE.getValue()); workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderService.updateById(workOrderOld); workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_REFUSE.getValue());
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark()); workOrderService.updateById(workOrderOld);
approvalService.save(approval);
// todo 审核通过 WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 维修人员提交维修结果
*/ /**
@ApiLog(value = "提报管理-维修人员提交维修结果") * 维修人员提交维修结果
@PostMapping("/serviceman-repair-submit") */
public R servicemanRepairSubmit(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-维修人员提交维修结果")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/serviceman-repair-submit")
workOrderOld.setCloseReason(workOrder.getCloseReason()); public R servicemanRepairSubmit(@RequestBody WorkOrder workOrder) {
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_FINISH.getValue()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderService.updateById(workOrderOld); workOrderOld.setCloseReason(workOrder.getCloseReason());
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_FINISH.getValue());
// todo 审核通过 workOrderService.updateById(workOrderOld);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 评价签字
*/ /**
@ApiLog(value = "提报管理-评价签字") * 评价签字
@PostMapping("/customer-repair-confirm") */
public R customerRepairConfirm(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-评价签字")
workOrderService.repairFinish(workOrder); @PostMapping("/customer-repair-confirm")
public R customerRepairConfirm(@RequestBody WorkOrder workOrder) {
return R.success(""); workOrderService.repairFinish(workOrder);
}
return R.success("");
/** }
* 评价签字
*/ /**
@ApiLog(value = "提报管理-客户确认未完成") * 评价签字
@PostMapping("/customer-repair-reject") */
public R customerRepairReject(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-客户确认未完成")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/customer-repair-reject")
workOrderOld.setApprovePoint("客户审批维修结果"); public R customerRepairReject(@RequestBody WorkOrder workOrder) {
workOrderOld.setApprovePerson(workOrder.getApprovePerson()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApproveResult(workOrder.getApproveResult()); workOrderOld.setApprovePoint("客户审批维修结果");
workOrderOld.setApproveTime(workOrder.getApproveTime()); workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveRemark(workOrder.getApproveRemark()); workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_PASS.getValue()); workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderService.updateById(workOrderOld); workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.KH_REPAIR_PLAN_PASS.getValue());
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark()); workOrderService.updateById(workOrderOld);
approvalService.save(approval);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark());
// todo 审核通过 approvalService.save(approval);
return R.success(""); // todo 审核通过
}
return R.success("");
/** }
* 工单表 客服维修完成
*/ /**
@ApiLog(value = "提报管理-客服维修完成") * 工单表 客服维修完成
@PostMapping("/service-repair-submit") */
public R serviceRepairFinish(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-客服维修完成")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/service-repair-submit")
workOrderOld.setCloseReason(workOrder.getCloseReason()); public R serviceRepairFinish(@RequestBody WorkOrder workOrder) {
workOrderOld.setStatus(WorkOrderStatusEnum.KF_REPAIR_FINISH.getValue()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderService.updateById(workOrderOld); workOrderOld.setCloseReason(workOrder.getCloseReason());
workOrderOld.setStatus(WorkOrderStatusEnum.KF_REPAIR_FINISH.getValue());
return R.success(""); workOrderService.updateById(workOrderOld);
}
return R.success("");
/** }
* 工单表 客服关闭
*/ /**
@ApiLog(value = "提报管理-工单关闭") * 工单表 客服关闭
@PostMapping("/service-close") */
public R serviceClose(@RequestBody WorkOrder workOrder) { @ApiLog(value = "提报管理-工单关闭")
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); @PostMapping("/service-close")
workOrderOld.setCloseReason(workOrder.getCloseReason()); public R serviceClose(@RequestBody WorkOrder workOrder) {
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue()); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderService.updateById(workOrderOld); workOrderOld.setCloseReason(workOrder.getCloseReason());
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue());
return R.success(""); workOrderService.updateById(workOrderOld);
}
return R.success("");
/** }
* 已开发票
*/ /**
@ApiLog(value = "提报管理-已开发票") * 已开发票
@PostMapping("/service-invoice") */
public R serviceInvoice(@RequestBody List<WorkOrder> orderList) { @ApiLog(value = "提报管理-已开发票")
List<WorkOrder> orderOldList = new ArrayList<>(); @PostMapping("/service-invoice")
for (WorkOrder workOrder : orderList) { public R serviceInvoice(@RequestBody List<WorkOrder> orderList) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId()); List<WorkOrder> orderOldList = new ArrayList<>();
workOrderOld.setStatus(WorkOrderStatusEnum.KF_TICKET_FINISH.getValue()); for (WorkOrder workOrder : orderList) {
orderOldList.add(workOrderOld); WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
} workOrderOld.setStatus(WorkOrderStatusEnum.KF_TICKET_FINISH.getValue());
orderOldList.add(workOrderOld);
workOrderService.updateBatchById(orderOldList); }
return R.success(""); workOrderService.updateBatchById(orderOldList);
}
return R.success("");
/** }
* 封装百度接口
* /**
* @param query * 封装百度接口
* @return *
* @throws Exception * @param query
*/ * @return
@GetMapping("/suggestion") * @throws Exception
public R suggestion(String query) throws Exception { */
String ak = "NqGy7LGcdxNUNqR7pBwPqeOkZ11Arn5Y"; @GetMapping("/suggestion")
String url = "https://api.map.baidu.com/place/v2/suggestion?"; public R suggestion(String query) throws Exception {
Map params = new LinkedHashMap<String, String>(); String ak = "NqGy7LGcdxNUNqR7pBwPqeOkZ11Arn5Y";
params.put("query", query); String url = "https://api.map.baidu.com/place/v2/suggestion?";
params.put("region", "全国"); Map params = new LinkedHashMap<String, String>();
params.put("city_limit", "true"); params.put("query", query);
params.put("output", "json"); params.put("region", "全国");
params.put("ak", ak); params.put("city_limit", "true");
String resultStr = requestGetAK(url, params); params.put("output", "json");
JSONObject jsonObject = new JSONObject(resultStr); params.put("ak", ak);
Map<String, Object> map = jsonObject.toMap(); String resultStr = requestGetAK(url, params);
return R.data(map); JSONObject jsonObject = new JSONObject(resultStr);
} Map<String, Object> map = jsonObject.toMap();
return R.data(map);
private String requestGetAK(String strUrl, Map<String, String> param) throws Exception { }
if (strUrl == null || strUrl.length() <= 0 || param == null || param.size() <= 0) {
return null; private String requestGetAK(String strUrl, Map<String, String> param) throws Exception {
} if (strUrl == null || strUrl.length() <= 0 || param == null || param.size() <= 0) {
return null;
StringBuffer queryString = new StringBuffer(); }
queryString.append(strUrl);
for (Map.Entry<?, ?> pair : param.entrySet()) { StringBuffer queryString = new StringBuffer();
queryString.append(pair.getKey() + "="); queryString.append(strUrl);
// 第一种方式使用的 jdk 自带的转码方式 第二种方式使用的 spring 的转码方法 两种均可 for (Map.Entry<?, ?> pair : param.entrySet()) {
queryString.append(URLEncoder.encode((String) pair.getValue(), "UTF-8").replace("+", "%20") + "&"); queryString.append(pair.getKey() + "=");
} // 第一种方式使用的 jdk 自带的转码方式 第二种方式使用的 spring 的转码方法 两种均可
queryString.append(URLEncoder.encode((String) pair.getValue(), "UTF-8").replace("+", "%20") + "&");
if (queryString.length() > 0) { }
queryString.deleteCharAt(queryString.length() - 1);
} if (queryString.length() > 0) {
queryString.deleteCharAt(queryString.length() - 1);
URL url = new URL(queryString.toString()); }
URLConnection httpConnection = url.openConnection();
httpConnection.connect(); URL url = new URL(queryString.toString());
URLConnection httpConnection = url.openConnection();
InputStreamReader isr = new InputStreamReader(httpConnection.getInputStream()); httpConnection.connect();
BufferedReader reader = new BufferedReader(isr);
StringBuffer buffer = new StringBuffer(); InputStreamReader isr = new InputStreamReader(httpConnection.getInputStream());
String line; BufferedReader reader = new BufferedReader(isr);
while ((line = reader.readLine()) != null) { StringBuffer buffer = new StringBuffer();
buffer.append(line); String line;
} while ((line = reader.readLine()) != null) {
reader.close(); buffer.append(line);
isr.close(); }
return buffer.toString(); reader.close();
} isr.close();
return buffer.toString();
}
} }

@ -22,16 +22,16 @@ public class MessageServiceImpl extends BaseServiceImpl<MessageMapper, Message>
/** /**
* 保存消息 * 保存消息
* *
* @param title * @param requirementCode
* @param content * @param content
* @param messageUser * @param messageUser
* @param messageType * @param messageType
*/ */
@Override @Override
public void saveMessage(String title, String content, Long messageUser, Integer messageType) { public void saveMessage(String requirementCode, String content, Long messageUser, Integer messageType) {
Message saveInformation = new Message(); Message saveInformation = new Message();
saveInformation.setSystemType("1"); saveInformation.setSystemType("1");
saveInformation.setTitle(title); saveInformation.setTitle("需求单");
saveInformation.setContent(content); saveInformation.setContent(content);
saveInformation.setMessageUser(messageUser); saveInformation.setMessageUser(messageUser);
saveInformation.setTenantId(AuthUtil.getTenantId()); saveInformation.setTenantId(AuthUtil.getTenantId());

@ -118,6 +118,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Synchronized @Synchronized
public boolean saveAndSubmit(List<WorkOrderVO> workOrders) { public boolean saveAndSubmit(List<WorkOrderVO> workOrders) {
String role = "1839536982874193922";
User customerService = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, role));
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date now = DateUtil.date(); Date now = DateUtil.date();
String todayStr = format.format(now); String todayStr = format.format(now);
@ -131,6 +133,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
// 查询今天已提报数量 // 查询今天已提报数量
String hz = count < 9 ? "0" + (count + 1) : count + 1 + ""; String hz = count < 9 ? "0" + (count + 1) : count + 1 + "";
String code = "WX-" + todayStr + "-" + hz; String code = "WX-" + todayStr + "-" + hz;
messageService.saveMessage(code, "您有一个需求单需要处理", customerService.getId(), 1);
workOrder.setFillingTime(now); workOrder.setFillingTime(now);
workOrder.setRequirementCode(code); workOrder.setRequirementCode(code);
// 待接单 // 待接单

Loading…
Cancel
Save