| | |
| | | package com.gk.hotwork.Service.ServiceImpl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.gk.hotwork.Domain.*; |
| | | import com.gk.hotwork.Domain.Do.SafetySelfInspectionItemQualifiedCountDO; |
| | | import com.gk.hotwork.Domain.Exception.BusinessException; |
| | | import com.gk.hotwork.Domain.Utils.BeanUtils; |
| | | import com.gk.hotwork.Domain.Utils.StringUtils; |
| | | import com.gk.hotwork.Domain.Vo.UserVo; |
| | | import com.gk.hotwork.Domain.dto.resp.SafetySelfInspectionElementRespDTO; |
| | | import com.gk.hotwork.Domain.dto.resp.SafetySelfInspectionRespDTO; |
| | | import com.gk.hotwork.Mapper.*; |
| | | import com.gk.hotwork.Service.CompanyService; |
| | | import com.gk.hotwork.Service.SafetySelfInspectionService; |
| | | import com.gk.hotwork.Service.UserService; |
| | | import com.gk.hotwork.Service.*; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private SafetyInspectionItemDeductionMapper safetyInspectionItemDeductionMapper; |
| | | @Autowired |
| | | private CompanyService companyService; |
| | | @Autowired |
| | | private ElementManagementService elementManagementService; |
| | | @Autowired |
| | | private SafetyInspectionElementAService safetyInspectionElementAService; |
| | | @Autowired |
| | | private UserService userService; |
| | | @Autowired |
| | | private InspectionExpertGroupService expertGroupService; |
| | | @Autowired |
| | | private InspectionExpertService expertService; |
| | | @Autowired |
| | | private InspectionHiddenDangerService dangerService; |
| | | |
| | | /** |
| | | * @Description: 分页 |
| | | */ |
| | | @Override |
| | | public IPage<SafetySelfInspection> selectPage(Page<SafetySelfInspection> page, Map<String, Object> filter, UserInfo user) { |
| | | Integer type = user.getType(); |
| | | //普通用户 |
| | | //企业用户 |
| | | if (type.equals(3)) { |
| | | Long companyid = user.getCompanyid(); |
| | | filter.put("companyid",companyid); |
| | | filter.put("checkedCompanyId",companyid); |
| | | } |
| | | //监管用户 |
| | | if (type.equals(2)) { |
| | | Long companyid = user.getCompanyid(); |
| | | //获取企业信息 |
| | | CompanyInfo companyInfo = companyService.getById(companyid); |
| | | filter.put("province",companyInfo.getProvince()); |
| | | filter.put("city",companyInfo.getCity()); |
| | | filter.put("area",companyInfo.getArea()); |
| | | filter.put("province",user.getProvince()); |
| | | filter.put("city",user.getCity()); |
| | | filter.put("area",user.getCounty()); |
| | | } |
| | | filter.put("flag",0); |
| | | |
| | | IPage<SafetySelfInspection> res = safetySelfInspectionMapper.selectPages(page, filter); |
| | | List<SafetySelfInspection> records = res.getRecords(); |
| | |
| | | return res; |
| | | } |
| | | |
| | | /** |
| | | * @Description: 分页 |
| | | */ |
| | | @Override |
| | | public IPage<SafetySelfInspection> selectSupervisePage(Page<SafetySelfInspection> page, Map<String, Object> filter, UserInfo user) { |
| | | Integer type = user.getType(); |
| | | //普通用户 |
| | | if (type.equals(3)) { |
| | | Long companyid = user.getCompanyid(); |
| | | filter.put("checkedCompanyId",companyid); |
| | | } |
| | | //监管用户 |
| | | if (type.equals(2)) { |
| | | //获取企业信息 |
| | | filter.put("province",user.getProvince()); |
| | | filter.put("city",user.getCity()); |
| | | filter.put("area",user.getCounty()); |
| | | } |
| | | filter.put("flag",1); |
| | | |
| | | IPage<SafetySelfInspection> res = safetySelfInspectionMapper.selectPages(page, filter); |
| | | List<SafetySelfInspection> records = res.getRecords(); |
| | | if (CollectionUtils.isNotEmpty(records)){ |
| | | DecimalFormat df = new DecimalFormat("0.00%"); |
| | | records = records.stream().map((safetySelfInspection) -> { |
| | | if (safetySelfInspection.getStatus() == 2) { |
| | | Long id = safetySelfInspection.getId(); |
| | | SafetySelfInspectionItemQualifiedCountDO countDO = safetySelfInspectionItemMapper.countQualifiedDataById(id); |
| | | safetySelfInspection.setUnqualifiedItem(countDO.getItemSum() - countDO.getQualifiedItem()); |
| | | if (countDO != null && countDO.getItemSum() != 0 && countDO.getItemSum() != null) { |
| | | BigDecimal rate = new BigDecimal(countDO.getQualifiedItem()) |
| | | .divide(new BigDecimal(countDO.getItemSum()), 4, BigDecimal.ROUND_HALF_UP); |
| | | String qualifiedRate = df.format(rate); |
| | | safetySelfInspection.setQualifiedRate(qualifiedRate); |
| | | safetySelfInspection.setItemSum(countDO.getItemSum()); |
| | | } |
| | | } |
| | | return safetySelfInspection; |
| | | }).collect(Collectors.toList()); |
| | | res.setRecords(records); |
| | | } |
| | | return res; |
| | | } |
| | | /* @Override |
| | | public IPage<SafetySelfInspection> selectPage(Page<SafetySelfInspection> page, Map<String, Object> filter, UserInfo user) { |
| | | Integer type = user.getType(); |
| | | //普通用户 |
| | | if (type.equals(3)) { |
| | | Long companyid = user.getCompanyid(); |
| | | filter.put("companyid",companyid); |
| | | } |
| | | //监管用户 |
| | | if (type.equals(2)) { |
| | | Long companyid = user.getCompanyid(); |
| | | //获取企业信息 |
| | | CompanyInfo companyInfo = companyService.getById(companyid); |
| | | filter.put("province",companyInfo.getProvince()); |
| | | filter.put("city",companyInfo.getCity()); |
| | | filter.put("area",companyInfo.getArea()); |
| | | } |
| | | |
| | | IPage<SafetySelfInspection> res = safetySelfInspectionMapper.selectPages(page, filter); |
| | | List<SafetySelfInspection> records = res.getRecords(); |
| | | if (CollectionUtils.isNotEmpty(records)){ |
| | | DecimalFormat df = new DecimalFormat("0.00%"); |
| | | records = records.stream().map((safetySelfInspection) -> { |
| | | //总分 |
| | | Integer totalScore = 0; |
| | | //扣分 |
| | | Integer delScore =0; |
| | | |
| | | Long id = safetySelfInspection.getId(); |
| | | SafetySelfInspectionItemQualifiedCountDO countDO = safetySelfInspectionItemMapper.countQualifiedDataById(id); |
| | | safetySelfInspection.setUnqualifiedItem(countDO.getItemSum() - countDO.getQualifiedItem()); |
| | | if (countDO != null && countDO.getItemSum() != 0 && countDO.getItemSum() != null) { |
| | | BigDecimal rate = new BigDecimal(countDO.getQualifiedItem()) |
| | | .divide(new BigDecimal(countDO.getItemSum()), 4, BigDecimal.ROUND_HALF_UP); |
| | | String qualifiedRate = df.format(rate); |
| | | safetySelfInspection.setQualifiedRate(qualifiedRate); |
| | | safetySelfInspection.setItemSum(countDO.getItemSum()); |
| | | } |
| | | //计算总分以及得分 |
| | | //获取要素 |
| | | List<SafetyInspectionElementA> inspectionElementAList = safetyInspectionElementAService.getBySafetySelfInspectionId(id); |
| | | //获取检查项 |
| | | List<SafetySelfInspectionItem> safetySelfInspectionItemList = safetySelfInspectionItemMapper.getBySafetySelfInspectionId2(id); |
| | | //循环要素 |
| | | for(SafetyInspectionElementA elementA : inspectionElementAList){ |
| | | //获取该要素的树 |
| | | List<ElementTree> elementTree = elementManagementService.getElementTreeByParentId(elementA.getElementA()); |
| | | //二级要素 |
| | | if (CollectionUtils.isNotEmpty(elementTree)) { |
| | | List<ElementTree> elementBList = elementTree.get(0).getChildren(); |
| | | for(ElementTree stree : elementBList){ |
| | | //三级要素为空 |
| | | if(CollectionUtils.isEmpty(stree.getChildren())){ |
| | | //总分累计 |
| | | totalScore += stree.getPoint(); |
| | | //无三级要素过滤出二级要素检查内容 |
| | | List<SafetySelfInspectionItem> sItemList = safetySelfInspectionItemList |
| | | .stream() |
| | | .filter(item -> item.getElementC() == null && item.getElementB().equals(stree.getValue())) |
| | | .collect(Collectors.toList()); |
| | | //判断是否有否决项 |
| | | List<SafetySelfInspectionItem> rejectList = sItemList |
| | | .stream() |
| | | .filter(item -> item.getSafetyInspectionItemResult().equals(0)) |
| | | .collect(Collectors.toList()); |
| | | |
| | | if(rejectList.size() > 0){ |
| | | delScore += stree.getPoint(); |
| | | }else { |
| | | //计算出不合格扣分 |
| | | delScore += unqualifiedItemDelScore(sItemList); |
| | | } |
| | | |
| | | } else { |
| | | List<ElementTree> elementCList = stree.getChildren(); |
| | | for(ElementTree ttree : elementCList){ |
| | | //计算总分 |
| | | totalScore += ttree.getPoint(); |
| | | //过滤该三级要素检查项目 |
| | | List<SafetySelfInspectionItem> tItemList = safetySelfInspectionItemList |
| | | .stream() |
| | | .filter(item -> item.getElementC() != null && item.getElementC().equals(ttree.getValue())) |
| | | .collect(Collectors.toList()); |
| | | //判断是否有被否决 |
| | | List<SafetySelfInspectionItem> rejectList = tItemList |
| | | .stream() |
| | | .filter(item -> item.getSafetyInspectionItemResult().equals(0)) |
| | | .collect(Collectors.toList()); |
| | | if(rejectList.size() > 0){ |
| | | delScore += ttree.getPoint(); |
| | | }else { |
| | | //计算出不合格扣分 |
| | | totalScore += unqualifiedItemDelScore(tItemList); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | //得分 |
| | | Integer score = totalScore - delScore; |
| | | safetySelfInspection.setTotalScore(totalScore.toString()); |
| | | safetySelfInspection.setScore(score.toString()); |
| | | return safetySelfInspection; |
| | | }).collect(Collectors.toList()); |
| | | res.setRecords(records); |
| | | } |
| | | return res; |
| | | }*/ |
| | | //累计过出不合格扣分 |
| | | private Integer unqualifiedItemDelScore(List<SafetySelfInspectionItem> itemList){ |
| | | int delScore = 0; |
| | | //过滤出不合格 |
| | | List<SafetySelfInspectionItem> unqualifiedItemList = itemList |
| | | .stream() |
| | | .filter(item -> item.getSafetyInspectionItemResult().equals(1)) |
| | | .collect(Collectors.toList()); |
| | | for (SafetySelfInspectionItem unqualifiedItem : unqualifiedItemList){ |
| | | List<SafetySelfInspectionItemDeduction> itemDeductionList = safetySelfInspectionItemDeductionMapper |
| | | .selectList(new LambdaQueryWrapper<SafetySelfInspectionItemDeduction>() |
| | | .eq(SafetySelfInspectionItemDeduction::getSafetySelfInspectionItemId, unqualifiedItem.getId()) |
| | | .eq(SafetySelfInspectionItemDeduction::getValidFlag,1)); |
| | | for (SafetySelfInspectionItemDeduction itemDeduction : itemDeductionList) { |
| | | delScore += itemDeduction.getPoint(); |
| | | } |
| | | } |
| | | return delScore; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description: 新增 |
| | |
| | | Date date = new Date(); |
| | | String username = user.getRealname(); |
| | | param.setValidFlag(Boolean.TRUE); |
| | | param.setFlag((byte) 0); |
| | | param.setUpdateBy(username); |
| | | param.setCreateBy(username); |
| | | param.setUpdateTime(date); |
| | | param.setCreateTime(date); |
| | | param.setCheckUnit(user.getCompany()); |
| | | this.save(param); |
| | | |
| | | if (CollectionUtils.isNotEmpty(param.getItemList())) { |
| | | for (SafetySelfInspectionItem safetySelfInspectionItem : param.getItemList()) { |
| | | //默认合格 |
| | | safetySelfInspectionItem.setSafetyInspectionItemResult(2); |
| | | safetySelfInspectionItem.setValidFlag(Boolean.TRUE); |
| | | safetySelfInspectionItem.setUpdateBy(username); |
| | | safetySelfInspectionItem.setCreateBy(username); |
| | |
| | | safetySelfInspectionItem.setCreateTime(date); |
| | | safetySelfInspectionItem.setSafetySelfInspectionId(param.getId()); |
| | | safetySelfInspectionItemMapper.insert(safetySelfInspectionItem); |
| | | } |
| | | } |
| | | if(CollectionUtils.isNotEmpty(param.getElementAList())){ |
| | | for (SafetyInspectionElementA inspectionElementA : param.getElementAList()) { |
| | | SafetyInspectionElementA safetyInspectionElementA = new SafetyInspectionElementA(); |
| | | safetyInspectionElementA.setSafetyInspectionId(param.getId()); |
| | | safetyInspectionElementA.setElementA(inspectionElementA.getElementA()); |
| | | safetyInspectionElementAService.save(safetyInspectionElementA); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 监管检查-新增 |
| | | * @param param |
| | | * @param user |
| | | */ |
| | | @Override |
| | | public void addSupervise(SafetySelfInspection param, UserInfo user) { |
| | | requiredSuperviseVerification(param); |
| | | |
| | | Date date = new Date(); |
| | | String username = user.getRealname(); |
| | | param.setValidFlag(Boolean.TRUE); |
| | | param.setFlag((byte) 1); |
| | | param.setInspector(user.getId()); |
| | | param.setUpdateBy(username); |
| | | param.setCreateBy(username); |
| | | param.setUpdateTime(date); |
| | | param.setCreateTime(date); |
| | | param.setCheckUnit(user.getCompany()); |
| | | this.save(param); |
| | | |
| | | //生成专家组记录 |
| | | InspectionExpertGroup inspectionExpertGroup = new InspectionExpertGroup(); |
| | | inspectionExpertGroup.setInspectionName(param.getInspectionName()); |
| | | inspectionExpertGroup.setInspectionTime(param.getInspectionTime()); |
| | | inspectionExpertGroup.setCheckedCompanyId(param.getCheckedCompanyId()); |
| | | inspectionExpertGroup.setCheckedCompanyName(param.getCheckedCompanyName()); |
| | | inspectionExpertGroup.setCheckUnit(user.getCompany()); |
| | | inspectionExpertGroup.setSelfInspectionId(param.getId()); |
| | | inspectionExpertGroup.setValidFlag(true); |
| | | inspectionExpertGroup.setCreateTime(new Date()); |
| | | List<InspectionExpert> collect = param.getExpertList().stream().filter(inspectionExpert -> inspectionExpert.getIsLeader() == true).collect(Collectors.toList()); |
| | | if (collect.size() > 0) { |
| | | UserVo userVo = userService.selectUserVoById(collect.get(0).getExpertId()); |
| | | inspectionExpertGroup.setExpertLeader(userVo.getRealname()); |
| | | } |
| | | expertGroupService.save(inspectionExpertGroup); |
| | | |
| | | |
| | | if (CollectionUtils.isNotEmpty(param.getItemList())) { |
| | | for (SafetySelfInspectionItem safetySelfInspectionItem : param.getItemList()) { |
| | | //默认合格 |
| | | safetySelfInspectionItem.setSafetyInspectionItemResult(2); |
| | | safetySelfInspectionItem.setValidFlag(Boolean.TRUE); |
| | | safetySelfInspectionItem.setUpdateBy(username); |
| | | safetySelfInspectionItem.setCreateBy(username); |
| | | safetySelfInspectionItem.setUpdateTime(date); |
| | | safetySelfInspectionItem.setCreateTime(date); |
| | | safetySelfInspectionItem.setSafetySelfInspectionId(param.getId()); |
| | | safetySelfInspectionItemMapper.insert(safetySelfInspectionItem); |
| | | } |
| | | } |
| | | if(CollectionUtils.isNotEmpty(param.getElementAList())){ |
| | | for (SafetyInspectionElementA inspectionElementA : param.getElementAList()) { |
| | | SafetyInspectionElementA safetyInspectionElementA = new SafetyInspectionElementA(); |
| | | safetyInspectionElementA.setSafetyInspectionId(param.getId()); |
| | | safetyInspectionElementA.setElementA(inspectionElementA.getElementA()); |
| | | safetyInspectionElementAService.save(safetyInspectionElementA); |
| | | } |
| | | } |
| | | |
| | | if(CollectionUtils.isNotEmpty(param.getExpertList())){ |
| | | for (InspectionExpert inspectionExpert : param.getExpertList()) { |
| | | UserVo userVo = userService.selectUserVoById(inspectionExpert.getExpertId()); |
| | | inspectionExpert.setCompanyName(userVo.getCompany()); |
| | | inspectionExpert.setIdcard(userVo.getIdcard()); |
| | | inspectionExpert.setName(userVo.getRealname()); |
| | | inspectionExpert.setPhone(userVo.getUsername()); |
| | | inspectionExpert.setType(userVo.getType()); |
| | | inspectionExpert.setProfessionalLevel(user.getProfessionalLevel()); |
| | | inspectionExpert.setSpecialityName(userVo.getSpecialityName()); |
| | | inspectionExpert.setSelfInspectionId(param.getId()); |
| | | inspectionExpert.setExpertGropId(inspectionExpertGroup.getId()); |
| | | expertService.save(inspectionExpert); |
| | | } |
| | | } |
| | | } |
| | |
| | | delOne.setUpdateBy(user.getRealname()); |
| | | delOne.setValidFlag(Boolean.FALSE); |
| | | this.updateById(delOne); |
| | | InspectionExpertGroup expertGroup = expertGroupService.getBySelfInspectionId(id); |
| | | if(expertGroup != null){ |
| | | expertGroup.setValidFlag(false); |
| | | expertGroupService.updateById(expertGroup); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | /* @Override |
| | | public SafetySelfInspection infoOne(Long id,String unqualified, UserInfo user) { |
| | | SafetySelfInspection safetySelfInspection=selectVerification(id); |
| | | //组装检查项 |
| | |
| | | safetySelfInspection.setItemList(new ArrayList<>()); |
| | | } |
| | | return safetySelfInspection; |
| | | }*/ |
| | | |
| | | @Override |
| | | public SafetySelfInspectionRespDTO infoOne(Long id, String unqualified, UserInfo user) { |
| | | SafetySelfInspection safetySelfInspection = selectVerification(id); |
| | | SafetySelfInspectionRespDTO safetySelfInspectionRespDTO = new SafetySelfInspectionRespDTO(); |
| | | BeanUtils.copyProperties(safetySelfInspection,safetySelfInspectionRespDTO); |
| | | //获取所有检查项 |
| | | List<SafetySelfInspectionItem> itemList= safetySelfInspectionItemMapper.getDetailBySafetySelfInspectionId(id,unqualified); |
| | | //获取关联要素 |
| | | List<SafetyInspectionElementA> inspectionElementAList = safetyInspectionElementAService.getBySafetySelfInspectionId(id); |
| | | |
| | | List<SafetySelfInspectionElementRespDTO> arespDTOList = new ArrayList<>(); |
| | | if (CollectionUtils.isNotEmpty(inspectionElementAList)) { |
| | | for (SafetyInspectionElementA elementA : inspectionElementAList) { |
| | | //获取该要素的树 |
| | | List<ElementTree> elementTree = elementManagementService.getElementTreeByParentId(elementA.getElementA()); |
| | | if (CollectionUtils.isNotEmpty(elementTree)) { |
| | | //一级要素 |
| | | ElementTree otree = elementTree.get(0); |
| | | SafetySelfInspectionElementRespDTO elementARespDTO = new SafetySelfInspectionElementRespDTO(); |
| | | elementARespDTO.setElementId(otree.getValue()); |
| | | elementARespDTO.setElementName(otree.getLabel()); |
| | | elementARespDTO.setType(otree.getType()); |
| | | |
| | | List<SafetySelfInspectionElementRespDTO> brespDTOList = new ArrayList<>(); |
| | | //二级要素 |
| | | List<ElementTree> elementBList = otree.getChildren(); |
| | | if(CollectionUtils.isNotEmpty(elementBList)){ |
| | | for (ElementTree stree : elementBList) { |
| | | SafetySelfInspectionElementRespDTO elementBRespDTO = new SafetySelfInspectionElementRespDTO(); |
| | | elementBRespDTO.setElementId(stree.getValue()); |
| | | elementBRespDTO.setElementName(stree.getLabel()); |
| | | elementBRespDTO.setType(stree.getType()); |
| | | elementBRespDTO.setPid(stree.getPid()); |
| | | |
| | | List<SafetySelfInspectionElementRespDTO> cRespDTOList = new ArrayList<>(); |
| | | //三级要素 |
| | | List<ElementTree> elementCList = stree.getChildren(); |
| | | if(CollectionUtils.isEmpty(elementCList)){ |
| | | //扣分 |
| | | int delScore = 0; |
| | | int totalScore = stree.getPoint(); |
| | | //无三级要素过滤出二级要素检查内容 |
| | | List<SafetySelfInspectionItem> sItemList = itemList |
| | | .stream() |
| | | .filter(item -> item.getElementC() == null && item.getElementB().equals(stree.getValue())) |
| | | .collect(Collectors.toList()); |
| | | //填充检查项 |
| | | elementBRespDTO.setItemList(assemblyDeduction(sItemList)); |
| | | |
| | | //判断是否有否决项 |
| | | List<SafetySelfInspectionItem> rejectList = sItemList |
| | | .stream() |
| | | .filter(item -> item.getSafetyInspectionItemResult().equals(0)) |
| | | .collect(Collectors.toList()); |
| | | if(rejectList.size() > 0){ |
| | | delScore = stree.getPoint(); |
| | | }else { |
| | | //计算出不合格扣分 |
| | | delScore += unqualifiedItemDelScore(sItemList); |
| | | } |
| | | //总分 |
| | | elementBRespDTO.setTotalScore(stree.getPoint()); |
| | | //得分 |
| | | elementBRespDTO.setScore(totalScore-delScore); |
| | | |
| | | |
| | | }else { |
| | | for(ElementTree ttree : elementCList){ |
| | | SafetySelfInspectionElementRespDTO elementCRespDTO = new SafetySelfInspectionElementRespDTO(); |
| | | elementCRespDTO.setElementId(ttree.getValue()); |
| | | elementCRespDTO.setElementName(ttree.getLabel()); |
| | | elementCRespDTO.setType(ttree.getType()); |
| | | elementCRespDTO.setPid(ttree.getPid()); |
| | | |
| | | //扣分 |
| | | int delScore = 0; |
| | | int totalScore = ttree.getPoint(); |
| | | |
| | | //过滤该三级要素检查项目 |
| | | List<SafetySelfInspectionItem> tItemList = itemList |
| | | .stream() |
| | | .filter(item -> item.getElementC() != null && item.getElementC().equals(ttree.getValue())) |
| | | .collect(Collectors.toList()); |
| | | //填充检查项 |
| | | elementCRespDTO.setItemList(assemblyDeduction(tItemList)); |
| | | |
| | | //判断是否有被否决 |
| | | List<SafetySelfInspectionItem> rejectList = tItemList |
| | | .stream() |
| | | .filter(item -> item.getSafetyInspectionItemResult().equals(0)) |
| | | .collect(Collectors.toList()); |
| | | if(rejectList.size() > 0){ |
| | | delScore = ttree.getPoint(); |
| | | }else { |
| | | //计算出不合格扣分 |
| | | delScore = unqualifiedItemDelScore(tItemList); |
| | | } |
| | | //总分 |
| | | elementCRespDTO.setTotalScore(ttree.getPoint()); |
| | | //得分 |
| | | elementCRespDTO.setScore(totalScore-delScore); |
| | | cRespDTOList.add(elementCRespDTO); |
| | | } |
| | | } |
| | | elementBRespDTO.setChildren(cRespDTOList); |
| | | brespDTOList.add(elementBRespDTO); |
| | | } |
| | | } |
| | | elementARespDTO.setChildren(brespDTOList); |
| | | arespDTOList.add(elementARespDTO); |
| | | } |
| | | } |
| | | |
| | | } |
| | | safetySelfInspectionRespDTO.setElementList(arespDTOList); |
| | | |
| | | return safetySelfInspectionRespDTO; |
| | | } |
| | | |
| | | |
| | | //组装扣分项 |
| | | private List<SafetySelfInspectionItem> assemblyDeduction( List<SafetySelfInspectionItem> itemList){ |
| | | for (SafetySelfInspectionItem safetySelfInspectionItem : itemList){ |
| | | if (safetySelfInspectionItem.getSafetyInspectionItemResult().equals(2)){ |
| | | //根据检查项id获取原始扣分项 |
| | | List<SafetyInspectionItemDeduction> safetyInspectionItemDeductionList = safetyInspectionItemDeductionMapper.getBySafetyInspectionItemId(safetySelfInspectionItem.getSafetyInspectionItemId()); |
| | | if (CollectionUtils.isNotEmpty(safetyInspectionItemDeductionList)){ |
| | | List<SafetySelfInspectionItemDeduction> oldSafetySelfInspectionItemDeductionList=new ArrayList<>(); |
| | | for (SafetyInspectionItemDeduction safetyInspectionItemDeduction : safetyInspectionItemDeductionList){ |
| | | SafetySelfInspectionItemDeduction safetySelfInspectionItemDeduction = new SafetySelfInspectionItemDeduction(); |
| | | safetySelfInspectionItemDeduction.setSafetyInspectionItemDeductionId(safetyInspectionItemDeduction.getId()); |
| | | safetySelfInspectionItemDeduction.setName(safetyInspectionItemDeduction.getName()); |
| | | safetySelfInspectionItemDeduction.setPoint(0); |
| | | oldSafetySelfInspectionItemDeductionList.add(safetySelfInspectionItemDeduction); |
| | | } |
| | | safetySelfInspectionItem.setSelfDeductionList(oldSafetySelfInspectionItemDeductionList); |
| | | }else{ |
| | | safetySelfInspectionItem.setSelfDeductionList(new ArrayList<>()); |
| | | } |
| | | }else if (safetySelfInspectionItem.getSafetyInspectionItemResult().equals(1)){ |
| | | //根据自查清单记录的检查项id获取其扣分项 |
| | | List<SafetySelfInspectionItemDeduction> selfDeductionList = safetySelfInspectionItemDeductionMapper.getBySafetySelfInspectionItemId(safetySelfInspectionItem.getId()); |
| | | if (CollectionUtils.isNotEmpty(selfDeductionList)){ |
| | | safetySelfInspectionItem.setSelfDeductionList(selfDeductionList); |
| | | } |
| | | } |
| | | } |
| | | return itemList; |
| | | } |
| | | |
| | | @Override |
| | | public SafetySelfInspectionItem itemInfoOne(Long id, UserInfo user){ |
| | | SafetySelfInspectionItem safetySelfInspectionItem = safetySelfInspectionItemMapper.getDetailById(id); |
| | | List<SafetySelfInspectionItemDeduction> selfDeductionList = safetySelfInspectionItemDeductionMapper.getBySafetySelfInspectionItemId(safetySelfInspectionItem.getId()); |
| | | List<InspectionHiddenDanger> inspectionHiddenDangerList = dangerService.getBySafetySelfInspectionItemId(id); |
| | | |
| | | if (CollectionUtils.isNotEmpty(selfDeductionList)){ |
| | | safetySelfInspectionItem.setSelfDeductionList(selfDeductionList); |
| | | }else{ |
| | |
| | | safetySelfInspectionItem.setSelfDeductionList(new ArrayList<>()); |
| | | } |
| | | } |
| | | safetySelfInspectionItem.setDangerList(inspectionHiddenDangerList); |
| | | return safetySelfInspectionItem; |
| | | } |
| | | |
| | | @Override |
| | | public void modItemInfo(SafetySelfInspectionItem param, UserInfo user) { |
| | | |
| | | if (param.getSafetyInspectionItemResult()==0 && StringUtils.isBlank(param.getSafetyInspectionItemResultDesc())){ |
| | | throw new BusinessException("否决说明必填!"); |
| | | } |
| | |
| | | if (param.getSafetyInspectionItemResult()==0 || param.getSafetyInspectionItemResult() == 2){ |
| | | //否决 合格--删除扣分记录 |
| | | safetySelfInspectionItemDeductionMapper.delBySafetySelfInspectionItemId(param.getId(),username,date); |
| | | //删除隐患 |
| | | dangerService.delByInspectionItemId(param.getSafetyInspectionItemId(),user); |
| | | }else{ |
| | | //扣分 |
| | | List<SafetySelfInspectionItemDeduction> list = safetySelfInspectionItemDeductionMapper.getBySafetySelfInspectionItemId(param.getId()); |
| | |
| | | safetySelfInspectionItemDeductionMapper.updateById(safetySelfInspectionItemDeduction); |
| | | } |
| | | } |
| | | //隐患 |
| | | if(CollectionUtils.isNotEmpty(param.getDangerList())){ |
| | | List<InspectionHiddenDanger> oldDangerList = dangerService.getBySafetySelfInspectionItemId(param.getId()); |
| | | //过滤出要删除数据 |
| | | List<InspectionHiddenDanger> deleteOldDangerList = oldDangerList.stream().parallel().filter(a -> |
| | | param.getDangerList().stream().noneMatch(b -> |
| | | a.getId().equals(b.getId()))) |
| | | .collect(Collectors.toList()); |
| | | //删除 |
| | | if (CollectionUtils.isNotEmpty(deleteOldDangerList)) { |
| | | List<Long> idList = deleteOldDangerList.stream().map(InspectionHiddenDanger::getId).collect(Collectors.toList()); |
| | | dangerService.delByIds(idList); |
| | | } |
| | | for (InspectionHiddenDanger inspectionHiddenDanger : param.getDangerList()) { |
| | | if(inspectionHiddenDanger.getId() == null){ |
| | | inspectionHiddenDanger.setCreateBy(user.getRealname()); |
| | | inspectionHiddenDanger.setCreateTime(new Date()); |
| | | inspectionHiddenDanger.setUpdateBy(user.getRealname()); |
| | | inspectionHiddenDanger.setUpdateTime(new Date()); |
| | | inspectionHiddenDanger.setStatus((byte)0); |
| | | inspectionHiddenDanger.setValidFlag(true); |
| | | inspectionHiddenDanger.setSelfInspectionId(param.getSafetySelfInspectionId()); |
| | | inspectionHiddenDanger.setSelfInspectionItemId(param.getId()); |
| | | dangerService.save(inspectionHiddenDanger); |
| | | }else { |
| | | inspectionHiddenDanger.setUpdateBy(user.getRealname()); |
| | | inspectionHiddenDanger.setUpdateTime(new Date()); |
| | | dangerService.updateById(inspectionHiddenDanger); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void finish(Long id, UserInfo user) { |
| | |
| | | safetySelfInspectionMapper.updateById(safetySelfInspection); |
| | | } |
| | | |
| | | @Override |
| | | public void addItemExpert(List<SafetySelfInspectionItem> itemList, UserInfo user) { |
| | | itemList.forEach(item -> { |
| | | item.setUpdateBy(user.getRealname()); |
| | | item.setUpdateTime(new Date()); |
| | | }); |
| | | safetySelfInspectionItemMapper.updateBatch(itemList); |
| | | } |
| | | |
| | | /** |
| | | * 查询验证 |
| | |
| | | if (param.getCheckedCompanyId() == null){ |
| | | throw new BusinessException("请选择被检查公司"); |
| | | } |
| | | if(CollectionUtils.isEmpty(param.getElementAList())){ |
| | | throw new BusinessException("请选择A检查要素"); |
| | | } |
| | | for(SafetyInspectionElementA elementA : param.getElementAList()){ |
| | | if(elementA.getElementA() == null){ |
| | | throw new BusinessException("请选择A检查要素"); |
| | | } |
| | | } |
| | | } |
| | | public void requiredSuperviseVerification(SafetySelfInspection param) { |
| | | if (StringUtils.isBlank(param.getInspectionName())) throw new BusinessException("请填写排查清单名称"); |
| | | if (param.getInspectionTime() == null) throw new BusinessException("请选择排查时间"); |
| | | if (CollectionUtils.isEmpty(param.getExpertList())) throw new BusinessException("请选择检查专家"); |
| | | for(InspectionExpert inspectionExpert : param.getExpertList()){ |
| | | if(inspectionExpert.getExpertId() == null){ |
| | | throw new BusinessException("请选择检查专家"); |
| | | } |
| | | if(StringUtils.isBlank(inspectionExpert.getName())){ |
| | | throw new BusinessException("请选择检查专家名字"); |
| | | } |
| | | if(inspectionExpert.getIsLeader() == null){ |
| | | throw new BusinessException("请选择组长或者组员"); |
| | | } |
| | | } |
| | | if (CollectionUtils.isEmpty(param.getItemList())) { |
| | | throw new BusinessException("请选择检查项"); |
| | | } |
| | | if (param.getCheckedCompanyId() == null){ |
| | | throw new BusinessException("请选择被检查公司"); |
| | | } |
| | | if(CollectionUtils.isEmpty(param.getElementAList())){ |
| | | throw new BusinessException("请选择A检查要素"); |
| | | } |
| | | for(SafetyInspectionElementA elementA : param.getElementAList()){ |
| | | if(elementA.getElementA() == null){ |
| | | throw new BusinessException("请选择A检查要素"); |
| | | } |
| | | } |
| | | } |
| | | } |