|  | @@ -11,10 +11,12 @@ import com.usky.common.core.exception.BusinessException;
 | 
	
		
			
				|  |  |  import com.usky.common.mybatis.core.AbstractCrudService;
 | 
	
		
			
				|  |  |  import com.usky.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.usky.fire.domain.DemFileLabel;
 | 
	
		
			
				|  |  | +import com.usky.fire.domain.DemFireLabelAttribute;
 | 
	
		
			
				|  |  |  import com.usky.fire.domain.DemFireStatistics;
 | 
	
		
			
				|  |  |  import com.usky.fire.domain.DemFireStatisticsAttach;
 | 
	
		
			
				|  |  |  import com.usky.fire.mapper.DemFireStatisticsMapper;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.DemFileLabelService;
 | 
	
		
			
				|  |  | +import com.usky.fire.service.DemFireLabelAttributeService;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.DemFireStatisticsAttachService;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.DemFireStatisticsService;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.util.OnlineMethod;
 | 
	
	
		
			
				|  | @@ -47,18 +49,53 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private DemFileLabelService demFileLabelService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private DemFireLabelAttributeService demFireLabelAttributeService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public CommonPage<Object> fireAccidentStatistic(String fireNumber, Integer labelId, Integer classifyId, Integer id, Integer pageNum, Integer pageSize) {
 | 
	
		
			
				|  |  | +    public CommonPage<Object> fireAccidentStatistic(String fireNumber, Integer labelId, Integer typeId, Integer id, Integer pageNum, Integer pageSize) {
 | 
	
		
			
				|  |  | +        Integer type1 = 0;
 | 
	
		
			
				|  |  | +        Integer type2 = 0;
 | 
	
		
			
				|  |  | +        Integer type3 = 0;
 | 
	
		
			
				|  |  | +        Integer type4 = 0;
 | 
	
		
			
				|  |  | +        Integer type5 = 0;
 | 
	
		
			
				|  |  | +        if (labelId != null && labelId != 0) {
 | 
	
		
			
				|  |  | +            LambdaQueryWrapper<DemFireLabelAttribute> queryWrapper1 = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | +            queryWrapper1.eq(DemFireLabelAttribute::getLabelId, labelId);
 | 
	
		
			
				|  |  | +            List<DemFireLabelAttribute> list1 = demFireLabelAttributeService.list(queryWrapper1);
 | 
	
		
			
				|  |  | +            if (list1.size() > 0) {
 | 
	
		
			
				|  |  | +                switch (list1.get(0).getAttribute()) {
 | 
	
		
			
				|  |  | +                    case "typeId1":
 | 
	
		
			
				|  |  | +                        type1 = typeId;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "typeId2":
 | 
	
		
			
				|  |  | +                        type2 = typeId;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "typeId3":
 | 
	
		
			
				|  |  | +                        type3 = typeId;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "typeId4":
 | 
	
		
			
				|  |  | +                        type4 = typeId;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case "typeId5":
 | 
	
		
			
				|  |  | +                        type5 = typeId;
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          IPage<DemFireStatistics> page = new Page<>(pageNum, pageSize);
 | 
	
		
			
				|  |  |          LambdaQueryWrapper<DemFireStatistics> queryWrapper = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  |          queryWrapper.select(DemFireStatistics::getBurnedArea, DemFireStatistics::getDirectPropertyLoss, DemFireStatistics::getVictimNumber,
 | 
	
		
			
				|  |  |                  DemFireStatistics::getInjuredNumber, DemFireStatistics::getDeathToll, DemFireStatistics::getFileCase, DemFireStatistics::getFireGrade,
 | 
	
		
			
				|  |  |                  DemFireStatistics::getSubordinateDetachment, DemFireStatistics::getAdministrativeDivision, DemFireStatistics::getFireNumber,
 | 
	
		
			
				|  |  | -                DemFireStatistics::getFireAddress, DemFireStatistics::getFireTime, DemFireStatistics::getId, DemFireStatistics::getLabelId,
 | 
	
		
			
				|  |  | -                DemFireStatistics::getClassifyId)
 | 
	
		
			
				|  |  | +                DemFireStatistics::getFireAddress, DemFireStatistics::getFireTime, DemFireStatistics::getId, DemFireStatistics::getTypeId1,
 | 
	
		
			
				|  |  | +                DemFireStatistics::getTypeId2, DemFireStatistics::getTypeId3, DemFireStatistics::getTypeId4, DemFireStatistics::getTypeId5)
 | 
	
		
			
				|  |  |                  .like(StringUtils.isNotBlank(fireNumber), DemFireStatistics::getFireNumber, fireNumber)
 | 
	
		
			
				|  |  | -                .eq(labelId != null && labelId != 0, DemFireStatistics::getLabelId, labelId)
 | 
	
		
			
				|  |  | -                .eq(classifyId != null & classifyId != 0, DemFireStatistics::getClassifyId, classifyId)
 | 
	
		
			
				|  |  | +                .eq(type1 != null && type1 != 0, DemFireStatistics::getTypeId1, type1)
 | 
	
		
			
				|  |  | +                .eq(type2 != null && type2 != 0, DemFireStatistics::getTypeId2, type2)
 | 
	
		
			
				|  |  | +                .eq(type3 != null && type3 != 0, DemFireStatistics::getTypeId3, type3)
 | 
	
		
			
				|  |  | +                .eq(type4 != null && type4 != 0, DemFireStatistics::getTypeId5, type4)
 | 
	
		
			
				|  |  | +                .eq(type5 != null && type5 != 0, DemFireStatistics::getTypeId5, type5)
 | 
	
		
			
				|  |  |                  .eq(id != null & id != 0, DemFireStatistics::getId, id)
 | 
	
		
			
				|  |  |                  .orderByDesc(DemFireStatistics::getId);
 | 
	
		
			
				|  |  |          page = this.page(page, queryWrapper);
 | 
	
	
		
			
				|  | @@ -68,17 +105,13 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |              List<Integer> labelIdList = new ArrayList<>();
 | 
	
		
			
				|  |  |              for (int i = 0; i < page.getTotal(); i++) {
 | 
	
		
			
				|  |  |                  fireNumberList.add(page.getRecords().get(i).getFireNumber());
 | 
	
		
			
				|  |  | -                labelIdList.add(page.getRecords().get(i).getLabelId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              List<DemFireStatisticsAttach> demFireStatisticsAttaches = new ArrayList<>();
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(fireNumberList)) {
 | 
	
		
			
				|  |  |                  demFireStatisticsAttaches = demFireStatisticsAttachService.fireAccidentStatistic(fireNumberList);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            List<DemFileLabel> demFileLabels = new ArrayList<>();
 | 
	
		
			
				|  |  | -            if (CollectionUtils.isNotEmpty(labelIdList)) {
 | 
	
		
			
				|  |  | -                demFileLabels = demFileLabelService.demFileLabelList(null, null, labelIdList);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            List<DemFileLabel> demFileLabels = demFileLabelService.demFileLabelList(null, null, null);
 | 
	
		
			
				|  |  |              for (int i = 0; i < page.getTotal(); i++) {
 | 
	
		
			
				|  |  |                  Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |                  map.put("id", page.getRecords().get(i).getId());
 | 
	
	
		
			
				|  | @@ -94,8 +127,16 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |                  map.put("fireNumber", page.getRecords().get(i).getFireNumber());
 | 
	
		
			
				|  |  |                  map.put("fireAddress", page.getRecords().get(i).getFireAddress());
 | 
	
		
			
				|  |  |                  map.put("fireTime", page.getRecords().get(i).getFireTime());
 | 
	
		
			
				|  |  | -                map.put("labelId", page.getRecords().get(i).getLabelId());
 | 
	
		
			
				|  |  | -                map.put("classifyId", page.getRecords().get(i).getClassifyId());
 | 
	
		
			
				|  |  | +                map.put("typeId1", page.getRecords().get(i).getTypeId1());
 | 
	
		
			
				|  |  | +                map.put("typeId2", page.getRecords().get(i).getTypeId2());
 | 
	
		
			
				|  |  | +                map.put("typeId3", page.getRecords().get(i).getTypeId3());
 | 
	
		
			
				|  |  | +                map.put("typeId4", page.getRecords().get(i).getTypeId4());
 | 
	
		
			
				|  |  | +                map.put("typeId5", page.getRecords().get(i).getTypeId5());
 | 
	
		
			
				|  |  | +                map.put("typeName1", null);
 | 
	
		
			
				|  |  | +                map.put("typeName2", null);
 | 
	
		
			
				|  |  | +                map.put("typeName3", null);
 | 
	
		
			
				|  |  | +                map.put("typeName4", null);
 | 
	
		
			
				|  |  | +                map.put("typeName5", null);
 | 
	
		
			
				|  |  |                  map.put("zid", null);
 | 
	
		
			
				|  |  |                  map.put("fireCauseType1", null);
 | 
	
		
			
				|  |  |                  map.put("fireSiteType1", null);
 | 
	
	
		
			
				|  | @@ -108,8 +149,20 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  for (int j = 0; j < demFileLabels.size(); j++) {
 | 
	
		
			
				|  |  | -                    if (page.getRecords().get(i).getLabelId() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | -                        map.put("labelName", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getTypeId1() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | +                        map.put("typeName1", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getTypeId2() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | +                        map.put("typeName2", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getTypeId3() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | +                        map.put("typeName3", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getTypeId4() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | +                        map.put("typeName4", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getTypeId4() == demFileLabels.get(j).getId()) {
 | 
	
		
			
				|  |  | +                        map.put("typeName5", demFileLabels.get(j).getLabelName());
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  list.add(map);
 | 
	
	
		
			
				|  | @@ -126,7 +179,28 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |              if (count > 0) {
 | 
	
		
			
				|  |  |                  throw new BusinessException("标签名不可重复");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            LambdaQueryWrapper<DemFireLabelAttribute> queryWrapper = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | +            List<DemFireLabelAttribute> list = demFireLabelAttributeService.list(queryWrapper);
 | 
	
		
			
				|  |  | +            String typeAttribute = "typeId1";
 | 
	
		
			
				|  |  | +            if (list.size() > 1) {
 | 
	
		
			
				|  |  | +                List<String> typeIdList1 = new ArrayList<>();
 | 
	
		
			
				|  |  | +                typeIdList1.add("typeId1");
 | 
	
		
			
				|  |  | +                typeIdList1.add("typeId2");
 | 
	
		
			
				|  |  | +                typeIdList1.add("typeId3");
 | 
	
		
			
				|  |  | +                typeIdList1.add("typeId4");
 | 
	
		
			
				|  |  | +                typeIdList1.add("typeId5");
 | 
	
		
			
				|  |  | +                List<String> typeIdList2 = new ArrayList<>();
 | 
	
		
			
				|  |  | +                for (int i = 0; i < list.size(); i++) {
 | 
	
		
			
				|  |  | +                    typeIdList2.add(list.get(i).getAttribute());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                List<String> typeIdList = OnlineMethod.subList2(typeIdList1, typeIdList2);
 | 
	
		
			
				|  |  | +                typeAttribute = typeIdList.get(0);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              demFileLabelService.addDemFileLabel(demFileLabel);
 | 
	
		
			
				|  |  | +            DemFireLabelAttribute demFireLabelAttribute = new DemFireLabelAttribute();
 | 
	
		
			
				|  |  | +            demFireLabelAttribute.setLabelId(demFileLabel.getId());
 | 
	
		
			
				|  |  | +            demFireLabelAttribute.setAttribute(typeAttribute);
 | 
	
		
			
				|  |  | +            demFireLabelAttributeService.save(demFireLabelAttribute);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              int count = demFileLabelService.demFileLabelCount(0, demFileLabel.getLabelName(), demFileLabel.getId());
 | 
	
		
			
				|  |  |              if (count > 0) {
 | 
	
	
		
			
				|  | @@ -229,11 +303,29 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void bindingLabel(ParameterVo parameterVo) {
 | 
	
		
			
				|  |  | +        LambdaQueryWrapper<DemFireLabelAttribute> queryWrapper = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | +        queryWrapper.eq(DemFireLabelAttribute::getLabelId, parameterVo.getLabelId());
 | 
	
		
			
				|  |  | +        List<DemFireLabelAttribute> list = demFireLabelAttributeService.list(queryWrapper);
 | 
	
		
			
				|  |  |          for (int i = 0; i < parameterVo.getIdList().size(); i++) {
 | 
	
		
			
				|  |  |              DemFireStatistics demFireStatistics = new DemFireStatistics();
 | 
	
		
			
				|  |  |              demFireStatistics.setId(parameterVo.getIdList().get(i));
 | 
	
		
			
				|  |  | -            demFireStatistics.setLabelId(parameterVo.getLabelId());
 | 
	
		
			
				|  |  | -            demFireStatistics.setClassifyId(parameterVo.getClassifyId());
 | 
	
		
			
				|  |  | +            switch (list.get(0).getAttribute()) {
 | 
	
		
			
				|  |  | +                case "typeId1":
 | 
	
		
			
				|  |  | +                    demFireStatistics.setTypeId1(parameterVo.getTypeId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case "typeId2":
 | 
	
		
			
				|  |  | +                    demFireStatistics.setTypeId2(parameterVo.getTypeId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case "typeId3":
 | 
	
		
			
				|  |  | +                    demFireStatistics.setTypeId3(parameterVo.getTypeId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case "typeId4":
 | 
	
		
			
				|  |  | +                    demFireStatistics.setTypeId4(parameterVo.getTypeId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +                case "typeId5":
 | 
	
		
			
				|  |  | +                    demFireStatistics.setTypeId5(parameterVo.getTypeId());
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              this.updateById(demFireStatistics);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -249,11 +341,14 @@ public class DemFireStatisticsServiceImpl extends AbstractCrudService<DemFireSta
 | 
	
		
			
				|  |  |          demFireStatistics.setBurnedArea(demFireStatisticsVo.getBurnedArea());
 | 
	
		
			
				|  |  |          demFireStatistics.setAdministrativeDivision(demFireStatisticsVo.getAdministrativeDivision());
 | 
	
		
			
				|  |  |          demFireStatistics.setFillTime(demFireStatisticsVo.getFireTime());
 | 
	
		
			
				|  |  | -        demFireStatistics.setClassifyId(demFireStatisticsVo.getClassifyId());
 | 
	
		
			
				|  |  |          demFireStatistics.setDeathToll(demFireStatisticsVo.getDeathToll());
 | 
	
		
			
				|  |  |          demFireStatistics.setFileCase(demFireStatisticsVo.getFileCase());
 | 
	
		
			
				|  |  |          demFireStatistics.setDirectPropertyLoss(demFireStatisticsVo.getDirectPropertyLoss());
 | 
	
		
			
				|  |  | -        demFireStatistics.setLabelId(demFireStatisticsVo.getLabelId());
 | 
	
		
			
				|  |  | +        demFireStatistics.setTypeId1(demFireStatisticsVo.getTypeId1());
 | 
	
		
			
				|  |  | +        demFireStatistics.setTypeId2(demFireStatisticsVo.getTypeId2());
 | 
	
		
			
				|  |  | +        demFireStatistics.setTypeId3(demFireStatisticsVo.getTypeId3());
 | 
	
		
			
				|  |  | +        demFireStatistics.setTypeId4(demFireStatisticsVo.getTypeId4());
 | 
	
		
			
				|  |  | +        demFireStatistics.setTypeId5(demFireStatisticsVo.getTypeId5());
 | 
	
		
			
				|  |  |          demFireStatistics.setInjuredNumber(demFireStatisticsVo.getInjuredNumber());
 | 
	
		
			
				|  |  |          demFireStatistics.setSubordinateDetachment(demFireStatisticsVo.getSubordinateDetachment());
 | 
	
		
			
				|  |  |          demFireStatistics.setVictimNumber(demFireStatisticsVo.getVictimNumber());
 |