质量相关问题修改。

develop-QA
Tom Li 3 months ago
parent 3d1120a6f6
commit 9234f26201
  1. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
  3. 16
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/RemindMsgSearch.java
  4. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java
  5. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
  6. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
  7. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewDutyVO.java
  8. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java
  9. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java
  10. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java
  11. 31
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/Integer0ToEmptyStringSerializer.java
  12. 30
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/IntegerAllToStringSerializer.java
  13. 52
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java
  14. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
  15. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  16. 318
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java
  17. 113
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
  18. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
  19. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/RemindMsgMapper.java
  20. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.java
  21. 43
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  22. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IReviewSheetService.java
  23. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  24. 68
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  25. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/RoleUtil.java

@ -4,10 +4,14 @@
package org.springblade.desk.quality.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.desk.util.json.Integer0ToEmptyStringSerializer;
import org.springblade.desk.util.json.IntegerAllToStringSerializer;
import java.io.Serial;
import java.time.LocalDateTime;
@ -197,6 +201,8 @@ public class ReviewSheet extends BaseEntity {
* [生产处置单]模式-[1]:零件模式;[2]装配模式;[3]售后模式;
*/
@Schema(description = "[生产处置单]模式-[1]:零件模式;[2]装配模式;[3]售后模式;")
@JsonSerialize(using = IntegerAllToStringSerializer.class)
// @JsonSerialize(using = ToStringSerializer.class)
private Integer reviewOrderMode;
/**
* 名称

@ -3,12 +3,14 @@ package org.springblade.desk.quality.pojo.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import java.time.LocalDate;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InspectionTaskSearch extends InspectionTask {
@Schema(description = "流程卡号")

@ -0,0 +1,16 @@
package org.springblade.desk.quality.pojo.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.RemindMsg;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RemindMsgSearch extends RemindMsg {
@Schema(description = "零件名称")
private String partName;
}

@ -14,4 +14,12 @@ public class ReviewSheetErpSearch extends ReviewSheet {
@Schema(description = "责任零件")
private String dutyPart;
private String createTimeStart;
private String createTimeEnd;
private String reviewTimeStart;
private String reviewTimeEnd;
}

@ -32,4 +32,10 @@ public class ReviewSheetInitSearch extends ReviewSheet {
private String createTimeStart;
@Schema(description = "创建时间-结束")
private String createTimeEnd;
@Schema(description = "审理时间-开始")
private String reviewTimeStart;
@Schema(description = "审理时间-结束")
private String reviewTimeEnd;
@Schema(description = "[外协厂商]名称")
private String oemName;
}

@ -46,11 +46,11 @@ public class InspectionTaskListVO extends InspectionTask {
@Schema(description = "车间订单号")
private String woCode = "XXXX12345";
@Schema(description = "零件号")
private String partCode = "XXXX12345";
private String partCode = "";
@Schema(description = "生产标识")
private String prodIdent = "XXXX12345";
@Schema(description = "流程卡号")
private String cardNo = "XXXX12345";
private String cardNo = "";
@Schema(description = "需求部门")
private String needDeptName = "XXXX12345";
@Schema(description = "批次号")

@ -5,6 +5,7 @@ package org.springblade.desk.quality.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import java.io.Serial;
@ -17,6 +18,7 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewDutyVO extends ReviewDuty {
@Serial
private static final long serialVersionUID = 1L;

@ -6,6 +6,7 @@ package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import java.io.Serial;
@ -18,6 +19,7 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewFaultVO extends ReviewFault {
@Serial
private static final long serialVersionUID = 1L;

@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import java.io.Serial;
@ -20,6 +21,7 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewSheetDetailVO extends ReviewSheet {
@Serial
private static final long serialVersionUID = 1L;

@ -33,7 +33,7 @@ public class ReviewSheetInitVO extends ReviewSheet {
@Schema(description = "[生产处置单]模式 名称")
private String reviewOrderModeName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
private String backUserRealName;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")

@ -0,0 +1,31 @@
package org.springblade.desk.util.json;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdScalarSerializer;
import java.io.IOException;
/**
* 自定义Integer序列化器0值 null 序列化为空字符串其他值正常序列化
*/
public class Integer0ToEmptyStringSerializer extends StdScalarSerializer<Integer> {
/**
* 提供无参构造器指定处理的类型为Integer
*/
public Integer0ToEmptyStringSerializer() {
super(Integer.class);
}
@Override
public void serialize(Integer value, JsonGenerator gen, SerializerProvider provider)
throws IOException {
// 核心逻辑:判断值是否为null或0,是则写空字符串,否则写原数值
if (value == null || value == 0) {
gen.writeString(""); // 0或null时返回空字符串
} else {
gen.writeNumber(value); // 非0数值正常返回数字
}
}
}

@ -0,0 +1,30 @@
package org.springblade.desk.util.json;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdScalarSerializer;
import java.io.IOException;
/**
*
*/
public class IntegerAllToStringSerializer extends StdScalarSerializer<Integer> {
/**
*
*/
public IntegerAllToStringSerializer() {
super(Integer.class);
}
@Override
public void serialize(Integer value, JsonGenerator gen, SerializerProvider provider)
throws IOException {
if (value == null || value == 0) {
gen.writeString("");
} else {
gen.writeString("" + value);
}
}
}

@ -0,0 +1,52 @@
package org.springblade.desk.basic.util;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.secure.utils.AuthUtil;
public class RoleUtil {
/**
* @param roleAlias 角色别名
* @return 登录用户是否有角色
*/
public static Boolean hasRole(String roleAlias) {
if (StringUtils.isBlank(roleAlias)) {
throw new IllegalArgumentException("roleAlias参数错误");
}
return AuthUtil.getUserRole().contains(roleAlias);
}
/**
*
* @param roleAliasArray
* @return 登录用户是否有所有角色逻辑与关系
*/
public static Boolean hasAllRole(String... roleAliasArray) {
if (roleAliasArray == null || roleAliasArray.length == 0) {
throw new IllegalArgumentException("roleAliasArray参数错误");
}
for (String roleAlias : roleAliasArray) {
if (!hasRole(roleAlias)) {
return false;
}
}
return true;
}
/**
*
* @param roleAliasArray
* @return 登录用户是否有任意角色逻辑或关系
*/
public static Boolean hasAnyRole(String... roleAliasArray) {
if (roleAliasArray == null || roleAliasArray.length == 0) {
throw new IllegalArgumentException("roleAliasArray参数错误");
}
for (String roleAlias : roleAliasArray) {
if (hasRole(roleAlias)) {
return true;
}
}
return true;
}
}

@ -28,7 +28,7 @@ public interface ReviewSheetConst {
/**
* 新建 内部 ERP 都用
*/
Integer S_NEW = -1;
Integer S_NEW = 0;
/**
* 待审理 内部用 ERP不用
*/

@ -27,6 +27,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.config.RoleConfig;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.pojo.vo.UrlVO;
import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.desk.quality.constant.CycleTestTaskConst;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
@ -53,6 +54,7 @@ import java.util.Map;
* 工序级的检验任务
* mes v1: rb_pr_work_check PrWorkCheck
*
* ppsName:烧结包装防护 才有子件列表
* @author Tom Shuo
* @since 2025-11-14
*/
@ -90,18 +92,19 @@ public class InspectionTaskController extends BladeController {
@PostMapping("/listSearch")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入inspectionTask")
public R<IPage<InspectionTaskListVO>> listSearch(
@Parameter(hidden = true) @RequestParam(required = false) InspectionTaskSearch search, Query query) {
public R<IPage<InspectionTaskListVO>> listSearch(@Valid @RequestBody InspectionTaskSearch search,
@RequestBody Query query) {
log.info("search = {}", search);
log.info("query = {}", query);
log.info("getUserRole = {}", AuthUtil.getUserRole());
// 热表 烧结 检验员 数据区分。
if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias())) {
if (RoleUtil.hasRole(roleConfig.getRbCheckerAlias())) {
search.setFromType(InspectionTaskConst.FROM_TYPE_RB);
}
if (AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) {
if (RoleUtil.hasRole(roleConfig.getSjCheckerAlias())) {
search.setFromType(InspectionTaskConst.FROM_TYPE_SJ);
}
if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias()) &&
AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) {
if (RoleUtil.hasAllRole(roleConfig.getRbCheckerAlias(), roleConfig.getSjCheckerAlias())) {
search.setFromType(null);
}
IPage<InspectionTaskListVO> pagesVO = service.listSearch(Condition.getPage(query), search);
@ -235,6 +238,7 @@ public class InspectionTaskController extends BladeController {
@ApiOperationSupport(order = 101)
@Operation(summary = "跳转-质量记录", description = "传入inspectionTask id")
public R toQaRecord(@Parameter(hidden = true) @RequestParam Long id) {
// todo: fake url
String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url));
}
@ -243,6 +247,7 @@ public class InspectionTaskController extends BladeController {
@ApiOperationSupport(order = 101)
@Operation(summary = "跳转-合格证", description = "传入inspectionTask id")
public R toCertificate(@Parameter(hidden = true) @RequestParam Long id) {
// todo: fake url
String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url));
}

@ -22,12 +22,14 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RemindMsgExcel;
import org.springblade.desk.quality.pojo.entity.RemindMsg;
import org.springblade.desk.quality.pojo.request.RemindMsgSearch;
import org.springblade.desk.quality.pojo.vo.RemindMsgVO;
import org.springblade.desk.quality.service.IRemindMsgService;
import org.springblade.desk.quality.wrapper.RemindMsgWrapper;
@ -56,184 +58,186 @@ import java.util.stream.Collectors;
public class RemindMsgController extends BladeController {
@Resource
private IRemindMsgService service;
/**
* [提醒信息] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入RemindMsg Obj")
public R<RemindMsgVO> detail(RemindMsg remindMsg) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg);
RemindMsg detail = service.getOne(qw);
RemindMsgVO detailVO = RemindMsgWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [提醒信息] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入RemindMsg Obj")
public R<IPage<RemindMsgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg,
Query query) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class);
IPage<RemindMsg> pages = service.page(Condition.getPage(query), qw);
IPage<RemindMsgVO> pagesVO = RemindMsgWrapper.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 = "传入RemindMsg Obj")
public R<IPage<RemindMsgVO>> page(RemindMsgVO remindMsg, Query query) {
IPage<RemindMsgVO> pagesVO = service.selectRemindMsgPage(
Condition.getPage(query), remindMsg
);
return R.data(pagesVO);
}
/**
private IRemindMsgService service;
/**
* [提醒信息] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入RemindMsg Obj")
public R<RemindMsgVO> detail(RemindMsg remindMsg) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg);
RemindMsg detail = service.getOne(qw);
RemindMsgVO detailVO = RemindMsgWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [提醒信息] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入RemindMsg Obj")
public R<IPage<RemindMsgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
Query query) {
RemindMsgSearch search = BeanUtil.toBean(map, RemindMsgSearch.class);
String partName = map.get("partName").toString();
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(map, RemindMsg.class);
IPage<RemindMsg> pages = service.page(Condition.getPage(query), qw);
IPage<RemindMsgVO> pagesVO = RemindMsgWrapper.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 = "传入RemindMsg Obj")
public R<IPage<RemindMsgVO>> page(RemindMsgVO remindMsg, Query query) {
IPage<RemindMsgVO> pagesVO = service.selectRemindMsgPage(
Condition.getPage(query), remindMsg
);
return R.data(pagesVO);
}
/**
* [提醒信息] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "")
@Operation(summary = "list下拉选择", description = "")
public R<List<RemindMsgVO>> listForSelect() {
List<RemindMsg> list = service.list();
List<RemindMsgVO> listVO = RemindMsgWrapper.build().listVO(list);
return R.data(listVO);
List<RemindMsg> list = service.list();
List<RemindMsgVO> listVO = RemindMsgWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [提醒信息] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入RemindMsg Obj")
public R save(@Valid @RequestBody RemindMsg addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [提醒信息] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入RemindMsg Obj")
public R save(@Valid @RequestBody RemindMsg addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
/**
* [提醒信息] 新增批量
*/
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入RemindMsg List")
public R saveBat(@Valid @RequestBody List<RemindMsg> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [提醒信息] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入RemindMsg Obj")
public R update(@Valid @RequestBody RemindMsg updateOne) {
return R.status(service.updateById(updateOne));
}
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入RemindMsg List")
public R saveBat(@Valid @RequestBody List<RemindMsg> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [提醒信息] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入RemindMsg Obj")
public R update(@Valid @RequestBody RemindMsg updateOne) {
return R.status(service.updateById(updateOne));
}
/**
* [提醒信息] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入RemindMsg List")
@Operation(summary = "修改批量", description = "传入RemindMsg List")
public R updateBat(@Valid @RequestBody List<RemindMsg> updateList) {
return R.status(service.updateBatchById(updateList));
}
/**
* [提醒信息] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入RemindMsg Obj")
public R submit(@Valid @RequestBody RemindMsg mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
/**
* [提醒信息] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入RemindMsg Obj")
public R submit(@Valid @RequestBody RemindMsg mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
* [提醒信息] 新增或修改批量
*/
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入RemindMsg List")
public R submitBat(@Valid @RequestBody List<RemindMsg> 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 = "传入RemindMsg")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(RemindMsg::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(RemindMsgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<RemindMsgExcel> list = service.exportRemindMsg(qw);
ExcelUtil.export(response, "[提醒信息]数据" + DateUtil.time(),
"[提醒信息]数据表", list, RemindMsgExcel.class);
}
/**
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入RemindMsg List")
public R submitBat(@Valid @RequestBody List<RemindMsg> 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 = "传入RemindMsg")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(RemindMsg::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(RemindMsgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<RemindMsgExcel> list = service.exportRemindMsg(qw);
ExcelUtil.export(response, "[提醒信息]数据" + DateUtil.time(),
"[提醒信息]数据表", list, RemindMsgExcel.class);
}
/**
* [提醒信息] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> 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<RemindMsg> importList = ExcelUtil.read(
file, 0, 1, RemindMsg.class
);
return R.status(service.saveBatch(importList));
}
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> 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<RemindMsg> importList = ExcelUtil.read(
file, 0, 1, RemindMsg.class
);
return R.status(service.saveBatch(importList));
}
}

@ -25,10 +25,8 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
@ -36,7 +34,6 @@ import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetSelfSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
@ -84,7 +81,7 @@ public class ReviewSheetController extends BladeController {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet);
ReviewSheet detail = service.getOne(qw);
ReviewSheetDetailVO detailVO = ReviewSheetDetailWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
service.setDetailVOValue(detailVO);
return R.data(detailVO);
}
@ -114,23 +111,24 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listInit")
@ApiOperationSupport(order = 20)
@Operation(summary = "生产处置单list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetInitVO>> listInit(@Parameter() @RequestBody
ReviewSheetInitSearch search, Query query) {
Map demo = new HashMap();
demo.put(BaseRequest.STATUS, ReviewSheetConst.STATUS.S_INIT);
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetInitVO> pagesVO = ReviewSheetInitWrapper.build().pageVO(pages);
// todo:
// pagesVO.getRecords()
// .stream()
// .peek(service::setVOValue)
// .collect(Collectors.toList());
public R<IPage<ReviewSheetInitVO>> listInit(@Valid @RequestBody ReviewSheetInitSearch search,
@RequestBody Query query) {
//
for (ReviewSheetInitVO initVO : pagesVO.getRecords()) {
initVO.setDocCode("" + initVO.getId());
}
// Map demo = new HashMap();
// if (search.getStatus() == null) {
// demo.put(BaseRequest.STATUS, ReviewSheetConst.STATUS.S_INIT);
// }
// QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
// IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
// IPage<ReviewSheetInitVO> pagesVO = ReviewSheetInitWrapper.build().pageVO(pages);
// for (ReviewSheetInitVO initVO : pagesVO.getRecords()) {
// // todo: fake data.
// initVO.setDocCode("" + initVO.getId());
// }
// return R.data(pagesVO);
IPage<ReviewSheetInitVO> pagesVO = service.listInit(Condition.getPage(query), search);
return R.data(pagesVO);
}
@ -140,24 +138,25 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listReviewRedoScrap")
@ApiOperationSupport(order = 20)
@Operation(summary = "返工报废审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetRedoScrapVO>> listReviewRedoScrap(@Parameter() @RequestBody
ReviewSheetRedoScrapSearch search, Query query) {
public R<IPage<ReviewSheetRedoScrapVO>> listReviewRedoScrap(@Valid @RequestBody ReviewSheetRedoScrapSearch search,
@RequestBody Query query) {
// todo: mapper
Map demo = new HashMap();
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
Integer bizType = search.getBizType();
if (bizType != null && bizType != 0) {
qw.eq(ReviewSheet.COL_BIZ_TYPE, search.getBizType());
} else {
qw.ne(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
}
// qw.eq(ReviewSheet.COL_REVIEW_STATUS, ReviewSheetConst.SELF.S_JUDGE);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetRedoScrapVO> pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setRedoScrapVOValue)
.collect(Collectors.toList());
// Map demo = new HashMap();
// QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
// Integer bizType = search.getBizType();
// if (bizType != null && bizType != 0) {
// qw.eq(ReviewSheet.COL_BIZ_TYPE, search.getBizType());
// } else {
// qw.ne(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
// }
// // qw.eq(ReviewSheet.COL_REVIEW_STATUS, ReviewSheetConst.SELF.S_JUDGE);
// IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
// IPage<ReviewSheetRedoScrapVO> pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
// pagesVO.getRecords()
// .stream()
// .peek(service::setRedoScrapVOValue)
// .collect(Collectors.toList());
IPage<ReviewSheetRedoScrapVO> pagesVO = service.listReviewRedoScrap(Condition.getPage(query), search);
return R.data(pagesVO);
}
@ -187,18 +186,20 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listErp")
@ApiOperationSupport(order = 20)
@Operation(summary = "Erplist分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetErpVO>> listErp(@Parameter() @RequestBody ReviewSheetErpSearch search,
Query query) {
Map demo = new HashMap();
// todo: mapper
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
qw.eq(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetErpVO> pagesVO = ReviewSheetErpWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setErpVOValue)
.collect(Collectors.toList());
public R<IPage<ReviewSheetErpVO>> listErp(@Valid @RequestBody ReviewSheetErpSearch search,
@RequestBody Query query) {
// Map demo = new HashMap();
// // todo: mapper
// QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
// qw.eq(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
// IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
// IPage<ReviewSheetErpVO> pagesVO = ReviewSheetErpWrapper.build().pageVO(pages);
// pagesVO.getRecords()
// .stream()
// .peek(service::setErpVOValue)
// .collect(Collectors.toList());
// return R.data(pagesVO);
IPage<ReviewSheetErpVO> pagesVO = service.listErp(Condition.getPage(query), search);
return R.data(pagesVO);
}
@ -217,8 +218,8 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/getHisWOList")
@ApiOperationSupport(order = 20)
@Operation(summary = "历史已经完成的车间订单", description = "Obj")
public R<List<ReviewSheetHisWOVO>> getHisWOList(@Parameter() @RequestBody ReviewSheetErpSearch search,
Query query) {
public R<List<ReviewSheetHisWOVO>> getHisWOList(@Valid @RequestBody ReviewSheetErpSearch search,
@RequestBody Query query) {
List<ReviewSheetHisWOVO> list = new ArrayList<>();
ReviewSheetHisWOVO vo1 = new ReviewSheetHisWOVO();
vo1.setWoId(1000L);
@ -474,11 +475,11 @@ public class ReviewSheetController extends BladeController {
@ApiOperationSupport(order = 51)
@Operation(summary = "相关零件list", description = "")
public R getRSRelevantPartList(@Parameter(description = "id") @RequestParam Long id) {
ReviewSheetRelevantPartVO vo1 = new ReviewSheetRelevantPartVO("21E8-571-3000-K5");
ReviewSheetRelevantPartVO vo2 = new ReviewSheetRelevantPartVO("21E8-003-11234-K5");
ReviewSheetRelevantPartVO vo3 = new ReviewSheetRelevantPartVO("21E8-001-1625-H8-N");
ReviewSheetRelevantPartVO vo4 = new ReviewSheetRelevantPartVO("21E8-570-3238-K8");
ReviewSheetRelevantPartVO vo5 = new ReviewSheetRelevantPartVO("21E8-570-1066-K5");
ReviewSheetRelevantPartVO vo1 = new ReviewSheetRelevantPartVO("21E6-575-16015_002-H13(SJ)");
ReviewSheetRelevantPartVO vo2 = new ReviewSheetRelevantPartVO("21E6-575-13821-B1");
ReviewSheetRelevantPartVO vo3 = new ReviewSheetRelevantPartVO("21E6-575-13635_001-H39-N");
ReviewSheetRelevantPartVO vo4 = new ReviewSheetRelevantPartVO("21E6-575-14734-001-B1");
ReviewSheetRelevantPartVO vo5 = new ReviewSheetRelevantPartVO("21E6-575-10381_002-K5");
List<ReviewSheetRelevantPartVO> list = new ArrayList<>();
list.add(vo1);
list.add(vo2);

@ -64,7 +64,9 @@
<select id="listSearch"
resultType="org.springblade.desk.quality.pojo.vo.InspectionTaskListVO">
SELECT t.*
SELECT t.*,
wo.PART_CODE AS partCode,
wo.CARD_NO AS cardNo
FROM QA_INSPECTION_TASK t
-- 车间作业计划 wp
LEFT JOIN MES_WORK_PLAN wp ON t.WP_ID = wp.ID

@ -37,4 +37,6 @@ public interface RemindMsgMapper extends BaseMapper<RemindMsg> {
* @return List<RemindMsgExcel>
*/
List<RemindMsgExcel> exportRemindMsg(@Param("ew") Wrapper<RemindMsg> queryWrapper);
}

@ -48,6 +48,6 @@ public interface ReviewSheetMapper extends BaseMapper<ReviewSheet> {
List<ReviewSheetRedoScrapVO> listReviewRedoScrap(IPage<ReviewSheetRedoScrapVO> page,
@Param("q") ReviewSheetRedoScrapSearch search);
List<ReviewSheetErpVO> listErp(IPage<ReviewSheetRedoScrapVO> page,
List<ReviewSheetErpVO> listErp(IPage<ReviewSheetErpVO> page,
@Param("q") ReviewSheetErpSearch search);
}

@ -65,7 +65,8 @@
<select id="listInit"
resultType="org.springblade.desk.quality.pojo.vo.ReviewSheetInitVO">
SELECT rs.*
SELECT rs.*,
wo.WO_CODE AS woCode
FROM QA_REVIEW_SHEET rs
-- 车间作业计划 wp
LEFT JOIN MES_WORK_PLAN wp ON rs.WP_ID = wp.ID
@ -75,9 +76,9 @@
LEFT JOIN BA_OEM oem ON wp.OC_ID = oem.ID
WHERE (
rs.IS_DELETED = 0
AND wp.IS_DELETED = 0
AND wo.IS_DELETED = 0
AND oem.IS_DELETED = 0
-- AND wp.IS_DELETED = 0
-- AND wo.IS_DELETED = 0
-- AND oem.IS_DELETED = 0
)
<if test="q.status != null">
AND rs.STATUS = #{q.status}
@ -94,16 +95,16 @@
<if test="q.rsCode != null">
AND rs.RS_CODE = #{q.rsCode}
</if>
<if test="q.prodCode != null and q.prodCode != ''">
<if test="q.prodCode != null and q.prodCode != ''"> <!-- todo -->
AND wo.XXXX = #{q.prodCode}
</if>
<if test="q.prodName != null and q.prodName != ''">
<if test="q.prodName != null and q.prodName != ''"> <!-- todo -->
AND wo.XXXX = #{q.prodName}
</if>
<if test="q.prodTypeName != null and q.prodTypeName != ''">
<if test="q.prodTypeName != null and q.prodTypeName != ''"> <!-- todo -->
AND wo.XXXX = #{q.prodTypeName}
</if>
<if test="q.prodIdent != null and q.prodIdent != ''">
<if test="q.prodIdent != null and q.prodIdent != ''"> <!-- todo -->
AND wo.XXXX = #{q.prodIdent}
</if>
<if test="q.batchNo != null">
@ -136,7 +137,7 @@
<if test="q.oemName!= null and q.oemName != ''">
AND oem.ABBREVIATION = '%' || #{q.oemName} || '%'
</if>
ORDER BY task.ID DESC
ORDER BY rs.ID DESC
</select>
<select id="listReviewRedoScrap"
@ -151,16 +152,14 @@
LEFT JOIN BA_OEM oem ON wp.OC_ID = oem.ID
WHERE (
rs.IS_DELETED = 0
AND wp.IS_DELETED = 0
AND wo.IS_DELETED = 0
AND oem.IS_DELETED = 0
-- AND wp.IS_DELETED = 0
-- AND wo.IS_DELETED = 0
-- AND oem.IS_DELETED = 0
)
AND rs.BIZ_TYPE IN (1, 2)
<if test="q.status != null">
AND rs.STATUS = #{q.status}
</if>
<if test="q.bizType != null">
AND rs.BIZ_TYPE IN (1, 2)
</if>
<if test="q.createTimeStart != null">
AND rs.CREATE_TIME &gt;= #{q.createTimeStart}
</if>
@ -185,7 +184,7 @@
<if test="q.oemName!= null and q.oemName != ''">
AND oem.ABBREVIATION = '%' || #{q.oemName} || '%'
</if>
ORDER BY task.ID DESC
ORDER BY rs.ID DESC
</select>
<select id="listErp"
@ -200,16 +199,14 @@
LEFT JOIN BA_OEM oem ON wp.OC_ID = oem.ID
WHERE (
rs.IS_DELETED = 0
AND wp.IS_DELETED = 0
AND wo.IS_DELETED = 0
AND oem.IS_DELETED = 0
-- AND wp.IS_DELETED = 0
-- AND wo.IS_DELETED = 0
-- AND oem.IS_DELETED = 0
)
AND rs.BIZ_TYPE = 3
<if test="q.status != null">
AND rs.STATUS = #{q.status}
</if>
<if test="q.bizType != null">
AND rs.BIZ_TYPE = 3
</if>
<if test="q.createTimeStart != null">
AND rs.CREATE_TIME &gt;= #{q.createTimeStart}
</if>
@ -234,6 +231,6 @@
<if test="q.batchNo != null and q.batchNo != ''">
AND rs.PART_CODE = #{q.batchNo}
</if>
ORDER BY task.ID DESC
ORDER BY rs.ID DESC
</select>
</mapper>

@ -6,13 +6,14 @@ package org.springblade.desk.quality.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.service.en.EnBaseService;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -41,14 +42,14 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
*/
List<ReviewSheetExcel> exportReviewSheet(Wrapper<ReviewSheet> queryWrapper);
void setVOValue(ReviewSheetDetailVO vo);
void setDetailVOValue(ReviewSheetDetailVO vo);
void setInitVOValue(ReviewSheetInitVO vo);
void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo);
void setErpVOValue(ReviewSheetErpVO vo);
void setSelfVOValue(ReviewSheetSelfVO vo);
/**
* <p>方法名: getByTrialId </p>
* <p>方法描述: 按审理单erpId查询 </p>
@ -139,4 +140,10 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
R sameCopyFromHiWO(Long id, Long woId);
ReviewSheet getOneByWoId(Long woId);
IPage<ReviewSheetInitVO> listInit(IPage<ReviewSheetInitVO> page, ReviewSheetInitSearch search);
IPage<ReviewSheetRedoScrapVO> listReviewRedoScrap(IPage<ReviewSheetRedoScrapVO> page, ReviewSheetRedoScrapSearch search);
IPage<ReviewSheetErpVO> listErp(IPage<ReviewSheetErpVO> page, ReviewSheetErpSearch search);
}

@ -405,8 +405,17 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// rs.setRsCode("RS" + System.currentTimeMillis());
rs.setStatus(ReviewSheetConst.STATUS.S_INIT);
rs.setReviewStatus(ReviewSheetConst.ERP_REVIEW_S.REVIEW_STATUS_INIT);
// wp id
rs.setWpId(task.getWpId());
// wo id
rs.setWoId(task.getWoId());
rs.setWoCode(task.getWoCode());
// task id
rs.setTaskId(id);
rsSubService.save(rs);
//
// todo: fake data
rs.setUpCode("UPT" + id);
rs.setRsCode("RS" + rs.getId()); // todo:fake data
rsSubService.updateById(rs);
}

@ -26,6 +26,7 @@ import org.springblade.desk.basic.constant.BaseValue;
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.ProReTemplateConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.mapper.ReviewSheetMapper;
@ -33,12 +34,16 @@ import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.stereotype.Service;
@ -70,6 +75,8 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Resource
private IUserClient userClient;
@Resource
private ISysClient sysClient;
@Resource
private IDictClient dictClient;
@Override
@ -87,13 +94,20 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
}
@Override
public void setVOValue(ReviewSheetDetailVO vo) {
public void setDetailVOValue(ReviewSheetDetailVO vo) {
vo.setFaultList(faultService.listVOByRsId(vo.getId()));
vo.setDutyList(dutyService.listVOByRsId(vo.getId()));
}
@Override
public void setInitVOValue(ReviewSheetInitVO vo) {
// todo: fake
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "ReviewSheet-Status"));
}
@Override
public void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo) {
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "ReviewSheet-Status"));
// todo:临时显示
// vo.setRsCode("" + vo.getId());
// vo.setWoCode("" + vo.getId());
@ -107,17 +121,25 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Override
public void setErpVOValue(ReviewSheetErpVO vo) {
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "ReviewSheet-Status"));
if (IdUtil.isValid(vo.getReviewUserId())) {
R<UserInfo> uiR = userClient.userInfo(vo.getReviewUserId());
if (uiR != null && uiR.isSuccess() && uiR.getData() != null) {
vo.setReviewUserRealName(uiR.getData().getUser().getRealName());
}
}
}
@Override
public void setSelfVOValue(ReviewSheetSelfVO vo) {
// 责任零件
StringBuilder sbDutyPart = new StringBuilder();
// 责任批号
StringBuilder sbDutyBatNo = new StringBuilder();
// 查询明细表
List<ReviewDuty> listRD = dutyService.listByReviewSheetId(vo.getId());
for (ReviewDuty reviewDuty : listRD) {
sbDutyPart.append(reviewDuty.getDutyPart()).append(",");
sbDutyBatNo.append(reviewDuty.getDutyBatch()).append(",");
}
vo.setDutyPart(sbDutyPart.toString());
vo.setDutyBatNo(sbDutyBatNo.toString());
}
/**
@ -238,7 +260,10 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
// 保存 或 更新
dutyService.saveOrUpdateBatch(listD);
// 审理单
ReviewSheet rs = BeanUtil.copyProperties(vo, ReviewSheet.class);
ReviewSheet rs = getById(vo.getId()); // 从数据库中查到
log.info("ReviewSheet rs = {}", rs);
log.info("ReviewSheet vo = {}", vo);
BeanUtil.copyProperties(vo, rs, BaseRequest.ID); // 拷贝id之外的属性。
// 提交类型
Integer submitType = vo.getSubmitType();
// 内部
@ -345,7 +370,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
BeanUtil.copyProperties(rsS, rsT, BaseRequest.ID);
// 目标生产处置单 字段处理
// 当前状态
rsT.setStatus(ReviewSheetConst.STATUS.S_NEW);
rsT.setStatus(ReviewSheetConst.STATUS.S_INIT);
rsT.setWoCode("");
rsT.setWoId(null);
// 审理状态
@ -363,6 +388,33 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
return baseMapper.selectOne(qw);
}
@Override
public IPage<ReviewSheetInitVO> listInit(IPage<ReviewSheetInitVO> page, ReviewSheetInitSearch search) {
List<ReviewSheetInitVO> listVO = baseMapper.listInit(page, search);
for (ReviewSheetInitVO oneVO : listVO) {
setInitVOValue(oneVO);
}
return page.setRecords(listVO);
}
@Override
public IPage<ReviewSheetRedoScrapVO> listReviewRedoScrap(IPage<ReviewSheetRedoScrapVO> page, ReviewSheetRedoScrapSearch search) {
List<ReviewSheetRedoScrapVO> listVO = baseMapper.listReviewRedoScrap(page, search);
for (ReviewSheetRedoScrapVO oneVO : listVO) {
setRedoScrapVOValue(oneVO);
}
return page.setRecords(listVO);
}
@Override
public IPage<ReviewSheetErpVO> listErp(IPage<ReviewSheetErpVO> page, ReviewSheetErpSearch search) {
List<ReviewSheetErpVO> listVO = baseMapper.listErp(page, search);
for (ReviewSheetErpVO oneVO : listVO) {
setErpVOValue(oneVO);
}
return page.setRecords(listVO);
}
@Override
public ReviewSheet getByRsCode(String rsCode) {
LambdaQueryWrapper<ReviewSheet> qw = Wrappers.lambdaQuery();

@ -1,21 +0,0 @@
package org.springblade.desk.quality.util;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.secure.utils.AuthUtil;
public class RoleUtil {
/**
* API权限
* todo:
* @param roleAlias
* @return
*/
public static Boolean hasRole(String roleAlias) {
if (StringUtils.isBlank(roleAlias)) {
throw new IllegalArgumentException("roleAlias参数错误");
}
return false;
}
}
Loading…
Cancel
Save