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 4c0c6a8d..a0a81aa0 100644 Binary files a/blade-service/blade-desk/src/main/resources/Excel/QA/消息提醒.xls and b/blade-service/blade-desk/src/main/resources/Excel/QA/消息提醒.xls differ