package com.yuanchu.limslaboratory.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper;
import com.yuanchu.limslaboratory.mapper.PlanMapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.yuanchu.limslaboratory.pojo.dto.InspectionDto;
import com.yuanchu.limslaboratory.service.InspectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author 江苏鵷雏网络科技有限公司
* @since 2023-07-17
*/
@Service
public class InspectionServiceImpl extends ServiceImpl implements InspectionService {
@Resource
private InspectionMapper inspectionMapper;
@Resource
private PlanMapper planMapper;
@Resource
InspectionMaterialListMapper inspectionMaterialListMapper;
//添加检验申请单
@Override
public Inspection addInspection(String userName,int type) {
Inspection inspection = new Inspection(type, 0,1,1, userName);
int judge = inspectionMapper.insert(inspection);
return judge>0?inspection:null;
}
//查询所有检验单列表
@Override
public List selectAllInspection(int pageSize, int countSize, Integer state) {
return inspectionMapper.selectAllInspection((pageSize - 1) * countSize,pageSize * countSize, state);
}
//作废申请检验单
@Override
public boolean delInspectionByInsId(String inspectionId) {
//检验单作废
Inspection inspection = inspectionMapper.selectById(inspectionId);
inspection.setState(0);
int judge1 = inspectionMapper.updateById(inspection);
//检验样品作废(根据报检单id删除样品信息)
UpdateWrapper wrapper = new UpdateWrapper<>();
wrapper.eq("inspection_id", inspectionId).set("state", 0);
int judge2 = inspectionMaterialListMapper.update(new InspectionMaterialList(),wrapper);
return judge1>0&&judge2>0;
}
//提交申请检验单
@Override
public boolean subInspectionByInsId(String inspectionId) {
Inspection inspection = inspectionMapper.selectById(inspectionId);
//状态改为已提交2
inspection.setState(2);
int judge = inspectionMapper.updateById(inspection);
//计划表新增
Plan plan = Plan.builder().inspectionId(inspectionId).state(1).build();
planMapper.insert(plan);
return judge>0;
}
}