package com.fzzy.work;
|
|
import com.bstek.dorado.annotation.DataProvider;
|
import com.bstek.dorado.annotation.DataResolver;
|
import com.bstek.dorado.annotation.Expose;
|
import com.bstek.dorado.data.provider.Page;
|
import com.fzzy.igds.data.BaseResp;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.fzzy.work.domain.WorkOrder;
|
import com.fzzy.work.data.WorkOrderParam;
|
import com.fzzy.work.domain.WorkOrderConf;
|
import com.fzzy.work.domain.WorkOrderProcess;
|
import com.fzzy.work.service.BizWorkService;
|
import com.fzzy.work.service.WorkOrderConfService;
|
import com.fzzy.work.service.WorkOrderProcessService;
|
import com.fzzy.work.service.WorkOrderService;
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @Desc: 工单管理
|
* @Author: Andy.jia
|
* @Date: 2025/12/19
|
*/
|
@Component
|
public class WorkOrderPR {
|
|
@Resource
|
private WorkOrderService workOrderService;
|
@Resource
|
private WorkOrderProcessService workOrderProcessService;
|
@Resource
|
private WorkOrderConfService workOrderConfService;
|
@Resource
|
private BizWorkService bizWorkService;
|
|
/**
|
* 根据用户角色选择不同的工单信息
|
* @param page 分页信息
|
* @param param 参数
|
*/
|
@DataProvider
|
public void pageQueryByUserType(Page<WorkOrder> page, WorkOrderParam param) {
|
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<WorkOrder> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
|
|
if (null == param) param = new WorkOrderParam();
|
param.setCompanyId(ContextUtil.getCompanyId());
|
|
workOrderService.pageQueryByUserType(corePage, param);
|
|
// 重新封装
|
page.setEntities(corePage.getRecords());
|
page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
|
}
|
|
|
/**
|
* 工单状态
|
* ${dorado.getDataProvider("workOrderPR#triggerStatus").getResult()}
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<SysDictData> triggerStatus() {
|
return workOrderService.triggerStatus();
|
}
|
|
/**
|
* 工单类型
|
* ${dorado.getDataProvider("workOrderPR#triggerBizType").getResult()}
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<SysDictData> triggerBizType() {
|
return workOrderService.triggerBizType();
|
}
|
|
|
//--------------------工单审批历史信息查询--------------------
|
|
/**
|
*
|
* workOrderPR#processList
|
* 信息列表
|
* @param orderId 工单ID
|
*/
|
@DataProvider
|
public List<WorkOrderProcess> processList(String orderId) {
|
return workOrderProcessService.queryList(orderId);
|
}
|
|
|
//--------------------工单审批配置信息管理--------------------
|
|
/**
|
*
|
* workOrderPR#confList
|
* 信息列表
|
*
|
*/
|
@DataProvider
|
public List<WorkOrderConf> confList(String deptId) {
|
return workOrderConfService.queryList(deptId);
|
}
|
|
/**
|
*
|
* workOrderPR#saveConf
|
* 信息列表
|
*
|
*/
|
@DataResolver
|
public void saveConf(WorkOrderConf data) {
|
|
WorkOrderConf newData = new WorkOrderConf();
|
BeanUtils.copyProperties(data, newData);
|
|
if (null == data.getId()) {
|
workOrderConfService.insertConf(newData);
|
} else {
|
workOrderConfService.updateConf(newData);
|
}
|
}
|
|
|
/**
|
*
|
* workOrderPR#deleteConf
|
* 信息列表
|
*
|
*/
|
@Expose
|
public BaseResp deleteConf(WorkOrderConf data) {
|
WorkOrderConf newData = new WorkOrderConf();
|
BeanUtils.copyProperties(data, newData);
|
return workOrderConfService.deleteConf(newData);
|
}
|
|
/**
|
* 工单业务类型
|
* ${dorado.getDataProvider("workOrderPR#triggerType").getResult()}
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<SysDictData> triggerType() {
|
return workOrderService.triggerType();
|
}
|
|
/**
|
* 流程节点
|
* ${dorado.getDataProvider("workOrderPR#triggerNode").getResult()}
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<SysDictData> triggerNode() {
|
return workOrderService.triggerNode();
|
}
|
|
//-----------------------流程处理---------------------------//
|
/**
|
*
|
* workOrderPR#todo
|
* 信息列表
|
*
|
*/
|
@Expose
|
public BaseResp todo(WorkOrderProcess data) {
|
return bizWorkService.todoByProcess(data);
|
}
|
}
|