Date: Fri, 16 Jan 2026 06:17:11 +0800
Subject: [PATCH 05/14] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A8=A1=E5=9D=97?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../quality/pojo/entity/InspectionTask.java | 48 ++-
.../desk/quality/pojo/entity/ReviewSheet.java | 9 +-
.../pojo/entity/WorkPlanItemDetail.java | 9 +-
.../pojo/request/InspectionTaskSearch.java | 4 +
.../quality/pojo/vo/InspectionTaskListVO.java | 4 +-
.../pojo/vo/ReviewSheetDutyBatchVO.java | 18 +
.../pojo/vo/ReviewSheetDutyPartVO.java | 18 +
.../pojo/vo/ReviewSheetRelevantBatchVO.java | 18 +
.../pojo/vo/ReviewSheetRelevantPartVO.java | 18 +
.../quality/pojo/vo/WorkPlanItemDetailVO.java | 3 +
.../desk/basic/config/RoleConfig.java | 21 +-
.../controller/RelTeamSetUserController.java | 315 +++++++++---------
.../quality/constant/InspectionTaskConst.java | 4 +-
.../quality/constant/ReviewSheetConst.java | 15 +-
.../controller/InspectionTaskController.java | 22 ++
.../controller/ReviewSheetController.java | 110 ++++--
.../excel/WorkPlanItemDetailExcel.java | 4 +-
.../quality/mapper/InspectionTaskMapper.java | 1 -
.../quality/mapper/InspectionTaskMapper.xml | 83 ++++-
.../quality/mapper/ReviewSheetMapper.java | 47 ++-
.../desk/quality/mapper/ReviewSheetMapper.xml | 174 ++++++++++
.../mapper/WorkPlanItemDetailMapper.xml | 1 +
.../service/IInspectionTaskService.java | 4 +-
.../impl/InspectionTaskServiceImpl.java | 101 ++++--
.../service/impl/ReviewSheetServiceImpl.java | 65 +++-
.../src/main/resources/application-dev.yml | 12 +-
26 files changed, 840 insertions(+), 288 deletions(-)
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyBatchVO.java
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyPartVO.java
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantBatchVO.java
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantPartVO.java
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java
index 3773ab5a..2d3bb05d 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java
@@ -40,9 +40,9 @@ public class InspectionTask extends BaseEntity {
*/
public static final String COL_NAME = "NAME";
/**
- * [工单]id
+ * [车间订单]id
*/
- public static final String COL_WORK_ORDER_ID = "WORK_ORDER_ID";
+ public static final String COL_WO_ID = "WO_ID";
/**
* [制品]id
*/
@@ -68,9 +68,9 @@ public class InspectionTask extends BaseEntity {
*/
public static final String COL_BATCH_NUMBER = "BATCH_NUMBER";
/**
- * [工单]编码
+ * [车间订单]编码
*/
- public static final String COL_WORK_ORDER_CODE = "WORK_ORDER_CODE";
+ public static final String COL_WO_CODE = "WO_CODE";
/**
* [工序]编码
*/
@@ -156,9 +156,17 @@ public class InspectionTask extends BaseEntity {
*/
public static final String COL_FROM_TYPE = "FROM_TYPE";
/**
- * 生产订单类型
+ * [生产订单]类型
*/
public static final String COL_YIELD_ORDER_TYPE = "YIELD_ORDER_TYPE";
+ /**
+ * [生产订单]id
+ */
+ public static final String COL_YIELD_ORDER_ID = "YIELD_ORDER_ID";
+ /**
+ * 接收日期
+ */
+ public static final String COL_RECEIVE_DATE = "RECEIVE_DATE";
/**
* [检验任务]编码
@@ -171,15 +179,15 @@ public class InspectionTask extends BaseEntity {
@Schema(description = "[检验任务]类型")
private Long inspectionTaskType;
/**
- * [检验任务]
+ * [检验任务]名称
*/
- @Schema(description = "[检验任务]")
+ @Schema(description = "[检验任务]名称")
private String name;
/**
- * [工单]id
+ * [车间订单]id
*/
- @Schema(description = "[工单]id")
- private Long workOrderId;
+ @Schema(description = "[车间订单]id")
+ private Long woId;
/**
* [制品]id
*/
@@ -211,10 +219,10 @@ public class InspectionTask extends BaseEntity {
@Schema(description = "生产批次号")
private Long batchNumber;
/**
- * [工单]编码
+ * [车间订单]编码
*/
- @Schema(description = "[工单]编码")
- private String workOrderCode;
+ @Schema(description = "[车间订单]编码")
+ private String woCode;
/**
* [工序]编码
*/
@@ -321,8 +329,18 @@ public class InspectionTask extends BaseEntity {
@Schema(description = "来源类型")
private Integer fromType;
/**
- * 生产订单类型
+ * [生产订单]类型
*/
- @Schema(description = "生产订单类型")
+ @Schema(description = "[生产订单]类型")
private Integer yieldOrderType;
+ /**
+ * [生产订单]id
+ */
+ @Schema(description = "[生产订单]id")
+ private Integer yieldOrderId;
+ /**
+ * 接收日期
+ */
+ @Schema(description = "接收日期")
+ private LocalDateTime receiveDate;
}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
index 77cd04c9..022948ae 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
@@ -19,6 +19,9 @@ import java.time.LocalDateTime;
* qc_review_sheet_internal QcReviewSheetInternal 热表内部审理记录表
* qc_review_sheet_internalredo QcReviewSheetInternalredo 热表内部审理记录表(返修)
* qc_review_sheet_internalsj QcReviewSheetInternalsj 热表内部审理记录表(烧结)
+ *
+ *
+ * status 默认 -1
*
* @author Tom Shuo
* @since 2026-01-06
@@ -129,7 +132,7 @@ public class ReviewSheet extends BaseEntity {
*/
public static final String COL_BIZ_TYPE = "BIZ_TYPE";
/**
- * 物料号
+ * 物料号/零件号
*/
public static final String COL_PART_CODE = "PART_CODE";
/**
@@ -306,9 +309,9 @@ public class ReviewSheet extends BaseEntity {
@Schema(description = "业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;")
private Integer bizType;
/**
- * 物料号
+ * 物料号/零件号
*/
- @Schema(description = "物料号")
+ @Schema(description = "物料号/零件号")
private String partCode;
/**
* 批次号
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItemDetail.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItemDetail.java
index f7c12823..f692cc79 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItemDetail.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItemDetail.java
@@ -85,9 +85,9 @@ public class WorkPlanItemDetail extends BaseEntity {
@Schema(description = "[工序检验项]id")
private Long workPlanItemId;
/**
- * 测量类型-[1]镀前;[2]:镀后;
+ * 测量类型;
*/
- @Schema(description = "测量类型-[1]镀前;[2]:镀后;")
+ @Schema(description = "测量类型")
private String testType;
/**
* 尺寸
@@ -144,4 +144,9 @@ public class WorkPlanItemDetail extends BaseEntity {
*/
@Schema(description = "[量具]id")
private Long mtId;
+ /**
+ * 实际[量具]id
+ */
+ @Schema(description = "实际[量具]id")
+ private Long actMtId;
}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
index 2869e294..c7b3eaaf 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
@@ -25,12 +25,16 @@ public class InspectionTaskSearch extends InspectionTask {
private String prodIdent;
@Schema(description = "需求部门")
private String needDeptName;
+ @Schema(description = "需求[部门]id")
+ private String needDeptId;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "分批号")
private String poBatchNo;
@Schema(description = "当前工序")
private Long currentProcessId;
+ @Schema(description = "上个工序")
+ private Long frontProcessId;
@Schema(description = "下个工序")
private Long nextProcessId;
@Schema(description = "生产数量")
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
index 20f2164b..a9e33b58 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
@@ -72,7 +72,7 @@ public class InspectionTaskListVO extends InspectionTask {
@Schema(description = "生产数量")
private Double poQty = 2002d;
@Schema(description = "接收时间")
- private LocalDateTime receiveDate = LocalDateTime.now();
+ private LocalDateTime receiveDate;
@Schema(description = "订单-产品号")
@@ -106,5 +106,5 @@ public class InspectionTaskListVO extends InspectionTask {
private String sameNo = "tank-1001";
// todo:
@Schema(description = "材料")
- private String material = "铜";
+ private String material = "铜";
}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyBatchVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyBatchVO.java
new file mode 100644
index 00000000..ed50875a
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyBatchVO.java
@@ -0,0 +1,18 @@
+package org.springblade.desk.quality.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 责任批号
+ */
+@Data
+@EqualsAndHashCode()
+public class ReviewSheetDutyBatchVO {
+
+ private String dutyBatch;
+
+ public ReviewSheetDutyBatchVO(String dutyBatch) {
+ this.dutyBatch = dutyBatch;
+ }
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyPartVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyPartVO.java
new file mode 100644
index 00000000..79167be7
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDutyPartVO.java
@@ -0,0 +1,18 @@
+package org.springblade.desk.quality.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 责任零件
+ */
+@Data
+@EqualsAndHashCode()
+public class ReviewSheetDutyPartVO {
+
+ private String dutyPart;
+
+ public ReviewSheetDutyPartVO(String dutyPart) {
+ this.dutyPart = dutyPart;
+ }
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantBatchVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantBatchVO.java
new file mode 100644
index 00000000..69721dd1
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantBatchVO.java
@@ -0,0 +1,18 @@
+package org.springblade.desk.quality.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 相关批号
+ */
+@Data
+@EqualsAndHashCode()
+public class ReviewSheetRelevantBatchVO {
+
+ private String relevantBatch;
+
+ public ReviewSheetRelevantBatchVO(String relevantBatch) {
+ this.relevantBatch = relevantBatch;
+ }
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantPartVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantPartVO.java
new file mode 100644
index 00000000..3191a6ff
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetRelevantPartVO.java
@@ -0,0 +1,18 @@
+package org.springblade.desk.quality.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 相关零件
+ */
+@Data
+@EqualsAndHashCode()
+public class ReviewSheetRelevantPartVO {
+
+ private String relevantPart;
+
+ public ReviewSheetRelevantPartVO(String relevantPart) {
+ this.relevantPart = relevantPart;
+ }
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java
index 0c1635dc..cb2dd0cd 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemDetailVO.java
@@ -24,4 +24,7 @@ public class WorkPlanItemDetailVO extends WorkPlanItemDetail {
@Schema(description = "[量具]名称")
private String mtName = "标尺1";
+
+ @Schema(description = "实际[量具]名称")
+ private String actMtName = "游标卡尺QW";
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/config/RoleConfig.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/config/RoleConfig.java
index c51da904..84ca5e7b 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/config/RoleConfig.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/config/RoleConfig.java
@@ -10,12 +10,27 @@ import org.springframework.stereotype.Component;
public class RoleConfig {
/**
- * 工艺员角色id
+ * 工艺员[角色]id
*/
private Long processEngineerId;
-
/**
- * 工艺员角色alias
+ * 工艺员[角色]alias
*/
private String processEngineerAlias;
+ /**
+ * 热表检验员[角色]id
+ */
+ private Long rbCheckerId;
+ /**
+ * 热表检验员[角色]alias
+ */
+ private String rbCheckerAlias;
+ /**
+ * 烧结检验员[角色]id
+ */
+ private Long sjCheckerId;
+ /**
+ * 烧结检验员[角色]alias
+ */
+ private String sjCheckerAlias;
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/RelTeamSetUserController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/RelTeamSetUserController.java
index 5028a850..1fdbf61a 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/RelTeamSetUserController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/RelTeamSetUserController.java
@@ -24,6 +24,7 @@ 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.BAModuleConst;
import org.springblade.desk.basic.excel.RelTeamSetUserExcel;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
import org.springblade.desk.basic.pojo.vo.RelTeamSetUserVO;
@@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2026-01-13
*/
@RestController
-@RequestMapping("/RelTeamSetUser")
+@RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/RelTeamSetUser")
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@@ -54,184 +55,184 @@ import java.util.stream.Collectors;
public class RelTeamSetUserController extends BladeController {
@Resource
- private IRelTeamSetUserService service;
-
- /**
- * [班组用户关联] 详情
- */
- @GetMapping("/detail")
- @ApiOperationSupport(order = 10)
- @Operation(summary = "详情", description = "传入RelTeamSetUser Obj")
- public R detail(RelTeamSetUser relTeamSetUser) {
- QueryWrapper qw = Condition.getQueryWrapper(relTeamSetUser);
- RelTeamSetUser detail = service.getOne(qw);
- RelTeamSetUserVO detailVO = RelTeamSetUserWrapper.build().entityVO(detail);
- service.setVOValue(detailVO);
- return R.data(detailVO);
- }
-
- /**
- * [班组用户关联] list分页
- */
- @GetMapping("/list")
- @ApiOperationSupport(order = 20)
- @Operation(summary = "list分页", description = "传入RelTeamSetUser Obj")
- public R> list(@Parameter(hidden = true) @RequestParam Map relTeamSetUser,
- Query query) {
+ private IRelTeamSetUserService service;
+
+ /**
+ * [班组用户关联] 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 10)
+ @Operation(summary = "详情", description = "传入RelTeamSetUser Obj")
+ public R detail(RelTeamSetUser relTeamSetUser) {
+ QueryWrapper qw = Condition.getQueryWrapper(relTeamSetUser);
+ RelTeamSetUser detail = service.getOne(qw);
+ RelTeamSetUserVO detailVO = RelTeamSetUserWrapper.build().entityVO(detail);
+ service.setVOValue(detailVO);
+ return R.data(detailVO);
+ }
+
+ /**
+ * [班组用户关联] list分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 20)
+ @Operation(summary = "list分页", description = "传入RelTeamSetUser Obj")
+ public R> list(@Parameter(hidden = true) @RequestParam Map relTeamSetUser,
+ Query query) {
QueryWrapper qw = Condition.getQueryWrapper(relTeamSetUser, RelTeamSetUser.class);
- IPage pages = service.page(Condition.getPage(query), qw);
- IPage pagesVO = RelTeamSetUserWrapper.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 = "传入RelTeamSetUser Obj")
- public R> page(RelTeamSetUserVO relTeamSetUser, Query query) {
- IPage pagesVO = service.selectRelTeamSetUserPage(
- Condition.getPage(query), relTeamSetUser
- );
- return R.data(pagesVO);
- }
-
- /**
+ IPage pages = service.page(Condition.getPage(query), qw);
+ IPage pagesVO = RelTeamSetUserWrapper.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 = "传入RelTeamSetUser Obj")
+ public R> page(RelTeamSetUserVO relTeamSetUser, Query query) {
+ IPage pagesVO = service.selectRelTeamSetUserPage(
+ Condition.getPage(query), relTeamSetUser
+ );
+ return R.data(pagesVO);
+ }
+
+ /**
* [班组用户关联] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
- @Operation(summary = "list下拉选择", description = "")
+ @Operation(summary = "list下拉选择", description = "")
public R> listForSelect() {
- List list = service.list();
- List listVO = RelTeamSetUserWrapper.build().listVO(list);
- return R.data(listVO);
+ List list = service.list();
+ List listVO = RelTeamSetUserWrapper.build().listVO(list);
+ return R.data(listVO);
+ }
+
+ /**
+ * [班组用户关联] 新增一条
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 30)
+ @Operation(summary = "新增一条", description = "传入RelTeamSetUser Obj")
+ public R save(@Valid @RequestBody RelTeamSetUser addOne) {
+ addOne.setId(null);
+ return R.status(service.save(addOne));
}
- /**
- * [班组用户关联] 新增一条
- */
- @PostMapping("/save")
- @ApiOperationSupport(order = 30)
- @Operation(summary = "新增一条", description = "传入RelTeamSetUser Obj")
- public R save(@Valid @RequestBody RelTeamSetUser addOne) {
- addOne.setId(null);
- return R.status(service.save(addOne));
- }
-
- /**
+ /**
* [班组用户关联] 新增批量
*/
- @PostMapping("/saveBat")
- @ApiOperationSupport(order = 31)
- @Operation(summary = "新增批量", description = "传入RelTeamSetUser List")
- public R saveBat(@Valid @RequestBody List addList) {
- addList.forEach(one -> {
- one.setId(null);
- });
- return R.status(service.saveBatch(addList));
- }
-
- /**
- * [班组用户关联] 修改一条
- */
- @PostMapping("/update")
- @ApiOperationSupport(order = 40)
- @Operation(summary = "修改一条", description = "传入RelTeamSetUser Obj")
- public R update(@Valid @RequestBody RelTeamSetUser updateOne) {
- return R.status(service.updateById(updateOne));
- }
+ @PostMapping("/saveBat")
+ @ApiOperationSupport(order = 31)
+ @Operation(summary = "新增批量", description = "传入RelTeamSetUser List")
+ public R saveBat(@Valid @RequestBody List addList) {
+ addList.forEach(one -> {
+ one.setId(null);
+ });
+ return R.status(service.saveBatch(addList));
+ }
+
+ /**
+ * [班组用户关联] 修改一条
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 40)
+ @Operation(summary = "修改一条", description = "传入RelTeamSetUser Obj")
+ public R update(@Valid @RequestBody RelTeamSetUser updateOne) {
+ return R.status(service.updateById(updateOne));
+ }
/**
* [班组用户关联] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
- @Operation(summary = "修改批量", description = "传入RelTeamSetUser List")
+ @Operation(summary = "修改批量", description = "传入RelTeamSetUser List")
public R updateBat(@Valid @RequestBody List updateList) {
return R.status(service.updateBatchById(updateList));
}
- /**
- * [班组用户关联] 新增或修改一条
- */
- @PostMapping("/submit")
- @ApiOperationSupport(order = 50)
- @Operation(summary = "新增或修改一条", description = "传入RelTeamSetUser Obj")
- public R submit(@Valid @RequestBody RelTeamSetUser mergeOne) {
- return R.status(service.saveOrUpdate(mergeOne));
- }
-
- /**
+ /**
+ * [班组用户关联] 新增或修改一条
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 50)
+ @Operation(summary = "新增或修改一条", description = "传入RelTeamSetUser Obj")
+ public R submit(@Valid @RequestBody RelTeamSetUser mergeOne) {
+ return R.status(service.saveOrUpdate(mergeOne));
+ }
+
+ /**
* [班组用户关联] 新增或修改批量
*/
- @PostMapping("/submitBat")
- @ApiOperationSupport(order = 51)
- @Operation(summary = "新增或修改批量", description = "传入RelTeamSetUser List")
- public R submitBat(@Valid @RequestBody List mergeList) {
- return R.status(service.saveOrUpdateBatch(mergeList));
- }
-
- /**
- * [班组用户关联] 逻辑删除
- */
- @PostMapping("/remove")
- @ApiOperationSupport(order = 61)
- @Operation(summary = "逻辑删除", description = "传入ids")
- public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
- return R.status(service.deleteLogic(Func.toLongList(ids)));
- }
-
- /**
- * [班组用户关联] 导出Excel
- */
- @GetMapping("/exportExcel")
- @ApiOperationSupport(order = 70)
- @Operation(summary = "导出Excel", description = "传入RelTeamSetUser")
- public void exportExcel(@Parameter(hidden = true) @RequestParam Map relTeamSetUser,
- BladeUser bladeUser, HttpServletResponse response) {
- QueryWrapper qw = Condition.getQueryWrapper(relTeamSetUser, RelTeamSetUser.class);
- //if (!AuthUtil.isAdministrator()) {
- // queryWrapper.lambda().eq(RelTeamSetUser::getTenantId, bladeUser.getTenantId());
- //}
- //queryWrapper.lambda().eq(RelTeamSetUserEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
- List list = service.exportRelTeamSetUser(qw);
- ExcelUtil.export(response, "[班组用户关联]数据" + DateUtil.time(),
- "[班组用户关联]数据表", list, RelTeamSetUserExcel.class);
- }
-
- /**
+ @PostMapping("/submitBat")
+ @ApiOperationSupport(order = 51)
+ @Operation(summary = "新增或修改批量", description = "传入RelTeamSetUser List")
+ public R submitBat(@Valid @RequestBody List mergeList) {
+ return R.status(service.saveOrUpdateBatch(mergeList));
+ }
+
+ /**
+ * [班组用户关联] 逻辑删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 61)
+ @Operation(summary = "逻辑删除", description = "传入ids")
+ public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(service.deleteLogic(Func.toLongList(ids)));
+ }
+
+ /**
+ * [班组用户关联] 导出Excel
+ */
+ @GetMapping("/exportExcel")
+ @ApiOperationSupport(order = 70)
+ @Operation(summary = "导出Excel", description = "传入RelTeamSetUser")
+ public void exportExcel(@Parameter(hidden = true) @RequestParam Map relTeamSetUser,
+ BladeUser bladeUser, HttpServletResponse response) {
+ QueryWrapper qw = Condition.getQueryWrapper(relTeamSetUser, RelTeamSetUser.class);
+ //if (!AuthUtil.isAdministrator()) {
+ // queryWrapper.lambda().eq(RelTeamSetUser::getTenantId, bladeUser.getTenantId());
+ //}
+ //queryWrapper.lambda().eq(RelTeamSetUserEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+ List list = service.exportRelTeamSetUser(qw);
+ ExcelUtil.export(response, "[班组用户关联]数据" + DateUtil.time(),
+ "[班组用户关联]数据表", list, RelTeamSetUserExcel.class);
+ }
+
+ /**
* [班组用户关联] 下载Excel模板
*/
- @GetMapping("/downloadExcelTemplate")
- @ApiOperationSupport(order = 71)
- @Operation(summary = "下载Excel模板", description = "")
- public ResponseEntity downloadExcelTemplate() {
- return ExcelExtUtil.downloadXlsTemplate(
- "Excel/QA/ImportTemplate-CycleTestItem.xls",
- "导入模版-周期试验项目.xls");
- }
-
- /**
- * [班组用户关联] 导入Excel
- */
- @PostMapping("/importExcel")
- @ApiOperationSupport(order = 72)
- @Operation(summary = "导入Excel", description = "MultipartFile")
- public R importExcel(@RequestParam("file") MultipartFile file) {
- R checkR = ExcelExtUtil.importExcelCheck(file);
- if (checkR != null) {
- return checkR;
- }
- List importList = ExcelUtil.read(
- file, 0, 1, RelTeamSetUser.class
- );
- return R.status(service.saveBatch(importList));
- }
+ @GetMapping("/downloadExcelTemplate")
+ @ApiOperationSupport(order = 71)
+ @Operation(summary = "下载Excel模板", description = "")
+ public ResponseEntity downloadExcelTemplate() {
+ return ExcelExtUtil.downloadXlsTemplate(
+ "Excel/QA/ImportTemplate-CycleTestItem.xls",
+ "导入模版-周期试验项目.xls");
+ }
+
+ /**
+ * [班组用户关联] 导入Excel
+ */
+ @PostMapping("/importExcel")
+ @ApiOperationSupport(order = 72)
+ @Operation(summary = "导入Excel", description = "MultipartFile")
+ public R importExcel(@RequestParam("file") MultipartFile file) {
+ R checkR = ExcelExtUtil.importExcelCheck(file);
+ if (checkR != null) {
+ return checkR;
+ }
+ List importList = ExcelUtil.read(
+ file, 0, 1, RelTeamSetUser.class
+ );
+ return R.status(service.saveBatch(importList));
+ }
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java
index 2eab8ee5..b26d920f 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java
@@ -5,12 +5,12 @@ public interface InspectionTaskConst {
/**
* 热表
*/
- Integer TYPE_RB = 1;
+ Integer FROM_TYPE_RB = 1;
/**
* 烧结
*/
- Integer TYPE_SJ = 2;
+ Integer FROM_TYPE_SJ = 2;
/**
* 未检验
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
index ef0d0728..2945e512 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
@@ -5,11 +5,6 @@ package org.springblade.desk.quality.constant;
*/
public interface ReviewSheetConst {
- /**
- * 初始化
- */
- Integer S_INIT = 0;
-
interface BizType {
/**
* [1]:内部审理返修
@@ -26,10 +21,14 @@ public interface ReviewSheetConst {
}
interface STATUS {
+ /**
+ * 初始化
+ */
+ Integer S_INIT = -1;
/**
* 新建 内部 ERP 都用
*/
- Integer S_NEW = 1;
+ Integer S_NEW = -1;
/**
* 待审理 内部用 ERP不用
*/
@@ -56,7 +55,7 @@ public interface ReviewSheetConst {
/**
* 初始化
*/
- Integer REVIEW_STATUS_0 = 0;
+ Integer REVIEW_STATUS_INIT = -1;
/**
* 让步接收
*/
@@ -87,6 +86,8 @@ public interface ReviewSheetConst {
Integer REVIEW_STATUS_15 = 15;
}
+
+ // 一期状态 整合
// interface SELF {
// /**
// * 编制中
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
index 0a1ca980..58c52764 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
@@ -14,17 +14,24 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
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.config.RoleConfig;
+import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.pojo.vo.UrlVO;
+import org.springblade.desk.quality.constant.CycleTestTaskConst;
+import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
+import org.springblade.desk.quality.pojo.entity.CycleTestTask;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
@@ -49,6 +56,7 @@ import java.util.Map;
* @author Tom Shuo
* @since 2025-11-14
*/
+@Slf4j
@RestController
@Data
@EqualsAndHashCode(callSuper = true)
@@ -60,6 +68,8 @@ public class InspectionTaskController extends BladeController {
private IInspectionTaskService service;
@Resource
private InspectionTaskService2 service2;
+ @Resource
+ private RoleConfig roleConfig;
/**
* [检验任务] 详情
@@ -82,6 +92,18 @@ public class InspectionTaskController extends BladeController {
@Operation(summary = "分页", description = "传入inspectionTask")
public R> listSearch(
@Parameter(hidden = true) @RequestParam(required = false) InspectionTaskSearch search, Query query) {
+ log.info("getUserRole = {}", AuthUtil.getUserRole());
+ // 热表 烧结 检验员 数据区分。
+ if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias())) {
+ search.setFromType(InspectionTaskConst.FROM_TYPE_RB);
+ }
+ if (AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) {
+ search.setFromType(InspectionTaskConst.FROM_TYPE_SJ);
+ }
+ if (AuthUtil.getUserRole().contains(roleConfig.getRbCheckerAlias()) &&
+ AuthUtil.getUserRole().contains(roleConfig.getSjCheckerAlias())) {
+ search.setFromType(null);
+ }
IPage pagesVO = service.listSearch(Condition.getPage(query), search);
return R.data(pagesVO);
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
index 958c61b6..60adf159 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
@@ -117,7 +117,7 @@ public class ReviewSheetController extends BladeController {
public R> listInit(@Parameter() @RequestBody
ReviewSheetInitSearch search, Query query) {
Map demo = new HashMap();
- demo.put(BaseRequest.STATUS, ReviewSheetConst.S_INIT);
+ demo.put(BaseRequest.STATUS, ReviewSheetConst.STATUS.S_INIT);
QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
IPage pages = service.page(Condition.getPage(query), qw);
IPage pagesVO = ReviewSheetInitWrapper.build().pageVO(pages);
@@ -146,7 +146,11 @@ public class ReviewSheetController extends BladeController {
Map demo = new HashMap();
QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
Integer bizType = search.getBizType();
- qw.eq((bizType != null && bizType != 0), ReviewSheet.COL_BIZ_TYPE, 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 pages = service.page(Condition.getPage(query), qw);
IPage pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
@@ -160,22 +164,22 @@ public class ReviewSheetController extends BladeController {
/**
* [生产处置单] list分页
*/
- @PostMapping("/listSelf")
- @ApiOperationSupport(order = 20)
- @Operation(summary = "内部list分页", description = "传入ReviewSheet Obj")
- public R> listSelf(@Parameter() @RequestBody
- ReviewSheetSelfSearch search, Query query) {
- Map demo = new HashMap();
- QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
- qw.in(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_SELF_REDO, ReviewSheetConst.BizType.T_SELF_SCRAP);
- IPage pages = service.page(Condition.getPage(query), qw);
- IPage pagesVO = ReviewSheetSelfWrapper.build().pageVO(pages);
- pagesVO.getRecords()
- .stream()
- .peek(service::setSelfVOValue)
- .collect(Collectors.toList());
- return R.data(pagesVO);
- }
+// @PostMapping("/listSelf")
+// @ApiOperationSupport(order = 20)
+// @Operation(summary = "内部list分页", description = "传入ReviewSheet Obj")
+// public R> listSelf(@Parameter() @RequestBody
+// ReviewSheetSelfSearch search, Query query) {
+// Map demo = new HashMap();
+// QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
+// qw.in(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_SELF_REDO, ReviewSheetConst.BizType.T_SELF_SCRAP);
+// IPage pages = service.page(Condition.getPage(query), qw);
+// IPage pagesVO = ReviewSheetSelfWrapper.build().pageVO(pages);
+// pagesVO.getRecords()
+// .stream()
+// .peek(service::setSelfVOValue)
+// .collect(Collectors.toList());
+// return R.data(pagesVO);
+// }
/**
* [生产处置单] list分页
@@ -232,8 +236,6 @@ public class ReviewSheetController extends BladeController {
@Operation(summary = "copy相同数据到from车间订单id", description = "传入 [车间订单]id")
public R sameCopyFromHiWO(@Parameter(description = "列表id") @RequestParam Long id,
@Parameter(description = "车间订单Id") @RequestParam Long woId) {
- // todo:
- // 找到的历史审理单
return service.sameCopyFromHiWO(id, woId);
}
@@ -431,4 +433,72 @@ public class ReviewSheetController extends BladeController {
public R fill(@Valid @RequestBody ReviewSheetDetailVO vo) {
return service.fill(vo);
}
+
+ @GetMapping("/getRSDutyPartList")
+ @ApiOperationSupport(order = 51)
+ @Operation(summary = "责任零件list", description = "")
+ public R getRSDutyPartList(@Parameter(description = "id") @RequestParam Long id) {
+ ReviewSheetDutyPartVO vo1 = new ReviewSheetDutyPartVO("21E8-571-3000-K5");
+ ReviewSheetDutyPartVO vo2 = new ReviewSheetDutyPartVO("21E8-003-11234-K5");
+ ReviewSheetDutyPartVO vo3 = new ReviewSheetDutyPartVO("21E8-001-1625-H8-N");
+ ReviewSheetDutyPartVO vo4 = new ReviewSheetDutyPartVO("21E8-570-3238-K8");
+ ReviewSheetDutyPartVO vo5 = new ReviewSheetDutyPartVO("21E8-570-1066-K5");
+ List list = new ArrayList<>();
+ list.add(vo1);
+ list.add(vo2);
+ list.add(vo3);
+ list.add(vo4);
+ list.add(vo5);
+ return R.data(list);
+ }
+
+ @GetMapping("/getRSDutyBatchList")
+ @ApiOperationSupport(order = 52)
+ @Operation(summary = "责任批号list", description = "")
+ public R getRSDutyBatchList(@Parameter(description = "id") @RequestParam Long id) {
+ ReviewSheetDutyBatchVO vo1 = new ReviewSheetDutyBatchVO("L1022312073");
+ ReviewSheetDutyBatchVO vo2 = new ReviewSheetDutyBatchVO("Y0572401499");
+ ReviewSheetDutyBatchVO vo3 = new ReviewSheetDutyBatchVO("Y7952401087");
+ ReviewSheetDutyBatchVO vo4 = new ReviewSheetDutyBatchVO("Y5432403515");
+ ReviewSheetDutyBatchVO vo5 = new ReviewSheetDutyBatchVO("2402-XC-6566-JII-W664");
+ List list = new ArrayList<>();
+ list.add(vo1);
+ list.add(vo2);
+ list.add(vo3);
+ list.add(vo4);
+ list.add(vo5);
+ return R.data(list);
+ }
+
+ @GetMapping("/getRSRelevantPartList")
+ @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");
+ List list = new ArrayList<>();
+ list.add(vo1);
+ list.add(vo2);
+ list.add(vo3);
+ list.add(vo4);
+ list.add(vo5);
+ return R.data(list);
+ }
+
+ @GetMapping("/getRSRelevantBatchList")
+ @ApiOperationSupport(order = 51)
+ @Operation(summary = "相关批号list", description = "")
+ public R getRSRelevantBatchList(@Parameter(description = "id") @RequestParam Long id) {
+ ReviewSheetRelevantBatchVO vo1 = new ReviewSheetRelevantBatchVO("24022001");
+ ReviewSheetRelevantBatchVO vo2 = new ReviewSheetRelevantBatchVO("23122001");
+ ReviewSheetRelevantBatchVO vo3 = new ReviewSheetRelevantBatchVO("2401200101");
+ List list = new ArrayList<>();
+ list.add(vo1);
+ list.add(vo2);
+ list.add(vo3);
+ return R.data(list);
+ }
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/WorkPlanItemDetailExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/WorkPlanItemDetailExcel.java
index 0f4bcad6..956b8434 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/WorkPlanItemDetailExcel.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/WorkPlanItemDetailExcel.java
@@ -35,7 +35,7 @@ public class WorkPlanItemDetailExcel implements Serializable {
*/
@ColumnWidth(20)
@ExcelProperty("[工序检验项]id")
- private BigDecimal workPlanItemId;
+ private Long workPlanItemId;
/**
* 测量类型-[1]镀前;[2]:镀后;
*/
@@ -107,5 +107,5 @@ public class WorkPlanItemDetailExcel implements Serializable {
*/
@ColumnWidth(20)
@ExcelProperty("[量具]id")
- private BigDecimal mtId;
+ private Long mtId;
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java
index 61b62582..96aa0770 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java
@@ -41,5 +41,4 @@ public interface InspectionTaskMapper extends BaseMapper {
List exportInspectionTask(@Param("ew") Wrapper queryWrapper);
List listSearch(IPage page, @Param("q") InspectionTaskSearch search);
-
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
index 652be1f4..cbe155f0 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
@@ -10,14 +10,14 @@
-
+
-
+
@@ -46,6 +46,8 @@
+
+
+
+
+ SELECT rs.*
+ FROM QA_REVIEW_SHEET rs
+ -- 车间作业计划 wp
+ LEFT JOIN MES_WORK_PLAN wp ON rs.WP_ID = wp.ID
+ -- 车间订单 wo
+ LEFT JOIN MES_WORK_ORDER wo ON rs.WO_ID = wo.ID
+ -- 外协厂商 oem
+ 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 rs.STATUS = #{q.status}
+
+
+ AND rs.BIZ_TYPE = #{q.bizType}
+
+
+ AND rs.REVIEW_ORDER_MODE = #{q.reviewOrderMode}
+
+
+ AND rs.UP_CODE = #{q.upCode}
+
+
+ AND rs.RS_CODE = #{q.rsCode}
+
+
+ AND wo.XXXX = #{q.prodCode}
+
+
+ AND wo.XXXX = #{q.prodName}
+
+
+ AND wo.XXXX = #{q.prodTypeName}
+
+
+ AND wo.XXXX = #{q.prodIdent}
+
+
+ AND rs.BATCH_NO = #{q.batchNo}
+
+
+ AND wo.CARD_NO = #{q.cardNo}
+
+
+ AND rs.CREATE_TIME >= #{q.createTimeStart}
+
+
+ AND rs.CREATE_TIME <= #{q.createTimeEnd}
+
+
+ AND rs.REVIEW_DATE >= #{q.reviewTimeStart}
+
+
+ AND rs.REVIEW_DATE <= #{q.reviewTimeEnd}
+
+
+ AND rs.RS_CODE = #{q.rsCode}
+
+
+ AND rs.WO_CODE = #{q.woCode}
+
+
+ AND rs.PART_CODE = #{q.partCode}
+
+
+ AND oem.ABBREVIATION = '%' || #{q.oemName} || '%'
+
+ ORDER BY task.ID DESC
+
+
+
+ SELECT rs.*
+ FROM QA_REVIEW_SHEET rs
+ -- 车间作业计划 wp
+ LEFT JOIN MES_WORK_PLAN wp ON rs.WP_ID = wp.ID
+ -- 车间订单 wo
+ LEFT JOIN MES_WORK_ORDER wo ON rs.WO_ID = wo.ID
+ -- 外协厂商 oem
+ 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 rs.STATUS = #{q.status}
+
+
+ AND rs.BIZ_TYPE IN (1, 2)
+
+
+ AND rs.CREATE_TIME >= #{q.createTimeStart}
+
+
+ AND rs.CREATE_TIME <= #{q.createTimeEnd}
+
+
+ AND rs.REVIEW_DATE >= #{q.reviewTimeStart}
+
+
+ AND rs.REVIEW_DATE <= #{q.reviewTimeEnd}
+
+
+ AND rs.RS_CODE = #{q.rsCode}
+
+
+ AND rs.WO_CODE = #{q.woCode}
+
+
+ AND rs.PART_CODE = #{q.partCode}
+
+
+ AND oem.ABBREVIATION = '%' || #{q.oemName} || '%'
+
+ ORDER BY task.ID DESC
+
+
+
+ SELECT rs.*
+ FROM QA_REVIEW_SHEET rs
+ -- 车间作业计划 wp
+ LEFT JOIN MES_WORK_PLAN wp ON rs.WP_ID = wp.ID
+ -- 车间订单 wo
+ LEFT JOIN MES_WORK_ORDER wo ON rs.WO_ID = wo.ID
+ -- 外协厂商 oem
+ 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 rs.STATUS = #{q.status}
+
+
+ AND rs.BIZ_TYPE = 3
+
+
+ AND rs.CREATE_TIME >= #{q.createTimeStart}
+
+
+ AND rs.CREATE_TIME <= #{q.createTimeEnd}
+
+
+ AND rs.REVIEW_DATE >= #{q.reviewTimeStart}
+
+
+ AND rs.REVIEW_DATE <= #{q.reviewTimeEnd}
+
+
+ AND rs.RS_CODE = #{q.rsCode}
+
+
+ AND rs.WO_CODE = #{q.woCode}
+
+
+ AND rs.PART_CODE = #{q.partCode}
+
+
+ AND rs.PART_CODE = #{q.batchNo}
+
+ ORDER BY task.ID DESC
+
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemDetailMapper.xml
index a01f1f2b..4151e8b7 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemDetailMapper.xml
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemDetailMapper.xml
@@ -19,6 +19,7 @@
+
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
index 90d3f175..c41a0474 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
@@ -105,7 +105,7 @@ public interface IInspectionTaskService extends BaseService {
* @param start
* @return
*/
- public R startNew(InspectionTaskStartNew start);
+ public R startNew(InspectionTaskStartNew start);
public R fill(InspectionTaskDetailVO detailVO);
@@ -115,5 +115,5 @@ public interface IInspectionTaskService extends BaseService {
R sameResultCopy(Long sourceId, Long targetId);
- Integer refreshStatusAndQty(Long id);
+ InspectionTask refreshStatusAndQty(Long id);
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
index c0ac0f9d..7fc48a17 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
@@ -94,7 +94,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl msgList = new ArrayList<>();
msgList.add(msg1);
vo.setRemindMsgList(msgList);
@@ -153,16 +153,32 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl startNew(InspectionTaskStartNew start) {
+ public R startNew(InspectionTaskStartNew start) {
// todo:check工单有效性
// todo:check工序有效性
// todo:check制品有效性
+ addTask(InspectionTaskConst.FROM_TYPE_RB);
+ addTask(InspectionTaskConst.FROM_TYPE_SJ);
+ // 最终返回R
+ return R.success("成功生成检测任务!");
+ }
+
+ public void addTask(Integer fromType) {
// 新建 InspectionTask
InspectionTask task = new InspectionTask();
task.setId(null);
task.setStatus(InspectionTaskConst.CHECK_RESULT_TODO);
+ // todo: fake data
+ task.setWoId(2002227460172464129L);
+ // todo: fake data
+ task.setWoCode("WO-N251233302-R001");
+ // todo: fake data
+ task.setWpId(2002227460206018562L);
+ // 接收时间为空
+ task.setReceiveDate(null);
+ task.setFromType(fromType);
// 新插入 Task
save(task);
// 查询工序用到的,所有启用的检验项目。
@@ -176,7 +192,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl rFinal = R.success("成功生成检测任务!");
- rFinal.setData(task);
- return rFinal;
}
@Override
@@ -218,23 +230,26 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl listSearch(IPage page, InspectionTaskSearch search) {
List listVO = baseMapper.listSearch(page, search);
- //
for (InspectionTaskListVO oneVO : listVO) {
- refreshStatusAndQty(oneVO.getId());
setListVOValue(oneVO);
}
return page.setRecords(listVO);
@@ -265,10 +278,21 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl qw = Wrappers.lambdaQuery();
// todo: 需要生产支持
// qw.eq(InspectionTask::getId, 2010909559614988290L);
- List list = baseMapper.selectList(null).subList(0, 2);
- List listVO = InspectionTaskListWrapper.build().listVO(list);
- for (InspectionTaskListVO one : listVO) {
- setListVOValue(one);
+
+ LambdaQueryWrapper qw = Wrappers.lambdaQuery(InspectionTask.class)
+ .orderByAsc(InspectionTask::getId);
+ List listAll = baseMapper.selectList(qw);
+ List list = null;
+ // todo:fake
+ if (listAll.size() >= 2) {
+ list = listAll.subList(0, 2);
+ }
+ List listVO = null;
+ if (list != null && !list.isEmpty()) {
+ listVO = InspectionTaskListWrapper.build().listVO(list);
+ for (InspectionTaskListVO one : listVO) {
+ setListVOValue(one);
+ }
}
return R.data(listVO);
}
@@ -321,8 +345,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl uiR = userClient.userInfo(vo.getReviewUserId());
+ if (uiR != null && uiR.isSuccess() && uiR.getData() != null) {
+ vo.setReviewUserRealName(uiR.getData().getUser().getRealName());
+ }
+ }
}
@Override
public void setErpVOValue(ReviewSheetErpVO vo) {
-
+ if (IdUtil.isValid(vo.getReviewUserId())) {
+ R uiR = userClient.userInfo(vo.getReviewUserId());
+ if (uiR != null && uiR.isSuccess() && uiR.getData() != null) {
+ vo.setReviewUserRealName(uiR.getData().getUser().getRealName());
+ }
+ }
}
@Override
@@ -197,6 +214,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl qw = Wrappers.lambdaQuery();
qw.eq(ReviewSheet::getWoId, woId);
+ qw.eq(ReviewSheet::getIsDeleted, BladeConstant.DB_NOT_DELETED);
return baseMapper.selectOne(qw);
}
@@ -323,6 +367,7 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl qw = Wrappers.lambdaQuery();
qw.eq(ReviewSheet::getRsCode, rsCode);
+ qw.eq(ReviewSheet::getIsDeleted, BladeConstant.DB_NOT_DELETED);
qw.orderByDesc(ReviewSheet::getId);
return baseMapper.selectOne(qw);
}
diff --git a/blade-service/blade-desk/src/main/resources/application-dev.yml b/blade-service/blade-desk/src/main/resources/application-dev.yml
index defff7f1..06b0c775 100644
--- a/blade-service/blade-desk/src/main/resources/application-dev.yml
+++ b/blade-service/blade-desk/src/main/resources/application-dev.yml
@@ -23,12 +23,20 @@ business:
#角色配置
role-config:
- #工艺员角色id
+ #工艺员[角色]id
process-engineer-id: "1993624442365915137"
# 49 tencent cloud
#process-engineer-id: "2004331529923555330"
- #工艺员角色alias
+ #工艺员[角色]alias
process-engineer-alias: "process_engineer"
+ #热表检验员[角色]id
+ rb-checker-id: "2011703987044114434"
+ #热表检验员[角色]alias
+ rb-checker-alias: "sj_checker"
+ #烧结检验员[角色]id
+ sj-checker-id: "2011704109077389313"
+ #烧结检验员[角色]alias
+ sj-checker-alias: "rb_checker"
request:
measuringTool:
From 9234f262017d1bca77f7456346d681722c1239db Mon Sep 17 00:00:00 2001
From: Tom Li
Date: Fri, 16 Jan 2026 16:10:16 +0800
Subject: [PATCH 06/14] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../desk/quality/pojo/entity/ReviewSheet.java | 6 +
.../pojo/request/InspectionTaskSearch.java | 2 +
.../quality/pojo/request/RemindMsgSearch.java | 16 +
.../pojo/request/ReviewSheetErpSearch.java | 8 +
.../pojo/request/ReviewSheetInitSearch.java | 6 +
.../quality/pojo/vo/InspectionTaskListVO.java | 4 +-
.../desk/quality/pojo/vo/ReviewDutyVO.java | 2 +
.../desk/quality/pojo/vo/ReviewFaultVO.java | 2 +
.../quality/pojo/vo/ReviewSheetDetailVO.java | 2 +
.../quality/pojo/vo/ReviewSheetInitVO.java | 2 +-
.../json/Integer0ToEmptyStringSerializer.java | 31 ++
.../json/IntegerAllToStringSerializer.java | 30 ++
.../springblade/desk/basic/util/RoleUtil.java | 52 +++
.../quality/constant/ReviewSheetConst.java | 2 +-
.../controller/InspectionTaskController.java | 17 +-
.../controller/RemindMsgController.java | 318 +++++++++---------
.../controller/ReviewSheetController.java | 113 ++++---
.../quality/mapper/InspectionTaskMapper.xml | 4 +-
.../desk/quality/mapper/RemindMsgMapper.java | 2 +
.../quality/mapper/ReviewSheetMapper.java | 2 +-
.../desk/quality/mapper/ReviewSheetMapper.xml | 43 ++-
.../quality/service/IReviewSheetService.java | 17 +-
.../impl/InspectionTaskServiceImpl.java | 9 +
.../service/impl/ReviewSheetServiceImpl.java | 68 +++-
.../desk/quality/util/RoleUtil.java | 21 --
25 files changed, 497 insertions(+), 282 deletions(-)
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/RemindMsgSearch.java
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/Integer0ToEmptyStringSerializer.java
create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/IntegerAllToStringSerializer.java
create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java
delete mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/RoleUtil.java
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
index 022948ae..6599ca2b 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.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;
/**
* 名称
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
index c7b3eaaf..4843d8cf 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
@@ -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 = "流程卡号")
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/RemindMsgSearch.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/RemindMsgSearch.java
new file mode 100644
index 00000000..119168cd
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/RemindMsgSearch.java
@@ -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;
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java
index afdec040..15acb61e 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetErpSearch.java
@@ -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;
}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
index b8393159..3482b0e9 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
@@ -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;
}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
index a9e33b58..e000bf89 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
@@ -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 = "批次号")
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewDutyVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewDutyVO.java
index e1afcb01..79744bf4 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewDutyVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewDutyVO.java
@@ -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;
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java
index c683498b..4aa11a5b 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewFaultVO.java
@@ -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;
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java
index bf1b510c..a054dc0c 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java
@@ -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;
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java
index a9c7f038..509edaa5 100644
--- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java
@@ -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 = "审理[用户]真名")
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/Integer0ToEmptyStringSerializer.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/Integer0ToEmptyStringSerializer.java
new file mode 100644
index 00000000..26767495
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/Integer0ToEmptyStringSerializer.java
@@ -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
+ */
+ 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数值正常返回数字
+ }
+ }
+}
diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/IntegerAllToStringSerializer.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/IntegerAllToStringSerializer.java
new file mode 100644
index 00000000..d3006594
--- /dev/null
+++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/util/json/IntegerAllToStringSerializer.java
@@ -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 {
+
+ /**
+ *
+ */
+ 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);
+ }
+ }
+}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java
new file mode 100644
index 00000000..2366ca5c
--- /dev/null
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java
@@ -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;
+ }
+}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
index 2945e512..c8a9d68a 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
@@ -28,7 +28,7 @@ public interface ReviewSheetConst {
/**
* 新建 内部 ERP 都用
*/
- Integer S_NEW = -1;
+ Integer S_NEW = 0;
/**
* 待审理 内部用 ERP不用
*/
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
index 58c52764..e1bfb6bd 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
@@ -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> listSearch(
- @Parameter(hidden = true) @RequestParam(required = false) InspectionTaskSearch search, Query query) {
+ public R> 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 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));
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java
index fc1c2013..a769f8dd 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java
@@ -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 detail(RemindMsg remindMsg) {
- QueryWrapper 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> list(@Parameter(hidden = true) @RequestParam Map remindMsg,
- Query query) {
- QueryWrapper qw = Condition.getQueryWrapper(remindMsg, RemindMsg.class);
- IPage pages = service.page(Condition.getPage(query), qw);
- IPage 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> page(RemindMsgVO remindMsg, Query query) {
- IPage 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 detail(RemindMsg remindMsg) {
+ QueryWrapper 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> list(@Parameter(hidden = true) @RequestParam Map map,
+ Query query) {
+ RemindMsgSearch search = BeanUtil.toBean(map, RemindMsgSearch.class);
+ String partName = map.get("partName").toString();
+ QueryWrapper qw = Condition.getQueryWrapper(map, RemindMsg.class);
+ IPage pages = service.page(Condition.getPage(query), qw);
+ IPage 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> page(RemindMsgVO remindMsg, Query query) {
+ IPage 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> listForSelect() {
- List list = service.list();
- List listVO = RemindMsgWrapper.build().listVO(list);
- return R.data(listVO);
+ List list = service.list();
+ List 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 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 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 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 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 remindMsg,
- BladeUser bladeUser, HttpServletResponse response) {
- QueryWrapper 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 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 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 remindMsg,
+ BladeUser bladeUser, HttpServletResponse response) {
+ QueryWrapper 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 list = service.exportRemindMsg(qw);
+ ExcelUtil.export(response, "[提醒信息]数据" + DateUtil.time(),
+ "[提醒信息]数据表", list, RemindMsgExcel.class);
+ }
+
+ /**
* [提醒信息] 下载Excel模板
*/
- @GetMapping("/downloadExcelTemplate")
- @ApiOperationSupport(order = 71)
- @Operation(summary = "下载Excel模板", description = "")
- public ResponseEntity downloadExcelTemplate() {
- return ExcelExtUtil.downloadXlsTemplate(
- "Excel/QA/ImportTemplate-CycleTestItem.xls",
- "导入模版-周期试验项目.xls");
- }
-
- /**
- * [提醒信息] 导入Excel
- */
- @PostMapping("/importExcel")
- @ApiOperationSupport(order = 72)
- @Operation(summary = "导入Excel", description = "MultipartFile")
- public R importExcel(@RequestParam("file") MultipartFile file) {
- R checkR = ExcelExtUtil.importExcelCheck(file);
- if (checkR != null) {
- return checkR;
- }
- List importList = ExcelUtil.read(
- file, 0, 1, RemindMsg.class
- );
- return R.status(service.saveBatch(importList));
- }
+ @GetMapping("/downloadExcelTemplate")
+ @ApiOperationSupport(order = 71)
+ @Operation(summary = "下载Excel模板", description = "")
+ public ResponseEntity downloadExcelTemplate() {
+ return ExcelExtUtil.downloadXlsTemplate(
+ "Excel/QA/ImportTemplate-CycleTestItem.xls",
+ "导入模版-周期试验项目.xls");
+ }
+
+ /**
+ * [提醒信息] 导入Excel
+ */
+ @PostMapping("/importExcel")
+ @ApiOperationSupport(order = 72)
+ @Operation(summary = "导入Excel", description = "MultipartFile")
+ public R importExcel(@RequestParam("file") MultipartFile file) {
+ R checkR = ExcelExtUtil.importExcelCheck(file);
+ if (checkR != null) {
+ return checkR;
+ }
+ List importList = ExcelUtil.read(
+ file, 0, 1, RemindMsg.class
+ );
+ return R.status(service.saveBatch(importList));
+ }
}
diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
index 60adf159..094d6155 100644
--- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
+++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
@@ -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 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> listInit(@Parameter() @RequestBody
- ReviewSheetInitSearch search, Query query) {
- Map demo = new HashMap();
- demo.put(BaseRequest.STATUS, ReviewSheetConst.STATUS.S_INIT);
- QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
- IPage pages = service.page(Condition.getPage(query), qw);
- IPage pagesVO = ReviewSheetInitWrapper.build().pageVO(pages);
-
- // todo:
-// pagesVO.getRecords()
-// .stream()
-// .peek(service::setVOValue)
-// .collect(Collectors.toList());
+ public R> 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 qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
+// IPage pages = service.page(Condition.getPage(query), qw);
+// IPage pagesVO = ReviewSheetInitWrapper.build().pageVO(pages);
+// for (ReviewSheetInitVO initVO : pagesVO.getRecords()) {
+// // todo: fake data.
+// initVO.setDocCode("" + initVO.getId());
+// }
+// return R.data(pagesVO);
+
+ IPage 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> listReviewRedoScrap(@Parameter() @RequestBody
- ReviewSheetRedoScrapSearch search, Query query) {
+ public R> listReviewRedoScrap(@Valid @RequestBody ReviewSheetRedoScrapSearch search,
+ @RequestBody Query query) {
// todo: mapper
- Map demo = new HashMap();
- QueryWrapper 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 pages = service.page(Condition.getPage(query), qw);
- IPage pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
- pagesVO.getRecords()
- .stream()
- .peek(service::setRedoScrapVOValue)
- .collect(Collectors.toList());
+// Map demo = new HashMap();
+// QueryWrapper 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 pages = service.page(Condition.getPage(query), qw);
+// IPage pagesVO = ReviewSheetRedoScrapWrapper.build().pageVO(pages);
+// pagesVO.getRecords()
+// .stream()
+// .peek(service::setRedoScrapVOValue)
+// .collect(Collectors.toList());
+ IPage 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> listErp(@Parameter() @RequestBody ReviewSheetErpSearch search,
- Query query) {
- Map demo = new HashMap();
- // todo: mapper
- QueryWrapper qw = Condition.getQueryWrapper(demo, ReviewSheet.class);
- qw.eq(ReviewSheet.COL_BIZ_TYPE, ReviewSheetConst.BizType.T_ERP);
- IPage