jiazx0107
2026-01-15 19f170a41e2200eed6a23402b00d7da20b38f42d
fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
@@ -3,10 +3,21 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.work.data.OrderStatus;
import com.fzzy.work.data.WorkBizType;
import com.fzzy.work.data.WorkOrderParam;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.mapper.WorkOrderMapper;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
@@ -20,17 +31,84 @@
    @Resource
    private WorkOrderMapper workOrderMapper;
    public void addData(WorkOrder data) {
        if(null == data.getId()) data.setId(ContextUtil.generateOrderId("GD"));
        if(null == data.getCompanyId()) data.setCompanyId(ContextUtil.getCompanyId());
        if(null == data.getCreateBy()){
            SysUser user = ContextUtil.getLoginUser();
            data.setCreateBy(user.getUserName());
            data.setCreateById(user.getLoginName());
        }
        data.setUpdateTime(new Date());
        workOrderMapper.insert(data);
    }
    public void pageQuery(Page<WorkOrder> page, WorkOrderParam param) {
        QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
        if (null == param) {
            param = new WorkOrderParam();
        }
        param.setCompanyId(ContextUtil.getCompanyId());
        if (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        queryWrapper.eq(null != param.getDeptId(), "dept_id", param.getDeptId());
        queryWrapper.like(null != param.getName(), "title", param.getName());
        queryWrapper.eq(null != param.getStatus(), "status", param.getStatus());
        if (null != param.getStart()) {
            queryWrapper.gt("create_time", DateUtil.getNextZero(param.getStart()));
        }
        if (null != param.getEnd()) {
            queryWrapper.lt("create_time", DateUtil.getCurZero(param.getEnd()));
        }
        workOrderMapper.selectPage(page, queryWrapper);
    }
    public List<SysDictData> triggerStatus() {
        List<SysDictData> list = new ArrayList<SysDictData>();
        for (OrderStatus w : OrderStatus.values()) {
            list.add(new SysDictData(w.getMsg(), w.getCode()));
        }
        return list;
    }
    public List<SysDictData> triggerType() {
        List<SysDictData> list = new ArrayList<SysDictData>();
        for (WorkBizType w : WorkBizType.values()) {
            list.add(new SysDictData(w.getMsg(), w.getCode()));
        }
        return list;
    }
    /**
     * 获取用户待处理工单数
     * @param status
     * @param userId
     * @return
     */
    public Integer getNumByUser(String status, String userId) {
        QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
        if (StringUtils.isBlank(userId) || StringUtils.isBlank(status)) {
            return 0;
        }
        queryWrapper.eq("assignee_id", userId);
        queryWrapper.eq("status", status);
        return workOrderMapper.selectCount(queryWrapper);
    }
}