| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.data; |
| | | |
| | | import lombok.Data; |
| | | import java.io.Serializable; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description é¦é¡µä¿¡æ¯ç»è®¡å°è£
|
| | | * @Author CZT |
| | | * @Date 2025/12/23 10:28 |
| | | */ |
| | | @Data |
| | | public class MainData implements Serializable { |
| | | |
| | | /** |
| | | * 第ä¸è¡ç»è®¡ |
| | | */ |
| | | private Integer orderNum = 0; //å¾
å工忰 |
| | | private Double inSum = 0.0; //仿¥å
¥åºæ°é |
| | | private Double outSum = 0.0; //仿¥åºåºæ°é; |
| | | private Integer aiNum = 0; //è¿7天AIäºä»¶æ°; |
| | | |
| | | /** |
| | | * 第äºè¡ç»è®¡ |
| | | */ |
| | | private Integer inNumDay = 0; //æ¥å
¥åºè½¦æ°; |
| | | private Integer outNumDay = 0; //æ¥åºåºè½¦æ°; |
| | | |
| | | //åºå
¥åºå¨ç»è®¡ |
| | | private List<String> weekDateList = new ArrayList<>(); |
| | | private List<Integer> weekInNumList = new ArrayList<>(); |
| | | private List<Integer> weekOutNumList = new ArrayList<>(); |
| | | |
| | | //åºå
¥åºæç»è®¡ |
| | | private List<String> monthDateList = new ArrayList<>(); |
| | | private List<Integer> monthInNumList = new ArrayList<>(); |
| | | private List<Integer> monthOutNumList = new ArrayList<>(); |
| | | |
| | | //AIäºä»¶å¨ç»è®¡ |
| | | private List<String> weekAiDateList = new ArrayList<>(); |
| | | private List<Integer> weekAiNumList = new ArrayList<>(); |
| | | |
| | | //ææå¨ç»è®¡ |
| | | private List<String> weekSnapDateList = new ArrayList<>(); |
| | | private List<Integer> weekSnapNumList = new ArrayList<>(); |
| | | |
| | | } |
| | |
| | | if(StringUtils.isNotBlank(parentId)){ |
| | | queryWrapper.likeRight("id", parentId); |
| | | } |
| | | |
| | | queryWrapper.orderByAsc("id"); |
| | | return coreDeptMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | |
| | | import com.fzzy.igds.domain.EventInfo; |
| | | import com.fzzy.igds.mapper.EventInfoMapper; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.fzzy.igds.utils.DateUtil; |
| | | import com.fzzy.work.domain.WorkOrder; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | return queryWrapper; |
| | | } |
| | | |
| | | public List<EventInfo> listAll(IgdsBaseParam param) { |
| | | if (null == param) |
| | | return eventInfoMapper.selectList(null); |
| | | /** |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public List<EventInfo> getListByParam(IgdsBaseParam param) { |
| | | if (null == param){ |
| | | param = new IgdsBaseParam(); |
| | | } |
| | | |
| | | QueryWrapper<EventInfo> queryWrapper = new QueryWrapper<>(); |
| | | if (StringUtils.isNotEmpty(param.getName())) { |
| | | queryWrapper.like("name", param.getName()); |
| | | if (StringUtils.isNotBlank(param.getDeptId())) { |
| | | queryWrapper.likeRight("dept_id", param.getDeptId()); |
| | | } |
| | | if (null != param.getStart()) { |
| | | queryWrapper.ge("time", DateUtil.getCurZero(param.getStart())); |
| | | } |
| | | if (null != param.getEnd()) { |
| | | queryWrapper.le("time", DateUtil.getNextZero(param.getEnd())); |
| | | } |
| | | |
| | | return eventInfoMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | public BaseResp addData(EventInfo eventInfo) { |
| | | eventInfo.setId(ContextUtil.generateId()); |
| | | eventInfo.setCompanyId(ContextUtil.getCompanyId()); |
| | | eventInfo.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | eventInfo.setUpdateTime(new Date()); |
| | | eventInfo.setCreateBy(ContextUtil.getLoginUserName()); |
| | | eventInfo.setCreateTime(new Date()); |
| | | return eventInfoMapper.insert(eventInfo) > 0 ? BaseResp.success() : BaseResp.error("æ·»å 失败"); |
| | | } |
| | | |
| | | public BaseResp updateData(EventInfo eventInfo) { |
| | | eventInfo.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | eventInfo.setUpdateTime(new Date()); |
| | | return eventInfoMapper.updateById(eventInfo) > 0 ? BaseResp.success() : BaseResp.error("æ´æ°å¤±è´¥"); |
| | | } |
| | | |
| | | public BaseResp deleteData(EventInfo eventInfo) { |
| | | return eventInfoMapper.deleteById(eventInfo) > 0 ? BaseResp.success() : BaseResp.error("å é¤å¤±è´¥"); |
| | | } |
| | | } |
| | |
| | | queryWrapper.eq("company_id", param.getCompanyId()); |
| | | } |
| | | if (StringUtils.isNotBlank(param.getDeptId())) { |
| | | queryWrapper.eq("dept_id", param.getDeptId()); |
| | | queryWrapper.likeRight("dept_id", param.getDeptId()); |
| | | } |
| | | if (StringUtils.isNotBlank(param.getCustomerName())) { |
| | | queryWrapper.like("customer_name", param.getCustomerName()); |
| | |
| | | import com.fzzy.igds.domain.SnapRecord; |
| | | import com.fzzy.igds.mapper.SnapRecordMapper; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.fzzy.igds.utils.DateUtil; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | * @author sgj |
| | | * @date 2025/12/10 |
| | | */ |
| | | public List<SnapRecord> listAll(IgdsBaseParam param) { |
| | | |
| | | if (null == param) |
| | | return snapRecordMapper.selectList(null); |
| | | public List<SnapRecord> getListByParam(IgdsBaseParam param) { |
| | | if (null == param){ |
| | | param = new IgdsBaseParam(); |
| | | } |
| | | |
| | | QueryWrapper<SnapRecord> queryWrapper = new QueryWrapper<>(); |
| | | if (StringUtils.isNotEmpty(param.getName())) { |
| | | queryWrapper.like("name", param.getName()); |
| | | if (StringUtils.isNotBlank(param.getDeptId())) { |
| | | queryWrapper.likeRight("dept_id", param.getDeptId()); |
| | | } |
| | | if (null != param.getStart()) { |
| | | queryWrapper.ge("snap_time", DateUtil.getCurZero(param.getStart())); |
| | | } |
| | | if (null != param.getEnd()) { |
| | | queryWrapper.le("snap_time", DateUtil.getNextZero(param.getEnd())); |
| | | } |
| | | return snapRecordMapper.selectList(queryWrapper); |
| | | } |
| | |
| | | import com.fzzy.work.mapper.WorkOrderMapper; |
| | | import com.ruoyi.common.core.domain.entity.SysDictData; |
| | | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * è·åç¨æ·å¾
å¤ç工忰 |
| | | * @param status |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | public Integer getNumByUser(String status, String userId) { |
| | | |
| | | QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>(); |
| | | if(StringUtils.isBlank(userId) || StringUtils.isBlank(status)){ |
| | | return 0; |
| | | } |
| | | |
| | | queryWrapper.eq("assignee_id", userId); |
| | | queryWrapper.eq("status", status); |
| | | |
| | | return workOrderMapper.selectCount(queryWrapper); |
| | | } |
| | | } |
| | |
| | | //åºåºè½¬æ¢ |
| | | Map<String, PatrolSuperData> map = new HashMap<>(); |
| | | for (Dept dept : deptList) { |
| | | map.put(dept.getId(), new PatrolSuperData(dept.getCompanyId(), dept.getId())); |
| | | map.put(dept.getId(), new PatrolSuperData(dept.getId().substring(0,(dept.getId().length()-3)), dept.getId())); |
| | | } |
| | | |
| | | List<Patrol> weekList = patrolService.getWeekList(); |
| | |
| | | } |
| | | } |
| | | |
| | | return new ArrayList<>(map.values()); |
| | | ArrayList<PatrolSuperData> list = new ArrayList<>(map.values()); |
| | | Collections.sort(list, new Comparator<PatrolSuperData>() { |
| | | @Override |
| | | public int compare(PatrolSuperData o1, PatrolSuperData o2) { |
| | | return o1.getDeptId().compareTo(o2.getDeptId()); |
| | | } |
| | | }); |
| | | return list; |
| | | } |
| | | |
| | | /*-------------------çµåå·¡æ´è®°å½ä¸»è¡¨ä¿¡æ¯--------------------*/ |
| | |
| | | </PropertyDef> |
| | | <PropertyDef name="companyId"> |
| | | <Property></Property> |
| | | <Property name="label">ç³»ç»ç»ç»ç¼ç </Property> |
| | | <Property name="label">æ¶å¨å
¬å¸</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("companyPR#getData").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">dwmc</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="weekNum"> |
| | | <Property name="dataType">Integer</Property> |
| | |
| | | <Property name="selectionMode">singleRow</Property> |
| | | <RowSelectorColumn/> |
| | | <RowNumColumn/> |
| | | <DataColumn name="companyId"> |
| | | <Property name="property">companyId</Property> |
| | | </DataColumn> |
| | | <DataColumn name="deptId"> |
| | | <Property name="property">deptId</Property> |
| | | </DataColumn> |
| | |
| | | <Property name="property">isPatrol</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">120</Property> |
| | | </DataColumn> |
| | | <DataColumn name="remark"> |
| | | <Property name="property">remark</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn name="updateTime"> |
| | | <Property name="property">updateTime</Property> |
| | |
| | | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.constant.DepotType; |
| | | import com.fzzy.igds.data.IgdsBaseParam; |
| | | import com.fzzy.igds.data.MainData; |
| | | import com.fzzy.igds.data.InoutParam; |
| | | import com.fzzy.igds.domain.*; |
| | | import com.fzzy.igds.service.*; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.fzzy.igds.utils.DateUtil; |
| | | import com.fzzy.work.data.OrderStatus; |
| | | import com.fzzy.work.service.WorkOrderService; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysDictData; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.service.ISysDeptService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @Description |
| | |
| | | @Autowired |
| | | private SecCameraService secCameraService; |
| | | @Resource |
| | | private ISysUserService userService; |
| | | @Resource |
| | | private ISysDeptService iSysDeptService; |
| | | @Resource |
| | | private FileService fileService; |
| | |
| | | private CoreCompanyService coreCompanyService; |
| | | @Resource |
| | | private SloganService sloganService; |
| | | @Resource |
| | | private WorkOrderService workOrderService; |
| | | @Resource |
| | | private InoutRecordService inoutRecordService; |
| | | @Resource |
| | | private EventInfoService eventInfoService; |
| | | @Resource |
| | | private SnapRecordService snapRecordService; |
| | | |
| | | /** |
| | | * æ ¹æ®åºåºç¼ç è·ååºåºä¸ææä»åºå表 |
| | |
| | | |
| | | /** |
| | | * è·ååºåºé¸ç°å¾ |
| | | * |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * å¤æè·¯å¾ä¸æä»¶æ¯å¦åå¨ï¼ä¸åå¨åç»é»è®¤ |
| | | * |
| | | * @param imgPath |
| | | * @param tag |
| | | * @return |
| | |
| | | * @return |
| | | */ |
| | | public List<Depot> listDepotByDeptId(String deptId) { |
| | | try{ |
| | | if (StringUtils.isEmpty(deptId)) { |
| | | deptId = ContextUtil.subDeptId(null); |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(deptId)) { |
| | | deptId = ContextUtil.subDeptId(null); |
| | | return depotService.getCacheDepotList(ContextUtil.getCompanyId(), deptId); |
| | | |
| | | }catch (Exception e){ |
| | | return null; |
| | | } |
| | | |
| | | return depotService.getCacheDepotList(ContextUtil.getCompanyId(), deptId); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åç¨æ·å表 |
| | | * |
| | | * @author sgj |
| | | * @date 2025/12/12 |
| | | */ |
| | | public List<SysUser> listUserData() { |
| | | SysUser user = new SysUser() ; |
| | | user.setCompanyId(ContextUtil.getCompanyId()); |
| | | user.setDeptId(Long.valueOf(ContextUtil.subDeptId(null))); |
| | | return userService.selectUserList(user); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·å设å¤å表 |
| | | * |
| | | * @author sgj |
| | | * @date 2025/12/12 |
| | | */ |
| | | public List<Camera> listCameraData() { |
| | | return secCameraService.listCamera(ContextUtil.getCompanyId(),ContextUtil.subDeptId(null)); |
| | | public List<Camera> listCameraData() { |
| | | return secCameraService.listCamera(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null)); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @author sgj |
| | | * @date 2025/12/17 |
| | | */ |
| | | public List<Company> listCompanyData() { |
| | | public List<Company> listCompanyData() { |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | return coreCompanyService.listCompany(null, null, user.getDeptId() + ""); |
| | | } |
| | |
| | | |
| | | /** |
| | | * è·åå¯ç¨ç大屿 è¯ |
| | | * |
| | | * @return |
| | | */ |
| | | public Slogan getDicSlogan() { |
| | | List<Slogan> slogans = sloganService.listData(Constant.YN_Y); |
| | | if(null == slogans || slogans.isEmpty()){ |
| | | if (null == slogans || slogans.isEmpty()) { |
| | | return null; |
| | | } |
| | | return slogans.get(0); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åå¯ç¨ç大屿 è¯ |
| | | * |
| | | * @return |
| | | */ |
| | | public MainData getIndexData(SysUser user) { |
| | | |
| | | MainData mainData = new MainData(); |
| | | |
| | | //å¾
å工忰 |
| | | Integer orderNum = workOrderService.getNumByUser(OrderStatus.STATUS_30.getCode(), user.getLoginName()); |
| | | mainData.setOrderNum(orderNum); |
| | | |
| | | //ç»è®¡åºå
¥åºä¿¡æ¯ |
| | | Double inSum = 0.0; |
| | | Double outSum = 0.0; |
| | | LinkedHashMap<String, Integer> mapWeekInNum = new LinkedHashMap<>(); |
| | | LinkedHashMap<String, Integer> mapWeekOutNum = new LinkedHashMap<>(); |
| | | LinkedHashMap<String, Integer> mapMonthInNum = new LinkedHashMap<>(); |
| | | LinkedHashMap<String, Integer> mapMonthOutNum = new LinkedHashMap<>(); |
| | | LinkedHashMap<String, Integer> mapWeekAiNum = new LinkedHashMap<>(); |
| | | LinkedHashMap<String, Integer> mapWeekSnapNum = new LinkedHashMap<>(); |
| | | String key; |
| | | for (int i = -29; i <= 0; i++) { |
| | | mapMonthInNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | mapMonthOutNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | if(i >=-6){ |
| | | mapWeekInNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | mapWeekOutNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | mapWeekAiNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | mapWeekSnapNum.put(DateFormatUtils.format(DateUtil.getNewByDay(new Date(), i), "MM-dd"), 0); |
| | | } |
| | | } |
| | | |
| | | //è¿7天AIäºä»¶æ° |
| | | IgdsBaseParam param = new IgdsBaseParam(); |
| | | param.setDeptId(user.getDeptId() + ""); |
| | | param.setStart(DateUtil.getNewByDay(new Date(), -6)); |
| | | param.setEnd(new Date()); |
| | | List<EventInfo> listEvent = eventInfoService.getListByParam(param); |
| | | if (null != listEvent && !listEvent.isEmpty()) { |
| | | mainData.setAiNum(listEvent.size()); |
| | | for (EventInfo event : listEvent) { |
| | | key = DateFormatUtils.format(event.getTime(),"MM-dd"); |
| | | if(null != mapWeekAiNum.get(key)){ |
| | | mapWeekAiNum.put(key, mapWeekAiNum.get(key) + 1); |
| | | } |
| | | } |
| | | } |
| | | for (String mapKey : mapWeekAiNum.keySet()) { |
| | | mainData.getWeekAiDateList().add(mapKey); |
| | | mainData.getWeekAiNumList().add(mapWeekAiNum.get(mapKey)); |
| | | } |
| | | |
| | | //è¿7天ææä¿¡æ¯ç»è®¡ |
| | | List<SnapRecord> listSnap = snapRecordService.getListByParam(param); |
| | | if (null != listSnap && !listSnap.isEmpty()) { |
| | | for (SnapRecord snap : listSnap) { |
| | | key = DateFormatUtils.format(snap.getSnapTime(),"MM-dd"); |
| | | if(null != mapWeekSnapNum.get(key)){ |
| | | mapWeekSnapNum.put(key, mapWeekSnapNum.get(key) + 1); |
| | | } |
| | | } |
| | | } |
| | | for (String mapKey : mapWeekSnapNum.keySet()) { |
| | | mainData.getWeekSnapDateList().add(mapKey); |
| | | mainData.getWeekSnapNumList().add(mapWeekSnapNum.get(mapKey)); |
| | | } |
| | | |
| | | //æ¥è¯¢è¿30天ææåºå
¥åºä¿¡æ¯ |
| | | InoutParam inoutParam = new InoutParam(); |
| | | param.setDeptId(user.getDeptId() + ""); |
| | | param.setStart(DateUtil.getNewByDay(new Date(), -29)); |
| | | param.setEnd(new Date()); |
| | | List<InoutRecord> inoutRecords = inoutRecordService.listInout(inoutParam); |
| | | if (null != inoutRecords && !inoutRecords.isEmpty()) { |
| | | for (InoutRecord record : inoutRecords) { |
| | | key = DateFormatUtils.format(record.getRegisterTime(),"MM-dd"); |
| | | if(Constant.TYPE_IN.equals(record.getType())){ |
| | | if(null != mapWeekInNum.get(key)){ |
| | | mapWeekInNum.put(key, mapWeekInNum.get(key) + 1); |
| | | } |
| | | if(null != mapMonthInNum.get(key)){ |
| | | mapMonthInNum.put(key, mapMonthInNum.get(key) + 1); |
| | | } |
| | | if(key.equals(DateFormatUtils.format(new Date(),"MM-dd"))){ |
| | | mainData.setInNumDay(mainData.getInNumDay() + 1); |
| | | inSum += record.getRecordWeight(); |
| | | } |
| | | } |
| | | if(Constant.TYPE_OUT.equals(record.getType())){ |
| | | if(null != mapWeekOutNum.get(key)){ |
| | | mapWeekOutNum.put(key, mapWeekOutNum.get(key) + 1); |
| | | } |
| | | if(null != mapMonthOutNum.get(key)){ |
| | | mapMonthOutNum.put(key, mapMonthOutNum.get(key) + 1); |
| | | } |
| | | if(key.equals(DateFormatUtils.format(new Date(),"MM-dd"))){ |
| | | mainData.setOutNumDay(mainData.getOutNumDay() + 1); |
| | | outSum += record.getRecordWeight(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | for (String mapKey : mapWeekInNum.keySet()) { |
| | | mainData.getWeekDateList().add(mapKey); |
| | | mainData.getWeekInNumList().add(mapWeekInNum.get(mapKey)); |
| | | } |
| | | |
| | | for (String mapKey : mapWeekOutNum.keySet()) { |
| | | mainData.getWeekOutNumList().add(mapWeekOutNum.get(mapKey)); |
| | | } |
| | | |
| | | for (String mapKey : mapMonthInNum.keySet()) { |
| | | mainData.getMonthDateList().add(mapKey); |
| | | mainData.getMonthInNumList().add(mapMonthInNum.get(mapKey)); |
| | | } |
| | | |
| | | for (String mapKey : mapMonthOutNum.keySet()) { |
| | | mainData.getMonthOutNumList().add(mapMonthOutNum.get(mapKey)); |
| | | } |
| | | mainData.setInSum(inSum / 1000); |
| | | mainData.setOutSum(outSum / 1000); |
| | | return mainData; |
| | | } |
| | | |
| | | } |
| | |
| | | package com.fzzy.sys.controller; |
| | | |
| | | import com.fzzy.common.manager.CommonManager; |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.data.MainData; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.config.FrameworkConfig; |
| | | import com.ruoyi.common.constant.ShiroConstants; |
| | |
| | | private SysPasswordService passwordService; |
| | | @Resource |
| | | private ISysDeptService iSysDeptService; |
| | | @Resource |
| | | private CommonManager commonManager; |
| | | |
| | | /** |
| | | * 页é¢è·¯ç± |
| | |
| | | |
| | | @GetMapping("/home") |
| | | public String home(ModelMap mmap) { |
| | | mmap.put("version", FrameworkConfig.getVersion()); |
| | | |
| | | //è·åç»å½äººä¿¡æ¯ |
| | | SysUser user = getSysUser(); |
| | | |
| | | //è·åç»è®¡ä¿¡æ¯ |
| | | MainData mainData = commonManager.getIndexData(user); |
| | | mmap.put("mainData", mainData); |
| | | |
| | | return "main"; |
| | | } |
| | | |
| | |
| | | <div class="layui-row layui-col-space15 p-top"> |
| | | <div class="layui-col-sm3 layui-col-xs6"> |
| | | <div class="console-link-block"> |
| | | <div class="console-link-block-num">2</div> |
| | | <div class="console-link-block-num" th:text="${mainData.orderNum}">2</div> |
| | | <div class="console-link-block-text">å¾
åå·¥å</div> |
| | | <i class="console-link-block-icon layui-icon layui-icon-survey"></i> |
| | | <div class="console-link-block-band">å¾
å¤ç</div> |
| | |
| | | </div> |
| | | <div class="layui-col-sm3 layui-col-xs6"> |
| | | <div class="console-link-block"> |
| | | <div class="console-link-block-num">0</div> |
| | | <div class="console-link-block-num" th:text="${mainData.inSum}">0</div> |
| | | <div class="console-link-block-text">仿¥å
¥åºï¼å¨ï¼</div> |
| | | <i class="console-link-block-icon layui-icon layui-icon-form"></i> |
| | | <div class="console-link-block-band">廿¥ç</div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-sm3 layui-col-xs6"> |
| | | <div class="layui-col-sm3 layui-col-xs6"> |
| | | <div class="console-link-block"> |
| | | <div class="console-link-block-num">0</div> |
| | | <div class="console-link-block-num" th:text="${mainData.outSum}">0</div> |
| | | <div class="console-link-block-text">仿¥åºåºï¼å¨ï¼</div> |
| | | <i class="console-link-block-icon layui-icon layui-icon-form"></i> |
| | | <div class="console-link-block-band">廿¥ç</div> |
| | |
| | | </div> |
| | | <div class="layui-col-sm3 layui-col-xs6"> |
| | | <div class="console-link-block"> |
| | | <div class="console-link-block-num">0</div> |
| | | <div class="console-link-block-num" th:text="${mainData.aiNum}">0</div> |
| | | <div class="console-link-block-text">AIäºä»¶ï¼è¿7天ï¼</div> |
| | | <i class="console-link-block-icon layui-icon layui-icon-chart"></i> |
| | | <div class="console-link-block-band">廿¥ç</div> |
| | |
| | | <div class="layui-row layui-col-space15"> |
| | | <div class="layui-col-md4 layui-col-sm6"> |
| | | <div class="layui-card" style="overflow: hidden;"> |
| | | <div class="layui-card-header">æ¥åºåºç»è®¡</div> |
| | | <div class="layui-card-header">æ¥åºå
¥åºç»è®¡</div> |
| | | <div class="layui-card-body"> |
| | | <div id="consoleChartsDay" style="height: 300px;"></div> |
| | | <div style="color: #10B4E8;font-size: 18px;position: absolute;bottom: 85px;left: 0;right:0;text-align: center;cursor: pointer;"> |
| | | åºå
¥åºæç»<i class="layui-icon layui-icon-right" style="font-size: 16px;"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="layui-col-md4 layui-col-sm6"> |
| | | <div class="layui-card" style="overflow: hidden;"> |
| | | <div class="layui-card-header">çé¨æç´¢</div> |
| | | <div class="layui-col-md6"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-header">è¿7天AIäºä»¶ç»è®¡</div> |
| | | <div class="layui-card-body"> |
| | | <div id="consoleChartsWord" style="height: 300px;"></div> |
| | | <div id="aiChartsWeek" style="height: 300px;"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-md8 layui-col-sm12"> |
| | | <div class="layui-card" style="overflow: hidden;"> |
| | | <div class="layui-card-header">ç¨æ·åå¸</div> |
| | | <div class="layui-col-md6"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-header">è¿7天ææç»è®¡</div> |
| | | <div class="layui-card-body"> |
| | | <div class="layui-row"> |
| | | <div class="layui-col-md8 layui-col-sm7"> |
| | | <div id="consoleChartsMap" style="height: 300px;"></div> |
| | | </div> |
| | | <div class="layui-col-md4 layui-col-sm5"> |
| | | <table class="layui-table" lay-skin="line" style="margin-top: 15px;"> |
| | | <thead> |
| | | <tr> |
| | | <td>æå</td> |
| | | <td>å°åº</td> |
| | | <td>人æ°</td> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr> |
| | | <td>1</td> |
| | | <td>æµæ±</td> |
| | | <td>62310</td> |
| | | </tr> |
| | | <tr> |
| | | <td>2</td> |
| | | <td>䏿µ·</td> |
| | | <td>59190</td> |
| | | </tr> |
| | | <tr> |
| | | <td>3</td> |
| | | <td>广ä¸</td> |
| | | <td>55891</td> |
| | | </tr> |
| | | <tr> |
| | | <td>4</td> |
| | | <td>å京</td> |
| | | <td>51919</td> |
| | | </tr> |
| | | <tr> |
| | | <td>5</td> |
| | | <td>å±±ä¸</td> |
| | | <td>39231</td> |
| | | </tr> |
| | | <tr> |
| | | <td>6</td> |
| | | <td>æ¹å</td> |
| | | <td>37109</td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <div id="snapChartsWeek" style="height: 300px;"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <!-- jsé¨å --> |
| | | <script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script> |
| | | <!--<script src="${ctxPath}/assets/js/common.js"></script>--> |
| | | <script th:src="@{/ajax/libs/echarts/echarts.min.js}"></script> |
| | | <script th:src="@{/ajax/libs/echarts/china.js}"></script> |
| | | <script th:src="@{/ajax/libs/echarts/echarts-wordcloud.min.js}"></script> |
| | | <script> |
| | | <script th:inline="javascript"> |
| | | var mainData = [[${mainData}]]; |
| | | layui.use(['layer'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | |
| | | var myCharts1 = echarts.init(document.getElementById('consoleChartsDay')); |
| | | var options1 = { |
| | | title: { |
| | | text: 'å
¥åºæ°é/åºåºæ°é', x: 'center', y: '32%', |
| | | text: 'å
¥åºè½¦æ¬¡/åºåºè½¦æ¬¡', x: 'center', y: '32%', |
| | | textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'}, |
| | | subtextStyle: {fontSize: 56, color: '#10B4E8'}, itemGap: 20 |
| | | }, |
| | |
| | | tooltip: {trigger: 'item'}, |
| | | legend: { |
| | | orient: 'vertical', right: '0px', top: '0px', |
| | | data: ['å
¥åºæ°é', 'åºåºæ°é'], textStyle: {color: '#595959'} |
| | | data: ['å
¥åºè½¦æ¬¡', 'åºåºè½¦æ¬¡'], textStyle: {color: '#595959'} |
| | | }, |
| | | series: [{name: 'æ°é', type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}] |
| | | }; |
| | | myCharts1.setOption(options1); |
| | | // èµå¼ |
| | | myCharts1.setOption({ |
| | | title: {subtext: '38/60'}, series: [{data: [{name: 'å
¥åºæ°é', value: 38}, {name: 'åºåºæ°é', value: 22}]}] |
| | | title: {subtext: mainData.inNumDay + "/" + mainData.outNumDay}, series: [{data: [{name: 'å
¥åºè½¦æ¬¡', value: mainData.inNumDay}, {name: 'åºåºè½¦æ¬¡', value: mainData.outNumDay}]}] |
| | | }); |
| | | |
| | | /** 渲æå¨ç»è®¡å¾è¡¨ */ |
| | |
| | | color: ['#10B4E8', '#FFA800'], |
| | | legend: { |
| | | orient: 'vertical', right: '0px', top: '0px', |
| | | data: ['å
¥åºæ°é', 'åºåºæ°é'], textStyle: {color: '#595959'} |
| | | data: ['å
¥åºè½¦æ¬¡', 'åºåºè½¦æ¬¡'], textStyle: {color: '#595959'} |
| | | }, |
| | | grid: {top: '75px', left: '35px', right: '55px', bottom: '40px'}, |
| | | xAxis: { |
| | | name: 'ææ', |
| | | name: 'æ¥æ', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'category', |
| | | data: ['å¨ä¸', 'å¨äº', 'å¨ä¸', 'å¨å', 'å¨äº'], |
| | | data: mainData.weekDateList, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: {color: '#8c8c8c'}, |
| | | axisTick: {alignWithLabel: true} |
| | |
| | | minInterval: 1 |
| | | }, |
| | | series: [{ |
| | | name: 'å
¥åºæ°é', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | name: 'å
¥åºè½¦æ¬¡', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | label: {normal: {show: true, position: 'inside'}} |
| | | }, { |
| | | name: 'åºåºæ°é', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | name: 'åºåºè½¦æ¬¡', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | label: {normal: {show: true, position: 'inside'}} |
| | | }] |
| | | }; |
| | | myCharts2.setOption(options2); |
| | | // èµå¼ |
| | | myCharts2.setOption({series: [{data: [5, 9, 6, 3, 10]}, {data: [10, 6, 9, 12, 5]}]}); |
| | | myCharts2.setOption({series: [{data: mainData.weekInNumList}, {data: mainData.weekOutNumList}]}); |
| | | |
| | | /** 渲ææç»è®¡å¾è¡¨ */ |
| | | var myCharts3 = echarts.init(document.getElementById('consoleChartsMonth')); |
| | |
| | | color: ['#10B4E8', '#FFA800'], |
| | | legend: { |
| | | orient: 'vertical', right: '0px', top: '0px', |
| | | data: ['å
¥åºæ°é', 'åºåºæ°é'], textStyle: {color: '#595959'} |
| | | data: ['å
¥åºè½¦æ¬¡', 'åºåºè½¦æ¬¡'], textStyle: {color: '#595959'} |
| | | }, |
| | | grid: {top: '75px', left: '35px', right: '55px', bottom: '40px'}, |
| | | xAxis: { |
| | | name: 'æ¥æ', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'category', |
| | | data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'], |
| | | data: mainData.monthDateList, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: { |
| | | color: '#8c8c8c', interval: function (index, value) { |
| | |
| | | minInterval: 1 |
| | | }, |
| | | series: [ |
| | | {name: 'å
¥åºæ°é', type: 'line', smooth: false}, |
| | | {name: 'åºåºæ°é', type: 'line', smooth: false} |
| | | {name: 'å
¥åºè½¦æ¬¡', type: 'line', smooth: false}, |
| | | {name: 'åºåºè½¦æ¬¡', type: 'line', smooth: false} |
| | | ] |
| | | }; |
| | | myCharts3.setOption(options3); |
| | | // èµå¼ |
| | | myCharts3.setOption({ |
| | | series: [ |
| | | {data: [15, 14, 13, 13, 13, 14, 15, 16, 17, 18, 19, 18, 18, 19, 20, 19, 18, 16, 14, 12, 10, 10, 12, 14, 16, 16, 14, 13, 12, 11, 10]}, |
| | | {data: [24, 22, 20, 18, 16, 14, 13, 12, 11, 11, 10, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 23, 24, 25, 26, 26, 24, 22, 20, 18, 16]} |
| | | {data: mainData.monthInNumList}, |
| | | {data: mainData.monthOutNumList} |
| | | ] |
| | | }); |
| | | |
| | | /** 渲æå°å¾å¾è¡¨ */ |
| | | var myCharts4 = echarts.init(document.getElementById('consoleChartsMap')); |
| | | /** 渲æå¨ç»è®¡å¾è¡¨ */ |
| | | var myCharts4 = echarts.init(document.getElementById('aiChartsWeek')); |
| | | var options4 = { |
| | | tooltip: {trigger: 'item'}, |
| | | dataRange: { |
| | | min: 0, max: 6e4, text: ['é«', 'ä½'], color: ['#2395FF', '#f2f2f2'], itemHeight: 60, itemWidth: 12 |
| | | }, series: [{ |
| | | name: 'åºåºæ°é', type: 'map', mapType: "china", |
| | | itemStyle: {normal: {label: {show: true, color: '#262626'}, borderColor: '#dddddd'}}, |
| | | emphasis: {label: {show: true, color: '#fff'}, itemStyle: {areaColor: '#FACF20'}}, |
| | | top: '0px', left: '15px', bottom: '0px' |
| | | tooltip: {trigger: 'axis', axisPointer: {lineStyle: {color: '#E0E0E0'}}}, |
| | | color: ['#10B4E8'], |
| | | legend: { |
| | | orient: 'vertical', right: '0px', top: '0px', |
| | | data: ['AIäºä»¶æ°'], textStyle: {color: '#595959'} |
| | | }, |
| | | grid: {top: '75px', left: '35px', right: '55px', bottom: '40px'}, |
| | | xAxis: { |
| | | name: 'æ¥æ', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'category', |
| | | data: mainData.weekAiDateList, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: {color: '#8c8c8c'}, |
| | | axisTick: {alignWithLabel: true} |
| | | }, |
| | | yAxis: { |
| | | name: 'æ°é', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'value', |
| | | boundaryGap: ['0', '20%'], |
| | | axisTick: {show: false}, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: {color: '#8c8c8c'}, |
| | | splitLine: {show: false}, |
| | | splitArea: {show: false}, |
| | | minInterval: 1 |
| | | }, |
| | | series: [{ |
| | | name: 'AIäºä»¶', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | label: {normal: {show: true, position: 'inside'}} |
| | | }] |
| | | }; |
| | | myCharts4.setOption(options4); |
| | | // èµå¼ |
| | | myCharts4.setOption({ |
| | | series: [{ |
| | | data: [ |
| | | {name: "西è", value: 60}, |
| | | {name: "éæµ·", value: 167}, |
| | | {name: "å®å¤", value: 210}, |
| | | {name: "æµ·å", value: 252}, |
| | | {name: "çè", value: 502}, |
| | | {name: "è´µå·", value: 570}, |
| | | {name: "æ°ç", value: 661}, |
| | | {name: "äºå", value: 8890}, |
| | | {name: "éåº", value: 10010}, |
| | | {name: "åæ", value: 5056}, |
| | | {name: "山西", value: 2123}, |
| | | {name: "天津", value: 9130}, |
| | | {name: "æ±è¥¿", value: 10170}, |
| | | {name: "广西", value: 6172}, |
| | | {name: "é西", value: 9251}, |
| | | {name: "é»é¾æ±", value: 5125}, |
| | | {name: "å
èå¤", value: 1435}, |
| | | {name: "å®å¾½", value: 9530}, |
| | | {name: "å京", value: 51919}, |
| | | {name: "ç¦å»º", value: 3756}, |
| | | {name: "䏿µ·", value: 59190}, |
| | | {name: "æ¹å", value: 37109}, |
| | | {name: "æ¹å", value: 8966}, |
| | | {name: "åå·", value: 31020}, |
| | | {name: "è¾½å®", value: 7222}, |
| | | {name: "æ²³å", value: 3451}, |
| | | {name: "æ²³å", value: 9693}, |
| | | {name: "æµæ±", value: 62310}, |
| | | {name: "å±±ä¸", value: 39231}, |
| | | {name: "æ±è", value: 35911}, |
| | | {name: "广ä¸", value: 55891} |
| | | ] |
| | | }] |
| | | }); |
| | | myCharts4.setOption({series: [{data: mainData.weekAiNumList}]}); |
| | | |
| | | /** 渲æè¯äºå¾è¡¨ */ |
| | | var myCharts5 = echarts.init(document.getElementById('consoleChartsWord')); |
| | | /** 渲æå¨ç»è®¡å¾è¡¨ */ |
| | | var myCharts5 = echarts.init(document.getElementById('snapChartsWeek')); |
| | | var options5 = { |
| | | tooltip: {show: true}, |
| | | tooltip: {trigger: 'axis', axisPointer: {lineStyle: {color: '#E0E0E0'}}}, |
| | | color: ['#FFA800'], |
| | | legend: { |
| | | orient: 'vertical', right: '0px', top: '0px', |
| | | data: ['æææ°'], textStyle: {color: '#595959'} |
| | | }, |
| | | grid: {top: '75px', left: '35px', right: '55px', bottom: '40px'}, |
| | | xAxis: { |
| | | name: 'æ¥æ', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'category', |
| | | data: mainData.weekSnapDateList, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: {color: '#8c8c8c'}, |
| | | axisTick: {alignWithLabel: true} |
| | | }, |
| | | yAxis: { |
| | | name: 'æ°é', |
| | | nameTextStyle: {color: '#595959'}, |
| | | type: 'value', |
| | | boundaryGap: ['0', '20%'], |
| | | axisTick: {show: false}, |
| | | axisLine: {lineStyle: {color: '#E0E0E0'}, symbol: ['none', 'arrow'], symbolOffset: [0, 10]}, |
| | | axisLabel: {color: '#8c8c8c'}, |
| | | splitLine: {show: false}, |
| | | splitArea: {show: false}, |
| | | minInterval: 1 |
| | | }, |
| | | series: [{ |
| | | name: "æç´¢é", |
| | | type: 'wordCloud', |
| | | shape: 'diamond', |
| | | width: '100%', |
| | | height: '100%', |
| | | sizeRange: [12, 23], |
| | | gridSize: 6, |
| | | textStyle: { |
| | | normal: { |
| | | color: function () { |
| | | return 'rgb(' + [ |
| | | Math.round(Math.random() * 160), |
| | | Math.round(Math.random() * 160), |
| | | Math.round(Math.random() * 160) |
| | | ].join(',') + ')'; |
| | | } |
| | | }, |
| | | emphasis: {shadowBlur: 10, shadowColor: '#666'} |
| | | }, data: [] |
| | | name: 'ææä¿¡æ¯', type: 'bar', stack: 'one', barMaxWidth: '30px', |
| | | label: {normal: {show: true, position: 'inside'}} |
| | | }] |
| | | }; |
| | | myCharts5.setOption(options5); |
| | | // èµå¼ |
| | | myCharts5.setOption({ |
| | | series: [{ |
| | | data: [ |
| | | {name: "软妹å", value: 23}, |
| | | {name: "汪æäºº", value: 23}, |
| | | {name: "é¿è
¿æ¬§å·´", value: 23}, |
| | | {name: "èè", value: 22}, |
| | | {name: "è¾£~", value: 22}, |
| | | {name: "Kæ", value: 22}, |
| | | {name: "大é¿è
¿", value: 21}, |
| | | {name: "å·å¦¹å", value: 21}, |
| | | {name: "女ç¥", value: 21}, |
| | | {name: "ç±³ç²", value: 20}, |
| | | {name: "䏿³¨è®¾è®¡", value: 20}, |
| | | {name: "éè¡", value: 20}, |
| | | {name: "é»é¿ç´", value: 20}, |
| | | {name: "海纳ç¾å·", value: 19}, |
| | | {name: "èèå", value: 19}, |
| | | {name: "åæ", value: 19}, |
| | | {name: "è¯å ", value: 19}, |
| | | {name: "æç²", value: 18}, |
| | | {name: "åµæäºº", value: 18}, |
| | | {name: "è±ç²", value: 18}, |
| | | {name: "衬衫æ§", value: 18}, |
| | | {name: "å®
ç·", value: 17}, |
| | | {name: "å°æ¸
æ°", value: 17}, |
| | | {name: "ç¼éç·", value: 17}, |
| | | {name: "ç¼ç¶", value: 17}, |
| | | {name: "穷游å
", value: 16}, |
| | | {name: "é²å±å®", value: 16}, |
| | | {name: "æ£å¤ª", value: 16}, |
| | | {name: "ä¸äºç
", value: 16}, |
| | | {name: "å¤ç«å", value: 15}, |
| | | {name: "鿝", value: 15}, |
| | | {name: "è
¹é»", value: 15}, |
| | | {name: "å鸡", value: 15}, |
| | | {name: "为äºèç", value: 14}, |
| | | {name: "èå
客", value: 14}, |
| | | {name: "æ°è°£", value: 14}, |
| | | {name: "为äºé¨è½", value: 14}, |
| | | {name: "æçæ£è
", value: 13}, |
| | | {name: "追å§", value: 13}, |
| | | {name: "ITæ°å·¥", value: 13}, |
| | | {name: "CNBæå", value: 13}, |
| | | {name: "éæ©å°é¾", value: 12}, |
| | | {name: "é¤ç²", value: 12}, |
| | | {name: "欧ç", value: 12}, |
| | | {name: "仿°åè¶³", value: 12} |
| | | ] |
| | | }] |
| | | }); |
| | | myCharts5.setOption({series: [{data: mainData.weekSnapNumList}]}); |
| | | |
| | | /** çªå£å¤§å°æ¹åäºä»¶ */ |
| | | window.onresize = function () { |
| | |
| | | }; |
| | | |
| | | }); |
| | | |
| | | </script> |
| | | </body> |
| | | </html> |