blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFile.java
@@ -61,6 +61,28 @@ * tempç®å½ */ public static final String DIR_TYPE_TEMP = "TEMP"; /** * æä»¶å¼å¸¸ç±»åï¼æ£å¸¸ */ public static final int EXCEPTION_OK = 0; /** * æä»¶å¼å¸¸ç±»åï¼éææ¬æä»¶ */ public static final int EXCEPTION_NOT_TEXT = 1; /** * æä»¶å¼å¸¸ç±»åï¼æä»¶åæ ¼å¼ä¸åæ³ */ public static final int EXCEPTION_BAD_FILENAME = 2; /** * æä»¶å¼å¸¸ç±»åï¼æä»¶ç¡®å¤±(段æ°ä¸å¤) */ public static final int EXCEPTION_LOST_FILES = 3; /** * æä»¶å¼å¸¸ç±»åï¼æä»¶æ®µæ°ä¸ä¸åè®°å½ä¸å¹é ï¼è½¦åº/ç°åºç¼å¶é¤å¤) */ public static final int EXCEPTION_NOT_MATCH_SEND = 3; /** * æä»¶å @@ -106,6 +128,13 @@ * ç¨åºç¶æï¼1è¯åï¼2åºåï¼3å离ï¼4æªç¥ï¼ */ private Integer programStatus; /** * RECç®å½æä»¶å¼å¸¸ç±»åï¼0/null:æ£å¸¸; 1éææ¬æ ¼å¼ï¼2:æä»¶åæ ¼å¼ä¸åæ³ï¼3:æä»¶ç¡®å¤±(段æ°ä¸å¤)ï¼4:æä»¶æ®µæ°ä¸ä¸åè®°å½ä¸å¹é ï¼è½¦åº/ç°åºç¼å¶é¤å¤) */ private Integer exceptionType; /** * çææä»¶å¤§å°çæ¾ç¤ºææ¬ * @return æ¾ç¤ºææ¬ @@ -133,4 +162,21 @@ setStatus(STATUS_REJECTED); this.determineTime = new Date(); } /** * å¼å¸¸è¯¦ç»æè¿° * @return æè¿°ææ¬ */ public String getExceptionMsg(){ if(exceptionType == null){ return "æ£å¸¸"; } return switch (exceptionType) { case 1 -> "éææ¬"; case 2 -> "æä»¶åæ ¼å¼é误"; case 3 -> "æä»¶ç¡®å¤±"; case 4 -> "段æ°ä¸ä¸åè®°å½ä¸å¹é "; default -> "æ£å¸¸"; }; } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.java
@@ -8,6 +8,7 @@ import org.springblade.mdm.machinefile.vo.MachineAcceptedFileHandleQueryVO; import org.springblade.mdm.machinefile.vo.MachineBackFileQueryVO; import org.springblade.mdm.machinefile.vo.MachineAcceptedFileVO; import org.springblade.mdm.statreport.vo.MachineFileExceptionQueryVO; public interface MachineFileMapper extends BladeMapper<MachineFile> { /** @@ -26,10 +27,11 @@ IPage<MachineFile> filePageForAccept(IPage<MachineAcceptedFileVO> page, @Param("query")MachineBackFileQueryVO queryVO); /** * æºåºåä¼ æä»¶å¤çå页æ¥è¯¢ * å¼å¸¸æä»¶å表æ¥è¯¢ * @param page * @param query * @return */ //IPage<MachineAcceptedFileVO> handlePageQuery(@Param("page")IPage<MachineAcceptedFileVO> page, @Param("query") MachineAcceptedFileHandleQueryVO query); IPage<MachineFile> exceptionFilePageQuery(IPage<Object> page,@Param("query") MachineFileExceptionQueryVO query); } blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.xml
@@ -89,4 +89,25 @@ </where> order by f.file_create_time desc </select> <!--å¼å¸¸æä»¶è®°å½æ¥è¯¢--> <select id="exceptionFilePageQuery" resultType="org.springblade.mdm.machinefile.entity.MachineFile"> select f.id,f.name,f.machine_code,f.file_create_time, f.file_modify_time,f.md5,f.file_size,f.exception_type,f.create_time,f.update_time from mdm_machine_file f join mdm_machine m on f.machine_code=m.code and m.is_deleted=0 <where> f.dir_type='REC' and f.is_deleted=0 and f.exception_type is not null and f.exception_type <> 0 <if test="query.name!=null and query.name!=''"> and f.name like CONCAT('%', #{query.name,jdbcType=VARCHAR},'%') </if> <if test="query.fileCreateTimeBegin!=null"> and f.file_create_time >= #{query.fileCreateTimeBegin} </if> <if test="query.fileCreateTimeEnd!=null"> and f.file_create_time <= #{query.fileCreateTimeEnd} </if> </where> order by f.file_create_time desc </select> </mapper> blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileService.java
@@ -19,6 +19,7 @@ import org.springblade.mdm.machinefile.vo.MachineFileQueryVO; import org.springblade.mdm.machinefile.vo.MachineBackFileQueryVO; import org.springblade.mdm.program.vo.CompareDataVO; import org.springblade.mdm.statreport.vo.MachineFileExceptionQueryVO; import org.springblade.mdm.utils.FileContentUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -235,4 +236,14 @@ public void deleteById(Long id) { baseMapper.deleteById(id); } /** * å¼å¸¸æä»¶è®°å½æ¥è¯¢ * @param query * @return */ @Transactional(readOnly = true) public IPage<MachineFile> exceptionFilePageQuery(MachineFileExceptionQueryVO query) { return baseMapper.exceptionFilePageQuery(Condition.getPage(query),query); } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileQueryVO.java
@@ -15,7 +15,7 @@ @Setter @Getter public class MachineFileQueryVO extends Query { @Schema(description = "æä»¶åæ") @Schema(description = "æä»¶åç§°") private String name; @Schema(description = "ç®å½ç±»å") private String dirType; blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/MachineFileExceptionController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,98 @@ 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 jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.mdm.basesetting.machine.entity.Machine; import org.springblade.mdm.basesetting.machine.service.MachineService; import org.springblade.mdm.basesetting.producedivision.entity.MdmDept; import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService; import org.springblade.mdm.machinefile.entity.MachineFile; import org.springblade.mdm.machinefile.service.MachineFileChangeHisService; import org.springblade.mdm.machinefile.service.MachineFileService; import org.springblade.mdm.machinefile.vo.*; import org.springblade.mdm.program.vo.CompareDataVO; import org.springblade.mdm.statreport.vo.MachineFileExceptionExcelVO; import org.springblade.mdm.statreport.vo.MachineFileExceptionQueryVO; 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; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * å·¥æ§ç½å¼å¸¸æä»¶è®°å½ * * @author yangys */ @NonDS @RestController @RequestMapping("/statreport/exceptionfile") @Tag(name = "å·¥æ§ç½ç¨åºèç¹", description = "å·¥æ§ç½ç¨åºèç¹") @Slf4j public class MachineFileExceptionController { @Autowired private MachineFileService machineFileService; @Autowired private MdmDeptService mdmDeptService; @Autowired private MachineService machineService; @GetMapping("/page") @Operation(summary = "æä»¶å¼å¸¸è®°å½å表", description = "æä»¶å¼å¸¸è®°å½å表") public R<IPage<MachineFile>> page(MachineFileExceptionQueryVO query) { /* if("workshop".equals(query.getNodeType()) || "seg".equals(query.getNodeType())) { //èç¹ä¸ºè½¦é´ã工段 MdmDept dept = mdmDeptService.getById(query.getNodeId()); String idStr = dept.getAncestors()+","+dept.getId(); List<MdmDept> depts = mdmDeptService.lambdaQuery().likeRight(MdmDept::getParentId, query.getNodeId()).list(); List<Long> deptIds = new ArrayList<>(depts.stream().map(MdmDept::getId).toList()); deptIds.add(dept.getId()); //+æ¬è½¦é´ //Func.toStrList(",",idStr) query.setDeptIds(deptIds); }else if("machine".equals(query.getNodeType())){ Machine machine = machineService.getById(query.getNodeId()); query.setMachineCode(machine.getCode()); }else if("dir".equals(query.getNodeType())){ query.setMachineCode(query.getMachineCode()); }*/ return R.data(machineFileService.exceptionFilePageQuery(query)); } @Operation(summary = "åä¼ ç¨åºå¤ç导åºExcel", description = "åä¼ ç¨åºå¤ç导åºExcel") @GetMapping("/export-excel") public void exportExcel(MachineFileExceptionQueryVO query, HttpServletResponse response) { query.setCurrent(1); query.setSize(Integer.MAX_VALUE); IPage<MachineFile> page = machineFileService.exceptionFilePageQuery(query); //List<MachineFileExceptionExcelVO> list = BeanUtil.copy(page.getRecords(), MachineFileExceptionExcelVO.class); List<MachineFileExceptionExcelVO> list = new ArrayList<>(); page.getRecords().forEach(machineFile ->{ MachineFileExceptionExcelVO excelVO = new MachineFileExceptionExcelVO(); BeanUtil.copyProperties(machineFile, excelVO); //excelVO.setExceptionMsg(machineFile.getExceptionMsg()); list.add(excelVO); }); ExcelUtil.export(response, "æä»¶å¼å¸¸è®°å½" + DateUtil.time(), "æä»¶å¼å¸¸è®°å½", list, MachineFileExceptionExcelVO.class); } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/MachineFileExceptionExcelVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package org.springblade.mdm.statreport.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.util.Date; /** * æºåºåä¼ æä»¶å¤ç导åºexcelVO */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class MachineFileExceptionExcelVO { @ExcelProperty("æä»¶åç§°") private String name; @ColumnWidth(20) @ExcelProperty("æºåº") private String machineCode; @ExcelProperty("å¼å¸¸ä¿¡æ¯") private String exceptionMsg; @DateTimeFormat("yyyy-MM-dd HH:mm:ss") @ExcelProperty("æ¶é´") private Date fileCreateTime; } blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/MachineFileExceptionQueryVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ 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.time.LocalDateTime; import java.util.List; /** * å页æ¥è¯¢åæ° */ @Schema(description = "æ°ç¼ç¨åºç»è®¡æ¥è¯¢å¯¹è±¡") @Setter @Getter public class MachineFileExceptionQueryVO extends Query { @Schema(description = "æä»¶åç§°") private String name; @Schema(description = "æä»¶å建æ¶é´å¼å§") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime fileCreateTimeBegin; @Schema(description = "æä»¶å建æ¶é´æªæ¢") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime fileCreateTimeEnd; } doc/sql/mdm/mdm.mysql.all.create.sql
@@ -173,6 +173,9 @@ `program_no` varchar(20) NULL COMMENT 'æ°æ§ç¨åºç¼å·ï¼æµç¨åèµ·åå¡«å ', `mes_task_id` varchar(100) NULL COMMENT 'MESä»»å¡å¯ä¸æ è¯', `inspector` varchar(40) NULL COMMENT 'æ£éªåï¼mesæä¾ï¼', `check_time` datetime DEFAULT NULL COMMENT 'æ£éªæ¶é´', `operator` varchar(40) NULL COMMENT 'æä½è ï¼mesæä¾ï¼', `operate_time` datetime DEFAULT NULL COMMENT 'æä½æ¶é´', `status` int DEFAULT NULL COMMENT 'ä¸å¡ç¶æï¼1ï¼åå§åï¼2:æµç¨å·²å¯å¨ 3:é夿´¾å·¥;4ï¼éªè¯å¤±è´¥,5ï¼å¯å¨å¼å¸¸', `create_dept` bigint DEFAULT NULL COMMENT 'å建åä½', `is_deleted` int DEFAULT NULL, @@ -452,6 +455,7 @@ `file_size` bigint DEFAULT NULL COMMENT 'æä»¶åèæ°', `determine_time` datetime DEFAULT NULL COMMENT 'æ¥å/æç»çæ¶é´', `program_status` int DEFAULT NULL COMMENT 'ç¨åºç¶æï¼1è¯åï¼2åºåï¼3å离ï¼4æªç¥ï¼', `exception_type` int DEFAULT NULL COMMENT 'RECç®å½æä»¶å¼å¸¸ç±»åï¼0/null:æ£å¸¸; 1éææ¬æ ¼å¼ï¼2:æä»¶åæ ¼å¼ä¸åæ³ï¼3:æä»¶ç¡®å¤±(段æ°ä¸å¤)ï¼4:æä»¶æ®µæ°ä¸ä¸åè®°å½ä¸å¹é ï¼è½¦åº/ç°åºç¼å¶é¤å¤)', `status` int DEFAULT NULL COMMENT 'ä¸å¡ç¶æ', `create_dept` bigint DEFAULT NULL COMMENT 'å建åä½', `is_deleted` int DEFAULT NULL,