生产质量检验消息提醒镀种和材料接口

liweidong
pangyang 1 week ago
parent c495adfc66
commit 4d77d80cf7
  1. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RemindMsg.java
  2. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTaskListVO.java
  3. 196
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  4. 142
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  5. BIN
      blade-service/blade-desk/src/main/resources/Excel/QA/消息提醒.xls

@ -3,6 +3,7 @@
*/ */
package org.springblade.desk.quality.pojo.entity; package org.springblade.desk.quality.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -231,4 +232,14 @@ public class RemindMsg extends BaseEntity {
//材料 //材料
private String material; 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;
} }

@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.InspectionTask;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -129,8 +130,20 @@ public class InspectionTaskListVO extends InspectionTask {
private Long processId; private Long processId;
//镀种代码
private String plateCode; private String plateCode;
//配置码
private String configCode; private String configCode;
//参数1
private BigDecimal param1;
//参数2
private BigDecimal param2;
//参数3
private BigDecimal param3;
//程式编码
private String formula;
} }

@ -5,8 +5,10 @@ package org.springblade.desk.quality.controller;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -18,6 +20,7 @@ import jakarta.validation.Valid;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition; 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.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.config.RoleConfig; 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.pojo.vo.UrlVO;
import org.springblade.desk.basic.service.IPlatingService;
import org.springblade.desk.basic.util.RoleUtil; import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; 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.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.dto.SlotDTO; import org.springblade.desk.quality.pojo.dto.SlotDTO;
import org.springblade.desk.quality.pojo.entity.InspectionTask; 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.ReviewSheet;
import org.springblade.desk.quality.pojo.entity.WorkPlanItem; import org.springblade.desk.quality.pojo.entity.WorkPlanItem;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; 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.InspectionTaskListVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskSubPartVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskSubPartVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO; import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO;
import org.springblade.desk.quality.service.IInspectionTaskService; import org.springblade.desk.quality.service.*;
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.wrapper.InspectionTaskDetailWrapper; import org.springblade.desk.quality.wrapper.InspectionTaskDetailWrapper;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -91,7 +95,8 @@ import java.util.stream.Collectors;
@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionTask") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionTask")
@Tag(name = "[QA][检验任务]", description = "[检验任务]接口") @Tag(name = "[QA][检验任务]", description = "[检验任务]接口")
public class InspectionTaskController extends BladeController { public class InspectionTaskController extends BladeController {
@Resource
private IRemindMsgService remindMsgService;
@Resource @Resource
private IInspectionTaskService service; private IInspectionTaskService service;
@Resource @Resource
@ -114,6 +119,8 @@ public class InspectionTaskController extends BladeController {
private WorkPlanMapper workPlanMapper; private WorkPlanMapper workPlanMapper;
@Resource @Resource
private IWorkPlanItemService workPlanItemService; private IWorkPlanItemService workPlanItemService;
@Resource
private IPlatingService platingService;
/** /**
* [检验任务] 详情 * [检验任务] 详情
*/ */
@ -138,6 +145,185 @@ public class InspectionTaskController extends BladeController {
service.setDetailVOValue(detailDetailVO); service.setDetailVOValue(detailDetailVO);
return R.data(detailDetailVO); return R.data(detailDetailVO);
} }
@PostMapping("/getPlateMsg")
public R getPlateMsg(InspectionTaskListVO detailDetail){
String prodIdent = detailDetail.getProdIdent();
List<RemindMsg> msgplateList = new ArrayList<>();
List<RemindMsg> msgplateAllList = new ArrayList<>();
//镀层提醒
if(null != detailDetail.getPlateCode()){
LambdaQueryWrapper<RemindMsg> 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<Plating> 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<Plating> platingList = platingService.list(qw);
if(null != platingList && platingList.size() > 0){
Plating plating = platingList.get(0);
LambdaQueryWrapper<RemindMsg> 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<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getFormula, detailDetail.getFormula())
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(RemindMsg::getRemindMsgType, 3L)
.orderByDesc(RemindMsg::getId);
List<RemindMsg> 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") @GetMapping("/getItems")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)

@ -285,80 +285,78 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
colorMsges.addAll(msges); colorMsges.addAll(msges);
} }
} }
vo.setColorMsges(colorMsges); vo.setColorMsges(colorMsges);
List<RemindMsg> msgplateList = new ArrayList<>(); // List<RemindMsg> msgplateList = new ArrayList<>();
List<RemindMsg> msgplateAllList = new ArrayList<>(); // List<RemindMsg> msgplateAllList = new ArrayList<>();
//镀层提醒 // //镀层提醒
if(null != detailDetail.getPlateCode()){ // if(null != detailDetail.getPlateCode()){
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class) // LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getPlateing, detailDetail.getPlateCode()) // .eq(RemindMsg::getPlateing, detailDetail.getPlateCode())
// .eq(RemindMsg::getQualityLevel, prodIdent) //// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) // .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(RemindMsg::getRemindMsgType, 1L) // .eq(RemindMsg::getRemindMsgType, 1L)
.orderByDesc(RemindMsg::getId); // .orderByDesc(RemindMsg::getId);
msgplateList = service.list(qw); // msgplateList = service.list(qw);
int count = 0; // int count = 0;
if(null != msgplateList && msgplateList.size() > 0){ // if(null != msgplateList && msgplateList.size() > 0){
for(RemindMsg msg : msgplateList){ // for(RemindMsg msg : msgplateList){
if(null != msg.getQualityLevel() // if(null != msg.getQualityLevel()
&& !"".equals(msg.getQualityLevel())){ // && !"".equals(msg.getQualityLevel())){
if(msg.getQualityLevel().equals(prodIdent)){ // if(msg.getQualityLevel().equals(prodIdent)){
++count; // ++count;
msgplateAllList.add(msg); // msgplateAllList.add(msg);
} // }
} // }
} // }
if(count == 0){ // if(count == 0){
msgplateAllList = msgplateList; // msgplateAllList = msgplateList;
} // }
} // }
}else{//如果零件里镀种代号为空 // }else{//如果零件里镀种代号为空
LambdaQueryWrapper<Plating> qw = Wrappers.lambdaQuery(Plating.class) // LambdaQueryWrapper<Plating> qw = Wrappers.lambdaQuery(Plating.class)
.eq(Plating::getPlating, detailDetail.getPlatingInfo()) // .eq(Plating::getPlating, detailDetail.getPlatingInfo())
.eq(Plating::getConfigNo, detailDetail.getConfigCode()) // .eq(Plating::getConfigNo, detailDetail.getConfigCode())
// .eq(RemindMsg::getQualityLevel, prodIdent) //// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(Plating::getIsDeleted, CommonConstant.DELETE_FALSE) // .eq(Plating::getIsDeleted, CommonConstant.DELETE_FALSE)
.orderByDesc(Plating::getId); // .orderByDesc(Plating::getId);
List<Plating> platingList = platingService.list(qw); // List<Plating> platingList = platingService.list(qw);
if(null != platingList && platingList.size() > 0){ // if(null != platingList && platingList.size() > 0){
Plating plating = platingList.get(0); // Plating plating = platingList.get(0);
LambdaQueryWrapper<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class) // LambdaQueryWrapper<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getPlateing, plating.getPlateCode()) // .eq(RemindMsg::getPlateing, plating.getPlateCode())
// .eq(RemindMsg::getQualityLevel, prodIdent) //// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) // .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(RemindMsg::getRemindMsgType, 1L) // .eq(RemindMsg::getRemindMsgType, 1L)
.orderByDesc(RemindMsg::getId); // .orderByDesc(RemindMsg::getId);
msgplateList = service.list(qw01); // msgplateList = service.list(qw01);
int count = 0; // int count = 0;
if(null != msgplateList && msgplateList.size() > 0){ // if(null != msgplateList && msgplateList.size() > 0){
for(RemindMsg msg : msgplateList){ // for(RemindMsg msg : msgplateList){
if(null != msg.getQualityLevel() // if(null != msg.getQualityLevel()
&& !"".equals(msg.getQualityLevel())){ // && !"".equals(msg.getQualityLevel())){
if(msg.getQualityLevel().equals(prodIdent)){ // if(msg.getQualityLevel().equals(prodIdent)){
++count; // ++count;
msgplateAllList.add(msg); // msgplateAllList.add(msg);
} // }
} // }
} // }
if(count == 0){ // if(count == 0){
msgplateAllList = msgplateList; // msgplateAllList = msgplateList;
} // }
} // }
} // }
} // }
//
vo.setMsgplateList(msgplateAllList); // vo.setMsgplateList(msgplateAllList);
//材料提醒 // //材料提醒
LambdaQueryWrapper<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class) // LambdaQueryWrapper<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class)
// .eq(RemindMsg::getQualityLevel, prodIdent) //// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE) // .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(RemindMsg::getRemindMsgType, 3L) // .eq(RemindMsg::getRemindMsgType, 3L)
.orderByDesc(RemindMsg::getId); // .orderByDesc(RemindMsg::getId);
List<RemindMsg> msgMaterialList = service.list(qw01); // List<RemindMsg> msgMaterialList = service.list(qw01);
vo.setMsgMaterialList(msgMaterialList); // vo.setMsgMaterialList(msgMaterialList);
vo.setWpItemList(wpItemService.listVOByTaskId(vo.getId())); vo.setWpItemList(wpItemService.listVOByTaskId(vo.getId()));
} }

Loading…
Cancel
Save