已修改9个文件
154 ■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapRecordService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/group/index.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/group/index.html 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java
@@ -87,9 +87,13 @@
        }
        QueryWrapper<EventInfo> queryWrapper = new QueryWrapper<>();
        if (StringUtils.isNotBlank(param.getCompanyId())) {
            queryWrapper.eq("company_id", param.getCompanyId());
        if (StringUtils.isBlank(param.getCompanyId())) {
            param.setCompanyId(ContextUtil.getCompanyId());
        }
        queryWrapper.eq("company_id", param.getCompanyId());
        if (StringUtils.isNotBlank(param.getDeptId())) {
            queryWrapper.likeRight("dept_id", param.getDeptId());
        }
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -244,7 +244,7 @@
        InoutRecord record = new InoutRecord();
        BeanUtils.copyProperties(data, record);
        //保存
        int num = this.addInoutRecord(record);
        int num = this.addInoutRecord(record,true);
        //附件处理
        fileService.saveInoutFiles(data.getFiles(), record.getId(), null, "INOUT");
@@ -262,13 +262,13 @@
     * @param list
     * @return
     */
    public String addInoutRecordList(List<InoutRecord> list) {
    public String addInoutRecordList(List<InoutRecord> list,boolean isCache) {
        if (null == list || list.isEmpty()) {
            return "新增失败";
        }
        for (InoutRecord inoutRecord : list) {
            addInoutRecord(inoutRecord);
            addInoutRecord(inoutRecord,isCache);
        }
        return null;
@@ -280,10 +280,10 @@
     * @param data
     * @return
     */
    public int addInoutRecord(InoutRecord data) {
    public int addInoutRecord(InoutRecord data,boolean isCache) {
        if (StringUtils.isBlank(data.getId())) {
            String id = this.createId(data.getRegisterTime(), data.getCompanyId());
            String id = this.createId(data.getRegisterTime(), data.getCompanyId(),isCache);
            if (Constant.TYPE_IN.equals(data.getType())) {
                data.setId("R_" + id);
            } else if (Constant.TYPE_OUT.equals(data.getType())) {
@@ -595,7 +595,7 @@
     * @param companyId
     * @return
     */
    public String createId(Date registerTime, String companyId) {
    public String createId(Date registerTime, String companyId,boolean isCache) {
        // 时间戳标签
        String timeKey = DateFormatUtils.format(registerTime, "yyyyMMdd");
@@ -603,7 +603,10 @@
        // 从缓存中获取已有的组织编码
        String cacheKey = RedisConst.buildKey(companyId, Constant.CACHE_RECORD_ID);
        String cacheId = (String) redisCache.getCacheObject(cacheKey);
        String cacheId = null;
        if (isCache) {
            cacheId=(String) redisCache.getCacheObject(cacheKey);
        }
        if (null != cacheId && cacheId.indexOf(timeKey) >= 0) {
            String temp = cacheId.substring(cacheId.length() - 4);
@@ -668,7 +671,9 @@
        }
        // 更新缓存
        redisCache.setCacheObject(cacheKey, cacheId);
        if(isCache){
            redisCache.setCacheObject(cacheKey, cacheId);
        }
        return cacheId;
    }
@@ -683,9 +688,13 @@
    public boolean checkIdExists(String companyId, String id) {
        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("company_id", companyId);
        queryWrapper.eq("id", id);
        InoutRecord record = inoutRecordMapper.selectOne(queryWrapper);
        return null != record;
        //使用likeleft
        queryWrapper.likeLeft("id", id);
        List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
        if( null != inoutRecords && inoutRecords.size() > 0){
            return true;
        }
        return false;
    }
    /**
@@ -705,7 +714,6 @@
        queryWrapper.eq("company_id", companyId);
        queryWrapper.like("id", timeKey);
        queryWrapper.orderByDesc("register_time");
        queryWrapper.orderByDesc("id");
        List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
        if (null == inoutRecords || inoutRecords.isEmpty()) {
            return null;
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapRecordService.java
@@ -83,6 +83,10 @@
        }
        QueryWrapper<SnapRecord> queryWrapper = new QueryWrapper<>();
        if(StringUtils.isBlank(param.getCompanyId())){
             param.setCompanyId(ContextUtil.getCompanyId());
        }
        queryWrapper.eq("company_id", param.getCompanyId());
        if (StringUtils.isNotBlank(param.getDeptId())) {
            queryWrapper.likeRight("dept_id", param.getDeptId());
        }
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -25,8 +25,10 @@
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.Date;
import java.util.List;
/**
 * @Description 出入库详单页面管理
@@ -284,7 +286,7 @@
            }
            //新增数据
            String msg = inoutRecordService.addInoutRecordList(inoutRecords);
            String msg = inoutRecordService.addInoutRecordList(inoutRecords,false);
            if(null == msg){
                return BaseResp.success("导入成功,共计导入" + inoutRecords.size() + "条数据!"  );
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java
@@ -207,6 +207,19 @@
        return groupManager.indexDeptList(param);
    }
//    /**
//     * 首页--抓拍跟踪信息
//     *
//     * @param param
//     * @return
//     */
//    @RequestMapping("/index-snap-list")
//    @ResponseBody
//    public PageResponse<List<SnapRecord>> indexSnapList(@RequestBody IgdsBaseParam param) {
//
//        return groupManager.indexSnapList(param);
//    }
    /**
     * 首页--抓拍跟踪信息
     *
@@ -215,9 +228,9 @@
     */
    @RequestMapping("/index-snap-list")
    @ResponseBody
    public PageResponse<List<SnapRecord>> indexSnapList(@RequestBody IgdsBaseParam param) {
    public PageResponse<List<EventInfo>> indexSnapList(@RequestBody IgdsBaseParam param) {
        return groupManager.indexSnapList(param);
        return groupManager.indexEventInfoList(param);
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -13,14 +13,12 @@
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -695,4 +693,53 @@
        return new PageResponse<>(RespCodeEnum.CODE_0000, resultListSnap);
    }
    /**
     * 大屏首页-抓拍跟踪信息-展示AI时间图片
     * 展示图片的业务逻辑:每个库区展示一张,图片为当天十点以后最新的一张
     * @param param
     * @return
     */
    public PageResponse<List<EventInfo>> indexEventInfoList(IgdsBaseParam param) {
//        Date start =DateUtils.setHours(DateUtil.getNewByDay(new Date(), -3), 10);
        //param.setStart(start);
//        param.setEnd(DateUtil.getNewByDay(new Date(), -3));
        Date start =DateUtils.setHours(new Date(), 10);
        param.setStart(start);
        param.setEnd(new Date());
        //获取当日的抓拍信息
        List<EventInfo> listByParam = eventInfoService.getListByParam(param);
        if (null == listByParam || listByParam.isEmpty()) {
            return new PageResponse<>(RespCodeEnum.CODE_0000, new ArrayList<>());
        }
        //筛选time大于Start时间的数据
        listByParam = listByParam.stream().filter(info -> info.getTime().after(start)).collect(Collectors.toList());
        //获取所有的库区信息
        List<Dept> deptList = deptService.getDeptByUserType(null);
        //根据库区从listByParam来获取每一个库区下,最新的一张抓拍图片
        List<EventInfo> resultList = new ArrayList<>();
        for (Dept dept : deptList) {
            EventInfo latestEvent = null;
                //从listByParam中筛选出与当前id匹配的数据
            List<EventInfo> collect = listByParam.stream().filter(info -> info.getDeptId().equals(dept.getId())).collect(Collectors.toList());
            if (!collect.isEmpty()) {
                //根据时间排序并找到最新一条数据
                latestEvent = collect.stream().sorted(Comparator.comparing(EventInfo::getTime).reversed()).findFirst().get();
            }
            if (latestEvent != null) {
                resultList.add(latestEvent);
            }
        }
        if (null != resultList && !resultList.isEmpty()) {
            //判断文件是否存在
            for (EventInfo record : resultList) {
                record.setImgName(commonManager.isImgExit(record.getImgName(), null));
            }
        }
        return new PageResponse<>(RespCodeEnum.CODE_0000, resultList);
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
@@ -15,15 +15,16 @@
import com.fzzy.work.data.WorkStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.redis.RedisCache;
import lombok.extern.slf4j.Slf4j;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.scheduling.annotation.Async;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
 * @Description 出入库业务处理
@@ -230,7 +231,7 @@
        data.setRegisterUser(ContextUtil.getLoginUserName());
        data.setRegisterTime(new Date());
        num = inoutRecordService.addInoutRecord(data);
        num = inoutRecordService.addInoutRecord(data,true);
        if (num == 0) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "登记失败!", data);
fzzy-igdss-web/src/main/resources/static/group/index.js
@@ -99,7 +99,7 @@
            html += '<div class="item">';
            html += '<div class="pic">';
            html += '<img src="' + item.imgName + '" alt="">';
            html += '</div><div class="tit">' + item.snapTime + '</div>';
            html += '</div><div class="tit">' + item.time + '</div>';
            html += '<div class="tit" style="white-space: nowrap;">' + deptListMap[item.deptId] + '</div>';
            html += '</div></li>';
        })
@@ -502,12 +502,15 @@
    $("#depotBankNum").html(data.depotBankNum);
    /*----- 监管数量信息 -----*/
    if (data.foodSum.length > 8 || data.packFoodSum.length > 8) {
    // if (data.foodSum.length > 8 || data.packFoodSum.length > 8) {
    //     $("#foodSum").css("font-size", "32px");
    //     $("#packFoodSum").css("font-size", "32px");
    // }
    if (data.foodSum.length > 8) {
        $("#foodSum").css("font-size", "32px");
        $("#packFoodSum").css("font-size", "32px");
    }
    $("#foodSum").html(data.foodSum);
    $("#packFoodSum").html(data.packFoodSum);
    // $("#packFoodSum").html(data.packFoodSum);
    /*----- 分品种柱状图 -----*/
    if (data.xaxis.length > 0 && data.seriesData.length > 0) {
fzzy-igdss-web/src/main/resources/templates/group/index.html
@@ -258,14 +258,14 @@
                            <div class="lb-wrap">
                                <div class="lb-body">
                                    <ul class="right-topInfo-jg">
                                        <li>
                                        <li style="width: 100%">
                                            <p id="foodSum">0</p>
                                            <h3>散粮 (吨)</h3>
                                        </li>
                                        <li>
                                            <p id="packFoodSum">0</p>
                                            <h3>成品 (吨)</h3>
                                        </li>
<!--                                        <li>-->
<!--                                            <p id="packFoodSum">0</p>-->
<!--                                            <h3>成品 (吨)</h3>-->
<!--                                        </li>-->
                                    </ul>
                                </div>
                            </div><!-- lb-wrap end -->