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.domain.model.LoginUserDetails;
|
import com.gkhy.exam.common.exception.ApiException;
|
import com.gkhy.exam.common.utils.PageUtils;
|
import com.gkhy.exam.common.utils.SecurityUtils;
|
import com.gkhy.exam.system.domain.Quality;
|
import com.gkhy.exam.system.domain.QualityDecompose;
|
import com.gkhy.exam.system.domain.QualityTarget;
|
import com.gkhy.exam.system.domain.req.DecomposeTargetReq;
|
import com.gkhy.exam.system.domain.req.QualityReq;
|
import com.gkhy.exam.system.domain.vo.QualityDecomposeVo;
|
import com.gkhy.exam.system.mapper.QualityDecomposeMapper;
|
import com.gkhy.exam.system.mapper.QualityMapper;
|
import com.gkhy.exam.system.mapper.QualityTargetMapper;
|
import com.gkhy.exam.system.service.QualityDecomposeService;
|
import com.gkhy.exam.system.service.QualityService;
|
import com.gkhy.exam.system.service.QualityTargetService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
@Service
|
public class QualityDecomposeServiceImpl extends ServiceImpl<QualityDecomposeMapper, QualityDecompose> implements QualityDecomposeService {
|
|
@Autowired
|
private QualityDecomposeMapper qualityDecomposeMapper;
|
|
@Autowired
|
private QualityTargetMapper qualityTargetMapper;
|
|
@Autowired
|
private QualityMapper qualityMapper;
|
|
|
|
@Override
|
public CommonPage selectQualityDecomposeList(QualityReq qualityReq) {
|
if (!SecurityUtils.adminUser()){
|
if (qualityReq.getCompanyId()==null){
|
throw new ApiException("非管理员,查询条件不可为空");
|
}
|
}
|
PageUtils.startPage();
|
List<QualityDecomposeVo> qualityDecomposeVos = qualityDecomposeMapper.selectDecomposeList(qualityReq);
|
for (QualityDecomposeVo qualityDecomposeVo : qualityDecomposeVos) {
|
List<QualityTarget> qualityTargets = qualityTargetMapper.selectByQualityId(qualityDecomposeVo.getQualityId());
|
qualityDecomposeVo.setQualityTargets(qualityTargets);
|
}
|
return CommonPage.restPage(qualityDecomposeVos);
|
}
|
|
@Override
|
public CommonResult insertQualityDecompose(DecomposeTargetReq decomposeTargetReq) {
|
LoginUserDetails loginUser = SecurityUtils.getLoginUser();
|
decomposeTargetReq.setCreateBy(loginUser.getUsername());
|
decomposeTargetReq.setCreateTime(LocalDateTime.now());
|
|
List<QualityDecompose> qualityDecomposes = qualityDecomposeMapper.selectByCompanyId(decomposeTargetReq.getQualityId());
|
if (qualityDecomposes.size()>0){
|
throw new ApiException("当前企业已有数据,请删除后重试");
|
}
|
int i = qualityDecomposeMapper.insertDecompose(decomposeTargetReq);
|
List<QualityTarget> qualityTargets = decomposeTargetReq.getQualityTargets();
|
for (QualityTarget qualityTarget : qualityTargets) {
|
qualityTarget.setCreateTime(LocalDateTime.now());
|
qualityTarget.setCreateBy(loginUser.getUsername());
|
}
|
qualityTargetMapper.updateQualityTargetById(qualityTargets);
|
return CommonResult.success();
|
}
|
|
@Override
|
public CommonResult updateQualityDecompose(DecomposeTargetReq decomposeTargetReq) {
|
LoginUserDetails loginUser = SecurityUtils.getLoginUser();
|
decomposeTargetReq.setUpdateBy(loginUser.getUsername());
|
decomposeTargetReq.setCreateTime(LocalDateTime.now());
|
QualityDecompose qualityDecompose = new QualityDecompose();
|
BeanUtils.copyProperties(decomposeTargetReq,qualityDecompose);
|
qualityDecomposeMapper.updateById(qualityDecompose);
|
List<QualityTarget> qualityTargets = decomposeTargetReq.getQualityTargets();
|
qualityTargetMapper.updateQualityTargetById(qualityTargets);
|
return CommonResult.success();
|
}
|
|
@Override
|
public CommonResult deletedQualityDecompose(Integer decomposeId) {
|
LoginUserDetails loginUser = SecurityUtils.getLoginUser();
|
QualityDecompose qualityDecompose = new QualityDecompose();
|
qualityDecompose.setId(decomposeId);
|
qualityDecompose.setDelFlag(2);
|
qualityDecompose.setUpdateBy(loginUser.getUsername());
|
qualityDecompose.setUpdateTime(LocalDateTime.now());
|
qualityDecomposeMapper.updateById(qualityDecompose);
|
return CommonResult.success();
|
}
|
}
|