|
|
|
|
@ -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) |
|
|
|
|
|