package org.jeecg.modules.eam.service.impl; import org.jeecg.modules.eam.entity.EquipmentChange; import org.jeecg.modules.eam.entity.EquipmentDisposal; import org.jeecg.modules.eam.entity.EquipmentDisposalDetail; import org.jeecg.modules.eam.mapper.EquipmentDisposalDetailMapper; import org.jeecg.modules.eam.mapper.EquipmentDisposalMapper; import org.jeecg.modules.eam.service.IEquipmentDisposalService; 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-04-27 * @Version: V1.0 */ @Service public class EquipmentDisposalServiceImpl extends ServiceImpl implements IEquipmentDisposalService { @Autowired private EquipmentDisposalMapper equipmentDisposalMapper; @Autowired private EquipmentDisposalDetailMapper equipmentDisposalDetailMapper; @Override @Transactional(rollbackFor = Exception.class) public void saveMain(EquipmentDisposal equipmentDisposal, List equipmentDisposalDetailList) { equipmentDisposal.setAuditStatus("notSubmitted"); // equipmentDisposal.setChangeMethod("disposal"); equipmentDisposalMapper.insert(equipmentDisposal); if (equipmentDisposalDetailList != null && equipmentDisposalDetailList.size() > 0) { for (EquipmentDisposalDetail entity : equipmentDisposalDetailList) { //外键设置 entity.setEquipmentChangeId(equipmentDisposal.getId()); equipmentDisposalDetailMapper.insert(entity); } } } @Override @Transactional(rollbackFor = Exception.class) public void updateMain(EquipmentDisposal equipmentDisposal, List equipmentDisposalDetailList) { equipmentDisposalMapper.updateById(equipmentDisposal); //1.先删除子表数据 equipmentDisposalDetailMapper.deleteByMainId(equipmentDisposal.getId()); //2.子表数据重新插入 if (equipmentDisposalDetailList != null && equipmentDisposalDetailList.size() > 0) { for (EquipmentDisposalDetail entity : equipmentDisposalDetailList) { //外键设置 entity.setEquipmentChangeId(equipmentDisposal.getId()); equipmentDisposalDetailMapper.insert(entity); } } } @Override @Transactional(rollbackFor = Exception.class) public void delMain(String id) { equipmentDisposalDetailMapper.deleteByMainId(id); equipmentDisposalMapper.deleteById(id); } @Override @Transactional(rollbackFor = Exception.class) public void delBatchMain(Collection idList) { for (Serializable id : idList) { equipmentDisposalDetailMapper.deleteByMainId(id.toString()); equipmentDisposalMapper.deleteById(id); } } @Override public void submitBatch(Collection idList) { for (Serializable id : idList) { EquipmentDisposal equipmentDisposal = super.getById(id); equipmentDisposal.setAuditStatus("pendingApproval"); super.updateById(equipmentDisposal); } } @Override public void revocationBatch(Collection idList) { for (Serializable id : idList) { EquipmentDisposal equipmentDisposal = super.getById(id); // 设置撤回后的状态为初始状态 待提交=notSubmitted // TODO 需要明确什么状态下不允许撤回 equipmentDisposal.setAuditStatus("notSubmitted"); super.updateById(equipmentDisposal); } } @Override public void submit(String id) { EquipmentDisposal equipmentDisposal = super.getById(id); equipmentDisposal.setAuditStatus("pendingApproval"); super.updateById(equipmentDisposal); } /** * 撤回 * * @param id */ @Override public void revocation(String id) { EquipmentDisposal equipmentDisposal = super.getById(id); // 设置撤回后的状态为初始状态 待提交=notSubmitted // TODO 需要明确什么状态下不允许撤回 equipmentDisposal.setAuditStatus("notSubmitted"); super.updateById(equipmentDisposal); } }