package com.yuanchu.limslaboratory.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper; import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper; 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.InspectionProductList; import com.yuanchu.limslaboratory.pojo.Plan; import com.yuanchu.limslaboratory.pojo.dto.InspectionDto; import com.yuanchu.limslaboratory.service.InspectionProductListService; 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.Date; 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; @Resource InspectionProductListService inspectionProductListService; //添加检验申请单 @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 void delInspectionByInsId(String inspectionId) { /*检验单作废*/ Inspection inspection = inspectionMapper.selectById(inspectionId); inspection.setState(0); inspectionMapper.updateById(inspection); /*检验计划作废*/ UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("inspection_id", inspectionId).set("state", 0); planMapper.update(new Plan(), updateWrapper); /*检验样品作废(根据报检单id删除样品信息)*/ UpdateWrapper wrapper1 = new UpdateWrapper<>(); wrapper1.eq("inspection_id", inspectionId).set("state", 0); inspectionMaterialListMapper.update(new InspectionMaterialList(), wrapper1); /*检验样品中的检验项目作废*/ //查出检验样品id LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(InspectionMaterialList::getInspectionId,inspectionId); List inspectionMaterialLists = inspectionMaterialListMapper.selectList(queryWrapper); for (InspectionMaterialList inspectionMaterialList : inspectionMaterialLists) { UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.eq("inspection_material_list_id", inspectionMaterialList.getId()).set("state", 0); inspectionProductListService.update(new InspectionProductList(), wrapper); } } //提交申请检验单 @Override public void subInspectionByInsId(String inspectionId) { Inspection inspection = inspectionMapper.selectById(inspectionId); //状态改为已提交2 inspection.setState(2); inspectionMapper.updateById(inspection); //计划表新增 Plan plan = Plan.builder().inspectionId(inspectionId).state(1).userId(inspection.getInspectUserId()).createTime(new Date()).build(); planMapper.insert(plan); } }