package com.huaheng.pc.general.material.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.general.material.mapper.MaterialMapper; import com.huaheng.pc.general.material.domain.Material; import com.huaheng.pc.general.material.service.MaterialService; @Service public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService{ @Resource private ReceiptDetailService receiptDetailService; @Override public AjaxResult removeByIds(String ids) { int count = 0; for (Integer id : Convert.toIntArray(ids)) { Material material = this.getById(id); LambdaQueryWrapper<ReceiptDetail> lambda = Wrappers.lambdaQuery(); lambda.eq(ReceiptDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) .eq(ReceiptDetail::getMaterialCode, material.getCode()) .eq(ReceiptDetail::getDeleted, false) .last("LIMIT 1"); Map<String, Object> map = receiptDetailService.getMap(lambda); if (map != null) { return AjaxResult.error("存货编码(" + material.getCode() +")存在入库单,不能删除!"); } material.setDeleted(true); material.setLastUpdatedBy(ShiroUtils.getLoginName()); if (this.updateById(material)){ count++; } } return AjaxResult.success("成功删除"+count+"条记录"); } }