package org.jeecg.modules.eam.service.impl; import org.jeecg.modules.eam.entity.EquipmentSeal; import org.jeecg.modules.eam.entity.EquipmentSealDetail; import org.jeecg.modules.eam.mapper.EquipmentSealDetailMapper; import org.jeecg.modules.eam.mapper.EquipmentSealMapper; import org.jeecg.modules.eam.service.IEquipmentSealService; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.List; import java.util.Collection; /** * @Description: 设备封存 * @Author: jeecg-boot * @Date: 2023-05-06 * @Version: V1.0 */ @Service("equipmentSealService") public class EquipmentSealServiceImpl extends ServiceImpl implements IEquipmentSealService { @Autowired private EquipmentSealMapper equipmentSealMapper; @Autowired private EquipmentSealDetailMapper equipmentSealDetailMapper; @Autowired @Lazy private IEamEquipmentService equipmentService; @Override @Transactional(rollbackFor = Exception.class) public void delMain(String id) { equipmentSealDetailMapper.deleteByMainId(id); equipmentSealMapper.deleteById(id); } @Override @Transactional(rollbackFor = Exception.class) public void delBatchMain(Collection idList) { for (Serializable id : idList) { equipmentSealDetailMapper.deleteByMainId(id.toString()); equipmentSealMapper.deleteById(id); } } @Transactional(rollbackFor = Exception.class) public void saveMain(EquipmentSeal equipmentSeal, List equipmentSealDetailList) { equipmentSeal.setAuditStatus("notSubmitted"); equipmentSealMapper.insert(equipmentSeal); if (equipmentSealDetailList != null && equipmentSealDetailList.size() > 0) { for (EquipmentSealDetail entity : equipmentSealDetailList) { //外键设置 entity.setEquipmentChangeId(equipmentSeal.getId()); //设备状态置为封存 /*Equipment equipment = equipmentService.getById(entity.getEquipmentId()); equipment.setEquipmentStatus("2"); equipmentService.updateById(equipment); entity.setEquipmentStatus("2");*/ equipmentSealDetailMapper.insert(entity); } } } @Override @Transactional(rollbackFor = Exception.class) public void updateMain(EquipmentSeal equipmentSeal, List equipmentSealDetailList) { equipmentSealMapper.updateById(equipmentSeal); //1.先删除子表数据 equipmentSealDetailMapper.deleteByMainId(equipmentSeal.getId()); //2.子表数据重新插入 if (equipmentSealDetailList != null && equipmentSealDetailList.size() > 0) { for (EquipmentSealDetail entity : equipmentSealDetailList) { //外键设置 entity.setEquipmentChangeId(equipmentSeal.getId()); equipmentSealDetailMapper.insert(entity); } } } @Override public void submitBatch(List idList) { for (Serializable id : idList) { EquipmentSeal equipmentSeal = super.getById(id); equipmentSeal.setAuditStatus("pendingApproval"); super.updateById(equipmentSeal); } } @Override public void submit(String id) { EquipmentSeal equipmentSeal = super.getById(id); equipmentSeal.setAuditStatus("pendingApproval"); super.updateById(equipmentSeal); } @Override public void revocationBatch(List idList) { for (Serializable id : idList) { EquipmentSeal equipmentSeal = super.getById(id); equipmentSeal.setAuditStatus("notSubmitted"); super.updateById(equipmentSeal); } } @Override public void revocation(String id) { EquipmentSeal equipmentseal = super.getById(id); // 设置撤回后的状态为初始状态 待提交=notSubmitted equipmentseal.setAuditStatus("notSubmitted"); super.updateById(equipmentseal); } }