jinpengyong
2023-10-10 4319627cf67d19093a18ff724c21782e34fc7a26
Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into wb
1 files added
7 files modified
129 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/ChartController.java 3 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/SysDictTypeMapper.java 5 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java 35 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/SysDictTypeService.java 7 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java 4 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java 48 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/SysDictTypeMapper.xml 7 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/ChartController.java
@@ -174,7 +174,8 @@
            return ResultMessage.ok(resultMap);
        }
        if (type.equals("daily")){
            Object time = parameters.get("time");
            Object time = parameters.get("startTime");
            parameters.put("time",time);
            if (ObjectUtils.isEmpty(time)){
                return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
            }
screen-api/src/main/java/com/moral/api/mapper/SysDictTypeMapper.java
@@ -1,7 +1,11 @@
package com.moral.api.mapper;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,5 @@
 */
public interface SysDictTypeMapper extends BaseMapper<SysDictType> {
    List<SysDictData> selectCodeList(@Param("code") String code, @Param("id") String id);
}
screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java
New file
@@ -0,0 +1,35 @@
package com.moral.api.pojo.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
/**
 * @ClassName SysDictTypeEnum
 * @Description TODO
 * @Author @cjl
 * @Date 2023-10-10 8:58
 * @Version 1.0
 */
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum SysDictTypeEnum{
    /**
     *交办单
     */
    SYS_JBD("JBD", "交办单"),
    SYS_SECOND_CRUISER("ZHC","秒级走航车"),
    ;
    @EnumValue
    public  final String value;
    public  final String name;
    SysDictTypeEnum(String value, String name) {
        this.value = value;
        this.name = name;
    }
}
screen-api/src/main/java/com/moral/api/service/SysDictTypeService.java
@@ -1,7 +1,11 @@
package com.moral.api.service;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,7 @@
 */
public interface SysDictTypeService extends IService<SysDictType> {
    List<SysDictData> listAll(String code, String dataKey);
    SysDictData listOne(String code, String dataKey);
}
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -626,7 +626,7 @@
    public List<Integer>  unitResult() {
        QxUser user = UserHelper.getCurrentUser();
        Integer unitId = Objects.nonNull(user.getUnitId())?user.getUnitId():0;
        List<Integer> userList = responsibilityUnitMapper.selectCodeList("JBD",user.getUserId());
        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
        if(CollectionUtils.isNotEmpty(userList)){
            return new ArrayList<>();
        }
@@ -640,7 +640,7 @@
    @Override
    public Integer unitAreaCode() {
        QxUser user = UserHelper.getCurrentUser();
        List<Integer> userList = responsibilityUnitMapper.selectCodeList("JBD",user.getUserId());
        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
        if(CollectionUtils.isNotEmpty(userList)){
            return 1;
        }
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -4,23 +4,22 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.HistorySecondCruiser;
import com.moral.api.entity.Organization;
import com.moral.api.entity.SpecialDevice;
import com.moral.api.entity.SpecialDeviceHistory;
import com.moral.api.entity.TbDaily;
import com.moral.api.entity.*;
import com.moral.api.mapper.DailyMapper;
import com.moral.api.mapper.HistorySecondCruiserMapper;
import com.moral.api.mapper.SpecialDeviceMapper;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.pojo.bo.ExcelBO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserListDTO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultCountDTO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO;
import com.moral.api.pojo.enums.SysDictTypeEnum;
import com.moral.api.pojo.vo.excel.DailyVo;
import com.moral.api.service.OrganizationService;
import com.moral.api.service.SpecialDeviceHistoryService;
import com.moral.api.service.SpecialDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SysDictTypeService;
import com.moral.constant.Constants;
import com.moral.util.AmendUtils;
@@ -59,6 +58,9 @@
    @Autowired
    private HistorySecondCruiserMapper HistorySecondCruiserMapper;
    @Autowired
    private SysDictTypeService sysDictTypeService;
    @Autowired
    private SpecialDeviceHistoryService specialDeviceHistoryService;
@@ -148,12 +150,13 @@
    @Override
    public List<HistorySecondCruiserResultDTO> carTrajectoryNewAvg(Map<String, Object> params) {
        double range = Double.valueOf(params.get("range").toString());
        String type = params.get("type").toString();
        params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
        Integer orgId = (Integer) orgInfo.get("id");
        params.put("orgId", orgId);
        params.put("type","$."+params.get("type"));
        params.put("type","$."+type);
        //从秒数据表获取走航车数据
        List<HistorySecondCruiserListDTO> data = HistorySecondCruiserMapper.getCruiserDataNewAvg(params);
        data.removeIf(o->{
@@ -170,8 +173,39 @@
        if(CollectionUtils.isEmpty(data)){
            return null;
        }
        return filterDataNew(data,range);
        List<HistorySecondCruiserResultDTO> result = filterDataNew(data,range);
        if(CollectionUtils.isNotEmpty(result)){
            SysDictData list = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER.getValue(),type);
            if(list.getDataValue().contains(",")){
                List<String> resultStr = Arrays.asList(list.getDataValue().split(","));
                if(resultStr.size() % 2 ==0){
                    result.forEach(it->{
                        it.setAvgNum(numAvg(resultStr,it.getAvgNum()));
                    });
                }
            }else {
                BigDecimal dataValue = Objects.nonNull(list.getDataValue())?BigDecimal.valueOf(Integer.parseInt(list.getDataValue())):BigDecimal.ZERO;
                result.forEach(it->{
                    it.setAvgNum(it.getAvgNum().add(dataValue));
                });
            }
        }
        return result;
    }
    private BigDecimal numAvg(List<String> list , BigDecimal num){
        int nums = 1;
        for (int i=0;i<list.size();i=i+2){
            if(num.compareTo(BigDecimal.valueOf(Integer.parseInt(list.get(i))))>= 0 ){
                return num.add(BigDecimal.valueOf(Integer.parseInt(list.get(nums))));
            }
            nums+=2;
        }
        return num;
    }
    @Override
    public SpecialDevice getSpecialDeviceMapByMac(String mac) {
        QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper();
screen-api/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
@@ -1,10 +1,14 @@
package com.moral.api.service.impl;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.SysDictType;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.service.SysDictTypeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +21,20 @@
@Service
public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictType> implements SysDictTypeService {
    @Override
    public List<SysDictData> listAll(String code, String dataKey) {
        List<SysDictData> listAll = this.baseMapper.selectCodeList(code,dataKey);
        return listAll;
    }
    @Override
    public SysDictData listOne(String code, String dataKey) {
        List<SysDictData> list = listAll(code,dataKey);
        SysDictData sysDictData = new SysDictData();
        if (CollectionUtils.isNotEmpty(list)) {
            return list.get(0);
        }
        sysDictData.setDataValue("0");
        return sysDictData;
    }
}
screen-api/src/main/resources/mapper/SysDictTypeMapper.xml
@@ -12,5 +12,10 @@
                    <result column="update_time" property="updateTime" />
                    <result column="is_delete" property="isDelete" />
        </resultMap>
    <select id="selectCodeList" resultType="com.moral.api.entity.SysDictData">
        select t1.id,t1.dict_type_id,t1.dataKey,t1.dataValue from sys_dict_type t
                             left join sys_dict_data t1 on t1.dict_type_id = t.id
        where t.is_delete = 0 and t.name = #{code} and t1.dataKey = #{id} and t1.is_delete = 0
        order by t1.create_time desc
    </select>
</mapper>