From 4d77d80cf717da52bd7b75e4128527b7491900ae Mon Sep 17 00:00:00 2001 From: pangyang <475446853@qq.com> Date: Thu, 9 Apr 2026 16:17:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=B4=A8=E9=87=8F=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92=E9=95=80=E7=A7=8D?= =?UTF-8?q?=E5=92=8C=E6=9D=90=E6=96=99=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/quality/pojo/entity/RemindMsg.java | 11 + .../quality/pojo/vo/InspectionTaskListVO.java | 13 ++ .../controller/InspectionTaskController.java | 196 +++++++++++++++++- .../impl/InspectionTaskServiceImpl.java | 142 +++++++------ .../main/resources/Excel/QA/消息提醒.xls | Bin 7680 -> 7680 bytes 5 files changed, 285 insertions(+), 77 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java index b4598142..428e8f8f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java @@ -3,6 +3,7 @@ */ package org.springblade.desk.quality.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; @@ -231,4 +232,14 @@ public class RemindMsg extends BaseEntity { //材料 private String material; + //0:在范围内 1:不在范围内 + @TableField(exist = false) + private String checkParam1; + @TableField(exist = false) + private String checkParam2; + @TableField(exist = false) + private String checkParam3; + @TableField(exist = false) + private String checkMaterial; + } 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 3501aaea..24d7d885 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 @@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import org.springblade.desk.quality.pojo.entity.InspectionTask; import java.io.Serial; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @@ -129,8 +130,20 @@ public class InspectionTaskListVO extends InspectionTask { private Long processId; + //镀种代码 private String plateCode; + //配置码 private String configCode; + //参数1 + private BigDecimal param1; + //参数2 + private BigDecimal param2; + //参数3 + private BigDecimal param3; + + //程式编码 + private String formula; + } 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 3cb3d37f..ce534524 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 @@ -5,8 +5,10 @@ package org.springblade.desk.quality.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +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; @@ -18,6 +20,7 @@ import jakarta.validation.Valid; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; @@ -28,7 +31,9 @@ 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.pojo.entity.Plating; import org.springblade.desk.basic.pojo.vo.UrlVO; +import org.springblade.desk.basic.service.IPlatingService; import org.springblade.desk.basic.util.RoleUtil; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; @@ -54,6 +59,7 @@ import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.InspectionTaskExcel; import org.springblade.desk.quality.pojo.dto.SlotDTO; import org.springblade.desk.quality.pojo.entity.InspectionTask; +import org.springblade.desk.quality.pojo.entity.RemindMsg; import org.springblade.desk.quality.pojo.entity.ReviewSheet; import org.springblade.desk.quality.pojo.entity.WorkPlanItem; import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; @@ -62,14 +68,12 @@ import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskSubPartVO; import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO; -import org.springblade.desk.quality.service.IInspectionTaskService; -import org.springblade.desk.quality.service.IReviewSheetSubService; -import org.springblade.desk.quality.service.IWorkPlanItemService; -import org.springblade.desk.quality.service.InspectionTaskService2; +import org.springblade.desk.quality.service.*; import org.springblade.desk.quality.wrapper.InspectionTaskDetailWrapper; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -91,7 +95,8 @@ import java.util.stream.Collectors; @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionTask") @Tag(name = "[QA][检验任务]", description = "[检验任务]接口") public class InspectionTaskController extends BladeController { - + @Resource + private IRemindMsgService remindMsgService; @Resource private IInspectionTaskService service; @Resource @@ -114,6 +119,8 @@ public class InspectionTaskController extends BladeController { private WorkPlanMapper workPlanMapper; @Resource private IWorkPlanItemService workPlanItemService; + @Resource + private IPlatingService platingService; /** * [检验任务] 详情 */ @@ -138,6 +145,185 @@ public class InspectionTaskController extends BladeController { service.setDetailVOValue(detailDetailVO); return R.data(detailDetailVO); } + @PostMapping("/getPlateMsg") + public R getPlateMsg(InspectionTaskListVO detailDetail){ + String prodIdent = detailDetail.getProdIdent(); + List msgplateList = new ArrayList<>(); + List msgplateAllList = new ArrayList<>(); + //镀层提醒 + if(null != detailDetail.getPlateCode()){ + LambdaQueryWrapper qw = Wrappers.lambdaQuery(RemindMsg.class) + .eq(RemindMsg::getPlateing, detailDetail.getPlateCode()) +// .eq(RemindMsg::getQualityLevel, prodIdent) + .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(RemindMsg::getRemindMsgType, 1L) + .orderByDesc(RemindMsg::getId); + msgplateList = remindMsgService.list(qw); + int count = 0; + if(null != msgplateList && msgplateList.size() > 0){ + for(RemindMsg msg : msgplateList){ + if(null != msg.getQualityLevel() + && !"".equals(msg.getQualityLevel())){ + if(msg.getQualityLevel().equals(prodIdent)){ + ++count; + msgplateAllList.add(msg); + } + } + } + if(count == 0){ + msgplateAllList = msgplateList; + } + } + }else{//如果零件里镀种代号为空 + LambdaQueryWrapper qw = Wrappers.lambdaQuery(Plating.class) + .eq(Plating::getPlating, detailDetail.getPlatingInfo()) + .eq(Plating::getConfigNo, detailDetail.getConfigCode()) +// .eq(RemindMsg::getQualityLevel, prodIdent) + .eq(Plating::getIsDeleted, CommonConstant.DELETE_FALSE) + .orderByDesc(Plating::getId); + List platingList = platingService.list(qw); + if(null != platingList && platingList.size() > 0){ + Plating plating = platingList.get(0); + LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) + .eq(RemindMsg::getPlateing, plating.getPlateCode()) +// .eq(RemindMsg::getQualityLevel, prodIdent) + .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(RemindMsg::getRemindMsgType, 1L) + .orderByDesc(RemindMsg::getId); + msgplateList = remindMsgService.list(qw01); + int count = 0; + if(null != msgplateList && msgplateList.size() > 0){ + for(RemindMsg msg : msgplateList){ + if(null != msg.getQualityLevel() + && !"".equals(msg.getQualityLevel())){ + if(msg.getQualityLevel().equals(prodIdent)){ + ++count; + msgplateAllList.add(msg); + } + } + } + if(count == 0){ + msgplateAllList = msgplateList; + } + } + } + } + RemindMsg msg = new RemindMsg(); + if(null != msgplateAllList && msgplateAllList.size() > 0){ + msg = msgplateAllList.get(0); + if(null != detailDetail.getParam1()){ + BigDecimal param1Up = msg.getParam1Up(); + BigDecimal param1Down = msg.getParam1Down(); + if(null != param1Up && null != param1Down){ + if(detailDetail.getParam1().compareTo(param1Down) >=0 && detailDetail.getParam1().compareTo(param1Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null != param1Up && null == param1Down){ + if(detailDetail.getParam1().compareTo(param1Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null == param1Up && null != param1Down){ + if(detailDetail.getParam1().compareTo(param1Down) >=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + + } + + if(null != detailDetail.getParam2()){ + + BigDecimal param2Up = msg.getParam2Up(); + BigDecimal param2Down = msg.getParam2Down(); + if(null != param2Up && null != param2Down){ + if(detailDetail.getParam2().compareTo(param2Down) >=0 && detailDetail.getParam2().compareTo(param2Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null != param2Up && null == param2Down){ + if(detailDetail.getParam2().compareTo(param2Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null == param2Up && null != param2Down){ + if(detailDetail.getParam2().compareTo(param2Down) >=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + + } + + if(null != detailDetail.getParam3()){ + + BigDecimal param3Up = msg.getParam3Up(); + BigDecimal param3Down = msg.getParam3Down(); + if(null != param3Up && null != param3Down){ + if(detailDetail.getParam3().compareTo(param3Down) >=0 && detailDetail.getParam3().compareTo(param3Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null != param3Up && null == param3Down){ + if(detailDetail.getParam3().compareTo(param3Up) <=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + if(null == param3Up && null != param3Down){ + if(detailDetail.getParam3().compareTo(param3Down) >=0){ + msg.setCheckParam1("0"); + }else{ + msg.setCheckParam1("1"); + } + } + } + } + return R.data(msg); + } + + @PostMapping("/getMaterialMsg") + public R getMaterialMsg(InspectionTaskListVO detailDetail){ + LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) + .eq(RemindMsg::getFormula, detailDetail.getFormula()) + .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(RemindMsg::getRemindMsgType, 3L) + .orderByDesc(RemindMsg::getId); + List msgMaterialList = remindMsgService.list(qw01); + RemindMsg msg = new RemindMsg(); + if(null != msgMaterialList && msgMaterialList.size() > 0){ + msg = msgMaterialList.get(0); + String material = msg.getMaterial(); + if(null != detailDetail.getMaterial()){ + for(String mat : material.split("、")){ + if(detailDetail.getMaterial().contains( mat)){ + msg.setCheckMaterial("0"); + break; + }else{ + msg.setCheckMaterial("1"); + } + } + } + } + return R.data(msg); + } + + + @GetMapping("/getItems") @ApiOperationSupport(order = 1) 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 9b5f1b74..fbbf44a4 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 @@ -285,80 +285,78 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl msgplateList = new ArrayList<>(); - List msgplateAllList = new ArrayList<>(); - //镀层提醒 - if(null != detailDetail.getPlateCode()){ - LambdaQueryWrapper qw = Wrappers.lambdaQuery(RemindMsg.class) - .eq(RemindMsg::getPlateing, detailDetail.getPlateCode()) -// .eq(RemindMsg::getQualityLevel, prodIdent) - .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) - .eq(RemindMsg::getRemindMsgType, 1L) - .orderByDesc(RemindMsg::getId); - msgplateList = service.list(qw); - int count = 0; - if(null != msgplateList && msgplateList.size() > 0){ - for(RemindMsg msg : msgplateList){ - if(null != msg.getQualityLevel() - && !"".equals(msg.getQualityLevel())){ - if(msg.getQualityLevel().equals(prodIdent)){ - ++count; - msgplateAllList.add(msg); - } - } - } - if(count == 0){ - msgplateAllList = msgplateList; - } - } - }else{//如果零件里镀种代号为空 - LambdaQueryWrapper qw = Wrappers.lambdaQuery(Plating.class) - .eq(Plating::getPlating, detailDetail.getPlatingInfo()) - .eq(Plating::getConfigNo, detailDetail.getConfigCode()) -// .eq(RemindMsg::getQualityLevel, prodIdent) - .eq(Plating::getIsDeleted, CommonConstant.DELETE_FALSE) - .orderByDesc(Plating::getId); - List platingList = platingService.list(qw); - if(null != platingList && platingList.size() > 0){ - Plating plating = platingList.get(0); - LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) - .eq(RemindMsg::getPlateing, plating.getPlateCode()) -// .eq(RemindMsg::getQualityLevel, prodIdent) - .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) - .eq(RemindMsg::getRemindMsgType, 1L) - .orderByDesc(RemindMsg::getId); - msgplateList = service.list(qw01); - int count = 0; - if(null != msgplateList && msgplateList.size() > 0){ - for(RemindMsg msg : msgplateList){ - if(null != msg.getQualityLevel() - && !"".equals(msg.getQualityLevel())){ - if(msg.getQualityLevel().equals(prodIdent)){ - ++count; - msgplateAllList.add(msg); - } - } - } - if(count == 0){ - msgplateAllList = msgplateList; - } - } - } - } - - vo.setMsgplateList(msgplateAllList); - //材料提醒 - LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) -// .eq(RemindMsg::getQualityLevel, prodIdent) - .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) - .eq(RemindMsg::getRemindMsgType, 3L) - .orderByDesc(RemindMsg::getId); - List msgMaterialList = service.list(qw01); - vo.setMsgMaterialList(msgMaterialList); +// List msgplateList = new ArrayList<>(); +// List msgplateAllList = new ArrayList<>(); +// //镀层提醒 +// if(null != detailDetail.getPlateCode()){ +// LambdaQueryWrapper qw = Wrappers.lambdaQuery(RemindMsg.class) +// .eq(RemindMsg::getPlateing, detailDetail.getPlateCode()) +//// .eq(RemindMsg::getQualityLevel, prodIdent) +// .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) +// .eq(RemindMsg::getRemindMsgType, 1L) +// .orderByDesc(RemindMsg::getId); +// msgplateList = service.list(qw); +// int count = 0; +// if(null != msgplateList && msgplateList.size() > 0){ +// for(RemindMsg msg : msgplateList){ +// if(null != msg.getQualityLevel() +// && !"".equals(msg.getQualityLevel())){ +// if(msg.getQualityLevel().equals(prodIdent)){ +// ++count; +// msgplateAllList.add(msg); +// } +// } +// } +// if(count == 0){ +// msgplateAllList = msgplateList; +// } +// } +// }else{//如果零件里镀种代号为空 +// LambdaQueryWrapper qw = Wrappers.lambdaQuery(Plating.class) +// .eq(Plating::getPlating, detailDetail.getPlatingInfo()) +// .eq(Plating::getConfigNo, detailDetail.getConfigCode()) +//// .eq(RemindMsg::getQualityLevel, prodIdent) +// .eq(Plating::getIsDeleted, CommonConstant.DELETE_FALSE) +// .orderByDesc(Plating::getId); +// List platingList = platingService.list(qw); +// if(null != platingList && platingList.size() > 0){ +// Plating plating = platingList.get(0); +// LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) +// .eq(RemindMsg::getPlateing, plating.getPlateCode()) +//// .eq(RemindMsg::getQualityLevel, prodIdent) +// .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) +// .eq(RemindMsg::getRemindMsgType, 1L) +// .orderByDesc(RemindMsg::getId); +// msgplateList = service.list(qw01); +// int count = 0; +// if(null != msgplateList && msgplateList.size() > 0){ +// for(RemindMsg msg : msgplateList){ +// if(null != msg.getQualityLevel() +// && !"".equals(msg.getQualityLevel())){ +// if(msg.getQualityLevel().equals(prodIdent)){ +// ++count; +// msgplateAllList.add(msg); +// } +// } +// } +// if(count == 0){ +// msgplateAllList = msgplateList; +// } +// } +// } +// } +// +// vo.setMsgplateList(msgplateAllList); +// //材料提醒 +// LambdaQueryWrapper qw01 = Wrappers.lambdaQuery(RemindMsg.class) +//// .eq(RemindMsg::getQualityLevel, prodIdent) +// .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) +// .eq(RemindMsg::getRemindMsgType, 3L) +// .orderByDesc(RemindMsg::getId); +// List msgMaterialList = service.list(qw01); +// vo.setMsgMaterialList(msgMaterialList); vo.setWpItemList(wpItemService.listVOByTaskId(vo.getId())); } diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/消息提醒.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/消息提醒.xls index 4c0c6a8dd7f5f0cb6dfdd17e325e18070b5283c3..a0a81aa0a460d99f93f5090632433ab8648c8d1b 100644 GIT binary patch delta 355 zcmZp$X|UOl!@?_&nPK(z_#H-O1_lO)$(1bijLMULvQ#sgPA+AwXSAC9mG!pozyJUL zn*rs`f!G3wErA#$W(}lmfY=s@?SR-Gh#i0!B|{5AS|$sw$+{vZCieeFfapQnh1i=0u=X=fbbcZ z_&^phFoH>taU4tn5cXsap+MH_3~UThlXHZWc$lE7{{LrUnrtAdw0V!vW~R*zqRW_A s#DD>|Sxe#?<0Kh}Nm3{;Y)?h9GDB&S5vNinX zM{F4P#Uh))FR{KJrMs4G+anZ5$ru^`ubC8MWRgsgIGH9+|18A>nIrRLfh>|G(mG4k zE6OYPZ6*e+hEkP6RfWnRu{301n^q2npbS2!;i(o7WEF3;tegkQX~Ll1XUM=-GZ|=} zH&?cxr^pU4suzS^H@3Wwcx()&FLVtA;7|Y+T(pwjPR^;m#4na}c_nQGosJ z&V!1ex6k-)q`W`irc4Bl0KCvhS&Vris?+bVZN`xKBi4z>67Z56R@{Fj@N4>L>m%^Y eD&d?oLw%nNpTf)5L)c_^ABy8fK(*A~JN64JbXxoX