yangys
2025-09-19 270aceade15ec4cb7715131055b53cec4ecb7d4e
增加现场编制查询列表
已添加2个文件
已修改9个文件
172 ■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/ProgramOnMachineExcel.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramOnMachineImportController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/ProgramOnMachine.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/ProgramOnMachineMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/ProgramOnMachineMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramOnMachineRecordQueryVO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramOnMachineVO.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java
@@ -66,9 +66,10 @@
            excel.setProcessEdition(Func.toStr(vars.get(FlowVariableConstant.PROCESS_EDITION)));
            excel.setMachineCode(Func.toStr(vars.get(FlowVariableConstant.MACHINE_CODE)));
            excel.setProcessInstanceId(record.getProcessInstanceId());
            excel.setDeviation(Func.toStr(record.getVariables().get(FlowVariableConstant.DEVIATION)));
            list.add(excel);
        });
        ExcelUtil.export(response, "现场编制记录" + DateUtil.time(), "机床数据表", list, ProgramOnMachineExcel.class);
        ExcelUtil.export(response, "现场编制记录" + DateUtil.time(), "现场编制记录", list, ProgramOnMachineExcel.class);
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java
@@ -8,8 +8,6 @@
import org.flowable.engine.history.HistoricProcessInstanceQuery;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.flow.constants.FlowConstant;
import org.springblade.mdm.flow.constants.FlowVariableConstant;
import org.springblade.mdm.flow.vo.FlowVO;
@@ -28,8 +26,6 @@
public class ProgramOnMachineExportService {
    private final HistoryService historyService;
    private final ParamService paramService;
    private final MachineService machineService;
    /**
     *
     * @param page åˆ†é¡µä¿¡æ¯
@@ -42,18 +38,7 @@
            //.finished() // åªæŸ¥è¯¢å·²å®Œæˆçš„æµç¨‹.unfinished() // æŸ¥è¯¢æœªå®Œæˆçš„æµç¨‹
        query.variableNotExists(FlowVariableConstant.EXCEPTION);//非异常流程
        query.variableValueEquals(FlowVariableConstant.PROGRAM_ON_MACHINE, FlowConstant.Y);//选择现场编制的
        /*
        //车床或者选择现场编制的程序
        String turnVal = paramService.turninngValue();
        List<Machine> machines = machineService.lambdaQuery().eq(Machine::getMachineSpec,turnVal).eq(Machine::getStatus,Machine.STATUS_ENABLE).list();
        List<String> turnMachineCodes = machines.stream().map(Machine::getCode).toList();
        query.or();
        for(String mCode : turnMachineCodes){
            query.variableValueEquals(FlowVariableContants.MACHINE_CODE, mCode);
        }
        query.endOr();
        */
        if(queryVO.getEndTimeBegin()!=null) {
            query.finishedAfter(DateUtil.toDate(queryVO.getEndTimeBegin()));
        }
@@ -82,7 +67,6 @@
            vo.setProcessCreateTime(processInstance.getStartTime());
            vo.setHistoryTaskEndTime(processInstance.getEndTime());
            //vo.setFile(getFileString(processInstance.getId()));
            records.add(vo);
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/ProgramOnMachineExcel.java
@@ -20,6 +20,8 @@
    private String processNo;
    @ExcelProperty("工序版次")
    private String processEdition;
    @ExcelProperty("临时更改单")
    private String deviation;
    @ColumnWidth(20)
    @ExcelProperty("机床编号")
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java
@@ -40,7 +40,7 @@
    @Schema(description = "计划开工时间")
    private LocalDate planStartTime;
    @Schema(description = "偏离单号")
    @Schema(description = "临时更改单")
    private String deviation;
    @Schema(description = "是否临时流程,值:Y/N")
    private String isTempFlow;
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramOnMachineImportController.java
@@ -1,6 +1,7 @@
package org.springblade.mdm.program.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -10,13 +11,12 @@
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.flow.vo.ProgramOnMachineExcel;
import org.springblade.mdm.flow.vo.ProgramOnMachineQueryVO;
import org.springblade.mdm.program.service.MdmProgramImportService;
import org.springblade.mdm.program.service.ProgramOnMachineService;
import org.springblade.mdm.program.vo.MdmProgramImportVO;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springblade.mdm.program.vo.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -59,4 +59,11 @@
        }
    }
    @Operation(summary = "工控网下场编程记录分页查询", description = "工控网下场编程记录分页查询")
    @GetMapping("/program-on-machine-page")
    public R<IPage<ProgramOnMachineVO>> page(ProgramOnMachineRecordQueryVO queryVO) {
        return R.data(programOnMachineService.pageQuery(queryVO));
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/ProgramOnMachine.java
@@ -41,6 +41,10 @@
    private String processNo;
    /**
     * ä¸´æ—¶æ›´æ”¹å•
     */
    private String deviation;
    /**
     * æµç¨‹å®žä¾‹id
     */
    private String processInstanceId;
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/ProgramOnMachineMapper.java
@@ -1,9 +1,19 @@
package org.springblade.mdm.program.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.program.entity.ProgramOnMachine;
import org.springblade.mdm.program.vo.ProgramOnMachineRecordQueryVO;
import org.springblade.mdm.program.vo.ProgramOnMachineVO;
public interface ProgramOnMachineMapper extends BladeMapper<ProgramOnMachine> {
    /**
     * å¯¼å…¥è®°å½•分页查询
     * @param page åˆ†é¡µä¿¡æ¯
     * @param queryVO æŸ¥è¯¢æ ‘据
     * @return åˆ†é¡µæ•°æ®
     */
    IPage<ProgramOnMachineVO> pageQuery(@Param("page")IPage<Object> page, @Param("query")ProgramOnMachineRecordQueryVO queryVO);
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/ProgramOnMachineMapper.xml
@@ -3,4 +3,23 @@
<mapper namespace="org.springblade.mdm.program.mapper.ProgramOnMachineMapper">
    <select id="pageQuery" resultType="org.springblade.mdm.program.vo.ProgramOnMachineVO">
        select p.id,p.drawing_no,p.process_no,p.process_edition,p.deviation,p.machine_code,p.process_instance_id,p.create_time,u.name create_user_name
        from mdm_program_on_machine p left join blade_user u on p.create_user=u.id
        <where>
            p.is_deleted=0
            <if test="query.drawingNo!=null and query.drawingNo!=''">
                <bind name="dno" value="'%'+query.drawingNo+'%'"/>
                and p.drawing_no like #{dno}
            </if>
            <if test="query.createTimeBegin!=null">
                and p.create_time &gt;= #{query.createTimeBegin}
            </if>
            <if test="query.createTimeEnd!=null">
                and p.create_time &lt;= #{query.createTimeEnd}
            </if>
        </where>
        order by p.create_time desc;
    </select>
</mapper>
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramOnMachineService.java
@@ -1,17 +1,19 @@
package org.springblade.mdm.program.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.flow.vo.ProgramOnMachineExcel;
import org.springblade.mdm.program.entity.ProgramOnMachine;
import org.springblade.mdm.program.mapper.ProgramOnMachineMapper;
import org.springblade.mdm.program.vo.ProgramOnMachineRecordQueryVO;
import org.springblade.mdm.program.vo.ProgramOnMachineVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -19,7 +21,7 @@
import java.util.*;
/**
 * DNC回传文件处理服务
 * çŽ°åœºç¼–ç¨‹è®°å½•å¤„ç†å¿˜
 *
 * @author yangys
 */
@@ -43,6 +45,10 @@
        return list.size();
    }
    /**
     * æ‰¹é‡ä¿å­˜
     * @param list
     */
    void batchSaveData(List<ProgramOnMachine> list) {
        for (ProgramOnMachine progOnMachine : list) {
            if(!existsByProcessInstanceId(progOnMachine.getProcessInstanceId())){
@@ -51,7 +57,21 @@
        }
    }
    /**
     * æ ¹æ®æµç¨‹å®žä¾‹id判定是否存在
     * @param processInstanceId æµç¨‹å®žä¾‹id
     * @return æ˜¯å¦å­˜åœ¨
     */
    boolean existsByProcessInstanceId(String processInstanceId){
        return this.lambdaQuery().eq(ProgramOnMachine::getProcessInstanceId,processInstanceId).count() > 0;
    }
    /**
     * çŽ°åœºç¼–ç¨‹å¯¼å…¥è®°å½•æŸ¥è¯¢
     * @param queryVO æŸ¥è¯¢æ ‘据
     * @return åˆ†é¡µæ ‘据
     */
    public IPage<ProgramOnMachineVO> pageQuery(ProgramOnMachineRecordQueryVO queryVO) {
        return baseMapper.pageQuery(Condition.getPage(queryVO),queryVO);//IPage<ProgramOnMachineExcel>,queryVO
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramOnMachineRecordQueryVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
@Schema(description = "现场编辑记录查询对象(工控网)")
@Setter
@Getter
public class ProgramOnMachineRecordQueryVO extends Query {
    @Schema(description = "零组件号")
    private String drawingNo;
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @Schema(description = "审批完成时间开始")
    private LocalDate createTimeBegin;
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @Schema(description = "审批完成时间截止")
    private LocalDate createTimeEnd;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramOnMachineVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.mdm.commons.vo.BaseVO;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
@Schema(description = "现场编辑记录查询对象(工控网)")
@Setter
@Getter
public class ProgramOnMachineVO extends BaseVO {
    @Schema(description = "零组件号")
    private String drawingNo;
    /**
     * è®¾å¤‡ç¼–号
     */
    private String machineCode;
    /**
     * å·¥åºç‰ˆæ¬¡
     */
    private String processEdition;
    /**
     * å·¥åºå·
     */
    private String processNo;
    /**
     * ä¸´æ—¶æ›´æ”¹å•
     */
    private String deviation;
    /**
     * æµç¨‹å®žä¾‹id
     */
    private String processInstanceId;
}