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

liweidong
pangyang 6 days 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;
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;
}

@ -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;
}

@ -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<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")
@ApiOperationSupport(order = 1)

@ -285,80 +285,78 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
colorMsges.addAll(msges);
}
}
vo.setColorMsges(colorMsges);
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 = 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<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 = 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<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class)
// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(RemindMsg::getRemindMsgType, 3L)
.orderByDesc(RemindMsg::getId);
List<RemindMsg> msgMaterialList = service.list(qw01);
vo.setMsgMaterialList(msgMaterialList);
// 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 = 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<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 = 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<RemindMsg> qw01 = Wrappers.lambdaQuery(RemindMsg.class)
//// .eq(RemindMsg::getQualityLevel, prodIdent)
// .eq(RemindMsg::getIsDeleted, CommonConstant.DELETE_FALSE)
// .eq(RemindMsg::getRemindMsgType, 3L)
// .orderByDesc(RemindMsg::getId);
// List<RemindMsg> msgMaterialList = service.list(qw01);
// vo.setMsgMaterialList(msgMaterialList);
vo.setWpItemList(wpItemService.listVOByTaskId(vo.getId()));
}

Loading…
Cancel
Save