yangys
2025-09-08 812aa8b242b320fd8087ede8cb689c5ee167bf08
增加mes派工报表
已添加6个文件
247 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
package org.springblade.mdm.statreport.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.DateUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateTimeUtil;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
import org.springblade.mdm.statreport.service.ApproveTableService;
import org.springblade.mdm.statreport.service.TaskDispatchStatService;
import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/statreport/taskdispatch")
@Tag(name = "mes派工统计", description = "mes派工统计")
public class TaskDispatchStatController {
    @Autowired
    private FlowCommonService flowCommonService;
    @Autowired
    private ApproveTableService approveTableService;
    private final TaskDispatchStatService taskDispatchStatService;
    @Operation(summary = "任务计划统计", description = "任务计划统计")
    @GetMapping("/page")
    public R<IPage<TaskDispatchStatVO>> dispatchPage(TaskDispathStatQueryVO queryVO) {
        if(queryVO.getCreateTimeEnd()!=null){
            queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1));
        }
        return R.data(taskDispatchStatService.dispatchPage(queryVO));
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package org.springblade.mdm.statreport.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.mapper.BladeMapper;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
import java.util.List;
public interface TaskDispatchStatMapper{
    IPage<TaskDispatchStatVO> pageQuery(@Param("page")IPage<TaskDispatchStatVO> page, @Param("query") TaskDispathStatQueryVO queryVO);
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.mdm.statreport.mapper.TaskDispatchStatMapper">
    <select id="pageQuery" resultType="org.springblade.mdm.statreport.vo.TaskDispatchStatVO">
        select t.drawing_no,t.process_no,t.process_edition,t.create_time,n.update_time cure_time
        from mdm_task_dispatch t
        left join mdm_nc_node n
            on t.drawing_no=n.drawing_no and t.process_no=n.process_no and t.process_edition=n.process_edition
                   and n.is_deleted=0 and n.is_cured=1 and n.node_type='60'
        <where>
            t.is_deleted=0 and t.status=2 and (t.deviation is null or t.deviation='')
            <if test="query.drawingNo != null and query.drawingNo!=''">
                <bind name="drawingNo" value="'%'+query.drawingNo+'%'"/>
                and t.drawing_no like #{drawingNo}
            </if>
            <if test="query.createTimeBegin != null">
                and n.create_time&gt;=#{query.createTimeBegin}
            </if>
            <if test="query.createTimeEnd != null">
                and n.create_time&lt;=#{query.createTimeEnd}
            </if>
        </where>
    </select>
</mapper>
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package org.springblade.mdm.statreport.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.commons.service.UserCommonService;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.ApproveInfoQueryService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.vo.ApproveTableInfo;
import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
import org.springblade.mdm.statreport.mapper.TaskDispatchStatMapper;
import org.springblade.mdm.statreport.utils.WordReplaceUtil;
import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.*;
/**
 * å®¡æ‰¹è®°å½•,用于查询执行轨迹
 *
 * @author yangys
 */
@Slf4j
@Service
public class TaskDispatchStatService {
    @Autowired
    private UserCommonService userCommonService;
    @Autowired
    private MachineService machineService;
    @Autowired
    private TaskDispatchService taskDispatchService;
    @Autowired
    private TaskDispatchStatMapper taskDispatchStatMapper;
    @Autowired
    private ParamService paramService;
    public IPage<TaskDispatchStatVO> dispatchPage(TaskDispathStatQueryVO queryVO) {
        IPage<TaskDispatchStatVO> voPage = taskDispatchStatMapper.pageQuery(Condition.getPage(queryVO),queryVO);
        return voPage;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package org.springblade.mdm.statreport.vo;
import lombok.Getter;
import lombok.Setter;
import org.springblade.mdm.commons.vo.BaseVO;
import java.util.Date;
/**
 * ä»»åŠ¡æ´¾å·¥å‘èµ·çš„æ•°æ®
 */
@Setter
@Getter
public class TaskDispatchStatVO extends BaseVO {
    /**
     * è®¾å¤‡ç¼–号
     */
    private String machineCode;
    /**
     * å·¥åºåç§°ï¼Œå¦‚“精铣”
     */
    //private String processName;
    /**
     * å·¥åºç‰ˆæ¬¡
     */
    private String processEdition;
    /**
     * ç¨‹åºæ–‡ä»¶èŠ‚ç‚¹çš„æ•°æ®
     */
    private String processNo;
    /**
     * å·¥è‰ºç‰ˆæ¬¡
     */
    private String craftEdition;
    /**
     * é›¶ç»„件号/图号
     */
    private String drawingNo;
    /**
     * å›¾å·ç‰ˆæ¬¡
     */
    private String drawingNoEdition;
    /**
     * äº§å“åž‹å·
     */
    private String productModel;
    /**
     * ç¨‹åºç¼–号
     */
    private String programNo;
    /**
     * å›ºåŒ–æ—¶é—´
     */
    private Date cureTime;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package org.springblade.mdm.statreport.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.support.Query;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.util.Date;
/**
 * åˆ†é¡µæ‹†çº¿å‘¢
 */
@Schema(description = "任务计划统计查询VO")
@Setter
@Getter
public class TaskDispathStatQueryVO extends Query {
    @Schema(description = "零组件号")
    private String drawingNo;
    @Schema(description = "下发时间开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate createTimeBegin;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "下发时间截止")
    private LocalDate createTimeEnd;
}