生产质量检验页面详情

liweidong
pangyang 1 month ago
parent 3ae4747c61
commit 4482be781f
  1. 23
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java
  2. 1
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/InspectionTaskSearch.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskDetailVO.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml
  5. 26
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java
  7. 85
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml
  8. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  9. 28
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java

@ -16,6 +16,8 @@ public class ProduceMonitorSlotListVO {
@Schema(description = "同槽编号")
private String mtuCode;
private String mtnCode;
private String sameNo;
@Schema(description = "零件号")
private String partCode;
@ -25,6 +27,7 @@ public class ProduceMonitorSlotListVO {
@Schema(description = "数量")
private String qua;
private String poQty;
@Schema(description = "生产标识")
private String prodIdent;
@ -34,15 +37,19 @@ public class ProduceMonitorSlotListVO {
@Schema(description = "总面积")
private String totalArea;
private String sumArea;
private String areaTotal;
// @Schema(description = "订单编号")
// private String woCode;
//
// @Schema(description = "材料")
// private String material;
//
// @Schema(description = "订单类型")
// private String yieldType;;
private Long id;
@Schema(description = "订单编号")
private String woCode;
@Schema(description = "材料")
private String material;
@Schema(description = "订单类型")
private String yieldType;;
}

@ -47,4 +47,5 @@ public class InspectionTaskSearch extends InspectionTask {
private LocalDate receiveDateEnd;
@Schema(description = "质量检验类型")
private Integer checkWorkType;
}

@ -30,6 +30,8 @@ public class InspectionTaskDetailVO extends InspectionTask {
private InspectionTaskListVO orderInfo;
// private WorkOrderVO workOrderInfo;
private List<RemindMsg> remindMsgList;
private List<WorkPlanItemVO> wpItemList;

@ -36,7 +36,7 @@
</select>
<select id="listSlotInfo" resultType="org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO">
SELECT
a.PART_CODE, a.BATCH_NO, a.WORK_QTY, a.area, a.sumArea, a.MTN_CODE, a.PRODUCT_IDENT, a.wo_code, a.material,
a.PART_CODE, a.BATCH_NO, a.WORK_QTY as qua, a.WORK_QTY as poQty, a.area, a.sumArea, a.sumArea as areaTotal, a.sumArea as totalArea, a.MTN_CODE as mtnCode, a.MTN_CODE as mtuCode, a.MTN_CODE as sameNo, a.PRODUCT_IDENT as prodIdent, a.wo_code, a.material,
a.yield_type
FROM
(

@ -27,6 +27,10 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.config.RoleConfig;
import org.springblade.desk.basic.pojo.vo.UrlVO;
import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO;
import org.springblade.desk.produce.service.IMacToolUseService;
import org.springblade.desk.produce.service.IWorkPlanService;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
@ -78,6 +82,8 @@ public class InspectionTaskController extends BladeController {
public R<InspectionTaskDetailVO> detail(InspectionTask inspectionTask) {
InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
InspectionTaskDetailVO detailDetailVO = InspectionTaskDetailWrapper.build().entityVO(detail);
;
// InspectionTaskListVO detailDetail = service.detailById(inspectionTask);
service.setDetailVOValue(detailDetailVO);
return R.data(detailDetailVO);
}
@ -197,12 +203,30 @@ public class InspectionTaskController extends BladeController {
/**
* [检验任务] 查询同槽/同炉
*/
// @GetMapping("/getSameList")
// @ApiOperationSupport(order = 7)
// @Operation(summary = "查询同槽/同炉", description = "id")
// public R getSameList(@Parameter(description = "主键", required = true) @RequestParam Long id) {
// return service.getSamePlace(id);
// }
@GetMapping("/getSameList")
@ApiOperationSupport(order = 7)
@Operation(summary = "查询同槽/同炉", description = "id")
public R getSameList(@Parameter(description = "主键", required = true) @RequestParam Long id) {
return service.getSamePlace(id);
InspectionTask inspectionTask = new InspectionTask();
inspectionTask.setId(id);
InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
WorkPlan workPlan = workPlanService.getOne(new QueryWrapper<WorkPlan>().lambda().eq(WorkPlan::getId, detail.getWpId()));
List<ProduceMonitorSlotListVO> list = macToolUseService.listSlotInfo(workPlan);
return R.data(list);
// return service.getSamePlace(id);
}
@Resource
private IWorkPlanService workPlanService;
@Resource
private IMacToolUseService macToolUseService;
/**
* [检验任务] 同槽 检验结果应用

@ -31,7 +31,7 @@ public interface InspectionTaskMapper extends BaseMapper<InspectionTask> {
* @return List<InspectionTaskVO>
*/
List<InspectionTaskDetailVO> selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask);
InspectionTaskListVO detailById(@Param("q") InspectionTask inspectionTask);
/**
* 获取导出数据
*

@ -64,9 +64,82 @@
FROM QA_INSPECTION_TASK ${ew.customSqlSegment}
</select>
<select id="detailById"
resultType="org.springblade.desk.quality.pojo.vo.InspectionTaskListVO">
SELECT
CASE
WHEN ts.TS_NAME is not null THEN
ts.TS_NAME
WHEN oem.OC_NAME is not null THEN
oem.OC_NAME
ELSE
''
END AS mainProcessingUnit ,
--ts.TS_NAME,oem.OC_NAME,
yo.PRODUCT_TYPE as prodType,yo.PART_NAME as prodName,yo.PLATE as platingInfo,
yo.USE_DEPT as needDeptName,wo.batch_no as batchNo,wo.batch_no as poBatchNo,
ps.NAME as currentProcessName,ps01.NAME as nextProcessName,wo.MAKE_QTY as poQty,
yo.YP_AREA * wo.MAKE_QTY as areaTotal,yo.YP_AREA as area,yo.PRODUCT_IDENT as prodIdent,
t.*,wo.WO_CODE as woCode,
wo.PART_CODE AS partCode,
wo.PART_CODE AS prodCode,
wo.TEST_QTY as orderCheckQty,
wo.LOSS_QTY as orderLossQty,
wo.SCRAP_QTY as orderScrapQty,
wo.CARD_NO AS cardNo
FROM QA_INSPECTION_TASK t
-- 车间作业计划 wp
LEFT JOIN MES_WORK_PLAN wp ON t.WP_ID = wp.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
LEFT JOIN BS_PROCESS_SET ps01 ON wp.NEXT_WP_ID = ps01.ID
-- LEFT JOIN DS_PROCESS ps ON wp.ORDERS = ps.PROCESS_CODE
-- 外协厂商 oem
LEFT JOIN BS_OEM oem ON wp.OC_ID = oem.ID
-- 班组 ts
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
WHERE (
t.IS_DELETED = 0 and t.ID = #{q.id}
-- AND wp.IS_DELETED = 0
-- AND wo.IS_DELETED = 0
-- AND ps.IS_DELETED = 0
-- AND oem.IS_DELETED = 0
-- AND bl_dept.IS_DELETED = 0
)
ORDER BY t.ID DESC
</select>
<select id="listSearch"
resultType="org.springblade.desk.quality.pojo.vo.InspectionTaskListVO">
SELECT t.*,
SELECT
CASE
WHEN ts.TS_NAME is not null THEN
ts.TS_NAME
WHEN oem.OC_NAME is not null THEN
oem.OC_NAME
ELSE
''
END AS mainProcessingUnit ,
--ts.TS_NAME,oem.OC_NAME,
yo.USE_DEPT as needDeptName,wo.batch_no as batchNo,wo.batch_no as poBatchNo,
ps.NAME as currentProcessName,ps01.NAME as nextProcessName,yo.PRODUCT_IDENT as prodIdent,
yo.YP_AREA * wo.MAKE_QTY as areaTotal,yo.YP_AREA as area,wo.MAKE_QTY as poQty,
t.*,wo.WO_CODE as woCode,
wo.PART_CODE AS partCode,
wo.CARD_NO AS cardNo
FROM QA_INSPECTION_TASK t
@ -77,11 +150,13 @@
-- 生产订单 yo
LEFT JOIN MES_YIELD_ORDER yo ON wo.YO_ID = yo.ID
-- 工序
LEFT JOIN DS_PROCESS ps ON wp.ORDERS = ps.PROCESS_CODE
LEFT JOIN BS_PROCESS_SET ps ON wp.ORDERS = ps.CODE
LEFT JOIN BS_PROCESS_SET ps01 ON wp.NEXT_WP_ID = ps01.ID
-- LEFT JOIN DS_PROCESS ps ON wp.ORDERS = ps.PROCESS_CODE
-- 外协厂商 oem
LEFT JOIN BS_OEM oem ON wp.OC_ID = oem.ID
-- 班组 ts
-- LEFT JOIN BA_TEAM_SET ts ON wp.MAKE_TEAM = ts.ID
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
WHERE (
@ -140,6 +215,10 @@
<if test="q.prodIdent != null and q.prodIdent != ''">
AND yo.PRODUCT_IDENT = #{q.prodIdent}
</if>
<if test="q.cardNo != null and q.cardNo != ''">
AND wo.CARD_NO = #{cardNo}
</if>
-- ps
<if test="q.currentProcessId != null">
AND ps.ID = #{q.currentProcessId}

@ -27,6 +27,8 @@ import java.util.List;
* @since 2025-12-23
*/
public interface IInspectionTaskService extends BaseService<InspectionTask> {
InspectionTaskListVO detailById(InspectionTask inspectionTask);
/**
* 自定义分页
*

@ -73,6 +73,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
@Resource
private IDictClient dictClient;
@Resource
private IRemindMsgService service;
@Override
public InspectionTaskListVO detailById(InspectionTask inspectionTask) {
return baseMapper.detailById(inspectionTask);
}
@Override
public IPage<InspectionTaskDetailVO> selectInspectionTaskPage(IPage<InspectionTaskDetailVO> page, InspectionTaskDetailVO inspectionTask) {
return page.setRecords(baseMapper.selectInspectionTaskPage(page, inspectionTask));
@ -90,20 +98,30 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
@Override
public void setDetailVOValue(InspectionTaskDetailVO vo) {
InspectionTask task = getById(vo.getId());
InspectionTaskListVO taskListVO = InspectionTaskListWrapper.build().entityVO(task);
vo.setOrderInfo(taskListVO);
// InspectionTaskListVO taskListVO = InspectionTaskListWrapper.build().entityVO(task);
InspectionTaskListVO detailDetail = this.detailById(task);
vo.setOrderInfo(detailDetail);
// todo:
RemindMsg msg1 = new RemindMsg();
msg1.setRemindContent("提醒信息-" + System.currentTimeMillis());
List<RemindMsg> msgList = new ArrayList<>();
msgList.add(msg1);
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getPartCode, detailDetail.getPartCode())
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.orderByDesc(RemindMsg::getId);
List<RemindMsg> msgList = service.list(qw);
//
// List<RemindMsg> msgList = new ArrayList<>();
// msgList.add(msg1);
vo.setRemindMsgList(msgList);
vo.setWpItemList(wpItemService.listVOByTaskId(vo.getId()));
}
@Override
public void setListVOValue(InspectionTaskListVO vo) {
vo.setMainProcessingUnit(vo.getId() + "");
// vo.setMainProcessingUnit(vo.getId() + "");
}
@Override

Loading…
Cancel
Save