package com.yuanchu.limslaboratory.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper; import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper; import com.yuanchu.limslaboratory.mapper.PlanMapper; import com.yuanchu.limslaboratory.mapper.ProductMapper; import com.yuanchu.limslaboratory.pojo.*; import com.yuanchu.limslaboratory.service.InspectionMaterialListService; import com.yuanchu.limslaboratory.service.InspectionProductListService; import com.yuanchu.limslaboratory.service.PlanService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** *

* 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-17 */ @Service public class InspectionMaterialListServiceImpl extends ServiceImpl implements InspectionMaterialListService { @Resource InspectionMaterialListMapper inspectionMaterialListMapper; @Resource ProductMapper productMapper; @Resource InspectionProductListService inspectionProductListService; @Resource InspectionProductListMapper inspectionProductListMapper; //查询检验单里面的物料信息 @Override public List selectInspectionMaterialListByInsId(String insId) { return inspectionMaterialListMapper.selectInspectionMaterialListByInsId(insId); } //添加检验单中的检验样品 @Override @Transactional(rollbackFor = Exception.class) public InspectionMaterialList addInspectionMaterialList(InspectionMaterialList inspectionMaterialList,String userId) { int judge = inspectionMaterialListMapper.insert(inspectionMaterialList); List list = productMapper.selectProductByMaterialId(inspectionMaterialList.getMaterialId()); List list1 = new ArrayList<>(); list.forEach(a-> { InspectionProductList inspectionProductList = new InspectionProductList(); inspectionProductList.setName(a.getName()) .setMethod(a.getMethod()) .setUnit(a.getUnit()) .setRequired(a.getRequired()) .setInternal(a.getInternal()) .setState(1) .setInspectionMaterialListId(inspectionMaterialList.getId()) .setUserId(Integer.parseInt(userId)); list1.add(inspectionProductList); }); //添加检验项目 int judge2 = inspectionProductListMapper.addInspectionProductList(list1); return judge>0&&judge2>0?inspectionMaterialList:null; } //根据样品id删除检验样品 @Override @Transactional(rollbackFor = Exception.class) public boolean delInspectionMaterialListByInsId(int inspectionMaterialListId) { //删除检验样品 InspectionMaterialList list = new InspectionMaterialList(); list.setState(0); list.setId(inspectionMaterialListId); int judge1 = inspectionMaterialListMapper.updateById(list); //根据样品id删除检验样品中的检验项目 int judge2 = inspectionProductListService.delInspectionProductList(inspectionMaterialListId); return judge1>0&&judge2>0; } //根据样品id修改样品信息 @Override @Transactional(rollbackFor = Exception.class) public boolean updateInspectionMaterialList( Integer inspectionMaterialListId,InspectionMaterialList inspectionMaterialList) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(InspectionMaterialList::getId,inspectionMaterialListId); int judge = inspectionMaterialListMapper.update(inspectionMaterialList, updateWrapper); return judge>0; } }