setBaseVOValue 和 en增强的方法。

develop-QA
Tom Li 4 months ago
parent 0d728020c3
commit 63770ba4d6
  1. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/en/EnBaseMapper.java
  2. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/BaseEntityVO.java
  3. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ExBaseService.java
  4. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/EnBaseService.java
  5. 93
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/en/impl/EnBaseServiceImpl.java
  6. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/ExBaseServiceImpl.java
  7. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/AuditFileConst.java
  8. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ProReTemplateConst.java
  9. 320
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java
  10. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/ProReTemplateVO.java
  11. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IAuditFileService.java
  12. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java
  13. 55
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/AuditFileServiceImpl.java
  14. 135
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java

@ -9,5 +9,5 @@ import org.springblade.core.mp.base.BaseEntity;
* @param <T> * @param <T>
*/ */
public interface EnBaseMapper<T extends BaseEntity> extends BaseMapper<T> { public interface EnBaseMapper<T extends BaseEntity> extends BaseMapper<T> {
} }

@ -4,8 +4,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* todo: * BaseEntity 共用字段对应VO.
*/ */
@Data @Data
@EqualsAndHashCode() @EqualsAndHashCode()
@ -32,10 +34,18 @@ public class BaseEntityVO {
@Schema(description = "维护[用户]id") @Schema(description = "维护[用户]id")
private Long keepUser = 0L; private Long keepUser = 0L;
/** /**
* * 维护[用户]-真名
*/ */
@Schema(description = "维护[用户]-真名") @Schema(description = "维护[用户]-真名")
private String keepUserRealName = "维护[用户]-真名"; private String keepUserRealName = "维护[用户]-真名";
/**
* 维护时间
*/
@Schema(description = "维护时间")
private Date keepTime;
/**
* 业务状态 名称
*/
@Schema(description = "业务状态 名称") @Schema(description = "业务状态 名称")
private String statusName = "statusName"; private String statusName = "statusName";
} }

@ -1,12 +0,0 @@
package org.springblade.desk.basic.service;
import org.springblade.core.mp.base.BaseService;
/**
* 扩展框架中的BaseService.
*
* @param <T>
*/
public interface ExBaseService<T> extends BaseService<T> {
}

@ -0,0 +1,12 @@
package org.springblade.desk.basic.service.en;
import org.springblade.core.mp.base.BaseService;
/**
* Enhance BaseService.
*
* @param <T>
*/
public interface EnBaseService<T> extends BaseService<T> {
}

@ -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 <M>
* @param <T>
*/
public class EnBaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity>
extends BaseServiceImpl<M, T> implements EnBaseService<T> {
/**
* 构建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<UserInfo> rUICR = null;
R<UserInfo> rUIUP = null;
R<Dept> 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<String> rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus());
if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) {
bv.setStatusName(rStatusDic.getData());
}
}
return bv;
}
}

@ -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 <M>
* @param <T>
*/
public class ExBaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity>
extends BaseServiceImpl<M, T> implements ExBaseService<T> {
}

@ -0,0 +1,8 @@
package org.springblade.desk.quality.constant;
public interface AuditFileConst {
Integer S_NORMAL = 1;
Integer S_ABANDON = 2;
}

@ -15,6 +15,10 @@ public interface ProReTemplateConst {
Integer STATUS_NO = 3; Integer STATUS_NO = 3;
Integer APPROVAL_STATUS_1 = 1;
Integer APPROVAL_STATUS_2 = 2;
Integer ONLINE = 1; Integer ONLINE = 1;
Integer OFFLINE = 0; Integer OFFLINE = 0;

@ -40,6 +40,7 @@ import java.util.stream.Collectors;
/** /**
* [工艺文件] 控制器 * [工艺文件] 控制器
* mes v1:
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-22 * @since 2025-12-22
@ -54,184 +55,191 @@ import java.util.stream.Collectors;
public class AuditFileController extends BladeController { public class AuditFileController extends BladeController {
@Resource @Resource
private IAuditFileService service; private IAuditFileService service;
/** /**
* [工艺文件] 详情 * [工艺文件] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入AuditFile Obj") @Operation(summary = "详情", description = "传入AuditFile Obj")
public R<AuditFileVO> detail(AuditFile auditFile) { public R<AuditFileVO> detail(AuditFile auditFile) {
QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile); QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile);
AuditFile detail = service.getOne(qw); AuditFile detail = service.getOne(qw);
AuditFileVO detailVO = AuditFileWrapper.build().entityVO(detail); AuditFileVO detailVO = AuditFileWrapper.build().entityVO(detail);
service.setVOValue(detailVO); service.setVOValue(detailVO);
return R.data(detailVO); return R.data(detailVO);
} }
/** /**
* [工艺文件] list分页 * [工艺文件] list分页
*/ */
@GetMapping("/list") @GetMapping("/list")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入AuditFile Obj") @Operation(summary = "list分页", description = "传入AuditFile Obj")
public R<IPage<AuditFileVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> auditFile, public R<IPage<AuditFileVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> auditFile,
Query query) { Query query) {
QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile, AuditFile.class); QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile, AuditFile.class);
IPage<AuditFile> pages = service.page(Condition.getPage(query), qw); IPage<AuditFile> pages = service.page(Condition.getPage(query), qw);
IPage<AuditFileVO> pagesVO = AuditFileWrapper.build().pageVO(pages); IPage<AuditFileVO> pagesVO = AuditFileWrapper.build().pageVO(pages);
pagesVO.getRecords() pagesVO.getRecords()
.stream() .stream()
.peek(service::setVOValue) .peek(service::setVOValue)
.collect(Collectors.toList()); .collect(Collectors.toList());
return R.data(pagesVO); return R.data(pagesVO);
} }
/** /**
* [工艺文件] page分页 * [工艺文件] page分页
*/ */
@GetMapping("/page") @GetMapping("/page")
@ApiOperationSupport(order = 21) @ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入AuditFile Obj") @Operation(summary = "page分页", description = "传入AuditFile Obj")
public R<IPage<AuditFileVO>> page(AuditFileVO auditFile, Query query) { public R<IPage<AuditFileVO>> page(AuditFileVO auditFile, Query query) {
IPage<AuditFileVO> pagesVO = service.selectAuditFilePage( IPage<AuditFileVO> pagesVO = service.selectAuditFilePage(
Condition.getPage(query), auditFile Condition.getPage(query), auditFile
); );
return R.data(pagesVO); return R.data(pagesVO);
} }
/** /**
* [工艺文件] list下拉选择 * [工艺文件] list下拉选择
*/ */
@GetMapping("/listForSelect") @GetMapping("/listForSelect")
@ApiOperationSupport(order = 22) @ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "") @Operation(summary = "list下拉选择", description = "")
public R<List<AuditFileVO>> listForSelect() { public R<List<AuditFileVO>> listForSelect() {
List<AuditFile> list = service.list(); List<AuditFile> list = service.list();
List<AuditFileVO> listVO = AuditFileWrapper.build().listVO(list); List<AuditFileVO> listVO = AuditFileWrapper.build().listVO(list);
return R.data(listVO); 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") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入AuditFile List") @Operation(summary = "新增批量", description = "传入AuditFile List")
public R saveBat(@Valid @RequestBody List<AuditFile> addList) { public R saveBat(@Valid @RequestBody List<AuditFile> addList) {
addList.forEach(one -> { addList.forEach(one -> {
one.setId(null); one.setId(null);
}); });
return R.status(service.saveBatch(addList)); return R.status(service.saveBatch(addList));
} }
/** /**
* [工艺文件] 修改一条 * [工艺文件] 修改一条
*/ */
@PostMapping("/update") @PostMapping("/update")
@ApiOperationSupport(order = 40) @ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入AuditFile Obj") @Operation(summary = "修改一条", description = "传入AuditFile Obj")
public R update(@Valid @RequestBody AuditFile updateOne) { public R update(@Valid @RequestBody AuditFile updateOne) {
return R.status(service.updateById(updateOne)); return R.status(service.updateById(updateOne));
} }
/** /**
* [工艺文件] 修改批量 * [工艺文件] 修改批量
*/ */
@PostMapping("/updateBat") @PostMapping("/updateBat")
@ApiOperationSupport(order = 41) @ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入AuditFile List") @Operation(summary = "修改批量", description = "传入AuditFile List")
public R updateBat(@Valid @RequestBody List<AuditFile> updateList) { public R updateBat(@Valid @RequestBody List<AuditFile> updateList) {
return R.status(service.updateBatchById(updateList)); return R.status(service.updateBatchById(updateList));
} }
/** /**
* [工艺文件] 新增或修改一条 * [工艺文件] 新增或修改一条
*/ */
@PostMapping("/submit") @PostMapping("/submit")
@ApiOperationSupport(order = 50) @ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入AuditFile Obj") @Operation(summary = "新增或修改一条", description = "传入AuditFile Obj")
public R submit(@Valid @RequestBody AuditFile mergeOne) { public R submit(@Valid @RequestBody AuditFile mergeOne) {
return R.status(service.saveOrUpdate(mergeOne)); return R.status(service.saveOrUpdate(mergeOne));
} }
/** /**
* [工艺文件] 新增或修改批量 * [工艺文件] 新增或修改批量
*/ */
@PostMapping("/submitBat") @PostMapping("/submitBat")
@ApiOperationSupport(order = 51) @ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入AuditFile List") @Operation(summary = "新增或修改批量", description = "传入AuditFile List")
public R submitBat(@Valid @RequestBody List<AuditFile> mergeList) { public R submitBat(@Valid @RequestBody List<AuditFile> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList)); return R.status(service.saveOrUpdateBatch(mergeList));
} }
/** /**
* [工艺文件] 逻辑删除 * [工艺文件] 逻辑删除
*/ */
@PostMapping("/remove") @PostMapping("/remove")
@ApiOperationSupport(order = 61) @ApiOperationSupport(order = 61)
@Operation(summary = "逻辑删除", description = "传入ids") @Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(service.deleteLogic(Func.toLongList(ids))); return R.status(service.deleteLogic(Func.toLongList(ids)));
} }
/** /**
* [工艺文件] 导出Excel * [工艺文件] 导出Excel
*/ */
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
@ApiOperationSupport(order = 70) @ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入AuditFile") @Operation(summary = "导出Excel", description = "传入AuditFile")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> auditFile, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> auditFile,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile, AuditFile.class); QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(auditFile, AuditFile.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(AuditFile::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(AuditFile::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(AuditFileEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(AuditFileEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<AuditFileExcel> list = service.exportAuditFile(qw); List<AuditFileExcel> list = service.exportAuditFile(qw);
ExcelUtil.export(response, "[工艺文件]数据" + DateUtil.time(), ExcelUtil.export(response, "[工艺文件]数据" + DateUtil.time(),
"[工艺文件]数据表", list, AuditFileExcel.class); "[工艺文件]数据表", list, AuditFileExcel.class);
} }
/** /**
* [工艺文件] 下载Excel模板 * [工艺文件] 下载Excel模板
*/ */
@GetMapping("/downloadExcelTemplate") @GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71) @ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "") @Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() { public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate( return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls", "Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls"); "导入模版-周期试验项目.xls");
} }
/** /**
* [工艺文件] 导入Excel * [工艺文件] 导入Excel
*/ */
@PostMapping("/importExcel") @PostMapping("/importExcel")
@ApiOperationSupport(order = 72) @ApiOperationSupport(order = 72)
@Operation(summary = "导入Excel", description = "MultipartFile") @Operation(summary = "导入Excel", description = "MultipartFile")
public R importExcel(@RequestParam("file") MultipartFile file) { public R importExcel(@RequestParam("file") MultipartFile file) {
R checkR = ExcelExtUtil.importExcelCheck(file); R checkR = ExcelExtUtil.importExcelCheck(file);
if (checkR != null) { if (checkR != null) {
return checkR; return checkR;
} }
List<AuditFile> importList = ExcelUtil.read( List<AuditFile> importList = ExcelUtil.read(
file, 0, 1, AuditFile.class file, 0, 1, AuditFile.class
); );
return R.status(service.saveBatch(importList)); 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);
}
} }

@ -23,9 +23,6 @@ import java.util.List;
public class ProReTemplateVO extends ProReTemplate { public class ProReTemplateVO extends ProReTemplate {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* todo:
*/
@Schema(description = "base信息字段") @Schema(description = "base信息字段")
private BaseEntityVO base; private BaseEntityVO base;

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R; 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.excel.AuditFileExcel;
import org.springblade.desk.quality.pojo.entity.AuditFile; import org.springblade.desk.quality.pojo.entity.AuditFile;
import org.springblade.desk.quality.pojo.vo.AuditFileVO; import org.springblade.desk.quality.pojo.vo.AuditFileVO;
@ -19,7 +20,7 @@ import java.util.List;
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-22 * @since 2025-12-22
*/ */
public interface IAuditFileService extends BaseService<AuditFile> { public interface IAuditFileService extends EnBaseService<AuditFile> {
/** /**
* 自定义分页 * 自定义分页
* *
@ -43,5 +44,5 @@ public interface IAuditFileService extends BaseService<AuditFile> {
*/ */
void setVOValue(AuditFileVO vo); void setVOValue(AuditFileVO vo);
R upgradeVer(Long id); R upgradeVer(AuditFile find);
} }

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R; 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.excel.ProReTemplateExcel;
import org.springblade.desk.quality.pojo.entity.ProReTemplate; import org.springblade.desk.quality.pojo.entity.ProReTemplate;
import org.springblade.desk.quality.pojo.vo.InspectionTemplateVO; import org.springblade.desk.quality.pojo.vo.InspectionTemplateVO;
@ -22,7 +23,7 @@ import java.util.List;
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-22 * @since 2025-12-22
*/ */
public interface IProReTemplateService extends BaseService<ProReTemplate> { public interface IProReTemplateService extends EnBaseService<ProReTemplate> {
/** /**
* 自定义分页 * 自定义分页
* *

@ -3,6 +3,7 @@
*/ */
package org.springblade.desk.quality.service.impl; 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.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -12,11 +13,15 @@ import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R; 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.excel.AuditFileExcel;
import org.springblade.desk.quality.mapper.AuditFileMapper; import org.springblade.desk.quality.mapper.AuditFileMapper;
import org.springblade.desk.quality.pojo.entity.AuditFile; import org.springblade.desk.quality.pojo.entity.AuditFile;
import org.springblade.desk.quality.pojo.vo.AuditFileVO; import org.springblade.desk.quality.pojo.vo.AuditFileVO;
import org.springblade.desk.quality.service.IAuditFileService; 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.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -33,32 +38,44 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Slf4j @Slf4j
public class AuditFileServiceImpl extends BaseServiceImpl<AuditFileMapper, AuditFile> implements IAuditFileService { public class AuditFileServiceImpl extends EnBaseServiceImpl<AuditFileMapper, AuditFile>
implements IAuditFileService {
@Resource @Resource
private IUserClient userClient; private IUserClient userClient;
@Resource
private ISysClient sysClient;
@Resource
private IDictClient dictClient;
@Override @Override
public IPage<AuditFileVO> selectAuditFilePage(IPage<AuditFileVO> page, AuditFileVO auditFile) { public IPage<AuditFileVO> selectAuditFilePage(IPage<AuditFileVO> page, AuditFileVO auditFile) {
return page.setRecords(baseMapper.selectAuditFilePage(page, auditFile)); return page.setRecords(baseMapper.selectAuditFilePage(page, auditFile));
} }
@Override @Override
public List<AuditFileExcel> exportAuditFile(Wrapper<AuditFile> queryWrapper) { public List<AuditFileExcel> exportAuditFile(Wrapper<AuditFile> queryWrapper) {
List<AuditFileExcel> auditFileList = baseMapper.exportAuditFile(queryWrapper); List<AuditFileExcel> auditFileList = baseMapper.exportAuditFile(queryWrapper);
//auditFileList.forEach(auditFile -> { //auditFileList.forEach(auditFile -> {
// auditFile.setTypeName(DictCache.getValue(DictEnum.YES_NO, AuditFile.getType())); // auditFile.setTypeName(DictCache.getValue(DictEnum.YES_NO, AuditFile.getType()));
//}); //});
return auditFileList; return auditFileList;
} }
@Override @Override
public void setVOValue(AuditFileVO vo) { public void setVOValue(AuditFileVO vo) {
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "AuditFile-Status"));
} }
@Override @Override
public R upgradeVer(Long id) { public R upgradeVer(AuditFile find) {
return null; 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("升版成功");
}
} }

@ -16,6 +16,7 @@ import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO; 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.constant.ProReTemplateConst;
import org.springblade.desk.quality.excel.ProReTemplateExcel; import org.springblade.desk.quality.excel.ProReTemplateExcel;
import org.springblade.desk.quality.mapper.ProReTemplateMapper; 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.springblade.system.pojo.entity.UserInfo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Comparator; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -50,7 +50,7 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Slf4j @Slf4j
public class ProReTemplateServiceImpl extends BaseServiceImpl<ProReTemplateMapper, ProReTemplate> public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMapper, ProReTemplate>
implements IProReTemplateService { implements IProReTemplateService {
@Resource @Resource
@ -80,75 +80,76 @@ public class ProReTemplateServiceImpl extends BaseServiceImpl<ProReTemplateMappe
@Override @Override
public void setVOValue(ProReTemplateVO vo) { public void setVOValue(ProReTemplateVO vo) {
vo.setBase(setBaseVOValue(vo, ProReTemplateConst.DIC)); vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, ProReTemplateConst.DIC));
// //
List<ProReTemplateTankVO> tankVOList = tankService.getListByTemplateId(vo.getId()); List<ProReTemplateTankVO> tankVOList = tankService.getListByTemplateId(vo.getId());
if (tankVOList != null && !tankVOList.isEmpty()) { // 根据插入序号 getInsertIndex 排序 生成新的list todo:
// 根据插入序号 getInsertIndex 排序 生成新的list // tankVOList = Optional.ofNullable(tankVOList)
tankVOList = tankVOList.stream() // .orElse(Collections.emptyList())
.sorted(Comparator.comparingInt(ProReTemplateTankVO::getInsertIndex)) // .stream()
.collect(Collectors.toList()); // .filter(Objects::nonNull)
vo.setPreserveSlotList(tankVOList); // .sorted(Comparator.comparingInt(ProReTemplateTankVO::getInsertIndex))
for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) { // .collect(Collectors.toList());
List<ProReTemplateDetailVO> detailVOList = detailService.getListByTemplateTankId(tankVO.getId()); vo.setPreserveSlotList(tankVOList);
tankVO.setChildrenList(detailVOList); for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) {
} List<ProReTemplateDetailVO> detailVOList = detailService.getListByTemplateTankId(tankVO.getId());
tankVO.setChildrenList(detailVOList);
} }
} }
/** // /**
* 构建BaseEntityVO // * 构建BaseEntityVO
* // *
* @param be 不赋值可以传入null // * @param be 不赋值可以传入null
* @param statusCode 不需要可以传null // * @param statusCode 不需要可以传入null
* @return BaseEntityVO // * @return BaseEntityVO
*/ // */
public BaseEntityVO setBaseVOValue(BaseEntity be, String statusCode) { // public BaseEntityVO setBaseVOValue(BaseEntity be, String statusCode) {
if (be == null) { // if (be == null) {
return null; // return null;
} // }
BaseEntityVO bv = new BaseEntityVO(); // BaseEntityVO bv = new BaseEntityVO();
R<UserInfo> rUICR = null; // R<UserInfo> rUICR = null;
R<UserInfo> rUIUP = null; // R<UserInfo> rUIUP = null;
R<Dept> rDept = null; // R<Dept> rDept = null;
if (IdUtil.isValid(be.getCreateUser())) { // if (IdUtil.isValid(be.getCreateUser())) {
rUICR = userClient.userInfo(be.getCreateUser()); // rUICR = userClient.userInfo(be.getCreateUser());
if (rUICR != null && rUICR.isSuccess() && // if (rUICR != null && rUICR.isSuccess() &&
rUICR.getData() != null && rUICR.getData().getUser() != null) { // rUICR.getData() != null && rUICR.getData().getUser() != null) {
bv.setCreateUserRealName(rUICR.getData().getUser().getRealName()); // bv.setCreateUserRealName(rUICR.getData().getUser().getRealName());
} // }
//
} // }
if (IdUtil.isValid(be.getUpdateUser())) { // if (IdUtil.isValid(be.getUpdateUser())) {
rUIUP = userClient.userInfo(be.getUpdateUser()); // rUIUP = userClient.userInfo(be.getUpdateUser());
if (rUIUP != null && rUIUP.isSuccess() && // if (rUIUP != null && rUIUP.isSuccess() &&
rUIUP.getData() != null && rUIUP.getData().getUser() != null) { // rUIUP.getData() != null && rUIUP.getData().getUser() != null) {
bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName()); // bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName());
} // }
} // }
if (IdUtil.isValid(be.getCreateDept())) { // if (IdUtil.isValid(be.getCreateDept())) {
rDept = sysClient.getDept(be.getCreateDept()); // rDept = sysClient.getDept(be.getCreateDept());
if (rDept != null && rDept.isSuccess() && rDept.getData() != null) { // if (rDept != null && rDept.isSuccess() && rDept.getData() != null) {
bv.setCreateDeptName(rDept.getData().getDeptName()); // bv.setCreateDeptName(rDept.getData().getDeptName());
} // }
} // }
if (be.getCreateTime() != null && be.getUpdateTime() != null) { // if (be.getCreateTime() != null && be.getUpdateTime() != null) {
if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚 // if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚
bv.setKeepUser(be.getUpdateUser()); // bv.setKeepUser(be.getUpdateUser());
bv.setKeepUserRealName(bv.getUpdateUserRealName()); // bv.setKeepUserRealName(bv.getUpdateUserRealName());
} else { // 等于或更早 // } else { // 等于或更早
bv.setKeepUser(be.getCreateUser()); // bv.setKeepUser(be.getCreateUser());
bv.setKeepUserRealName(bv.getCreateUserRealName()); // bv.setKeepUserRealName(bv.getCreateUserRealName());
} // }
} // }
if (StringUtils.isNotBlank(statusCode)) { // if (StringUtils.isNotBlank(statusCode)) {
R<String> rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus()); // R<String> rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus());
if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) { // if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) {
bv.setStatusName(rStatusDic.getData()); // bv.setStatusName(rStatusDic.getData());
} // }
} // }
return bv; // return bv;
} // }
@Override @Override
public R updateDetail(ProReTemplateVO vo) { public R updateDetail(ProReTemplateVO vo) {

Loading…
Cancel
Save