package org.jeecg.modules.eam.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import org.jeecg.common.util.DateUtils;
|
import org.jeecg.modules.eam.entity.*;
|
import org.jeecg.modules.eam.mapper.SpecialtyInspectionOrderMapper;
|
import org.jeecg.modules.eam.service.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Description: mom_eam_specialty_inspection_order
|
* @Author: jeecg-boot
|
* @Date: 2023-04-24
|
* @Version: V1.0
|
*/
|
@Service
|
public class SpecialtyInspectionOrderServiceImpl extends ServiceImpl<SpecialtyInspectionOrderMapper, SpecialtyInspectionOrder> implements ISpecialtyInspectionOrderService {
|
|
@Autowired
|
private ISpecialtyInspectionPlanService specialtyInspectionPlanService;
|
|
@Autowired
|
private ISpecialtyInspectionPlanDetailService specialtyInspectionPlanDetailService;
|
|
@Autowired
|
private IInspectionCycleService inspectionCycleService;
|
|
@Autowired
|
private ISpecialtyInspectionStandardDetailService specialtyInspectionStandardDetailService;
|
|
@Autowired
|
private IInspectionProjectService inspectionProjectService;
|
|
@Autowired
|
private ISpecialtyInspectionOrderDetailService specialtyInspectionOrderDetailService;
|
|
|
/**
|
*获取专业点检工单
|
*/
|
@Override
|
public IPage<Map<String, Object>> getSpecialtyInspectionOrderList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
|
IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
|
return super.getBaseMapper().getSpecialtyInspectionOrderList(pageData,params);
|
}
|
|
/**
|
*编辑 专业点检工单
|
*/
|
@Override
|
@Transactional(rollbackFor = { Exception.class })
|
public boolean edit(SpecialtyInspectionOrder specialtyInspectionOrder) {
|
String specialtyInspectionPlanId = specialtyInspectionOrder.getSpecialtyInspectionPlanId();
|
SpecialtyInspectionPlan specialtyInspectionPlan = specialtyInspectionPlanService.getById(specialtyInspectionPlanId);
|
String inspectionCycleId = specialtyInspectionPlan.getInspectionCycleId();
|
InspectionCycle inspectionCycle = inspectionCycleService.getById(inspectionCycleId);
|
String unit = inspectionCycle.getUnit();
|
BigDecimal effectiveTime = inspectionCycle.getEffectiveTime();
|
Date inspectionTime = specialtyInspectionOrder.getInspectionTime();
|
Date date = null;
|
if("min".equals(unit)){
|
date = DateUtils.getMinAfter(inspectionTime, effectiveTime.intValue());
|
}else if("hour".equals(unit)){
|
date = DateUtils.getHourAfter(inspectionTime, effectiveTime.intValue());
|
}else if("day".equals(unit)){
|
date = DateUtils.getDayAfter(inspectionTime, effectiveTime.intValue());
|
}
|
specialtyInspectionOrder.setInspectionCycleId(inspectionCycleId);
|
specialtyInspectionOrder.setInspectionDeadline(date);
|
specialtyInspectionOrder.setCreateType("1");//创建类型(1手动创建,2自动创建)
|
specialtyInspectionOrder.setStatus("1");
|
boolean b1 = super.updateById(specialtyInspectionOrder);
|
if(!b1){
|
return false;
|
}
|
|
List<SpecialtyInspectionOrderDetail> orderDetails = specialtyInspectionOrderDetailService.lambdaQuery()
|
.eq(SpecialtyInspectionOrderDetail::getSpecialtyInspectionOrderId, specialtyInspectionOrder.getId())
|
.eq(SpecialtyInspectionOrderDetail::getDelFlag, "0").list();
|
for (SpecialtyInspectionOrderDetail orderDetail : orderDetails) {
|
orderDetail.setDelFlag(1);
|
specialtyInspectionOrderDetailService.updateById(orderDetail);
|
}
|
|
List<SpecialtyInspectionPlanDetail> specialtyInspectionPlanDetails = specialtyInspectionPlanDetailService.lambdaQuery()
|
.eq(SpecialtyInspectionPlanDetail::getSpecialtyInspectionPlanId, specialtyInspectionPlanId)
|
.eq(SpecialtyInspectionPlanDetail::getDelFlag, 0).list();
|
for (SpecialtyInspectionPlanDetail specialtyInspectionPlanDetail : specialtyInspectionPlanDetails) {
|
String specialtyInspectionStandardId = specialtyInspectionPlanDetail.getSpecialtyInspectionStandardId();
|
String equipmentId = specialtyInspectionPlanDetail.getEquipmentId();
|
String specialtyInspectionPlanDetailId = specialtyInspectionPlanDetail.getId();
|
List<SpecialtyInspectionStandardDetail> specialtyInspectionStandardDetails = specialtyInspectionStandardDetailService.lambdaQuery()
|
.eq(SpecialtyInspectionStandardDetail::getSpecialtyInspectionStandardId, specialtyInspectionStandardId)
|
.eq(SpecialtyInspectionStandardDetail::getInspectionCycleId,inspectionCycleId)
|
.eq(SpecialtyInspectionStandardDetail::getDelFlag, 0).list();
|
for (SpecialtyInspectionStandardDetail inspectionStandardDetail : specialtyInspectionStandardDetails) {
|
String inspectionProjectId = inspectionStandardDetail.getInspectionProjectId();
|
InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
|
|
SpecialtyInspectionOrderDetail specialtyInspectionOrderDetail = new SpecialtyInspectionOrderDetail();
|
specialtyInspectionOrderDetail.setSpecialtyInspectionOrderId(specialtyInspectionOrder.getId());
|
specialtyInspectionOrderDetail.setSpecialtyInspectionPlanDetailId(specialtyInspectionPlanDetailId);
|
specialtyInspectionOrderDetail.setEquipmentId(equipmentId);
|
specialtyInspectionOrderDetail.setSpecialtyInspectionStandardDetailId(inspectionStandardDetail.getId());
|
specialtyInspectionOrderDetail.setInspectionProjectId(inspectionProjectId);
|
specialtyInspectionOrderDetail.setLocation(inspectionStandardDetail.getLocation());
|
specialtyInspectionOrderDetail.setPhoto(inspectionStandardDetail.getPhoto());
|
specialtyInspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
|
specialtyInspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
|
specialtyInspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
|
specialtyInspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
|
specialtyInspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
|
specialtyInspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
|
boolean b = specialtyInspectionOrderDetailService.save(specialtyInspectionOrderDetail);
|
if(!b){
|
return false;
|
}
|
}
|
}
|
return true;
|
}
|
|
|
/**
|
*改派 专业点检工单
|
*/
|
@Override
|
public boolean assign(SpecialtyInspectionOrder specialtyInspectionOrder) {
|
specialtyInspectionOrder.setStatus("3");
|
boolean b1 = super.updateById(specialtyInspectionOrder);
|
if(!b1){
|
return false;
|
}
|
return true;
|
}
|
|
@Override
|
@Transactional(rollbackFor = { Exception.class })
|
public boolean add(SpecialtyInspectionOrder specialtyInspectionOrder) {
|
String specialtyInspectionPlanId = specialtyInspectionOrder.getSpecialtyInspectionPlanId();
|
SpecialtyInspectionPlan specialtyInspectionPlan = specialtyInspectionPlanService.getById(specialtyInspectionPlanId);
|
String inspectionCycleId = specialtyInspectionPlan.getInspectionCycleId();
|
InspectionCycle inspectionCycle = inspectionCycleService.getById(inspectionCycleId);
|
String unit = inspectionCycle.getUnit();
|
BigDecimal effectiveTime = inspectionCycle.getEffectiveTime();
|
Date inspectionTime = specialtyInspectionOrder.getInspectionTime();
|
Date date = null;
|
if("min".equals(unit)){
|
date = DateUtils.getMinAfter(inspectionTime, effectiveTime.intValue());
|
}else if("hour".equals(unit)){
|
date = DateUtils.getHourAfter(inspectionTime, effectiveTime.intValue());
|
}else if("day".equals(unit)){
|
date = DateUtils.getDayAfter(inspectionTime, effectiveTime.intValue());
|
}
|
specialtyInspectionOrder.setInspectionCycleId(inspectionCycleId);
|
specialtyInspectionOrder.setInspectionDeadline(date);
|
specialtyInspectionOrder.setCreateType("1");//创建类型(1手动创建,2自动创建)
|
specialtyInspectionOrder.setStatus("1");
|
boolean b1 = super.save(specialtyInspectionOrder);
|
if(!b1){
|
return false;
|
}
|
|
List<SpecialtyInspectionPlanDetail> specialtyInspectionPlanDetails = specialtyInspectionPlanDetailService.lambdaQuery()
|
.eq(SpecialtyInspectionPlanDetail::getSpecialtyInspectionPlanId, specialtyInspectionPlanId)
|
.eq(SpecialtyInspectionPlanDetail::getDelFlag, 0).list();
|
for (SpecialtyInspectionPlanDetail specialtyInspectionPlanDetail : specialtyInspectionPlanDetails) {
|
String specialtyInspectionStandardId = specialtyInspectionPlanDetail.getSpecialtyInspectionStandardId();
|
String equipmentId = specialtyInspectionPlanDetail.getEquipmentId();
|
String specialtyInspectionPlanDetailId = specialtyInspectionPlanDetail.getId();
|
List<SpecialtyInspectionStandardDetail> specialtyInspectionStandardDetails = specialtyInspectionStandardDetailService.lambdaQuery()
|
.eq(SpecialtyInspectionStandardDetail::getSpecialtyInspectionStandardId, specialtyInspectionStandardId)
|
.eq(SpecialtyInspectionStandardDetail::getDelFlag, 0)
|
.eq(SpecialtyInspectionStandardDetail::getInspectionCycleId,inspectionCycleId)
|
.list();
|
for (SpecialtyInspectionStandardDetail inspectionStandardDetail : specialtyInspectionStandardDetails) {
|
String inspectionProjectId = inspectionStandardDetail.getInspectionProjectId();
|
InspectionProject inspectionProject = inspectionProjectService.getById(inspectionProjectId);
|
|
SpecialtyInspectionOrderDetail specialtyInspectionOrderDetail = new SpecialtyInspectionOrderDetail();
|
specialtyInspectionOrderDetail.setSpecialtyInspectionOrderId(specialtyInspectionOrder.getId());
|
specialtyInspectionOrderDetail.setSpecialtyInspectionPlanDetailId(specialtyInspectionPlanDetailId);
|
specialtyInspectionOrderDetail.setEquipmentId(equipmentId);
|
specialtyInspectionOrderDetail.setSpecialtyInspectionStandardDetailId(inspectionStandardDetail.getId());
|
specialtyInspectionOrderDetail.setInspectionProjectId(inspectionProjectId);
|
specialtyInspectionOrderDetail.setLocation(inspectionStandardDetail.getLocation());
|
specialtyInspectionOrderDetail.setPhoto(inspectionStandardDetail.getPhoto());
|
specialtyInspectionOrderDetail.setInspectionMethod(inspectionProject.getInspectionMethod());
|
specialtyInspectionOrderDetail.setInspectionTool(inspectionProject.getInspectionTool());
|
specialtyInspectionOrderDetail.setAnalysisMethod(inspectionProject.getAnalysisMethod());
|
specialtyInspectionOrderDetail.setTestValueType(inspectionProject.getTestValueType());
|
specialtyInspectionOrderDetail.setDetectionStandard(inspectionProject.getDetectionStandard());
|
specialtyInspectionOrderDetail.setAcceptabilityLimit(inspectionProject.getAcceptabilityLimit());
|
boolean b = specialtyInspectionOrderDetailService.save(specialtyInspectionOrderDetail);
|
if(!b){
|
return false;
|
}
|
}
|
}
|
return true;
|
}
|
}
|