| | |
| | | package org.jeecg.modules.eam.service.impl; |
| | | |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.modules.eam.entity.DeductionItem; |
| | | import org.jeecg.modules.eam.entity.OperationCertificate; |
| | | import org.jeecg.modules.eam.entity.OperationCertificateDetail; |
| | | import org.jeecg.modules.eam.mapper.OperationCertificateDetailMapper; |
| | | import org.jeecg.modules.eam.mapper.OperationCertificateMapper; |
| | | import org.jeecg.modules.eam.service.IDeductionItemService; |
| | | import org.jeecg.modules.eam.service.IOperationCertificateService; |
| | | 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-10-17 |
| | | * @Date: 2023-10-17 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Service |
| | | public class OperationCertificateServiceImpl extends ServiceImpl<OperationCertificateMapper, OperationCertificate> implements IOperationCertificateService { |
| | | |
| | | @Autowired |
| | | private OperationCertificateMapper operationCertificateMapper; |
| | | @Autowired |
| | | private OperationCertificateDetailMapper operationCertificateDetailMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { |
| | | operationCertificateMapper.insert(operationCertificate); |
| | | if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { |
| | | for(OperationCertificateDetail entity:operationCertificateDetailList) { |
| | | //外键设置 |
| | | entity.setOperationCertificateId(operationCertificate.getId()); |
| | | operationCertificateDetailMapper.insert(entity); |
| | | } |
| | | } |
| | | } |
| | | @Autowired |
| | | private OperationCertificateMapper operationCertificateMapper; |
| | | @Autowired |
| | | private OperationCertificateDetailMapper operationCertificateDetailMapper; |
| | | @Autowired |
| | | private IDeductionItemService deductionItemService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateMain(OperationCertificate operationCertificate,List<OperationCertificateDetail> operationCertificateDetailList) { |
| | | operationCertificateMapper.updateById(operationCertificate); |
| | | |
| | | //1.先删除子表数据 |
| | | operationCertificateDetailMapper.deleteByMainId(operationCertificate.getId()); |
| | | |
| | | //2.子表数据重新插入 |
| | | if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { |
| | | for(OperationCertificateDetail entity:operationCertificateDetailList) { |
| | | //外键设置 |
| | | entity.setOperationCertificateId(operationCertificate.getId()); |
| | | operationCertificateDetailMapper.insert(entity); |
| | | } |
| | | } |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { |
| | | // operationCertificateMapper.insert(operationCertificate); |
| | | // if (operationCertificateDetailList != null && operationCertificateDetailList.size() > 0) { |
| | | // for (OperationCertificateDetail entity : operationCertificateDetailList) { |
| | | // //外键设置 |
| | | // entity.setOperationCertificateId(operationCertificate.getId()); |
| | | // operationCertificateDetailMapper.insert(entity); |
| | | // } |
| | | // } |
| | | operationCertificateMapper.insert(operationCertificate); |
| | | String equipmentIds = operationCertificate.getEquipmentIds(); |
| | | Integer currentCycleScore = operationCertificate.getCurrentCycleScore(); |
| | | for (OperationCertificateDetail entity : operationCertificateDetailList) { |
| | | if ("addEquipment".equals(entity.getType())) { |
| | | equipmentIds = equipmentIds + "," + entity.getEquipmentId(); |
| | | } else if ("deduction".equals(entity.getType())) { |
| | | String deductionItemId = entity.getDeductionItem(); |
| | | Integer deductionScore = deductionItemService.getById(deductionItemId).getDeductionScore(); |
| | | currentCycleScore = currentCycleScore - deductionScore; |
| | | } |
| | | //外键设置 |
| | | entity.setOperationCertificateId(operationCertificate.getId()); |
| | | operationCertificateDetailMapper.insert(entity); |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delMain(String id) { |
| | | operationCertificateDetailMapper.deleteByMainId(id); |
| | | operationCertificateMapper.deleteById(id); |
| | | } |
| | | } |
| | | operationCertificate.setEquipmentIds(equipmentIds); |
| | | if(currentCycleScore<=0){ |
| | | currentCycleScore=0; |
| | | // 当分数为0时,设置操作证的状态为禁用 |
| | | operationCertificate.setStatus(CommonConstant.STATUS_0); |
| | | } |
| | | operationCertificate.setCurrentCycleScore(currentCycleScore); |
| | | operationCertificateMapper.updateById(operationCertificate); |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delBatchMain(Collection<? extends Serializable> idList) { |
| | | for(Serializable id:idList) { |
| | | operationCertificateDetailMapper.deleteByMainId(id.toString()); |
| | | operationCertificateMapper.deleteById(id); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) { |
| | | // operationCertificateMapper.updateById(operationCertificate); |
| | | |
| | | //1.先删除子表数据 |
| | | // operationCertificateDetailMapper.deleteByMainId(operationCertificate.getId()); |
| | | |
| | | // //2.子表数据重新插入 |
| | | // if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) { |
| | | // for(OperationCertificateDetail entity:operationCertificateDetailList) { |
| | | // //外键设置 |
| | | // entity.setOperationCertificateId(operationCertificate.getId()); |
| | | // operationCertificateDetailMapper.insert(entity); |
| | | // } |
| | | // } |
| | | // 新增设备更新主表的equipmentIds字段,新增扣分则根据扣分项更新当前分数,分数为0时候禁用操作证 |
| | | String equipmentIds = operationCertificate.getEquipmentIds(); |
| | | Integer currentCycleScore = operationCertificate.getCurrentCycleScore(); |
| | | for (OperationCertificateDetail entity : operationCertificateDetailList) { |
| | | if ("addEquipment".equals(entity.getType())) { |
| | | equipmentIds = equipmentIds + "," + entity.getEquipmentId(); |
| | | } else if ("deduction".equals(entity.getType())) { |
| | | String deductionItemId = entity.getDeductionItem(); |
| | | Integer deductionScore = deductionItemService.getById(deductionItemId).getDeductionScore(); |
| | | currentCycleScore = currentCycleScore - deductionScore; |
| | | } |
| | | //外键设置 |
| | | entity.setOperationCertificateId(operationCertificate.getId()); |
| | | operationCertificateDetailMapper.insert(entity); |
| | | |
| | | } |
| | | operationCertificate.setEquipmentIds(equipmentIds); |
| | | if(currentCycleScore<=0){ |
| | | currentCycleScore=0; |
| | | // 当分数为0时,设置操作证的状态为禁用 |
| | | operationCertificate.setStatus(CommonConstant.STATUS_0); |
| | | } |
| | | operationCertificate.setCurrentCycleScore(currentCycleScore); |
| | | operationCertificateMapper.updateById(operationCertificate); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delMain(String id) { |
| | | operationCertificateDetailMapper.deleteByMainId(id); |
| | | operationCertificateMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delBatchMain(Collection<? extends Serializable> idList) { |
| | | for (Serializable id : idList) { |
| | | operationCertificateDetailMapper.deleteByMainId(id.toString()); |
| | | operationCertificateMapper.deleteById(id); |
| | | } |
| | | } |
| | | |
| | | } |