Merge remote-tracking branch 'origin/master'
| | |
| | | */ |
| | | Integer AUTO_FLAG_Y = 1; |
| | | Integer AUTO_FLAG_N = 2; |
| | | /** |
| | | * å¾
æºåå 䏿¥ç¶æ 0(æªä¸æ¥) 1(已䏿¥) |
| | | */ |
| | | Integer DOWNTIME_STATUS_0 = 0; |
| | | Integer DOWNTIME_STATUS_1 = 1; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime; |
| | | import org.jeecg.modules.mdc.service.IMdcDowntimeService; |
| | | import org.jeecg.modules.mdc.vo.MdcDowntimeVo; |
| | | 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: å¾
æºåæºè¡¨ |
| | | * @Author: lius |
| | | * @Date: 2025-03-12 |
| | | */ |
| | | @Slf4j |
| | | @Api(tags = "å¾
æºåæºè¡¨") |
| | | @RestController |
| | | @RequestMapping("/mdc/mdcDowntime") |
| | | public class MdcDowntimeController extends JeecgController<MdcDowntime, IMdcDowntimeService> { |
| | | |
| | | @Resource |
| | | private IMdcDowntimeService mdcDowntimeService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param mdcDowntimeVo |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-å页å表æ¥è¯¢") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-å页å表æ¥è¯¢", notes = "å¾
æºåæºè¡¨-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<?> queryPageList(MdcDowntimeVo mdcDowntimeVo, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | String userId = user.getId(); |
| | | Page<MdcDowntime> page = new Page<MdcDowntime>(pageNo, pageSize); |
| | | IPage<MdcDowntime> pageList = mdcDowntimeService.pageList(userId, page, mdcDowntimeVo, req); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param mdcDowntime |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-æ·»å ") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-æ·»å ", notes = "å¾
æºåæºè¡¨-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<?> add(@RequestBody MdcDowntime mdcDowntime) { |
| | | mdcDowntimeService.save(mdcDowntime); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param mdcDowntime |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-ç¼è¾") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-ç¼è¾", notes = "å¾
æºåæºè¡¨-ç¼è¾") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<?> edit(@RequestBody MdcDowntime mdcDowntime) { |
| | | if (mdcDowntime.getReasonId() != null) { |
| | | mdcDowntime.setStatus(CommonConstant.DOWNTIME_STATUS_1); |
| | | } |
| | | mdcDowntimeService.updateById(mdcDowntime); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-éè¿idå é¤") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-éè¿idå é¤", notes = "å¾
æºåæºè¡¨-éè¿idå é¤") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<?> delete(@RequestParam(name = "id", required = true) String id) { |
| | | mdcDowntimeService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-æ¹éå é¤") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-æ¹éå é¤", notes = "å¾
æºåæºè¡¨-æ¹éå é¤") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | this.mdcDowntimeService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿åï¼"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å¾
æºåæºè¡¨-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value = "å¾
æºåæºè¡¨-éè¿idæ¥è¯¢", notes = "å¾
æºåæºè¡¨-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { |
| | | MdcDowntime mdcDowntime = mdcDowntimeService.getById(id); |
| | | return Result.OK(mdcDowntime); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param mdcDowntime |
| | | */ |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, MdcDowntime mdcDowntime) { |
| | | return super.exportXls(request, mdcDowntime, MdcDowntime.class, "å¾
æºåæºè¡¨"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, MdcDowntime.class); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.MdcDowntimeReason; |
| | | import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | 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; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: åæºåå 表 |
| | | * @Author: lius |
| | | * @Date: 2025-03-11 |
| | | */ |
| | | @Slf4j |
| | | @Api(tags = "åæºåå 表") |
| | | @RestController |
| | | @RequestMapping("/mdc/mdcDowntimeReason") |
| | | public class MdcDowntimeReasonController extends JeecgController<MdcDowntimeReason, IMdcDowntimeReasonService> { |
| | | |
| | | |
| | | @Resource |
| | | private IMdcDowntimeReasonService mdcDowntimeReasonService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param mdcDowntimeReason |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-å页å表æ¥è¯¢") |
| | | @ApiOperation(value = "åæºåå 表-å页å表æ¥è¯¢", notes = "åæºåå 表-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<?> queryPageList(MdcDowntimeReason mdcDowntimeReason, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<MdcDowntimeReason> queryWrapper = QueryGenerator.initQueryWrapper(mdcDowntimeReason, req.getParameterMap()); |
| | | Page<MdcDowntimeReason> page = new Page<MdcDowntimeReason>(pageNo, pageSize); |
| | | IPage<MdcDowntimeReason> pageList = mdcDowntimeReasonService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param mdcDowntimeReason |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-æ·»å ") |
| | | @ApiOperation(value = "åæºåå 表-æ·»å ", notes = "åæºåå 表-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<?> add(@RequestBody MdcDowntimeReason mdcDowntimeReason) { |
| | | mdcDowntimeReasonService.save(mdcDowntimeReason); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param mdcDowntimeReason |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-ç¼è¾") |
| | | @ApiOperation(value = "åæºåå 表-ç¼è¾", notes = "åæºåå 表-ç¼è¾") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<?> edit(@RequestBody MdcDowntimeReason mdcDowntimeReason) { |
| | | mdcDowntimeReasonService.updateById(mdcDowntimeReason); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-éè¿idå é¤") |
| | | @ApiOperation(value = "åæºåå 表-éè¿idå é¤", notes = "åæºåå 表-éè¿idå é¤") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<?> delete(@RequestParam(name = "id", required = true) String id) { |
| | | mdcDowntimeReasonService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-æ¹éå é¤") |
| | | @ApiOperation(value = "åæºåå 表-æ¹éå é¤", notes = "åæºåå 表-æ¹éå é¤") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | this.mdcDowntimeReasonService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿åï¼"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value = "åæºåå 表-éè¿idæ¥è¯¢", notes = "åæºåå 表-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { |
| | | MdcDowntimeReason mdcDowntimeReason = mdcDowntimeReasonService.getById(id); |
| | | return Result.OK(mdcDowntimeReason); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param mdcDowntimeReason |
| | | */ |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, MdcDowntimeReason mdcDowntimeReason) { |
| | | return super.exportXls(request, mdcDowntimeReason, MdcDowntimeReason.class, "åæºåå 表"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, MdcDowntimeReason.class); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®åæºç±»åè·ååæºåå å表 |
| | | * |
| | | * @param downtimeType |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åæºåå 表-æ ¹æ®åæºç±»åè·ååæºåå å表") |
| | | @ApiOperation(value = "åæºåå 表-æ ¹æ®åæºç±»åè·ååæºåå å表", notes = "åæºåå 表-æ ¹æ®åæºç±»åè·ååæºåå å表") |
| | | @GetMapping(value = "/downtimeReasonList") |
| | | public Result<?> downtimeReasonList(@RequestParam(name = "downtimeType", required = true) String downtimeType) { |
| | | List<MdcDowntimeReason> result = mdcDowntimeReasonService.downtimeReasonList(downtimeType); |
| | | return Result.OK(result); |
| | | } |
| | | |
| | | } |
| | |
| | | import org.jeecg.modules.mdc.entity.MdcEquipment; |
| | | import org.jeecg.modules.mdc.entity.MdcFeedback; |
| | | import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentService; |
| | | import org.jeecg.modules.mdc.service.IMdcHomeService; |
| | | import org.jeecg.modules.mdc.vo.MdcCommonVo; |
| | | import org.jeecg.modules.mdc.vo.MdcHomeEfficiencyVo; |
| | |
| | | @RestController |
| | | @RequestMapping("/mdc/home") |
| | | public class MdcHomeController { |
| | | |
| | | @Resource |
| | | private IMdcEquipmentService mdcEquipmentService; |
| | | |
| | | @Resource |
| | | private IMdcProductionService mdcProductionService; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.dto; |
| | | |
| | | import lombok.Data; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; |
| | | |
| | | /** |
| | | * @Author: Lius |
| | | * @CreateTime: 2025-03-12 |
| | | * @Description: |
| | | */ |
| | | @Data |
| | | public class MdcEquipmentWaitSectionDto extends MdcEquipmentRunningSection { |
| | | |
| | | private String equipmentName; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.jeecg.common.system.base.entity.JeecgEntity; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Description: å¾
æºåæºè¡¨ |
| | | * @Author: lius |
| | | * @Date: 2025-03-12 |
| | | */ |
| | | @Data |
| | | @TableName("mdc_downtime") |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @ApiModel(value = "mdc_downtime对象", description = "å¾
æºåæºè¡¨") |
| | | public class MdcDowntime extends JeecgEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 7151231815767722285L; |
| | | |
| | | /** |
| | | * 设å¤ç¼å· |
| | | */ |
| | | @Excel(name = "设å¤ç¼å·", width = 15) |
| | | @ApiModelProperty(value = "设å¤ç¼å·") |
| | | private String equipmentId; |
| | | /** |
| | | * 设å¤åç§° |
| | | */ |
| | | @Excel(name = "设å¤åç§°", width = 15) |
| | | @ApiModelProperty(value = "设å¤åç§°") |
| | | private String equipmentName; |
| | | /** |
| | | * å¼å§æ¶é´ |
| | | */ |
| | | @Excel(name = "å¼å§æ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å¼å§æ¶é´") |
| | | private Date startDate; |
| | | /** |
| | | * ç»ææ¶é´ |
| | | */ |
| | | @Excel(name = "ç»ææ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "ç»ææ¶é´") |
| | | private Date endDate; |
| | | /** |
| | | * åæºåå id |
| | | */ |
| | | @Excel(name = "åæºåå id", width = 15) |
| | | @ApiModelProperty(value = "åæºåå id") |
| | | @Dict(dictTable = "mdc_downtime_reason",dicCode = "id",dicText = "downtime_type") |
| | | private String reasonId; |
| | | /** |
| | | * ç¶æï¼0æªä¸æ¥ï¼1已䏿¥ï¼ |
| | | */ |
| | | @Excel(name = "ç¶æ", width = 15) |
| | | @ApiModelProperty(value = "ç¶æï¼0æªä¸æ¥ï¼1已䏿¥ï¼") |
| | | private Integer status = 0; |
| | | /** |
| | | * æ¥æ |
| | | */ |
| | | @Excel(name = "æ¥æ", width = 15) |
| | | @ApiModelProperty(value = "æ¥æ") |
| | | private String theDate; |
| | | /** |
| | | * 夿³¨ |
| | | */ |
| | | @Excel(name = "夿³¨", width = 15) |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.aspect.annotation.Dict; |
| | | import org.jeecg.common.system.base.entity.JeecgEntity; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @Description: åæºåå 表 |
| | | * @Author: lius |
| | | * @Date: 2025-03-11 |
| | | */ |
| | | @Data |
| | | @TableName("mdc_downtime_reason") |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @ApiModel(value = "mdc_downtime_reason对象", description = "åæºåå 表") |
| | | public class MdcDowntimeReason extends JeecgEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -4421631921207859780L; |
| | | |
| | | /** |
| | | * åæºç±»åï¼0ï¼è®¡ååæº 1ï¼é计ååæºï¼ |
| | | */ |
| | | @Excel(name = "åæºç±»åï¼0ï¼è®¡ååæº 1ï¼é计ååæºï¼", width = 15) |
| | | @ApiModelProperty(value = "åæºç±»åï¼0ï¼è®¡ååæº 1ï¼é计ååæºï¼") |
| | | @Dict(dicCode = "mdc_downtime_type") |
| | | private Integer downtimeType; |
| | | /** |
| | | * åæºåå æè¿° |
| | | */ |
| | | @Excel(name = "åæºåå æè¿°", width = 15) |
| | | @ApiModelProperty(value = "åæºåå æè¿°") |
| | | private String downtimeDescription; |
| | | /** |
| | | * 夿³¨ |
| | | */ |
| | | @Excel(name = "夿³¨", width = 15) |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.job; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; |
| | | import org.jeecg.modules.mdc.service.IMdcDowntimeService; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService; |
| | | import org.jeecg.modules.mdc.util.DateUtils; |
| | | import org.jeecg.modules.mdc.util.ThrowableUtil; |
| | | import org.jeecg.modules.quartz.entity.QuartzJob; |
| | | import org.jeecg.modules.quartz.entity.SysQuartzLog; |
| | | import org.jeecg.modules.quartz.service.IQuartzJobService; |
| | | import org.jeecg.modules.quartz.service.ISysQuartzLogService; |
| | | import org.jeecg.modules.system.service.ISysAnnouncementService; |
| | | import org.quartz.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @Author: Lius |
| | | * @CreateTime: 2025-03-12 |
| | | * @Description: æ«æåæºä»»å¡ |
| | | */ |
| | | @PersistJobDataAfterExecution |
| | | @DisallowConcurrentExecution |
| | | @Slf4j |
| | | public class ScanDowntimeJob implements Job { |
| | | |
| | | /** |
| | | * è¥åæ°åéåä¿®æ¹ QuartzJobControllerä¸ä¹é对åºä¿®æ¹ æ¶é´ï¼ yyyyMMdd ä¾ï¼ 20230414 |
| | | */ |
| | | private String parameter; |
| | | |
| | | public void setParameter(String parameter) { |
| | | this.parameter = parameter; |
| | | } |
| | | |
| | | @Resource |
| | | private IQuartzJobService quartzJobService; |
| | | |
| | | @Resource |
| | | private ISysAnnouncementService sysAnnouncementService; |
| | | |
| | | @Resource |
| | | private ISysQuartzLogService sysQuartzLogService; |
| | | |
| | | @Resource |
| | | private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService; |
| | | |
| | | @Resource |
| | | private IMdcDowntimeService mdcDowntimeService; |
| | | |
| | | @Override |
| | | public void execute(JobExecutionContext context) throws JobExecutionException { |
| | | SysQuartzLog quartzLog = new SysQuartzLog(); |
| | | quartzLog.setCreateTime(new Date()); |
| | | List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); |
| | | if (byJobClassName != null && !byJobClassName.isEmpty()) { |
| | | quartzLog.setJobId(byJobClassName.get(0).getId()); |
| | | } |
| | | quartzLog.setParams(this.parameter); |
| | | log.info("宿¶æ«æå¾
æºæ¶é¿è¶
20åé设å¤ä»»å¡ ScanDowntimeJob start! æ¶é´:{}, åæ°ï¼{}", DateUtils.getNow(), this.parameter); |
| | | long startTime = System.currentTimeMillis(); |
| | | try { |
| | | String date = ""; |
| | | if (StringUtils.isNotBlank(this.parameter)) { |
| | | date = DateUtils.format(DateUtils.toDate(this.parameter, DateUtils.STRDATE), DateUtils.STR_DATE); |
| | | |
| | | } else { |
| | | date = DateUtils.format(DateUtils.getNow(), DateUtils.STR_DATE); |
| | | } |
| | | mdcDowntimeService.remove(new LambdaQueryWrapper<MdcDowntime>().eq(MdcDowntime::getTheDate, date).eq(MdcDowntime::getStatus, CommonConstant.DOWNTIME_STATUS_0)); |
| | | |
| | | List<MdcEquipmentWaitSectionDto> mdcEquipmentRunningSections = mdcEquipmentRunningSectionService.findWaitList(date); |
| | | |
| | | if (mdcEquipmentRunningSections != null && !mdcEquipmentRunningSections.isEmpty()) { |
| | | String finalDate = date; |
| | | List<MdcDowntime> downtimeList = mdcEquipmentRunningSections.stream().map(mdcEquipmentWaitSectionDto -> { |
| | | MdcDowntime downtime = new MdcDowntime(); |
| | | downtime.setEquipmentId(mdcEquipmentWaitSectionDto.getEquipmentId()); |
| | | downtime.setEquipmentName(mdcEquipmentWaitSectionDto.getEquipmentName()); |
| | | downtime.setTheDate(finalDate); |
| | | downtime.setStartDate(mdcEquipmentWaitSectionDto.getStartTime()); |
| | | downtime.setEndDate(mdcEquipmentWaitSectionDto.getEndTime()); |
| | | return downtime; |
| | | }).collect(Collectors.toList()); |
| | | if (!downtimeList.isEmpty()) { |
| | | mdcDowntimeService.saveBatch(downtimeList); |
| | | } |
| | | } |
| | | quartzLog.setIsSuccess(0); |
| | | } catch (Exception e) { |
| | | quartzLog.setIsSuccess(-1); |
| | | quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); |
| | | // åéæ¶æ¯éç¥ |
| | | sysAnnouncementService.jobSendMessage("宿¶æ«æå¾
æºæ¶é¿è¶
20åé设å¤ä»»å¡", quartzLog.getExceptionDetail()); |
| | | } |
| | | long endTime = System.currentTimeMillis(); |
| | | quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); |
| | | sysQuartzLogService.save(quartzLog); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | import org.jeecg.modules.mdc.vo.MdcDowntimeVo; |
| | | |
| | | /** |
| | | * @Description: å¾
æºåæºè¡¨ |
| | | * @Author: lius |
| | | * @Date: 2025-03-12 |
| | | */ |
| | | public interface MdcDowntimeMapper extends BaseMapper<MdcDowntime> { |
| | | |
| | | IPage<MdcDowntime> pageList(Page<MdcDowntime> page, @Param("mdcDowntimeVo") MdcDowntimeVo mdcDowntimeVo); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntimeReason; |
| | | |
| | | /** |
| | | * @Description: åæºåå 表 |
| | | * @Author: lius |
| | | * @Date: 2025-03-11 |
| | | */ |
| | | public interface MdcDowntimeReasonMapper extends BaseMapper<MdcDowntimeReason> { |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmListDto; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; |
| | | import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo; |
| | | |
| | |
| | | List<MdcAlarmListDto> selectAlarmList(@Param("vo") MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | List<Integer> getDataList(@Param("equipmentId") String equipmentId, @Param("date") Date date); |
| | | |
| | | List<MdcEquipmentWaitSectionDto> findWaitList(@Param("date") String date); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.MdcDowntimeMapper"> |
| | | |
| | | <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcDowntime"> |
| | | SELECT * FROM mdc_downtime |
| | | <where> |
| | | <if test="mdcDowntimeVo.equipmentId != null and mdcDowntimeVo.equipmentId != ''"> |
| | | AND equipment_id = #{ mdcDowntimeVo.equipmentId } |
| | | </if> |
| | | <if test="mdcDowntimeVo.equipmentName != null and mdcDowntimeVo.equipmentName != ''"> |
| | | AND equipment_name = #{ mdcDowntimeVo.equipmentName } |
| | | </if> |
| | | <if test="mdcDowntimeVo.startTime != null and mdcDowntimeVo.startTime != '' and mdcDowntimeVo.endTime != null and mdcDowntimeVo.endTime != ''"> |
| | | AND the_date BETWEEN #{ mdcDowntimeVo.startTime } AND #{ mdcDowntimeVo.endTime } |
| | | </if> |
| | | <if test="mdcDowntimeVo.equipmentIdList != null and mdcDowntimeVo.equipmentIdList.size() > 0 "> |
| | | AND equipment_id IN |
| | | <foreach collection="mdcDowntimeVo.equipmentIdList" item="equipmentId" index="index" open="(" close=")" separator=","> |
| | | #{ equipmentId } |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | ORDER BY create_time DESC |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.MdcDowntimeReasonMapper"> |
| | | |
| | | </mapper> |
| | |
| | | AND status IS NOT NULL |
| | | </select> |
| | | |
| | | <select id="findWaitList" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto"> |
| | | SELECT |
| | | t1.*, |
| | | t2.equipment_name |
| | | FROM |
| | | mdc_equipment_running_section t1 |
| | | LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id |
| | | WHERE |
| | | duration > 1200 |
| | | AND status = 2 |
| | | AND CONVERT ( VARCHAR, start_time, 120 ) LIKE CONCAT(#{date},'%') |
| | | ORDER BY |
| | | equipment_id, start_time DESC |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntimeReason; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: åæºåå 表 |
| | | * @Author: lius |
| | | * @Date: 2025-03-11 |
| | | */ |
| | | public interface IMdcDowntimeReasonService extends IService<MdcDowntimeReason> { |
| | | |
| | | List<MdcDowntimeReason> downtimeReasonList(String downtimeType); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | import org.jeecg.modules.mdc.vo.MdcDowntimeVo; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | /** |
| | | * @Description: å¾
æºåæºè¡¨ |
| | | * @Author: lius |
| | | * @Date: 2025-03-12 |
| | | */ |
| | | public interface IMdcDowntimeService extends IService<MdcDowntime> { |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param userId |
| | | * @param page |
| | | * @param mdcDowntimeVo |
| | | * @param req |
| | | * @return |
| | | */ |
| | | IPage<MdcDowntime> pageList(String userId, Page<MdcDowntime> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmListDto; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto; |
| | | import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; |
| | | import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo; |
| | | import org.jeecg.modules.mdc.vo.MdcEquipmentRunningSectionVo; |
| | |
| | | |
| | | List<Integer> getDataList(String equipmentId, Date date); |
| | | |
| | | List<MdcEquipmentWaitSectionDto> findWaitList(String date); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntimeReason; |
| | | import org.jeecg.modules.mdc.mapper.MdcDowntimeReasonMapper; |
| | | import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: åæºåå 表 |
| | | * @Author: lius |
| | | * @Date: 2025-03-11 |
| | | */ |
| | | @Service |
| | | public class MdcDowntimeReasonServiceImpl extends ServiceImpl<MdcDowntimeReasonMapper, MdcDowntimeReason> implements IMdcDowntimeReasonService { |
| | | |
| | | @Override |
| | | public List<MdcDowntimeReason> downtimeReasonList(String downtimeType) { |
| | | return this.baseMapper.selectList(new LambdaQueryWrapper<MdcDowntimeReason>().eq(MdcDowntimeReason::getDowntimeType, downtimeType)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | import org.jeecg.modules.mdc.mapper.MdcDowntimeMapper; |
| | | import org.jeecg.modules.mdc.service.IMdcDowntimeService; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentService; |
| | | import org.jeecg.modules.mdc.vo.MdcDowntimeVo; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å¾
æºåæºè¡¨ |
| | | * @Author: lius |
| | | * @Date: 2025-03-12 |
| | | */ |
| | | @Service |
| | | public class MdcDowntimeServiceImpl extends ServiceImpl<MdcDowntimeMapper, MdcDowntime> implements IMdcDowntimeService { |
| | | |
| | | @Resource |
| | | private IMdcEquipmentService mdcEquipmentService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param userId |
| | | * @param page |
| | | * @param mdcDowntimeVo |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<MdcDowntime> pageList(String userId, Page<MdcDowntime> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req) { |
| | | // è·å设å¤IDå表 |
| | | List<String> equipmentIds = getEquipmentIds(userId, mdcDowntimeVo); |
| | | |
| | | // å¦æè®¾å¤IDå表为空ï¼ç´æ¥è¿å空å页 |
| | | if (equipmentIds == null || equipmentIds.isEmpty()) { |
| | | return new Page<>(page.getCurrent(), page.getSize(), 0); |
| | | } |
| | | |
| | | // 设置设å¤IDåè¡¨å°æ¥è¯¢æ¡ä»¶ä¸ |
| | | mdcDowntimeVo.setEquipmentIdList(equipmentIds); |
| | | |
| | | // æ§è¡å页æ¥è¯¢ |
| | | return this.baseMapper.pageList(page, mdcDowntimeVo); |
| | | } |
| | | |
| | | private List<String> getEquipmentIds(String userId, MdcDowntimeVo mdcDowntimeVo) { |
| | | if (StringUtils.isNotEmpty(mdcDowntimeVo.getEquipmentId())) { |
| | | return Collections.singletonList(mdcDowntimeVo.getEquipmentId()); |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(mdcDowntimeVo.getParentId())) { |
| | | return "2".equals(mdcDowntimeVo.getTypeTree()) |
| | | ? mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcDowntimeVo.getParentId()) |
| | | : mdcEquipmentService.getEquipmentIdsProduction(userId, mdcDowntimeVo.getParentId()); |
| | | } |
| | | |
| | | return "2".equals(mdcDowntimeVo.getTypeTree()) |
| | | ? mdcEquipmentService.getEquipmentIdsByDepart(userId, null) |
| | | : mdcEquipmentService.getEquipmentIdsProduction(userId, null); |
| | | } |
| | | |
| | | } |
| | |
| | | import org.jeecg.modules.mdc.dto.EquipmentMachingDto; |
| | | import org.jeecg.modules.mdc.dto.MdcAlarmListDto; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto; |
| | | import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto; |
| | | import org.jeecg.modules.mdc.entity.*; |
| | | import org.jeecg.modules.mdc.mapper.MdcEquipmentRunningSectionMapper; |
| | | import org.jeecg.modules.mdc.service.*; |
| | |
| | | return this.baseMapper.getDataList(equipmentId, date); |
| | | } |
| | | |
| | | @Override |
| | | public List<MdcEquipmentWaitSectionDto> findWaitList(String date) { |
| | | return this.baseMapper.findWaitList(date); |
| | | } |
| | | |
| | | private Map<String, List<MdcEquipmentRunningSectionDto>> logCharts(MdcEquipmentRunningSectionVo equipmentRunningSectionVo, String date) { |
| | | Map<String, List<MdcEquipmentRunningSectionDto>> map = new HashMap<>(); |
| | | List<MdcEquipmentRunningSectionDto> normal = new ArrayList<>(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.vo; |
| | | |
| | | import lombok.Data; |
| | | import org.jeecg.modules.mdc.entity.MdcDowntime; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Author: Lius |
| | | * @CreateTime: 2025-03-12 |
| | | * @Description: |
| | | */ |
| | | @Data |
| | | public class MdcDowntimeVo extends MdcDowntime { |
| | | /** |
| | | * å¼å§æ¶é´ -> 20220101 |
| | | */ |
| | | private String startTime; |
| | | /** |
| | | * ç»ææ¶é´ -> 20220101 |
| | | */ |
| | | private String endTime; |
| | | private String effectiveDate; |
| | | /** |
| | | * æ ç±»å -> 1:车é´å±çº§ 2:é¨é¨å±çº§ |
| | | */ |
| | | private String typeTree; |
| | | /** |
| | | * å±çº§ID |
| | | */ |
| | | private String parentId; |
| | | |
| | | /** |
| | | * 设å¤ids |
| | | */ |
| | | private List<String> equipmentIdList; |
| | | private List<String> mdcSectionIds; |
| | | } |