From a6d8cfbf89fae62167c99dab7ffddaeb6f2b7de5 Mon Sep 17 00:00:00 2001 From: yangkang <yangkang@xalxzn.com> Date: 星期二, 12 九月 2023 09:25:41 +0800 Subject: [PATCH] 预测性维护 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanController.java | 423 +++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkOrderMapper.java | 23 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderDetailMapper.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlan.java | 65 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanWarnMapper.xml | 84 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnServiceImpl.java | 148 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameterHistory.java | 63 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderDetailServiceImpl.java | 10 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnHistoryMapper.java | 9 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterService.java | 18 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterHistoryService.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanSparePartMapper.java | 24 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStandardPlanningMaterial.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentAlarmVo.java | 18 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanServiceImpl.java | 31 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java | 112 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanMapper.xml | 36 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanSparePartController.java | 65 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkOrder.java | 138 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkOrderServiceImpl.java | 171 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanParameterController.java | 70 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/ParameterVo.java | 30 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IRepairOrderDetailService.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java | 140 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanSparePart.java | 60 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkOrderService.java | 29 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnHistoryServiceImpl.java | 13 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameter.java | 67 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterHistoryMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml | 79 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderDetailMapper.xml | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnService.java | 20 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanSparePartService.java | 16 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterHistoryServiceImpl.java | 14 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanWarnController.java | 66 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml | 78 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java | 23 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanService.java | 16 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanMapper.java | 16 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarnHistory.java | 51 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnMapper.java | 23 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkOrderMapper.xml | 48 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentRunningSectionVo.java | 74 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java | 270 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarn.java | 63 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanSparePartJob.java | 32 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnHistoryService.java | 13 48 files changed, 2,791 insertions(+), 2 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java new file mode 100644 index 0000000..5d8456a --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java @@ -0,0 +1,270 @@ +package org.jeecg.modules.eam.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.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.eam.entity.MaintenanceOrderActualWorkingHour; +import org.jeecg.modules.eam.entity.SpecialtyMaintenanceOrder; +import org.jeecg.modules.eam.service.IMaintenanceOrderActualWorkingHourService; +import org.jeecg.modules.eam.service.IPredictiveWorkOrderService; +import org.jeecg.modules.eam.service.ISpecialtyMaintenanceOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.Map; + +@RestController +@RequestMapping("/eam/predictiveworkorder") +@Slf4j +public class PredictiveWorkOrderController extends JeecgController<SpecialtyMaintenanceOrder, ISpecialtyMaintenanceOrderService> { + + @Autowired + private IPredictiveWorkOrderService predictiveWorkOrderService; + + @Autowired + private IMaintenanceOrderActualWorkingHourService maintenanceOrderActualWorkingHourService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param specialtyMaintenanceOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "mom_eam_specialty_maintenance_order-鍒嗛〉鍒楄〃鏌ヨ") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-鍒嗛〉鍒楄〃鏌ヨ", notes = "mom_eam_specialty_maintenance_order-鍒嗛〉鍒楄〃鏌ヨ") +// @GetMapping(value = "/list") +// public Result<IPage<SpecialtyMaintenanceOrder>> queryPageList(SpecialtyMaintenanceOrder specialtyMaintenanceOrder, +// @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, +// @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, +// HttpServletRequest req) { +// QueryWrapper<SpecialtyMaintenanceOrder> queryWrapper = QueryGenerator.initQueryWrapper(specialtyMaintenanceOrder, req.getParameterMap()); +// Page<SpecialtyMaintenanceOrder> page = new Page<SpecialtyMaintenanceOrder>(pageNo, pageSize); +// IPage<SpecialtyMaintenanceOrder> pageList = specialtyMaintenanceOrderService.page(page, queryWrapper); +// return Result.OK(pageList); +// } + + /** + * 鑾峰彇涓撲笟淇濆吇宸ュ崟 + * 2023-4-25 qsw + */ + @GetMapping(value = "/pageOrderList") + public Result<?> pageOrderList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> specialtyMaintenanceOrderList = predictiveWorkOrderService.pageOrderList(pageNo, pageSize, params); +// for (Map<String, Object> record : specialtyMaintenanceOrderList.getRecords()) { +// String id = (String) record.get("id"); +// +// QueryWrapper<MaintenanceOrderActualWorkingHour> actualWorkingHourWrapper = new QueryWrapper<>(); +// actualWorkingHourWrapper.eq("maintenance_order_id", id) +// .eq("del_flag", 0); +// actualWorkingHourWrapper.select("sum(actual_working_hour_quota) as actualQuantity"); +// Map<String, Object> map = maintenanceOrderActualWorkingHourService.getMap(actualWorkingHourWrapper); +// BigDecimal actualQuantity = new BigDecimal(0); +// if (map != null) { +// actualQuantity = (BigDecimal) map.get("actualQuantity"); +// } +// record.put("actualWorkingHourQuota", actualQuantity); +// +// String status = (String) record.get("status"); +// if ("2".equals(status)) { +// record.put("distable", false); +// } else { +// record.put("distable", true); +// } +// } + return Result.ok(specialtyMaintenanceOrderList); + } + + /** + * 娣诲姞 + * + * @param specialtyMaintenanceOrder + * @return + */ +// @AutoLog(value = "mom_eam_specialty_maintenance_order-娣诲姞") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-娣诲姞", notes = "mom_eam_specialty_maintenance_order-娣诲姞") +// //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:add") +// @PostMapping(value = "/add") +// public Result<String> add(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// boolean b = specialtyMaintenanceOrderService.add(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("娣诲姞鎴愬姛锛�"); +// } +// return Result.error("娣诲姞澶辫触锛�"); +// } +// +// /** +// * 缂栬緫 +// * +// * @param specialtyMaintenanceOrder +// * @return +// */ +// @AutoLog(value = "mom_eam_specialty_maintenance_order-缂栬緫") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-缂栬緫", notes = "mom_eam_specialty_maintenance_order-缂栬緫") +// //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:edit") +// @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> edit(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// boolean b = specialtyMaintenanceOrderService.edit(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("缂栬緫鎴愬姛锛�"); +// } +// return Result.error("缂栬緫澶辫触锛�"); +// } +// +// +// @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> editStatus(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// specialtyMaintenanceOrder.setActualStartTime(new Date()); +// boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("涓嬪彂鎴愬姛!"); +// } else { +// return Result.error("涓嬪彂澶辫触!"); +// } +// } +// +// @RequestMapping(value = "/report", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> report(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// specialtyMaintenanceOrder.setActualEndTime(new Date()); +// boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder); +// if (!b) { +// return Result.error("鎶ュ伐澶辫触!"); +// } else { +// return Result.ok("鎶ュ伐鎴愬姛!"); +// } +// } +// +// @RequestMapping(value = "/revocation", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> revocation(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// String id = specialtyMaintenanceOrder.getId(); +// SpecialtyMaintenanceOrder maintenanceOrder = specialtyMaintenanceOrderService.getById(id); +// String status = maintenanceOrder.getStatus(); +// if ("5".equals(status)) { +// maintenanceOrder.setActualEndTime(null); +// boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("鎾ら攢鎴愬姛!"); +// } else { +// return Result.error("鎾ら攢澶辫触!"); +// } +// } else { +// return Result.error("浠呴檺宸插畬宸ョ姸鎬佹挙閿�瀹屾垚鎿嶄綔!"); +// } +// } +// +// @RequestMapping(value = "/orderGet", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> orderGet(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// String userId = sysUser.getId(); +// specialtyMaintenanceOrder.setRecipientUserId(userId); +// specialtyMaintenanceOrder.setMaintenanceUserId(userId); +// specialtyMaintenanceOrder.setStatus("3"); +// boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("棰嗗彇鎴愬姛!"); +// } else { +// return Result.error("棰嗗彇澶辫触!"); +// } +// } +// +// /** +// * 閫氳繃id鍒犻櫎 +// * +// * @param id +// * @return +// */ +// @AutoLog(value = "mom_eam_specialty_maintenance_order-閫氳繃id鍒犻櫎") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-閫氳繃id鍒犻櫎", notes = "mom_eam_specialty_maintenance_order-閫氳繃id鍒犻櫎") +// //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:delete") +// @DeleteMapping(value = "/delete") +// public Result<String> delete(@RequestParam(name = "id", required = true) String id) { +// specialtyMaintenanceOrderService.removeById(id); +// return Result.OK("鍒犻櫎鎴愬姛!"); +// } +// +// /** +// * 鎵归噺鍒犻櫎 +// * +// * @param ids +// * @return +// */ +// @AutoLog(value = "mom_eam_specialty_maintenance_order-鎵归噺鍒犻櫎") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-鎵归噺鍒犻櫎", notes = "mom_eam_specialty_maintenance_order-鎵归噺鍒犻櫎") +// //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:deleteBatch") +// @DeleteMapping(value = "/deleteBatch") +// public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { +// this.specialtyMaintenanceOrderService.removeByIds(Arrays.asList(ids.split(","))); +// return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); +// } +// +// /** +// * 閫氳繃id鏌ヨ +// * +// * @param id +// * @return +// */ +// //@AutoLog(value = "mom_eam_specialty_maintenance_order-閫氳繃id鏌ヨ") +// @ApiOperation(value = "mom_eam_specialty_maintenance_order-閫氳繃id鏌ヨ", notes = "mom_eam_specialty_maintenance_order-閫氳繃id鏌ヨ") +// @GetMapping(value = "/queryById") +// public Result<SpecialtyMaintenanceOrder> queryById(@RequestParam(name = "id", required = true) String id) { +// SpecialtyMaintenanceOrder specialtyMaintenanceOrder = specialtyMaintenanceOrderService.getById(id); +// if (specialtyMaintenanceOrder == null) { +// return Result.error("鏈壘鍒板搴旀暟鎹�"); +// } +// return Result.OK(specialtyMaintenanceOrder); +// } +// +// /** +// * 瀵煎嚭excel +// * +// * @param request +// * @param specialtyMaintenanceOrder +// */ +// //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:exportXls") +// @RequestMapping(value = "/exportXls") +// public ModelAndView exportXls(HttpServletRequest request, SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// return super.exportXls(request, specialtyMaintenanceOrder, SpecialtyMaintenanceOrder.class, "mom_eam_specialty_maintenance_order"); +// } +// +// /** +// * 閫氳繃excel瀵煎叆鏁版嵁 +// * +// * @param request +// * @param response +// * @return +// */ +// //@RequiresPermissions("mom_eam_specialty_maintenance_order:importExcel") +// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) +// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { +// return super.importExcel(request, response, SpecialtyMaintenanceOrder.class); +// } +// +// @RequestMapping(value = "/assign", method = {RequestMethod.PUT, RequestMethod.POST}) +// public Result<String> assign(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// boolean b = specialtyMaintenanceOrderService.assign(specialtyMaintenanceOrder); +// if (b) { +// return Result.OK("鏀规淳鎴愬姛!"); +// } else { +// return Result.error("鏀规淳澶辫触!"); +// } +// } + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanController.java new file mode 100644 index 0000000..a3b32f6 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanController.java @@ -0,0 +1,423 @@ +package org.jeecg.modules.eam.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.dto.message.MessageDTO; +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.api.ISysBaseAPI; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.base.entity.SysUpload; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.model.DepartVo; +import org.jeecg.modules.eam.service.*; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/eam/predictiveworkplan") +@Slf4j +public class PredictiveWorkPlanController extends JeecgController<PredictiveWorkPlan, IPredictiveWorkPlanService> { + + @Autowired + private IPredictiveWorkPlanService predictiveWorkPlanService; + + + /** + * 棰勬祴鎬х淮鎶ゆ柟妗� 鍒楄〃 + */ + @GetMapping(value = "/pagePredictiveWorkPlan") + public Result<IPage<Map<String, Object>>> pagePredictiveWorkPlan(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> maintenanceStandardList = predictiveWorkPlanService.pagePredictiveWorkPlan(pageNo, pageSize, params); + return Result.OK(maintenanceStandardList); + + } + + /** + * 娣诲姞 + */ + @AutoLog(value = "predictive_work_plan-娣诲姞") + @ApiOperation(value = "predictive_work_plan-娣诲姞", notes = "predictive_work_plan-娣诲姞") + @PostMapping(value = "/add") + @Transactional(rollbackFor = {Exception.class}) + public Result<String> add(@RequestBody PredictiveWorkPlan predictiveWorkPlan) { + predictiveWorkPlanService.save(predictiveWorkPlan); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + + /** + * 缂栬緫 + */ + @AutoLog(value = "predictive_work_plan-缂栬緫") + @ApiOperation(value = "predictive_work_plan-缂栬緫", notes = "predictive_work_plan-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + @Transactional(rollbackFor = {Exception.class}) + public Result<String> edit(@RequestBody PredictiveWorkPlan predictiveWorkPlan) { + predictiveWorkPlanService.updateById(predictiveWorkPlan); + return Result.OK("缂栬緫鎴愬姛!"); + } + +// /** +// * 閫氳繃id鍒犻櫎 +// * +// * @param id +// * @return +// */ +// @AutoLog(value = "mom_eam_equipment-閫氳繃id鍒犻櫎") +// @ApiOperation(value="mom_eam_equipment-閫氳繃id鍒犻櫎", notes="mom_eam_equipment-閫氳繃id鍒犻櫎") +// //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:delete") +// @DeleteMapping(value = "/delete") +// public Result<String> delete(@RequestParam(name="id",required=true) String id) { +// Equipment equipment = equipmentService.getById(id); +// equipment.setDelFlag(1); +// equipmentService.updateById(equipment); +// return Result.OK("鍒犻櫎鎴愬姛!"); +// } +// +// /** +// * 鎵归噺鍒犻櫎 +// * +// * @param ids +// * @return +// */ +// @AutoLog(value = "mom_eam_equipment-鎵归噺鍒犻櫎") +// @ApiOperation(value="mom_eam_equipment-鎵归噺鍒犻櫎", notes="mom_eam_equipment-鎵归噺鍒犻櫎") +// //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:deleteBatch") +// @DeleteMapping(value = "/deleteBatch") +// public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { +// List<String> stringList = Arrays.asList(ids.split(",")); +// for (String id : stringList) { +// Equipment equipment = equipmentService.getById(id); +// equipment.setDelFlag(1); +// equipmentService.updateById(equipment); +// } +//// this.equipmentService.removeByIds(Arrays.asList(ids.split(","))); +// return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); +// } +// +// /** +// * 閫氳繃id鏌ヨ +// * +// * @param id +// * @return +// */ +// //@AutoLog(value = "mom_eam_equipment-閫氳繃id鏌ヨ") +// @ApiOperation(value="mom_eam_equipment-閫氳繃id鏌ヨ", notes="mom_eam_equipment-閫氳繃id鏌ヨ") +// @GetMapping(value = "/queryById") +// public Result<Equipment> queryById(@RequestParam(name="id",required=true) String id) { +// Equipment equipment = equipmentService.getById(id); +// if(equipment==null) { +// return Result.error("鏈壘鍒板搴旀暟鎹�"); +// } +// return Result.OK(equipment); +// } +// +// /** +// * 瀵煎嚭excel +// * +// * @param request +// * @param equipment +// */ +// //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:exportXls") +// @RequestMapping(value = "/exportXls") +// public ModelAndView exportXls(HttpServletRequest request, Equipment equipment) { +// return super.exportXls(request, equipment, Equipment.class, "mom_eam_equipment"); +// } +// +//// /** +//// * 閫氳繃excel瀵煎叆鏁版嵁 +//// * +//// * @param request +//// * @param response +//// * @return +//// */ +//// //@RequiresPermissions("mom_eam_equipment:importExcel") +//// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) +//// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { +//// return super.importExcel(request, response, Equipment.class); +//// } +// +// +// /** +// * 璁惧寤鸿处 鑾峰彇缁勭粐閮ㄩ棬 +// * qsw 2023-4-28 +// */ +// @GetMapping("getSysDeparts") +// public Result<?> getSysDeparts() { +// List<DepartVo> sysDeparts = equipmentService.getSysDeparts(); +// return Result.ok(sysDeparts); +// } +// +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧浣跨敤璁板綍 +// * qsw 2023-7-28 +// */ +// @GetMapping(value = "/getResumeUseRecordList") +// public Result<?> getResumeUseRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeUseRecordList = equipmentService.getResumeUseRecordList(pageNo, pageSize, params); +// return Result.ok(resumeUseRecordList); +// } +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧鐐规璁板綍 +// * qsw 2023-7-28 +// */ +// @GetMapping(value = "/getResumeInspectionRecordList") +// public Result<?> getResumeInspectionRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeInspectionRecordList = equipmentService.getResumeInspectionRecordList(pageNo, pageSize, params); +// LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// for (Map<String, Object> record : resumeInspectionRecordList.getRecords()) { +// String id = (String)record.get("id"); +// String inspectionType = (String)record.get("inspectionType"); +// if("鏃ュ父鐐规".equals(inspectionType)){ +// List<InspectionOrderDetail> failCount = inspectionOrderDetailService.lambdaQuery() +// .eq(InspectionOrderDetail::getInspectionOrderId, id) +// .eq(InspectionOrderDetail::getJudgmentResult, "fail") +// .eq(InspectionOrderDetail::getDelFlag, 0).list(); +// +// List<InspectionOrderDetail> passCount = inspectionOrderDetailService.lambdaQuery() +// .eq(InspectionOrderDetail::getInspectionOrderId, id) +// .eq(InspectionOrderDetail::getJudgmentResult,"pass") +// .eq(InspectionOrderDetail::getDelFlag, 0).list(); +// record.put("result","姝e父:"+passCount.size()+"锛�"+"寮傚父:"+failCount.size()); +// }else{ +// List<SpecialtyInspectionOrderDetail> failCount = specialtyInspectionOrderDetailService.lambdaQuery() +// .eq(SpecialtyInspectionOrderDetail::getSpecialtyInspectionOrderId, id) +// .eq(SpecialtyInspectionOrderDetail::getJudgmentResult,"fail") +// .eq(SpecialtyInspectionOrderDetail::getDelFlag, 0).list(); +// +// List<SpecialtyInspectionOrderDetail> passCount = specialtyInspectionOrderDetailService.lambdaQuery() +// .eq(SpecialtyInspectionOrderDetail::getSpecialtyInspectionOrderId, id) +// .eq(SpecialtyInspectionOrderDetail::getJudgmentResult,"pass") +// .eq(SpecialtyInspectionOrderDetail::getDelFlag, 0).list(); +// record.put("result","姝e父:"+passCount.size()+"锛�"+"寮傚父:"+failCount.size()); +// } +// } +// return Result.ok(resumeInspectionRecordList); +// } +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧淇濆吇璁板綍 +// * qsw 2023-7-31 +// */ +// @GetMapping(value = "/getResumeMaintenanceRecordList") +// public Result<?> getResumeMaintenanceRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeMaintenanceRecordList = equipmentService.getResumeMaintenanceRecordList(pageNo, pageSize, params); +// return Result.ok(resumeMaintenanceRecordList); +// } +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧缁翠慨璁板綍 +// * qsw 2023-7-31 +// */ +// @GetMapping(value = "/getResumeRepairRecordList") +// public Result<?> getResumeRepairRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeRepairRecordList = equipmentService.getResumeRepairRecordList(pageNo, pageSize, params); +// return Result.ok(resumeRepairRecordList); +// } +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧妫�瀹氳褰� +// * qsw 2023-7-31 +// */ +// @GetMapping(value = "/getResumeCalibrationRecordList") +// public Result<?> getResumeCalibrationRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeCalibrationRecordList = equipmentService.getResumeCalibrationRecordList(pageNo, pageSize, params); +// for (Map<String, Object> record : resumeCalibrationRecordList.getRecords()) { +// String id = (String)record.get("id"); +// String status = (String)record.get("status"); +// String managementMode = (String)record.get("managementMode"); +// if("4".equals(status)){ +// if("data".equals(managementMode)){ +// List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery() +// .eq(CalibrationOrderDetail::getCalibrationOrderId, id) +// .eq(CalibrationOrderDetail::getJudgmentResult, "fail") +// .eq(CalibrationOrderDetail::getDelFlag,"0").list(); +// if(calibrationOrderDetails.size()>0){ +// record.put("calibrationResult","寮傚父"); +// }else{ +// record.put("calibrationResult","姝e父甯�"); +// } +// }else{ +// List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery() +// .eq(CalibrationOrderReport::getCalibrationOrderId, id) +// .eq(CalibrationOrderReport::getJudgmentResult, "fail") +// .eq(CalibrationOrderReport::getDelFlag, "0").list(); +// if(calibrationOrderReports.size()>0){ +// record.put("calibrationResult","寮傚父"); +// }else{ +// record.put("calibrationResult","姝e父甯�"); +// } +// } +// } +// } +// return Result.ok(resumeCalibrationRecordList); +// } +// +// /** +// *璁惧灞ュ巻 鑾峰彇璁惧澶勭疆璁板綍 +// * qsw 2023-7-31 +// */ +// @GetMapping(value = "/getResumeChangeRecordList") +// public Result<?> getResumeChangeRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { +// IPage<Map<String, Object>> resumeChangeRecordList = equipmentService.getResumeChangeRecordList(pageNo, pageSize, params); +// return Result.ok(resumeChangeRecordList); +// } +// +// /** +// * 鏍规嵁鐘舵�佹煡璇㈣澶囧垪琛� +// */ +// @GetMapping(value = "/getEquipmentListByStatus") +// public Result<IPage<Equipment>> getEquipmentList(Equipment equipment,String status, +// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, +// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, +// HttpServletRequest req) { +// QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); +// List<String> statusList = Arrays.asList(status.split(",")); +// Page<Equipment> page = new Page<Equipment>(pageNo, pageSize); +// queryWrapper.in("equipment_status",statusList); +// IPage<Equipment> pageList = equipmentService.page(page, queryWrapper); +// return Result.OK(pageList); +// }/** +// * 瀵煎叆 +// * @return +// */ +// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) +// @Transactional(rollbackFor = Exception.class) +// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { +// MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; +// LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); +// String exceptionInfo = ""; +// int exceptionNum = 0; +// for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { +// MultipartFile file = entity.getValue(); +// ImportParams params = new ImportParams(); +// params.setNeedSave(true); +// try { +// List<EquipmentImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), EquipmentImportVo.class, params); +// for(int i = 0;i<list.size();i++){ +// EquipmentImportVo equipmentImportVo = list.get(i); +// EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentImportVo.getEquipmentCategoryName()),false); +// if( +// StringUtils.isBlank(equipmentImportVo.getNum()) +// || StringUtils.isBlank(equipmentImportVo.getName()) +// || StringUtils.isBlank(equipmentImportVo.getUseId()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentUda1()) +// || StringUtils.isBlank(equipmentImportVo.getManageId()) +// || StringUtils.isBlank(equipmentImportVo.getTeamId()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentStatus()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentUda3()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentUda5()) +// || StringUtils.isBlank(equipmentImportVo.getEquipmentUda2()) +// || StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate()) +// || StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo()) +// || StringUtils.isBlank(equipmentImportVo.getFundSource()) +// || StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate()) +// || StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate()) +// || StringUtils.isBlank(equipmentImportVo.getFactoryNo()) +// || StringUtils.isBlank(equipmentImportVo.getConstructorId()) +// || StringUtils.isBlank(equipmentImportVo.getSourceCountry()) +// || StringUtils.isBlank(equipmentImportVo.getModel()) +// || StringUtils.isBlank(equipmentImportVo.getSpecification()) +// || StringUtils.isBlank(equipmentImportVo.getGpo()) +// ){ +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鏁版嵁鏈夋湭濉」,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; +// exceptionNum++; +// }else if(ObjectUtils.isNull(equipmentCategory)) +// { +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璇ヨ澶囨墍灞炵被鍒笉瀛樺湪锛岃鍏堢淮鎶よ澶囩被鍒�;"; +// exceptionNum++; +// } +// else{ +// Equipment oriEquipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentImportVo.getNum()),false); +// if(ObjectUtils.isNull(oriEquipment)){ +// Equipment equipment = new Equipment(); +// equipment.setNum(equipmentImportVo.getNum()) +// .setName(equipmentImportVo.getName()) +// .setUseId(equipmentImportVo.getUseId()) +// .setEquipmentUda1(equipmentImportVo.getEquipmentUda1()) +// .setManageId(equipmentImportVo.getManageId()) +// .setTeamId(equipmentImportVo.getTeamId()) +// .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId()) +// .setEquipmentCategoryId(equipmentCategory.getId()) +// .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification()) +// .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration()) +// .setCoolingSystem(equipmentImportVo.getCoolingSystem()) +// .setFireExtinguisher(equipmentImportVo.getFireExtinguisher()) +// .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod()) +// .setOperatingSystem(equipmentImportVo.getOperatingSystem()) +// .setSystem(equipmentImportVo.getSystem()) +// .setPort(equipmentImportVo.getPort()) +// .setCoordinateNum(equipmentImportVo.getCoordinateNum()) +// .setEquipmentStatus(equipmentImportVo.getEquipmentStatus()) +// .setEquipmentUda3(equipmentImportVo.getEquipmentUda3()) +// .setEquipmentUda4(equipmentImportVo.getEquipmentUda4()) +// .setEquipmentUda5(equipmentImportVo.getEquipmentUda5()) +// .setLocation(equipmentImportVo.getEquipmentUda2()) +// .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate()) +// .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo()) +// .setFundSource(equipmentImportVo.getFundSource()) +// .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate()) +// .setFactoryNumber(equipmentImportVo.getFactoryNo()) +// .setConstructorId(equipmentImportVo.getConstructorId()) +// .setSourceCountry(equipmentImportVo.getSourceCountry()) +// .setModel(equipmentImportVo.getModel()) +// .setSpecification(equipmentImportVo.getSpecification()) +// .setGpo(equipmentImportVo.getGpo()); +// equipmentService.save(equipment); +// }else { +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;"; +// exceptionNum++; +// } +// } +// } +// if(exceptionNum!=0){ +// String headInfo = "灏忓鎻愰啋鎮�!璁惧鍙拌处锛氬鍏ユ垚鍔�"+(list.size()-exceptionNum)+"鏉�,澶辫触"+exceptionNum+"鏉�"; +// MessageDTO messageDTO = new MessageDTO(); +// messageDTO.setTitle(headInfo); +// messageDTO.setFromUser("鏁版嵁瀵煎叆灏忓姪鎵�-灏忓"); +// messageDTO.setCategory("瀵煎叆鎿嶄綔闄勫姞淇℃伅"); +// messageDTO.setContent(exceptionInfo); +// messageDTO.setToUser(user.getUsername()); +// sysBaseApi.sendSysAnnouncement(messageDTO); +// return Result.OK(headInfo+",鍙湪-绯荤粺娑堟伅-鏌ョ湅瀵煎叆璇︽儏"); +// } +// return Result.OK("瀵煎叆鎴愬姛锛屽凡瀵煎叆鍏ㄩ儴鏁版嵁銆�"); +// } catch (Exception e) { +// log.error(e.getMessage(), e); +// return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage()); +// } +// } +// return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); +// } + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanParameterController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanParameterController.java new file mode 100644 index 0000000..69ecd0c --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanParameterController.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.eam.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/eam/predictiveworkplanparameter") +@Slf4j +public class PredictiveWorkPlanParameterController extends JeecgController<PredictiveWorkPlanParameter, IPredictiveWorkPlanParameterService> { + + @Autowired + private IPredictiveWorkPlanParameterService predictiveWorkPlanParameterService; + + /** + * 鍙傛暟鍒楄〃 + */ + @GetMapping("listPredictiveWorkPlanParameter") + public Result<?> listPredictiveWorkPlanParameter(@RequestParam Map<String, Object> params) { + List<PredictiveWorkPlanParameter> materials = predictiveWorkPlanParameterService.listPredictiveWorkPlanParameter(params); + return Result.ok(materials); + } + + /** + * 鍙傛暟鎺у埗鍒楄〃 + */ + @GetMapping("pagePredictiveWorkPlanParameter") + public Result<?> pagePredictiveWorkPlanParameter(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> materials = predictiveWorkPlanParameterService.pagePredictiveWorkPlanParameter(pageNo, pageSize, params); + return Result.ok(materials); + } + + /** + * 娣诲姞 + */ + @PostMapping(value = "/add") + public Result<String> add(@RequestBody PredictiveWorkPlanParameter predictiveWorkPlanParameter) { + predictiveWorkPlanParameterService.save(predictiveWorkPlanParameter); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + + /** + * 缂栬緫 + */ + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody PredictiveWorkPlanParameter predictiveWorkPlanParameter) { + predictiveWorkPlanParameterService.updateById(predictiveWorkPlanParameter); + return Result.OK("缂栬緫鎴愬姛!"); + } + + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + predictiveWorkPlanParameterService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanSparePartController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanSparePartController.java new file mode 100644 index 0000000..9b69a22 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanSparePartController.java @@ -0,0 +1,65 @@ +package org.jeecg.modules.eam.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +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.modules.eam.entity.MaintenanceStandardPlanningMaterial; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequestMapping("/eam/predictiveworkplansparepart") +@Slf4j +public class PredictiveWorkPlanSparePartController extends JeecgController<PredictiveWorkPlanSparePart, IPredictiveWorkPlanSparePartService> { + + @Autowired + private IPredictiveWorkPlanSparePartService predictiveWorkPlanSparePartService; + + /** + * 澶囦欢鎺у埗鍒楄〃 + */ + @GetMapping("pagePredictiveWorkPlanSparePart") + public Result<?> pagePredictiveWorkPlanSparePart(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> materials = predictiveWorkPlanSparePartService.pagePredictiveWorkPlanSparePart(pageNo, pageSize, params); + return Result.ok(materials); + } + + + /** + * 娣诲姞 + */ + @PostMapping(value = "/add") + public Result<String> add(@RequestBody PredictiveWorkPlanSparePart predictiveWorkPlanSparePart) { + predictiveWorkPlanSparePartService.save(predictiveWorkPlanSparePart); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + + /** + * 缂栬緫 + */ + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody PredictiveWorkPlanSparePart predictiveWorkPlanSparePart) { + predictiveWorkPlanSparePartService.updateById(predictiveWorkPlanSparePart); + return Result.OK("缂栬緫鎴愬姛!"); + } + + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + predictiveWorkPlanSparePartService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanWarnController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanWarnController.java new file mode 100644 index 0000000..e4a18d4 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkPlanWarnController.java @@ -0,0 +1,66 @@ +package org.jeecg.modules.eam.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/eam/predictiveworkplanwarn") +@Slf4j +public class PredictiveWorkPlanWarnController extends JeecgController<PredictiveWorkPlanWarn, IPredictiveWorkPlanWarnService> { + + @Autowired + private IPredictiveWorkPlanWarnService predictiveWorkPlanWarnService; + + /** + * 鎶ヨ鍒楄〃 + */ + @GetMapping("listPredictiveWorkPlanWarn") + public Result<?> listPredictiveWorkPlanWarn(@RequestParam Map<String, Object> params) { + List<PredictiveWorkPlanWarn> materials = predictiveWorkPlanWarnService.listPredictiveWorkPlanWarn(params); + return Result.ok(materials); + } + + @GetMapping("pagePredictiveWorkPlanWarn") + public Result<?> pagePredictiveWorkPlanParameter(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> materials = predictiveWorkPlanWarnService.pagePredictiveWorkPlanWarn(pageNo, pageSize, params); + return Result.ok(materials); + } + + + /** + * 娣诲姞 + */ + @PostMapping(value = "/add") + public Result<String> add(@RequestBody PredictiveWorkPlanWarn predictiveWorkPlanWarn) { + predictiveWorkPlanWarnService.save(predictiveWorkPlanWarn); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + + /** + * 缂栬緫 + */ + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody PredictiveWorkPlanWarn predictiveWorkPlanWarn) { + predictiveWorkPlanWarnService.updateById(predictiveWorkPlanWarn); + return Result.OK("缂栬緫鎴愬姛!"); + } + + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + predictiveWorkPlanWarnService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java index 3f80c10..cfa62f0 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java @@ -351,6 +351,14 @@ return Result.OK(pageList); } + @GetMapping(value = "/pageRepairOrderDetailByMainId") + public Result<IPage<RepairOrderDetail>> pageRepairOrderDetailByMainId(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<RepairOrderDetail> pageList = repairOrderDetailService.pageRepairOrderDetailByMainId(pageNo, pageSize, params); + return Result.OK(pageList); + } + /** * 娣诲姞 * @param repairOrderDetail diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStandardPlanningMaterial.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStandardPlanningMaterial.java index 9546894..6162ed0 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStandardPlanningMaterial.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStandardPlanningMaterial.java @@ -34,8 +34,8 @@ private static final long serialVersionUID = 1L; /**淇濆吇鏍囧噯id*/ - @Excel(name = "淇濆吇鏍囧噯id", width = 15) - @ApiModelProperty(value = "淇濆吇鏍囧噯id") + @Excel(name = "淇濆吇鏍囧噯id/涓氬姟琛ㄤ富閿甀D", width = 15) + @ApiModelProperty(value = "淇濆吇鏍囧噯id/涓氬姟琛ㄤ富閿甀D") private String maintenanceStandardId; /**鐗╂枡id*/ @Excel(name = "鐗╂枡id", width = 15) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkOrder.java new file mode 100644 index 0000000..9fcef22 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkOrder.java @@ -0,0 +1,138 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +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.constant.CommonConstant; +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; + +@Data +@TableName("mom_eam_predictive_work_order") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkOrder extends JeecgEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 涓撲笟淇濆吇宸ュ崟鍙� + */ + @Excel(name = "棰勬祴鎬х淮鎶ゅ伐鍗曞彿", width = 15) + @ApiModelProperty(value = "棰勬祴鎬х淮鎶ゅ伐鍗曞彿") + private String num; + + /** + * 瀹為檯寮�濮嬫椂闂� + */ + @Excel(name = "瀹為檯寮�濮嬫椂闂�", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "瀹為檯寮�濮嬫椂闂�") + private Date actualStartTime; + /** + * 瀹為檯缁撴潫鏃堕棿 + */ + @Excel(name = "瀹為檯缁撴潫鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "瀹為檯缁撴潫鏃堕棿") + private Date actualEndTime; + /** + * 淇濆吇浜� + */ + @Excel(name = "淇濆吇浜�", width = 15) + @ApiModelProperty(value = "淇濆吇浜�") + private String maintenanceUserId; + /** + * 璁″垝寮�濮嬫椂闂� + */ + @Excel(name = "璁″垝寮�濮嬫椂闂�", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "璁″垝寮�濮嬫椂闂�") + private Date planStartTime; + /** + * 璁″垝缁撴潫鏃堕棿 + */ + @Excel(name = "璁″垝缁撴潫鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "璁″垝缁撴潫鏃堕棿") + private Date planEndTime; + /** + * 棰嗗彇浜篿d + */ + @Excel(name = "棰嗗彇浜篿d", width = 15) + @ApiModelProperty(value = "棰嗗彇浜篿d") + private String recipientUserId; + + /** + * 鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�) + */ + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + /** + * 鐘舵�� + */ + @Excel(name = "鐘舵��", width = 15) + @ApiModelProperty(value = "鐘舵��") + private String status = CommonConstant.STATUS_1; + /** + * 澶囩敤瀛楁1 + */ + @Excel(name = "澶囩敤瀛楁1", width = 15) + @ApiModelProperty(value = "澶囩敤瀛楁1") + private String maintenanceOrderUda1; + /** + * 澶囩敤瀛楁2 + */ + @Excel(name = "澶囩敤瀛楁2", width = 15) + @ApiModelProperty(value = "澶囩敤瀛楁2") + private String maintenanceOrderUda2; + /** + * 澶囩敤瀛楁3 + */ + @Excel(name = "澶囩敤瀛楁3", width = 15) + @ApiModelProperty(value = "澶囩敤瀛楁3") + private String maintenanceOrderUda3; + /** + * 澶囩敤瀛楁4 + */ + @Excel(name = "澶囩敤瀛楁4", width = 15) + @ApiModelProperty(value = "澶囩敤瀛楁4") + private String maintenanceOrderUda4; + /** + * 澶囩敤瀛楁5 + */ + @Excel(name = "澶囩敤瀛楁5", width = 15) + @ApiModelProperty(value = "澶囩敤瀛楁5") + private String maintenanceOrderUda5; + /** + * 鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛� + */ + @Excel(name = "鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�", width = 15) + @ApiModelProperty(value = "鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�") + private String createType; + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "璁惧ID", width = 36) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + + private String itemId; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlan.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlan.java new file mode 100644 index 0000000..d4e6f5b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlan.java @@ -0,0 +1,65 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +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.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +//棰勬祴鎬х淮鎶ゆ柟妗� +@Data +@TableName("mom_eam_predictive_work_plan") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlan extends JeecgEntity implements Serializable { + + @Excel(name = "鏂规缂栫爜", width = 30) + @ApiModelProperty(value = "鏂规缂栫爜") + private String num; + + @Excel(name = "鏂规鍚嶇О", width = 30) + @ApiModelProperty(value = "鏂规鍚嶇О") + private String name; + + @Excel(name = "璁惧ID", width = 36) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + + @Excel(name = "鐗堟湰", width = 30) + @ApiModelProperty(value = "鐗堟湰") + private String planVersion; + + @Excel(name = "缁翠繚鏂瑰紡", width = 15) + @ApiModelProperty(value = "缁翠繚鏂瑰紡") + private String maintenanceMethod; + + @Excel(name = "鐩戞帶绫诲瀷", width = 15) + @ApiModelProperty(value = "鐩戞帶绫诲瀷") + private String monitorType; + + @Excel(name = "娲惧伐鏂瑰紡", width = 15) + @ApiModelProperty(value = "娲惧伐鏂瑰紡") + private String assignMode; + + @Excel(name = "璐d换鐝粍", width = 15) + @ApiModelProperty(value = "璐d换鐝粍") + @Dict(dicCode = "id",dictTable="mom_base_team",dicText="name") + private String teamId; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + + @Excel(name = "鐘舵�侊紙1鏈敓鏁堬紝2宸茬敓鏁堬紝3宸插け鏁堬級", width = 15) + @ApiModelProperty(value = "鐘舵�侊紙1鏈敓鏁堬紝2宸茬敓鏁堬紝3宸插け鏁堬級") + private String status; + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameter.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameter.java new file mode 100644 index 0000000..db59847 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameter.java @@ -0,0 +1,67 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.Date; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鍙傛暟 +@Data +@TableName("mom_eam_predictive_work_plan_parameter") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlanParameter extends JeecgEntity implements Serializable { + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "鍙傛暟ID", width = 30) + @ApiModelProperty(value = "鍙傛暟ID") + private String parameterId; + + @Excel(name = "鍙傛暟浠g爜", width = 36) + @ApiModelProperty(value = "鍙傛暟浠g爜") + private String parameterCode; + + @Excel(name = "鍙傛暟鍚嶇О", width = 30) + @ApiModelProperty(value = "鍙傛暟鍚嶇О") + private String parameterName; + + @Excel(name = "鍗曚綅", width = 15) + @ApiModelProperty(value = "鍗曚綅") + private String parameterUnit; + + @Excel(name = "鏉′欢", width = 15) + @ApiModelProperty(value = "鏉′欢") + private String parameterCondition; + + @Excel(name = "涓婇檺鍊�", width = 15) + @ApiModelProperty(value = "涓婇檺鍊�") + private float upperLimitValue; + + @Excel(name = "涓嬮檺鍊�", width = 15) + @ApiModelProperty(value = "涓嬮檺鍊�") + private float lowerLimitValue; + + private String saveTableName; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + + @TableField(exist = false) + private float actualValue; + @TableField(exist = false) + private Date collectTime; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameterHistory.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameterHistory.java new file mode 100644 index 0000000..fc8544d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanParameterHistory.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("mom_eam_predictive_work_plan_parameter_history") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlanParameterHistory extends JeecgEntity implements Serializable { + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "鍙傛暟ID", width = 30) + @ApiModelProperty(value = "鍙傛暟ID") + private String parameterId; + + @Excel(name = "鍙傛暟浠g爜", width = 30) + @ApiModelProperty(value = "鍙傛暟浠g爜") + private String parameterCode; + + @Excel(name = "鍙傛暟鍚嶇О", width = 30) + @ApiModelProperty(value = "鍙傛暟鍚嶇О") + private String parameterName; + + @Excel(name = "涓婇檺鍊�", width = 15) + @ApiModelProperty(value = "涓婇檺鍊�") + private float upperLimitValue; + + @Excel(name = "涓嬮檺鍊�", width = 15) + @ApiModelProperty(value = "涓嬮檺鍊�") + private float lowerLimitValue; + + @Excel(name = "瀹為檯鍊�", width = 15) + @ApiModelProperty(value = "瀹為檯鍊�") + private float actualValue; + + @Excel(name = "鏉′欢", width = 15) + @ApiModelProperty(value = "鏉′欢") + private String parameterCondition; + + @Excel(name = "鐩戞祴鏃堕棿", width = 15) + @ApiModelProperty(value = "鐩戞祴鏃堕棿") + private Date collectTime; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanSparePart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanSparePart.java new file mode 100644 index 0000000..0e519c2 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanSparePart.java @@ -0,0 +1,60 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +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.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.Date; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢瀵垮懡 +@Data +@TableName("mom_eam_predictive_work_plan_spare_part") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlanSparePart extends JeecgEntity implements Serializable { + + @Excel(name = "澶囦欢ID", width = 30) + @ApiModelProperty(value = "澶囦欢ID") + private String sparePartId; + + @Excel(name = "閰嶅鏁伴噺", width = 30) + @ApiModelProperty(value = "閰嶅鏁伴噺") + private float supportingQuantity; + + @Excel(name = "棰濆畾瀵垮懡/灏忔椂", width = 36) + @ApiModelProperty(value = "棰濆畾瀵垮懡/灏忔椂") + private float ratedLife; + + @Excel(name = "瀵垮懡鎺у埗闄�", width = 30) + @ApiModelProperty(value = "瀵垮懡鎺у埗闄�") + private float lifeWarning; + + @Excel(name = "瀹為檯瀵垮懡", width = 15) + @ApiModelProperty(value = "瀹為檯瀵垮懡") + private float actualLife; + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + + @TableField(exist = false) + private String equipmentId; + @TableField(exist = false) + private String mdcEquipmentId; + @TableField(exist = false) + private Date replacementTime; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarn.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarn.java new file mode 100644 index 0000000..000c61d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarn.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鍛婅 +@Data +@TableName("mom_eam_predictive_work_plan_warn") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlanWarn extends JeecgEntity implements Serializable { + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "mdc璁惧ID", width = 15) + @ApiModelProperty(value = "mdc璁惧ID") + private String mdcEquipmentId; + + @Excel(name = "鏉′欢", width = 15) + @ApiModelProperty(value = "鏉′欢") + private String parameterCondition; + + @Excel(name = "鎶ヨID", width = 30) + @ApiModelProperty(value = "鎶ヨID") + private String warnId; + + @Excel(name = "鎶ヨ浠g爜", width = 36) + @ApiModelProperty(value = "鎶ヨ浠g爜") + private String warnCode; + + @Excel(name = "鎶ヨ鍚嶇О", width = 30) + @ApiModelProperty(value = "鎶ヨ鍚嶇О") + private String warnName; + + @Excel(name = "鎶ヨ鍛ㄦ湡", width = 15) + @ApiModelProperty(value = "鎶ヨ鍛ㄦ湡") + private int warnCycle; + + @Excel(name = "鎶ヨ鍛ㄦ湡鍗曚綅", width = 15) + @ApiModelProperty(value = "鎶ヨ鍛ㄦ湡鍗曚綅") + private String cycleUnit; + + @Excel(name = "鎶ヨ娆℃暟", width = 15) + @ApiModelProperty(value = "鎶ヨ娆℃暟") + private int times; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarnHistory.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarnHistory.java new file mode 100644 index 0000000..10c92d6 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PredictiveWorkPlanWarnHistory.java @@ -0,0 +1,51 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("mom_eam_predictive_work_plan_warn_history") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class PredictiveWorkPlanWarnHistory extends JeecgEntity implements Serializable { + + @Excel(name = "缁存姢鏂规ID", width = 15) + @ApiModelProperty(value = "缁存姢鏂规ID") + private String workPlanId; + + @Excel(name = "鏉′欢", width = 15) + @ApiModelProperty(value = "鏉′欢") + private String parameterCondition; + + @Excel(name = "鎶ヨID", width = 30) + @ApiModelProperty(value = "鎶ヨID") + private String warnId; + + @Excel(name = "鎶ヨ浠g爜", width = 36) + @ApiModelProperty(value = "鎶ヨ浠g爜") + private String warnCode; + + @Excel(name = "鎶ヨ鍚嶇О", width = 30) + @ApiModelProperty(value = "鎶ヨ鍚嶇О") + private String warnName; + + @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + + @Excel(name = "鐩戞祴鏃堕棿", width = 15) + @ApiModelProperty(value = "鐩戞祴鏃堕棿") + private Date collectTime; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanSparePartJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanSparePartJob.java new file mode 100644 index 0000000..2b15969 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanSparePartJob.java @@ -0,0 +1,32 @@ +package org.jeecg.modules.eam.job; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import javax.annotation.Resource; + +/** + * 澶囦欢瀵垮懡妫�鏌ワ紝鐢熸垚棰勬祴宸ュ崟 + */ +@Slf4j +public class PredictiveWorkPlanSparePartJob implements Job { + + @Resource + private IPredictiveWorkPlanSparePartService predictiveWorkPlanSparePartService; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info("澶囦欢瀵垮懡妫�鏌ワ紝鐢熸垚棰勬祴宸ュ崟浠诲姟 PredictiveWorkPlanSparePartJob start! 鏃堕棿:" + DateUtils.now()); + try { + predictiveWorkPlanSparePartService.createSparePartWorkPlan(); + log.info("澶囦欢瀵垮懡妫�鏌ワ紝鐢熸垚棰勬祴宸ュ崟浠诲姟 PredictiveWorkPlanSparePartJob 鎵ц鎴愬姛!"); + } catch (Exception e) { + log.error("澶囦欢瀵垮懡妫�鏌ワ紝鐢熸垚棰勬祴宸ュ崟浠诲姟 PredictiveWorkPlanSparePartJob 鎵ц澶辫触!"); + log.error(e.getMessage(), e); + } + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkOrderMapper.java new file mode 100644 index 0000000..45327c7 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkOrderMapper.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.jeecg.modules.eam.entity.PredictiveWorkOrder; +import org.jeecg.modules.eam.entity.SpecialtyMaintenanceOrder; + +import java.util.List; +import java.util.Map; + +public interface PredictiveWorkOrderMapper extends BaseMapper<PredictiveWorkOrder> { + + public IPage<Map<String, Object>> pageOrderList(IPage<Map> pageData,@Param("params") Map<String, Object> params); + + @Select("<script> select dbo.F_GET_SEQ_ID('${predictiveWorkOrder}') </script>") + public String getOrderNum(@Param("predictiveWorkOrder")String predictiveWorkOrder); + +// List<Map<String,Object>> getMaintenanceProjectList(@Param("maintenanceCycleId") String maintenanceCycleId, @Param("maintenanceMode") String maintenanceMode, @Param("maintenanceStandardId") String maintenanceStandardId); + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanMapper.java new file mode 100644 index 0000000..1e594ea --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanMapper.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; + +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� +public interface PredictiveWorkPlanMapper extends BaseMapper<PredictiveWorkPlan> { + + public IPage<Map<String, Object>> pagePredictiveWorkPlan(IPage<Map> pageData, @Param("params") Map<String, Object> params); + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterHistoryMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterHistoryMapper.java new file mode 100644 index 0000000..8cd5594 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterHistoryMapper.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameterHistory; + +public interface PredictiveWorkPlanParameterHistoryMapper extends BaseMapper<PredictiveWorkPlanParameterHistory> { + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java new file mode 100644 index 0000000..6115202 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter; +import org.jeecg.modules.eam.model.ParameterVo; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鍙傛暟 +public interface PredictiveWorkPlanParameterMapper extends BaseMapper<PredictiveWorkPlanParameter> { + + public List<PredictiveWorkPlanParameter> listPredictiveWorkPlanParameter(@Param("params") Map<String, Object> params); + + public IPage<Map<String, Object>> pagePredictiveWorkPlanParameter(IPage<Map> pageData, @Param("params") Map<String, Object> params); + + public List<PredictiveWorkPlanParameter> listParameter(@Param("predictiveWorkPlanId") String predictiveWorkPlanId); + + public ParameterVo findParameterInfo(@Param("saveTableName") String saveTableName, @Param("lowerLimitValue") float lowerLimitValue, + @Param("upperLimitValue") float upperLimitValue, @Param("parameterCode") String parameterCode); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanSparePartMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanSparePartMapper.java new file mode 100644 index 0000000..5b620c8 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanSparePartMapper.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.MaintenanceOrderActualMaterial; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.model.MdcEquipmentRunningSectionVo; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢瀵垮懡 +public interface PredictiveWorkPlanSparePartMapper extends BaseMapper<PredictiveWorkPlanSparePart> { + + public IPage<Map<String, Object>> pagePredictiveWorkPlanSparePart(IPage<Map> pageData, @Param("params") Map<String, Object> params); + + + public List<PredictiveWorkPlanSparePart> listPredictiveWorkPlanSparePart(@Param("predictiveWorkPlanId") String predictiveWorkPlanId); + + public List<MaintenanceOrderActualMaterial> listMaintenanceOrderActualMaterial( @Param("equipmentId") String equipmentId, @Param("sparePartId") String sparePartId); + + public List<MdcEquipmentRunningSectionVo> listMdcEquipmentRunningSectionVo( @Param("mdcEquipmentId") String mdcEquipmentId); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnHistoryMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnHistoryMapper.java new file mode 100644 index 0000000..a75b6c5 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnHistoryMapper.java @@ -0,0 +1,9 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarnHistory; + +public interface PredictiveWorkPlanWarnHistoryMapper extends BaseMapper<PredictiveWorkPlanWarnHistory> { + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnMapper.java new file mode 100644 index 0000000..a478eac --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanWarnMapper.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn; +import org.jeecg.modules.eam.model.MdcEquipmentAlarmVo; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鎶ヨ +public interface PredictiveWorkPlanWarnMapper extends BaseMapper<PredictiveWorkPlanWarn> { + + public List<PredictiveWorkPlanWarn> listPredictiveWorkPlanWarn(@Param("params") Map<String, Object> params); + + public IPage<Map<String, Object>> pagePredictiveWorkPlanWarn(IPage<Map> pageData, @Param("params") Map<String, Object> params); + + public List<PredictiveWorkPlanWarn> listWarn(@Param("predictiveWorkPlanId") String predictiveWorkPlanId); + + public List<MdcEquipmentAlarmVo> findWarnInfo(@Param("mdcEquipmentId") String mdcEquipmentId, @Param("times") int times, @Param("warnCode") String warnCode); + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderDetailMapper.java index d0ba5b2..1e8ce57 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderDetailMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderDetailMapper.java @@ -1,6 +1,9 @@ package org.jeecg.modules.eam.mapper; import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.core.metadata.IPage; import org.jeecg.modules.eam.entity.RepairOrderDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -29,4 +32,5 @@ */ public List<RepairOrderDetail> selectByMainId(@Param("mainId") String mainId); + public IPage<RepairOrderDetail> pageRepairOrderDetailByMainId(IPage<Map> pageData, @Param("params") Map<String, Object> params); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkOrderMapper.xml new file mode 100644 index 0000000..b5e8b95 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkOrderMapper.xml @@ -0,0 +1,48 @@ +<?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.eam.mapper.PredictiveWorkOrderMapper"> + + <select id="getSpecialtyMaintenanceOrderList" parameterType="Map" resultType="Map"> + SELECT DISTINCT + t1.id, + t1.num, + t1.status, + t1.maintenance_user_id maintenanceUserId, + t12.realname maintenanceUserName, + t2.id as specialtyMaintenancePlanId, + t2.num AS specialtyMaintenancePlanNum, + t2.assign_mode assignMode, + t11.item_text assignModeName, + t7.item_text AS statusName, + t5.item_text AS maintenanceMode, + t4.depart_name AS departName, + t2.team_id teamId, + t6.name AS teamName, + concat(t8.code, '/', t8.name) AS maintenanceCycleName, + t9.NAME AS maintenanceTypeName, + t1.plan_start_time as planStartTime, + t1.plan_end_time as planEndTime, + t1.actual_start_time as actualStartTime, + t1.actual_end_time as actualEndTime, + t10.realname, + t1.create_time as createTime, + t1.create_by as createBy + FROM + mom_eam_specialty_maintenance_order t1 + LEFT JOIN mom_eam_specialty_maintenance_plan t2 ON t1.specialty_maintenance_plan_id = t2.id + LEFT JOIN sys_depart t4 ON t2.depart_id = t4.id + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_method' ) t5 ON t5.item_value = t2.maintenance_mode + LEFT JOIN mom_base_team t6 ON t2.team_id = t6.id + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_order_status' ) t7 ON t7.item_value = t1.STATUS + left join (select * from v_sys_dict where dict_code = 'assign_mode') t11 on t2.assign_mode = t11.item_value + LEFT JOIN mom_eam_maintenance_cycle t8 ON t8.id = t2.maintenance_cycle_id + LEFT JOIN mom_eam_maintenance_type t9 ON t9.id = t2.maintenance_type_id + left join sys_user t10 on t1.recipient_user_id = t10.id + left join sys_user t12 on t1.maintenance_user_id = t12.id + WHERE t1.del_flag = 0 and t2.del_flag = 0 and t8.del_flag = 0 and t9.del_flag = 0 + <if test="params.num != null and params.num != ''"> + and t1.num like concat('%',#{params.num},'%') + </if> + ORDER BY t1.create_time desc + </select> +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanMapper.xml new file mode 100644 index 0000000..e5cb96e --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanMapper.xml @@ -0,0 +1,36 @@ +<?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.eam.mapper.PredictiveWorkPlanMapper"> + + <select id="pagePredictiveWorkPlan" parameterType="Map" resultType="Map"> + SELECT + t1.*, + t2.num deviceNum, + t2.name deviceName, + t2.model deviceModel, + t3.item_text assignModeName, + t4.item_text maintenanceMethodName, + t5.name teamName, + t6.item_text statusName, + t7.item_text monitorTypeName, + t1.plan_version planVersion, + t1.create_by createBy, + t1.create_time createTime + FROM + mom_eam_predictive_work_plan t1 + LEFT JOIN mom_eam_equipment t2 on t1.equipment_id = t2.id + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'assign_mode' ) t3 ON t3.item_value = t1.assign_mode + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_method' ) t4 ON t4.item_value = t1.maintenance_method + LEFT JOIN mom_base_team t5 ON t5.id = t2.team_id + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'version_status' ) t6 ON t6.item_value = t1.status + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'monitor_type' ) t7 ON t7.item_value = t1.monitor_type + WHERE t1.del_flag = 0 and t2.del_flag = 0 + <if test="params.planNum != null and params.planNum != ''"> + and t1.num = concat('%',#{params.planNum},'%') + </if> + <if test="params.deviceName != null and params.deviceName != ''"> + and t2.name = concat('%',#{params.deviceName},'%') + </if> + ORDER BY t1.create_time desc + </select> +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml new file mode 100644 index 0000000..88b8fe2 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml @@ -0,0 +1,78 @@ +<?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.eam.mapper.PredictiveWorkPlanParameterMapper"> + + <select id="listPredictiveWorkPlanParameter" parameterType="Map" resultType="org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter"> + SELECT + t1.id parameterId, + t1.chinese_name parameterName, + t1.english_name parameterCode, + t2.saveTableName + FROM + mdc_drive_type_param_config t1 + LEFT JOIN Equipment t2 ON t2.controlSystem = t1.control_system_type + LEFT JOIN mom_eam_equipment t3 ON t3.num = t2.EquipmentID + WHERE t3.id = #{params.equipmentId} + <if test="params.parameterCode != null and params.parameterCode != ''"> + and t1.english_name = concat('%',#{params.parameterCode},'%') + </if> + <if test="params.parameterName != null and params.parameterName != ''"> + and t1.chinese_name = concat('%',#{params.parameterName},'%') + </if> + ORDER BY t1.create_time desc + </select> + + <select id="pagePredictiveWorkPlanParameter" parameterType="Map" resultType="Map"> + SELECT + t1.*, + t1.parameter_code parameterCode, + t1.parameter_name parameterName, + t1.upper_limit_value upperLimitValue, + t1.lower_limit_value lowerLimitValue, + t2.name unitName, + t3.item_text conditionalRelationName + FROM + mom_eam_predictive_work_plan_parameter t1 + LEFT JOIN mom_base_unit t2 ON t2.id = t1.parameter_unit + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'conditional_relation' ) t3 ON t3.item_value = t1.parameter_condition + WHERE + t1.del_flag = 0 + <if test="params.planId != null and params.planId != ''"> + and t1.work_plan_id = #{params.planId} + </if> + ORDER BY t1.create_time desc + </select> + + <select id="listParameter" parameterType="Map" resultType="org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter"> + SELECT + t1.work_plan_id workPlanId, + t1.parameter_id parameterId, + t1.parameter_code parameterCode, + t1.parameter_name parameterName, + t1.upper_limit_value upperLimitValue, + t1.lower_limit_value lowerLimitValue, + t1.parameter_condition parameterCondition, + t1.save_table_name saveTableName + FROM + mom_eam_predictive_work_plan_parameter t1 + WHERE t1.del_flag = 0 + <if test="params.planId != null and params.planId != ''"> + and t1.work_plan_id = #{params.planId} + </if> + ORDER BY t1.create_time desc + </select> + + <select id="findParameterInfo" parameterType="Map" resultType="org.jeecg.modules.eam.model.ParameterVo"> + SELECT TOP 1 + t1.CollectTime collectTime, + t1.${parameterCode} actualValue + FROM + [${saveTableName}] t1 + WHERE + t1.${parameterCode} <![CDATA[ < ]]> #{lowerLimitValue} + OR t1.${parameterCode} > #{upperLimitValue} + ORDER BY + t1.CollectTime DESC + </select> + +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml new file mode 100644 index 0000000..f3c3450 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml @@ -0,0 +1,79 @@ +<?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.eam.mapper.PredictiveWorkPlanSparePartMapper"> + + <select id="pagePredictiveWorkPlanSparePart" parameterType="Map" resultType="Map"> + SELECT + t1.*, + t1.actual_life actualLife, + t1.create_by createBy, + t1.life_warning lifeWarning, + t1.rated_life ratedLife, + t1.work_plan_id workPlanId, + t1.supporting_quantity supportingQuantity, + t1.spare_part_id sparePartId, + t2.num sparePartNum, + t2.name sparePartName, + t2.model sparePartModel, + t2.specification sparePartSpecification, + t3.name mainUnitName, + t2.constructor_id constructorId, + t4.name constructorName + FROM mom_eam_predictive_work_plan_spare_part t1 + LEFT JOIN mom_eam_spare_part t2 ON t1.spare_part_id = t2.id + LEFT JOIN mom_base_unit t3 ON t2.main_unit_id = t3.id + LEFT JOIN mom_base_constructor t4 ON t4.id = t2.constructor_id + WHERE t1.del_flag = 0 and t2.del_flag = 0 + <if test="params.planId != null and params.planId != ''"> + and t1.work_plan_id = #{params.planId} + </if> + ORDER BY t1.create_time desc + </select> + + <select id="listPredictiveWorkPlanSparePart" resultType="org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart"> + SELECT + t1.id, + t1.spare_part_id sparePartId, + t1.supporting_quantity supportingQuantity, + t1.rated_life ratedLife, + t1.life_warning lifeWarning, + t1.actual_life actualLife, + t1.work_plan_id workPlanId, + t2.equipment_id equipmentId, + t3.num mdcEquipmentId + FROM + mom_eam_predictive_work_plan_spare_part t1 + LEFT JOIN mom_eam_predictive_work_plan t2 ON t1.work_plan_id = t2.id + LEFT JOIN mom_eam_equipment t3 ON t3.id = t2.equipment_id + WHERE + t1.del_flag = 0 and t1.work_plan_id = #{predictiveWorkPlanId} + </select> + + <select id="listMaintenanceOrderActualMaterial" + resultType="org.jeecg.modules.eam.entity.MaintenanceOrderActualMaterial"> + SELECT + t1.id, + t1.create_time createTime + FROM + mom_eam_maintenance_order_actual_material t1 + WHERE + t1.equipment_id = #{equipmentId} + AND t1.spare_part_id = #{sparePartId} + AND t1.del_flag = 0 + ORDER BY + t1.create_time DESC + </select> + + <select id="listMdcEquipmentRunningSectionVo" resultType="org.jeecg.modules.eam.model.MdcEquipmentRunningSectionVo"> + select t1.equipment_id equipmentId, + t1.duration, + t1.start_time startTime, + t1.start_long startLong, + t1.start_time startTime, + t1.start_long startLong +-- 鐘舵��,0:鍏虫満,1:寮�鏈�,2:寰呮満,3:宸ヤ綔,22:鎶ヨ + from mdc_equipment_running_section t1 where t1.status IN (1,2,3,22) t1.equipment_id = #{mdcEquipmentId} order by start_time desc + </select> + + +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanWarnMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanWarnMapper.xml new file mode 100644 index 0000000..74a9b7c --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanWarnMapper.xml @@ -0,0 +1,84 @@ +<?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.eam.mapper.PredictiveWorkPlanWarnMapper"> + + <select id="listPredictiveWorkPlanWarn" parameterType="Map" + resultType="org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn"> + SELECT MAX(t1.AlarmNo) warnCode, + MAX (t1.AlarmContent) warnName, + max(t1.EquipmentID) mdcEquipmentId + FROM + EquipmentAlarm t1 + LEFT JOIN Equipment t2 ON t2.EquipmentID = t1.EquipmentID + LEFT JOIN mom_eam_equipment t3 ON t3.num = t2.EquipmentID + WHERE t3.id = #{params.equipmentId} AND t1.AlarmNo <![CDATA[ <> ]]> '' + <if test="params.warnCode != null and params.warnCode != ''"> + and t1.AlarmNo = concat('%',#{params.warnCode},'%') + </if> + <if test="params.warnName != null and params.warnName != ''"> + and t1.AlarmContent = concat('%',#{params.warnName},'%') + </if> + GROUP BY t1.AlarmNo, t1.AlarmContent, t1.EquipmentID + </select> + + <select id="pagePredictiveWorkPlanWarn" parameterType="Map" resultType="Map"> + SELECT + t1.id, + t1.work_plan_id workPlanId, + t1.parameter_condition parameterCondition, + t1.warn_id warnId, + t1.warn_code warnCode, + t1.warn_name warnName, + t1.warn_cycle warnCycle, + t1.cycle_unit cycleUnit, + t1.times, + t2.item_text conditionalRelationName, + t3.item_text cycleUnitName + FROM + mom_eam_predictive_work_plan_warn t1 + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'conditional_relation' ) t2 ON t2.item_value = + t1.parameter_condition + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'warn_cycle_unit' ) t3 ON t3.item_value = t1.cycle_unit + WHERE + t1.del_flag = 0 + <if test="params.planId != null and params.planId != ''"> + and t1.work_plan_id = #{params.planId} + </if> + ORDER BY t1.create_time desc + </select> + + <select id="listWarn" resultType="org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn"> + SELECT + t1.id, + t1.work_plan_id workPlanId, + t1.parameter_condition parameterCondition, + t1.warn_id warnId, + t1.warn_code warnCode, + t1.warn_name warnName, + t1.warn_cycle warnCycle, + t1.cycle_unit cycleUnit, + t1.times, + t1.mdc_equipment_id mdcEquipmentId + FROM + mom_eam_predictive_work_plan_warn t1 + WHERE + t1.del_flag = 0 and t1.work_plan_id = #{predictiveWorkPlanId} + ORDER BY t1.create_time desc + </select> + + <select id="findWarnInfo" resultType="org.jeecg.modules.eam.model.MdcEquipmentAlarmVo"> + SELECT TOP ${times} + t1.EquipmentID equipmentId, + t1.collectTime, + t1.AlarmNo, + t1.AlarmContent + FROM + EquipmentAlarm t1 + WHERE + t1.EquipmentID = #{mdcEquipmentId} + AND t1.AlarmNo = #{warnCode} + ORDER BY + t1.collectTime DESC + </select> + +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderDetailMapper.xml index f08dc78..d2bb029 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderDetailMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderDetailMapper.xml @@ -15,4 +15,12 @@ WHERE repair_order_id = #{mainId} </select> + + <select id="pageRepairOrderDetailByMainId" resultType="org.jeecg.modules.eam.entity.RepairOrderDetail"> + SELECT * + FROM mom_eam_repair_order_detail + WHERE + repair_order_id = #{params.mainId} + </select> + </mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentAlarmVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentAlarmVo.java new file mode 100644 index 0000000..1eb9284 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentAlarmVo.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.eam.model; + +import lombok.Data; + +import java.util.Date; + +@Data +public class MdcEquipmentAlarmVo { + private String equipmentId; + private Date collectTime; + private String alarmNo; + private String alarmContent; + private String isexamine; + private String iseffective; + private Date examinetime; + private String examineperson; + private String remark; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentRunningSectionVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentRunningSectionVo.java new file mode 100644 index 0000000..5a36f47 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/MdcEquipmentRunningSectionVo.java @@ -0,0 +1,74 @@ +package org.jeecg.modules.eam.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class MdcEquipmentRunningSectionVo { + + /** + * 璁惧缂栧彿 + */ + @Excel(name = "璁惧缂栧彿", width = 15) + @ApiModelProperty(value = "璁惧缂栧彿") + private String equipmentId; + + /** + * 鏃堕暱 + */ + @Excel(name = "鏃堕暱", width = 15) + @ApiModelProperty(value = "鏃堕暱") + private Long duration; + /** + * 鐘舵��,0:鍏虫満,1:寮�鏈�,2:寰呮満,3:宸ヤ綔,22:鎶ヨ + */ + @Excel(name = "鐘舵��,0:鍏虫満,1:寮�鏈�,2:寰呮満,3:宸ヤ綔,22:鎶ヨ", width = 15) + @ApiModelProperty(value = "鐘舵��,0:鍏虫満,1:寮�鏈�,2:寰呮満,3:宸ヤ綔,22:鎶ヨ") + private Integer status; + /** + * 绋嬪簭鍙� + */ + @Excel(name = "绋嬪簭鍙�", width = 15) + @ApiModelProperty(value = "绋嬪簭鍙�") + private String sequenceNumber; + /** + * beltLine + */ + @Excel(name = "beltLine", width = 15) + @ApiModelProperty(value = "beltLine") + private String beltLine; + /** + * 寮�濮嬫椂闂� + */ + @Excel(name = "寮�濮嬫椂闂�", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "寮�濮嬫椂闂�") + private Date startTime; + /** + * 缁撴潫鏃堕棿 + */ + @Excel(name = "缁撴潫鏃堕棿", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "缁撴潫鏃堕棿") + private Date endTime; + /** + * 寮�濮嬫椂闂存埑 + */ + @Excel(name = "寮�濮嬫椂闂存埑", width = 15) + @ApiModelProperty(value = "寮�濮嬫椂闂存埑") + private Long startLong; + /** + * 缁撴潫鏃堕棿鎴� + */ + @Excel(name = "缁撴潫鏃堕棿鎴�", width = 15) + @ApiModelProperty(value = "缁撴潫鏃堕棿鎴�") + private Long endLong; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/ParameterVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/ParameterVo.java new file mode 100644 index 0000000..bda5fcf --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/model/ParameterVo.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.eam.model; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ParameterVo { + + private String workPlanId; + + private String parameterId; + + private String parameterCode; + + private String parameterName; + + private float upperLimitValue; + + private float lowerLimitValue; + + private float actualValue; + + private String parameterCondition; + + private String saveTableName; + + private Date collectTime; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkOrderService.java new file mode 100644 index 0000000..86d6cfa --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkOrderService.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkOrder; + +import java.util.Map; + +public interface IPredictiveWorkOrderService extends IService<PredictiveWorkOrder> { + + public IPage<Map<String, Object>> pageOrderList(Integer pageNo, Integer pageSize, Map<String, Object> params); + + /** + *鏂板 宸ュ崟 + */ + public boolean add(PredictiveWorkOrder predictiveWorkOrder); + +// /** +// *缂栬緫 涓撲笟淇濆吇宸ュ崟 +// */ +// boolean edit(SpecialtyMaintenanceOrder specialtyMaintenanceOrder); + +// /** +// *鏀规淳 涓撲笟淇濆伐鍗� +// */ +// boolean assign(SpecialtyMaintenanceOrder specialtyMaintenanceOrder); + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterHistoryService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterHistoryService.java new file mode 100644 index 0000000..19cda1a --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterHistoryService.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameterHistory; + +public interface IPredictiveWorkPlanParameterHistoryService extends IService<PredictiveWorkPlanParameterHistory> { + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterService.java new file mode 100644 index 0000000..e869120 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanParameterService.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鍙傛暟 +public interface IPredictiveWorkPlanParameterService extends IService<PredictiveWorkPlanParameter> { + + public List<PredictiveWorkPlanParameter> listPredictiveWorkPlanParameter(Map<String, Object> params); + + public IPage<Map<String, Object>> pagePredictiveWorkPlanParameter(Integer pageNo, Integer pageSize, Map<String, Object> params); + + public void createParameterWorkPlan(); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanService.java new file mode 100644 index 0000000..edb4914 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanService.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� +public interface IPredictiveWorkPlanService extends IService<PredictiveWorkPlan> { + + public IPage<Map<String, Object>> pagePredictiveWorkPlan(Integer pageNo, Integer pageSize, Map<String, Object> params); + + public List<PredictiveWorkPlan> listWorkPlan(String monitorType); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanSparePartService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanSparePartService.java new file mode 100644 index 0000000..d207ade --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanSparePartService.java @@ -0,0 +1,16 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; + +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢瀵垮懡 +public interface IPredictiveWorkPlanSparePartService extends IService<PredictiveWorkPlanSparePart> { + + public IPage<Map<String, Object>> pagePredictiveWorkPlanSparePart(Integer pageNo, Integer pageSize, Map<String, Object> params); + + public void createSparePartWorkPlan(); + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnHistoryService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnHistoryService.java new file mode 100644 index 0000000..b581060 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnHistoryService.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarnHistory; + +import java.util.Map; + +public interface IPredictiveWorkPlanWarnHistoryService extends IService<PredictiveWorkPlanWarnHistory> { + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnService.java new file mode 100644 index 0000000..4e34f59 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IPredictiveWorkPlanWarnService.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn; + +import java.util.List; +import java.util.Map; + +//棰勬祴鎬х淮鎶ゆ柟妗� 瑙﹀彂鏉′欢鎶ヨ +public interface IPredictiveWorkPlanWarnService extends IService<PredictiveWorkPlanWarn> { + + public List<PredictiveWorkPlanWarn> listPredictiveWorkPlanWarn(Map<String, Object> params); + + public IPage<Map<String, Object>> pagePredictiveWorkPlanWarn(Integer pageNo, Integer pageSize, Map<String, Object> params); + + public void createWarnWorkPlan(); + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IRepairOrderDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IRepairOrderDetailService.java index 9a97bb2..9315817 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IRepairOrderDetailService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IRepairOrderDetailService.java @@ -1,8 +1,10 @@ package org.jeecg.modules.eam.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.jeecg.modules.eam.entity.RepairOrderDetail; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * @Description: 缁翠慨鍐呭 @@ -19,4 +21,6 @@ * @return List<RepairOrderDetail> */ public List<RepairOrderDetail> selectByMainId(String mainId); + + public IPage<RepairOrderDetail> pageRepairOrderDetailByMainId(Integer pageNo, Integer pageSize, Map<String, Object> params); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkOrderServiceImpl.java new file mode 100644 index 0000000..d2ca4c5 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkOrderServiceImpl.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.eam.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.ibatis.annotations.Select; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.mapper.InspectionCycleMapper; +import org.jeecg.modules.eam.mapper.PredictiveWorkOrderMapper; +import org.jeecg.modules.eam.mapper.SpecialtyMaintenanceOrderMapper; +import org.jeecg.modules.eam.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +public class PredictiveWorkOrderServiceImpl extends ServiceImpl<PredictiveWorkOrderMapper, PredictiveWorkOrder> implements IPredictiveWorkOrderService { + + @Override + public IPage<Map<String, Object>> pageOrderList(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.getBaseMapper().pageOrderList(pageData, params) ; + } + +// @Autowired +// private ISpecialtyMaintenancePlanService specialtyMaintenancePlanService; +// +// @Autowired +// private IMaintenanceCycleService maintenanceCycleService; +// +// @Autowired +// private ISpecialtyMaintenancePlanDetailService specialtyMaintenancePlanDetailService; +// +// @Autowired +// private ISpecialtyMaintenanceOrderDetailService specialtyMaintenanceOrderDetailService; +// + @Override + public boolean add(PredictiveWorkOrder predictiveWorkOrder) { + String predictiveWorkOrderStr = super.getBaseMapper().getOrderNum("PredictiveWorkOrder") ; + String num = "YCWH" + DateUtils.date2Str(DateUtils.yyyyMMdd.get()) + predictiveWorkOrderStr; + predictiveWorkOrder.setNum(num); + predictiveWorkOrder.setCreateType("2"); + return super.save(predictiveWorkOrder); +// +// Date planStartTime = specialtyMaintenanceOrder.getPlanStartTime(); +// String specialtyMaintenancePlanId = specialtyMaintenanceOrder.getSpecialtyMaintenancePlanId(); +// SpecialtyMaintenancePlan specialtyMaintenancePlan = specialtyMaintenancePlanService.getById(specialtyMaintenancePlanId); +//// String departId = specialtyMaintenancePlan.getDepartId(); +// String maintenanceMode = specialtyMaintenancePlan.getMaintenanceMode(); +// String maintenanceCycleId = specialtyMaintenancePlan.getMaintenanceCycleId(); +// MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); +// String unit = maintenanceCycle.getUnit(); +// BigDecimal effectiveTime = maintenanceCycle.getEffectiveTime(); +// +// Date date = null; +// if("min".equals(unit)){ +// date = DateUtils.getMinAfter(planStartTime, effectiveTime.intValue()); +// }else if("hour".equals(unit)){ +// date = DateUtils.getHourAfter(planStartTime, effectiveTime.intValue()); +// }else if("day".equals(unit)){ +// date = DateUtils.getDayAfter(planStartTime, effectiveTime.intValue()); +// } +// +// specialtyMaintenanceOrder.setPlanEndTime(date); +// specialtyMaintenanceOrder.setCreateType("1");//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛� +// boolean b = super.save(specialtyMaintenanceOrder); +// if(!b){ +// return false; +// } + +// List<SpecialtyMaintenancePlanDetail> specialtyMaintenancePlanDetails = specialtyMaintenancePlanDetailService.lambdaQuery() +// .eq(SpecialtyMaintenancePlanDetail::getSpecialtyMaintenancePlanId, specialtyMaintenancePlanId) +// .eq(SpecialtyMaintenancePlanDetail::getDelFlag, 0).list(); +// +// for (SpecialtyMaintenancePlanDetail specialtyMaintenancePlanDetail : specialtyMaintenancePlanDetails) { +// String specialtyMaintenancePlanDetailId = specialtyMaintenancePlanDetail.getId(); +// String equipmentId = specialtyMaintenancePlanDetail.getEquipmentId(); +// String maintenanceStandardId = specialtyMaintenancePlanDetail.getMaintenanceStandardId(); +// +// SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail = null; +// List<Map<String, Object>> maintenanceProjectList = this.baseMapper.getMaintenanceProjectList(maintenanceCycleId,maintenanceMode,maintenanceStandardId); +// for (Map<String, Object> maintenanceProject : maintenanceProjectList) { +// specialtyMaintenanceOrderDetail = new SpecialtyMaintenanceOrderDetail(); +// specialtyMaintenanceOrderDetail.setSpecialtyMaintenanceOrderId(specialtyMaintenanceOrder.getId()); +// specialtyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandardId); +// specialtyMaintenanceOrderDetail.setMaintenanceStandardDetailId((String)maintenanceProject.get("id")); +// specialtyMaintenanceOrderDetail.setEquipmentId(equipmentId); +// specialtyMaintenanceOrderDetail.setSpecialtyMaintenancePlanDetailId(specialtyMaintenancePlanDetailId); +// specialtyMaintenanceOrderDetail.setMaintenanceProjectId((String)maintenanceProject.get("maintenanceProjectId")); +// specialtyMaintenanceOrderDetailService.save(specialtyMaintenanceOrderDetail); +// } +// } + } + +// @Override +// @Transactional(rollbackFor = { Exception.class }) +// public boolean edit(SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// +// Date planStartTime = specialtyMaintenanceOrder.getPlanStartTime(); +// String specialtyMaintenancePlanId = specialtyMaintenanceOrder.getSpecialtyMaintenancePlanId(); +// SpecialtyMaintenancePlan specialtyMaintenancePlan = specialtyMaintenancePlanService.getById(specialtyMaintenancePlanId); +// String maintenanceMode = specialtyMaintenancePlan.getMaintenanceMode(); +// String maintenanceCycleId = specialtyMaintenancePlan.getMaintenanceCycleId(); +// MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); +// String unit = maintenanceCycle.getUnit(); +// BigDecimal effectiveTime = maintenanceCycle.getEffectiveTime(); +// +// Date date = null; +// if("min".equals(unit)){ +// date = DateUtils.getMinAfter(planStartTime, effectiveTime.intValue()); +// }else if("hour".equals(unit)){ +// date = DateUtils.getHourAfter(planStartTime, effectiveTime.intValue()); +// }else if("day".equals(unit)){ +// date = DateUtils.getDayAfter(planStartTime, effectiveTime.intValue()); +// } +// +// specialtyMaintenanceOrder.setPlanEndTime(date); +// specialtyMaintenanceOrder.setCreateType("1");//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛� +// boolean b = super.updateById(specialtyMaintenanceOrder); +// if(!b){ +// return false; +// } +// +// List<SpecialtyMaintenanceOrderDetail> specialtyMaintenanceOrderDetails = specialtyMaintenanceOrderDetailService.lambdaQuery().eq(SpecialtyMaintenanceOrderDetail::getSpecialtyMaintenanceOrderId, specialtyMaintenanceOrder.getId()).eq(SpecialtyMaintenanceOrderDetail::getDelFlag, 0).list(); +// for (SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail : specialtyMaintenanceOrderDetails) { +// specialtyMaintenanceOrderDetailService.removeById(specialtyMaintenanceOrderDetail); +// } +// +// List<SpecialtyMaintenancePlanDetail> specialtyMaintenancePlanDetails = specialtyMaintenancePlanDetailService.lambdaQuery() +// .eq(SpecialtyMaintenancePlanDetail::getSpecialtyMaintenancePlanId, specialtyMaintenancePlanId) +// .eq(SpecialtyMaintenancePlanDetail::getDelFlag, 0).list(); +// +// for (SpecialtyMaintenancePlanDetail specialtyMaintenancePlanDetail : specialtyMaintenancePlanDetails) { +// String specialtyMaintenancePlanDetailId = specialtyMaintenancePlanDetail.getId(); +// String equipmentId = specialtyMaintenancePlanDetail.getEquipmentId(); +// String maintenanceStandardId = specialtyMaintenancePlanDetail.getMaintenanceStandardId(); +// +// SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail = null; +// List<Map<String, Object>> maintenanceProjectList = this.baseMapper.getMaintenanceProjectList(maintenanceCycleId,maintenanceMode,maintenanceStandardId); +// for (Map<String, Object> maintenanceProject : maintenanceProjectList) { +// specialtyMaintenanceOrderDetail = new SpecialtyMaintenanceOrderDetail(); +// specialtyMaintenanceOrderDetail.setSpecialtyMaintenanceOrderId(specialtyMaintenanceOrder.getId()); +// specialtyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandardId); +// specialtyMaintenanceOrderDetail.setMaintenanceStandardDetailId((String)maintenanceProject.get("id")); +// specialtyMaintenanceOrderDetail.setEquipmentId(equipmentId); +// specialtyMaintenanceOrderDetail.setSpecialtyMaintenancePlanDetailId(specialtyMaintenancePlanDetailId); +// specialtyMaintenanceOrderDetail.setMaintenanceProjectId((String)maintenanceProject.get("maintenanceProjectId")); +// specialtyMaintenanceOrderDetailService.save(specialtyMaintenanceOrderDetail); +// } +// } +// +// return true; +// } + +// @Override +// public boolean assign(SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { +// specialtyMaintenanceOrder.setStatus("3"); +// boolean b1 = super.updateById(specialtyMaintenanceOrder); +// if(!b1){ +// return false; +// } +// return true; +// } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterHistoryServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterHistoryServiceImpl.java new file mode 100644 index 0000000..c845f30 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterHistoryServiceImpl.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameterHistory; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanParameterHistoryMapper; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterHistoryService; +import org.springframework.stereotype.Service; + +@Service +public class PredictiveWorkPlanParameterHistoryServiceImpl extends ServiceImpl<PredictiveWorkPlanParameterHistoryMapper, PredictiveWorkPlanParameterHistory> + implements IPredictiveWorkPlanParameterHistoryService { + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java new file mode 100644 index 0000000..00c9b6a --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java @@ -0,0 +1,140 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.entity.PredictiveWorkOrder; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameterHistory; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanParameterMapper; +import org.jeecg.modules.eam.model.ParameterVo; +import org.jeecg.modules.eam.service.IPredictiveWorkOrderService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterHistoryService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanService; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.stereotype.Service; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +public class PredictiveWorkPlanParameterServiceImpl extends ServiceImpl<PredictiveWorkPlanParameterMapper, PredictiveWorkPlanParameter> implements IPredictiveWorkPlanParameterService { + + @Autowired + private IPredictiveWorkPlanService predictiveWorkPlanService; + + @Autowired + private IPredictiveWorkPlanParameterHistoryService predictiveWorkPlanParameterHistoryService; + + @Autowired + private IPredictiveWorkOrderService predictiveWorkOrderService; + + @Override + public List<PredictiveWorkPlanParameter> listPredictiveWorkPlanParameter(Map<String, Object> params) { + return super.baseMapper.listPredictiveWorkPlanParameter(params); + } + + @Override + public IPage<Map<String, Object>> pagePredictiveWorkPlanParameter(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.baseMapper.pagePredictiveWorkPlanParameter(pageData, params); + } + + // 1.鏌ヨ閰嶇疆鐨� 鍙傛暟瑙﹀彂鏉′欢 + // 2.鏌ヨ璁惧鐨勫弬鏁� + // 3.鐢熸垚缁存姢宸ュ崟 + @Override + public void createParameterWorkPlan() { + List<PredictiveWorkPlan> PredictiveWorkPlanList = predictiveWorkPlanService.listWorkPlan("cskz"); + for (PredictiveWorkPlan predictiveWorkPlan : PredictiveWorkPlanList) { + //鏂规瀵瑰簲鐨勫弬鏁颁俊鎭� + List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList = listParameter(predictiveWorkPlan.getId()); + boolean needCreateFlag = false; + int needCreateFlagTimes = 0; + //澶勭悊姣忎竴涓厤缃� + for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : predictiveWorkPlanParameterList) { + ParameterVo parameterVo = this.findParameterInfo(predictiveWorkPlanParameter.getSaveTableName(), predictiveWorkPlanParameter.getLowerLimitValue(), + predictiveWorkPlanParameter.getUpperLimitValue(), predictiveWorkPlanParameter.getParameterCode()); + if (isNewParameter(predictiveWorkPlan.getId(), parameterVo.getCollectTime())) { + predictiveWorkPlanParameter.setActualValue(parameterVo.getActualValue()); + predictiveWorkPlanParameter.setCollectTime(parameterVo.getCollectTime()); + needCreateFlagTimes++; + } + } + if ("and".equals(predictiveWorkPlanParameterList.get(0).getParameterCondition())) { + if (needCreateFlagTimes == predictiveWorkPlanParameterList.size()) { + needCreateFlag = true; + } + } else if ("or".equals(predictiveWorkPlanParameterList.get(0).getParameterCondition())) { + if (needCreateFlagTimes > 0) { + needCreateFlag = true; + } + } + if (needCreateFlag) { + //鐢熸垚宸ュ崟 ,灏嗗弬鏁颁俊鎭浠� + this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId()); + this.backInfo(predictiveWorkPlan.getId(), predictiveWorkPlanParameterList); + } + } + } + + private void createOrder(String workPlanId, String equipmentId) { + PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder(); + predictiveWorkOrder.setWorkPlanId(workPlanId); + predictiveWorkOrder.setEquipmentId(equipmentId); + predictiveWorkOrderService.add(predictiveWorkOrder); + } + + private void backInfo(String workPlanId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) { + List<PredictiveWorkPlanParameterHistory> list = new ArrayList<>(); + for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : predictiveWorkPlanParameterList) { + PredictiveWorkPlanParameterHistory predictiveWorkPlanParameterHistory = new PredictiveWorkPlanParameterHistory(); + predictiveWorkPlanParameterHistory.setWorkPlanId(workPlanId); + predictiveWorkPlanParameterHistory.setParameterId(predictiveWorkPlanParameter.getParameterId()); + predictiveWorkPlanParameterHistory.setParameterCode(predictiveWorkPlanParameter.getParameterCode()); + predictiveWorkPlanParameterHistory.setParameterName(predictiveWorkPlanParameter.getParameterName()); + predictiveWorkPlanParameterHistory.setUpperLimitValue(predictiveWorkPlanParameter.getUpperLimitValue()); + predictiveWorkPlanParameterHistory.setLowerLimitValue(predictiveWorkPlanParameter.getLowerLimitValue()); + predictiveWorkPlanParameterHistory.setActualValue(predictiveWorkPlanParameter.getActualValue()); + predictiveWorkPlanParameterHistory.setParameterCondition(predictiveWorkPlanParameter.getParameterCondition()); + predictiveWorkPlanParameterHistory.setCollectTime(predictiveWorkPlanParameter.getCollectTime()); + list.add(predictiveWorkPlanParameterHistory); + } + predictiveWorkPlanParameterHistoryService.saveBatch(list); + } + + + private boolean isNewParameter(String workPlanId, Date collectTime) { + LambdaQueryChainWrapper<PredictiveWorkPlanParameterHistory> lambdaQuery = predictiveWorkPlanParameterHistoryService.lambdaQuery(); + lambdaQuery.eq(PredictiveWorkPlanParameterHistory::getWorkPlanId, workPlanId); + lambdaQuery.eq(PredictiveWorkPlanParameterHistory::getCollectTime, collectTime); + List<PredictiveWorkPlanParameterHistory> list = lambdaQuery.list(); + if (list != null && list.size() > 0) { + return false; + } + return true; + } + + private ParameterVo findParameterInfo(String saveTableName, float lowerLimitValue, float upperLimitValue, String parameterCode) { + return this.getBaseMapper().findParameterInfo(saveTableName, lowerLimitValue, upperLimitValue, parameterCode); + } + + private List<PredictiveWorkPlanParameter> listParameter(String predictiveWorkPlanId) { + return this.getBaseMapper().listParameter(predictiveWorkPlanId); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanServiceImpl.java new file mode 100644 index 0000000..11e9384 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanServiceImpl.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanMapper; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Service +public class PredictiveWorkPlanServiceImpl extends ServiceImpl<PredictiveWorkPlanMapper, PredictiveWorkPlan> implements IPredictiveWorkPlanService { + + @Override + public IPage<Map<String, Object>> pagePredictiveWorkPlan(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.baseMapper.pagePredictiveWorkPlan(pageData,params); + } + + @Override + public List<PredictiveWorkPlan> listWorkPlan(String monitorType) { + LambdaQueryChainWrapper<PredictiveWorkPlan> lambdaQuery = this.lambdaQuery(); + lambdaQuery.eq(PredictiveWorkPlan::getDelFlag,0); + lambdaQuery.eq(PredictiveWorkPlan::getMonitorType,monitorType); + return lambdaQuery.list(); + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java new file mode 100644 index 0000000..e1ba978 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java @@ -0,0 +1,112 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.eam.entity.MaintenanceOrderActualMaterial; +import org.jeecg.modules.eam.entity.PredictiveWorkOrder; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanSparePart; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanSparePartMapper; +import org.jeecg.modules.eam.model.MdcEquipmentRunningSectionVo; +import org.jeecg.modules.eam.service.IPredictiveWorkOrderService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import sun.reflect.generics.tree.ArrayTypeSignature; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service +public class PredictiveWorkPlanSparePartServiceImpl extends ServiceImpl<PredictiveWorkPlanSparePartMapper, PredictiveWorkPlanSparePart> implements IPredictiveWorkPlanSparePartService { + + @Autowired + private IPredictiveWorkPlanService predictiveWorkPlanService; + + @Autowired + private IPredictiveWorkOrderService predictiveWorkOrderService; + + @Override + public IPage<Map<String, Object>> pagePredictiveWorkPlanSparePart(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.getBaseMapper().pagePredictiveWorkPlanSparePart(pageData, params); + } + + // 1.鏌ヨ閰嶇疆鐨� 澶囦欢瑙﹀彂鏉′欢 + // 2.鑾峰彇澶囦欢鐨勭殑瀹為檯瀵垮懡 璁惧寮�鏈烘椂闂� - 鎹欢鏃堕棿 锛堣澶囧紑鏈烘椂闂翠俊鎭埅姝㈠埌鏄ㄦ棩锛� + // 3.鍒ゆ柇瀹為檯瀵垮懡鏄惁澶т簬鎺у埗瀵垮懡锛屽苟鐢熸垚缁存姢宸ュ崟 + @Override + public void createSparePartWorkPlan() { + List<PredictiveWorkPlan> predictiveWorkPlanList = predictiveWorkPlanService.listWorkPlan("bjkz"); + for (PredictiveWorkPlan predictiveWorkPlan : predictiveWorkPlanList) { + List<PredictiveWorkPlanSparePart> predictiveWorkPlanSparePartList = listPredictiveWorkPlanSparePart(predictiveWorkPlan.getId()); + for (PredictiveWorkPlanSparePart predictiveWorkPlanSparePart : predictiveWorkPlanSparePartList) { + Date replacementTime = findReplacementTime(predictiveWorkPlanSparePart.getEquipmentId(), predictiveWorkPlanSparePart.getSparePartId()); + predictiveWorkPlanSparePart.setReplacementTime(replacementTime); + long actualLife = findActualLife(predictiveWorkPlanSparePart.getMdcEquipmentId(), replacementTime); + predictiveWorkPlanSparePart.setActualLife(actualLife); + if (actualLife > predictiveWorkPlanSparePart.getLifeWarning()) { + //1.鍒ゆ柇鏄惁鐢熸垚缁存姢宸ュ崟锛� 2.鐢熸垚缁存姢宸ュ崟 + this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId(), predictiveWorkPlanSparePart.getId()); + } + } + } + } + + //娌℃湁瀵瑰簲鐨勭淮鎶ゅ伐鍗曞氨鐢熸垚宸ュ崟 + private void createOrder(String workPlanId, String equipmentId, String itemId) { + LambdaQueryChainWrapper<PredictiveWorkOrder> lambdaQuery = predictiveWorkOrderService.lambdaQuery(); + lambdaQuery.eq(PredictiveWorkOrder::getEquipmentId, equipmentId).eq(PredictiveWorkOrder::getItemId, itemId).eq(PredictiveWorkOrder::getWorkPlanId, workPlanId); + //宸插垱寤� 0 宸蹭笅鍙� 1 鏈紑濮� 2 鎵ц涓� 3 + lambdaQuery.in(PredictiveWorkOrder::getStatus, Arrays.asList(new String[]{"0", "1", "2", "3"})); + lambdaQuery.eq(PredictiveWorkOrder::getDelFlag, 0); + List<PredictiveWorkOrder> list = lambdaQuery.list(); + if (list == null || list.size() == 0) { + PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder(); + predictiveWorkOrder.setItemId(itemId); + predictiveWorkOrder.setEquipmentId(equipmentId); + predictiveWorkOrder.setWorkPlanId(workPlanId); + predictiveWorkOrderService.add(predictiveWorkOrder); + } + } + + //鏌ヨ閰嶇疆鐨� 澶囦欢瑙﹀彂鏉′欢 + public List<PredictiveWorkPlanSparePart> listPredictiveWorkPlanSparePart(String predictiveWorkPlanId) { + return super.getBaseMapper().listPredictiveWorkPlanSparePart(predictiveWorkPlanId); + } + + //鏈�鍚庢崲浠舵椂闂� + public Date findReplacementTime(String equipmentId, String sparePartId) { + List<MaintenanceOrderActualMaterial> maintenanceOrderActualMaterialList = super.getBaseMapper().listMaintenanceOrderActualMaterial(equipmentId, sparePartId); + if (maintenanceOrderActualMaterialList.size() > 0) { + return maintenanceOrderActualMaterialList.get(0).getCreateTime(); + } + return new Date(); + } + + //瀹為檯瀵垮懡 + //1.鍊掑簭璁惧鐘舵�� + //2.绱姞璁惧闈炲叧鏈虹殑鏃堕棿 褰撹澶囩姸鎬佺殑寮�濮嬫椂闂村皬浜庢崲浠舵椂闂� 鎴栬�� 鎹欢鏃堕棿浠嬩簬璁惧鐘舵�佺殑寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿鐨勬暟鎹悗锛屽仠姝㈢疮鍔� + //3.鎹㈢畻鍗曚綅涓哄皬鏃� + public long findActualLife(String mdcEquipmentId, Date replacementTime) { + long actualLife = 0l; + long replacementTimeLong = replacementTime.getTime(); + List<MdcEquipmentRunningSectionVo> mdcEquipmentRunningSectionVoList = super.getBaseMapper().listMdcEquipmentRunningSectionVo(mdcEquipmentId); + for (MdcEquipmentRunningSectionVo temp : mdcEquipmentRunningSectionVoList) { + if (replacementTimeLong < temp.getStartLong()) { + actualLife = actualLife + temp.getDuration(); + } else if (replacementTimeLong >= temp.getStartLong() && replacementTimeLong <= temp.getEndLong()) { + actualLife = actualLife + (temp.getEndLong() - replacementTimeLong); + } else { + continue; + } + } + return actualLife / 60 / 60; + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnHistoryServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnHistoryServiceImpl.java new file mode 100644 index 0000000..24c4892 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnHistoryServiceImpl.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarnHistory; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanWarnHistoryMapper; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnHistoryService; +import org.springframework.stereotype.Service; + +@Service +public class PredictiveWorkPlanWarnHistoryServiceImpl extends ServiceImpl<PredictiveWorkPlanWarnHistoryMapper, PredictiveWorkPlanWarnHistory> implements IPredictiveWorkPlanWarnHistoryService { + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnServiceImpl.java new file mode 100644 index 0000000..c1356f1 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnServiceImpl.java @@ -0,0 +1,148 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.swagger.annotations.ApiModelProperty; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.eam.entity.PredictiveWorkOrder; +import org.jeecg.modules.eam.entity.PredictiveWorkPlan; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn; +import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarnHistory; +import org.jeecg.modules.eam.mapper.PredictiveWorkPlanWarnMapper; +import org.jeecg.modules.eam.model.MdcEquipmentAlarmVo; +import org.jeecg.modules.eam.service.IPredictiveWorkOrderService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnHistoryService; +import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class PredictiveWorkPlanWarnServiceImpl extends ServiceImpl<PredictiveWorkPlanWarnMapper, PredictiveWorkPlanWarn> implements IPredictiveWorkPlanWarnService { + + @Autowired + private IPredictiveWorkPlanService predictiveWorkPlanService; + + @Autowired + private IPredictiveWorkOrderService predictiveWorkOrderService; + + @Autowired + private IPredictiveWorkPlanWarnHistoryService predictiveWorkPlanWarnHistoryService; + + @Override + public List<PredictiveWorkPlanWarn> listPredictiveWorkPlanWarn(Map<String, Object> params) { + return super.baseMapper.listPredictiveWorkPlanWarn(params); + } + + @Override + public IPage<Map<String, Object>> pagePredictiveWorkPlanWarn(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.baseMapper.pagePredictiveWorkPlanWarn(pageData, params); + } + + // 1.閫氳繃棰勬祴鎬ф柟妗� 鏌ヨ閰嶇疆鐨� 鎶ヨ瑙﹀彂鏉′欢 + // 2.鍊掑簭鍙朜鏉℃暟鎹紝鍒ゆ柇棣栧熬涓ゆ潯鏁版嵁鏄惁鍦ㄦ姤璀︽潯浠跺懆鏈熷唴 + // 3.鍒ゆ柇鏄惁鐢熶骇缁存姢宸ュ崟锛屽苟鐢熸垚缁存姢宸ュ崟 + @Override + public void createWarnWorkPlan() { + List<PredictiveWorkPlan> predictiveWorkPlanList = predictiveWorkPlanService.listWorkPlan("bjkz"); + for (PredictiveWorkPlan predictiveWorkPlan : predictiveWorkPlanList) { + List<PredictiveWorkPlanWarn> predictiveWorkPlanWarnList = listPredictiveWorkPlanWarn(predictiveWorkPlan.getId()); + //鏂规瀵瑰簲鐨勫憡璀︿俊鎭� + boolean needWarnFlag = false; + int needWarnFlagTimes = 0; + List<MdcEquipmentAlarmVo> insertList = new ArrayList<>(); + for (PredictiveWorkPlanWarn predictiveWorkPlanWarn : predictiveWorkPlanWarnList) { + List<MdcEquipmentAlarmVo> mdcEquipmentAlarmVoList = this.findWarnInfo(predictiveWorkPlanWarn.getMdcEquipmentId(), + predictiveWorkPlanWarn.getTimes(), predictiveWorkPlanWarn.getWarnCode()); + if (mdcEquipmentAlarmVoList.size() >= predictiveWorkPlanWarn.getTimes() && + isTimeInWarnCycle(predictiveWorkPlanWarn.getWarnCycle(), predictiveWorkPlanWarn.getCycleUnit(), + mdcEquipmentAlarmVoList.get(0).getCollectTime(), mdcEquipmentAlarmVoList.get(mdcEquipmentAlarmVoList.size() - 1).getCollectTime())) { + insertList.addAll(mdcEquipmentAlarmVoList); + needWarnFlagTimes++; + } + } + if ("and".equals(predictiveWorkPlanWarnList.get(0).getParameterCondition())) { + if (needWarnFlagTimes == predictiveWorkPlanWarnList.size()) { + needWarnFlag = true; + } + } else if ("or".equals(predictiveWorkPlanWarnList.get(0).getParameterCondition())) { + if (needWarnFlagTimes > 0) { + needWarnFlag = true; + } + } + if (needWarnFlag) { + //鍒ゆ柇鏄惁鐢熸垚宸ュ崟 ,灏嗘姤璀︿俊鎭浠� + boolean flag = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId()); + if (flag) { + this.backInfo(predictiveWorkPlan.getId(), insertList); + } + } + } + } + + private void backInfo(String workPlanId, List<MdcEquipmentAlarmVo> predictiveWorkPlanWarnList) { + List<PredictiveWorkPlanWarnHistory> list = new ArrayList<>(); + for (MdcEquipmentAlarmVo mdcEquipmentAlarmVo : predictiveWorkPlanWarnList) { + PredictiveWorkPlanWarnHistory predictiveWorkPlanWarnHistory = new PredictiveWorkPlanWarnHistory(); + predictiveWorkPlanWarnHistory.setWorkPlanId(workPlanId); + predictiveWorkPlanWarnHistory.setWarnId(mdcEquipmentAlarmVo.getAlarmNo()); + predictiveWorkPlanWarnHistory.setWarnCode(mdcEquipmentAlarmVo.getAlarmNo()); + predictiveWorkPlanWarnHistory.setWarnName(mdcEquipmentAlarmVo.getAlarmContent()); + predictiveWorkPlanWarnHistory.setCollectTime(mdcEquipmentAlarmVo.getCollectTime()); + list.add(predictiveWorkPlanWarnHistory); + } + predictiveWorkPlanWarnHistoryService.saveBatch(list); + } + + private boolean createOrder(String workPlanId, String equipmentId) { + LambdaQueryChainWrapper<PredictiveWorkOrder> lambdaQuery = predictiveWorkOrderService.lambdaQuery(); + lambdaQuery.eq(PredictiveWorkOrder::getWorkPlanId, workPlanId).eq(PredictiveWorkOrder::getEquipmentId, equipmentId); + //宸插垱寤� 0 宸蹭笅鍙� 1 鏈紑濮� 2 鎵ц涓� 3 + lambdaQuery.in(PredictiveWorkOrder::getStatus, Arrays.asList(new String[]{"0", "1", "2", "3"})); + lambdaQuery.eq(PredictiveWorkOrder::getDelFlag, 0); + List<PredictiveWorkOrder> list = lambdaQuery.list(); + if (list == null || list.size() == 0) { + PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder(); + predictiveWorkOrder.setEquipmentId(equipmentId); + predictiveWorkOrder.setWorkPlanId(workPlanId); + predictiveWorkOrderService.add(predictiveWorkOrder); + return true; + } + return false; + } + + //鍗曚綅缁熶竴鎹㈢畻涓虹 + private boolean isTimeInWarnCycle(int warnCycle, String cycleUnit, Date endCollectTime, Date startCollectTime) { + long warnCycleSecond = 0l; + if ("minute".equals(cycleUnit)) { + warnCycleSecond = warnCycle * 60; + } else if ("hour".equals(cycleUnit)) { + warnCycleSecond = warnCycle * 60 * 60; + } else if ("day".equals(cycleUnit)) { + warnCycleSecond = warnCycle * 60 * 60 * 24; + } + long startCollectTimeLong = startCollectTime.getTime(); + long endCollectTimeLong = endCollectTime.getTime(); + if ((endCollectTimeLong - startCollectTimeLong) <= warnCycleSecond) { + return true; + } + return false; + } + + private List<MdcEquipmentAlarmVo> findWarnInfo(String mdcEquipmentId, int times, String warnCode) { + return this.getBaseMapper().findWarnInfo(mdcEquipmentId, times, warnCode); + } + + //鏂规瀵瑰簲鐨勫憡璀︽潯浠堕厤缃� + private List<PredictiveWorkPlanWarn> listPredictiveWorkPlanWarn(String predictiveWorkPlanId) { + return this.getBaseMapper().listWarn(predictiveWorkPlanId); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderDetailServiceImpl.java index 0620715..fe4cdde 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderDetailServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderDetailServiceImpl.java @@ -1,10 +1,14 @@ package org.jeecg.modules.eam.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.RepairOrderDetail; import org.jeecg.modules.eam.mapper.RepairOrderDetailMapper; import org.jeecg.modules.eam.service.IRepairOrderDetailService; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -24,4 +28,10 @@ public List<RepairOrderDetail> selectByMainId(String mainId) { return repairOrderDetailMapper.selectByMainId(mainId); } + + @Override + public IPage<RepairOrderDetail> pageRepairOrderDetailByMainId(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.baseMapper.pageRepairOrderDetailByMainId(pageData, params); + } } -- Gitblit v1.9.3