|  | @@ -6,17 +6,25 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 | 
	
		
			
				|  |  |  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.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.mapper.DemEnforceReportComplaintMapper;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.DemEnforceReportAttachService;
 | 
	
		
			
				|  |  |  import com.usky.fire.service.DemEnforceReportComplaintService;
 | 
	
		
			
				|  |  | -import com.usky.common.mybatis.core.AbstractCrudService;
 | 
	
		
			
				|  |  | +import com.usky.fire.service.DemEnforceReportLabelService;
 | 
	
		
			
				|  |  | +import com.usky.fire.service.util.OnlineMethod;
 | 
	
		
			
				|  |  | +import com.usky.fire.service.vo.ParameterVo;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * <p>
 | 
	
	
		
			
				|  | @@ -32,27 +40,169 @@ public class DemEnforceReportComplaintServiceImpl extends AbstractCrudService<De
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private DemEnforceReportAttachService demEnforceReportAttachService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public void enforceReportComplaintList(String serialNumber, String reportPhone, Integer pageNum, Integer pageSize){
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private DemEnforceReportLabelService demEnforceReportLabelService;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public CommonPage<Object> enforceReportComplaintList(String serialNumber, String reportPhone, Integer id, Integer pageNum, Integer pageSize) {
 | 
	
		
			
				|  |  |          List<Object> list = new ArrayList<>();
 | 
	
		
			
				|  |  |          IPage<DemEnforceReportComplaint> page = new Page<>(pageNum, pageSize);
 | 
	
		
			
				|  |  |          IPage<DemEnforceReportAttach> page1 = new Page<>(pageNum, pageSize);
 | 
	
		
			
				|  |  |          LambdaQueryWrapper<DemEnforceReportComplaint> queryWrapper = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | -        queryWrapper.select()
 | 
	
		
			
				|  |  | -                .eq(DemEnforceReportComplaint::getEnable,0)
 | 
	
		
			
				|  |  | -                .like(StringUtils.isNotBlank(serialNumber),DemEnforceReportComplaint::getSerialNumber,serialNumber)
 | 
	
		
			
				|  |  | -                .like(StringUtils.isNotBlank(reportPhone),DemEnforceReportComplaint::getRepeatReport,reportPhone)
 | 
	
		
			
				|  |  | +        queryWrapper.select(DemEnforceReportComplaint::getId, DemEnforceReportComplaint::getReportId, DemEnforceReportComplaint::getSerialNumber,
 | 
	
		
			
				|  |  | +                DemEnforceReportComplaint::getReportPhone, DemEnforceReportComplaint::getReportPerson, DemEnforceReportComplaint::getWorkOrderStatus,
 | 
	
		
			
				|  |  | +                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)
 | 
	
		
			
				|  |  | +                .eq(DemEnforceReportComplaint::getEnable, 0)
 | 
	
		
			
				|  |  | +                .like(StringUtils.isNotBlank(serialNumber), DemEnforceReportComplaint::getSerialNumber, serialNumber)
 | 
	
		
			
				|  |  | +                .like(StringUtils.isNotBlank(reportPhone), DemEnforceReportComplaint::getRepeatReport, reportPhone)
 | 
	
		
			
				|  |  | +                .eq(id != 0 & id != null, DemEnforceReportComplaint::getId, id)
 | 
	
		
			
				|  |  |                  .orderByDesc(DemEnforceReportComplaint::getId);
 | 
	
		
			
				|  |  |          page = this.page(page, queryWrapper);
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isNotEmpty(page.getRecords())){
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(page.getRecords())) {
 | 
	
		
			
				|  |  |              List<String> reportIdList = new ArrayList<>();
 | 
	
		
			
				|  |  |              for (int i = 0; i < page.getRecords().size(); i++) {
 | 
	
		
			
				|  |  |                  reportIdList.add(page.getRecords().get(i).getReportId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              LambdaQueryWrapper<DemEnforceReportAttach> queryWrapper1 = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | -            queryWrapper1.select()
 | 
	
		
			
				|  |  | -                    .in(DemEnforceReportAttach::getReportId,reportIdList);
 | 
	
		
			
				|  |  | -            page1=demEnforceReportAttachService.page(page1, queryWrapper1);
 | 
	
		
			
				|  |  | +            queryWrapper1.select(DemEnforceReportAttach::getId, DemEnforceReportAttach::getReportId,
 | 
	
		
			
				|  |  | +                    DemEnforceReportAttach::getCompleteTime, DemEnforceReportAttach::getFollowUpStatus)
 | 
	
		
			
				|  |  | +                    .in(DemEnforceReportAttach::getReportId, reportIdList);
 | 
	
		
			
				|  |  | +            page1 = demEnforceReportAttachService.page(page1, queryWrapper1);
 | 
	
		
			
				|  |  | +            LambdaQueryWrapper<DemEnforceReportLabel> queryWrapper2 = Wrappers.lambdaQuery();
 | 
	
		
			
				|  |  | +            queryWrapper2.select(DemEnforceReportLabel::getId, DemEnforceReportLabel::getLabelName)
 | 
	
		
			
				|  |  | +                    .eq(DemEnforceReportLabel::getFid, 0);
 | 
	
		
			
				|  |  | +            List<DemEnforceReportLabel> list1 = demEnforceReportLabelService.list(queryWrapper2);
 | 
	
		
			
				|  |  | +            for (int i = 0; i < page.getRecords().size(); i++) {
 | 
	
		
			
				|  |  | +                Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | +                map.put("id", page.getRecords().get(i).getId());
 | 
	
		
			
				|  |  | +                map.put("serialNumber", page.getRecords().get(i).getSerialNumber());
 | 
	
		
			
				|  |  | +                map.put("reportPhone", page.getRecords().get(i).getReportPhone());
 | 
	
		
			
				|  |  | +                map.put("reportPerson", page.getRecords().get(i).getReportPerson());
 | 
	
		
			
				|  |  | +                map.put("workOrderStatus", page.getRecords().get(i).getWorkOrderStatus());
 | 
	
		
			
				|  |  | +                map.put("reportMethod", page.getRecords().get(i).getReportMethod());
 | 
	
		
			
				|  |  | +                map.put("reportRecord", page.getRecords().get(i).getReportRecord());
 | 
	
		
			
				|  |  | +                map.put("reportSource", page.getRecords().get(i).getReportSource());
 | 
	
		
			
				|  |  | +                map.put("reportAddress", page.getRecords().get(i).getReportAddress());
 | 
	
		
			
				|  |  | +                map.put("reportContent", page.getRecords().get(i).getReportContent());
 | 
	
		
			
				|  |  | +                map.put("reportTime", page.getRecords().get(i).getReportTime());
 | 
	
		
			
				|  |  | +                map.put("acceptTime", page.getRecords().get(i).getAcceptTime());
 | 
	
		
			
				|  |  | +                map.put("workOrderType", page.getRecords().get(i).getWorkOrderType());
 | 
	
		
			
				|  |  | +                map.put("governCompany", page.getRecords().get(i).getGovernCompany());
 | 
	
		
			
				|  |  | +                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("id1", null);
 | 
	
		
			
				|  |  | +                map.put("completeTime", null);
 | 
	
		
			
				|  |  | +                map.put("followUpStatus", null);
 | 
	
		
			
				|  |  | +                map.put("labelName", null);
 | 
	
		
			
				|  |  | +                for (int j = 0; j < page1.getRecords().size(); j++) {
 | 
	
		
			
				|  |  | +                    if (page.getRecords().get(i).getReportId().equals(page1.getRecords().get(j).getReportId())) {
 | 
	
		
			
				|  |  | +                        map.put("id1", page1.getRecords().get(j).getId());
 | 
	
		
			
				|  |  | +                        map.put("completeTime", page1.getRecords().get(j).getCompleteTime());
 | 
	
		
			
				|  |  | +                        map.put("followUpStatus", page1.getRecords().get(j).getFollowUpStatus());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                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());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                list.add(map);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return new CommonPage<>(list, page.getTotal(), pageSize, pageNum);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void addLabel(DemEnforceReportLabel demEnforceReportLabel) {
 | 
	
		
			
				|  |  | +        if (demEnforceReportLabel.getId() == 0) {
 | 
	
		
			
				|  |  | +            demEnforceReportLabelService.addEnforceReportLabel(demEnforceReportLabel);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            demEnforceReportLabelService.updateEnforceReportLabel(demEnforceReportLabel);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        int fid = demEnforceReportLabel.getId();
 | 
	
		
			
				|  |  | +        List<DemEnforceReportLabel> demEnforceReportLabel1 = demEnforceReportLabel.getSubset();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(demEnforceReportLabel1)) {
 | 
	
		
			
				|  |  | +            List<DemEnforceReportLabel> demEnforceReportLabel2 = new ArrayList<>();
 | 
	
		
			
				|  |  | +            List<DemEnforceReportLabel> demEnforceReportLabel3 = new ArrayList<>();
 | 
	
		
			
				|  |  | +            List<String> idList1 = new ArrayList<>();
 | 
	
		
			
				|  |  | +            List<String> idList2 = new ArrayList<>();
 | 
	
		
			
				|  |  | +            for (int i = 0; i < demEnforceReportLabel1.size(); i++) {
 | 
	
		
			
				|  |  | +                if (demEnforceReportLabel1.get(i).getId() == 0) {
 | 
	
		
			
				|  |  | +                    demEnforceReportLabel2.add(demEnforceReportLabel1.get(i));
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    demEnforceReportLabel3.add(demEnforceReportLabel1.get(i));
 | 
	
		
			
				|  |  | +                    idList1.add(demEnforceReportLabel1.get(i).getId() + "");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            List<DemEnforceReportLabel> demLabels = demEnforceReportLabelService.enforceReportLabelSelect(fid);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(demLabels)) {
 | 
	
		
			
				|  |  | +                for (int i = 0; i < demLabels.size(); i++) {
 | 
	
		
			
				|  |  | +                    idList2.add(demLabels.get(i).getId() + "");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //删除
 | 
	
		
			
				|  |  | +            List<String> idlist = OnlineMethod.subList2(idList2, idList1);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(idlist)) {
 | 
	
		
			
				|  |  | +                for (int i = 0; i < idlist.size(); i++) {
 | 
	
		
			
				|  |  | +                    demEnforceReportLabelService.delEnforceReportLabel(Integer.parseInt(idlist.get(i)));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //修改
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(demEnforceReportLabel3)) {
 | 
	
		
			
				|  |  | +                for (int i = 0; i < demEnforceReportLabel3.size(); i++) {
 | 
	
		
			
				|  |  | +                    demEnforceReportLabelService.updateEnforceReportLabel(demEnforceReportLabel3.get(i));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //新增
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(demEnforceReportLabel2)) {
 | 
	
		
			
				|  |  | +                for (int i = 0; i < demEnforceReportLabel2.size(); i++) {
 | 
	
		
			
				|  |  | +                    demEnforceReportLabel2.get(i).setFid(fid);
 | 
	
		
			
				|  |  | +                    demEnforceReportLabelService.addEnforceReportLabel(demEnforceReportLabel2.get(i));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void bindLabel(ParameterVo parameterVo) {
 | 
	
		
			
				|  |  | +        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());
 | 
	
		
			
				|  |  | +            this.updateById(demEnforceReportComplaint);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void updateEnforceReportComplaint(DemEnforceReportComplaint demEnforceReportComplaint) {
 | 
	
		
			
				|  |  | +        this.updateById(demEnforceReportComplaint);
 | 
	
		
			
				|  |  | +        DemEnforceReportAttach demEnforceReportAttach = new DemEnforceReportAttach();
 | 
	
		
			
				|  |  | +        demEnforceReportAttach.setId(demEnforceReportComplaint.getId1());
 | 
	
		
			
				|  |  | +        demEnforceReportAttach.setCompleteTime(demEnforceReportComplaint.getCompleteTime());
 | 
	
		
			
				|  |  | +        demEnforceReportAttach.setFollowUpStatus(demEnforceReportComplaint.getFollowUpStatus());
 | 
	
		
			
				|  |  | +        demEnforceReportAttachService.updateById(demEnforceReportAttach);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void delEnforceReportComplaint(Integer id) {
 | 
	
		
			
				|  |  | +        DemEnforceReportComplaint demEnforceReportComplaint = new DemEnforceReportComplaint();
 | 
	
		
			
				|  |  | +        demEnforceReportComplaint.setId(id);
 | 
	
		
			
				|  |  | +        demEnforceReportComplaint.setEnable(1);
 | 
	
		
			
				|  |  | +        this.updateById(demEnforceReportComplaint);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |