diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/en/EnBaseMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/en/EnBaseMapper.java index 11811aa2..510a3c05 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/en/EnBaseMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/en/EnBaseMapper.java @@ -9,5 +9,5 @@ import org.springblade.core.mp.base.BaseEntity; * @param */ public interface EnBaseMapper extends BaseMapper { - + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/BaseEntityVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/BaseEntityVO.java index e05c23a4..f0e0ba7a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/BaseEntityVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/BaseEntityVO.java @@ -4,8 +4,10 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; + /** - * todo: + * BaseEntity 共用字段对应VO. */ @Data @EqualsAndHashCode() @@ -32,10 +34,18 @@ public class BaseEntityVO { @Schema(description = "维护[用户]id") private Long keepUser = 0L; /** - * + * 维护[用户]-真名 */ @Schema(description = "维护[用户]-真名") private String keepUserRealName = "维护[用户]-真名"; + /** + * 维护时间 + */ + @Schema(description = "维护时间") + private Date keepTime; + /** + * 业务状态 名称 + */ @Schema(description = "业务状态 名称") private String statusName = "statusName"; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ExBaseService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ExBaseService.java deleted file mode 100644 index 39570a64..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ExBaseService.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.springblade.desk.basic.service; - -import org.springblade.core.mp.base.BaseService; - -/** - * 扩展框架中的BaseService. - * - * @param - */ -public interface ExBaseService extends BaseService { - -} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/EnBaseService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/EnBaseService.java new file mode 100644 index 00000000..95362667 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/EnBaseService.java @@ -0,0 +1,12 @@ +package org.springblade.desk.basic.service.en; + +import org.springblade.core.mp.base.BaseService; + +/** + * Enhance BaseService. + * + * @param + */ +public interface EnBaseService extends BaseService { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/impl/EnBaseServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/impl/EnBaseServiceImpl.java new file mode 100644 index 00000000..fe78bf6b --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/impl/EnBaseServiceImpl.java @@ -0,0 +1,93 @@ +package org.springblade.desk.basic.service.en.impl; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.commons.lang3.StringUtils; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.vo.BaseEntityVO; +import org.springblade.desk.basic.service.en.EnBaseService; +import org.springblade.desk.basic.util.IdUtil; +import org.springblade.system.feign.IDictClient; +import org.springblade.system.feign.ISysClient; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.Dept; +import org.springblade.system.pojo.entity.UserInfo; + +/** + * Enhance BaseServiceImpl. + * + * @param + * @param + */ +public class EnBaseServiceImpl, T extends BaseEntity> + extends BaseServiceImpl implements EnBaseService { + + /** + * 构建BaseEntityVO + * + * @param userClient feign IUserClient + * @param dictClient feign ISysClient + * @param sysClient feign IDictClient + * @param be 不赋值可以传入null + * @param statusCode 不需要可以传入null + * @return BaseEntityVO + */ + public BaseEntityVO setBaseVOValue(IUserClient userClient, ISysClient sysClient, IDictClient dictClient, + BaseEntity be, String statusCode) { + if (be == null) { + return null; + } + BaseEntityVO bv = new BaseEntityVO(); + R rUICR = null; + R rUIUP = null; + R rDept = null; + // createUserRealName + if (IdUtil.isValid(be.getCreateUser())) { + rUICR = userClient.userInfo(be.getCreateUser()); + if (rUICR != null && rUICR.isSuccess() && + rUICR.getData() != null && rUICR.getData().getUser() != null) { + bv.setCreateUserRealName(rUICR.getData().getUser().getRealName()); + } + } + // updateUserRealName + if (IdUtil.isValid(be.getUpdateUser())) { + rUIUP = userClient.userInfo(be.getUpdateUser()); + if (rUIUP != null && rUIUP.isSuccess() && + rUIUP.getData() != null && rUIUP.getData().getUser() != null) { + bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName()); + } + } + // createDeptName + if (IdUtil.isValid(be.getCreateDept())) { + rDept = sysClient.getDept(be.getCreateDept()); + if (rDept != null && rDept.isSuccess() && rDept.getData() != null) { + bv.setCreateDeptName(rDept.getData().getDeptName()); + } + } + // setKeepUser setKeepUserRealName setKeepTime + if (be.getCreateTime() != null && be.getUpdateTime() != null) { + if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚 + bv.setKeepUser(be.getUpdateUser()); + bv.setKeepUserRealName(bv.getUpdateUserRealName()); + bv.setKeepTime(be.getUpdateTime()); + } else { // 等于或更早 + bv.setKeepUser(be.getCreateUser()); + bv.setKeepUserRealName(bv.getCreateUserRealName()); + bv.setKeepTime(be.getCreateTime()); + } + } else if (be.getCreateTime() != null && be.getUpdateTime() == null) { + bv.setKeepUser(be.getCreateUser()); + bv.setKeepUserRealName(bv.getCreateUserRealName()); + bv.setKeepTime(be.getCreateTime()); + } + // statusName + if (StringUtils.isNotBlank(statusCode)) { + R rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus()); + if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) { + bv.setStatusName(rStatusDic.getData()); + } + } + return bv; + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/ExBaseServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/ExBaseServiceImpl.java deleted file mode 100644 index 57d9b36c..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/ExBaseServiceImpl.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.springblade.desk.basic.service.impl; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springblade.core.mp.base.BaseEntity; -import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.desk.basic.service.ExBaseService; - -/** - * 扩展框架中的BaseServiceImpl. - * - * @param - * @param - */ -public class ExBaseServiceImpl, T extends BaseEntity> - extends BaseServiceImpl implements ExBaseService { - -} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/AuditFileConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/AuditFileConst.java new file mode 100644 index 00000000..fb6295f9 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/AuditFileConst.java @@ -0,0 +1,8 @@ +package org.springblade.desk.quality.constant; + +public interface AuditFileConst { + + Integer S_NORMAL = 1; + + Integer S_ABANDON = 2; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ProReTemplateConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ProReTemplateConst.java index baf3f7cb..69a19725 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ProReTemplateConst.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ProReTemplateConst.java @@ -15,6 +15,10 @@ public interface ProReTemplateConst { Integer STATUS_NO = 3; + Integer APPROVAL_STATUS_1 = 1; + Integer APPROVAL_STATUS_2 = 2; + + Integer ONLINE = 1; Integer OFFLINE = 0; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java index 736fadab..96c258ef 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java @@ -40,6 +40,7 @@ import java.util.stream.Collectors; /** * [工艺文件] 控制器 + * mes v1: * * @author Tom Shuo * @since 2025-12-22 @@ -54,184 +55,191 @@ import java.util.stream.Collectors; public class AuditFileController extends BladeController { @Resource - private IAuditFileService service; - - /** - * [工艺文件] 详情 - */ - @GetMapping("/detail") - @ApiOperationSupport(order = 10) - @Operation(summary = "详情", description = "传入AuditFile Obj") - public R detail(AuditFile auditFile) { - QueryWrapper qw = Condition.getQueryWrapper(auditFile); - AuditFile detail = service.getOne(qw); - AuditFileVO detailVO = AuditFileWrapper.build().entityVO(detail); - service.setVOValue(detailVO); - return R.data(detailVO); - } - - /** - * [工艺文件] list分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 20) - @Operation(summary = "list分页", description = "传入AuditFile Obj") - public R> list(@Parameter(hidden = true) @RequestParam Map auditFile, - Query query) { + private IAuditFileService service; + + /** + * [工艺文件] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 10) + @Operation(summary = "详情", description = "传入AuditFile Obj") + public R detail(AuditFile auditFile) { + QueryWrapper qw = Condition.getQueryWrapper(auditFile); + AuditFile detail = service.getOne(qw); + AuditFileVO detailVO = AuditFileWrapper.build().entityVO(detail); + service.setVOValue(detailVO); + return R.data(detailVO); + } + + /** + * [工艺文件] list分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 20) + @Operation(summary = "list分页", description = "传入AuditFile Obj") + public R> list(@Parameter(hidden = true) @RequestParam Map auditFile, + Query query) { QueryWrapper qw = Condition.getQueryWrapper(auditFile, AuditFile.class); - IPage pages = service.page(Condition.getPage(query), qw); - IPage pagesVO = AuditFileWrapper.build().pageVO(pages); - pagesVO.getRecords() - .stream() - .peek(service::setVOValue) - .collect(Collectors.toList()); - return R.data(pagesVO); - } - - - /** - * [工艺文件] page分页 - */ - @GetMapping("/page") - @ApiOperationSupport(order = 21) - @Operation(summary = "page分页", description = "传入AuditFile Obj") - public R> page(AuditFileVO auditFile, Query query) { - IPage pagesVO = service.selectAuditFilePage( - Condition.getPage(query), auditFile - ); - return R.data(pagesVO); - } - - /** + IPage pages = service.page(Condition.getPage(query), qw); + IPage pagesVO = AuditFileWrapper.build().pageVO(pages); + pagesVO.getRecords() + .stream() + .peek(service::setVOValue) + .collect(Collectors.toList()); + return R.data(pagesVO); + } + + + /** + * [工艺文件] page分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 21) + @Operation(summary = "page分页", description = "传入AuditFile Obj") + public R> page(AuditFileVO auditFile, Query query) { + IPage pagesVO = service.selectAuditFilePage( + Condition.getPage(query), auditFile + ); + return R.data(pagesVO); + } + + /** * [工艺文件] list下拉选择 */ @GetMapping("/listForSelect") @ApiOperationSupport(order = 22) - @Operation(summary = "list下拉选择", description = "") + @Operation(summary = "list下拉选择", description = "") public R> listForSelect() { - List list = service.list(); - List listVO = AuditFileWrapper.build().listVO(list); - return R.data(listVO); + List list = service.list(); + List listVO = AuditFileWrapper.build().listVO(list); + return R.data(listVO); + } + + /** + * [工艺文件] 新增一条 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 30) + @Operation(summary = "新增一条", description = "传入AuditFile Obj") + public R save(@Valid @RequestBody AuditFile addOne) { + addOne.setId(null); + return R.status(service.save(addOne)); } - /** - * [工艺文件] 新增一条 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 30) - @Operation(summary = "新增一条", description = "传入AuditFile Obj") - public R save(@Valid @RequestBody AuditFile addOne) { - addOne.setId(null); - return R.status(service.save(addOne)); - } - - /** + /** * [工艺文件] 新增批量 */ - @PostMapping("/saveBat") - @ApiOperationSupport(order = 31) - @Operation(summary = "新增批量", description = "传入AuditFile List") - public R saveBat(@Valid @RequestBody List addList) { - addList.forEach(one -> { - one.setId(null); - }); - return R.status(service.saveBatch(addList)); - } - - /** - * [工艺文件] 修改一条 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 40) - @Operation(summary = "修改一条", description = "传入AuditFile Obj") - public R update(@Valid @RequestBody AuditFile updateOne) { - return R.status(service.updateById(updateOne)); - } + @PostMapping("/saveBat") + @ApiOperationSupport(order = 31) + @Operation(summary = "新增批量", description = "传入AuditFile List") + public R saveBat(@Valid @RequestBody List addList) { + addList.forEach(one -> { + one.setId(null); + }); + return R.status(service.saveBatch(addList)); + } + + /** + * [工艺文件] 修改一条 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 40) + @Operation(summary = "修改一条", description = "传入AuditFile Obj") + public R update(@Valid @RequestBody AuditFile updateOne) { + return R.status(service.updateById(updateOne)); + } /** * [工艺文件] 修改批量 */ @PostMapping("/updateBat") @ApiOperationSupport(order = 41) - @Operation(summary = "修改批量", description = "传入AuditFile List") + @Operation(summary = "修改批量", description = "传入AuditFile List") public R updateBat(@Valid @RequestBody List updateList) { return R.status(service.updateBatchById(updateList)); } - /** - * [工艺文件] 新增或修改一条 - */ - @PostMapping("/submit") - @ApiOperationSupport(order = 50) - @Operation(summary = "新增或修改一条", description = "传入AuditFile Obj") - public R submit(@Valid @RequestBody AuditFile mergeOne) { - return R.status(service.saveOrUpdate(mergeOne)); - } - - /** + /** + * [工艺文件] 新增或修改一条 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 50) + @Operation(summary = "新增或修改一条", description = "传入AuditFile Obj") + public R submit(@Valid @RequestBody AuditFile mergeOne) { + return R.status(service.saveOrUpdate(mergeOne)); + } + + /** * [工艺文件] 新增或修改批量 */ - @PostMapping("/submitBat") - @ApiOperationSupport(order = 51) - @Operation(summary = "新增或修改批量", description = "传入AuditFile List") - public R submitBat(@Valid @RequestBody List mergeList) { - return R.status(service.saveOrUpdateBatch(mergeList)); - } - - /** - * [工艺文件] 逻辑删除 - */ - @PostMapping("/remove") - @ApiOperationSupport(order = 61) - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return R.status(service.deleteLogic(Func.toLongList(ids))); - } - - /** - * [工艺文件] 导出Excel - */ - @GetMapping("/exportExcel") - @ApiOperationSupport(order = 70) - @Operation(summary = "导出Excel", description = "传入AuditFile") - public void exportExcel(@Parameter(hidden = true) @RequestParam Map auditFile, - BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper qw = Condition.getQueryWrapper(auditFile, AuditFile.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(AuditFile::getTenantId, bladeUser.getTenantId()); - //} - //queryWrapper.lambda().eq(AuditFileEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = service.exportAuditFile(qw); - ExcelUtil.export(response, "[工艺文件]数据" + DateUtil.time(), - "[工艺文件]数据表", list, AuditFileExcel.class); - } - - /** + @PostMapping("/submitBat") + @ApiOperationSupport(order = 51) + @Operation(summary = "新增或修改批量", description = "传入AuditFile List") + public R submitBat(@Valid @RequestBody List mergeList) { + return R.status(service.saveOrUpdateBatch(mergeList)); + } + + /** + * [工艺文件] 逻辑删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 61) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(service.deleteLogic(Func.toLongList(ids))); + } + + /** + * [工艺文件] 导出Excel + */ + @GetMapping("/exportExcel") + @ApiOperationSupport(order = 70) + @Operation(summary = "导出Excel", description = "传入AuditFile") + public void exportExcel(@Parameter(hidden = true) @RequestParam Map auditFile, + BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper qw = Condition.getQueryWrapper(auditFile, AuditFile.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(AuditFile::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(AuditFileEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = service.exportAuditFile(qw); + ExcelUtil.export(response, "[工艺文件]数据" + DateUtil.time(), + "[工艺文件]数据表", list, AuditFileExcel.class); + } + + /** * [工艺文件] 下载Excel模板 */ - @GetMapping("/downloadExcelTemplate") - @ApiOperationSupport(order = 71) - @Operation(summary = "下载Excel模板", description = "") - public ResponseEntity downloadExcelTemplate() { - return ExcelExtUtil.downloadXlsTemplate( - "Excel/QA/ImportTemplate-CycleTestItem.xls", - "导入模版-周期试验项目.xls"); - } - - /** - * [工艺文件] 导入Excel - */ - @PostMapping("/importExcel") - @ApiOperationSupport(order = 72) - @Operation(summary = "导入Excel", description = "MultipartFile") - public R importExcel(@RequestParam("file") MultipartFile file) { - R checkR = ExcelExtUtil.importExcelCheck(file); - if (checkR != null) { - return checkR; - } - List importList = ExcelUtil.read( - file, 0, 1, AuditFile.class - ); - return R.status(service.saveBatch(importList)); - } + @GetMapping("/downloadExcelTemplate") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/ImportTemplate-CycleTestItem.xls", + "导入模版-周期试验项目.xls"); + } + + /** + * [工艺文件] 导入Excel + */ + @PostMapping("/importExcel") + @ApiOperationSupport(order = 72) + @Operation(summary = "导入Excel", description = "MultipartFile") + public R importExcel(@RequestParam("file") MultipartFile file) { + R checkR = ExcelExtUtil.importExcelCheck(file); + if (checkR != null) { + return checkR; + } + List importList = ExcelUtil.read( + file, 0, 1, AuditFile.class + ); + return R.status(service.saveBatch(importList)); + } + + @PostMapping("/upgradeVer") + @ApiOperationSupport(order = 50) + @Operation(summary = "升版", description = "传入AuditFile Obj") + public R upgradeVer(@Valid @RequestBody AuditFile find) { + return service.upgradeVer(find); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/ProReTemplateVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/ProReTemplateVO.java index 1fbc8607..f0e2d93e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/ProReTemplateVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/ProReTemplateVO.java @@ -23,9 +23,6 @@ import java.util.List; public class ProReTemplateVO extends ProReTemplate { @Serial private static final long serialVersionUID = 1L; - /** - * todo: - */ @Schema(description = "base信息字段") private BaseEntityVO base; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IAuditFileService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IAuditFileService.java index 2bf11cff..bba72eb9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IAuditFileService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IAuditFileService.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.service.en.EnBaseService; import org.springblade.desk.quality.excel.AuditFileExcel; import org.springblade.desk.quality.pojo.entity.AuditFile; import org.springblade.desk.quality.pojo.vo.AuditFileVO; @@ -19,7 +20,7 @@ import java.util.List; * @author Tom Shuo * @since 2025-12-22 */ -public interface IAuditFileService extends BaseService { +public interface IAuditFileService extends EnBaseService { /** * 自定义分页 * @@ -43,5 +44,5 @@ public interface IAuditFileService extends BaseService { */ void setVOValue(AuditFileVO vo); - R upgradeVer(Long id); + R upgradeVer(AuditFile find); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java index 11cfef4c..89dc56ac 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Parameter; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.service.en.EnBaseService; import org.springblade.desk.quality.excel.ProReTemplateExcel; import org.springblade.desk.quality.pojo.entity.ProReTemplate; import org.springblade.desk.quality.pojo.vo.InspectionTemplateVO; @@ -22,7 +23,7 @@ import java.util.List; * @author Tom Shuo * @since 2025-12-22 */ -public interface IProReTemplateService extends BaseService { +public interface IProReTemplateService extends EnBaseService { /** * 自定义分页 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/AuditFileServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/AuditFileServiceImpl.java index a4e32882..de5d0928 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/AuditFileServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/AuditFileServiceImpl.java @@ -3,6 +3,7 @@ */ package org.springblade.desk.quality.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import jakarta.annotation.Resource; @@ -12,11 +13,15 @@ import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl; +import org.springblade.desk.quality.constant.AuditFileConst; import org.springblade.desk.quality.excel.AuditFileExcel; import org.springblade.desk.quality.mapper.AuditFileMapper; import org.springblade.desk.quality.pojo.entity.AuditFile; import org.springblade.desk.quality.pojo.vo.AuditFileVO; import org.springblade.desk.quality.service.IAuditFileService; +import org.springblade.system.feign.IDictClient; +import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.IUserClient; import org.springframework.stereotype.Service; @@ -33,32 +38,44 @@ import java.util.List; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -public class AuditFileServiceImpl extends BaseServiceImpl implements IAuditFileService { +public class AuditFileServiceImpl extends EnBaseServiceImpl + implements IAuditFileService { @Resource private IUserClient userClient; + @Resource + private ISysClient sysClient; + @Resource + private IDictClient dictClient; - @Override - public IPage selectAuditFilePage(IPage page, AuditFileVO auditFile) { - return page.setRecords(baseMapper.selectAuditFilePage(page, auditFile)); - } + @Override + public IPage selectAuditFilePage(IPage page, AuditFileVO auditFile) { + return page.setRecords(baseMapper.selectAuditFilePage(page, auditFile)); + } - @Override - public List exportAuditFile(Wrapper queryWrapper) { - List auditFileList = baseMapper.exportAuditFile(queryWrapper); - //auditFileList.forEach(auditFile -> { - // auditFile.setTypeName(DictCache.getValue(DictEnum.YES_NO, AuditFile.getType())); - //}); - return auditFileList; - } + @Override + public List exportAuditFile(Wrapper queryWrapper) { + List auditFileList = baseMapper.exportAuditFile(queryWrapper); + //auditFileList.forEach(auditFile -> { + // auditFile.setTypeName(DictCache.getValue(DictEnum.YES_NO, AuditFile.getType())); + //}); + return auditFileList; + } - @Override + @Override public void setVOValue(AuditFileVO vo) { - + vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "AuditFile-Status")); } - @Override - public R upgradeVer(Long id) { - return null; - } + @Override + public R upgradeVer(AuditFile find) { + AuditFile create = new AuditFile(); + BeanUtil.copyProperties(find, create); + find.setStatus(AuditFileConst.S_ABANDON); + create.setStatus(AuditFileConst.S_NORMAL); + create.setId(null); + updateById(find); + save(create); + return R.success("升版成功"); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java index 2d82f75d..407a7bb3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java @@ -16,6 +16,7 @@ import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.api.R; import org.springblade.desk.basic.pojo.vo.BaseEntityVO; +import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl; import org.springblade.desk.quality.constant.ProReTemplateConst; import org.springblade.desk.quality.excel.ProReTemplateExcel; import org.springblade.desk.quality.mapper.ProReTemplateMapper; @@ -35,8 +36,7 @@ import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.UserInfo; import org.springframework.stereotype.Service; -import java.util.Comparator; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -50,7 +50,7 @@ import java.util.stream.Collectors; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -public class ProReTemplateServiceImpl extends BaseServiceImpl +public class ProReTemplateServiceImpl extends EnBaseServiceImpl implements IProReTemplateService { @Resource @@ -80,75 +80,76 @@ public class ProReTemplateServiceImpl extends BaseServiceImpl tankVOList = tankService.getListByTemplateId(vo.getId()); - if (tankVOList != null && !tankVOList.isEmpty()) { - // 根据插入序号 getInsertIndex 排序 生成新的list - tankVOList = tankVOList.stream() - .sorted(Comparator.comparingInt(ProReTemplateTankVO::getInsertIndex)) - .collect(Collectors.toList()); - vo.setPreserveSlotList(tankVOList); - for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) { - List detailVOList = detailService.getListByTemplateTankId(tankVO.getId()); - tankVO.setChildrenList(detailVOList); - } + // 根据插入序号 getInsertIndex 排序 生成新的list todo: +// tankVOList = Optional.ofNullable(tankVOList) +// .orElse(Collections.emptyList()) +// .stream() +// .filter(Objects::nonNull) +// .sorted(Comparator.comparingInt(ProReTemplateTankVO::getInsertIndex)) +// .collect(Collectors.toList()); + vo.setPreserveSlotList(tankVOList); + for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) { + List detailVOList = detailService.getListByTemplateTankId(tankVO.getId()); + tankVO.setChildrenList(detailVOList); } } - /** - * 构建BaseEntityVO - * - * @param be 不赋值可以传入null - * @param statusCode 不需要可以传null - * @return BaseEntityVO - */ - public BaseEntityVO setBaseVOValue(BaseEntity be, String statusCode) { - if (be == null) { - return null; - } - BaseEntityVO bv = new BaseEntityVO(); - R rUICR = null; - R rUIUP = null; - R rDept = null; - if (IdUtil.isValid(be.getCreateUser())) { - rUICR = userClient.userInfo(be.getCreateUser()); - if (rUICR != null && rUICR.isSuccess() && - rUICR.getData() != null && rUICR.getData().getUser() != null) { - bv.setCreateUserRealName(rUICR.getData().getUser().getRealName()); - } - - } - if (IdUtil.isValid(be.getUpdateUser())) { - rUIUP = userClient.userInfo(be.getUpdateUser()); - if (rUIUP != null && rUIUP.isSuccess() && - rUIUP.getData() != null && rUIUP.getData().getUser() != null) { - bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName()); - } - } - if (IdUtil.isValid(be.getCreateDept())) { - rDept = sysClient.getDept(be.getCreateDept()); - if (rDept != null && rDept.isSuccess() && rDept.getData() != null) { - bv.setCreateDeptName(rDept.getData().getDeptName()); - } - } - if (be.getCreateTime() != null && be.getUpdateTime() != null) { - if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚 - bv.setKeepUser(be.getUpdateUser()); - bv.setKeepUserRealName(bv.getUpdateUserRealName()); - } else { // 等于或更早 - bv.setKeepUser(be.getCreateUser()); - bv.setKeepUserRealName(bv.getCreateUserRealName()); - } - } - if (StringUtils.isNotBlank(statusCode)) { - R rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus()); - if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) { - bv.setStatusName(rStatusDic.getData()); - } - } - return bv; - } +// /** +// * 构建BaseEntityVO +// * +// * @param be 不赋值可以传入null +// * @param statusCode 不需要可以传入null +// * @return BaseEntityVO +// */ +// public BaseEntityVO setBaseVOValue(BaseEntity be, String statusCode) { +// if (be == null) { +// return null; +// } +// BaseEntityVO bv = new BaseEntityVO(); +// R rUICR = null; +// R rUIUP = null; +// R rDept = null; +// if (IdUtil.isValid(be.getCreateUser())) { +// rUICR = userClient.userInfo(be.getCreateUser()); +// if (rUICR != null && rUICR.isSuccess() && +// rUICR.getData() != null && rUICR.getData().getUser() != null) { +// bv.setCreateUserRealName(rUICR.getData().getUser().getRealName()); +// } +// +// } +// if (IdUtil.isValid(be.getUpdateUser())) { +// rUIUP = userClient.userInfo(be.getUpdateUser()); +// if (rUIUP != null && rUIUP.isSuccess() && +// rUIUP.getData() != null && rUIUP.getData().getUser() != null) { +// bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName()); +// } +// } +// if (IdUtil.isValid(be.getCreateDept())) { +// rDept = sysClient.getDept(be.getCreateDept()); +// if (rDept != null && rDept.isSuccess() && rDept.getData() != null) { +// bv.setCreateDeptName(rDept.getData().getDeptName()); +// } +// } +// if (be.getCreateTime() != null && be.getUpdateTime() != null) { +// if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚 +// bv.setKeepUser(be.getUpdateUser()); +// bv.setKeepUserRealName(bv.getUpdateUserRealName()); +// } else { // 等于或更早 +// bv.setKeepUser(be.getCreateUser()); +// bv.setKeepUserRealName(bv.getCreateUserRealName()); +// } +// } +// if (StringUtils.isNotBlank(statusCode)) { +// R rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus()); +// if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) { +// bv.setStatusName(rStatusDic.getData()); +// } +// } +// return bv; +// } @Override public R updateDetail(ProReTemplateVO vo) {