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.*; import com.yuanchu.limslaboratory.pojo.*; import com.yuanchu.limslaboratory.pojo.dto.InspectionMaterialListDto; import com.yuanchu.limslaboratory.service.InspectionMaterialListService; import com.yuanchu.limslaboratory.service.InspectionProductListService; import com.yuanchu.limslaboratory.service.PlanService; import com.yuanchu.limslaboratory.vo.Result; import org.springframework.beans.BeanUtils; 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; //查询检验单里面的样品信息 @Override public List selectInspectionMaterialListByInsId(String insId) { return inspectionMaterialListMapper.selectInspectionMaterialListByInsId(insId); } //添加检验单中的检验样品 @Override @Transactional(rollbackFor = Exception.class) public void addInspectionMaterialList(InspectionMaterialList inspectionMaterialList, String userId) { 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); }); //添加检验项目 inspectionProductListService.saveBatch(list1); } //根据样品id删除检验样品 @Override @Transactional(rollbackFor = Exception.class) public void delInspectionMaterialListByInsId(int inspectionMaterialListId) { //删除检验样品 InspectionMaterialList list = new InspectionMaterialList(); list.setState(0); list.setId(inspectionMaterialListId); inspectionMaterialListMapper.updateById(list); //根据样品id删除检验样品中的检验项目 UpdateWrapper wrapper = new UpdateWrapper<>(); wrapper.eq("inspection_material_list_id", inspectionMaterialListId).set("state", 0); inspectionProductListService.update(new InspectionProductList(), wrapper); } //根据样品id修改样品信息 @Override @Transactional(rollbackFor = Exception.class) public void updateInspectionMaterialList(Integer inspectionMaterialListId, InspectionMaterialListDto inspectionMaterialListDto) { InspectionMaterialList inspectionMaterialList = new InspectionMaterialList(); BeanUtils.copyProperties(inspectionMaterialListDto,inspectionMaterialList); LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(InspectionMaterialList::getId, inspectionMaterialListId); inspectionMaterialListMapper.update(inspectionMaterialList, updateWrapper); } }