生产质量检验和生产处置单修改

liweidong
pangyang 1 month ago
parent 1fe1bd9c68
commit b9faefa686
  1. 74
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RaiseHand.java
  2. 25
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/RaiseHandVO.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetDetailVO.java
  4. 1
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/ReviewSheetInitVO.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotHardnessController.java
  6. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java
  7. 242
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java
  8. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java
  9. 94
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/RaiseHandExcel.java
  10. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
  11. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/RaiseHandMapper.java
  12. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/RaiseHandMapper.xml
  13. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.java
  14. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  15. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java
  16. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java
  17. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IReviewSheetService.java
  18. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java
  19. 65
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java
  20. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  21. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/RaiseHandWrapper.java

@ -0,0 +1,74 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* [工序检验项明细,硬度] 实体类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Data
@TableName("QA_WORK_RAISE_HAND")
@Schema(description = "RaiseHand Entity对象")
@EqualsAndHashCode(callSuper = true)
public class RaiseHand extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 提出人
*/
@Schema(description = "提出人")
private Long reportUserId;
/**
* 岗位
*/
@Schema(description = "岗位")
private String postName;
private Long postId;
/**
* 发生时间
*/
@Schema(description = "发生时间")
private LocalDate happenDate;
/**
* 免责问题描述
*/
@Schema(description = "免责问题描述")
private String notes;
/**
* 原因
*/
@Schema(description = "原因")
private String reason;
/**
* 措施
*/
@Schema(description = "措施")
private String measure;
/**
* 免责理由
*/
@Schema(description = "免责理由")
private String raiseHandReason;
/**
* 免责金额
*/
@Schema(description = "免责金额")
private BigDecimal amount;
}

@ -0,0 +1,25 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import java.io.Serial;
/**
* [工序检验项明细] 视图实体类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class RaiseHandVO extends RaiseHand {
@Serial
private static final long serialVersionUID = 1L;
}

@ -22,7 +22,7 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReviewSheetDetailVO extends ReviewSheet {
public class ReviewSheetDetailVO extends ReviewSheetInitVO {
@Serial
private static final long serialVersionUID = 1L;

@ -38,4 +38,5 @@ public class ReviewSheetInitVO extends ReviewSheet {
private String reviewStatusName;
@Schema(description = "审理[用户]真名")
private String reviewUserRealName;
private String findPrecessName;
}

@ -131,7 +131,7 @@ public class IotHardnessController extends BladeController {
QueryWrapper<IotHardness> qwhard = new QueryWrapper<>();
qwhard.eq("EQUIPMENT_ID",card.getId());
// qwhard.eq("FLAG_READ",0);
qwhard.eq("FLAG_READ",0);
qwhard.orderByDesc("CREATE_TIME");
List<IotHardness> qcHardnessIotList = service.list(qwhard);

@ -28,6 +28,8 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
@ -78,6 +80,8 @@ public class LiquidTankWaveController extends BladeController {
private IRelTankWaveItemService relReportItemService;
@Resource
private IUserClient userClient;
@Resource
private IWorkCenterService workCenterService;
public List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId) {
@ -156,7 +160,11 @@ public class LiquidTankWaveController extends BladeController {
List<LiquidTankTaskCopyVO> pagesVO = getListByLiquidTankReportId(detailVO.getId());
detailVO.setTaskCopys(pagesVO);
detailVO.setWorkCenterName(pagesVO.get(0).getWcName());
WorkCenter center = workCenterService.getById(detail.getWcId());
if(center != null){
detailVO.setWorkCenterName(center.getWcName());
}
detailVO.setUpdateUserRealName(user.getRealName());
// pagesVO.stream()
// .peek(copyService::setVOValue)

@ -0,0 +1,242 @@
/**
* Author: Tom Shuo
*/
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.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
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.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankWaveExcel;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.pojo.entity.*;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.service.ILiquidTankTaskCopyService;
import org.springblade.desk.quality.service.ILiquidTankWaveService;
import org.springblade.desk.quality.service.IRaiseHandService;
import org.springblade.desk.quality.service.IRelTankWaveItemService;
import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper;
import org.springblade.desk.quality.wrapper.LiquidTankWaveWrapper;
import org.springblade.desk.quality.wrapper.RaiseHandWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import java.util.stream.Collectors;
/**
* 举手免责控制器
*
* @author Tom Shuo
* @since 2025-12-19
*/
@RestController
@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/RaiseHand")
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
@Tag(name = "[举手免责]", description = "[举手免责]接口")
public class RaiseHandController extends BladeController {
@Resource
private IRaiseHandService service;
@Resource
private ILiquidTankTaskCopyService copyService;
@Resource
private IRelTankWaveItemService relReportItemService;
@Resource
private IUserClient userClient;
/**
* [槽液曲线] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入LiquidTankWave Obj")
public R<RaiseHandVO> detail(RaiseHand liquidTankWave) {
QueryWrapper<RaiseHand> qw = Condition.getQueryWrapper(liquidTankWave);
RaiseHand detail = service.getOne(qw);
RaiseHandVO detailVO = RaiseHandWrapper.build().entityVO(detail);
return R.data(detailVO);
}
/**
* [槽液曲线] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入LiquidTankWave Obj")
public R<IPage<RaiseHandVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> liquidTankWave,
Query query) {
QueryWrapper<RaiseHand> qw = Condition.getQueryWrapper(liquidTankWave, RaiseHand.class);
qw.eq(liquidTankWave.containsKey("name"), LiquidTankReport.COL_NAME, liquidTankWave.get("name"));
if (liquidTankWave.containsKey(BaseRequest.CREATE_TIME_START) && liquidTankWave.containsKey(BaseRequest.CREATE_TIME_END)) {
Date crStart = RequestUtil.buildDateBeginOfDay(liquidTankWave, BaseRequest.CREATE_TIME_START);
Date crEnd = RequestUtil.buildDateEndOfDay(liquidTankWave, BaseRequest.CREATE_TIME_END);
qw.between(BaseCol.CREATE_TIME, crStart, crEnd);
}
IPage<RaiseHand> pages = service.page(Condition.getPage(query), qw);
IPage<RaiseHandVO> pagesVO = RaiseHandWrapper.build().pageVO(pages);
return R.data(pagesVO);
}
/**
* [槽液曲线] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入LiquidTankWave Obj")
public R<IPage<RaiseHandVO>> page(RaiseHandVO liquidTankWave, Query query) {
IPage<RaiseHandVO> pagesVO = service.selectRaiseHandPage(
Condition.getPage(query), liquidTankWave
);
return R.data(pagesVO);
}
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入LiquidTankWave Obj")
public R save(@Valid @RequestBody RaiseHand addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入LiquidTankWave List")
public R saveBat(@Valid @RequestBody List<RaiseHand> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入LiquidTankWave Obj")
public R update(@Valid @RequestBody RaiseHand updateOne) {
return R.status(service.updateById(updateOne));
}
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入LiquidTankWave List")
public R updateBat(@Valid @RequestBody List<RaiseHand> updateList) {
return R.status(service.updateBatchById(updateList));
}
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入LiquidTankWave Obj")
public R submit(@Valid @RequestBody RaiseHand mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入LiquidTankWave List")
public R submitBat(@Valid @RequestBody List<RaiseHand> 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 = "传入LiquidTankWave")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> liquidTankWave,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<RaiseHand> qw = Condition.getQueryWrapper(liquidTankWave, RaiseHand.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(LiquidTankWave::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(LiquidTankWaveEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<RaiseHandExcel> list = service.exportRaiseHand(qw);
ExcelUtil.export(response, "[举手免责]数据" + DateUtil.time(),
"[举手免责]数据表", list, RaiseHandExcel.class);
}
/**
* [槽液曲线] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [槽液曲线] 导入Excel
*/
@PostMapping("/importExcel")
@ApiOperationSupport(order = 72)
@Operation(summary = "导入Excel", description = "MultipartFile")
public R importExcel(@RequestParam("file") MultipartFile file) {
R checkR = ExcelExtUtil.importExcelCheck(file);
if (checkR != null) {
return checkR;
}
List<RaiseHand> importList = ExcelUtil.read(
file, 0, 1, RaiseHand.class
);
return R.status(service.saveBatch(importList));
}
}

@ -78,9 +78,12 @@ public class ReviewSheetController extends BladeController {
public R<ReviewSheetDetailVO> detail(ReviewSheet reviewSheet) {
QueryWrapper<ReviewSheet> qw = Condition.getQueryWrapper(reviewSheet);
ReviewSheet detail = service.getOne(qw);
ReviewSheetDetailVO detailVO = ReviewSheetDetailWrapper.build().entityVO(detail);
service.setDetailVOValue(detailVO);
return R.data(detailVO);
// ReviewSheetDetailVO detailVO = ReviewSheetDetailWrapper.build().entityVO(detail);
ReviewSheetInitVO detailVO = service.getById( detail.getId());
ReviewSheetDetailVO detaiinit = ReviewSheetDetailWrapper.build().entityVO(detailVO);
service.setDetailVOValue(detaiinit);
return R.data(detaiinit);
}
/**

@ -0,0 +1,94 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* [IOT硬度] Excel实体类
*
* @author Tom Shuo
* @since 2025-12-23
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class RaiseHandExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
// /**
// * 编码
// */
// @ColumnWidth(20)
// @ExcelProperty("编码")
// private String code;
// /**
// * 使用标记位
// */
// @ColumnWidth(20)
// @ExcelProperty("使用标记位")
// private Long flagUse;
// /**
// * 读取标记位
// */
// @ColumnWidth(20)
// @ExcelProperty("读取标记位")
// private Long flagRead;
// /**
// * 设备号
// */
// @ColumnWidth(20)
// @ExcelProperty("设备号")
// private String equipmentCode;
// /**
// * 批次号
// */
// @ColumnWidth(20)
// @ExcelProperty("批次号")
// private String batchNo;
// /**
// * 检测内容
// */
// @ColumnWidth(20)
// @ExcelProperty("检测内容")
// private String data;
// /**
// * 排序
// */
// @ColumnWidth(20)
// @ExcelProperty("排序")
// private Long sort;
// /**
// * 备注
// */
// @ColumnWidth(20)
// @ExcelProperty("备注")
// private String remark;
// /**
// * 数据上传时间
// */
// @ColumnWidth(20)
// @ExcelProperty("数据上传时间")
// private LocalDateTime uploadDate;
// /**
// * [设备]id
// */
// @ColumnWidth(20)
// @ExcelProperty("[设备]id")
// private BigDecimal equipmentId;
}

@ -88,6 +88,8 @@
yo.PART_VERSION AS partVersion,
yo.ID AS yoId,
yo.PART_CODE AS prodCode,
dp.HARDNESS AS hardness,
dp.CRAFT_WAY AS process,
wo.TEST_QTY as orderCheckQty,
wo.LOSS_QTY as orderLossQty,
wo.SCRAP_QTY as orderScrapQty,
@ -109,6 +111,9 @@
LEFT JOIN BS_TEAM_SET ts ON wp.MAKE_TEAM = ts.ID
-- 部门
LEFT JOIN BLADE_DEPT bl_dept on t.CREATE_DEPT = bl_dept.ID
LEFT JOIN DS_PART dp on yo.PART_CODE = dp.PART_CODE
WHERE (
t.IS_DELETED = 0 and t.ID = #{q.id}
-- AND wp.IS_DELETED = 0

@ -0,0 +1,45 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.Standard;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import java.util.List;
/**
* [工序检验项] Mapper 接口
*
* @author Tom Shuo
* @since 2026-01-06
*/
public interface RaiseHandMapper extends BaseMapper<RaiseHand> {
/**
* 自定义分页
*
* @param page 分页参数
* @param workPlanItem 查询参数
* @return List<WorkPlanItemVO>
*/
IPage<RaiseHandVO> selectRaiseHandPage(IPage page, RaiseHandVO workPlanItem);
List<RaiseHandExcel> exportRaiseHand(@Param("ew") Wrapper<RaiseHand> queryWrapper);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<WorkPlanItemExcel>
*/
// List<WorkPlanItemExcel> exportWorkPlanItem(@Param("ew") Wrapper<WorkPlanItem> queryWrapper);
}

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.quality.mapper.RaiseHandMapper">
<!-- 通用查询映射结果 -->
<resultMap id="workPlanItemResultMap"
type="org.springblade.desk.quality.pojo.entity.RaiseHand">
<!-- <result column="WP_ID" property="wpId"/>-->
<!-- <result column="CHECK_QTY" property="checkQty"/>-->
<!-- <result column="TEST_QTY" property="testQty"/>-->
<!-- <result column="LOSS_QTY" property="lossQty"/>-->
<!-- <result column="ITEM_CODE" property="itemCode"/>-->
<!-- <result column="ITEM_NAME" property="itemName"/>-->
<!-- <result column="STANDARD_NAME" property="standardName"/>-->
<!-- <result column="CHECK_USER_ID" property="checkUserId"/>-->
<!-- <result column="CHECK_VALUE" property="checkValue"/>-->
<!-- <result column="CHECK_DATE" property="checkDate"/>-->
<!-- <result column="CHECK_RESULT" property="checkResult"/>-->
<!-- <result column="HOUR_QUOTA" property="hourQuota"/>-->
<!-- <result column="HOUR_PREPARE" property="hourPrepare"/>-->
<!-- <result column="TASK_ID" property="taskId"/>-->
<!-- <result column="ITEM_ID" property="itemId"/>-->
<!-- <result column="STANDARD_ID" property="standardId"/>-->
<!-- <result column="TEMPLATE_ID" property="templateId"/>-->
<!-- <result column="SPECIAL_TYPE" property="specialType"/>-->
</resultMap>
<select id="selectRaiseHandPage" resultType="org.springblade.desk.quality.pojo.vo.RaiseHandVO">
SELECT *
FROM QA_WORK_RAISE_HAND
WHERE is_deleted = 0
</select>
<select id="exportWorkPlanItem"
resultType="org.springblade.desk.quality.excel.RaiseHandExcel">
SELECT *
FROM QA_WORK_RAISE_HAND ${ew.customSqlSegment}
</select>
</mapper>

@ -45,6 +45,9 @@ public interface ReviewSheetMapper extends BaseMapper<ReviewSheet> {
List<ReviewSheetInitVO> listInit(IPage<ReviewSheetInitVO> page,
@Param("q") ReviewSheetInitSearch search);
ReviewSheetInitVO getById(Long id);
List<ReviewSheetRedoScrapVO> listReviewRedoScrap(IPage<ReviewSheetRedoScrapVO> page,
@Param("q") ReviewSheetRedoScrapSearch search);

@ -64,6 +64,42 @@
FROM QA_REVIEW_SHEET ${ew.customSqlSegment}
</select>
<select id="getById"
resultType="org.springblade.desk.quality.pojo.vo.ReviewSheetInitVO">
SELECT rs.*,
par.PRODUCT_TYPE as prodTypeName,yo.PART_NAME as prodName,yo.PLATE as platingInfo,ps.NAME as findPrecessName,
yo.USE_DEPT as needDeptName,yo.PRODUCT_IDENT as prodIdent,wo.MAKE_QTY as poQty,wo.MAKE_QTY as totalNum,
wo.WO_CODE AS woCode,wo.CARD_NO AS cardNo,yo.PART_CODE AS prodCode,wo.batch_no as batchNo,yo.YO_CODE as docCode
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
-- 生产订单 yo
-- LEFT JOIN MES_YIELD_ORDER yo ON wo.YO_ID = yo.ID
-- 车间订单 wo
LEFT JOIN MES_WORK_ORDER wo ON wp.WO_ID = wo.ID
-- 生产订单 yo
LEFT JOIN MES_YIELD_ORDER yo ON wo.YO_ID = yo.ID
-- 工序
LEFT JOIN BS_PROCESS_SET ps ON wp.ORDERS = ps.CODE
-- 外协厂商 oem
LEFT JOIN BS_OEM oem ON wp.OC_ID = oem.ID
left join DS_PART par on par.PART_CODE = yo.PART_CODE
WHERE (
rs.IS_DELETED = 0 and rs.ID = #{id}
-- AND wp.IS_DELETED = 0
-- AND wo.IS_DELETED = 0
-- AND oem.IS_DELETED = 0
)
</select>
<select id="listInit"
resultType="org.springblade.desk.quality.pojo.vo.ReviewSheetInitVO">
SELECT rs.*,

@ -13,6 +13,7 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.pojo.entity.Plating;
import org.springblade.desk.basic.service.IPlatingService;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.quality.constant.CycleTestTaskConst;
@ -205,7 +206,14 @@ public class CycleTestService2 {
List<Long> idList = Func.toLongList(vo.getPlateIds());
// 循环拼接
for (int i = 0; i < idList.size(); i++) {
names.append(platingService.getById(idList.get(i)).getPlating());
if(null != idList.get(i)){
Plating plating = platingService.getById(idList.get(i));
if(plating != null){
names.append(plating.getPlating());
}
// names.append(platingService.getById(idList.get(i)).getPlating());
}
if (i != idList.size() - 1) { // 去掉结尾,
names.append(",");
}

@ -0,0 +1,38 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.Standard;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import java.util.List;
/**
* [工序检验项明细] 服务类
*
* @author Tom Shuo
* @since 2026-01-06
*/
public interface IRaiseHandService extends BaseService<RaiseHand> {
/**
* VO
*
* @param vo
*/
void setVOValue(WorkPlanItemThicknessVO vo);
IPage<RaiseHandVO> selectRaiseHandPage(IPage page, RaiseHandVO workPlanItem);
List<RaiseHandExcel> exportRaiseHand(Wrapper<RaiseHand> queryWrapper);
}

@ -41,7 +41,7 @@ public interface IReviewSheetService extends EnBaseService<ReviewSheet> {
* @return List<ReviewSheetExcel>
*/
List<ReviewSheetExcel> exportReviewSheet(Wrapper<ReviewSheet> queryWrapper);
ReviewSheetInitVO getById(Long id);
void setDetailVOValue(ReviewSheetDetailVO vo);
void setInitVOValue(ReviewSheetInitVO vo);

@ -156,6 +156,9 @@ public class LiquidTankTaskCopyServiceImpl extends BaseServiceImpl<LiquidTankTas
updateBatchById(list);
LiquidTankWave wave = new LiquidTankWave();
wave.setName("" + System.currentTimeMillis());
wave.setWcId(vo.getWcId());
wave.setCreateTimeStart(vo.getCreateTimeStart());
wave.setCreateTimeEnd(vo.getCreateTimeEnd());
// 保存曲线
waveService.save(wave);
for (LiquidTankTaskCopy one : list) {

@ -0,0 +1,65 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.mapper.RaiseHandMapper;
import org.springblade.desk.quality.mapper.WorkPlanItemThicknessMapper;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import org.springblade.desk.quality.service.IRaiseHandService;
import org.springblade.desk.quality.service.IWorkPlanItemThicknessService;
import org.springblade.desk.quality.wrapper.WorkPlanItemThicknessWrapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* [工序检验项明细] 服务实现类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Service
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class RaiseHandServiceImpl extends BaseServiceImpl<RaiseHandMapper, RaiseHand>
implements IRaiseHandService {
@Override
public void setVOValue(WorkPlanItemThicknessVO vo) {
}
@Override
public IPage<RaiseHandVO> selectRaiseHandPage(IPage page, RaiseHandVO workPlanItem) {
return baseMapper.selectRaiseHandPage(page, workPlanItem);
}
@Override
public List<RaiseHandExcel> exportRaiseHand(Wrapper<RaiseHand> queryWrapper) {
List<RaiseHandExcel> standardList = baseMapper.exportRaiseHand(queryWrapper);
//standardList.forEach(standard -> {
// standard.setTypeName(DictCache.getValue(DictEnum.YES_NO, Standard.getType()));
//});
return standardList;
}
}

@ -92,6 +92,11 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
return reviewSheetList;
}
@Override
public ReviewSheetInitVO getById(Long id) {
return baseMapper.getById(id);
}
@Override
public void setDetailVOValue(ReviewSheetDetailVO vo) {
vo.setFaultList(faultService.listVOByRsId(vo.getId()));

@ -0,0 +1,32 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import java.util.Objects;
/**
* [工序检验项明细] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class RaiseHandWrapper extends BaseEntityWrapper<RaiseHand, RaiseHandVO> {
public static RaiseHandWrapper build() {
return new RaiseHandWrapper();
}
@Override
public RaiseHandVO entityVO(RaiseHand entity) {
RaiseHandVO VO = Objects.requireNonNull(BeanUtil.copyProperties(entity, RaiseHandVO.class));
return VO;
}
}
Loading…
Cancel
Save