无关风月
2 天以前 1fd6775420288be4dce934fe845328e9501bf023
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TLocationController.java
@@ -27,6 +27,7 @@
import com.ruoyi.system.service.*;
import com.ruoyi.system.utils.CustomerImportFailedData;
import com.ruoyi.system.vo.system.*;
import com.ruoyi.web.controller.tool.HighPrecisionCoordinateTransformUtil;
import com.sun.org.apache.bcel.internal.generic.NEW;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -45,6 +46,8 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
@@ -141,6 +144,9 @@
        List<String> collect = list.stream().map(TTask::getId).collect(Collectors.toList());
        List<LocationListTaskVO> res = new ArrayList<>();
        if (collect.isEmpty()){
            return R.ok(pageInfo);
        }
        List<TTaskDetail> taskDetails = tTaskDetailService.list(Wrappers.lambdaQuery(TTaskDetail.class)
                        .in(TTaskDetail::getTaskId,collect)
                .eq(TTaskDetail::getClearStatus, 2)
@@ -272,11 +278,18 @@
        List<String> strings = new ArrayList<>();
        strings.add(id);
        TProjectDept projectDept = projectDeptService.getById(id);
        if (projectDept.getParentId().equals("0")){
            List<String> collect = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId())
                    .list().stream().map(TProjectDept::getId).collect(Collectors.toList());
        if (projectDept!=null){
            if (projectDept.getParentId().equals("0")){
                List<String> collect = projectDeptService.lambdaQuery().eq(TProjectDept::getParentId, projectDept.getId())
                        .list().stream().map(TProjectDept::getId).collect(Collectors.toList());
                strings.addAll(collect);
            }
        }else{
            List<String> collect = deptService.lambdaQuery().eq(TDept::getId, id)
                    .list().stream().map(TDept::getId).collect(Collectors.toList());
            strings.addAll(collect);
        }
        List<SysUser> res = sysUserService.selectUserByDeptId(strings);
        return R.ok(res);
    }
@@ -381,6 +394,9 @@
        for (TLocationImportExcel locationExcel : locationExcelList) {
            System.err.println(locationExcel);
            if (locationExcel.getLocationName()==null){
                continue;
            }
            TLocation location = new TLocation();
            location.setLocationCode(locationExcel.getLocationCode());
            location.setLocationName(locationExcel.getLocationName());
@@ -389,13 +405,16 @@
                location.setLocationType(tLocationType.getId());
            }
            location.setLocationAddress(locationExcel.getLocationAddress());
            String[] addressLonLat = locationExcel.getLocationAddressLonLat().split(",");
            location.setLocationLon(addressLonLat[0]);
            location.setLocationLat(addressLonLat[1]);
            String[] addressLonLat = locationExcel.getLocationAddressLonLat().split("/");
            double[] start = HighPrecisionCoordinateTransformUtil.wgs84ToGcj02ViaGaode(Double.parseDouble(addressLonLat[1]), Double.parseDouble(addressLonLat[0]));
            location.setLocationLon(String.valueOf(start[1]));
            location.setLocationLat(String.valueOf(start[0]));
            location.setLocationAddressEnd(locationExcel.getLocationAddressEnd());
            String[] addressEndLonLat = locationExcel.getLocationAddressEndLonLat().split(",");
            location.setLocationLonEnd(addressEndLonLat[0]);
            location.setLocationLatEnd(addressEndLonLat[1]);
            String[] addressEndLonLat = locationExcel.getLocationAddressEndLonLat().split("/");
            double[] end = HighPrecisionCoordinateTransformUtil.wgs84ToGcj02ViaGaode(Double.parseDouble(addressEndLonLat[1]), Double.parseDouble(addressEndLonLat[0]));
            location.setLocationLonEnd(String.valueOf(end[1]));
            location.setLocationLatEnd(String.valueOf(end[0]));
            TProjectDept projectDept = deptList.stream().filter(dept -> dept.getCode().equals(locationExcel.getDeptCode())).findFirst().orElse(null);
            if(Objects.nonNull(projectDept)){
                location.setProjectId(projectDept.getId());
@@ -410,7 +429,8 @@
                result.append("路段名:[", locationExcel.getLocationName()+"]未查询到点位负责人");
                continue;
            }
            TCleaner tCleaner = cleaners.stream().filter(cleaner -> cleaner.getCleanerCode().equals(locationExcel.getCleanerCodeClear())
            TCleaner tCleaner = cleaners.stream().filter(cleaner -> cleaner.getCleanerCode().equals(
                    locationExcel.getCleanerCodeClear())
                    && cleaner.getDeptCode().equals(locationExcel.getDeptCodeClear())
                    && cleaner.getProjectCode().equals(locationExcel.getProjectCodeClear())
                    && cleaner.getCleanerName().equals(locationExcel.getCleanerName())).findFirst().orElse(null);
@@ -429,5 +449,10 @@
        return R.ok();
    }
    public static void main(String[] args) {
        BigDecimal divide = new BigDecimal("-23").divide(new BigDecimal("40"),2, RoundingMode.HALF_UP);
        System.err.println(divide);
    }
}