package org.jeecg.modules.eam.service.impl; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.entity.Equipment; import org.jeecg.modules.eam.entity.EquipmentUpdateInfo; import org.jeecg.modules.eam.mapper.EamEquipmentMapper; import org.jeecg.modules.eam.mapper.EquipmentUpdateInfoMapper; import org.jeecg.modules.eam.service.IEquipmentUpdateInfoService; import org.jeecg.modules.eam.vo.EquipmentUpdateVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @Description: 设备信息变更记录 * @Author: jeecg-boot * @Date: 2023-09-07 * @Version: V1.0 */ @Service public class EquipmentUpdateInfoServiceImpl extends ServiceImpl implements IEquipmentUpdateInfoService { @Autowired private EamEquipmentMapper equipmentMapper; private final String UPDATE_TYPE_ABC = "ABC"; private final String UPDATE_TYPE_WARRANTY = "warranty"; @Override @Transactional(rollbackFor = {Exception.class}) public void updateABC(EquipmentUpdateVo equipmentUpdateVo) { List list = equipmentUpdateVo.getUpdateABCEditTableList(); LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); List equipmentUpdateInfos = new ArrayList<>(); for(Equipment equipment:list) { EquipmentUpdateInfo equipmentUpdateInfo = new EquipmentUpdateInfo(); equipmentUpdateInfo.setEquipmentId(equipment.getId()) .setOldAbcTag(equipment.getEquipmentImportanceId()) .setNewAbcTag(equipment.getNewABCTag()) .setUpdateDate(new Date()) .setUpdateType(UPDATE_TYPE_ABC) .setRemark(equipment.getRemark()) .setUpdatePerson(user.getId()); equipmentUpdateInfos.add(equipmentUpdateInfo); baseMapper.insert(equipmentUpdateInfo); equipment.setEquipmentImportanceId(equipment.getNewABCTag()); equipmentMapper.updateById(equipment); } } @Override @Transactional(rollbackFor = {Exception.class}) public void updateWarranty(EquipmentUpdateVo equipmentUpdateVo) { List list = equipmentUpdateVo.getWarrantyUpdateTableList(); LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); for(Equipment equipment:list){ EquipmentUpdateInfo equipmentUpdateInfo = new EquipmentUpdateInfo(); equipmentUpdateInfo.setEquipmentId(equipment.getId()) .setOldStart(equipment.getWarrantyStart()) .setNewStart(equipment.getNewStart()) .setOldEnd(equipment.getWarrantyEnd()) .setNewEnd(equipment.getNewEnd()) .setUpdateDate(new Date()) .setUpdateType(UPDATE_TYPE_WARRANTY) .setRemark(equipment.getRemark()) .setUpdatePerson(user.getId()); baseMapper.insert(equipmentUpdateInfo); equipment.setWarrantyStart(equipment.getNewStart()) .setWarrantyEnd(equipment.getNewEnd()); equipmentMapper.updateById(equipment); } } }