package com.yuanchu.limslaboratory.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.yuanchu.limslaboratory.mapper.*; import com.yuanchu.limslaboratory.pojo.*; import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto; import com.yuanchu.limslaboratory.pojo.vo.FinPlanVo; import com.yuanchu.limslaboratory.pojo.vo.PlanVo; import com.yuanchu.limslaboratory.service.InspectionProductListService; import com.yuanchu.limslaboratory.service.PlanService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; 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 PlanServiceImpl extends ServiceImpl implements PlanService { @Resource PlanMapper planMapper; @Resource InspectionProductListMapper inspectionProductListMapper; @Resource InspectionMaterialListMapper inspectionMaterialListMapper; @Resource InspectionProductListService inspectionProductListService; //查询所有检验计划分配 @Override public List selectAllPlan(int pageSize, int countSize, Integer state) { if (state == null) { state = 2; } return planMapper.selectAllPlan((pageSize - 1) * countSize, pageSize * countSize, state); } //作废检验计划 @Override public void delPlan(Integer id) { Plan plan = planMapper.selectById(id); /*检验计划作废*/ //状态改为作废0 plan.setState(0); planMapper.updateById(plan); /*检验样品作废(根据报检单id删除样品信息)*/ UpdateWrapper wrapper1 = new UpdateWrapper<>(); wrapper1.eq("inspection_id", plan.getInspectionId()).set("state", 0); inspectionMaterialListMapper.update(new InspectionMaterialList(), wrapper1); /*检验样品中的检验项目作废*/ //查出检验样品id LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(InspectionMaterialList::getInspectionId, plan.getInspectionId()); 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 upPlan(Integer id, InspectionProductListDto inspectionProductListDto) { /*更新计划表中的状态(3:已分配),更新时间*/ //查询报检单id InspectionMaterialList inspectionMaterialList = inspectionMaterialListMapper.selectById(id); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Plan::getInspectionId, inspectionMaterialList.getInspectionId()); Plan plan = planMapper.selectOne(queryWrapper); plan.setState(3).setUpdateTime(new Date()); //根据报检单id进行更新计划表 LambdaUpdateWrapper updateWrapper1 = new LambdaUpdateWrapper<>(); updateWrapper1.eq(Plan::getInspectionId, plan.getInspectionId()); planMapper.update(plan, updateWrapper1); /*更新检验项目表中的项目检验开始日期,项目检验结束日期,项目试验员,试验要求,更新时间,设备id*/ InspectionProductList inspectionProductList = new InspectionProductList(); BeanUtils.copyProperties(inspectionProductListDto, inspectionProductList); inspectionProductList.setInspectionMaterialListId(id); //根据报检样品id和项目名称进行更新检验项目表 LambdaUpdateWrapper updateWrapper2 = new LambdaUpdateWrapper<>(); updateWrapper2.eq(InspectionProductList::getInspectionMaterialListId, inspectionProductList.getInspectionMaterialListId()) .eq(InspectionProductList::getName, inspectionProductList.getName()); inspectionProductListMapper.update(inspectionProductList, updateWrapper2); } //查询成品检验 @Override public List selectInspection(int pageSize, int countSize, Integer state) { return planMapper.selectInspection((pageSize - 1) * countSize, pageSize * countSize, state); } }