yangys
2025-09-09 fc3ae614a4c5a2a7cdb9029ecfc4372eb1c28b18
补充确认表,审批表模板字段
已修改11个文件
266 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveInfoQueryService.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/ConfirmTablePrintController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/CuredProgramController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/thirdpart/service/MesTaskService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java
@@ -96,6 +96,14 @@
    private String mesTaskId;
    /**
     * 操作员(mes提供)
     */
    private String operator;
    /**
     * 操作者时间(mes提供)
     */
    private Date operateTime;
    /**
     * 检验员(mes提供)
     */
    private String inspector;
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveInfoQueryService.java
@@ -4,9 +4,13 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
import org.springblade.mdm.basesetting.producedivision.service.ProduceDivisionService;
import org.springblade.mdm.commons.service.UserCommonService;
import org.springblade.mdm.flow.vo.ApproveTableInfo;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgramApproved;
@@ -35,7 +39,10 @@
    private IUserClient useClient;
    @Autowired
    private NcProgramApprovedService programApprovedService;
    @Autowired
    private ProduceDivisionService produceDivisionService;
    @Autowired
    private UserCommonService userCommonService;
    /**
     * 获取实际审批人姓名,和时间
     * @param props 流程属性
@@ -73,11 +80,21 @@
                seniorId = Func.toLong(task.getAssignee());
            }
        }
        appInfo.setTeamLeaderName(getNameByUserid(teamLeaderId));
        appInfo.setProgrammerName(getNameByUserid(programmerId));
        appInfo.setCheckerName(getNameByUserid(checkerId));
        appInfo.setSeniorName(getNameByUserid(seniorId));
        if(teamLeaderId != 0) {
            appInfo.setTeamLeaderName(userCommonService.getUserNameById(teamLeaderId));
        }else{
            //没找到组长(不是试切任务),直接查找零件号对应得数据
            try {
                ProduceDivision div = produceDivisionService.getByDrawingNoWithQinzhe(props.getDrawingNo());
                appInfo.setTeamLeaderName(userCommonService.getUserNameById(div.getTeamLeaderId()));
            }catch(Exception e){
                log.error("根据零件号:{}找不到人员职责表数据",props.getDrawingNo(),e);
                appInfo.setTeamLeaderName("");
            }
        }
        appInfo.setProgrammerName(userCommonService.getUserNameById(programmerId));
        appInfo.setCheckerName(userCommonService.getUserNameById(checkerId));
        appInfo.setSeniorName(userCommonService.getUserNameById(seniorId));
        //查询数控程序编号
        Optional<NcProgramApproved> appOpt = programApprovedService.lambdaQuery().eq(NcProgramApproved::getProcessInstanceId, props.getProcessInstanceId()).oneOpt();
@@ -91,13 +108,4 @@
        return appInfo;
    }
    String getNameByUserid(Long userid){
        String name = StringUtils.EMPTY;
        //审核
        R<User> userR = useClient.userInfoById(userid);
        if (userR.isSuccess()) {
            name = userR.getData().getName();
        }
        return name;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
@@ -133,4 +133,8 @@
        Optional<TaskDispatch> opt = lambdaQuery().eq(TaskDispatch::getMesTaskId, mesTaskId).oneOpt();
        return opt.orElse(null);
    }
    public TaskDispatch getByProgramNo(String programNo) {
        return lambdaQuery().eq(TaskDispatch::getProgramNo, programNo).one();
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/ConfirmTablePrintController.java
@@ -6,12 +6,10 @@
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import liquibase.logging.mdc.customobjects.History;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -21,11 +19,8 @@
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.statreport.service.ApproveTableService;
import org.springblade.mdm.statreport.service.ConfirmTablePrintService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -45,8 +40,7 @@
    private FlowCommonService flowCommonService;
    private ConfirmTablePrintService confirmTablePrintService;
    private final TaskDispatchService taskDispatchService;
    private final HistoryService hisService;
    private final HistoryService historyService;
    @GetMapping("/confirm-page")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "确认单列表", description = "确认单列表")
@@ -60,16 +54,15 @@
    @Operation(summary = "导出数控程序确认表", description = "数控程序确认表")
    public void exportConfirmTable(String processInstanceId,HttpServletResponse response) throws IOException {
        HistoricProcessInstance his = hisService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
        String taskDispatchId = his.getBusinessKey();
        TaskDispatch dispatch = taskDispatchService.getById(taskDispatchId);
        FlowProgramProperties props = flowCommonService.getProgramPropertiesFromHis(processInstanceId);
        HistoricProcessInstance his = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
        //TaskDispatch dispatch = taskDispatchService.getById(his.getBusinessKey());
        String progName = props.getDrawingNo()+"-"+props.getProcessNo()+"-"+props.getProcessEdition();
        String filename = UrlUtil.encode("数控程序确认表"+progName)+".docx";
        ByteArrayOutputStream outputStream = confirmTablePrintService.exportConfirmTableDoc(dispatch,props);
        ByteArrayOutputStream outputStream = confirmTablePrintService.exportConfirmTableDoc(props);
        byte[] fileBytes = outputStream.toByteArray();
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/CuredProgramController.java
@@ -30,7 +30,7 @@
import java.util.Map;
/**
 * 固化程序统计
 * 固化程序统计,统计一段时间内固化了多少程序
 */
@Slf4j
@RestController
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml
@@ -3,11 +3,13 @@
<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
        select t.id,t.drawing_no,t.process_no,t.process_edition,t.machine_code,t.create_time,n.update_time cure_time,
               t.process_instance_id
        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'
                   and n.is_deleted=0 and n.is_cured=1 and n.node_type='60' and t.machine_code=n.machine_code
                and n.is_last_edition=1
        <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!=''">
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java
@@ -93,7 +93,7 @@
        dataMap.put("startTime",dispatchDateStr);//工段负责人/单元负责人派出时间
        dataMap.put("fuzeren",approveInfo.getProgrammerName());//负责人
        int isProgram = 0;
        if(StringUtils.equals(props.getHasCuredProgram(),FlowContants.Y)){
            //校对任务
            dataMap.put("jd", WordReplaceUtil.CHECKED);
@@ -109,31 +109,24 @@
        dataMap.put("fzy",WordReplaceUtil.CHECKED); //仿真 是
        dataMap.put("fzn",WordReplaceUtil.UNCHECKED);//仿真 否
        Date programDate = approveInfo.getCheckDate();
        Date checkDate = approveInfo.getCheckDate();
        String checkDateStr = " ";
        if (checkDate != null) {
            checkDateStr = DateUtil.format(programDate, DATE_PATTERN);
        }
        String approveDateStr = " ";
        if (approveInfo.getApproveDate() != null) {
            approveDateStr = DateUtil.format(approveInfo.getApproveDate(), DATE_PATTERN);
        }
        String bianzhi = userCommonService.getUserNameById(dispatch.getCreateUser());
        String bianzhiDateStr =  DateUtil.format(dispatch.getCreateTime(), DATE_PATTERN);
        dataMap.put("bianzhi",bianzhi+"/"+bianzhiDateStr);//编制:计划员/发起时间
        dataMap.put("jiaodui",approveInfo.getTeamLeaderName()+"/时间不确定");
        dataMap.put("shenpi",approveInfo.getSeniorName()+"/时间不确定");
        dataMap.put("bianzhi",bianzhi+"/"+formatTimeForTable(dispatch.getCreateTime()));//编制:计划员/发起时间
        dataMap.put("jiaodui",approveInfo.getTeamLeaderName()+"/"+formatTimeForTable(approveInfo.getDispatchDate())); //
        dataMap.put("shenpi",approveInfo.getSeniorName()+"/"+formatTimeForTable(approveInfo.getApproveDate()));//就是高师审批时间
        dataMap.put("sendPath",machine.getProgSendDir()!=null?machine.getProgSendDir():"");
        return dataMap;
    }
    String formatTimeForTable(Date date){
        String DATE_PATTERN = "yyyy-M-d";
        if(date==null){
            return "";
        }
        return DateUtil.format(date, DATE_PATTERN);
    }
    /*
    public void exportApproveTableOld(String processInstanceId, OutputStream os) throws DocumentException, IOException {
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
@@ -6,44 +6,36 @@
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.history.HistoricProcessInstanceQuery;
import org.flowable.engine.task.Comment;
import org.flowable.task.api.Task;
import org.flowable.task.api.TaskInfoQuery;
import org.flowable.task.api.TaskQuery;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.springblade.core.oss.OssTemplate;
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.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
import org.springblade.mdm.basesetting.producedivision.service.QinzheFgbService;
import org.springblade.mdm.commons.contants.DictBizConstants;
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.entity.MdmFlowProcess;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.ApproveInfoQueryService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
import org.springblade.mdm.flow.util.MdmFlowCache;
import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.vo.ApproveTableInfo;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.statreport.utils.WordReplaceUtil;
import org.springblade.system.feign.IDictBizClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
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.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@@ -58,24 +50,25 @@
    private final RuntimeService runtimeService;
    private final IDictBizClient dictBizClient;
    private final HistoryService historyService;
    private final IUserClient userClient;
    private final FlowProgramFileService flowProgramFileService;
    @Autowired
    private MachineService machineService;
    @Autowired
    private ParamService paramService;
    @Autowired
    private OssTemplate ossTemplate;
    private ApproveInfoQueryService approveInfoQueryService;
    private final MachineService machineService;
    private final NcNodeService nodeService;
    private final ParamService paramService;
    private final TaskDispatchService taskDispatchService;
    private final OssTemplate ossTemplate;
    private final QinzheFgbService qinzheFgbService;
    private static final String DATE_PATTERN = "yyyy-M-d";
    /**
     * 导出word岸本
     * @param dispatch 任务分派
     * @param props 流程属性
     */
    public ByteArrayOutputStream exportConfirmTableDoc(TaskDispatch dispatch, FlowProgramProperties props) throws IOException {
    public ByteArrayOutputStream exportConfirmTableDoc(FlowProgramProperties props) throws IOException {
        ByteArrayOutputStream os= new ByteArrayOutputStream();
        String tplOssName = paramService.confirmTableTemplateOssFileName();
        try(InputStream tplInputStream = ossTemplate.statFileStream(tplOssName);) {
            WordReplaceUtil.convert(getData(dispatch, props), tplInputStream, os);
            WordReplaceUtil.convert(getData( props), tplInputStream, os);
        }
        return os;
    }
@@ -84,53 +77,74 @@
     * 获取填充数据
     */
    Map<String,String> getData(TaskDispatch dispatch,FlowProgramProperties props){
        //ApproveTableInfo approveInfo = approveInfoQueryService.getApproveInfo(props);
    Map<String,String> getData(FlowProgramProperties props) {
        ApproveTableInfo approveInfo = approveInfoQueryService.getApproveInfo(props);
        Machine machine;
        String machineCode = props.getMachineCode();
        machine = machineService.getByCode(machineCode);
        if(dispatch == null){
            dispatch = new TaskDispatch();//TODO 后面去掉
        }
        Map<String,String> dataMap = new HashMap<>();
        NcNode node = this.nodeService.getById(props.getNodeId());
        TaskDispatch dispatch = taskDispatchService.getByProgramNo(node.getProgramNo());
        dataMap.put("bh","不明确");
        dataMap.put("bh",node.getProgramNo());//编号,就是数控程序编号
        dataMap.put("drawingNo",props.getDrawingNo());
        dataMap.put("processNo",props.getProcessNo());
        dataMap.put("craftEdition",props.getCraftEdition());
        dataMap.put("processEdition",props.getProcessEdition());
        dataMap.put("machineMode",machine.getName());
        dataMap.put("drawingEdition", props.getDrawingNoEdition());//word内不能跟drawingNo有相同字符
        String DATE_PATTERN = "yyyy-M-d";
        QinzheFgb qzfgb = qinzheFgbService.getByLjh(props.getDrawingNo());
        dataMap.put("drawingName",qzfgb.getLjmc());
        String dispatchDateStr = " ";
        dataMap.put("productModel", props.getProductModel());
        //页数,页号
        dataMap.put("tp", "1");
        dataMap.put("pg", "1");
        dataMap.put("processName", dispatch.getProcessName());
        dataMap.put("processCard", dispatch.getProcessCard());
        String ctlSystem = "";
        R<String> ctmR = dictBizClient.getValue(DictBizConstants.CONTROL_SYSTEM,machine.getControlSystem());
        if(ctmR.isSuccess()){
            ctlSystem = ctmR.getData();
        }
        dataMap.put("deviation",dispatch.getDeviation()==null?"":dispatch.getDeviation());
        dataMap.put("deviation", props.getDeviation() == null ? "" : props.getDeviation());
        dataMap.put("controlSystem",ctlSystem);
        dataMap.put("czz","操作者");
        dataMap.put("jyy","检验员");
        if (StringUtils.isNotBlank(dispatch.getOperator())){
            dataMap.put("czz", dispatch.getOperator()+"/"+formatTimeForTable(dispatch.getOperateTime()));//操作员,时间
        }else{
            dataMap.put("czz", "");
        }
        dataMap.put("programNo",dispatch.getProgramNo());
        if(StringUtils.isNotBlank(dispatch.getInspector())) {
            dataMap.put("jyy",dispatch.getInspector()+"/"+formatTimeForTable(dispatch.getCheckTime()));//实际检验员和检验时间
            //有检验员,即 符合该工序工艺卡片尺寸特性要求
        dataMap.put("fuhey",WordReplaceUtil.CHECKED);
        dataMap.put("fuhen",WordReplaceUtil.UNCHECKED);
        dataMap.put("jly",WordReplaceUtil.CHECKED);
        dataMap.put("jln",WordReplaceUtil.UNCHECKED);
        }else {
            dataMap.put("jyy",""); //填充空检验员
        String bianzhiDateStr = "";//DateUtil.format(dispatch.getCreateTime(), DATE_PATTERN);
            dataMap.put("fuhey", WordReplaceUtil.UNCHECKED);
            dataMap.put("fuhen", WordReplaceUtil.CHECKED);
            dataMap.put("jly",WordReplaceUtil.UNCHECKED);
            dataMap.put("jln",WordReplaceUtil.CHECKED);
        }
        dataMap.put("bianzhi","编程员?/"+bianzhiDateStr);
        dataMap.put("jiaodui","工艺校对?/时间不确定");
        dataMap.put("shenhe","高师?/时间不确定");
        dataMap.put("bianzhi",approveInfo.getProgrammerName()+"/"+formatTimeForTable(approveInfo.getProgrammingDate()));//编程人员
        //approveInfo.getDispatchDate()
        dataMap.put("jiaodui",approveInfo.getTeamLeaderName()+"/"+formatTimeForTable(approveInfo.getCheckDate()));//校对:专业组长
        dataMap.put("shenhe",approveInfo.getSeniorName()+"/"+formatTimeForTable(approveInfo.getApproveDate()));
        dataMap.put("sendPath",machine.getProgSendDir()!=null?machine.getProgSendDir():"");
@@ -182,7 +196,7 @@
            vo.setHistoryTaskEndTime(processInstance.getEndTime());
            vo.setFile(getFileString(processInstance.getId()));
            //vo.setFile(getFileString(processInstance.getId()));
            records.add(vo);
        }
@@ -190,6 +204,14 @@
        return page;
    }
    String formatTimeForTable(Date date){
        if(date==null){
            return "";
        }
        return DateUtil.format(date, DATE_PATTERN);
    }
    /**
    获取列表中的文件名
     */
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java
@@ -6,15 +6,22 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.variable.api.event.FlowableVariableEvent;
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.core.tool.utils.Func;
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.constants.FlowVariableContants;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.ApproveInfoQueryService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
@@ -49,8 +56,9 @@
    @Autowired
    private MachineService machineService;
    @Autowired
    private TaskDispatchService taskDispatchService;
    private HistoryService historyService;
    @Autowired
    private RuntimeService runtimeService;
    @Autowired
    private TaskDispatchStatMapper taskDispatchStatMapper;
@@ -62,6 +70,25 @@
        IPage<TaskDispatchStatVO> voPage = taskDispatchStatMapper.pageQuery(Condition.getPage(queryVO),queryVO);
        voPage.getRecords().forEach(vo ->
        {
            HistoricProcessInstance hisInst = historyService.createHistoricProcessInstanceQuery().processInstanceId(vo.getProcessInstanceId()).singleResult();
            if(hisInst != null){
                vo.setProgrammerName(userCommonService.getUserNameById(Func.toLong(hisInst.getProcessVariables().get(FlowVariableContants.PROGRAMMER))));
            }
            if(vo.getCureTime() == null){
                ProcessInstance runInst = runtimeService.createProcessInstanceQuery().processInstanceId(vo.getProcessInstanceId()).singleResult();
                if(runInst == null || runInst.isEnded()){
                    vo.setStatus(2);//固化中
                }else{
                    vo.setStatus(1);//试切中
                }
            }else{
                vo.setStatus(3);//已固化
            }
        });
        return voPage;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java
@@ -17,10 +17,8 @@
     * 设备编号
     */
    private String machineCode;
    /**
     * 工序名称,如“精铣”
     */
    //private String processName;
    private String processInstanceId;
    /**
     * 工序版次
@@ -31,22 +29,15 @@
     */
    private String processNo;
    /**
     * 工艺版次
     */
    private String craftEdition;
    /**
     * 零组件号/图号
     */
    private String drawingNo;
    /**
     * 图号版次
     */
    private String drawingNoEdition;
    /**
     * 产品型号
     * 主管工艺姓名
     */
    private String productModel;
    private String programmerName;
    /**
blade-service/blade-mdm/src/main/java/org/springblade/mdm/thirdpart/service/MesTaskService.java
@@ -3,6 +3,7 @@
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.runtime.ProcessInstance;
import org.springblade.mdm.flow.constants.FlowVariableContants;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.TaskDispatchService;
@@ -57,7 +58,12 @@
            taskDispatch.setCheckTime(finishTaskVO.getCheckTime());
            taskDispatchService.updateById(taskDispatch);
            ProcessInstance inst = runtimeService.createProcessInstanceQuery()
                .processInstanceId(taskDispatch.getProcessInstanceId()).active().singleResult();
            if(inst != null){
            runtimeService.setVariable(taskDispatch.getProcessInstanceId(), FlowVariableContants.PROCESS_CARD,finishTaskVO.getProcessCard());
        }
        }
    }
}