package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.TreeSelect; import com.gkhy.exam.common.domain.entity.SysDept; 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.*; import com.gkhy.exam.system.mapper.*; import com.gkhy.exam.system.service.CompanyIndustryTemplateService; import com.gkhy.exam.system.service.ISysDeptService; import com.gkhy.exam.system.service.StandardizedTemplateService; import com.gkhy.exam.system.service.SysCompanyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class StandardizedTemplateServiceImpl extends ServiceImpl implements StandardizedTemplateService { @Autowired private StandardizedTemplateMapper standardizedTemplateMapper; @Autowired private SysCompanyService sysCompanyService; @Autowired private StandardizedQualityMapper standardizedQualityMapper; @Autowired private SysFunctionalDistributionMapper sysFunctionalDistributionMapper; @Autowired private ISysDeptService iSysDeptService; @Autowired private CompanySummaryMapper companySummaryMapper; @Autowired private CompanyQualityPolicyMapper companyQualityPolicyMapper; @Override public CommonPage selectStandardizedTemplateList(Integer companyId, Integer templateType) { boolean admin = SecurityUtils.adminUser(); if (!admin){ if (companyId==null){ companyId = SecurityUtils.getCompanyId().intValue(); } } PageUtils.startPage(); List companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(companyId, templateType); return CommonPage.restPage(companyIndustryTemplates); } @Override public CommonResult insertStandardizedTemplate(StandardizedTemplate standardizedTemplate) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue()); standardizedTemplate.setCompanyName(sysCompany.getName()); standardizedTemplate.setCreateBy(loginUser.getUsername()); standardizedTemplate.setCreateTime(LocalDateTime.now()); int insert = standardizedTemplateMapper.insert(standardizedTemplate); if (insert>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult updateStandardizedTemplate(StandardizedTemplate standardizedTemplate) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue()); standardizedTemplate.setCompanyName(sysCompany.getName()); standardizedTemplate.setUpdateBy(loginUser.getUsername()); standardizedTemplate.setUpdateTime(LocalDateTime.now()); int update = standardizedTemplateMapper.updateStandardizedTemplateById(standardizedTemplate); if (update>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedStandardizedTemplate(Integer standardizedTemplateId) { StandardizedTemplate standardizedTemplate = new StandardizedTemplate(); LoginUserDetails loginUser = SecurityUtils.getLoginUser(); standardizedTemplate.setUpdateBy(loginUser.getUsername()); standardizedTemplate.setUpdateTime(LocalDateTime.now()); standardizedTemplate.setDelFlag(1); standardizedTemplate.setId(standardizedTemplateId); int i = standardizedTemplateMapper.updateById(standardizedTemplate); if (i>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult selectStandardizedQuality(Integer companyId) { boolean admin = SecurityUtils.adminUser(); LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); if (!admin){ lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, companyId); }else { if (companyId != null){ lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, companyId); } } lambdaQueryWrapper.eq(StandardizedQuality::getDelFlag, 0); return CommonResult.success(standardizedQualityMapper.selectList(lambdaQueryWrapper)); } @Override public CommonResult insertStandardizedQuality(StandardizedQuality standardizedQuality) { LambdaQueryWrapper eq = new LambdaQueryWrapper().eq(StandardizedQuality::getCompanyId, standardizedQuality.getCompanyId()); standardizedQualityMapper.delete(eq); LoginUserDetails loginUser = SecurityUtils.getLoginUser(); SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue()); standardizedQuality.setCompanyName(sysCompany.getName()); standardizedQuality.setCreateBy(loginUser.getUsername()); standardizedQuality.setCreateTime(LocalDateTime.now()); int insert = standardizedQualityMapper.insert(standardizedQuality); if (insert>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult updateStandardizedQuality(StandardizedQuality standardizedQuality) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedQuality.getCompanyId().longValue()); standardizedQuality.setCompanyName(sysCompany.getName()); standardizedQuality.setUpdateBy(loginUser.getUsername()); standardizedQuality.setUpdateTime(LocalDateTime.now()); int update = standardizedQualityMapper.updateStandardizedQualityById(standardizedQuality); if (update>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedStandardizedQuality(Integer id) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery() .eq(StandardizedQuality::getId, id) .eq(StandardizedQuality::getDelFlag, 0); StandardizedQuality standardizedQuality = new StandardizedQuality(); standardizedQuality.setDelFlag(1); standardizedQuality.setUpdateBy(SecurityUtils.getUsername()); standardizedQuality.setUpdateTime(LocalDateTime.now()); standardizedQualityMapper.update(standardizedQuality, lambdaQueryWrapper); return CommonResult.success(); } @Override public CommonResult getStandardizedQualityByCompanyId(Integer companyId) { Map map = new HashMap<>(); //程序文件 List companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(companyId, 4); //职能分配 List sysFunctionalDistributions = sysFunctionalDistributionMapper.selectListVo(companyId.longValue()); //部门 SysDept sysDept = new SysDept(); sysDept.setCompanyId(companyId.longValue()); List treeSelects = iSysDeptService.selectDeptTreeList(sysDept); //公司概况 List companySummaries = companySummaryMapper.selectCompanySummaryList(companyId); //质量方针 List companyQualityPolicies = companyQualityPolicyMapper.selectCompanyQualityPolicyList(companyId); //质量方针 map.put("companyQualityPolicies", companyQualityPolicies); //公司概况 map.put("companySummaries", companySummaries); //部门 map.put("treeSelects", treeSelects); //职能分配 map.put("sysFunctionalDistributions", sysFunctionalDistributions); //程序文件 map.put("companyIndustryTemplates", companyIndustryTemplates); return CommonResult.success(map); } }