From bd6d24362376534e83ea768c7c4f6b968cc3f7aa Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期五, 01 三月 2024 11:01:27 +0800 Subject: [PATCH] mdc超限报警管理 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java | 76 ++++++++-- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java | 19 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java | 15 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EquipmentMachingDto.java | 2 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java | 154 ++++++++++++++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java | 27 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java | 54 +++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml | 5 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java | 15 ++ 9 files changed, 346 insertions(+), 21 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java new file mode 100644 index 0000000..d483bc0 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java @@ -0,0 +1,154 @@ +package org.jeecg.modules.mdc.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.mdc.entity.MdcOverrunAlarm; +import org.jeecg.modules.mdc.service.IMdcOverrunAlarmService; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: mdc瓒呴檺鎶ヨ + * @Author: Lius + * @Date: 2024-03-01 + * @Version: V1.0 + */ +@Slf4j +@Api(tags = "mdc瓒呴檺鎶ヨ") +@RestController +@RequestMapping("/mdc/mdcOverrunAlarm") +public class MdcOverrunAlarmController extends JeecgController<MdcOverrunAlarm, IMdcOverrunAlarmService> { + + @Resource + private IMdcOverrunAlarmService mdcOverrunAlarmService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param mdcOverrunAlarm + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ", notes = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(MdcOverrunAlarm mdcOverrunAlarm, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<MdcOverrunAlarm> queryWrapper = QueryGenerator.initQueryWrapper(mdcOverrunAlarm, req.getParameterMap()); + Page<MdcOverrunAlarm> page = new Page<MdcOverrunAlarm>(pageNo, pageSize); + IPage<MdcOverrunAlarm> pageList = mdcOverrunAlarmService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param mdcOverrunAlarm + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-娣诲姞") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-娣诲姞", notes = "mdc瓒呴檺鎶ヨ-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody MdcOverrunAlarm mdcOverrunAlarm) { + mdcOverrunAlarmService.save(mdcOverrunAlarm); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param mdcOverrunAlarm + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-缂栬緫") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-缂栬緫", notes = "mdc瓒呴檺鎶ヨ-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody MdcOverrunAlarm mdcOverrunAlarm) { + mdcOverrunAlarmService.updateById(mdcOverrunAlarm); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎", notes = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<?> delete(@RequestParam(name = "id", required = true) String id) { + mdcOverrunAlarmService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎", notes = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.mdcOverrunAlarmService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @AutoLog(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ") + @ApiOperation(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ", notes = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { + MdcOverrunAlarm mdcOverrunAlarm = mdcOverrunAlarmService.getById(id); + return Result.OK(mdcOverrunAlarm); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param mdcOverrunAlarm + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MdcOverrunAlarm mdcOverrunAlarm) { + return super.exportXls(request, mdcOverrunAlarm, MdcOverrunAlarm.class, "mdc瓒呴檺鎶ヨ"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, MdcOverrunAlarm.class); + } + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EquipmentMachingDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EquipmentMachingDto.java index 0552e7b..2c1b4ef 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EquipmentMachingDto.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EquipmentMachingDto.java @@ -7,6 +7,7 @@ import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.modules.mdc.entity.MdcDriveTypeParamConfig; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -153,6 +154,7 @@ private String collectData; + private BigDecimal spindleCurrent; /*娴嬭瘯浣跨敤*/ private String dataLine1; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java new file mode 100644 index 0000000..e81850d --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.mdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: mdc瓒呴檺鎶ヨ + * @Author: Lius + * @Date: 2024-03-01 + * @Version: V1.0 + */ +@Data +@TableName("mdc_overrun_alarm") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "mdc_overrun_alarm瀵硅薄", description = "mdc瓒呴檺鎶ヨ") +public class MdcOverrunAlarm extends JeecgEntity implements Serializable { + + private static final long serialVersionUID = 3633764093859258849L; + + /** + * 璁惧缂栫爜 + */ + @Excel(name = "璁惧缂栫爜", width = 15) + @ApiModelProperty(value = "璁惧缂栫爜") + private String equipmentId; + /** + * 璁惧畾鑼冨洿 + */ + @Excel(name = "璁惧畾鑼冨洿", width = 15) + @ApiModelProperty(value = "璁惧畾鑼冨洿") + private String setValue; + /** + * 瀹為檯鍊� + */ + @Excel(name = "瀹為檯鍊�", width = 15) + @ApiModelProperty(value = "瀹為檯鍊�") + private String realValue; + /** + * 鎶ヨ鍐呭 + */ + @Excel(name = "鎶ヨ鍐呭", width = 15) + @ApiModelProperty(value = "鎶ヨ鍐呭") + private String alarmContent; + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java new file mode 100644 index 0000000..11e5f10 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.mdc.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.mdc.entity.MdcOverrunAlarm; + +/** + * @Description: mdc瓒呴檺鎶ヨ + * @Author: Lius + * @Date: 2024-03-01 + * @Version: V1.0 + */ +public interface MdcOverrunAlarmMapper extends BaseMapper<MdcOverrunAlarm> { + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml new file mode 100644 index 0000000..1e973c5 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.mdc.mapper.MdcOverrunAlarmMapper"> + +</mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java new file mode 100644 index 0000000..47054fe --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.mdc.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.mdc.entity.MdcOverrunAlarm; + +/** + * @Description: mdc瓒呴檺鎶ヨ + * @Author: Lius + * @Date: 2024-03-01 + * @Version: V1.0 + */ +public interface IMdcOverrunAlarmService extends IService<MdcOverrunAlarm> { + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java index f4e601d..f97637b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java @@ -113,7 +113,32 @@ dtos.add(dto); } } - return dtos; + + List<MdcEquipmentRunningSectionDto> result = new ArrayList<>(); + //鍚堝苟鐩稿悓鐘舵�佹暟鎹� + for (int i = 0; i < dtos.size() - 1; i++) { + MdcEquipmentRunningSectionDto mdcEquipmentRunningSectionDto = dtos.get(i); + MdcEquipmentRunningSectionDto next = dtos.get(i + 1); + if (mdcEquipmentRunningSectionDto.getStatus().equals(next.getStatus()) && mdcEquipmentRunningSectionDto.getEndTime().equals(next.getStartTime())) { + MdcEquipmentRunningSectionDto equipmentRunningSectionDto = new MdcEquipmentRunningSectionDto(); + BeanUtils.copyProperties(mdcEquipmentRunningSectionDto, equipmentRunningSectionDto); + equipmentRunningSectionDto.setEndTime(next.getEndTime()); + equipmentRunningSectionDto.setDuration(mdcEquipmentRunningSectionDto.getDuration() + next.getDuration()); + result.add(equipmentRunningSectionDto); + i++; + } else { + result.add(mdcEquipmentRunningSectionDto); + } + } + if (dtos.size() > 1) { + MdcEquipmentRunningSectionDto a = dtos.get(dtos.size() - 2); + MdcEquipmentRunningSectionDto b = dtos.get(dtos.size() - 1); + if (!a.getStatus().equals(b.getStatus()) && a.getEndTime().equals(b.getStartTime())) { + result.add(dtos.get(dtos.size() - 1)); + } + } + + return result; } /** diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java index fe773d0..0701d87 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -111,6 +112,20 @@ } } resultList = resultList.stream().sorted(Comparator.comparing(EquipmentMachingDto::getCollectTime)).collect(Collectors.toList()); + for (MdcDriveTypeParamConfig mdcDriveTypeParamConfig : mdcDriveTypeParamConfigs) { + if ("spindleCurrent".equals(mdcDriveTypeParamConfig.getEnglishName())) { + for (EquipmentMachingDto equipmentMachingDto : resultList) { + String devicePower = mdcEquipment.getDevicePower(); + if (StringUtils.isNotBlank(devicePower)) { + devicePower = "2500"; + } + String spindleload = equipmentMachingDto.getSpindleload(); + if (StringUtils.isNotBlank(spindleload)) { + equipmentMachingDto.setSpindleCurrent(new BigDecimal(devicePower).divide(new BigDecimal("380"), 2, BigDecimal.ROUND_HALF_UP).add(new BigDecimal(spindleload))); + } + } + } + } return resultList; } @@ -157,35 +172,56 @@ } for (int i = 1; i <= collentParams.size(); i++) { try { - switch (i) { - case 1: - ei.setDataLine1(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); + switch (collentParams.get(i - 1).getEnglishName()) { + case "spindlespeed": + ei.setSpindlespeed(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); break; - case 2: - ei.setDataLine2(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); + case "spindleload": + ei.setSpindleload(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); break; - case 3: - ei.setDataLine3(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); + case "spindlebeilv": + ei.setSpindlebeilv(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); break; - case 4: - ei.setDataLine4(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); + case "feedrate": + ei.setFeedrate(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); break; - case 5: - ei.setDataLine5(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); - break; - case 6: - ei.setDataLine6(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); - break; - case 7: - ei.setDataLine7(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); - break; - case 8: - ei.setDataLine8(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); + case "feedbeilv": + ei.setFeedbeilv(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); break; } } catch (Exception e) { e.printStackTrace(); } +// try { +// switch (i) { +// case 1: +// ei.setDataLine1(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 2: +// ei.setDataLine2(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 3: +// ei.setDataLine3(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 4: +// ei.setDataLine4(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 5: +// ei.setDataLine5(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 6: +// ei.setDataLine6(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 7: +// ei.setDataLine7(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// case 8: +// ei.setDataLine8(map.get(collentParams.get(i - 1).getEnglishName()) == null ? null : map.get(collentParams.get(i - 1).getEnglishName()).toString()); +// break; +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } } dto.add(ei); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java new file mode 100644 index 0000000..9a7407a --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.mdc.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.mdc.entity.MdcOverrunAlarm; +import org.jeecg.modules.mdc.mapper.MdcOverrunAlarmMapper; +import org.jeecg.modules.mdc.service.IMdcOverrunAlarmService; +import org.springframework.stereotype.Service; + +/** + * @Description: mdc瓒呴檺鎶ヨ + * @Author: Lius + * @Date: 2024-03-01 + * @Version: V1.0 + */ +@Service +public class MdcOverrunAlarmServiceImpl extends ServiceImpl<MdcOverrunAlarmMapper, MdcOverrunAlarm> implements IMdcOverrunAlarmService { + +} -- Gitblit v1.9.3