From c8f004b42c0edc9cc6c6faec58770f32992b2b7d Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 07 七月 2025 21:37:02 +0800 Subject: [PATCH] art:技术状态鉴定规范-基础代码 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java | 19 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java | 46 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardMapper.java | 24 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java | 160 +++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardDetailController.java | 129 +++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandard.java | 78 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationStandardRequest.java | 41 ++ db/430设备管理数据库设计.pdma.json | 22 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java | 186 +++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusEvaluationStandardEnum.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardDetailMapper.xml | 5 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardDetailMapper.java | 17 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java | 14 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandardDetail.java | 73 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardMapper.xml | 11 15 files changed, 831 insertions(+), 2 deletions(-) diff --git "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" index 010a965..b34a96b 100644 --- "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" +++ "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" @@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", - "updatedTime": "2025-7-7 15:35:51", + "updatedTime": "2025-7-7 21:00:24", "dbConns": [], "profile": { "default": { @@ -632,7 +632,7 @@ "#DDE5FF" ], "DDLToggleCase": "L", - "menuWidth": "472px" + "menuWidth": "371px" }, "entities": [ { @@ -23721,6 +23721,24 @@ "id": "2C88A464-AC97-4512-94EE-CCD08ED27A64" }, { + "defKey": "standard_version", + "defName": "鐗堟湰", + "comment": "V1,V2+", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "1ACB9237-2E42-44F0-AC09-BBB51D55A83D" + }, + { "defKey": "remark", "defName": "澶囨敞", "comment": "", diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusEvaluationStandardEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusEvaluationStandardEnum.java new file mode 100644 index 0000000..be0c917 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/TechnicalStatusEvaluationStandardEnum.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.eam.constant; + +public enum TechnicalStatusEvaluationStandardEnum { + WAIT_SUBMIT, //寰呮彁浜� + ENABLE, //鍚敤 + DISABLE, //绂佺敤 + ; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java new file mode 100644 index 0000000..3697fa0 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardController.java @@ -0,0 +1,160 @@ +package org.jeecg.modules.eam.controller; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; +import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationStandardRequest; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService; +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Slf4j +@Api(tags = "鎶�鏈姸鎬侀壌瀹氳鑼�") +@RestController +@RequestMapping("/eam/eamTechnicalStatusEvaluationStandard") +public class EamTechnicalStatusEvaluationStandardController extends JeecgController<EamTechnicalStatusEvaluationStandard, IEamTechnicalStatusEvaluationStandardService> { + @Autowired + private IEamTechnicalStatusEvaluationStandardService eamTechnicalStatusEvaluationStandardService; + @Autowired + private ISysBusinessCodeRuleService businessCodeRuleService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamTechnicalStatusEvaluationStandard + * @param pageNo + * @param pageSize + * @return + */ + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鎶�鏈姸鎬侀壌瀹氳鑼�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamTechnicalStatusEvaluationStandard eamTechnicalStatusEvaluationStandard, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page<EamTechnicalStatusEvaluationStandard> page = new Page<>(pageNo, pageSize); + IPage<EamTechnicalStatusEvaluationStandard> pageList = eamTechnicalStatusEvaluationStandardService.queryPageList(page, eamTechnicalStatusEvaluationStandard); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param request + * @return + */ + @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氳鑼�-娣诲姞") + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼�-娣诲姞", notes = "鎶�鏈姸鎬侀壌瀹氳鑼�-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamTechnicalStatusEvaluationStandardRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + if (CollectionUtil.isEmpty(request.getTableDetailList())) { + return Result.error("妫�鏌ラ」涓嶈兘涓虹┖锛�"); + } + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE); + request.setStandardCode(codeSeq); + boolean b = eamTechnicalStatusEvaluationStandardService.addEamTechnicalStatusEvaluationStandard(request); + if (!b) { + return Result.error("娣诲姞澶辫触锛�"); + } + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param request + * @return + */ + @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氳鑼�-缂栬緫") + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼�-缂栬緫", notes = "鎶�鏈姸鎬侀壌瀹氳鑼�-缂栬緫") + @PutMapping(value = "/edit") + public Result<?> edit(@RequestBody EamTechnicalStatusEvaluationStandardRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + if (CollectionUtil.isEmpty(request.getTableDetailList())) { + return Result.error("妫�鏌ラ」涓嶈兘涓虹┖锛�"); + } + boolean b = eamTechnicalStatusEvaluationStandardService.editEamTechnicalStatusEvaluationStandard(request); + if (!b) { + return Result.error("缂栬緫澶辫触锛�"); + } + 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) { + eamTechnicalStatusEvaluationStandardService.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.eamTechnicalStatusEvaluationStandardService.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) { + EamTechnicalStatusEvaluationStandard eamTechnicalStatusEvaluationStandard = eamTechnicalStatusEvaluationStandardService.getById(id); + return Result.OK(eamTechnicalStatusEvaluationStandard); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, EamTechnicalStatusEvaluationStandard.class); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardDetailController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardDetailController.java new file mode 100644 index 0000000..9aaf3cd --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationStandardDetailController.java @@ -0,0 +1,129 @@ +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.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardDetailService; +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.util.Arrays; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Slf4j +@Api(tags = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�") +@RestController +@RequestMapping("/eam/eamTechnicalStatusEvaluationStandardDetail") +public class EamTechnicalStatusEvaluationStandardDetailController extends JeecgController<EamTechnicalStatusEvaluationStandardDetail, IEamTechnicalStatusEvaluationStandardDetailService> { + @Autowired + private IEamTechnicalStatusEvaluationStandardDetailService eamTechnicalStatusEvaluationStandardDetailService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamTechnicalStatusEvaluationStandardDetail + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamTechnicalStatusEvaluationStandardDetail eamTechnicalStatusEvaluationStandardDetail, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<EamTechnicalStatusEvaluationStandardDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusEvaluationStandardDetail, req.getParameterMap()); + Page<EamTechnicalStatusEvaluationStandardDetail> page = new Page<EamTechnicalStatusEvaluationStandardDetail>(pageNo, pageSize); + IPage<EamTechnicalStatusEvaluationStandardDetail> pageList = eamTechnicalStatusEvaluationStandardDetailService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param eamTechnicalStatusEvaluationStandardDetail + * @return + */ + @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-娣诲姞") + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-娣诲姞", notes = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamTechnicalStatusEvaluationStandardDetail eamTechnicalStatusEvaluationStandardDetail) { + eamTechnicalStatusEvaluationStandardDetailService.save(eamTechnicalStatusEvaluationStandardDetail); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param eamTechnicalStatusEvaluationStandardDetail + * @return + */ + @AutoLog(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-缂栬緫") + @ApiOperation(value = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-缂栬緫", notes = "鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody EamTechnicalStatusEvaluationStandardDetail eamTechnicalStatusEvaluationStandardDetail) { + eamTechnicalStatusEvaluationStandardDetailService.updateById(eamTechnicalStatusEvaluationStandardDetail); + 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) { + eamTechnicalStatusEvaluationStandardDetailService.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.eamTechnicalStatusEvaluationStandardDetailService.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) { + EamTechnicalStatusEvaluationStandardDetail eamTechnicalStatusEvaluationStandardDetail = eamTechnicalStatusEvaluationStandardDetailService.getById(id); + return Result.OK(eamTechnicalStatusEvaluationStandardDetail); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandard.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandard.java new file mode 100644 index 0000000..01e1c6b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandard.java @@ -0,0 +1,78 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Data +@TableName("eam_technical_status_evaluation_standard") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="eam_technical_status_evaluation_standard瀵硅薄", description="鎶�鏈姸鎬侀壌瀹氳鑼�") +public class EamTechnicalStatusEvaluationStandard { + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃堕棿*/ + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃堕棿*/ + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @ApiModelProperty(value = "鍒犻櫎鏍囪") + private Integer delFlag; + /**瑙勮寖鍚嶇О*/ + @ApiModelProperty(value = "瑙勮寖鍚嶇О") + private String standardName; + /**瑙勮寖缂栫爜*/ + @ApiModelProperty(value = "瑙勮寖缂栫爜") + private String standardCode; + /**閴村畾鍛ㄦ湡*/ + @ApiModelProperty(value = "閴村畾鍛ㄦ湡") + private Integer evaluationPeriod; + /**璁惧ID*/ + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + /**瑙勮寖鐘舵��;寰呮彁浜ゃ�佸惎鐢ㄣ�佷綔搴�*/ + @ApiModelProperty(value = "瑙勮寖鐘舵��;寰呮彁浜ゃ�佸惎鐢ㄣ�佷綔搴�") + private String standardStatus; + /**鏄惁鏈夊畨鍏ㄨ缃鏌�;鏄惁*/ + @ApiModelProperty(value = "鏄惁鏈夊畨鍏ㄨ缃鏌�;鏄惁") + private String hasSafetyEquipmentCheck; + /**鏄惁鏈夎澶囩簿搴︽鏌�;鏄惁*/ + @ApiModelProperty(value = "鏄惁鏈夎澶囩簿搴︽鏌�;鏄惁") + private String hasPrecisionCheck; + /**鏄惁鏈夊叾浠栨鏌�;鏄惁*/ + @ApiModelProperty(value = "鏄惁鏈夊叾浠栨鏌�;鏄惁") + private String hasOtherCheck; + /**鐗堟湰 V1,V2+*/ + @ApiModelProperty(value = "鐗堟湰 V1,V2") + private String standardVersion; + /**澶囨敞*/ + @Excel(name = "澶囨敞", width = 15) + @ApiModelProperty(value = "澶囨敞") + private String remark; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandardDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandardDetail.java new file mode 100644 index 0000000..d9dcbbf --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationStandardDetail.java @@ -0,0 +1,73 @@ +package org.jeecg.modules.eam.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Data +@TableName("eam_technical_status_evaluation_standard_detail") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="eam_technical_status_evaluation_standard_detail瀵硅薄", description="鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁�") +public class EamTechnicalStatusEvaluationStandardDetail { + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @Excel(name = "鍒涘缓浜�", width = 15) + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃堕棿*/ + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /**鏇存柊浜�*/ + @Excel(name = "鏇存柊浜�", width = 15) + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃堕棿*/ + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; + /**瑙勮寖ID*/ + @Excel(name = "瑙勮寖ID", width = 15) + @ApiModelProperty(value = "瑙勮寖ID") + private String standardId; + /**妫�鏌ュ垎绫�;绮惧害妫�鏌ャ�佸畨鍏ㄨ缃鏌ャ�佸叾浠栨鏌�*/ + @Excel(name = "妫�鏌ュ垎绫�;绮惧害妫�鏌ャ�佸畨鍏ㄨ缃鏌ャ�佸叾浠栨鏌�", width = 15) + @ApiModelProperty(value = "妫�鏌ュ垎绫�;绮惧害妫�鏌ャ�佸畨鍏ㄨ缃鏌ャ�佸叾浠栨鏌�") + private String checkCategory; + /**椤圭洰搴忓彿*/ + @Excel(name = "椤圭洰搴忓彿", width = 15) + @ApiModelProperty(value = "椤圭洰搴忓彿") + private Integer itemCode; + /**妫�鏌ラ」鐩�*/ + @Excel(name = "妫�鏌ラ」鐩�", width = 15) + @ApiModelProperty(value = "妫�鏌ラ」鐩�") + private String itemName; + /**鍏佸樊鍊�;绮惧害妫�鏌ュ睍绀�*/ + @Excel(name = "鍏佸樊鍊�;绮惧害妫�鏌ュ睍绀�", width = 15) + @ApiModelProperty(value = "鍏佸樊鍊�;绮惧害妫�鏌ュ睍绀�") + private String toleranceValue; + /**妫�鏌ュ瓙椤圭洰;绮惧害妫�鏌ュ睍绀猴紝鍙互涓虹┖*/ + @Excel(name = "妫�鏌ュ瓙椤圭洰;绮惧害妫�鏌ュ睍绀猴紝鍙互涓虹┖", width = 15) + @ApiModelProperty(value = "妫�鏌ュ瓙椤圭洰;绮惧害妫�鏌ュ睍绀猴紝鍙互涓虹┖") + private String subItemName; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardDetailMapper.java new file mode 100644 index 0000000..a94812d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardDetailMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.eam.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +public interface EamTechnicalStatusEvaluationStandardDetailMapper extends BaseMapper<EamTechnicalStatusEvaluationStandardDetail> { + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardMapper.java new file mode 100644 index 0000000..4d7b91f --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationStandardMapper.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +public interface EamTechnicalStatusEvaluationStandardMapper extends BaseMapper<EamTechnicalStatusEvaluationStandard> { + + /** + * 鍒嗛〉鏌ヨ + * @param page + * @param queryWrapper + * @return + */ + IPage<EamTechnicalStatusEvaluationStandard> queryPageList(Page<EamTechnicalStatusEvaluationStandard> page, QueryWrapper<EamTechnicalStatusEvaluationStandard> queryWrapper); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardDetailMapper.xml new file mode 100644 index 0000000..4370e3c --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardDetailMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationStandardDetailMapper"> + +</mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardMapper.xml new file mode 100644 index 0000000..b1aa00b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationStandardMapper.xml @@ -0,0 +1,11 @@ +<?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.EamTechnicalStatusEvaluationStandardMapper"> + <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard"> + select ems.*, e.equipment_code, e.equipment_name, e.equipment_model + from eam_technical_status_evaluation_standard ems + inner join eam_equipment e + on ems.equipment_id = e.id + ${ew.customSqlSegment} + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationStandardRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationStandardRequest.java new file mode 100644 index 0000000..5c9e196 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationStandardRequest.java @@ -0,0 +1,41 @@ +package org.jeecg.modules.eam.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; + +import java.io.Serializable; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="eam_technical_status_evaluation_standard瀵硅薄", description="鎶�鏈姸鎬侀壌瀹氳鑼�") +public class EamTechnicalStatusEvaluationStandardRequest implements Serializable { + /**涓婚敭*/ + @ApiModelProperty(value = "涓婚敭") + private String id; + /**瑙勮寖缂栫爜*/ + @ApiModelProperty(value = "瑙勮寖缂栫爜") + private String standardCode; + /**瑙勮寖鍚嶇О*/ + @ApiModelProperty(value = "瑙勮寖鍚嶇О") + private String standardName; + /**閴村畾鍛ㄦ湡;鍗曚綅:骞�*/ + @ApiModelProperty(value = "閴村畾鍛ㄦ湡;鍗曚綅:骞�") + private Integer evaluationPeriod; + /**璁惧ID*/ + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + /**鍒楄〃 妫�鏌ラ」鏄庣粏*/ + @ApiModelProperty(value = "鍒楄〃 妫�鏌ラ」鏄庣粏") + private List<EamTechnicalStatusEvaluationStandardDetail> tableDetailList; + /**鍒犻櫎 妫�鏌ラ」鏄庣粏*/ + @ApiModelProperty(value = "鍒犻櫎 妫�鏌ラ」鏄庣粏") + private List<EamTechnicalStatusEvaluationStandardDetail> removeDetailList; + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java new file mode 100644 index 0000000..c3afc15 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardDetailService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.eam.service; + +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +public interface IEamTechnicalStatusEvaluationStandardDetailService extends IService<EamTechnicalStatusEvaluationStandardDetail> { + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java new file mode 100644 index 0000000..a36717c --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java @@ -0,0 +1,46 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; +import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationStandardRequest; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +public interface IEamTechnicalStatusEvaluationStandardService extends IService<EamTechnicalStatusEvaluationStandard> { + + /** + * + * @param page + * @param eamTechnicalStatusEvaluationStandard + * @return + */ + IPage<EamTechnicalStatusEvaluationStandard> queryPageList(Page<EamTechnicalStatusEvaluationStandard> page, EamTechnicalStatusEvaluationStandard eamTechnicalStatusEvaluationStandard); + + /** + * 鏂板 + * @param request + * @return + */ + boolean addEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request); + + /** + * 閲嶅鏍¢獙 + * @param equipmentId + * @param id + * @return + */ + EamTechnicalStatusEvaluationStandard checkDuplicate(String equipmentId, String id); + + /** + * 缂栬緫 + * @param request + * @return + */ + boolean editEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java new file mode 100644 index 0000000..7a8597b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardDetailServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.eam.service.impl; + +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; +import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationStandardDetailMapper; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardDetailService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼冩槑缁� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Service +public class EamTechnicalStatusEvaluationStandardDetailServiceImpl extends ServiceImpl<EamTechnicalStatusEvaluationStandardDetailMapper, EamTechnicalStatusEvaluationStandardDetail> implements IEamTechnicalStatusEvaluationStandardDetailService { + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java new file mode 100644 index 0000000..8ba1b11 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java @@ -0,0 +1,186 @@ +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.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.SimpleVersionGenerateUtil; +import org.jeecg.modules.eam.base.entity.BaseFactory; +import org.jeecg.modules.eam.base.entity.BaseFactoryUser; +import org.jeecg.modules.eam.base.service.IBaseFactoryService; +import org.jeecg.modules.eam.base.service.IBaseFactoryUserService; +import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; +import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationStandardEnum; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; +import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandard; +import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationStandardDetail; +import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationStandardMapper; +import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationStandardRequest; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardDetailService; +import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationStandardService; +import org.springframework.beans.BeanUtils; +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 java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description: 鎶�鏈姸鎬侀壌瀹氳鑼� + * @Author: jeecg-boot + * @Date: 2025-07-07 + * @Version: V1.0 + */ +@Service +public class EamTechnicalStatusEvaluationStandardServiceImpl extends ServiceImpl<EamTechnicalStatusEvaluationStandardMapper, EamTechnicalStatusEvaluationStandard> implements IEamTechnicalStatusEvaluationStandardService { + + @Autowired + private IBaseFactoryUserService baseFactoryUserService; + @Autowired + private IBaseFactoryService baseFactoryService; + @Autowired + private IEamTechnicalStatusEvaluationStandardDetailService standardDetailService; + + @Override + public IPage<EamTechnicalStatusEvaluationStandard> queryPageList(Page<EamTechnicalStatusEvaluationStandard> page, EamTechnicalStatusEvaluationStandard query) { + QueryWrapper<EamTechnicalStatusEvaluationStandard> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ems.del_flag", CommonConstant.DEL_FLAG_0); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return page; + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (!CollectionUtils.isEmpty(baseFactoryUserList)) { + List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); + List<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); + queryWrapper.in("e.factory_code", factoryCode); + } else { + return page; + } + } + if (query != null) { + //缂栫爜 妯$硦鏌ヨ + if (StringUtils.isNotBlank(query.getStandardCode())) { + queryWrapper.like("ems.standard_code", query.getStandardCode()); + } + //鍚嶇О 妯$硦鏌ヨ + if (StringUtils.isNotBlank(query.getStandardName())) { + queryWrapper.like("ems.standard_name", query.getStandardName()); + } + //璁惧 + if (StringUtils.isNotBlank(query.getEquipmentId())) { + queryWrapper.eq("ems.equipment_id", query.getEquipmentId()); + } + + //淇濆吇鍒嗙被 + if (StringUtils.isNotBlank(query.getStandardStatus())) { + queryWrapper.eq("ems.standard_status", query.getStandardStatus()); + } + } + queryWrapper.orderByDesc("ems.create_time"); + return this.getBaseMapper().queryPageList(page, queryWrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request) { + EamTechnicalStatusEvaluationStandard entity = new EamTechnicalStatusEvaluationStandard(); + BeanUtils.copyProperties(request, entity); + entity.setStandardStatus(TechnicalStatusEvaluationStandardEnum.WAIT_SUBMIT.name()); + //鐗堟湰閫掑 + entity.setStandardVersion(SimpleVersionGenerateUtil.getInitVersion()); + //璁惧澶勭悊 + entity.setEquipmentId(request.getEquipmentId()); + //鍒犻櫎鏍囪 + entity.setDelFlag(CommonConstant.DEL_FLAG_0); + //閲嶅鎬ф牎楠� + EamTechnicalStatusEvaluationStandard exist = checkDuplicate(entity.getEquipmentId(), null); + if(exist != null){ + throw new JeecgBootException("瑙勮寖宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�"); + } + this.getBaseMapper().insert(entity); + //澶勭悊鏄庣粏鏁版嵁 + if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { + request.getTableDetailList().forEach(tableDetail -> { + tableDetail.setStandardId(entity.getId()); + }); + standardDetailService.saveBatch(request.getTableDetailList()); + } + return true; + } + + @Override + public EamTechnicalStatusEvaluationStandard checkDuplicate(String equipmentId, String id) { + LambdaQueryWrapper<EamTechnicalStatusEvaluationStandard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamTechnicalStatusEvaluationStandard::getEquipmentId, equipmentId); + queryWrapper.eq(EamTechnicalStatusEvaluationStandard::getDelFlag, CommonConstant.DEL_FLAG_0); + //寰呮彁浜ゃ�佸惎鐢ㄧ姸鎬� + queryWrapper.in(EamTechnicalStatusEvaluationStandard::getStandardStatus, Arrays.asList(TechnicalStatusEvaluationStandardEnum.ENABLE.name(), TechnicalStatusEvaluationStandardEnum.WAIT_SUBMIT.name())); + queryWrapper.orderByDesc(EamTechnicalStatusEvaluationStandard::getStandardVersion); + if(StringUtils.isNotBlank(id)){ + queryWrapper.ne(EamTechnicalStatusEvaluationStandard::getId, id); + } + List<EamTechnicalStatusEvaluationStandard> list = this.getBaseMapper().selectList(queryWrapper); + if(CollectionUtil.isEmpty(list)) { + return null; + } + return list.get(0); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean editEamTechnicalStatusEvaluationStandard(EamTechnicalStatusEvaluationStandardRequest request) { + EamTechnicalStatusEvaluationStandard entity = this.getBaseMapper().selectById(request.getId()); + if(entity == null){ + throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�"); + } + entity.setStandardName(request.getStandardName()); + entity.setEvaluationPeriod(request.getEvaluationPeriod()); + this.getBaseMapper().updateById(entity); + //澶勭悊璇︽儏 + if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { + List<EamTechnicalStatusEvaluationStandardDetail> addList = new ArrayList<>(); + List<EamTechnicalStatusEvaluationStandardDetail> updateList = new ArrayList<>(); + request.getTableDetailList().forEach(tableDetail -> { + tableDetail.setStandardId(entity.getId()); + if(tableDetail.getId() == null){ + addList.add(tableDetail); + }else { + updateList.add(tableDetail); + } + }); + if(CollectionUtil.isNotEmpty(addList)){ + standardDetailService.saveBatch(addList); + } + if(CollectionUtil.isNotEmpty(updateList)){ + standardDetailService.updateBatchById(updateList); + } + } + if(CollectionUtil.isNotEmpty(request.getRemoveDetailList())) { + List<String> ids = request.getRemoveDetailList().stream().map(EamTechnicalStatusEvaluationStandardDetail::getId).collect(Collectors.toList()); + standardDetailService.removeBatchByIds(ids); + } + return true; + } +} -- Gitblit v1.9.3