From dd59c95e87ba585c4e3e2f059e218853784402e5 Mon Sep 17 00:00:00 2001 From: zhangfeng <1603559716@qq.com> Date: 星期三, 26 七月 2023 11:17:31 +0800 Subject: [PATCH] 附件上传接口 --- src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetySelfInspectionImpl.java | 212 ++++++++++++++++++---------------------------------- 1 files changed, 74 insertions(+), 138 deletions(-) diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetySelfInspectionImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetySelfInspectionImpl.java index b8e40f0..eeab821 100644 --- a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetySelfInspectionImpl.java +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetySelfInspectionImpl.java @@ -53,9 +53,11 @@ private InspectionExpertService expertService; @Autowired private InspectionHiddenDangerService dangerService; + @Autowired + private AttachmentInfoService attachmentInfoService; /** - * @Description: 分页 + * @Description: 自查分页 */ @Override public IPage<SafetySelfInspection> selectPage(Page<SafetySelfInspection> page, Map<String, Object> filter, UserInfo user) { @@ -72,7 +74,7 @@ filter.put("city",user.getCity()); filter.put("area",user.getCounty()); } - filter.put("flag",0); + filter.put("flag",(byte)2); IPage<SafetySelfInspection> res = safetySelfInspectionMapper.selectPages(page, filter); List<SafetySelfInspection> records = res.getRecords(); @@ -97,7 +99,7 @@ } /** - * @Description: 分页 + * @Description: 监管检查分页 */ @Override public IPage<SafetySelfInspection> selectSupervisePage(Page<SafetySelfInspection> page, Map<String, Object> filter, UserInfo user) { @@ -114,7 +116,7 @@ filter.put("city",user.getCity()); filter.put("area",user.getCounty()); } - filter.put("flag",1); + filter.put("flag",(byte)1); IPage<SafetySelfInspection> res = safetySelfInspectionMapper.selectPages(page, filter); List<SafetySelfInspection> records = res.getRecords(); @@ -137,119 +139,7 @@ } 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; @@ -283,7 +173,7 @@ Date date = new Date(); String username = user.getRealname(); param.setValidFlag(Boolean.TRUE); - param.setFlag((byte) 0); + param.setFlag((byte) 2); param.setUpdateBy(username); param.setCreateBy(username); param.setUpdateTime(date); @@ -521,25 +411,23 @@ BeanUtils.copyProperties(safetySelfInspection,safetySelfInspectionRespDTO); //获取所有检查项 List<SafetySelfInspectionItem> itemList= safetySelfInspectionItemMapper.getDetailBySafetySelfInspectionId(id,unqualified); - //获取关联要素 - List<SafetyInspectionElementA> inspectionElementAList = safetyInspectionElementAService.getBySafetySelfInspectionId(id); + //获取要素树 + List<ElementTree> elementTreeList = elementManagementService.getMenuType1Tree(); 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); + if (CollectionUtils.isNotEmpty(elementTreeList)) { + for (ElementTree elementA : elementTreeList) { + + List<SafetySelfInspectionItem> selectElementList = itemList.stream().filter(item -> item.getElementA().equals(elementA.getValue())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(selectElementList)) { SafetySelfInspectionElementRespDTO elementARespDTO = new SafetySelfInspectionElementRespDTO(); - elementARespDTO.setElementId(otree.getValue()); - elementARespDTO.setElementName(otree.getLabel()); - elementARespDTO.setType(otree.getType()); + elementARespDTO.setElementId(elementA.getValue()); + elementARespDTO.setElementName(elementA.getLabel()); + elementARespDTO.setType(elementA.getType()); List<SafetySelfInspectionElementRespDTO> brespDTOList = new ArrayList<>(); //二级要素 - List<ElementTree> elementBList = otree.getChildren(); + List<ElementTree> elementBList = elementA.getChildren(); if(CollectionUtils.isNotEmpty(elementBList)){ for (ElementTree stree : elementBList) { SafetySelfInspectionElementRespDTO elementBRespDTO = new SafetySelfInspectionElementRespDTO(); @@ -669,6 +557,7 @@ SafetySelfInspectionItem safetySelfInspectionItem = safetySelfInspectionItemMapper.getDetailById(id); List<SafetySelfInspectionItemDeduction> selfDeductionList = safetySelfInspectionItemDeductionMapper.getBySafetySelfInspectionItemId(safetySelfInspectionItem.getId()); List<InspectionHiddenDanger> inspectionHiddenDangerList = dangerService.getBySafetySelfInspectionItemId(id); + List<AttachmentInfo> byBusinessId = attachmentInfoService.findByBusinessId(id); if (CollectionUtils.isNotEmpty(selfDeductionList)){ safetySelfInspectionItem.setSelfDeductionList(selfDeductionList); @@ -689,6 +578,20 @@ safetySelfInspectionItem.setSelfDeductionList(new ArrayList<>()); } } + for (InspectionHiddenDanger inspectionHiddenDanger : inspectionHiddenDangerList) { + if(StringUtils.isNotBlank(inspectionHiddenDanger.getUrl())){ + List<Long> attachmentIds = new ArrayList<>(); + String[] split = inspectionHiddenDanger.getUrl().split(","); + for (String s : split) { + attachmentIds.add(Long.valueOf(s)); + } + + List<AttachmentInfo> dangerAttachList = attachmentInfoService.findByIds(attachmentIds); + inspectionHiddenDanger.setAttachmentList(dangerAttachList); + } + + } + safetySelfInspectionItem.setAttachmentList(byBusinessId); safetySelfInspectionItem.setDangerList(inspectionHiddenDangerList); return safetySelfInspectionItem; } @@ -705,6 +608,15 @@ param.setUpdateTime(date); param.setUpdateBy(username); safetySelfInspectionItemMapper.updateById(param); + //附件 + List<AttachmentInfo> attachmentInfoList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(param.getAttachmentList())){ + for (AttachmentInfo attachmentInfo : param.getAttachmentList()) { + attachmentInfo.setBusinessId(param.getId()); + attachmentInfoList.add(attachmentInfo); + } + } + if (param.getSafetyInspectionItemResult()==0 || param.getSafetyInspectionItemResult() == 2){ //否决 合格--删除扣分记录 safetySelfInspectionItemDeductionMapper.delBySafetySelfInspectionItemId(param.getId(),username,date); @@ -747,6 +659,15 @@ dangerService.delByIds(idList); } for (InspectionHiddenDanger inspectionHiddenDanger : param.getDangerList()) { + StringBuffer stringBuffer = new StringBuffer(); + //附件 + if(CollectionUtils.isNotEmpty(inspectionHiddenDanger.getAttachmentList())){ + for (AttachmentInfo attachmentInfo : inspectionHiddenDanger.getAttachmentList()) { + stringBuffer.append(attachmentInfo.getId().toString()).append(","); + } + stringBuffer = stringBuffer.deleteCharAt(stringBuffer.length()-1); + } + if(inspectionHiddenDanger.getId() == null){ inspectionHiddenDanger.setCreateBy(user.getRealname()); inspectionHiddenDanger.setCreateTime(new Date()); @@ -756,14 +677,35 @@ inspectionHiddenDanger.setValidFlag(true); inspectionHiddenDanger.setSelfInspectionId(param.getSafetySelfInspectionId()); inspectionHiddenDanger.setSelfInspectionItemId(param.getId()); + inspectionHiddenDanger.setUrl(stringBuffer.toString()); dangerService.save(inspectionHiddenDanger); + //附件 + if(StringUtils.isNotBlank(inspectionHiddenDanger.getUrl())){ + for (AttachmentInfo attachmentInfo : inspectionHiddenDanger.getAttachmentList()) { + attachmentInfo.setBusinessId(inspectionHiddenDanger.getId()); + attachmentInfoList.add(attachmentInfo); + } + } }else { inspectionHiddenDanger.setUpdateBy(user.getRealname()); inspectionHiddenDanger.setUpdateTime(new Date()); + inspectionHiddenDanger.setUrl(stringBuffer.toString()); dangerService.updateById(inspectionHiddenDanger); + //附件 + if(CollectionUtils.isNotEmpty(inspectionHiddenDanger.getAttachmentList())){ + for (AttachmentInfo attachmentInfo : inspectionHiddenDanger.getAttachmentList()) { + attachmentInfo.setBusinessId(inspectionHiddenDanger.getId()); + attachmentInfoList.add(attachmentInfo); + } + } } } } + + } + //附件信息更新 + if(CollectionUtils.isNotEmpty(attachmentInfoList)){ + attachmentInfoService.updateBusinessIdBatch(attachmentInfoList); } } @@ -844,13 +786,7 @@ 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检查要素"); - } - } } + + } -- Gitblit v1.9.2