setBaseVOValue 和 en增强的方法。

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

@ -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
@ -234,4 +235,11 @@ public class AuditFileController extends BladeController {
); );
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,10 +38,15 @@ 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) {
@ -54,11 +64,18 @@ public class AuditFileServiceImpl extends BaseServiceImpl<AuditFileMapper, Audit
@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)
// .sorted(Comparator.comparingInt(ProReTemplateTankVO::getInsertIndex))
// .collect(Collectors.toList());
vo.setPreserveSlotList(tankVOList); vo.setPreserveSlotList(tankVOList);
for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) { for (ProReTemplateTankVO tankVO : vo.getPreserveSlotList()) {
List<ProReTemplateDetailVO> detailVOList = detailService.getListByTemplateTankId(tankVO.getId()); List<ProReTemplateDetailVO> detailVOList = detailService.getListByTemplateTankId(tankVO.getId());
tankVO.setChildrenList(detailVOList); 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<UserInfo> rUICR = null;
R<UserInfo> rUIUP = null;
R<Dept> 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())) { // * 构建BaseEntityVO
rUIUP = userClient.userInfo(be.getUpdateUser()); // *
if (rUIUP != null && rUIUP.isSuccess() && // * @param be 不赋值可以传入null
rUIUP.getData() != null && rUIUP.getData().getUser() != null) { // * @param statusCode 不需要可以传入null
bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName()); // * @return BaseEntityVO
} // */
} // public BaseEntityVO setBaseVOValue(BaseEntity be, String statusCode) {
if (IdUtil.isValid(be.getCreateDept())) { // if (be == null) {
rDept = sysClient.getDept(be.getCreateDept()); // return null;
if (rDept != null && rDept.isSuccess() && rDept.getData() != null) { // }
bv.setCreateDeptName(rDept.getData().getDeptName()); // BaseEntityVO bv = new BaseEntityVO();
} // R<UserInfo> rUICR = null;
} // R<UserInfo> rUIUP = null;
if (be.getCreateTime() != null && be.getUpdateTime() != null) { // R<Dept> rDept = null;
if (be.getUpdateTime().after(be.getCreateTime())) { // 更新时间更晚 // if (IdUtil.isValid(be.getCreateUser())) {
bv.setKeepUser(be.getUpdateUser()); // rUICR = userClient.userInfo(be.getCreateUser());
bv.setKeepUserRealName(bv.getUpdateUserRealName()); // if (rUICR != null && rUICR.isSuccess() &&
} else { // 等于或更早 // rUICR.getData() != null && rUICR.getData().getUser() != null) {
bv.setKeepUser(be.getCreateUser()); // bv.setCreateUserRealName(rUICR.getData().getUser().getRealName());
bv.setKeepUserRealName(bv.getCreateUserRealName()); // }
} //
} // }
if (StringUtils.isNotBlank(statusCode)) { // if (IdUtil.isValid(be.getUpdateUser())) {
R<String> rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus()); // rUIUP = userClient.userInfo(be.getUpdateUser());
if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) { // if (rUIUP != null && rUIUP.isSuccess() &&
bv.setStatusName(rStatusDic.getData()); // rUIUP.getData() != null && rUIUP.getData().getUser() != null) {
} // bv.setUpdateUserRealName(rUIUP.getData().getUser().getRealName());
} // }
return bv; // }
} // 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<String> rStatusDic = dictClient.getValue(statusCode, "" + be.getStatus());
// if (rStatusDic != null && rStatusDic.isSuccess() && rStatusDic.getData() != null) {
// bv.setStatusName(rStatusDic.getData());
// }
// }
// return bv;
// }
@Override @Override
public R updateDetail(ProReTemplateVO vo) { public R updateDetail(ProReTemplateVO vo) {

Loading…
Cancel
Save