diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto2.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto2.java new file mode 100644 index 0000000..a02e85b --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto2.java @@ -0,0 +1,26 @@ +package org.nl.acs.instruction.service.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author ldjun + * @description / + * @date 2021-04-01 + **/ +@Data +public class InstructionDto2 implements Serializable { + + /** + * 车号 + */ + private String carno; + + /** + * 秒数 + */ + private BigDecimal last_day_second; + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoAgvRunTime.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoAgvRunTime.java new file mode 100644 index 0000000..120e769 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoAgvRunTime.java @@ -0,0 +1,75 @@ +package org.nl.quartz.task; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.instruction.service.dto.InstructionDto2; +import org.nl.system.service.acsagv.dao.AcsAgv; +import org.nl.system.service.acsagv.dao.mapper.AcsAgvMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 自动统计agv运行时间 + */ +@Slf4j +@Component +public class AutoAgvRunTime { + + @Autowired + private AcsAgvMapper acsAgvMapper; + + + @Transactional(rollbackFor = Exception.class) + public void run() { + //查询上次更新时间 + List dictList = acsAgvMapper.selectList(new LambdaQueryWrapper()); + + AcsAgv anyOne = dictList.get(0); + //最后一次统计时间 + String lastDay = anyOne.getDeadline(); + + lastDay = lastDay +" 00:00:00"; + //当前时间 + String nowday = DateUtil.now(); + + nowday = nowday.substring(0,10); + //统计lastday至Nowday直接运行的秒数 + List list = acsAgvMapper.getListByStrs(nowday+" 00:00:00",lastDay); + if(list.size()>0){ + Map map = new HashMap(); + for(int i=0;i(dictService.getDictByName(name), HttpStatus.OK); } + @GetMapping("/showDetail3") + @Log("查询agv运行时间") + @ApiOperation("查询agv运行时间") + public ResponseEntity showDetail3(@RequestParam String name){ + return new ResponseEntity<>(acsAgvService.getALLagv(name), HttpStatus.OK); + } + @Log("新增字典详情") @ApiOperation("新增字典详情") @PostMapping("/dictDetail") diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/IAcsAgvService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/IAcsAgvService.java new file mode 100644 index 0000000..783290f --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/IAcsAgvService.java @@ -0,0 +1,30 @@ +package org.nl.system.service.acsagv; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.acsagv.dao.AcsAgv; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.dict.dto.DictQuery; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 字典表 服务类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface IAcsAgvService extends IService { + + /** + * 修改字典数据 + * @param name + */ + List getALLagv(String name); + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/AcsAgv.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/AcsAgv.java new file mode 100644 index 0000000..4e7d05e --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/AcsAgv.java @@ -0,0 +1,57 @@ +package org.nl.system.service.acsagv.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 字典表 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("acs_agv") +public class AcsAgv implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 字典标识 + */ + @TableId(value = "agv_id") + private String agv_id; + + /** + * 编码 + */ + private String agv_no; + + /** + * 排序号 + */ + private BigDecimal run_second; + + /** + * 排序号 + */ + private BigDecimal last_day_second; + + /** + * 截至日期 + */ + private String deadline; + + /** + * 更新时间 + */ + private String update_time; + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.java new file mode 100644 index 0000000..75d1a32 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.java @@ -0,0 +1,29 @@ +package org.nl.system.service.acsagv.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.acs.instruction.service.dto.InstructionDto2; +import org.nl.system.service.acsagv.dao.AcsAgv; +import org.nl.system.service.dict.dao.Dict; + +import java.util.List; + +/** + *

+ * 字典表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface AcsAgvMapper extends BaseMapper { + + /** + * 获取系统菜单 + * @param nowday + * @param lastday + * @return + */ + List getListByStrs(@Param("nowday") String nowday, @Param("lastday") String lastday); + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.xml b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.xml new file mode 100644 index 0000000..26206d7 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/dao/mapper/AcsAgvMapper.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/impl/AcsAgvServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/impl/AcsAgvServiceImpl.java new file mode 100644 index 0000000..7c859b9 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/acsagv/impl/AcsAgvServiceImpl.java @@ -0,0 +1,58 @@ +package org.nl.system.service.acsagv.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.system.service.acsagv.IAcsAgvService; +import org.nl.system.service.acsagv.dao.AcsAgv; +import org.nl.system.service.acsagv.dao.mapper.AcsAgvMapper; +import org.nl.system.service.dict.dao.Dict; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + *

+ * 字典表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Service +public class AcsAgvServiceImpl extends ServiceImpl implements IAcsAgvService { + @Autowired + private AcsAgvMapper acsAgvMapper; + + public void updateDict(Dict dto) { + /* Dict dict = sysDictMapper.selectById(dto.getDict_id()); + if (ObjectUtil.isEmpty(dict)) { + throw new BadRequestException("字典不存在"); + } + List dictList = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, dto.getCode())); + if (ObjectUtil.isNotEmpty(dictList) && !dto.getCode().equals(dict.getCode())) + throw new BadRequestException("字典[" + dto.getCode() + "]已存在"); + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentNickName = SecurityUtils.getCurrentNickName(); + // 根据code获取所有字典 + List dicts = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, dict.getCode())); + dicts.forEach(di -> { + di.setCode(dto.getCode()); + di.setName(dto.getName()); + di.setUpdate_id(currentUserId); + di.setUpdate_name(currentNickName); + di.setUpdate_time(DateUtil.now()); + sysDictMapper.updateById(di); + });*/ + } + + @Override + public List getALLagv(String name) { + List dictList = acsAgvMapper.selectList( + new LambdaQueryWrapper().ne(AcsAgv::getAgv_no,"未上报车号") + ); + return dictList; + } + +} diff --git a/acs/nladmin-ui/src/views/system/param/agvDialog.vue b/acs/nladmin-ui/src/views/system/param/agvDialog.vue new file mode 100644 index 0000000..297fd29 --- /dev/null +++ b/acs/nladmin-ui/src/views/system/param/agvDialog.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/acs/nladmin-ui/src/views/system/param/index.vue b/acs/nladmin-ui/src/views/system/param/index.vue index e7d0a7f..9139e91 100644 --- a/acs/nladmin-ui/src/views/system/param/index.vue +++ b/acs/nladmin-ui/src/views/system/param/index.vue @@ -24,6 +24,16 @@ > 充电桩管理 + + agv运行时间管理 + + @@ -93,6 +104,7 @@ import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import TubeDialog2 from '@/views/system/param/tubeDialog2.vue' import StationDialog from '@/views/system/param/stationDialog.vue' +import AgvDialog from '@/views/system/param/agvDialog.vue' const defaultForm = { id: null, @@ -104,7 +116,7 @@ const defaultForm = { } export default { name: 'Param', - components: { pagination, crudOperation, udOperation, TubeDialog2, StationDialog }, + components: { pagination, crudOperation, udOperation, TubeDialog2, StationDialog, AgvDialog }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ title: '系统参数', url: 'api/param', idField: 'id', sort: 'id,desc', crudMethod: { ...crudParam }, @@ -126,6 +138,7 @@ export default { }, showView2: false, showStation: false, + showAgv: false, rules: { id: [ { required: true, message: '不能为空', trigger: 'blur' } @@ -160,6 +173,9 @@ export default { }, divOpenStation() { this.showStation = true + }, + divOpenAgv() { + this.showAgv = true } } } diff --git a/acs/nladmin-ui/src/views/system/param/param.js b/acs/nladmin-ui/src/views/system/param/param.js index 54a6071..8092432 100644 --- a/acs/nladmin-ui/src/views/system/param/param.js +++ b/acs/nladmin-ui/src/views/system/param/param.js @@ -54,6 +54,14 @@ export function showDetail2(params) { }) } +export function showDetail3(params) { + return request({ + url: 'api/dict/showDetail3', + method: 'get', + params + }) +} + export function initDict(data) { return request({ url: 'api/dict/initDict', @@ -62,4 +70,4 @@ export function initDict(data) { }) } -export default { add, edit, del, getValueByCode, queryParam, setParam, showDetail2, initDict } +export default { add, edit, del, getValueByCode, queryParam, setParam, showDetail2, initDict, showDetail3 }