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 -->