lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
@@ -44,5 +44,5 @@ * @param pageSize * @return */ List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize); List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize, String id); } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -166,7 +166,15 @@ } @Override public List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize) { public List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize, String id) { if (StringUtils.isNotBlank(id)) { EamEquipment eamEquipment = eamEquipmentMapper.selectById(id); if (eamEquipment != null) { List<EquipmentSearchResult> resultList = new ArrayList<>(); resultList.add(new EquipmentSearchResult(eamEquipment)); return resultList; } } IPage<EamEquipment> page = new Page<>(1, pageSize); QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); //用户数据权限 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -283,13 +283,15 @@ * 检索设备 * @param keyword 查询关键词 设备编号,设备名称模糊匹配 * @param pageSize 一次返回多少记录 * @param id 设备主键 * @return */ @ApiOperation(value = "设备表-异步加载设备列表", notes = "设备表-异步加载设备列表") @GetMapping(value = "/asyncLoadEquipment") public Result<?> asyncLoadEquipment(@RequestParam(name="keyword",required = false) String keyword, @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize) { List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize); @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize, @RequestParam(name="id",required = false) String id) { List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize, id); return Result.ok(resultList); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -113,7 +113,16 @@ @ApiOperation(value="保养标准-编辑", notes="保养标准-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamMaintenanceStandardRequest standardRequest) { // eamMaintenanceStandardService.updateById(eamMaintenanceStandard); if(standardRequest == null){ return Result.error("添加的对象不能为空!"); } if(CollectionUtil.isEmpty(standardRequest.getTableDetailList())) { return Result.error("保养项不能为空!"); } boolean b = eamMaintenanceStandardService.editMaintenanceStandard(standardRequest); if(!b) { return Result.error("编辑失败!"); } return Result.OK("编辑成功!"); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardDetailController.java
@@ -1,167 +1,70 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; import java.util.List; import java.util.Map; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; 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 com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** import java.util.List; /** * @Description: 保养标准明细 * @Author: jeecg-boot * @Date: 2025-03-26 * @Date: 2025-03-26 * @Version: V1.0 */ @Slf4j @Api(tags="保养标准明细") @Api(tags = "保养标准明细") @RestController @RequestMapping("/eam/eamMaintenanceStandardDetail") public class EamMaintenanceStandardDetailController extends JeecgController<EamMaintenanceStandardDetail, IEamMaintenanceStandardDetailService> { @Autowired private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; /** * 分页列表查询 * * @param eamMaintenanceStandardDetail * @param pageNo * @param pageSize * @param req * @return */ @AutoLog(value = "保养标准明细-分页列表查询") @ApiOperation(value="保养标准明细-分页列表查询", notes="保养标准明细-分页列表查询") @GetMapping(value = "/list") public Result<?> queryPageList(EamMaintenanceStandardDetail eamMaintenanceStandardDetail, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamMaintenanceStandardDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamMaintenanceStandardDetail, req.getParameterMap()); Page<EamMaintenanceStandardDetail> page = new Page<EamMaintenanceStandardDetail>(pageNo, pageSize); IPage<EamMaintenanceStandardDetail> pageList = eamMaintenanceStandardDetailService.page(page, queryWrapper); return Result.OK(pageList); } /** * 添加 * * @param eamMaintenanceStandardDetail * @return */ @AutoLog(value = "保养标准明细-添加") @ApiOperation(value="保养标准明细-添加", notes="保养标准明细-添加") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamMaintenanceStandardDetail eamMaintenanceStandardDetail) { eamMaintenanceStandardDetailService.save(eamMaintenanceStandardDetail); return Result.OK("添加成功!"); } /** * 编辑 * * @param eamMaintenanceStandardDetail * @return */ @AutoLog(value = "保养标准明细-编辑") @ApiOperation(value="保养标准明细-编辑", notes="保养标准明细-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamMaintenanceStandardDetail eamMaintenanceStandardDetail) { eamMaintenanceStandardDetailService.updateById(eamMaintenanceStandardDetail); return Result.OK("编辑成功!"); } /** * 通过id删除 * * @param id * @return */ @AutoLog(value = "保养标准明细-通过id删除") @ApiOperation(value="保养标准明细-通过id删除", notes="保养标准明细-通过id删除") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name="id",required=true) String id) { eamMaintenanceStandardDetailService.removeById(id); return Result.OK("删除成功!"); } /** * 批量删除 * * @param ids * @return */ @AutoLog(value = "保养标准明细-批量删除") @ApiOperation(value="保养标准明细-批量删除", notes="保养标准明细-批量删除") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.eamMaintenanceStandardDetailService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } /** * 通过id查询 * * @param id * @return */ @AutoLog(value = "保养标准明细-通过id查询") @ApiOperation(value="保养标准明细-通过id查询", notes="保养标准明细-通过id查询") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { EamMaintenanceStandardDetail eamMaintenanceStandardDetail = eamMaintenanceStandardDetailService.getById(id); return Result.OK(eamMaintenanceStandardDetail); } @Autowired private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; /** * 导出excel * * @param request * @param eamMaintenanceStandardDetail */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamMaintenanceStandardDetail eamMaintenanceStandardDetail) { return super.exportXls(request, eamMaintenanceStandardDetail, EamMaintenanceStandardDetail.class, "保养标准明细"); } /** * 分页列表查询 * * @param standardId * @param pageNo * @param pageSize * @return */ @ApiOperation(value = "保养标准明细-分页列表查询", notes = "保养标准明细-分页列表查询") @GetMapping(value = "/list") public Result<?> queryPageList(@RequestParam("standardId") String standardId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LambdaQueryWrapper<EamMaintenanceStandardDetail> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EamMaintenanceStandardDetail::getStandardId, standardId); Page<EamMaintenanceStandardDetail> page = new Page<>(pageNo, pageSize); IPage<EamMaintenanceStandardDetail> pageList = eamMaintenanceStandardDetailService.page(page, queryWrapper); return Result.OK(pageList); } /** * 通过excel导入数据 * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamMaintenanceStandardDetail.class); } /** * 一次加载 * * @param standardId * @return */ @ApiOperation(value = "保养标准明细-不分页列表查询", notes = "保养标准明细-不分页列表查询") @GetMapping(value = "/queryList") public Result<?> queryList(@RequestParam("standardId") String standardId) { LambdaQueryWrapper<EamMaintenanceStandardDetail> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EamMaintenanceStandardDetail::getStandardId, standardId); List<EamMaintenanceStandardDetail> list = eamMaintenanceStandardDetailService.list(queryWrapper); return Result.OK(list); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
@@ -9,6 +9,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -68,16 +69,19 @@ @DateTimeFormat(pattern = "yyyy-MM-dd") private Date initialDate; /**保养分类*/ @Excel(name = "保养分类", width = 15) @Excel(name = "保养分类", width = 15, dicCode = "maintenance_category") @ApiModelProperty(value = "保养分类") @Dict(dicCode = "maintenance_category") private String maintenanceCategory; /**设备ID*/ @Excel(name = "设备ID", width = 15) @ApiModelProperty(value = "设备ID") /**设备编号*/ @Excel(name = "设备编号", width = 15, dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code") @ApiModelProperty(value = "设备编号") @Dict(dicCode = "eam_equipment, equipment_code, id") private String equipmentId; /**标准状态*/ @Excel(name = "标准状态", width = 15) @Excel(name = "标准状态", width = 15, dicCode = "maintenance_standard_status") @ApiModelProperty(value = "标准状态") @Dict(dicCode = "maintenance_standard_status") private String standardStatus; /**标准版本*/ @Excel(name = "标准版本", width = 15) lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
@@ -23,4 +23,12 @@ * @param standardRequest */ boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest); /** * 重复性校验 * @param equipmentId 设备编号 * @param maintenanceCategory 保养类型 * @return */ EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -1,24 +1,28 @@ package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @Description: 保养标准 @@ -50,8 +54,13 @@ entity.setStandardVersion(CommonConstant.OPERATE_TYPE_1); //设备处理 entity.setEquipmentId(standardRequest.getEquipmentId()); //删除标记 entity.setDelFlag(CommonConstant.DEL_FLAG_0); //重复性校验 //TODO EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory()); if(exist != null){ throw new JeecgBootException("设备标准已存在,不能重复添加!"); } //处理附件 if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) { FileUploadResult fileUploadResult = standardRequest.getFileList().get(0); @@ -77,6 +86,66 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) { return false; EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId()); if(entity == null){ throw new JeecgBootException("编辑的数据已删除,请刷新重试!"); } entity.setStandardName(standardRequest.getStandardName()); entity.setMaintenancePeriod(standardRequest.getMaintenancePeriod()); entity.setFileCode(standardRequest.getFileCode()); //处理附件 if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) { FileUploadResult fileUploadResult = standardRequest.getFileList().get(0); ObjectMapper mapper = new ObjectMapper(); try { String referenceFile = mapper.writeValueAsString(fileUploadResult); entity.setReferenceFile(referenceFile); } catch (JsonProcessingException e) { log.error("JSON转换失败:" + e.getMessage(), e); } }else { entity.setReferenceFile(null); } eamMaintenanceStandardMapper.updateById(entity); //处理详情 if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) { List<EamMaintenanceStandardDetail> addList = new ArrayList<>(); List<EamMaintenanceStandardDetail> updateList = new ArrayList<>(); standardRequest.getTableDetailList().forEach(tableDetail -> { tableDetail.setStandardId(entity.getId()); if(tableDetail.getId() == null){ addList.add(tableDetail); }else { updateList.add(tableDetail); } }); if(CollectionUtil.isNotEmpty(addList)){ eamMaintenanceStandardDetailService.saveBatch(addList); } if(CollectionUtil.isNotEmpty(updateList)){ eamMaintenanceStandardDetailService.updateBatchById(updateList); } } if(CollectionUtil.isNotEmpty(standardRequest.getRemoveDetailList())) { List<String> ids = standardRequest.getRemoveDetailList().stream().map(EamMaintenanceStandardDetail::getId).collect(Collectors.toList()); eamMaintenanceStandardDetailService.removeBatchByIds(ids); } return true; } @Override public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) { LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId); queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory); queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0); queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name()); queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion); List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper); if(CollectionUtil.isNotEmpty(list)) { return null; } return list.get(0); } }