需求工单

master
liuqingkun 1 year ago
parent 70cebbd992
commit 1f161070a6
  1. 55
      src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java
  2. 5
      src/main/java/org/springblade/modules/business/pojo/dto/workorder/WorkOrderDTO.java
  3. 2
      src/main/java/org/springblade/modules/business/pojo/entity/workorder/WorkOrder.java
  4. 14
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java
  5. 2
      src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java

@ -8,6 +8,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.json.JSONObject;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.support.Condition;
@ -15,7 +16,6 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
@ -42,22 +42,13 @@ import java.util.Map;
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/workOrder")
@RequestMapping(CommonConstant.APPLICATION_PROJECT + "/work-order")
public class WorkOrderController extends BladeController {
private final IWorkOrderService workOrderService;
private final IWorkOrderFlowService flowService;
/**
* 工单表 详情
*/
@GetMapping("/detail")
public R<WorkOrderVO> detail(WorkOrder workOrder) {
WorkOrderVO detail = workOrderService.detail(workOrder);
return R.data(detail);
}
/**
* 查询工作订单列表
*
@ -65,8 +56,8 @@ public class WorkOrderController extends BladeController {
* @param query 分页查询对象
* @return 返回工作订单列表的响应对象
*/
@GetMapping("/list")
public R<IPage<WorkOrder>> list(WorkOrderDTO workOrderDTO, Query query) {
@GetMapping("/page")
public R<IPage<WorkOrder>> page(WorkOrderDTO workOrderDTO, Query query) {
// 创建工作订单的查询条件包装器
LambdaQueryWrapper<WorkOrder> eq = Wrappers.lambdaQuery(WorkOrder.class);
@ -79,7 +70,7 @@ public class WorkOrderController extends BladeController {
break;
case "2":
// 客服
eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId()));
// eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId()));
eq.ne(WorkOrder::getStatus, -1);
break;
case "3":
@ -97,12 +88,12 @@ public class WorkOrderController extends BladeController {
}
// 设置查询条件:故障地点、故障类型、创建时间范围,并按创建时间降序排序
eq.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation())
.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType())
.in(workOrderDTO.getType() != null, WorkOrder::getStatus, Func.toIntList(workOrderDTO.getType()))
.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode())
.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime())
.orderByDesc(WorkOrder::getCreateTime);
eq.eq(StringUtils.isNotBlank(workOrderDTO.getFaultLocation()), WorkOrder::getFaultLocation, workOrderDTO.getFaultLocation());
eq.eq(StringUtils.isNotBlank(workOrderDTO.getFaultType()), WorkOrder::getFaultType, workOrderDTO.getFaultType());
eq.in(workOrderDTO.getStatus() != null, WorkOrder::getStatus, workOrderDTO.getStatus());
eq.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode());
eq.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime());
eq.orderByDesc(WorkOrder::getCreateTime);
// 执行分页查询
IPage<WorkOrder> pages = workOrderService.page(Condition.getPage(query), eq);
@ -111,6 +102,15 @@ public class WorkOrderController extends BladeController {
return R.data(pages);
}
/**
* 工单表 详情
*/
@GetMapping("/detail")
public R<WorkOrderVO> detail(WorkOrder workOrder) {
WorkOrderVO detail = workOrderService.detail(workOrder);
return R.data(detail);
}
/**
* 保存工单并提交
*/
@ -151,6 +151,7 @@ public class WorkOrderController extends BladeController {
workOrderOld.setDispatchTime(DateUtil.now());
workOrderOld.setPlanCompleteTime(workOrder.getPlanCompleteTime());
workOrderOld.setRemark(workOrder.getRemark());
workOrderOld.setCustomerOpinion(workOrder.getCustomerOpinion());
workOrderOld.setStatus(WorkOrderStatusEnum.SERVICE_SUBMIT.getValue());
workOrderService.updateById(workOrderOld);
@ -167,7 +168,7 @@ public class WorkOrderController extends BladeController {
@ApiOperationSupport(order = 6)
public R serviceReceive(@RequestBody WorkOrder workOrder) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setReceiveOrderTime(workOrder.getReceiveOrderTime());
workOrderOld.setReceiveOrderTime(DateUtil.now());
workOrderOld.setStatus(WorkOrderStatusEnum.SERVICEMAN_CONFIRM.getValue());
workOrderService.updateById(workOrderOld);
@ -184,6 +185,7 @@ public class WorkOrderController extends BladeController {
@ApiOperationSupport(order = 6)
public R serviceReject(@RequestBody WorkOrder workOrder) {
workOrder = workOrderService.getById(workOrder.getId());
workOrder.setRepaiRejectReason(workOrder.getRepaiTeamRejectReason());
workOrder.setStatus(WorkOrderStatusEnum.SERVICE_SUBMIT.getValue());
workOrderService.updateById(workOrder);
@ -219,7 +221,7 @@ public class WorkOrderController extends BladeController {
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.CUSTOMER_CONFIRM.getValue());
workOrderService.updateById(workOrderOld);
@ -239,7 +241,8 @@ public class WorkOrderController extends BladeController {
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason());
workOrderOld.setStatus(WorkOrderStatusEnum.SERVICE_SUBMIT.getValue());
workOrderService.updateById(workOrderOld);
@ -259,7 +262,7 @@ public class WorkOrderController extends BladeController {
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.REPAIRING.getValue());
workOrderService.updateById(workOrderOld);
@ -279,7 +282,7 @@ public class WorkOrderController extends BladeController {
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setStatus(WorkOrderStatusEnum.SERVICE_SUBMIT.getValue());
workOrderService.updateById(workOrderOld);
@ -354,7 +357,7 @@ public class WorkOrderController extends BladeController {
@ApiOperationSupport(order = 6)
public R serviceClose(@RequestBody WorkOrder workOrder) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setCloneReason(workOrder.getCloneReason());
workOrderOld.setCloseReason(workOrder.getCloseReason());
workOrderOld.setStatus(WorkOrderStatusEnum.CLOSE.getValue());
workOrderService.updateById(workOrderOld);

@ -46,9 +46,4 @@ public class WorkOrderDTO extends WorkOrder{
* 数据权限标识1客户 2客服 3维修负责人 4维修人员
*/
private String dataType;
/**
* 工单状态
*/
private String type;
}

@ -206,7 +206,7 @@ public class WorkOrder extends BaseEntity {
/**
* 关闭原因
*/
private String cloneReason;
private String closeReason;
/**
* 总价

@ -12,7 +12,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.flow.core.entity.BladeFlow;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
import org.springblade.modules.business.mapper.WorkOrderMapper;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderAttach;
@ -85,7 +85,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
boolean save = false;
for (WorkOrderVO workOrder : workOrders) {
// 草稿状态
workOrder.setStatus(-1);
workOrder.setStatus(WorkOrderStatusEnum.DRAFT.getValue());
save = this.saveOrUpdate(workOrder);
// 保存附件
@ -129,7 +129,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workOrder.setFillingTime(date);
workOrder.setRequirementCode(code);
// 待接单
workOrder.setStatus(0);
workOrder.setStatus(WorkOrderStatusEnum.CUSTOMER_SUBMIT.getValue());
if (user != null) {
workOrder.setInformant(user.getId());
@ -138,10 +138,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
save = this.saveOrUpdate(workOrder);
count++;
// 记录流程id
BladeFlow flow = flowService.startProcessInstance(String.valueOf(workOrder.getId()));
workOrder.setProcessInstanceId(flow.getProcessInstanceId());
updateById(workOrder);
// // 记录流程id
// BladeFlow flow = flowService.startProcessInstance(String.valueOf(workOrder.getId()));
// workOrder.setProcessInstanceId(flow.getProcessInstanceId());
// updateById(workOrder);
// 保存附件
saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId());

@ -285,6 +285,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
detail.set("ext", query.getUserExt());
}
}
detail.set("status", user.getStatus());
userInfo.setDetail(detail);
return userInfo;
}

Loading…
Cancel
Save