| | |
| | | package com.gkhy.exam.system.service.impl; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | 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.CompanyIndustryTemplateMapper; |
| | | import com.gkhy.exam.system.mapper.StandardizedQualityMapper; |
| | | import com.gkhy.exam.system.mapper.StandardizedTemplateMapper; |
| | | import com.gkhy.exam.system.service.CompanyIndustryTemplateService; |
| | | import com.gkhy.exam.system.service.StandardizedTemplateService; |
| | | import com.gkhy.exam.system.service.SysCompanyService; |
| | | import com.gkhy.exam.system.mapper.*; |
| | | import com.gkhy.exam.system.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class StandardizedTemplateServiceImpl extends ServiceImpl<StandardizedTemplateMapper, StandardizedTemplate> implements StandardizedTemplateService { |
| | |
| | | @Autowired |
| | | private StandardizedQualityMapper standardizedQualityMapper; |
| | | |
| | | @Autowired |
| | | private SysFunctionalDistributionMapper sysFunctionalDistributionMapper; |
| | | |
| | | @Autowired |
| | | private ISysDeptService iSysDeptService; |
| | | |
| | | @Autowired |
| | | private CompanySummaryMapper companySummaryMapper; |
| | | @Autowired |
| | | private CompanyQualityPolicyMapper companyQualityPolicyMapper; |
| | | |
| | | @Autowired |
| | | private CustomerService customerService; |
| | | |
| | | @Autowired |
| | | private ProductServiceMapper productServiceMapper; |
| | | |
| | | @Autowired |
| | | private ProclaimService proclaimService; |
| | | |
| | | |
| | | @Override |
| | | public CommonPage selectStandardizedTemplateList(Integer companyId, Integer templateType) { |
| | | public CommonPage selectStandardizedTemplateList(StandardizedTemplate standardizedTemplate) { |
| | | boolean admin = SecurityUtils.adminUser(); |
| | | if (!admin){ |
| | | if (companyId==null){ |
| | | Integer companyId = standardizedTemplate.getCompanyId(); |
| | | Integer templateType = standardizedTemplate.getTemplateType(); |
| | | if (!admin) { |
| | | if (companyId == null) { |
| | | companyId = SecurityUtils.getCompanyId().intValue(); |
| | | } |
| | | } |
| | | PageUtils.startPage(); |
| | | List<StandardizedTemplate> companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(companyId, templateType); |
| | | return CommonPage.restPage(companyIndustryTemplates); |
| | | List<StandardizedTemplate> standardizedTemplates = new ArrayList<>(); |
| | | //templateType==2 || templateType==10 || |
| | | if (templateType == 3) { |
| | | standardizedTemplates = standardizedTemplateMapper.selectStandardizedTemplateListV2(standardizedTemplate); |
| | | } else { |
| | | standardizedTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(standardizedTemplate); |
| | | } |
| | | |
| | | return CommonPage.restPage(standardizedTemplates); |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult insertStandardizedTemplate(StandardizedTemplate standardizedTemplate) { |
| | | checkPer(); |
| | | LoginUserDetails loginUser = SecurityUtils.getLoginUser(); |
| | | |
| | | SysCompany sysCompany = sysCompanyService.selectCompanyById(standardizedTemplate.getCompanyId().longValue()); |
| | |
| | | standardizedTemplate.setCreateBy(loginUser.getUsername()); |
| | | standardizedTemplate.setCreateTime(LocalDateTime.now()); |
| | | int insert = standardizedTemplateMapper.insert(standardizedTemplate); |
| | | if (insert>0){ |
| | | |
| | | if (standardizedTemplate.getTemplateType().equals(4) && standardizedTemplate.getTemplateName().contains("满意度")) { |
| | | Customer customer = new Customer(); |
| | | customer.setCompanyId(standardizedTemplate.getCompanyId()); |
| | | customer.setFileName(standardizedTemplate.getTemplateName()); |
| | | customer.setFilePath(standardizedTemplate.getFilePath()); |
| | | customerService.insertCustomer(customer); |
| | | } |
| | | |
| | | if (insert > 0) { |
| | | return CommonResult.success(); |
| | | } |
| | | return CommonResult.failed(); |
| | |
| | | |
| | | @Override |
| | | public CommonResult updateStandardizedTemplate(StandardizedTemplate standardizedTemplate) { |
| | | checkPer(); |
| | | 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){ |
| | | if (update > 0) { |
| | | return CommonResult.success(); |
| | | } |
| | | return CommonResult.failed(); |
| | |
| | | |
| | | @Override |
| | | public CommonResult deletedStandardizedTemplate(Integer standardizedTemplateId) { |
| | | checkPer(); |
| | | StandardizedTemplate standardizedTemplate = new StandardizedTemplate(); |
| | | LoginUserDetails loginUser = SecurityUtils.getLoginUser(); |
| | | standardizedTemplate.setUpdateBy(loginUser.getUsername()); |
| | |
| | | standardizedTemplate.setDelFlag(1); |
| | | standardizedTemplate.setId(standardizedTemplateId); |
| | | int i = standardizedTemplateMapper.updateById(standardizedTemplate); |
| | | if (i>0){ |
| | | if (i > 0) { |
| | | return CommonResult.success(); |
| | | } |
| | | return CommonResult.failed(); |
| | | } |
| | | |
| | | private void checkPer(){ |
| | | boolean admin = SecurityUtils.adminUser(); |
| | | if (!admin) { |
| | | throw new ApiException("非管理员不可操作"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult selectStandardizedQuality(Integer companyId) { |
| | | boolean admin = SecurityUtils.adminUser(); |
| | | LambdaQueryWrapper<StandardizedQuality> lambdaQueryWrapper = Wrappers.<StandardizedQuality>lambdaQuery(); |
| | | if (!admin){ |
| | | if (companyId==null){ |
| | | lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, SecurityUtils.getCompanyId().intValue()); |
| | | if (!admin) { |
| | | lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, companyId); |
| | | } else { |
| | | if (companyId != null) { |
| | | lambdaQueryWrapper.eq(StandardizedQuality::getCompanyId, companyId); |
| | | } |
| | | } |
| | | lambdaQueryWrapper.eq(StandardizedQuality::getDelFlag, 0); |
| | |
| | | standardizedQuality.setCreateBy(loginUser.getUsername()); |
| | | standardizedQuality.setCreateTime(LocalDateTime.now()); |
| | | int insert = standardizedQualityMapper.insert(standardizedQuality); |
| | | if (insert>0){ |
| | | if (insert > 0) { |
| | | return CommonResult.success(); |
| | | } |
| | | return CommonResult.failed(); |
| | |
| | | standardizedQuality.setUpdateBy(loginUser.getUsername()); |
| | | standardizedQuality.setUpdateTime(LocalDateTime.now()); |
| | | int update = standardizedQualityMapper.updateStandardizedQualityById(standardizedQuality); |
| | | if (update>0){ |
| | | if (update > 0) { |
| | | return CommonResult.success(); |
| | | } |
| | | return CommonResult.failed(); |
| | |
| | | standardizedQualityMapper.update(standardizedQuality, lambdaQueryWrapper); |
| | | return CommonResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public CommonResult getStandardizedQualityByCompanyId(Integer companyId) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //程序文件 |
| | | StandardizedTemplate programFile = new StandardizedTemplate(); |
| | | programFile.setTemplateType(4); |
| | | programFile.setCompanyId(companyId); |
| | | programFile.setSort(1); |
| | | List<StandardizedTemplate> companyIndustryTemplates = standardizedTemplateMapper.selectStandardizedTemplateList(programFile); |
| | | //职能分配 |
| | | List<SysFunctionalDistribution> sysFunctionalDistributions = sysFunctionalDistributionMapper.selectListVo(companyId.longValue()); |
| | | //部门 |
| | | SysDept sysDept = new SysDept(); |
| | | sysDept.setCompanyId(companyId.longValue()); |
| | | sysDept.setResponsType("1"); |
| | | List<TreeSelect> treeSelects = iSysDeptService.selectDeptTreeList(sysDept); |
| | | |
| | | //公司概况 |
| | | List<CompanySummary> companySummaries = companySummaryMapper.selectCompanySummaryList(companyId); |
| | | |
| | | List<Proclaim> proclaims = proclaimService.selectProclaimByCompanyId(companyId); |
| | | |
| | | map.put("proclaim",proclaims); |
| | | |
| | | //质量方针 |
| | | List<CompanyQualityPolicy> companyQualityPolicies = companyQualityPolicyMapper.selectCompanyQualityPolicyList(companyId); |
| | | //质量方针 |
| | | map.put("companyQualityPolicies", companyQualityPolicies); |
| | | //公司概况 |
| | | map.put("companySummaries", companySummaries); |
| | | //部门 |
| | | map.put("treeSelects", treeSelects); |
| | | //职能分配 |
| | | map.put("sysFunctionalDistributions", sysFunctionalDistributions); |
| | | //程序文件 |
| | | map.put("companyIndustryTemplates", companyIndustryTemplates); |
| | | //产品和服务实现过程 |
| | | |
| | | LambdaQueryWrapper<ProductService> lambdaQueryWrapper = Wrappers.<ProductService>lambdaQuery() |
| | | .eq(ProductService::getCompanyId, companyId) |
| | | .eq(ProductService::getDelFlag, 0); |
| | | List<ProductService> productServices = productServiceMapper.selectList(lambdaQueryWrapper); |
| | | if (ObjectUtil.isNotEmpty(productServices)) { |
| | | List<String> fileUrls = productServices.stream().map(ProductService::getFileUrl).collect(Collectors.toList()); |
| | | List<String> fileUrlsData = fileUrls.stream().map(fileUrl -> { |
| | | List<String> collect = Arrays.stream(fileUrl.split(",")).collect(Collectors.toList()); |
| | | return collect; |
| | | }).flatMap(Collection::stream).collect(Collectors.toList()); |
| | | // for (String fileUrl : fileUrls) { |
| | | // List<String> collect = Arrays.stream(fileUrl.split(",")).collect(Collectors.toList()); |
| | | // } |
| | | map.put("productServiceDatas", fileUrlsData); |
| | | } else { |
| | | map.put("productServiceDatas", new ArrayList<>()); |
| | | } |
| | | return CommonResult.success(map); |
| | | } |
| | | } |