质量相关问题修改。

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

@ -3,12 +3,14 @@ package org.springblade.desk.quality.pojo.request;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.InspectionTask;
import java.time.LocalDate; import java.time.LocalDate;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InspectionTaskSearch extends InspectionTask { public class InspectionTaskSearch extends InspectionTask {
@Schema(description = "流程卡号") @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 = "责任零件") @Schema(description = "责任零件")
private String dutyPart; 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; private String createTimeStart;
@Schema(description = "创建时间-结束") @Schema(description = "创建时间-结束")
private String createTimeEnd; 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 = "车间订单号") @Schema(description = "车间订单号")
private String woCode = "XXXX12345"; private String woCode = "XXXX12345";
@Schema(description = "零件号") @Schema(description = "零件号")
private String partCode = "XXXX12345"; private String partCode = "";
@Schema(description = "生产标识") @Schema(description = "生产标识")
private String prodIdent = "XXXX12345"; private String prodIdent = "XXXX12345";
@Schema(description = "流程卡号") @Schema(description = "流程卡号")
private String cardNo = "XXXX12345"; private String cardNo = "";
@Schema(description = "需求部门") @Schema(description = "需求部门")
private String needDeptName = "XXXX12345"; private String needDeptName = "XXXX12345";
@Schema(description = "批次号") @Schema(description = "批次号")

@ -5,6 +5,7 @@ package org.springblade.desk.quality.pojo.vo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewDuty; import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import java.io.Serial; import java.io.Serial;
@ -17,6 +18,7 @@ import java.io.Serial;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewDutyVO extends ReviewDuty { public class ReviewDutyVO extends ReviewDuty {
@Serial @Serial
private static final long serialVersionUID = 1L; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewFault; import org.springblade.desk.quality.pojo.entity.ReviewFault;
import java.io.Serial; import java.io.Serial;
@ -18,6 +19,7 @@ import java.io.Serial;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewFaultVO extends ReviewFault { public class ReviewFaultVO extends ReviewFault {
@Serial @Serial
private static final long serialVersionUID = 1L; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springblade.desk.quality.pojo.entity.ReviewSheet; import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import java.io.Serial; import java.io.Serial;
@ -20,6 +21,7 @@ import java.util.List;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewSheetDetailVO extends ReviewSheet { public class ReviewSheetDetailVO extends ReviewSheet {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -33,7 +33,7 @@ public class ReviewSheetInitVO extends ReviewSheet {
@Schema(description = "[生产处置单]模式 名称") @Schema(description = "[生产处置单]模式 名称")
private String reviewOrderModeName; private String reviewOrderModeName;
@Schema(description = "打回[用户]真名") @Schema(description = "打回[用户]真名")
private String backUserRealName; private String backUserRealName;
@Schema(description = "审理状态 名称") @Schema(description = "审理状态 名称")
private String reviewStatusName; private String reviewStatusName;
@Schema(description = "审理[用户]真名") @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 都用 * 新建 内部 ERP 都用
*/ */
Integer S_NEW = -1; Integer S_NEW = 0;
/** /**
* 待审理 内部用 ERP不用 * 待审理 内部用 ERP不用
*/ */

@ -27,6 +27,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.config.RoleConfig; import org.springblade.desk.basic.config.RoleConfig;
import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.pojo.vo.UrlVO; 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.CycleTestTaskConst;
import org.springblade.desk.quality.constant.InspectionTaskConst; import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.constant.QAModuleConst;
@ -53,6 +54,7 @@ import java.util.Map;
* 工序级的检验任务 * 工序级的检验任务
* mes v1: rb_pr_work_check PrWorkCheck * mes v1: rb_pr_work_check PrWorkCheck
* *
* ppsName:烧结包装防护 才有子件列表
* @author Tom Shuo * @author Tom Shuo
* @since 2025-11-14 * @since 2025-11-14
*/ */
@ -90,18 +92,19 @@ public class InspectionTaskController extends BladeController {
@PostMapping("/listSearch") @PostMapping("/listSearch")
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入inspectionTask") @Operation(summary = "分页", description = "传入inspectionTask")
public R<IPage<InspectionTaskListVO>> listSearch( public R<IPage<InspectionTaskListVO>> listSearch(@Valid @RequestBody InspectionTaskSearch search,
@Parameter(hidden = true) @RequestParam(required = false) InspectionTaskSearch search, Query query) { @RequestBody Query query) {
log.info("search = {}", search);
log.info("query = {}", query);
log.info("getUserRole = {}", AuthUtil.getUserRole()); log.info("getUserRole = {}", AuthUtil.getUserRole());
// 热表 烧结 检验员 数据区分。 // 热表 烧结 检验员 数据区分。
if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias())) { if (RoleUtil.hasRole(roleConfig.getRbCheckerAlias())) {
search.setFromType(InspectionTaskConst.FROM_TYPE_RB); search.setFromType(InspectionTaskConst.FROM_TYPE_RB);
} }
if (AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) { if (RoleUtil.hasRole(roleConfig.getSjCheckerAlias())) {
search.setFromType(InspectionTaskConst.FROM_TYPE_SJ); search.setFromType(InspectionTaskConst.FROM_TYPE_SJ);
} }
if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias()) && if (RoleUtil.hasAllRole(roleConfig.getRbCheckerAlias(), roleConfig.getSjCheckerAlias())) {
AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) {
search.setFromType(null); search.setFromType(null);
} }
IPage<InspectionTaskListVO> pagesVO = service.listSearch(Condition.getPage(query), search); IPage<InspectionTaskListVO> pagesVO = service.listSearch(Condition.getPage(query), search);
@ -235,6 +238,7 @@ public class InspectionTaskController extends BladeController {
@ApiOperationSupport(order = 101) @ApiOperationSupport(order = 101)
@Operation(summary = "跳转-质量记录", description = "传入inspectionTask id") @Operation(summary = "跳转-质量记录", description = "传入inspectionTask id")
public R toQaRecord(@Parameter(hidden = true) @RequestParam Long id) { public R toQaRecord(@Parameter(hidden = true) @RequestParam Long id) {
// todo: fake url
String url = "https://www.baidu.com" + "?id=" + id; String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url)); return R.data(new UrlVO(url));
} }
@ -243,6 +247,7 @@ public class InspectionTaskController extends BladeController {
@ApiOperationSupport(order = 101) @ApiOperationSupport(order = 101)
@Operation(summary = "跳转-合格证", description = "传入inspectionTask id") @Operation(summary = "跳转-合格证", description = "传入inspectionTask id")
public R toCertificate(@Parameter(hidden = true) @RequestParam Long id) { public R toCertificate(@Parameter(hidden = true) @RequestParam Long id) {
// todo: fake url
String url = "https://www.baidu.com" + "?id=" + id; String url = "https://www.baidu.com" + "?id=" + id;
return R.data(new UrlVO(url)); 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.mp.support.Query;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; 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.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RemindMsgExcel; import org.springblade.desk.quality.excel.RemindMsgExcel;
import org.springblade.desk.quality.pojo.entity.RemindMsg; 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.pojo.vo.RemindMsgVO;
import org.springblade.desk.quality.service.IRemindMsgService; import org.springblade.desk.quality.service.IRemindMsgService;
import org.springblade.desk.quality.wrapper.RemindMsgWrapper; import org.springblade.desk.quality.wrapper.RemindMsgWrapper;
@ -56,184 +58,186 @@ import java.util.stream.Collectors;
public class RemindMsgController extends BladeController { public class RemindMsgController extends BladeController {
@Resource @Resource
private IRemindMsgService service; private IRemindMsgService service;
/** /**
* [提醒信息] 详情 * [提醒信息] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入RemindMsg Obj") @Operation(summary = "详情", description = "传入RemindMsg Obj")
public R<RemindMsgVO> detail(RemindMsg remindMsg) { public R<RemindMsgVO> detail(RemindMsg remindMsg) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg); QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg);
RemindMsg detail = service.getOne(qw); RemindMsg detail = service.getOne(qw);
RemindMsgVO detailVO = RemindMsgWrapper.build().entityVO(detail); RemindMsgVO detailVO = RemindMsgWrapper.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 = "传入RemindMsg Obj") @Operation(summary = "list分页", description = "传入RemindMsg Obj")
public R<IPage<RemindMsgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg, public R<IPage<RemindMsgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
Query query) { Query query) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class); RemindMsgSearch search = BeanUtil.toBean(map, RemindMsgSearch.class);
IPage<RemindMsg> pages = service.page(Condition.getPage(query), qw); String partName = map.get("partName").toString();
IPage<RemindMsgVO> pagesVO = RemindMsgWrapper.build().pageVO(pages); QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(map, RemindMsg.class);
pagesVO.getRecords() IPage<RemindMsg> pages = service.page(Condition.getPage(query), qw);
.stream() IPage<RemindMsgVO> pagesVO = RemindMsgWrapper.build().pageVO(pages);
.peek(service::setVOValue) pagesVO.getRecords()
.collect(Collectors.toList()); .stream()
return R.data(pagesVO); .peek(service::setVOValue)
} .collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [提醒信息] page分页
*/ /**
@GetMapping("/page") * [提醒信息] page分页
@ApiOperationSupport(order = 21) */
@Operation(summary = "page分页", description = "传入RemindMsg Obj") @GetMapping("/page")
public R<IPage<RemindMsgVO>> page(RemindMsgVO remindMsg, Query query) { @ApiOperationSupport(order = 21)
IPage<RemindMsgVO> pagesVO = service.selectRemindMsgPage( @Operation(summary = "page分页", description = "传入RemindMsg Obj")
Condition.getPage(query), remindMsg public R<IPage<RemindMsgVO>> page(RemindMsgVO remindMsg, Query query) {
); IPage<RemindMsgVO> pagesVO = service.selectRemindMsgPage(
return R.data(pagesVO); Condition.getPage(query), remindMsg
} );
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<RemindMsgVO>> listForSelect() { public R<List<RemindMsgVO>> listForSelect() {
List<RemindMsg> list = service.list(); List<RemindMsg> list = service.list();
List<RemindMsgVO> listVO = RemindMsgWrapper.build().listVO(list); List<RemindMsgVO> listVO = RemindMsgWrapper.build().listVO(list);
return R.data(listVO); 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") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入RemindMsg List") @Operation(summary = "新增批量", description = "传入RemindMsg List")
public R saveBat(@Valid @RequestBody List<RemindMsg> addList) { public R saveBat(@Valid @RequestBody List<RemindMsg> 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 = "传入RemindMsg Obj") @Operation(summary = "修改一条", description = "传入RemindMsg Obj")
public R update(@Valid @RequestBody RemindMsg updateOne) { public R update(@Valid @RequestBody RemindMsg 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 = "传入RemindMsg List") @Operation(summary = "修改批量", description = "传入RemindMsg List")
public R updateBat(@Valid @RequestBody List<RemindMsg> updateList) { public R updateBat(@Valid @RequestBody List<RemindMsg> 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 = "传入RemindMsg Obj") @Operation(summary = "新增或修改一条", description = "传入RemindMsg Obj")
public R submit(@Valid @RequestBody RemindMsg mergeOne) { public R submit(@Valid @RequestBody RemindMsg 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 = "传入RemindMsg List") @Operation(summary = "新增或修改批量", description = "传入RemindMsg List")
public R submitBat(@Valid @RequestBody List<RemindMsg> mergeList) { public R submitBat(@Valid @RequestBody List<RemindMsg> 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 = "传入RemindMsg") @Operation(summary = "导出Excel", description = "传入RemindMsg")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> remindMsg,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class); QueryWrapper<RemindMsg> qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(RemindMsg::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(RemindMsg::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(RemindMsgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(RemindMsgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<RemindMsgExcel> list = service.exportRemindMsg(qw); List<RemindMsgExcel> list = service.exportRemindMsg(qw);
ExcelUtil.export(response, "[提醒信息]数据" + DateUtil.time(), ExcelUtil.export(response, "[提醒信息]数据" + DateUtil.time(),
"[提醒信息]数据表", list, RemindMsgExcel.class); "[提醒信息]数据表", list, RemindMsgExcel.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<RemindMsg> importList = ExcelUtil.read( List<RemindMsg> importList = ExcelUtil.read(
file, 0, 1, RemindMsg.class file, 0, 1, RemindMsg.class
); );
return R.status(service.saveBatch(importList)); 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.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; 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.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst; 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.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewDuty; import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault; 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.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch; import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch; 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.pojo.vo.*;
import org.springblade.desk.quality.service.IReviewDutyService; import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService; import org.springblade.desk.quality.service.IReviewFaultService;
@ -84,7 +81,7 @@ public class ReviewSheetController extends BladeController {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet); QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet);
ReviewSheet detail = service.getOne(qw); ReviewSheet detail = service.getOne(qw);
ReviewSheetDetailVO detailVO = ReviewSheetDetailWrapper.build().entityVO(detail); ReviewSheetDetailVO detailVO = ReviewSheetDetailWrapper.build().entityVO(detail);
service.setVOValue(detailVO); service.setDetailVOValue(detailVO);
return R.data(detailVO); return R.data(detailVO);
} }
@ -114,23 +111,24 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listInit") @PostMapping("/listInit")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "生产处置单list分页", description = "传入ReviewSheet Obj") @Operation(summary = "生产处置单list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetInitVO>> listInit(@Parameter() @RequestBody public R<IPage<ReviewSheetInitVO>> listInit(@Valid @RequestBody ReviewSheetInitSearch search,
ReviewSheetInitSearch search, Query query) { @RequestBody 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());
for (ReviewSheetInitVO initVO : pagesVO.getRecords()) { // Map demo = new HashMap();
initVO.setDocCode("" + initVO.getId()); // 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); return R.data(pagesVO);
} }
@ -140,24 +138,25 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listReviewRedoScrap") @PostMapping("/listReviewRedoScrap")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "返工报废审理list分页", description = "传入ReviewSheet Obj") @Operation(summary = "返工报废审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetRedoScrapVO>> listReviewRedoScrap(@Parameter() @RequestBody public R<IPage<ReviewSheetRedoScrapVO>> listReviewRedoScrap(@Valid @RequestBody ReviewSheetRedoScrapSearch search,
ReviewSheetRedoScrapSearch search, Query query) { @RequestBody Query query) {
// todo: mapper // todo: mapper
Map demo = new HashMap(); // Map demo = new HashMap();
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class); // QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
Integer bizType = search.getBizType(); // Integer bizType = search.getBizType();
if (bizType != null && bizType != 0) { // if (bizType != null && bizType != 0) {
qw.eq(ReviewSheet.COL_BIZ_TYPE, search.getBizType()); // qw.eq(ReviewSheet.COL_BIZ_TYPE, search.getBizType());
} else { // } else {
qw.ne(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP); // qw.ne(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
} // }
// qw.eq(ReviewSheet.COL_REVIEW_STATUS, ReviewSheetConst.SELF.S_JUDGE); // // qw.eq(ReviewSheet.COL_REVIEW_STATUS, ReviewSheetConst.SELF.S_JUDGE);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw); // IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetRedoScrapVO> pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages); // IPage<ReviewSheetRedoScrapVO> pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
pagesVO.getRecords() // pagesVO.getRecords()
.stream() // .stream()
.peek(service::setRedoScrapVOValue) // .peek(service::setRedoScrapVOValue)
.collect(Collectors.toList()); // .collect(Collectors.toList());
IPage<ReviewSheetRedoScrapVO> pagesVO = service.listReviewRedoScrap(Condition.getPage(query), search);
return R.data(pagesVO); return R.data(pagesVO);
} }
@ -187,18 +186,20 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/listErp") @PostMapping("/listErp")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "Erplist分页", description = "传入ReviewSheet Obj") @Operation(summary = "Erplist分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetErpVO>> listErp(@Parameter() @RequestBody ReviewSheetErpSearch search, public R<IPage<ReviewSheetErpVO>> listErp(@Valid @RequestBody ReviewSheetErpSearch search,
Query query) { @RequestBody Query query) {
Map demo = new HashMap(); // Map demo = new HashMap();
// todo: mapper // // todo: mapper
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class); // QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
qw.eq(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP); // qw.eq(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw); // IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetErpVO> pagesVO = ReviewSheetErpWrapper.build().pageVO(pages); // IPage<ReviewSheetErpVO> pagesVO = ReviewSheetErpWrapper.build().pageVO(pages);
pagesVO.getRecords() // pagesVO.getRecords()
.stream() // .stream()
.peek(service::setErpVOValue) // .peek(service::setErpVOValue)
.collect(Collectors.toList()); // .collect(Collectors.toList());
// return R.data(pagesVO);
IPage<ReviewSheetErpVO> pagesVO = service.listErp(Condition.getPage(query), search);
return R.data(pagesVO); return R.data(pagesVO);
} }
@ -217,8 +218,8 @@ public class ReviewSheetController extends BladeController {
@PostMapping("/getHisWOList") @PostMapping("/getHisWOList")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "历史已经完成的车间订单", description = "Obj") @Operation(summary = "历史已经完成的车间订单", description = "Obj")
public R<List<ReviewSheetHisWOVO>> getHisWOList(@Parameter() @RequestBody ReviewSheetErpSearch search, public R<List<ReviewSheetHisWOVO>> getHisWOList(@Valid @RequestBody ReviewSheetErpSearch search,
Query query) { @RequestBody Query query) {
List<ReviewSheetHisWOVO> list = new ArrayList<>(); List<ReviewSheetHisWOVO> list = new ArrayList<>();
ReviewSheetHisWOVO vo1 = new ReviewSheetHisWOVO(); ReviewSheetHisWOVO vo1 = new ReviewSheetHisWOVO();
vo1.setWoId(1000L); vo1.setWoId(1000L);
@ -474,11 +475,11 @@ public class ReviewSheetController extends BladeController {
@ApiOperationSupport(order = 51) @ApiOperationSupport(order = 51)
@Operation(summary = "相关零件list", description = "") @Operation(summary = "相关零件list", description = "")
public R getRSRelevantPartList(@Parameter(description = "id") @RequestParam Long id) { public R getRSRelevantPartList(@Parameter(description = "id") @RequestParam Long id) {
ReviewSheetRelevantPartVO vo1 = new ReviewSheetRelevantPartVO("21E8-571-3000-K5"); ReviewSheetRelevantPartVO vo1 = new ReviewSheetRelevantPartVO("21E6-575-16015_002-H13(SJ)");
ReviewSheetRelevantPartVO vo2 = new ReviewSheetRelevantPartVO("21E8-003-11234-K5"); ReviewSheetRelevantPartVO vo2 = new ReviewSheetRelevantPartVO("21E6-575-13821-B1");
ReviewSheetRelevantPartVO vo3 = new ReviewSheetRelevantPartVO("21E8-001-1625-H8-N"); ReviewSheetRelevantPartVO vo3 = new ReviewSheetRelevantPartVO("21E6-575-13635_001-H39-N");
ReviewSheetRelevantPartVO vo4 = new ReviewSheetRelevantPartVO("21E8-570-3238-K8"); ReviewSheetRelevantPartVO vo4 = new ReviewSheetRelevantPartVO("21E6-575-14734-001-B1");
ReviewSheetRelevantPartVO vo5 = new ReviewSheetRelevantPartVO("21E8-570-1066-K5"); ReviewSheetRelevantPartVO vo5 = new ReviewSheetRelevantPartVO("21E6-575-10381_002-K5");
List<ReviewSheetRelevantPartVO> list = new ArrayList<>(); List<ReviewSheetRelevantPartVO> list = new ArrayList<>();
list.add(vo1); list.add(vo1);
list.add(vo2); list.add(vo2);

@ -64,7 +64,9 @@
<select id="listSearch" <select id="listSearch"
resultType="org.springblade.desk.quality.pojo.vo.InspectionTaskListVO"> 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 FROM QA_INSPECTION_TASK t
-- 车间作业计划 wp -- 车间作业计划 wp
LEFT JOIN MES_WORK_PLAN wp ON t.WP_ID = wp.ID 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> * @return List<RemindMsgExcel>
*/ */
List<RemindMsgExcel> exportRemindMsg(@Param("ew") Wrapper<RemindMsg> queryWrapper); List<RemindMsgExcel> exportRemindMsg(@Param("ew") Wrapper<RemindMsg> queryWrapper);
} }

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

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

@ -6,13 +6,14 @@ package org.springblade.desk.quality.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
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 io.swagger.v3.oas.annotations.Parameter;
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.basic.service.en.EnBaseService;
import org.springblade.desk.quality.excel.ReviewSheetExcel; import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.pojo.entity.ReviewSheet; 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.pojo.vo.*;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
@ -41,14 +42,14 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
*/ */
List<ReviewSheetExcel> exportReviewSheet(Wrapper<ReviewSheet> queryWrapper); List<ReviewSheetExcel> exportReviewSheet(Wrapper<ReviewSheet> queryWrapper);
void setVOValue(ReviewSheetDetailVO vo); void setDetailVOValue(ReviewSheetDetailVO vo);
void setInitVOValue(ReviewSheetInitVO vo);
void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo); void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo);
void setErpVOValue(ReviewSheetErpVO vo); void setErpVOValue(ReviewSheetErpVO vo);
void setSelfVOValue(ReviewSheetSelfVO vo);
/** /**
* <p>方法名: getByTrialId </p> * <p>方法名: getByTrialId </p>
* <p>方法描述: 按审理单erpId查询 </p> * <p>方法描述: 按审理单erpId查询 </p>
@ -139,4 +140,10 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
R sameCopyFromHiWO(Long id, Long woId); R sameCopyFromHiWO(Long id, Long woId);
ReviewSheet getOneByWoId(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.setRsCode("RS" + System.currentTimeMillis());
rs.setStatus(ReviewSheetConst.STATUS.S_INIT); rs.setStatus(ReviewSheetConst.STATUS.S_INIT);
rs.setReviewStatus(ReviewSheetConst.ERP_REVIEW_S.REVIEW_STATUS_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); rs.setTaskId(id);
rsSubService.save(rs); rsSubService.save(rs);
//
// todo: fake data
rs.setUpCode("UPT" + id);
rs.setRsCode("RS" + rs.getId()); // todo:fake data rs.setRsCode("RS" + rs.getId()); // todo:fake data
rsSubService.updateById(rs); 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.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil; import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.quality.constant.InspectionTaskConst; 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.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel; import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.mapper.ReviewSheetMapper; 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.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault; import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet; 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.pojo.vo.*;
import org.springblade.desk.quality.service.IInspectionTaskService; import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.IReviewDutyService; import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService; import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService; import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.system.feign.IDictClient; 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.springblade.system.pojo.entity.UserInfo; import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -70,6 +75,8 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Resource @Resource
private IUserClient userClient; private IUserClient userClient;
@Resource @Resource
private ISysClient sysClient;
@Resource
private IDictClient dictClient; private IDictClient dictClient;
@Override @Override
@ -87,13 +94,20 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
} }
@Override @Override
public void setVOValue(ReviewSheetDetailVO vo) { public void setDetailVOValue(ReviewSheetDetailVO vo) {
vo.setFaultList(faultService.listVOByRsId(vo.getId())); vo.setFaultList(faultService.listVOByRsId(vo.getId()));
vo.setDutyList(dutyService.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 @Override
public void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo) { public void setRedoScrapVOValue(ReviewSheetRedoScrapVO vo) {
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "ReviewSheet-Status"));
// todo:临时显示 // todo:临时显示
// vo.setRsCode("" + vo.getId()); // vo.setRsCode("" + vo.getId());
// vo.setWoCode("" + vo.getId()); // vo.setWoCode("" + vo.getId());
@ -107,17 +121,25 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Override @Override
public void setErpVOValue(ReviewSheetErpVO vo) { public void setErpVOValue(ReviewSheetErpVO vo) {
vo.setBase(setBaseVOValue(userClient, sysClient, dictClient, vo, "ReviewSheet-Status"));
if (IdUtil.isValid(vo.getReviewUserId())) { if (IdUtil.isValid(vo.getReviewUserId())) {
R<UserInfo> uiR = userClient.userInfo(vo.getReviewUserId()); R<UserInfo> uiR = userClient.userInfo(vo.getReviewUserId());
if (uiR != null && uiR.isSuccess() && uiR.getData() != null) { if (uiR != null && uiR.isSuccess() && uiR.getData() != null) {
vo.setReviewUserRealName(uiR.getData().getUser().getRealName()); vo.setReviewUserRealName(uiR.getData().getUser().getRealName());
} }
} }
} // 责任零件
StringBuilder sbDutyPart = new StringBuilder();
@Override // 责任批号
public void setSelfVOValue(ReviewSheetSelfVO vo) { 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); 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(); Integer submitType = vo.getSubmitType();
// 内部 // 内部
@ -345,7 +370,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
BeanUtil.copyProperties(rsS, rsT, BaseRequest.ID); BeanUtil.copyProperties(rsS, rsT, BaseRequest.ID);
// 目标生产处置单 字段处理 // 目标生产处置单 字段处理
// 当前状态 // 当前状态
rsT.setStatus(ReviewSheetConst.STATUS.S_NEW); rsT.setStatus(ReviewSheetConst.STATUS.S_INIT);
rsT.setWoCode(""); rsT.setWoCode("");
rsT.setWoId(null); rsT.setWoId(null);
// 审理状态 // 审理状态
@ -363,6 +388,33 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
return baseMapper.selectOne(qw); 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 @Override
public ReviewSheet getByRsCode(String rsCode) { public ReviewSheet getByRsCode(String rsCode) {
LambdaQueryWrapper<ReviewSheet> qw = Wrappers.lambdaQuery(); 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