|
@@ -7,13 +7,16 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.usky.common.core.bean.CommonPage;
|
|
|
+import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.fire.domain.DemEnforceReportAttach;
|
|
|
import com.usky.fire.domain.DemEnforceReportComplaint;
|
|
|
import com.usky.fire.domain.DemEnforceReportLabel;
|
|
|
+import com.usky.fire.domain.DemEnforceReportLabelAttribute;
|
|
|
import com.usky.fire.mapper.DemEnforceReportComplaintMapper;
|
|
|
import com.usky.fire.service.DemEnforceReportAttachService;
|
|
|
import com.usky.fire.service.DemEnforceReportComplaintService;
|
|
|
+import com.usky.fire.service.DemEnforceReportLabelAttributeService;
|
|
|
import com.usky.fire.service.DemEnforceReportLabelService;
|
|
|
import com.usky.fire.service.util.OnlineMethod;
|
|
|
import com.usky.fire.service.vo.ParameterVo;
|
|
@@ -43,6 +46,12 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
@Autowired
|
|
|
private DemEnforceReportLabelService demEnforceReportLabelService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DemEnforceReportLabelAttributeService demEnforceReportLabelAttributeService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DemEnforceReportLabelServiceImpl demEnforceReportLabelServiceImpl;
|
|
|
+
|
|
|
@Override
|
|
|
public CommonPage<Object> enforceReportComplaintList(String serialNumber, String reportPhone, Integer id, Integer pageNum, Integer pageSize) {
|
|
|
List<Object> list = new ArrayList<>();
|
|
@@ -54,8 +63,9 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
DemEnforceReportComplaint::getReportMethod, DemEnforceReportComplaint::getReportRecord, DemEnforceReportComplaint::getReportSource,
|
|
|
DemEnforceReportComplaint::getReportAddress, DemEnforceReportComplaint::getReportContent, DemEnforceReportComplaint::getReportTime,
|
|
|
DemEnforceReportComplaint::getAcceptTime, DemEnforceReportComplaint::getWorkOrderType, DemEnforceReportComplaint::getGovernCompany,
|
|
|
- DemEnforceReportComplaint::getGovernArea, DemEnforceReportComplaint::getFactFind, DemEnforceReportComplaint::getSatisfiedType,
|
|
|
- DemEnforceReportComplaint::getLabelId)
|
|
|
+ DemEnforceReportComplaint::getGovernArea, DemEnforceReportComplaint::getFactFind, DemEnforceReportComplaint::getTypeId1,
|
|
|
+ DemEnforceReportComplaint::getTypeId2, DemEnforceReportComplaint::getTypeId3, DemEnforceReportComplaint::getTypeId4,
|
|
|
+ DemEnforceReportComplaint::getTypeId5)
|
|
|
.eq(DemEnforceReportComplaint::getEnable, 0)
|
|
|
.like(StringUtils.isNotBlank(serialNumber), DemEnforceReportComplaint::getSerialNumber, serialNumber)
|
|
|
.like(StringUtils.isNotBlank(reportPhone), DemEnforceReportComplaint::getRepeatReport, reportPhone)
|
|
@@ -73,8 +83,7 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
.in(DemEnforceReportAttach::getReportId, reportIdList);
|
|
|
page1 = demEnforceReportAttachService.page(page1, queryWrapper1);
|
|
|
LambdaQueryWrapper<DemEnforceReportLabel> queryWrapper2 = Wrappers.lambdaQuery();
|
|
|
- queryWrapper2.select(DemEnforceReportLabel::getId, DemEnforceReportLabel::getLabelName)
|
|
|
- .eq(DemEnforceReportLabel::getFid, 0);
|
|
|
+ queryWrapper2.select(DemEnforceReportLabel::getId, DemEnforceReportLabel::getLabelName);
|
|
|
List<DemEnforceReportLabel> list1 = demEnforceReportLabelService.list(queryWrapper2);
|
|
|
for (int i = 0; i < page.getRecords().size(); i++) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
@@ -95,7 +104,16 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
map.put("governArea", page.getRecords().get(i).getGovernArea());
|
|
|
map.put("factFind", page.getRecords().get(i).getFactFind());
|
|
|
map.put("satisfiedType", page.getRecords().get(i).getSatisfiedType());
|
|
|
- map.put("labelId", page.getRecords().get(i).getLabelId());
|
|
|
+ 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("id1", null);
|
|
|
map.put("completeTime", null);
|
|
|
map.put("followUpStatus", null);
|
|
@@ -109,8 +127,20 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
}
|
|
|
}
|
|
|
for (int j = 0; j < list1.size(); j++) {
|
|
|
- if ((int) page.getRecords().get(i).getLabelId() == (int) list1.get(j).getId()) {
|
|
|
- map.put("labelName", list1.get(j).getLabelName());
|
|
|
+ if (page.getRecords().get(i).getTypeId1() != null && (int) page.getRecords().get(i).getTypeId1() == (int) list1.get(j).getId()) {
|
|
|
+ map.put("typeName1", list1.get(j).getLabelName());
|
|
|
+ }
|
|
|
+ if (page.getRecords().get(i).getTypeId2() != null && (int) page.getRecords().get(i).getTypeId2() == (int) list1.get(j).getId()) {
|
|
|
+ map.put("typeName2", list1.get(j).getLabelName());
|
|
|
+ }
|
|
|
+ if (page.getRecords().get(i).getTypeId3() != null && (int) page.getRecords().get(i).getTypeId3() == (int) list1.get(j).getId()) {
|
|
|
+ map.put("typeName3", list1.get(j).getLabelName());
|
|
|
+ }
|
|
|
+ if (page.getRecords().get(i).getTypeId4() != null && (int) page.getRecords().get(i).getTypeId4() == (int) list1.get(j).getId()) {
|
|
|
+ map.put("typeName4", list1.get(j).getLabelName());
|
|
|
+ }
|
|
|
+ if (page.getRecords().get(i).getTypeId5() != null && (int) page.getRecords().get(i).getTypeId5() == (int) list1.get(j).getId()) {
|
|
|
+ map.put("typeName5", list1.get(j).getLabelName());
|
|
|
}
|
|
|
}
|
|
|
list.add(map);
|
|
@@ -123,7 +153,28 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
@Override
|
|
|
public void addLabel(DemEnforceReportLabel demEnforceReportLabel) {
|
|
|
if (demEnforceReportLabel.getId() == 0) {
|
|
|
+ LambdaQueryWrapper<DemEnforceReportLabelAttribute> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ List<DemEnforceReportLabelAttribute> list = demEnforceReportLabelAttributeService.list(queryWrapper);
|
|
|
+ String typeAttribute = "typeName1";
|
|
|
+ if (list.size() > 1) {
|
|
|
+ List<String> typeIdList1 = new ArrayList<>();
|
|
|
+ typeIdList1.add("typeName1");
|
|
|
+ typeIdList1.add("typeName2");
|
|
|
+ typeIdList1.add("typeName3");
|
|
|
+ typeIdList1.add("typeName4");
|
|
|
+ typeIdList1.add("typeName5");
|
|
|
+ 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);
|
|
|
+ }
|
|
|
demEnforceReportLabelService.addEnforceReportLabel(demEnforceReportLabel);
|
|
|
+ DemEnforceReportLabelAttribute demEnforceReportLabelAttribute = new DemEnforceReportLabelAttribute();
|
|
|
+ demEnforceReportLabelAttribute.setLabelId(demEnforceReportLabel.getId());
|
|
|
+ demEnforceReportLabelAttribute.setAttribute(typeAttribute);
|
|
|
+ demEnforceReportLabelAttributeService.save(demEnforceReportLabelAttribute);
|
|
|
} else {
|
|
|
demEnforceReportLabelService.updateEnforceReportLabel(demEnforceReportLabel);
|
|
|
}
|
|
@@ -176,11 +227,29 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public void bindLabel(ParameterVo parameterVo) {
|
|
|
+ LambdaQueryWrapper<DemEnforceReportLabelAttribute> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(DemEnforceReportLabelAttribute::getLabelId, parameterVo.getLabelId());
|
|
|
+ List<DemEnforceReportLabelAttribute> list = demEnforceReportLabelAttributeService.list(queryWrapper);
|
|
|
for (int i = 0; i < parameterVo.getIdList().size(); i++) {
|
|
|
DemEnforceReportComplaint demEnforceReportComplaint = new DemEnforceReportComplaint();
|
|
|
demEnforceReportComplaint.setId(parameterVo.getIdList().get(i));
|
|
|
- demEnforceReportComplaint.setLabelId(parameterVo.getLabelId());
|
|
|
-// demEnforceReportComplaint.setTypeId(parameterVo.getClassifyId());
|
|
|
+ switch (list.get(0).getAttribute()) {
|
|
|
+ case "typeName1":
|
|
|
+ demEnforceReportComplaint.setTypeId1(parameterVo.getTypeId());
|
|
|
+ break;
|
|
|
+ case "typeName2":
|
|
|
+ demEnforceReportComplaint.setTypeId2(parameterVo.getTypeId());
|
|
|
+ break;
|
|
|
+ case "typeName3":
|
|
|
+ demEnforceReportComplaint.setTypeId3(parameterVo.getTypeId());
|
|
|
+ break;
|
|
|
+ case "typeName4":
|
|
|
+ demEnforceReportComplaint.setTypeId4(parameterVo.getTypeId());
|
|
|
+ break;
|
|
|
+ case "typeName5":
|
|
|
+ demEnforceReportComplaint.setTypeId5(parameterVo.getTypeId());
|
|
|
+ break;
|
|
|
+ }
|
|
|
this.updateById(demEnforceReportComplaint);
|
|
|
}
|
|
|
}
|
|
@@ -204,5 +273,54 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
|
|
|
this.updateById(demEnforceReportComplaint);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void abnormalData(DemEnforceReportLabel demEnforceReportLabel) {
|
|
|
+ List<Integer> typeIdList = new ArrayList<>();
|
|
|
+ if (demEnforceReportLabel.getId() != null && demEnforceReportLabel.getId() != 0) {
|
|
|
+ LambdaQueryWrapper<DemEnforceReportLabel> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper1.eq(DemEnforceReportLabel::getFid, demEnforceReportLabel.getId());
|
|
|
+ List<DemEnforceReportLabel> list1 = demEnforceReportLabelService.list(queryWrapper1);
|
|
|
+ for (int i = 0; i < list1.size(); i++) {
|
|
|
+ typeIdList.add(list1.get(i).getId());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ LambdaQueryWrapper<DemEnforceReportLabel> queryWrapper2 = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper2.eq(DemEnforceReportLabel::getLabelName, demEnforceReportLabel.getLabelName())
|
|
|
+ .eq(DemEnforceReportLabel::getFid, demEnforceReportLabel.getFid());
|
|
|
+ List<DemEnforceReportLabel> list2 = demEnforceReportLabelService.list(queryWrapper2);
|
|
|
+ for (int i = 0; i < list2.size(); i++) {
|
|
|
+ typeIdList.add(list2.get(i).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(typeIdList)) {
|
|
|
+ LambdaQueryWrapper<DemEnforceReportComplaint> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.in(DemEnforceReportComplaint::getTypeId1, typeIdList)
|
|
|
+ .or()
|
|
|
+ .in(DemEnforceReportComplaint::getTypeId2, typeIdList)
|
|
|
+ .or()
|
|
|
+ .in(DemEnforceReportComplaint::getTypeId3, typeIdList)
|
|
|
+ .or()
|
|
|
+ .in(DemEnforceReportComplaint::getTypeId4, typeIdList)
|
|
|
+ .or()
|
|
|
+ .in(DemEnforceReportComplaint::getTypeId5, typeIdList);
|
|
|
+ List<DemEnforceReportComplaint> list = this.list(queryWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ throw new BusinessException("标签/分类绑定中,不可删除");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delEnforceReportLabel(Integer id) {
|
|
|
+ DemEnforceReportLabel demEnforceReportLabel = new DemEnforceReportLabel();
|
|
|
+ demEnforceReportLabel.setId(id);
|
|
|
+ this.abnormalData(demEnforceReportLabel);
|
|
|
+ demEnforceReportLabelServiceImpl.removeById(id);
|
|
|
+ List<DemEnforceReportLabelAttribute> list = demEnforceReportLabelAttributeService.enforceReportLabelAttributeList(id);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ demEnforceReportLabelAttributeService.delEnforceReportLabelAttribute(list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|