质检模块。

develop-QA
Tom Li 3 months ago
parent 9e048089fb
commit 2ec97a38d6
  1. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/IotHardness.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
  3. 15
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/ReviewSheetInitSearch.java
  4. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionItemVO.java
  5. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskDetailVO.java
  6. 16
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
  7. 35
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskSubPartVO.java
  8. 39
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitListVO.java
  9. 10
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemVO.java
  10. 25
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  11. 362
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotHardnessController.java
  12. 336
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java
  13. 89
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
  14. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
  15. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotHardnessMapper.xml
  16. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  17. 63
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  18. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java

@ -68,6 +68,10 @@ public class IotHardness extends BaseEntity {
* [设备]id
*/
public static final String COL_EQUIPMENT_ID = "EQUIPMENT_ID";
/**
* IP
*/
public static final String COL_IP = "IP";
/**
* 编码
@ -118,5 +122,10 @@ public class IotHardness extends BaseEntity {
* [设备]id
*/
@Schema(description = "[设备]id")
private BigDecimal equipmentId;
private Long equipmentId;
/**
* [设备]id
*/
@Schema(description = "ip")
private String ip;
}

@ -229,7 +229,7 @@ public class ReviewSheet extends BaseEntity {
* 不合格数量
*/
@Schema(description = "不合格数量")
private Short unqualifiedQty;
private Double unqualifiedQty;
/**
* 上级编号
*/

@ -0,0 +1,15 @@
package org.springblade.desk.quality.pojo.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode()
public class ReviewSheetInitSearch {
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.InspectionItem;
@ -21,4 +22,6 @@ public class InspectionItemVO extends InspectionItem {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "检验类型 名称")
private String itemTypeName = "检验类型A";
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
@ -27,6 +28,12 @@ public class InspectionTaskDetailVO extends InspectionTask {
@Serial
private static final long serialVersionUID = 1L;
/**
* todo:
*/
@Schema(description = "工序名称")
private String processName = "工序名称A";
private InspectionTaskListVO orderInfo;
private List<RemindMsg> remindMsgList;

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -56,10 +57,14 @@ public class InspectionTaskListVO extends InspectionTask {
private String batchNo = "XXXX12345";
@Schema(description = "分批号")
private String poBatchNo = "XXXX12345";
@Schema(description = "当前工序")
@Schema(description = "当前[工序]名称")
private String currentProcessName = "XXXX12345";
@Schema(description = "下个工序")
@Schema(description = "当前[工序]id")
private Long currentProcessId = 100L;
@Schema(description = "下个[工序]名称")
private String nextProcessName = "XXXX12345";
@Schema(description = "下个[工序]id")
private Long nextProcessId = 100L;
@Schema(description = "面积")
private Double area = 100.10;
@Schema(description = "总面积")
@ -69,6 +74,7 @@ public class InspectionTaskListVO extends InspectionTask {
@Schema(description = "接收时间")
private LocalDateTime receiveDate = LocalDateTime.now();
@Schema(description = "订单-产品号")
private String prodCode = "XXXX12345";
@Schema(description = "订单-产品型号")
@ -95,4 +101,10 @@ public class InspectionTaskListVO extends InspectionTask {
private String remark;
@Schema(description = "订单-提醒内容")
private String remindContent;
// todo:
@Schema(description = "同槽编号/同炉编号")
private String sameNo = "tank-1001";
// todo:
@Schema(description = "材料")
private String material = "铜";
}

@ -0,0 +1,35 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode()
public class InspectionTaskSubPartVO {
@Schema(description = "子件号")
private String subPartCode;
@Schema(description = "子件名称")
private String subPartName;
@Schema(description = "数量")
private String qty;
@Schema(description = "产品型号")
private String prodTypeName;
@Schema(description = "子件类型")
private String subPartTypeName;
@Schema(description = "镀种")
private String plateName;
@Schema(description = "材料")
private String material;
@Schema(description = "面积")
private String area;
@Schema(description = "总面积")
private String totalArea;
@Schema(description = "镀层代码")
private String matCode;
@Schema(description = "镀层厚度")
private String thickness;
@Schema(description = "备注")
private String remark;
}

@ -0,0 +1,39 @@
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.basic.pojo.vo.BaseEntityVO;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
public class ReviewSheetInitListVO extends ReviewSheet {
@Schema(description = "BaseEntityVO")
private BaseEntityVO base;
@Schema(description = "单据编号")
private String docCode;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "产品编号")
private String prodCode;
@Schema(description = "产品名称")
private String prodName;
@Schema(description = "产品型号名称")
private String prodTypeName;
@Schema(description = "生产标识")
private String prodIdent;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "流程卡号")
private String cardNo;
@Schema(description = "生产数量")
private Double poQty;
@Schema(description = "不合格数量")
private Short unqualifiedQty;
@Schema(description = "[生产处置单]模式 名称")
private String reviewOrderModeName;
@Schema(description = "打回[用户]真名")
private String backUserRealName;
@Schema(description = "审理状态 名称")
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
}

@ -3,6 +3,7 @@
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.InspectionItem;
@ -25,9 +26,14 @@ public class WorkPlanItemVO extends WorkPlanItem {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "检验员 真名")
private String checkUserRealName;
@Schema(description = "检验项目 Obj")
private InspectionItemVO item;
@Schema(description = "检验标准 Obj")
private StandardVO standard;
// @Schema(description = "工序对象 Obj")
// private DsProcessEntity process;
@Schema(description = "wp详情 List")
private List<WorkPlanItemDetailVO> wpItemDetailList;
}

@ -170,22 +170,23 @@ public class InspectionTaskController extends BladeController {
}
/**
* [检验任务] 同槽 检验结果应用
* [检验任务] 查询同槽/同炉
*/
@GetMapping("/sameTankResultCopy")
@ApiOperationSupport(order = 101)
@Operation(summary = "同槽结果应用", description = "传入inspectionTask id")
public R sameTankResultCopy(@Parameter(hidden = true) @RequestParam Long id) {
return null;
@GetMapping("/getSameList")
@ApiOperationSupport(order = 7)
@Operation(summary = "查询同槽/同炉", description = "id")
public R getSameList(@Parameter(description = "主键", required = true) @RequestParam Long id) {
return service.getSamePlace(id);
}
/**
* [检验任务] 检验结果应用
* [检验任务] 检验结果应用
*/
@GetMapping("/sameFurnaceResultCopy")
@ApiOperationSupport(order = 102)
@Operation(summary = "同槽结果应用", description = "传入inspectionTask id")
public R sameFurnaceResultCopy(@Parameter(hidden = true) @RequestParam Long id) {
return null;
@GetMapping("/sameResultCopy")
@ApiOperationSupport(order = 101)
@Operation(summary = "同槽/同炉结果应用", description = "传入inspectionTask id")
public R sameResultCopy(@Parameter(hidden = true) @RequestParam Long sourceId,
@Parameter(hidden = true) @RequestParam Long targetId) {
return service.sameResultCopy(sourceId, targetId);
}
}

@ -10,6 +10,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
@ -21,6 +22,7 @@ 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;
@ -31,6 +33,8 @@ import org.springblade.desk.quality.pojo.entity.IotHardness;
import org.springblade.desk.quality.pojo.vo.IotHardnessVO;
import org.springblade.desk.quality.service.IIotHardnessService;
import org.springblade.desk.quality.wrapper.IotHardnessWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -55,184 +59,228 @@ import java.util.stream.Collectors;
public class IotHardnessController extends BladeController {
@Resource
private IIotHardnessService service;
/**
* [IOT硬度] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入IotHardness Obj")
public R<IotHardnessVO> detail(IotHardness iotHardness) {
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(iotHardness);
IotHardness detail = service.getOne(qw);
IotHardnessVO detailVO = IotHardnessWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [IOT硬度] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入IotHardness Obj")
public R<IPage<IotHardnessVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> iotHardness,
Query query) {
private IIotHardnessService service;
@Resource
private IUserClient iUserClient;
/**
* [IOT硬度] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入IotHardness Obj")
public R<IotHardnessVO> detail(IotHardness iotHardness) {
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(iotHardness);
IotHardness detail = service.getOne(qw);
IotHardnessVO detailVO = IotHardnessWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [IOT硬度] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入IotHardness Obj")
public R<IPage<IotHardnessVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> iotHardness,
Query query) {
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(iotHardness, IotHardness.class);
IPage<IotHardness> pages = service.page(Condition.getPage(query), qw);
IPage<IotHardnessVO> pagesVO = IotHardnessWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [IOT硬度] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入IotHardness Obj")
public R<IPage<IotHardnessVO>> page(IotHardnessVO iotHardness, Query query) {
IPage<IotHardnessVO> pagesVO = service.selectIotHardnessPage(
Condition.getPage(query), iotHardness
);
return R.data(pagesVO);
}
/**
IPage<IotHardness> pages = service.page(Condition.getPage(query), qw);
IPage<IotHardnessVO> pagesVO = IotHardnessWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
@GetMapping("/getDataFirst")
@ApiOperationSupport(order = 20)
@Operation(summary = "获取硬度检测值 getData", description = "传入IotHardness Obj")
public R<List<IotHardness>> getDataFirst(HttpServletRequest request,
@Parameter(hidden = true) @RequestParam Map<String, Object> map) {
// 根据ip关联查询
// todo:
// BladeUser loginUser = AuthUtil.getUser();
// Long userId = loginUser.getUserId();
// R<UserInfo> rUI = iUserClient.userInfo(userId);
// if (rUI.isSuccess() && rUI.getData() != null) {
//
// }
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(map, IotHardness.class);
List<IotHardness> list = service.list(qw);
return R.data(list);
}
@GetMapping("/getDataRefresh")
@ApiOperationSupport(order = 20)
@Operation(summary = "获取硬度检测值 getData", description = "传入IotHardness Obj")
public R<List<IotHardness>> getDataRefresh(HttpServletRequest request,
@Parameter(hidden = true) @RequestParam Map<String, Object> map) {
// 根据ip关联查询
// todo:
// BladeUser loginUser = AuthUtil.getUser();
// Long userId = loginUser.getUserId();
// R<UserInfo> rUI = iUserClient.userInfo(userId);
// if (rUI.isSuccess() && rUI.getData() != null) {
//
// }
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(map, IotHardness.class);
List<IotHardness> list = service.list(qw);
return R.data(list);
}
/**
* [IOT硬度] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入IotHardness Obj")
public R<IPage<IotHardnessVO>> page(IotHardnessVO iotHardness, Query query) {
IPage<IotHardnessVO> pagesVO = service.selectIotHardnessPage(
Condition.getPage(query), iotHardness
);
return R.data(pagesVO);
}
/**
* [IOT硬度] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "")
@Operation(summary = "list下拉选择", description = "")
public R<List<IotHardnessVO>> listForSelect() {
List<IotHardness> list = service.list();
List<IotHardnessVO> listVO = IotHardnessWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [IOT硬度] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入IotHardness Obj")
public R save(@Valid @RequestBody IotHardness addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
List<IotHardness> list = service.list();
List<IotHardnessVO> listVO = IotHardnessWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [IOT硬度] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入IotHardness Obj")
public R save(@Valid @RequestBody IotHardness addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [IOT硬度] 新增批量
*/
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入IotHardness List")
public R saveBat(@Valid @RequestBody List<IotHardness> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [IOT硬度] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入IotHardness Obj")
public R update(@Valid @RequestBody IotHardness updateOne) {
return R.status(service.updateById(updateOne));
}
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入IotHardness List")
public R saveBat(@Valid @RequestBody List<IotHardness> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [IOT硬度] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入IotHardness Obj")
public R update(@Valid @RequestBody IotHardness updateOne) {
return R.status(service.updateById(updateOne));
}
/**
* [IOT硬度] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入IotHardness List")
@Operation(summary = "修改批量", description = "传入IotHardness List")
public R updateBat(@Valid @RequestBody List<IotHardness> updateList) {
return R.status(service.updateBatchById(updateList));
}
/**
* [IOT硬度] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入IotHardness Obj")
public R submit(@Valid @RequestBody IotHardness mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
* [IOT硬度] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入IotHardness Obj")
public R submit(@Valid @RequestBody IotHardness mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
/**
* [IOT硬度] 新增或修改批量
*/
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入IotHardness List")
public R submitBat(@Valid @RequestBody List<IotHardness> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [IOT硬度] 逻辑删除
*/
@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)));
}
/**
* [IOT硬度] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入IotHardness")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> iotHardness,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(iotHardness, IotHardness.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(IotHardness::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(IotHardnessEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<IotHardnessExcel> list = service.exportIotHardness(qw);
ExcelUtil.export(response, "[IOT硬度]数据" + DateUtil.time(),
"[IOT硬度]数据表", list, IotHardnessExcel.class);
}
/**
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入IotHardness List")
public R submitBat(@Valid @RequestBody List<IotHardness> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [IOT硬度] 逻辑删除
*/
@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)));
}
/**
* [IOT硬度] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入IotHardness")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> iotHardness,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<IotHardness> qw = Condition.getQueryWrapper(iotHardness, IotHardness.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(IotHardness::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(IotHardnessEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<IotHardnessExcel> list = service.exportIotHardness(qw);
ExcelUtil.export(response, "[IOT硬度]数据" + DateUtil.time(),
"[IOT硬度]数据表", list, IotHardnessExcel.class);
}
/**
* [IOT硬度] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [IOT硬度] 导入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<IotHardness> importList = ExcelUtil.read(
file, 0, 1, IotHardness.class
);
return R.status(service.saveBatch(importList));
}
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [IOT硬度] 导入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<IotHardness> importList = ExcelUtil.read(
file, 0, 1, IotHardness.class
);
return R.status(service.saveBatch(importList));
}
}

@ -3,13 +3,16 @@
*/
package org.springblade.desk.quality.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
@ -21,12 +24,15 @@ 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.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IotThicknessExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.IotHardness;
import org.springblade.desk.quality.pojo.entity.IotThickness;
import org.springblade.desk.quality.pojo.vo.IotThicknessVO;
import org.springblade.desk.quality.service.IIotThicknessService;
@ -55,184 +61,202 @@ import java.util.stream.Collectors;
public class IotThicknessController extends BladeController {
@Resource
private IIotThicknessService service;
/**
* [IOT厚度] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入IotThickness Obj")
public R<IotThicknessVO> detail(IotThickness iotThickness) {
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(iotThickness);
IotThickness detail = service.getOne(qw);
IotThicknessVO detailVO = IotThicknessWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [IOT厚度] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入IotThickness Obj")
public R<IPage<IotThicknessVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> iotThickness,
Query query) {
private IIotThicknessService service;
/**
* [IOT厚度] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入IotThickness Obj")
public R<IotThicknessVO> detail(IotThickness iotThickness) {
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(iotThickness);
IotThickness detail = service.getOne(qw);
IotThicknessVO detailVO = IotThicknessWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [IOT厚度] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入IotThickness Obj")
public R<IPage<IotThicknessVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> iotThickness,
Query query) {
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(iotThickness, IotThickness.class);
IPage<IotThickness> pages = service.page(Condition.getPage(query), qw);
IPage<IotThicknessVO> pagesVO = IotThicknessWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [IOT厚度] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入IotThickness Obj")
public R<IPage<IotThicknessVO>> page(IotThicknessVO iotThickness, Query query) {
IPage<IotThicknessVO> pagesVO = service.selectIotThicknessPage(
Condition.getPage(query), iotThickness
);
return R.data(pagesVO);
}
/**
IPage<IotThickness> pages = service.page(Condition.getPage(query), qw);
IPage<IotThicknessVO> pagesVO = IotThicknessWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
@GetMapping("/getData")
@ApiOperationSupport(order = 20)
@Operation(summary = "获取厚度检测值 getData", description = "传入IotHardness Obj")
public R<List<IotThickness>> getData(HttpServletRequest request,
@Parameter(hidden = true) @RequestParam Map<String, Object> map) {
// 根据ip关联查询
// BladeUser loginUser = AuthUtil.getUser();
// Long userId = loginUser.getUserId();
// R<UserInfo> rUI = iUserClient.userInfo(userId);
// if (rUI.isSuccess() && rUI.getData() != null) {
//
// }
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(map, IotThickness.class);
List<IotThickness> list = service.list(qw);
return R.data(list);
}
/**
* [IOT厚度] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入IotThickness Obj")
public R<IPage<IotThicknessVO>> page(IotThicknessVO iotThickness, Query query) {
IPage<IotThicknessVO> pagesVO = service.selectIotThicknessPage(
Condition.getPage(query), iotThickness
);
return R.data(pagesVO);
}
/**
* [IOT厚度] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "")
@Operation(summary = "list下拉选择", description = "")
public R<List<IotThicknessVO>> listForSelect() {
List<IotThickness> list = service.list();
List<IotThicknessVO> listVO = IotThicknessWrapper.build().listVO(list);
return R.data(listVO);
List<IotThickness> list = service.list();
List<IotThicknessVO> listVO = IotThicknessWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [IOT厚度] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入IotThickness Obj")
public R save(@Valid @RequestBody IotThickness addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [IOT厚度] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入IotThickness Obj")
public R save(@Valid @RequestBody IotThickness addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
/**
* [IOT厚度] 新增批量
*/
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入IotThickness List")
public R saveBat(@Valid @RequestBody List<IotThickness> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [IOT厚度] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入IotThickness Obj")
public R update(@Valid @RequestBody IotThickness updateOne) {
return R.status(service.updateById(updateOne));
}
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入IotThickness List")
public R saveBat(@Valid @RequestBody List<IotThickness> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [IOT厚度] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入IotThickness Obj")
public R update(@Valid @RequestBody IotThickness updateOne) {
return R.status(service.updateById(updateOne));
}
/**
* [IOT厚度] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入IotThickness List")
@Operation(summary = "修改批量", description = "传入IotThickness List")
public R updateBat(@Valid @RequestBody List<IotThickness> updateList) {
return R.status(service.updateBatchById(updateList));
}
/**
* [IOT厚度] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入IotThickness Obj")
public R submit(@Valid @RequestBody IotThickness mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
/**
* [IOT厚度] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入IotThickness Obj")
public R submit(@Valid @RequestBody IotThickness mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
* [IOT厚度] 新增或修改批量
*/
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入IotThickness List")
public R submitBat(@Valid @RequestBody List<IotThickness> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [IOT厚度] 逻辑删除
*/
@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)));
}
/**
* [IOT厚度] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入IotThickness")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> iotThickness,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(iotThickness, IotThickness.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(IotThickness::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(IotThicknessEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<IotThicknessExcel> list = service.exportIotThickness(qw);
ExcelUtil.export(response, "[IOT厚度]数据" + DateUtil.time(),
"[IOT厚度]数据表", list, IotThicknessExcel.class);
}
/**
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入IotThickness List")
public R submitBat(@Valid @RequestBody List<IotThickness> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [IOT厚度] 逻辑删除
*/
@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)));
}
/**
* [IOT厚度] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入IotThickness")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> iotThickness,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<IotThickness> qw = Condition.getQueryWrapper(iotThickness, IotThickness.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(IotThickness::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(IotThicknessEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<IotThicknessExcel> list = service.exportIotThickness(qw);
ExcelUtil.export(response, "[IOT厚度]数据" + DateUtil.time(),
"[IOT厚度]数据表", list, IotThicknessExcel.class);
}
/**
* [IOT厚度] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [IOT厚度] 导入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<IotThickness> importList = ExcelUtil.read(
file, 0, 1, IotThickness.class
);
return R.status(service.saveBatch(importList));
}
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [IOT厚度] 导入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<IotThickness> importList = ExcelUtil.read(
file, 0, 1, IotThickness.class
);
return R.status(service.saveBatch(importList));
}
}

@ -102,6 +102,95 @@ public class ReviewSheetController extends BladeController {
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
*/
@GetMapping("/listInit")
@ApiOperationSupport(order = 20)
@Operation(summary = "生产处置单list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listInit(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
*/
@GetMapping("/listRedo")
@ApiOperationSupport(order = 20)
@Operation(summary = "返工审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listRedo(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
*/
@GetMapping("/listScrap")
@ApiOperationSupport(order = 20)
@Operation(summary = "返工审理list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listScrap(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
*/
@GetMapping("/listInternal")
@ApiOperationSupport(order = 20)
@Operation(summary = "内部list分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listInternal(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] list分页
*/
@GetMapping("/listErp")
@ApiOperationSupport(order = 20)
@Operation(summary = "ERPlist分页", description = "传入ReviewSheet Obj")
public R<IPage<ReviewSheetVO>> listErp(@Parameter(hidden = true) @RequestParam Map<String, Object> reviewSheet,
Query query) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet, ReviewSheet.class);
IPage<ReviewSheet> pages = service.page(Condition.getPage(query), qw);
IPage<ReviewSheetVO> pagesVO = ReviewSheetWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [生产处置单] page分页

@ -90,6 +90,6 @@
<if test="q.fromType != null">
AND task.FROM_TYPE = #{q.fromType}
</if>
ORDER BY ID DESC
ORDER BY task.ID DESC
</select>
</mapper>

@ -16,6 +16,7 @@
<result column="REMARK" property="remark"/>
<result column="UPLOAD_DATE" property="uploadDate"/>
<result column="EQUIPMENT_ID" property="equipmentId"/>
<result column="IP" property="ip"/>
</resultMap>
<select id="selectIotHardnessPage" resultMap="iotHardnessResultMap">

@ -1,10 +1,12 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
@ -14,6 +16,7 @@ import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -108,5 +111,9 @@ public interface IInspectionTaskService extends BaseService<InspectionTask> {
IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search);
R getSamePlace(Long id);
R sameResultCopy(Long sourceId, Long targetId);
Integer refreshStatusAndQty(Long id);
}

@ -13,10 +13,13 @@ import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseValue;
@ -29,11 +32,9 @@ import org.springblade.desk.quality.mapper.InspectionTaskMapper;
import org.springblade.desk.quality.pojo.entity.*;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemDetailVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.*;
import org.springblade.desk.quality.wrapper.IndicatorYearWrapper;
import org.springblade.desk.quality.wrapper.InspectionTaskListWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
@ -42,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* [检验任务] 服务实现类
@ -183,14 +185,17 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// 关联
wpItem.setItemId(iItem.getId());
wpItem.setTaskId(task.getId());
// todo:
wpItem.setWpId(1L);
wpItem.setStandardId(2000482194736316418L);
wpItem.setCheckQty(0d);
wpItem.setTestQty(0d);
wpItem.setLossQty(0d);
// 新插入 WorkPlanItem
wpItemService.save(wpItem);
if (InspectionItemConst.SPECIAL_TYPE_1.equals(iItem.getSpecialType()) ||
InspectionItemConst.SPECIAL_TYPE_2.equals(iItem.getSpecialType()) ||
if (InspectionItemConst.SPECIAL_TYPE_1.equals(iItem.getSpecialType())) {
// 测厚 不创建 WorkPlanItemDetail
} else if (InspectionItemConst.SPECIAL_TYPE_2.equals(iItem.getSpecialType()) ||
InspectionItemConst.SPECIAL_TYPE_3.equals(iItem.getSpecialType())) {
for (int i = 0; i < 4; i++) {
WorkPlanItemDetail wpItemDetail = new WorkPlanItemDetail();
@ -213,6 +218,13 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
for (WorkPlanItemVO wpItemVO : detailVO.getWpItemList()) {
WorkPlanItem wpItem = new WorkPlanItem();
BeanUtil.copyProperties(wpItemVO, wpItem);
if (!InspectionTaskConst.CHECK_RESULT_TODO.equals(wpItem.getCheckResult())) {
BladeUser bu = AuthUtil.getUser();
if (bu != null) {
wpItem.setCheckUserId(bu.getUserId());
}
wpItem.setCheckDate(LocalDateTime.now());
}
// 更新 WorkPlanItem
wpItemService.updateById(wpItem);
for (WorkPlanItemDetailVO wpItemDetailVO : wpItemVO.getWpItemDetailList()) {
@ -232,6 +244,45 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
return page.setRecords(baseMapper.listSearch(page, search));
}
@Override
public R getSamePlace(Long id) {
LambdaQueryWrapper<InspectionTask> qw = Wrappers.lambdaQuery();
// todo: 需要生产支持
qw.eq(InspectionTask::getId, 2010526540823642113L);
List<InspectionTask> list = baseMapper.selectList(qw);
List<InspectionTaskListVO> listVO = InspectionTaskListWrapper.build().listVO(list);
for (InspectionTaskListVO one : listVO) {
setListVOValue(one);
}
return R.data(listVO);
}
@SneakyThrows
@Override
public R sameResultCopy(Long sourceId, Long targetId) {
InspectionTask source = null;
InspectionTask target = null;
{
LambdaQueryWrapper<InspectionTask> qw1 = Wrappers.lambdaQuery();
qw1.eq(InspectionTask::getId, sourceId);
source = baseMapper.selectById(qw1);
}
{
LambdaQueryWrapper<InspectionTask> qw2 = Wrappers.lambdaQuery();
qw2.eq(InspectionTask::getId, targetId);
target = baseMapper.selectById(qw2);
}
log.info("source = {}", source);
log.info("target = {}", target);
if (source == null || target == null) {
return R.fail("失败");
}
// todo: copy 赋值
// throw new IllegalAccessException("");
return R.success();
}
@Override
public Integer refreshStatusAndQty(Long id) {
InspectionTask task = getById(id);

@ -14,6 +14,7 @@ import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.constant.InspectionItemConst;
import org.springblade.desk.quality.excel.WorkPlanItemExcel;
import org.springblade.desk.quality.mapper.WorkPlanItemMapper;
@ -32,6 +33,7 @@ import org.springblade.desk.quality.wrapper.StandardWrapper;
import org.springblade.desk.quality.wrapper.WorkPlanItemWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.stereotype.Service;
import java.util.List;
@ -51,10 +53,6 @@ import java.util.stream.Collectors;
public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper, WorkPlanItem>
implements IWorkPlanItemService {
@Resource
private IUserClient userClient;
@Resource
private IDictClient dictClient;
@Resource
private IInspectionItemService inspectionItemService;
@Resource
@ -62,6 +60,12 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
@Resource
private IStandardService standardService;
@Resource
private IUserClient userClient;
@Resource
private IDictClient dictClient;
@Override
public IPage<WorkPlanItemVO> selectWorkPlanItemPage(IPage<WorkPlanItemVO> page, WorkPlanItemVO workPlanItem) {
return page.setRecords(baseMapper.selectWorkPlanItemPage(page, workPlanItem));
@ -78,6 +82,10 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
@Override
public void setVOValue(WorkPlanItemVO vo) {
R<UserInfo> rUI = userClient.userInfo(vo.getCheckUserId());
if (rUI != null && rUI.isSuccess() && rUI.getData().getUser() != null) {
vo.setCheckUserRealName(rUI.getData().getUser().getRealName());
}
{
InspectionItem item = inspectionItemService.getById(vo.getItemId());
InspectionItemVO itemVO = InspectionItemWrapper.build().entityVO(item);

Loading…
Cancel
Save