From 3858c775f565df000a45afd9a0c38c7b6bb39069 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期六, 07 十月 2023 15:07:58 +0800 Subject: [PATCH] 工厂模型 设备ABC修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardDetailController.java | 16 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/ProductionLine.java | 54 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaLineTreeWrapper.java | 88 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/ProductionLineMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IAreaService.java | 20 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IProductionLineService.java | 31 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IMaintenanceStandardDetailService.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/ProductionLineController.java | 112 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/AreaMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java | 75 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/AreaController.java | 96 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/MaintenanceStandardDetailServiceImpl.java | 21 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/ProductionLineServiceImpl.java | 128 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SiteController.java | 200 ++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/MaintenanceStandardDetailMapper.java | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SiteServiceImpl.java | 182 +++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Site.java | 44 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java | 23 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISiteService.java | 34 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/CommonCascade.java | 42 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Area.java | 52 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SiteMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaCascadeWrapper.java | 109 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaProductLineWrapper.java | 71 ++ 26 files changed, 1,415 insertions(+), 25 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/AreaController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/AreaController.java new file mode 100644 index 0000000..72b7834 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/AreaController.java @@ -0,0 +1,96 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; + +import javax.servlet.http.HttpServletRequest; + +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.query.QueryGenerator; +import org.jeecg.modules.eam.entity.Area; +import org.jeecg.modules.eam.service.IAreaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +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; + +@Api(tags = "杞﹂棿 鍓嶇鎺у埗鍣�") +@RestController +@RequestMapping("/base/area") +public class AreaController { + + @Autowired + private IAreaService areaService; + + @AutoLog(value = "杞﹂棿-鍒嗛〉鏌ヨ") + @ApiOperation(value = "杞﹂棿-鍒嗛〉鏌ヨ", notes = "杞﹂棿-鍒嗛〉鏌ヨ") + @GetMapping(value = "/list") + public Result<?> list(Area area, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { + QueryWrapper<Area> queryWrapper = QueryGenerator.initQueryWrapper(area, req.getParameterMap()); + Page<Area> page = new Page<Area>(pageNo, pageSize); + IPage<Area> pageList = areaService.page(page, queryWrapper); + return Result.ok(pageList); + } + + @AutoLog(value = "杞﹂棿-鏂板") + @ApiOperation(value = "杞﹂棿-鏂板", notes = "杞﹂棿-鏂板") + @PostMapping("/add") + public Result<?> add(@RequestBody Area area) { + area.setStatus(CommonConstant.STATUS_1); + areaService.save(area); + return Result.ok("鏂板鎴愬姛"); + } + + @AutoLog(value = "杞﹂棿-缂栬緫") + @ApiOperation(value = "杞﹂棿-缂栬緫", notes = "杞﹂棿-缂栬緫") + @PutMapping("/edit") + public Result<?> edit(@RequestBody Area area) { + areaService.updateById(area); + return Result.ok("缂栬緫鎴愬姛"); + } + + @AutoLog(value = "杞﹂棿-閫氳繃id鍒犻櫎") + @ApiOperation(value = "杞﹂棿-閫氳繃id鍒犻櫎", notes = "杞﹂棿-閫氳繃id鍒犻櫎") + @DeleteMapping("/delete") + public Result<?> delete(@RequestParam("id") String id) { + areaService.removeById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + @AutoLog(value = "杞﹂棿-鎵归噺鍒犻櫎") + @ApiOperation(value = "杞﹂棿-鎵归噺鍒犻櫎", notes = "杞﹂棿-鎵归噺鍒犻櫎") + @DeleteMapping("/deleteBatch") + public Result<?> deleteBatch(@RequestParam("ids") String ids) { + areaService.removeByIds(Arrays.asList(ids.split(","))); + return Result.ok("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + @AutoLog(value = "杞﹂棿-鍚敤&绂佺敤") + @ApiOperation(value = "杞﹂棿-鍚敤&绂佺敤", notes = "杞﹂棿-鍚敤&绂佺敤") + @PutMapping("/active") + public Result<?> active(@RequestParam("id") String id) { + Area area = areaService.getById(id); + if (CommonConstant.STATUS_1.equals(area.getStatus())) { + area.setStatus(CommonConstant.STATUS_0); + } else { + area.setStatus(CommonConstant.STATUS_1); + } + areaService.updateById(area); + return Result.ok("鏇存柊鎴愬姛锛�"); + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java index 5522fdf..6e29d15 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java @@ -104,27 +104,8 @@ List<Map<String, Object>> records = maintenanceStandardList.getRecords(); for (Map<String, Object> record : records) { String maintenanceStandardId = (String) record.get("id"); - List<Map<String, Object>> maintenanceStandardDetaillist = maintenanceStandardDetailService.getMaintenanceStandardDetailList(maintenanceStandardId); -// for (Map<String, Object> detail : maintenanceStandardDetaillist) { -// //鑾峰彇鏄惁鏈夋棤寮傚父鐓х墖鏁版嵁 -//// List<SysUploadRela> sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, (String)detail.get("id")).eq(SysUploadRela::getDelFlag, 0).list(); -// List<SysUploadRela> sysUploadRelas = sysBaseApi.listByBusIdAndBusType((String) detail.get("id"), null); -// if (sysUploadRelas.size() > 0) { -// detail.put("isNoPhotoFlag", true); -//// List<SysUploadRela> uploadRelas = uploadRelaService.listByBusIdAndBusType((String)detail.get("id"), "daily_maintenance_standard_photo"); -// List<SysUploadRela> uploadRelas = sysBaseApi.listByBusIdAndBusType((String) detail.get("id"), "daily_maintenance_standard_photo"); -// SysUpload upload = new SysUpload(); -// if (CollectionUtils.isNotEmpty(uploadRelas)) { -//// upload = uploadService.getById(uploadRelas.get(0).getUploadId()); -// upload = sysBaseApi.getUploadById(uploadRelas.get(0).getUploadId()); -// } -// detail.put("upload", upload); -// } else { -// detail.put("isNoPhotoFlag", false); -// SysUpload upload = new SysUpload(); -// detail.put("upload", upload); -// } -// } + String equipmentId = (String) record.get("equipmentId"); + List<Map<String, Object>> maintenanceStandardDetaillist = maintenanceStandardDetailService.getMaintenanceStandardDetailList(maintenanceStandardId,equipmentId); record.put("maintenanceStandardDetaillist", maintenanceStandardDetaillist); } return Result.ok(maintenanceStandardList); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardDetailController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardDetailController.java index 52c547e..01e6f77 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardDetailController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardDetailController.java @@ -16,9 +16,11 @@ import org.jeecg.common.system.base.entity.SysUploadRela; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.StrUtils; +import org.jeecg.modules.eam.entity.Equipment; import org.jeecg.modules.eam.entity.MaintenanceStandardDetail; import org.jeecg.modules.eam.model.MaintenanceCycleVo; import org.jeecg.modules.eam.model.MaintenanceModeVo; +import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IMaintenanceStandardDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -55,6 +57,9 @@ @Autowired private ISysBaseAPI sysBaseApi; + + @Autowired + private IEamEquipmentService equipmentService; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -148,6 +153,17 @@ } /** + * 鍛ㄦ湡鎬т繚鍏� 鏍规嵁璁惧鍙拌处ABC鏍囪瘑鑾峰彇涓変繚淇濆吇鍛ㄦ湡 + * @return + */ + @GetMapping("getPeriodicMaintenanceCycle") + public Result<?> getPeriodicMaintenanceCycle(@RequestParam("equipmentId") String equipmentId) { + Equipment equipment = equipmentService.getById(equipmentId); + List<MaintenanceCycleVo> maintenanceCycles = maintenanceStandardDetailService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId()); + return Result.ok(maintenanceCycles); + } + + /** * 淇濆吇鏂瑰紡 * qsw 2023-5-5 */ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/ProductionLineController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/ProductionLineController.java new file mode 100644 index 0000000..e3ba6f6 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/ProductionLineController.java @@ -0,0 +1,112 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.StrUtils; +import org.jeecg.modules.eam.entity.ProductionLine; +import org.jeecg.modules.eam.service.IProductionLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +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; + +@Api(tags = "浜х嚎 鍓嶇鎺у埗鍣�") +@RestController +@RequestMapping("/base/productionLine") +public class ProductionLineController extends JeecgController<ProductionLine, IProductionLineService> { + + @Autowired + private IProductionLineService productionLineService; + + @AutoLog(value = "浜х嚎-鍒嗛〉鏌ヨ") + @ApiOperation(value = "浜х嚎-鍒嗛〉鏌ヨ", notes = "浜х嚎-鍒嗛〉鏌ヨ") + @GetMapping(value = "/list") + public Result<?> list(ProductionLine productionLine, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { + QueryWrapper<ProductionLine> queryWrapper = QueryGenerator.initQueryWrapper(productionLine, + req.getParameterMap()); + Page<ProductionLine> page = new Page<ProductionLine>(pageNo, pageSize); + IPage<ProductionLine> pageList = productionLineService.page(page, queryWrapper); + return Result.ok(pageList); + } + + @AutoLog(value = "浜х嚎-鏂板") + @ApiOperation(value = "浜х嚎-鏂板", notes = "浜х嚎-鏂板") + @PostMapping("/add") + public Result<?> add(@RequestBody ProductionLine productionLine) { + productionLine.setStatus(CommonConstant.STATUS_1); + productionLineService.save(productionLine); + return Result.ok("鏂板鎴愬姛"); + } + + @AutoLog(value = "浜х嚎-缂栬緫") + @ApiOperation(value = "浜х嚎-缂栬緫", notes = "浜х嚎-缂栬緫") + @PutMapping("/edit") + public Result<?> edit(@RequestBody ProductionLine productionLine) { + if (StrUtils.isBlankOrNull(productionLine.getShiftCategoryId())) { + productionLine.setShiftCategoryId(""); + } + productionLineService.updateById(productionLine); + return Result.ok("缂栬緫鎴愬姛"); + } + + @AutoLog(value = "浜х嚎-閫氳繃id鍒犻櫎") + @ApiOperation(value = "浜х嚎-閫氳繃id鍒犻櫎", notes = "浜х嚎-閫氳繃id鍒犻櫎") + @DeleteMapping("/delete") + public Result<?> delete(@RequestParam("id") String id) { + productionLineService.removeById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + @AutoLog(value = "浜х嚎-鎵归噺鍒犻櫎") + @ApiOperation(value = "浜х嚎-鎵归噺鍒犻櫎", notes = "浜х嚎-鎵归噺鍒犻櫎") + @DeleteMapping("/deleteBatch") + public Result<?> deleteBatch(@RequestParam("ids") String ids) { + productionLineService.removeByIds(Arrays.asList(ids.split(","))); + return Result.ok("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + @AutoLog(value = "浜х嚎-鍚敤&绂佺敤") + @ApiOperation(value = "浜х嚎-鍚敤&绂佺敤", notes = "浜х嚎-鍚敤&绂佺敤") + @PutMapping("/active") + public Result<?> active(@RequestParam("id") String id) { + ProductionLine productionLine = productionLineService.getById(id); + if (CommonConstant.STATUS_1.equals(productionLine.getStatus())) { + productionLine.setStatus(CommonConstant.STATUS_0); + } else { + productionLine.setStatus(CommonConstant.STATUS_1); + } + productionLineService.updateById(productionLine); + return Result.ok("鏇存柊鎴愬姛锛�"); + } + + @AutoLog(value = "鏍规嵁杞﹂棿鏌ヨ浜х嚎") + @ApiOperation(value = "鏍规嵁杞﹂棿鏌ヨ浜х嚎", notes = "鏍规嵁杞﹂棿鏌ヨ浜х嚎") + @GetMapping("/listByAreaId") + public Result<?> listByAreaId(@RequestParam("areaId") String areaId) { + List<ProductionLine> list = productionLineService.listByAreaId(areaId); + return Result.ok(list); + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SiteController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SiteController.java new file mode 100644 index 0000000..585a658 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SiteController.java @@ -0,0 +1,200 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.jeecg.modules.eam.entity.Site; +import org.jeecg.modules.eam.service.ISiteService; +import org.jeecg.modules.eam.vo.CommonCascade; +import org.jeecg.common.api.vo.CommonGenericTree; +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.query.QueryGenerator; +import org.jeecg.modules.system.model.TreeSelectModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +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; + +@SuppressWarnings("rawtypes") +@Api(tags = "宸ュ巶 鍓嶇鎺у埗鍣�") +@RestController +@RequestMapping("/base/site") +public class SiteController { + + @Autowired + private ISiteService siteService; + + @AutoLog(value = "鍒嗛〉鏌ヨ") + @ApiOperation(value = "鍒嗛〉鏌ヨ", notes = "鍒嗛〉鏌ヨ") + @GetMapping(value = "/list") + public Result<?> list(Site site, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { + QueryWrapper<Site> queryWrapper = QueryGenerator.initQueryWrapper(site, req.getParameterMap()); + Page<Site> page = new Page<Site>(pageNo, pageSize); + IPage<Site> pageList = siteService.page(page, queryWrapper); + return Result.ok(pageList); + } + + @AutoLog(value = "鑾峰彇鍏ㄩ儴宸ュ巶") + @ApiOperation(value = "鑾峰彇鍏ㄩ儴宸ュ巶", notes = "鑾峰彇鍏ㄩ儴宸ュ巶") + @GetMapping(value = "/getAllList") + public Result<?> getAllList() { + return Result.ok(siteService.list()); + } + + @AutoLog(value = "鏂板") + @ApiOperation(value = "鏂板", notes = "鏂板") + @PostMapping("/add") + public Result<?> add(@RequestBody Site site) { + site.setStatus(CommonConstant.STATUS_1); + siteService.save(site); + return Result.ok("鏂板鎴愬姛"); + } + + @AutoLog(value = "缂栬緫") + @ApiOperation(value = "缂栬緫", notes = "缂栬緫") + @PutMapping("/edit") + public Result<?> edit(@RequestBody Site site) { + siteService.updateById(site); + return Result.ok("缂栬緫鎴愬姛"); + } + + @AutoLog(value = "閫氳繃id鍒犻櫎") + @ApiOperation(value = "閫氳繃id鍒犻櫎", notes = "閫氳繃id鍒犻櫎") + @DeleteMapping("/delete") + public Result<?> delete(@RequestParam("id") String id) { + siteService.removeById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + @AutoLog(value = "鎵归噺鍒犻櫎") + @ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎") + @DeleteMapping("/deleteBatch") + public Result<?> deleteBatch(@RequestParam("ids") String ids) { + siteService.removeByIds(Arrays.asList(ids.split(","))); + return Result.ok("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + @AutoLog(value = "鍚敤&绂佺敤") + @ApiOperation(value = "鍚敤&绂佺敤", notes = "鍚敤&绂佺敤") + @PutMapping("/active") + public Result<?> active(@RequestParam("id") String id) { + Site site = siteService.getById(id); + if (CommonConstant.STATUS_1.equals(site.getStatus())) { + site.setStatus(CommonConstant.STATUS_0); + } else { + site.setStatus(CommonConstant.STATUS_1); + } + siteService.updateById(site); + return Result.ok("鏇存柊鎴愬姛锛�"); + } + + @AutoLog(value = "宸ュ巶杞﹂棿浜х嚎鏍�") + @ApiOperation(value = "宸ュ巶杞﹂棿浜х嚎鏍�", notes = "宸ュ巶杞﹂棿浜х嚎鏍�") + @GetMapping("/loadTree") + public Result<?> loadTree(HttpServletRequest httpServletRequest) { + String tenantId = httpServletRequest.getHeader(CommonConstant.TENANT_ID); + List<CommonGenericTree> list = siteService.loadTree(tenantId); + return Result.ok(list); + } + +// @AutoLog(value = "宸ュ巶/杞﹂棿/浜х嚎-鐝粍 鏍�") +// @ApiOperation(value = "宸ュ巶/杞﹂棿/浜х嚎-鐝粍 鏍�", notes = "宸ュ巶/杞﹂棿/浜х嚎-鐝粍 鏍�") +// @GetMapping("/loadSiteAreaLineTeamTree") +// public Result<?> loadSiteAreaLineTeamTree(HttpServletRequest httpServletRequest) { +// String tenantId = httpServletRequest.getHeader(CommonConstant.TENANT_ID); +// List<CommonGenericTree> list = siteService.loadSiteAreaLineTeamTree(tenantId); +// return Result.ok(list); +// } + +// @AutoLog(value = "宸ュ巶/杞﹂棿/浜х嚎-宸ヤ綔涓績 鏍�") +// @ApiOperation(value = "宸ュ巶/杞﹂棿/浜х嚎-宸ヤ綔涓績 鏍�", notes = "宸ュ巶/杞﹂棿/浜х嚎-宸ヤ綔涓績 鏍�") +// @GetMapping("/loadSiteAreaLineWorkCenterTree") +// public Result<?> loadSiteAreaLineWorkCenterTree(HttpServletRequest httpServletRequest) { +// String tenantId = httpServletRequest.getHeader(CommonConstant.TENANT_ID); +// List<CommonGenericTree> list = siteService.loadSiteAreaLineWorkCenterTree(tenantId); +// return Result.ok(list); +// } + +// @AutoLog(value = "宸ュ巶/杞﹂棿/浜х嚎/宸ヤ綔涓績-璁惧 鏍�") +// @ApiOperation(value = "宸ュ巶/杞﹂棿/浜х嚎/宸ヤ綔涓績-璁惧 鏍�", notes = "宸ュ巶/杞﹂棿/浜х嚎/宸ヤ綔涓績-璁惧 鏍�") +// @GetMapping("/loadSiteAreaLineWorkCenterEquipmentTree") +// public Result<?> loadSiteAreaLineWorkCenterEquipmentTree(HttpServletRequest httpServletRequest) { +// String tenantId = httpServletRequest.getHeader(CommonConstant.TENANT_ID); +// List<CommonGenericTree> list = siteService.loadSiteAreaLineWorkCenterEquipmentTree(tenantId); +// return Result.ok(list); +// } + +// @AutoLog(value = "宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�") +// @ApiOperation(value = "宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�", notes = "宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�") +// @GetMapping("/loadSiteAreaLineStuffTree") +// public Result<?> loadSiteAreaLineStuffTree() { +// List<CommonGenericTree> list = siteService.loadSiteAreaLineStuffTree(); +// return Result.ok(list); +// } + +// @AutoLog(value = "閫氳繃鏈堣鍒抜d鍙婂勾鏈堜唤宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�") +// @ApiOperation(value = "閫氳繃鏈堣鍒抜d鍙婂勾鏈堜唤宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�", notes = "閫氳繃鏈堣鍒抜d鍙婂勾鏈堜唤宸ュ巶/杞﹂棿/浜х嚎-浜哄憳 鏍�") +// @GetMapping("/stuffTreeByTeamMonthIdAndMonthStamp") +// public Result<?> stuffTreeByTeamMonthIdAndMonthStamp(String teamMonthId, String monthStamp) { +// List<CommonGenericTree> list = siteService.stuffTreeByTeamMonthIdAndMonthStamp(teamMonthId, monthStamp); +// return Result.ok(list); +// } + + @AutoLog(value = "宸ュ巶/杞﹂棿鏍�") + @ApiOperation(value = "宸ュ巶/杞﹂棿鏍�", notes = "宸ュ巶/杞﹂棿鏍�") + @GetMapping("/loadSubTree") + public Result<?> loadSubTree() { + List<CommonGenericTree> list = siteService.loadSubTree(); + return Result.ok(list); + } + + @AutoLog(value = "宸ュ巶/杞﹂棿涓ょ骇鑱斿姩鏁版嵁") + @ApiOperation(value = "宸ュ巶/杞﹂棿涓ょ骇鑱斿姩鏁版嵁", notes = "宸ュ巶/杞﹂棿涓ょ骇鑱斿姩鏁版嵁") + @GetMapping("/siteAreaCascadeData") + public Result<?> siteAreaCascadeData() { + List<CommonCascade> list = siteService.siteAreaCascadeData(); + return Result.ok(list); + } + +// @AutoLog(value = "宸ュ巶/宸ヤ綔涓績涓ょ骇鑱斿姩鏁版嵁") +// @ApiOperation(value = "宸ュ巶/宸ヤ綔涓績涓ょ骇鑱斿姩鏁版嵁", notes = "宸ュ巶/宸ヤ綔涓績涓ょ骇鑱斿姩鏁版嵁") +// @GetMapping("/siteWorkCenterCascadeData") +// public Result<?> siteWorkCenterCascadeData() { +// List<CommonCascade> list = siteService.siteWorkCenterCascadeData(); +// return Result.ok(list); +// } + + @AutoLog(value = "宸ュ巶/杞﹂棿/浜х嚎涓夌骇鑱斿姩鏁版嵁") + @ApiOperation(value = "宸ュ巶/杞﹂棿/浜х嚎涓夌骇鑱斿姩鏁版嵁", notes = "宸ュ巶/杞﹂棿/浜х嚎涓夌骇鑱斿姩鏁版嵁") + @GetMapping("/siteAreaLineCascadeData") + public Result<?> siteAreaLineCascadeData() { + List<CommonCascade> list = siteService.siteAreaLineCascadeData(); + return Result.ok(list); + } + + @AutoLog(value = "鍦扮偣閫夋嫨鍣�") + @ApiOperation(value = "鍦扮偣閫夋嫨鍣�", notes = "鍦扮偣閫夋嫨鍣�") + @GetMapping("/siteSelect") + public Result<?> siteSelect() { + List<TreeSelectModel> siteSelect = siteService.siteSelect(); + return Result.ok(siteSelect); + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Area.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Area.java new file mode 100644 index 0000000..f6476d4 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Area.java @@ -0,0 +1,52 @@ +package org.jeecg.modules.eam.entity; + +import java.io.Serializable; + +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("mom_base_area") +@ApiModel(value = "杞﹂棿") +public class Area extends JeecgEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "杞﹂棿缂栧彿") + private String num; + + @ApiModelProperty(value = "杞﹂棿鍚嶇О") + private String name; + + @ApiModelProperty(value = "宸ュ巶ID") + private String siteId; + + @ApiModelProperty(value = "閮ㄩ棬ID") + @Dict(dicCode = "dept") + private String deptId; + + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @ApiModelProperty(value = "鍚�/鍋滅敤鐘舵��(0- 绂佺敤 ,1- 鍚敤)", hidden = true) + private String status; + + @JsonIgnore + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", hidden = true) + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java index 8baeb80..48470cc 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceCycle.java @@ -140,4 +140,11 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private java.util.Date loseEfficacyTime; + @ApiModelProperty(value = "ABC鏍囪瘑") + private String equipmentImportanceId; + + @ApiModelProperty(value = "缁翠繚绫诲瀷") + private String maintenanceType; + + } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/ProductionLine.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/ProductionLine.java new file mode 100644 index 0000000..1b87598 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/ProductionLine.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("mom_base_production_line") +@ApiModel(value = "浜х嚎") +public class ProductionLine extends JeecgEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "宸ュ巶缂栧彿") + private String num; + + @ApiModelProperty(value = "宸ュ巶鍚嶇О") + private String name; + + @ApiModelProperty(value = "宸ュ巶ID") + private String siteId; + + @ApiModelProperty(value = "杞﹂棿ID") + private String areaId; + + @ApiModelProperty(value = "鐝埗ID") + @Dict(dictTable = "mes_base_shift_category", dicCode = "id", dicText = "name") + private String shiftCategoryId; + + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @ApiModelProperty(value = "鍚�/鍋滅敤鐘舵��(0- 绂佺敤 ,1-鍚敤)", hidden = true) + private String status; + + @JsonIgnore + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", hidden = true) + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Site.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Site.java new file mode 100644 index 0000000..e437227 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Site.java @@ -0,0 +1,44 @@ +package org.jeecg.modules.eam.entity; + +import java.io.Serializable; + +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.entity.JeecgEntity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("mom_base_site") +@ApiModel(value = "宸ュ巶") +public class Site extends JeecgEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "宸ュ巶缂栧彿") + private String num; + + @ApiModelProperty(value = "宸ュ巶鍚嶇О") + private String name; + + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @ApiModelProperty(value = "鍚�/鍋滅敤鐘舵��(0- 绂佺敤 ,1- 鍚敤)", hidden = true) + private String status; + + @JsonIgnore + @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", hidden = true) + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/AreaMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/AreaMapper.java new file mode 100644 index 0000000..148f28b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/AreaMapper.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.mapper; + +import org.jeecg.modules.eam.entity.Area; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface AreaMapper extends BaseMapper<Area> { + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/MaintenanceStandardDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/MaintenanceStandardDetailMapper.java index 4628b75..4825b14 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/MaintenanceStandardDetailMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/MaintenanceStandardDetailMapper.java @@ -31,6 +31,9 @@ @Select("select t1.id as value,concat(t1.code, '/', t1.name) as text,concat(t1.code, '/', t1.name) as title from mom_eam_maintenance_cycle t1 where t1.del_flag = '0' and t1.version_status = '2'") List<MaintenanceCycleVo> getMaintenanceCycle(); + @Select("select t1.id as value,concat(t1.code, '/', t1.name) as text,concat(t1.code, '/', t1.name) as title from mom_eam_maintenance_cycle t1 where t1.del_flag = '0' and t1.version_status = '2' and t1.equipment_importance_id like concat('%',#{importanceFlag},'%')") + List<MaintenanceCycleVo> getPeriodicMaintenanceCycle(String importanceFlag); + @Select(" SELECT item_value as value, item_text as text,item_text as title FROM v_sys_dict WHERE dict_code = 'maintenance_method'") List<MaintenanceModeVo> getMaintenanceMode(); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/ProductionLineMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/ProductionLineMapper.java new file mode 100644 index 0000000..3d69b86 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/ProductionLineMapper.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.entity.ProductionLine; + +public interface ProductionLineMapper extends BaseMapper<ProductionLine> { + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SiteMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SiteMapper.java new file mode 100644 index 0000000..2ad7887 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SiteMapper.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.mapper; + +import org.jeecg.modules.eam.entity.Site; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface SiteMapper extends BaseMapper<Site> { + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml index 0781696..1231877 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml @@ -32,7 +32,9 @@ t1.overdue_dispose_mode as overdueDisposeMode, t1.according_calendar as accordingCalendar, t8.item_text overdueDisposeModeName, - t9.item_text accordingCalendarName + t9.item_text accordingCalendarName, + t1.equipment_importance_id as equipmentImportanceId, + t1.maintenance_type as maintenanceType from mom_eam_maintenance_cycle t1 left join (select * from v_sys_dict where dict_code = 'maintenance_cycle_unit') t2 on t1.cycle_unit=t2.item_value left join (select * from v_sys_dict where dict_code = 'cycle_time_unit') t3 on t1.unit=t3.item_value diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IAreaService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IAreaService.java new file mode 100644 index 0000000..6b70ec0 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IAreaService.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.eam.service; +import org.jeecg.modules.eam.entity.Area; + +import com.baomidou.mybatisplus.extension.service.IService; +/** + * + * @ClassName: IAreaService + * @Description: 杞﹂棿涓氬姟鎺ュ彛 + * @author Wang Mingchao + * @date 2020-10-20 09:43:20 + */ +public interface IAreaService extends IService<Area> { + + boolean removeBySiteId(String siteId); + + boolean removeBySiteIds(String[] siteIds); + + boolean activeBySiteId(String siteId, String status); + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IMaintenanceStandardDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IMaintenanceStandardDetailService.java index 866f221..c86e1d8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IMaintenanceStandardDetailService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IMaintenanceStandardDetailService.java @@ -19,12 +19,14 @@ IPage<Map<String, Object>> getMaintenanceStandardDetailById(Integer pageNo, Integer pageSize, Map<String, Object> params); - List<Map<String, Object>> getMaintenanceStandardDetailList(String maintenanceStandardId); + List<Map<String, Object>> getMaintenanceStandardDetailList(String maintenanceStandardId,String equipmentId); List<Map<String, Object>> getMaintenanceStandardDetailListByIds(List<String> ids); List<MaintenanceCycleVo> getMaintenanceCycle(); + List<MaintenanceCycleVo> getPeriodicMaintenanceCycle(String importanceFlag); + List<MaintenanceModeVo> getMaintenanceMode(); boolean realDelete(); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IProductionLineService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IProductionLineService.java new file mode 100644 index 0000000..7f934ed --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IProductionLineService.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.eam.service; +import java.util.List; + +import org.jeecg.modules.eam.entity.ProductionLine; +import com.baomidou.mybatisplus.extension.service.IService; +/** + * + * @ClassName: IProductionLineService + * @Description: 浜х嚎 涓氬姟鎺ュ彛 + * @author Wang Mingchao + * @date 2020-11-05 02:32:40 + */ +public interface IProductionLineService extends IService<ProductionLine> { + + boolean removeByAreaId(String areaId); + + boolean removeByAreaIds(String[] areaIds); + + boolean removeBySiteId(String siteId); + + boolean removeBySiteIds(String[] siteIds); + + boolean activeByAreaId(String areaId, String status); + + boolean activeByAreaIds(String[] areaIds, String status); + + boolean activeBySiteId(String siteId, String status); + + List<ProductionLine> listByAreaId(String areaId); + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISiteService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISiteService.java new file mode 100644 index 0000000..b7e3587 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISiteService.java @@ -0,0 +1,34 @@ +package org.jeecg.modules.eam.service; + +import java.util.List; + +import org.jeecg.common.api.vo.CommonGenericTree; +import org.jeecg.modules.eam.entity.Site; +import org.jeecg.modules.eam.vo.CommonCascade; +import org.jeecg.modules.system.model.TreeSelectModel; + +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * + * @ClassName: ISiteService + * @Description: 宸ュ巶 涓氬姟鎺ュ彛 + * @author Wang Mingchao + * @date 2020-10-20 05:07:05 + */ +@SuppressWarnings("rawtypes") +public interface ISiteService extends IService<Site> { + + List<Site> listByIds(String ids); + + List<CommonGenericTree> loadTree(String tenantId); + + List<CommonGenericTree> loadSubTree(); + + List<TreeSelectModel> siteSelect(); + + List<CommonCascade> siteAreaCascadeData(); + + List<CommonCascade> siteAreaLineCascadeData(); + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java new file mode 100644 index 0000000..027190d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java @@ -0,0 +1,75 @@ +package org.jeecg.modules.eam.service.impl; + +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.eam.entity.Area; +import org.jeecg.modules.eam.mapper.AreaMapper; +import org.jeecg.modules.eam.service.IAreaService; +import org.jeecg.modules.eam.service.IProductionLineService; +import org.jeecg.modules.eam.service.ISiteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +/** + * + * @ClassName: AreaServiceImpl + * @Description: 杞﹂棿淇℃伅涓氬姟鎺ュ彛瀹炵幇 + * @author Wang Mingchao + * @date 2020-10-20 09:29:03 + */ +@Service +public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IAreaService { + + @Autowired + @Lazy + private ISiteService siteService; + + @Autowired + @Lazy + private IProductionLineService productionLineService; + + @Override + public List<Area> list() { + return super.lambdaQuery().eq(Area::getStatus, CommonConstant.STATUS_1).orderByAsc(Area::getNum).list(); + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean removeBySiteId(String siteId) { + if(StringUtils.isBlank(siteId)) + return false; + LambdaQueryWrapper<Area> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(Area::getSiteId, siteId); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean removeBySiteIds(String[] siteIds) { + if(siteIds == null || siteIds.length < 1) + return false; + LambdaQueryWrapper<Area> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.in(Area::getSiteId, Arrays.asList(siteIds)); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean activeBySiteId(String siteId, String status) { + if(StringUtils.isBlank(siteId) || StringUtils.isBlank(status)) + return false; + LambdaUpdateWrapper<Area> updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.set(Area::getStatus, status).eq(Area::getSiteId, siteId); + return super.update(updateWrapper); + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/MaintenanceStandardDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/MaintenanceStandardDetailServiceImpl.java index 4e241a9..55c91e8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/MaintenanceStandardDetailServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/MaintenanceStandardDetailServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.eam.entity.DailyInspectionStandardDetail; +import org.jeecg.modules.eam.entity.Equipment; import org.jeecg.modules.eam.entity.MaintenanceStandard; import org.jeecg.modules.eam.entity.MaintenanceStandardDetail; import org.jeecg.modules.eam.mapper.DailyInspectionStandardDetailMapper; @@ -12,7 +13,9 @@ import org.jeecg.modules.eam.model.MaintenanceCycleVo; import org.jeecg.modules.eam.model.MaintenanceModeVo; import org.jeecg.modules.eam.service.IDailyInspectionStandardDetailService; +import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IMaintenanceStandardDetailService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -27,10 +30,14 @@ @Service public class MaintenanceStandardDetailServiceImpl extends ServiceImpl<MaintenanceStandardDetailMapper, MaintenanceStandardDetail> implements IMaintenanceStandardDetailService { + @Autowired + private IEamEquipmentService equipmentService; + @Override - public List<Map<String, Object>> getMaintenanceStandardDetailList(String maintenanceStandardId) { + public List<Map<String, Object>> getMaintenanceStandardDetailList(String maintenanceStandardId,String equipmentId) { List<Map<String, Object>> maintenanceStandardDetailList = super.baseMapper.getMaintenanceStandardDetailList(maintenanceStandardId); - List<MaintenanceCycleVo> maintenanceCycles = super.baseMapper.getMaintenanceCycle(); + Equipment equipment = equipmentService.getById(equipmentId); + List<MaintenanceCycleVo> maintenanceCycles = super.baseMapper.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId()); List<MaintenanceModeVo> maintenanceModes = super.baseMapper.getMaintenanceMode(); for (Map<String, Object> map : maintenanceStandardDetailList) { map.put("maintenanceCycles",maintenanceCycles); @@ -62,6 +69,16 @@ return super.baseMapper.getMaintenanceCycle(); } + /** + * 鍛ㄦ湡鎬т繚鍏� 鏍规嵁璁惧鍙拌处ABC鏍囪瘑鑾峰彇涓変繚淇濆吇鍛ㄦ湡 + * @return + */ + @Override + public List<MaintenanceCycleVo> getPeriodicMaintenanceCycle(String importanceFlag) { + return super.baseMapper.getPeriodicMaintenanceCycle(importanceFlag); + } + + @Override public List<MaintenanceModeVo> getMaintenanceMode() { return super.baseMapper.getMaintenanceMode(); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/ProductionLineServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/ProductionLineServiceImpl.java new file mode 100644 index 0000000..95a53f1 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/ProductionLineServiceImpl.java @@ -0,0 +1,128 @@ +package org.jeecg.modules.eam.service.impl; + +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.eam.entity.ProductionLine; +import org.jeecg.modules.eam.mapper.ProductionLineMapper; +import org.jeecg.modules.eam.service.IAreaService; +import org.jeecg.modules.eam.service.IProductionLineService; +import org.jeecg.modules.eam.service.ISiteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * + * @ClassName: ProductionLineServiceImpl + * @Description: 浜х嚎淇℃伅涓氬姟鎺ュ彛瀹炵幇 + * @author Wang Mingchao + * @date 2020-10-20 09:28:16 + */ +@Service +public class ProductionLineServiceImpl extends ServiceImpl<ProductionLineMapper, ProductionLine> + implements IProductionLineService { + + @Autowired + @Lazy + private ISiteService siteService; + + @Autowired + @Lazy + private IAreaService areaService; + + @Override + public List<ProductionLine> list() { + return super.lambdaQuery().eq(ProductionLine::getStatus, CommonConstant.STATUS_1) + .orderByAsc(ProductionLine::getNum).list(); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean removeByAreaId(String areaId) { + if (StringUtils.isBlank(areaId)) { + return false; + } + LambdaQueryWrapper<ProductionLine> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ProductionLine::getAreaId, areaId); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean removeByAreaIds(String[] areaIds) { + if (areaIds == null || areaIds.length < 1) { + return false; + } + LambdaQueryWrapper<ProductionLine> lambdaQueryWrapper = Wrappers.lambdaQuery(); + List<String> strings = Arrays.asList(areaIds); + lambdaQueryWrapper.in(ProductionLine::getAreaId, strings); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean removeBySiteId(String siteId) { + if (StringUtils.isBlank(siteId)) { + return false; + } + LambdaQueryWrapper<ProductionLine> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ProductionLine::getSiteId, siteId); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean removeBySiteIds(String[] siteIds) { + if (siteIds == null || siteIds.length < 1) + return false; + LambdaQueryWrapper<ProductionLine> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.in(ProductionLine::getSiteId, Arrays.asList(siteIds)); + return super.remove(lambdaQueryWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean activeByAreaId(String areaId, String status) { + if (StringUtils.isBlank(areaId) || StringUtils.isBlank(status)) + return false; + LambdaUpdateWrapper<ProductionLine> updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.set(ProductionLine::getStatus, status).eq(ProductionLine::getAreaId, areaId); + return super.update(updateWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean activeByAreaIds(String[] areaIds, String status) { + if (areaIds == null || areaIds.length < 1 || StringUtils.isBlank(status)) + return false; + LambdaUpdateWrapper<ProductionLine> updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.set(ProductionLine::getStatus, status).in(ProductionLine::getAreaId, Arrays.asList(areaIds)); + return super.update(updateWrapper); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean activeBySiteId(String siteId, String status) { + if (StringUtils.isBlank(siteId) || StringUtils.isBlank(status)) + return false; + LambdaUpdateWrapper<ProductionLine> updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.set(ProductionLine::getStatus, status).eq(ProductionLine::getSiteId, siteId); + return super.update(updateWrapper); + } + + @Override + public List<ProductionLine> listByAreaId(String areaId) { + return super.lambdaQuery().eq(ProductionLine::getAreaId, areaId) + .eq(ProductionLine::getStatus, CommonConstant.STATUS_1).list(); + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SiteServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SiteServiceImpl.java new file mode 100644 index 0000000..636c144 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SiteServiceImpl.java @@ -0,0 +1,182 @@ +package org.jeecg.modules.eam.service.impl; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.jeecg.common.api.vo.CommonGenericTree; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.eam.entity.Site; +import org.jeecg.modules.eam.mapper.SiteMapper; +import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.service.*; +import org.jeecg.modules.eam.vo.CommonCascade; +import org.jeecg.modules.eam.wrapper.SiteAreaCascadeWrapper; +import org.jeecg.modules.eam.wrapper.SiteAreaLineTreeWrapper; +import org.jeecg.modules.system.entity.SysTenant; +import org.jeecg.modules.system.model.TreeSelectModel; +import org.jeecg.modules.system.service.ISysTenantService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * + * @ClassName: SiteServiceImpl + * @Description: 宸ュ巶 涓氬姟鎺ュ彛瀹炵幇 + * @author Wang Mingchao + * @date 2020-10-20 09:28:50 + */ +@SuppressWarnings("rawtypes") +@Service +public class SiteServiceImpl extends ServiceImpl<SiteMapper, Site> implements ISiteService { + + @Autowired + private ISysTenantService sysTenantService; + + @Autowired + @Lazy + private IAreaService areaService; + + @Autowired + @Lazy + private IProductionLineService productionLineService; + + @Autowired + private Environment env; + + + @Override + public List<Site> listByIds(String ids) { + return super.lambdaQuery().in(Site::getId, Arrays.asList(ids.split(","))).orderByAsc(Site::getNum).list(); + } + + @Override + public List<Site> list() { + return super.lambdaQuery().eq(Site::getStatus, CommonConstant.STATUS_1).orderByAsc(Site::getNum).list(); + } + + @Override + public List<CommonGenericTree> loadTree(String tenantId) { + // 鑾峰彇鏍戠殑鏍硅妭鐐瑰悕绉� + LambdaQueryChainWrapper<SysTenant> wrapper = sysTenantService.lambdaQuery(); +// wrapper.eq(SysTenant::getTenantId, tenantId); + List<SysTenant> sysTenantList = wrapper.list(); +// String title = "-1"; + String applicationEdEnterpriseName = env.getProperty("enterprise.name"); + String title = applicationEdEnterpriseName;//鐢╝pplication涓殑浼佷笟淇℃伅锛屾浛浠g己鐪佹椂鐨�-1 + if (sysTenantList.size() > 0) { + title = sysTenantList.get(0).getName(); + } + List<Site> siteList = this.list(); + List<Area> areaList = areaService.list(); + List<ProductionLine> productionLineList = productionLineService.list(); + return SiteAreaLineTreeWrapper.loadTree(title, siteList, areaList, productionLineList); + } + + @Override + @Transactional(rollbackFor = { Exception.class }) + public boolean removeById(Serializable id) { + productionLineService.removeBySiteId(String.valueOf(id)); + areaService.removeBySiteId(String.valueOf(id)); + return super.removeById(id); + } + + @Override + public List<CommonGenericTree> loadSubTree() { + List<Site> siteList = list(); + List<Area> areaList = Collections.emptyList(); + if (siteList == null || siteList.isEmpty()) { + return SiteAreaLineTreeWrapper.loadTree(siteList, areaList); + } + areaList = areaService.list(); + if (areaList == null || areaList.isEmpty()) { + areaList = Collections.emptyList(); + return SiteAreaLineTreeWrapper.loadTree(siteList, areaList); + } + return SiteAreaLineTreeWrapper.loadTree(siteList, areaList); + } + + @Override + public List<CommonCascade> siteAreaCascadeData() { + List<Site> siteList = list(); + List<Area> areaList = areaService.list(); + + return SiteAreaCascadeWrapper.loadCascade(siteList, areaList); + } + + + @Override + public List<CommonCascade> siteAreaLineCascadeData() { + // 宸ュ巶 + List<Site> siteList = list(); + // 杞﹂棿 + List<Area> areaList = areaService.list(); + // 浜х嚎 + List<ProductionLine> lineList = productionLineService.list(); + return SiteAreaCascadeWrapper.loadCascadeBase(siteList, areaList, lineList); + } + + private CommonGenericTree line2Tree(ProductionLine line, boolean b) { + CommonGenericTree<ProductionLine> lineNode = new CommonGenericTree<>(); + lineNode.setKey(line.getId()); + lineNode.setTitle(line.getName()); + lineNode.setParentId(line.getAreaId()); + lineNode.setIcon(""); + lineNode.setType(3); + lineNode.setDisabled(b); + lineNode.setEntity(line); + lineNode.setValue(line.getId()); + return lineNode; + } + + private CommonGenericTree area2Tree(Area area, boolean b) { + CommonGenericTree<Area> areaNode = new CommonGenericTree<>(); + areaNode = new CommonGenericTree<>(); + areaNode.setKey(area.getId()); + areaNode.setTitle(area.getName()); + areaNode.setParentId(area.getSiteId()); + areaNode.setIcon(""); + areaNode.setDisabled(b); + areaNode.setType(2); + areaNode.setEntity(area); + areaNode.setValue(area.getId()); + return areaNode; + } + + private List<CommonGenericTree> list2Tree(List<CommonGenericTree> parentList, List<CommonGenericTree> childList) { + for (CommonGenericTree tree : parentList) { + String id = tree.getKey(); + for (CommonGenericTree cTree : childList) { + if (id.equals(cTree.getParentId())) { + tree.addChildren(cTree); + } + } + } + return parentList; + } + + @Override + public List<TreeSelectModel> siteSelect() { + List<TreeSelectModel> list = new ArrayList<>(); + List<Site> siteList = super.list(); + TreeSelectModel model; + for (Site site : siteList) { + model = new TreeSelectModel(); + model.setKey(site.getId()); + model.setValue(site.getId()); + model.setTitle(site.getName()); + list.add(model); + } + return list; + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/CommonCascade.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/CommonCascade.java new file mode 100644 index 0000000..5607ce9 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/CommonCascade.java @@ -0,0 +1,42 @@ +package org.jeecg.modules.eam.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description: 绾ц仈閫夋嫨妗嗛�氱敤杩斿洖瀹炰綋绫� + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +public class CommonCascade { + + private String value; + + private String label; + + private List<CommonCascade> children = new ArrayList<>(); + + // 娣诲姞瀛愯妭鐐圭殑鏂规硶 + public CommonCascade addChildren(CommonCascade node) { + if (this.children == null) { + this.children = new ArrayList<CommonCascade>(); + } + this.children.add(node); + return node; + } + + public boolean hasChildren() { + boolean bu = true; + if (getChildren() == null || getChildren().isEmpty()) { + bu = false; + return bu; + } + return bu; + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaCascadeWrapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaCascadeWrapper.java new file mode 100644 index 0000000..403576f --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaCascadeWrapper.java @@ -0,0 +1,109 @@ +package org.jeecg.modules.eam.wrapper; + +import org.jeecg.modules.eam.entity.Area; +import org.jeecg.modules.eam.entity.ProductionLine; +import org.jeecg.modules.eam.entity.Site; +import org.jeecg.modules.eam.vo.CommonCascade; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import java.util.*; + +public class SiteAreaCascadeWrapper { + + /** + * 鑾峰彇宸ュ巶杞﹂棿涓ょ骇绾ц仈鏁版嵁 蹇呴』閫夋嫨鍒颁骇绾� + * + * @param siteList + * @param areaList + * @return + */ + public static List<CommonCascade> loadCascade(List<Site> siteList, List<Area> areaList) { + List<CommonCascade> list = loadCascadeBase(siteList, areaList, null); + List<CommonCascade> result = new ArrayList<>(); + for (CommonCascade c : list) { + if (c.hasChildren()) { + result.add(c); + } + } + return result; + } + + /** + * 蹇呴』瑕侀�夋嫨鍒颁骇绾夸笁绾х骇鑱旂粨鏋� + * + * @param siteList + * @param areaList + * @return + */ + public static List<CommonCascade> loadCascade(List<Site> siteList, List<Area> areaList, + List<ProductionLine> lineList) { + List<CommonCascade> list = loadCascadeBase(siteList, areaList, lineList); + // 杩囨护宸ュ巶涓嬫病鏈夎溅闂� 杞﹂棿涓嬫病鏈変骇绾跨殑鏁版嵁 + List<CommonCascade> result = new ArrayList<>(); + for (CommonCascade c : list) { + if (c.hasChildren()) { + List<CommonCascade> children = c.getChildren(); + List<CommonCascade> dList = new ArrayList<>(); + for (CommonCascade d : children) { + if (d.hasChildren()) { + dList.add(d); + } + } + if (!dList.isEmpty()) { + c.setChildren(dList); + result.add(c); + } + + } + } + return result; + } + + /** + * 鑾峰彇宸ュ巶杞﹂棿浜х嚎涓夌骇绾ц仈鏁版嵁 杩斿洖鍏ㄦ暟鎹� 涓嶅仛杩囨护 + * + * @param siteList + * @param areaList + * @param lineList + * @return + */ + public static List<CommonCascade> loadCascadeBase(List<Site> siteList, List<Area> areaList, + List<ProductionLine> productionLineList) { + List<CommonCascade> commonCascadeList = new ArrayList<CommonCascade>(); + if (CollectionUtils.isNotEmpty(siteList) || CollectionUtils.isNotEmpty(areaList)) { + Map<String, CommonCascade> siteMap = new HashMap<>(); + Map<String, CommonCascade> areaMap = new HashMap<>(); + CommonCascade siteNode; + CommonCascade areaNode; + CommonCascade productionLineNode; + for (Site site : siteList) { + siteNode = new CommonCascade(); + siteNode = siteNode.setValue(site.getId()).setLabel(site.getName()); + commonCascadeList.add(siteNode); + siteMap.put(site.getId(), siteNode); + } + for (Area area : areaList) { + if (siteMap.containsKey(area.getSiteId())) { + siteNode = siteMap.get(area.getSiteId()); + areaNode = new CommonCascade(); + areaNode = areaNode.setValue(area.getId()).setLabel(area.getName()); + siteNode.addChildren(areaNode); + areaMap.put(area.getId(), areaNode); + } + } + // 杩斿洖涓ょ骇鏁版嵁 + if (CollectionUtils.isNotEmpty(productionLineList)) { + for (ProductionLine productionLine : productionLineList) { + if (areaMap.containsKey(productionLine.getAreaId())) { + areaNode = areaMap.get(productionLine.getAreaId()); + productionLineNode = new CommonCascade(); + productionLineNode = productionLineNode.setValue(productionLine.getId()) + .setLabel(productionLine.getName()); + areaNode.addChildren(productionLineNode); + } + } + } + } + return commonCascadeList; + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaLineTreeWrapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaLineTreeWrapper.java new file mode 100644 index 0000000..4356f24 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaLineTreeWrapper.java @@ -0,0 +1,88 @@ +package org.jeecg.modules.eam.wrapper; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jeecg.common.api.vo.CommonGenericTree; +import org.jeecg.common.util.StrUtils; +import org.jeecg.modules.eam.entity.Area; +import org.jeecg.modules.eam.entity.ProductionLine; +import org.jeecg.modules.eam.entity.Site; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; + +@SuppressWarnings("rawtypes") +public class SiteAreaLineTreeWrapper { + + /** + * 宸ュ巶/杞﹂棿鏍� + */ + public static List<CommonGenericTree> loadTree(List<Site> siteList, List<Area> areaList) { + //return loadTree(siteList, areaList, Collections.emptyList()); + return null; + } + + /** + * 宸ュ巶/杞﹂棿/浜х嚎鏍� + */ + @SuppressWarnings("unchecked") + public static List<CommonGenericTree> loadTree(String title,List<Site> siteList, List<Area> areaList, + List<ProductionLine> productionLineList) { + List<CommonGenericTree> list = new ArrayList<>(); + Map<String, CommonGenericTree> siteMap = new HashMap<>(); + Map<String, CommonGenericTree> areaMap = new HashMap<>(); + CommonGenericTree<Site> root = new CommonGenericTree<>(); + root.setKey("-1"); + root.setTitle("涓浗鑸彂"); + root.setType(0); + list.add(root); + if (CollectionUtils.isNotEmpty(siteList)) { + CommonGenericTree<Site> siteNode; + CommonGenericTree<Area> areaNode; + CommonGenericTree<ProductionLine> lineNode; + for (Site site : siteList) { + siteNode = new CommonGenericTree<>(); + siteNode.setKey(site.getId()); + siteNode.setTitle(site.getName()); + siteNode.setParentId(root.getKey()); + siteNode.setIcon(""); + siteNode.setType(1); + siteNode.setEntity(site); + root.addChildren(siteNode); + siteMap.put(site.getId(), siteNode); + } + for (Area area : areaList) { + if (siteMap.containsKey(area.getSiteId())) { + siteNode = siteMap.get(area.getSiteId()); + areaNode = new CommonGenericTree<>(); + areaNode.setKey(area.getId()); + areaNode.setTitle(area.getName()); + areaNode.setParentId(area.getSiteId()); + areaNode.setIcon(""); + areaNode.setType(2); + areaNode.setEntity(area); + siteNode.addChildren(areaNode); + areaMap.put(area.getId(), areaNode); + } + } + for (ProductionLine line : productionLineList) { + if (areaMap.containsKey(line.getAreaId())) { + areaNode = areaMap.get(line.getAreaId()); + lineNode = new CommonGenericTree<>(); + lineNode.setKey(line.getId()); + lineNode.setTitle(line.getName()); + lineNode.setParentId(line.getAreaId()); + lineNode.setIcon(""); + lineNode.setType(3); + lineNode.setEntity(line); + lineNode.setDisabled(true); + areaNode.addChildren(lineNode); + } + } + } + return list; + } + +} \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaProductLineWrapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaProductLineWrapper.java new file mode 100644 index 0000000..d4adbef --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/wrapper/SiteAreaProductLineWrapper.java @@ -0,0 +1,71 @@ +package org.jeecg.modules.eam.wrapper; + +import org.jeecg.modules.eam.entity.Area; +import org.jeecg.modules.eam.entity.ProductionLine; +import org.jeecg.modules.eam.entity.Site; +import org.jeecg.modules.eam.vo.CommonCascade; + +import java.util.*; + +public class SiteAreaProductLineWrapper { + + public static List<CommonCascade> loadCascadePlus(List<Site> siteList, List<Area> areaList, + List<ProductionLine> productionLineList) { + if (siteList == null || siteList.isEmpty() || areaList == null || areaList.isEmpty() + || productionLineList == null || productionLineList.isEmpty()) + return Collections.emptyList(); + List<CommonCascade> list = new ArrayList<>(); + Map<String, CommonCascade> siteMap = new HashMap<>(); + Map<String, CommonCascade> areaMap = new HashMap<>(); + if (siteList == null || siteList.isEmpty()) + return list; + CommonCascade siteNode; + CommonCascade areaNode; + CommonCascade productionLineNode; + for (Site site : siteList) { + siteNode = new CommonCascade(); + siteNode = siteNode.setValue(site.getId()).setLabel(site.getName()); + list.add(siteNode); + siteMap.put(site.getId(), siteNode); + } + for (Area area : areaList) { + if (siteMap.containsKey(area.getSiteId())) { + siteNode = siteMap.get(area.getSiteId()); + areaNode = new CommonCascade(); + areaNode = areaNode.setValue(area.getId()).setLabel(area.getName()); + siteNode.addChildren(areaNode); + areaMap.put(area.getId(), areaNode); + } + } + for (ProductionLine productionLine : productionLineList) { + if (areaMap.containsKey(productionLine.getAreaId())) { + areaNode = areaMap.get(productionLine.getAreaId()); + productionLineNode = new CommonCascade(); + productionLineNode = productionLineNode.setValue(productionLine.getId()) + .setLabel(productionLine.getName()); + areaNode.addChildren(productionLineNode); + + } + } + List<CommonCascade> secondList = new ArrayList<>(); + for (CommonCascade c : list) { + if (c.hasChildren()) { + secondList.add(c); + } + } + List<CommonCascade> middleList = new ArrayList<>(); + for (CommonCascade c : secondList) { + if (c.hasChildren()) { + middleList.add(c); + } + } + List<CommonCascade> result = new ArrayList<>(); + for (CommonCascade c : middleList) { + if (c.hasChildren()) { + result.add(c); + } + } + return middleList; + } + +} \ No newline at end of file -- Gitblit v1.9.3