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.common.constant.BizTypeEnum; 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.annotation.Log; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.enums.BusinessType; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; 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 page, WorkOrderParam param) { com.baomidou.mybatisplus.extension.plugins.pagination.Page 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()))); } /** * workOrderPR#pageSummary * 工单汇总统计 */ @Expose public Map pageSummary() { return workOrderService.pageSummary(); } /** * 工单状态 * ${dorado.getDataProvider("workOrderPR#triggerStatus").getResult()} * * @return */ @DataProvider public List triggerStatus() { return workOrderService.triggerStatus(); } /** * 工单类型 * ${dorado.getDataProvider("workOrderPR#triggerBizType").getResult()} * * @return */ @DataProvider public List triggerBizType() { return workOrderService.triggerBizType(); } //--------------------工单审批历史信息查询-------------------- /** * * workOrderPR#processList * 信息列表 * @param orderId 工单ID */ @DataProvider public List processList(String orderId) { return workOrderProcessService.queryList(orderId); } //--------------------工单审批配置信息管理-------------------- /** * * workOrderPR#confList * 信息列表 * */ @DataProvider public List 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 @Log(title = "工单配置", businessType = BusinessType.DELETE,bizType = BizTypeEnum.INOUT) 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 triggerType() { return workOrderService.triggerType(); } /** * 流程节点 * ${dorado.getDataProvider("workOrderPR#triggerNode").getResult()} * * @return */ @DataProvider public List triggerNode() { return workOrderService.triggerNode(); } //-----------------------流程处理---------------------------// /** * * workOrderPR#todo * 信息列表 * */ @Expose public BaseResp todo(WorkOrderProcess data) { return bizWorkService.todoByProcess(data); } }