package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.utils.PageUtils; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.ContinuousImprove; import com.gkhy.exam.system.domain.ContinuousImprovePlan; import com.gkhy.exam.system.mapper.ContinuousImproveMapper; import com.gkhy.exam.system.mapper.ContinuousImprovePlanMapper; import com.gkhy.exam.system.service.ContinuousImproveService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; @Service public class ContinuousImproveServiceImpl extends ServiceImpl implements ContinuousImproveService { @Autowired private ContinuousImproveMapper continuousImproveMapper; @Autowired private ContinuousImprovePlanMapper continuousImprovePlanMapper; @Override public CommonPage selectContinuousImproveList(ContinuousImprove continuousImprove) { if (!SecurityUtils.adminUser()){ if (continuousImprove.getCompanyId()==null){ throw new RuntimeException("非管理员操作,查询条件不可为空"); } } PageUtils.startPage(); List continuousImproves = continuousImproveMapper.selectImproveList(continuousImprove); for (ContinuousImprove improve : continuousImproves) { List continuousImprovePlans = continuousImprovePlanMapper.selectByImproveId(improve.getId()); improve.setPlans(continuousImprovePlans); } return CommonPage.restPage(continuousImproves); } @Override @Transactional public CommonResult insertContinuousImprove(ContinuousImprove continuousImprove) { List continuousImproves = continuousImproveMapper.selectByCompanyId(continuousImprove); if (!continuousImproves.isEmpty()){ return CommonResult.failed("当前企业已有相关数据"); } List plans = continuousImprove.getPlans(); continuousImprove.setCreateTime(LocalDateTime.now()); continuousImprove.setCreateBy(SecurityUtils.getUsername()); int insert = continuousImproveMapper.insert(continuousImprove); if (insert>0){ for (ContinuousImprovePlan plan : plans) { plan.setImproveId(continuousImprove.getId()); } int i = continuousImprovePlanMapper.insertPlans(plans); return CommonResult.success(); } return CommonResult.failed(); } @Override @Transactional public CommonResult updateContinuousImprove(ContinuousImprove continuousImprove) { List continuousImproves = continuousImproveMapper.selectByCompanyId(continuousImprove); if (!continuousImproves.isEmpty()){ return CommonResult.failed("当前企业已有相关数据"); } continuousImprove.setUpdateBy(SecurityUtils.getUsername()); continuousImprove.setUpdateTime(LocalDateTime.now()); int update = continuousImproveMapper.updateById(continuousImprove); if (update>0){ List plans = continuousImprove.getPlans(); for (ContinuousImprovePlan plan : plans) { plan.setImproveId(continuousImprove.getId()); } continuousImprovePlanMapper.deleteByImproveId(continuousImprove.getId()); continuousImprovePlanMapper.insertPlans(plans); return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedContinuousImprove(Integer improveId) { ContinuousImprove continuousImprove = new ContinuousImprove(); continuousImprove.setId(improveId); continuousImprove.setUpdateTime(LocalDateTime.now()); continuousImprove.setUpdateBy(SecurityUtils.getUsername()); continuousImprove.setDelFlag(2); int update = continuousImproveMapper.updateById(continuousImprove); if (update>0){ return CommonResult.success(); } return CommonResult.failed(); } }