From 3c2c87364b89de46d12e95abd5bdf8cbd2c6dbf6 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 08:43:23 +0800 Subject: [PATCH] dev-init --- ruoyi-modules/lb-qms/pom.xml | 102 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbBatch.java | 61 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorRetestService.java | 68 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbTestResultBo.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbBatchService.java | 75 ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbDeviceMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbDeviceServiceImpl.java | 133 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorRetestController.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorResultController.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/handle/CustomEncodingTypeHandler.java | 52 ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorRetestMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorServiceImpl.java | 129 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbDeviceController.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbBatchBo.java | 65 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbTestResultVo.java | 118 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbRetestResultMapper.java | 15 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbDeviceBo.java | 65 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbRetestResultVo.java | 137 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbTestResult.java | 93 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorRetestBo.java | 77 + ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java | 2 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbRetestResult.java | 110 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorService.java | 68 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorRetestMapper.java | 27 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorResultVo.java | 69 ruoyi-admin/src/main/resources/application.yml | 12 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbTestResultService.java | 76 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbTestResultServiceImpl.java | 177 ++ ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorController.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorRetest.java | 75 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbDeviceService.java | 68 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbRetestResultService.java | 68 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbRetestResultController.java | 105 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbDeviceVo.java | 75 ruoyi-admin/src/main/resources/application-dev.yml | 10 ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbRetestResultMapper.xml | 7 ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorMapper.java | 15 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorResultService.java | 68 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorRetestServiceImpl.java | 133 + ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbBatchMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbDevice.java | 61 pom.xml | 9 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorResultBo.java | 60 ruoyi-modules/pom.xml | 1 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorRetestVo.java | 92 + ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbTestResultMapper.xml | 37 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbBatchServiceImpl.java | 144 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbRetestResultServiceImpl.java | 134 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbTestResultMapper.java | 36 ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorResultMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorVo.java | 137 + ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java | 4 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbBatchController.java | 114 + ruoyi-admin/pom.xml | 6 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorResultMapper.java | 15 ruoyi-modules/lb-qms/src/main/resources/mapper/system/LbDeviceMapper.xml | 7 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorResultServiceImpl.java | 158 ++ ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensor.java | 106 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbBatchVo.java | 84 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbDeviceMapper.java | 15 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorResult.java | 71 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbBatchMapper.java | 26 ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbRetestResultBo.java | 114 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorBo.java | 115 + ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbTestResultController.java | 123 + 66 files changed, 4,570 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index 750673b..3824322 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ <name>RuoYi-Vue-Plus</name> <url>https://gitee.com/dromara/RuoYi-Vue-Plus</url> - <description>RuoYi-Vue-Plus澶氱鎴风鐞嗙郴缁�</description> + <description>鍏板疂杞﹂棿璐ㄩ噺绠$悊绯荤粺</description> <properties> <revision>5.2.2</revision> @@ -364,6 +364,13 @@ <version>${revision}</version> </dependency> + <dependency> + <groupId>org.dromara</groupId> + <artifactId>lb-qms</artifactId> + <version>${revision}</version> + </dependency> + + <!-- 宸ヤ綔娴佹ā鍧� --> <dependency> <groupId>org.dromara</groupId> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 9e97804..eba5726 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -87,6 +87,12 @@ <artifactId>ruoyi-demo</artifactId> </dependency> + <!-- 杞﹂棿璐ㄩ噺妯″潡 --> + <dependency> + <groupId>org.dromara</groupId> + <artifactId>lb-qms</artifactId> + </dependency> + <!-- 宸ヤ綔娴佹ā鍧� --> <dependency> <groupId>org.dromara</groupId> diff --git a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java index 8ef33fe..d2ebc62 100644 --- a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java +++ b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java @@ -10,14 +10,14 @@ * @author Lion Li */ -@SpringBootApplication +@SpringBootApplication(scanBasePackages={"org.dromara", "cn.shlanbao"}) public class DromaraApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(DromaraApplication.class); application.setApplicationStartup(new BufferingApplicationStartup(2048)); application.run(args); - System.out.println("(鈾モ棤鈥库棤)锞夛緸 RuoYi-Vue-Plus鍚姩鎴愬姛 醿�(麓凇`醿�)锞�"); + System.out.println("(鈾モ棤鈥库棤)锞夛緸 鍏板疂杞﹂棿璐ㄩ噺绠$悊绯荤粺 鍚姩鎴愬姛 醿�(麓凇`醿�)锞�"); } } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index b561693..984ee32 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -103,7 +103,7 @@ Long userId = LoginHelper.getUserId(); scheduledExecutorService.schedule(() -> { SseMessageDto dto = new SseMessageDto(); - dto.setMessage("娆㈣繋鐧诲綍RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺"); + dto.setMessage("娆㈣繋鐧诲綍鍏板疂杞﹂棿璐ㄩ噺绠$悊绯荤粺"); dto.setUserIds(List.of(userId)); SseMessageUtils.publishMessage(dto); }, 5, TimeUnit.SECONDS); diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 5e20dae..b634908 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -1,7 +1,7 @@ --- # 鐩戞帶涓績閰嶇疆 spring.boot.admin.client: # 澧炲姞瀹㈡埛绔紑鍏� - enabled: true + enabled: false url: http://localhost:9090/admin instance: service-host-type: IP @@ -13,7 +13,7 @@ --- # snail-job 閰嶇疆 snail-job: - enabled: true + enabled: false # 闇�瑕佸湪 SnailJob 鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟 group: "ruoyi_group" # SnailJob 鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/snail_job.sql `sj_group_config` 琛� @@ -45,9 +45,9 @@ driverClassName: com.mysql.cj.jdbc.Driver # jdbc 鎵�鏈夊弬鏁伴厤缃弬鑰� https://lionli.blog.csdn.net/article/details/122018562 # rewriteBatchedStatements=true 鎵瑰鐞嗕紭鍖� 澶у箙鎻愬崌鎵归噺鎻掑叆鏇存柊鍒犻櫎鎬ц兘(瀵规暟鎹簱鏈夋�ц兘鎹熻�� 浣跨敤鎵归噺鎿嶄綔搴旇�冭檻鎬ц兘闂) - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true + url: jdbc:mysql://192.168.12.240:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true username: root - password: root + password: 123456 # 浠庡簱鏁版嵁婧� slave: lazy: true @@ -100,7 +100,7 @@ # 鏁版嵁搴撶储寮� database: 0 # redis 瀵嗙爜蹇呴』閰嶇疆 - password: ruoyi123 + #password: ruoyi123 # 杩炴帴瓒呮椂鏃堕棿 timeout: 10s # 鏄惁寮�鍚痵sl diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 5d94bef..18f2bdd 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -8,7 +8,7 @@ copyrightYear: 2024 captcha: - enable: true + enable: false # 椤甸潰 <鍙傛暟璁剧疆> 鍙紑鍚叧闂� 楠岃瘉鐮佹牎楠� # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉 type: MATH @@ -125,7 +125,7 @@ # 澶氱鎴烽厤缃� tenant: # 鏄惁寮�鍚� - enable: true + enable: false # 鎺掗櫎琛� excludes: - sys_menu @@ -142,11 +142,11 @@ # https://baomidou.com/config/ mybatis-plus: # 澶氬寘鍚嶄娇鐢� 渚嬪 org.dromara.**.mapper,org.xxx.**.mapper - mapperPackage: org.dromara.**.mapper + mapperPackage: org.dromara.**.mapper,cn.shlanbao.**.mapper # 瀵瑰簲鐨� XML 鏂囦欢浣嶇疆 mapperLocations: classpath*:mapper/**/*Mapper.xml # 瀹炰綋鎵弿锛屽涓猵ackage鐢ㄩ�楀彿鎴栬�呭垎鍙峰垎闅� - typeAliasesPackage: org.dromara.**.domain + typeAliasesPackage: org.dromara.**.domain, cn.shlanbao.**.domain global-config: dbConfig: # 涓婚敭绫诲瀷 @@ -171,7 +171,7 @@ # api鎺ュ彛鍔犲瘑 api-decrypt: # 鏄惁寮�鍚叏灞�鎺ュ彛鍔犲瘑 - enabled: true + enabled: false # AES 鍔犲瘑澶存爣璇� headerFlag: encrypt-key # 鍝嶅簲鍔犲瘑鍏挜 闈炲绉扮畻娉曠殑鍏閽� 濡傦細SM2锛孯SA 浣跨敤鑰呰鑷鏇存崲 @@ -217,6 +217,8 @@ packages-to-scan: org.dromara.system - group: 4.浠g爜鐢熸垚妯″潡 packages-to-scan: org.dromara.generator + - group: 5.璐ㄩ噺妯″潡 + packages-to-scan: cn.shlanbao.qms # 闃叉XSS鏀诲嚮 xss: diff --git a/ruoyi-modules/lb-qms/pom.xml b/ruoyi-modules/lb-qms/pom.xml new file mode 100644 index 0000000..eb9faef --- /dev/null +++ b/ruoyi-modules/lb-qms/pom.xml @@ -0,0 +1,102 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-modules</artifactId> + <version>${revision}</version> + </parent> + <artifactId>lb-qms</artifactId> + <description> + demo妯″潡 + </description> + <dependencies> + + <!-- 閫氱敤宸ュ叿--> + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-core</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-doc</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-sms</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-mail</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-redis</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-idempotent</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-mybatis</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-log</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-excel</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-security</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-web</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-ratelimiter</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-translation</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-sensitive</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-encrypt</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-tenant</artifactId> + </dependency> + + <dependency> + <groupId>org.dromara</groupId> + <artifactId>ruoyi-common-websocket</artifactId> + </dependency> + + </dependencies> +</project> diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbBatchController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbBatchController.java new file mode 100644 index 0000000..b8625fb --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbBatchController.java @@ -0,0 +1,114 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbBatchVo; +import cn.shlanbao.qms.domain.bo.LbBatchBo; +import cn.shlanbao.qms.service.ILbBatchService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 鎵规绠$悊 + * + * @author bsw + * @date 2024-12-12 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/batch") +public class LbBatchController extends BaseController { + + private final ILbBatchService lbBatchService; + + /** + * 鏌ヨ鎵规绠$悊鍒楄〃 + */ + @SaCheckPermission("qms:batch:list") + @GetMapping("/list") + public TableDataInfo<LbBatchVo> list(LbBatchBo bo, PageQuery pageQuery) { + return lbBatchService.queryPageList(bo, pageQuery); + } + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈変骇鍝佸瀷鍙� + */ + @SaCheckPermission("qms:batch:list") + @GetMapping("/distinctProductModels") + public R<List<String>> getDistinctProductModels() { + return R.ok(lbBatchService.queryDistinctProductModels()); + } + + /** + * 瀵煎嚭鎵规绠$悊鍒楄〃 + */ + @SaCheckPermission("qms:batch:export") + @Log(title = "鎵规绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbBatchBo bo, HttpServletResponse response) { + List<LbBatchVo> list = lbBatchService.queryList(bo); + ExcelUtil.exportExcel(list, "鎵规绠$悊", LbBatchVo.class, response); + } + + /** + * 鑾峰彇鎵规绠$悊璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("qms:batch:query") + @GetMapping("/{id}") + public R<LbBatchVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(lbBatchService.queryById(id)); + } + + /** + * 鏂板鎵规绠$悊 + */ + @SaCheckPermission("qms:batch:add") + @Log(title = "鎵规绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbBatchBo bo) { + return toAjax(lbBatchService.insertByBo(bo)); + } + + /** + * 淇敼鎵规绠$悊 + */ + @SaCheckPermission("qms:batch:edit") + @Log(title = "鎵规绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbBatchBo bo) { + return toAjax(lbBatchService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鎵规绠$悊 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("qms:batch:remove") + @Log(title = "鎵规绠$悊", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(lbBatchService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbDeviceController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbDeviceController.java new file mode 100644 index 0000000..eaa2ab6 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbDeviceController.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbDeviceVo; +import cn.shlanbao.qms.domain.bo.LbDeviceBo; +import cn.shlanbao.qms.service.ILbDeviceService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 娴嬭瘯浠� + * + * @author bsw + * @date 2024-12-12 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/device") +public class LbDeviceController extends BaseController { + + private final ILbDeviceService lbDeviceService; + + /** + * 鏌ヨ娴嬭瘯浠垪琛� + */ + @SaCheckPermission("qms:device:list") + @GetMapping("/list") + public TableDataInfo<LbDeviceVo> list(LbDeviceBo bo, PageQuery pageQuery) { + return lbDeviceService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭娴嬭瘯浠垪琛� + */ + @SaCheckPermission("qms:device:export") + @Log(title = "娴嬭瘯浠�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbDeviceBo bo, HttpServletResponse response) { + List<LbDeviceVo> list = lbDeviceService.queryList(bo); + ExcelUtil.exportExcel(list, "娴嬭瘯浠�", LbDeviceVo.class, response); + } + + /** + * 鑾峰彇娴嬭瘯浠缁嗕俊鎭� + * + * @param id 涓婚敭 + */ + @SaCheckPermission("qms:device:query") + @GetMapping("/{id}") + public R<LbDeviceVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(lbDeviceService.queryById(id)); + } + + /** + * 鏂板娴嬭瘯浠� + */ + @SaCheckPermission("qms:device:add") + @Log(title = "娴嬭瘯浠�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbDeviceBo bo) { + return toAjax(lbDeviceService.insertByBo(bo)); + } + + /** + * 淇敼娴嬭瘯浠� + */ + @SaCheckPermission("qms:device:edit") + @Log(title = "娴嬭瘯浠�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbDeviceBo bo) { + return toAjax(lbDeviceService.updateByBo(bo)); + } + + /** + * 鍒犻櫎娴嬭瘯浠� + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("qms:device:remove") + @Log(title = "娴嬭瘯浠�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(lbDeviceService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbRetestResultController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbRetestResultController.java new file mode 100644 index 0000000..4f1fb9f --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbRetestResultController.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbRetestResultVo; +import cn.shlanbao.qms.domain.bo.LbRetestResultBo; +import cn.shlanbao.qms.service.ILbRetestResultService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 澶嶆祴璁板綍 + * + * @author Lion Li + * @date 2025-03-10 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/retestResult") +public class LbRetestResultController extends BaseController { + + private final ILbRetestResultService lbRetestResultService; + + /** + * 鏌ヨ澶嶆祴璁板綍鍒楄〃 + */ + @SaCheckPermission("qms:retestResult:list") + @GetMapping("/list") + public TableDataInfo<LbRetestResultVo> list(LbRetestResultBo bo, PageQuery pageQuery) { + return lbRetestResultService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭澶嶆祴璁板綍鍒楄〃 + */ + @SaCheckPermission("qms:retestResult:export") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbRetestResultBo bo, HttpServletResponse response) { + List<LbRetestResultVo> list = lbRetestResultService.queryList(bo); + ExcelUtil.exportExcel(list, "澶嶆祴璁板綍", LbRetestResultVo.class, response); + } + + /** + * 鑾峰彇澶嶆祴璁板綍璇︾粏淇℃伅 + * + * @param batchCode 涓婚敭 + */ + @SaCheckPermission("qms:retestResult:query") + @GetMapping("/{batchCode}") + public R<LbRetestResultVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String batchCode) { + return R.ok(lbRetestResultService.queryById(batchCode)); + } + + /** + * 鏂板澶嶆祴璁板綍 + */ + @SaCheckPermission("qms:retestResult:add") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbRetestResultBo bo) { + return toAjax(lbRetestResultService.insertByBo(bo)); + } + + /** + * 淇敼澶嶆祴璁板綍 + */ + @SaCheckPermission("qms:retestResult:edit") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbRetestResultBo bo) { + return toAjax(lbRetestResultService.updateByBo(bo)); + } + + /** + * 鍒犻櫎澶嶆祴璁板綍 + * + * @param batchCodes 涓婚敭涓� + */ + @SaCheckPermission("qms:retestResult:remove") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.DELETE) + @DeleteMapping("/{batchCodes}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String[] batchCodes) { + return toAjax(lbRetestResultService.deleteWithValidByIds(List.of(batchCodes), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorController.java new file mode 100644 index 0000000..18ff512 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorController.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbSensorVo; +import cn.shlanbao.qms.domain.bo.LbSensorBo; +import cn.shlanbao.qms.service.ILbSensorService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 浼犳劅鍣� + * + * @author bsw + * @date 2024-12-11 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/sensor") +public class LbSensorController extends BaseController { + + private final ILbSensorService lbSensorService; + + /** + * 鏌ヨ浼犳劅鍣ㄥ垪琛� + */ + @SaCheckPermission("qms:sensor:list") + @GetMapping("/list") + public TableDataInfo<LbSensorVo> list(LbSensorBo bo, PageQuery pageQuery) { + return lbSensorService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭浼犳劅鍣ㄥ垪琛� + */ + @SaCheckPermission("qms:sensor:export") + @Log(title = "浼犳劅鍣�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbSensorBo bo, HttpServletResponse response) { + List<LbSensorVo> list = lbSensorService.queryList(bo); + ExcelUtil.exportExcel(list, "浼犳劅鍣�", LbSensorVo.class, response); + } + + /** + * 鑾峰彇浼犳劅鍣ㄨ缁嗕俊鎭� + * + * @param prodId 涓婚敭 + */ + @SaCheckPermission("qms:sensor:query") + @GetMapping("/{prodId}") + public R<LbSensorVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long prodId) { + return R.ok(lbSensorService.queryById(prodId)); + } + + /** + * 鏂板浼犳劅鍣� + */ + @SaCheckPermission("qms:sensor:add") + @Log(title = "浼犳劅鍣�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbSensorBo bo) { + return toAjax(lbSensorService.insertByBo(bo)); + } + + /** + * 淇敼浼犳劅鍣� + */ + @SaCheckPermission("qms:sensor:edit") + @Log(title = "浼犳劅鍣�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbSensorBo bo) { + return toAjax(lbSensorService.updateByBo(bo)); + } + + /** + * 鍒犻櫎浼犳劅鍣� + * + * @param prodIds 涓婚敭涓� + */ + @SaCheckPermission("qms:sensor:remove") + @Log(title = "浼犳劅鍣�", businessType = BusinessType.DELETE) + @DeleteMapping("/{prodIds}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] prodIds) { + return toAjax(lbSensorService.deleteWithValidByIds(List.of(prodIds), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorResultController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorResultController.java new file mode 100644 index 0000000..07fb8e4 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorResultController.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbSensorResultVo; +import cn.shlanbao.qms.domain.bo.LbSensorResultBo; +import cn.shlanbao.qms.service.ILbSensorResultService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 鎵规鏄庣粏 + * + * @author bsw + * @date 2024-12-27 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/sensorResult") +public class LbSensorResultController extends BaseController { + + private final ILbSensorResultService lbSensorResultService; + + /** + * 鏌ヨ鎵规鏄庣粏鍒楄〃 + */ + @SaCheckPermission("qms:sensorResult:list") + @GetMapping("/list") + public TableDataInfo<LbSensorResultVo> list(LbSensorResultBo bo, PageQuery pageQuery) { + return lbSensorResultService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鎵规鏄庣粏鍒楄〃 + */ + @SaCheckPermission("qms:sensorResult:export") + @Log(title = "鎵规鏄庣粏", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbSensorResultBo bo, HttpServletResponse response) { + List<LbSensorResultVo> list = lbSensorResultService.queryList(bo); + ExcelUtil.exportExcel(list, "鎵规鏄庣粏", LbSensorResultVo.class, response); + } + + /** + * 鑾峰彇鎵规鏄庣粏璇︾粏淇℃伅 + * + * @param batchCode 涓婚敭 + */ + @SaCheckPermission("qms:sensorResult:query") + @GetMapping("/{batchCode}") + public R<LbSensorResultVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String batchCode) { + return R.ok(lbSensorResultService.queryById(batchCode)); + } + + /** + * 鏂板鎵规鏄庣粏 + */ + @SaCheckPermission("qms:sensorResult:add") + @Log(title = "鎵规鏄庣粏", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbSensorResultBo bo) { + return toAjax(lbSensorResultService.insertByBo(bo)); + } + + /** + * 淇敼鎵规鏄庣粏 + */ + @SaCheckPermission("qms:sensorResult:edit") + @Log(title = "鎵规鏄庣粏", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbSensorResultBo bo) { + return toAjax(lbSensorResultService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鎵规鏄庣粏 + * + * @param batchCodes 涓婚敭涓� + */ + @SaCheckPermission("qms:sensorResult:remove") + @Log(title = "鎵规鏄庣粏", businessType = BusinessType.DELETE) + @DeleteMapping("/{batchCodes}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String[] batchCodes) { + return toAjax(lbSensorResultService.deleteWithValidByIds(List.of(batchCodes), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorRetestController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorRetestController.java new file mode 100644 index 0000000..c45b537 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbSensorRetestController.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbSensorRetestVo; +import cn.shlanbao.qms.domain.bo.LbSensorRetestBo; +import cn.shlanbao.qms.service.ILbSensorRetestService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 澶嶆祴璁板綍 + * + * @author bsw + * @date 2025-03-10 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/sensorRetest") +public class LbSensorRetestController extends BaseController { + + private final ILbSensorRetestService lbSensorRetestService; + + /** + * 鏌ヨ澶嶆祴璁板綍鍒楄〃 + */ + @SaCheckPermission("qms:sensorRetest:list") + @GetMapping("/list") + public TableDataInfo<LbSensorRetestVo> list(LbSensorRetestBo bo, PageQuery pageQuery) { + return lbSensorRetestService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭澶嶆祴璁板綍鍒楄〃 + */ + @SaCheckPermission("qms:sensorRetest:export") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbSensorRetestBo bo, HttpServletResponse response) { + List<LbSensorRetestVo> list = lbSensorRetestService.queryList(bo); + ExcelUtil.exportExcel(list, "澶嶆祴璁板綍", LbSensorRetestVo.class, response); + } + + /** + * 鑾峰彇澶嶆祴璁板綍璇︾粏淇℃伅 + * + * @param batchCode 涓婚敭 + */ + @SaCheckPermission("qms:sensorRetest:query") + @GetMapping("/{batchCode}") + public R<LbSensorRetestVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String batchCode) { + return R.ok(lbSensorRetestService.queryById(batchCode)); + } + + /** + * 鏂板澶嶆祴璁板綍 + */ + @SaCheckPermission("qms:sensorRetest:add") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbSensorRetestBo bo) { + return toAjax(lbSensorRetestService.insertByBo(bo)); + } + + /** + * 淇敼澶嶆祴璁板綍 + */ + @SaCheckPermission("qms:sensorRetest:edit") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbSensorRetestBo bo) { + return toAjax(lbSensorRetestService.updateByBo(bo)); + } + + /** + * 鍒犻櫎澶嶆祴璁板綍 + * + * @param batchCodes 涓婚敭涓� + */ + @SaCheckPermission("qms:sensorRetest:remove") + @Log(title = "澶嶆祴璁板綍", businessType = BusinessType.DELETE) + @DeleteMapping("/{batchCodes}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable String[] batchCodes) { + return toAjax(lbSensorRetestService.deleteWithValidByIds(List.of(batchCodes), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbTestResultController.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbTestResultController.java new file mode 100644 index 0000000..94a0cc3 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/controller/LbTestResultController.java @@ -0,0 +1,123 @@ +package cn.shlanbao.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import cn.shlanbao.qms.domain.vo.LbTestResultVo; +import cn.shlanbao.qms.domain.bo.LbTestResultBo; +import cn.shlanbao.qms.service.ILbTestResultService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 娴嬭瘯缁撴灉 + * + * @author bsw + * @date 2024-12-12 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/qms/testResult") +public class LbTestResultController extends BaseController { + + private final ILbTestResultService lbTestResultService; + + /** + * 鏌ヨ娴嬭瘯缁撴灉鍒楄〃 + */ + @SaCheckPermission("qms:testResult:list") + @GetMapping("/list") + public TableDataInfo<LbTestResultVo> list(LbTestResultBo bo, PageQuery pageQuery) { + return lbTestResultService.queryPageList(bo, pageQuery); + } + + /** + * 鏌ヨ娴嬭瘯缁撴灉鍒楄〃 + */ + @SaCheckPermission("qms:testResult:list") + @GetMapping("/listAll") + public R<List<LbTestResultVo>> listAll(LbTestResultBo bo) { + return R.ok(lbTestResultService.queryList(bo)); + } + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈夋祴璇曢」鐩� + */ + @SaCheckPermission("qms:testResult:list") + @GetMapping("/distinctTestItems") + public R<List<String>> getDistinctTestItems() { + return R.ok(lbTestResultService.queryDistinctTestItems()); + } + + /** + * 瀵煎嚭娴嬭瘯缁撴灉鍒楄〃 + */ + @SaCheckPermission("qms:testResult:export") + @Log(title = "娴嬭瘯缁撴灉", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LbTestResultBo bo, HttpServletResponse response) { + List<LbTestResultVo> list = lbTestResultService.queryList(bo); + ExcelUtil.exportExcel(list, "娴嬭瘯缁撴灉", LbTestResultVo.class, response); + } + + /** + * 鑾峰彇娴嬭瘯缁撴灉璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("qms:testResult:query") + @GetMapping("/{id}") + public R<LbTestResultVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(lbTestResultService.queryById(id)); + } + + /** + * 鏂板娴嬭瘯缁撴灉 + */ + @SaCheckPermission("qms:testResult:add") + @Log(title = "娴嬭瘯缁撴灉", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody LbTestResultBo bo) { + return toAjax(lbTestResultService.insertByBo(bo)); + } + + /** + * 淇敼娴嬭瘯缁撴灉 + */ + @SaCheckPermission("qms:testResult:edit") + @Log(title = "娴嬭瘯缁撴灉", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody LbTestResultBo bo) { + return toAjax(lbTestResultService.updateByBo(bo)); + } + + /** + * 鍒犻櫎娴嬭瘯缁撴灉 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("qms:testResult:remove") + @Log(title = "娴嬭瘯缁撴灉", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(lbTestResultService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbBatch.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbBatch.java new file mode 100644 index 0000000..dbcb742 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbBatch.java @@ -0,0 +1,61 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 鎵规绠$悊瀵硅薄 lb_batch + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_batch") +public class LbBatch extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 鎵规鍙� + */ + private String batchCode; + + /** + * 浜у搧鍨嬪彿 + */ + private String prodModel; + + /** + * 鐢ㄦ埛缂栧彿 + */ + private Long userId; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鏁伴噺 + */ + private Long num; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbDevice.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbDevice.java new file mode 100644 index 0000000..bc1b7c1 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbDevice.java @@ -0,0 +1,61 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 娴嬭瘯浠璞� lb_device + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_device") +public class LbDevice extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 璁惧绫诲瀷 + */ + private String deviceType; + + /** + * 璁惧缂栧彿 + */ + private String deviceCode; + + /** + * 鎵�鍦ㄧ粍 + */ + private String deviceGroup; + + /** + * 鎵�鍦ㄩ儴闂� + */ + private String deviceDept; + + /** + * 鎵�鍦ㄥ伐浣� + */ + private String deviceStation; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbRetestResult.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbRetestResult.java new file mode 100644 index 0000000..3487fab --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbRetestResult.java @@ -0,0 +1,110 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 澶嶆祴璁板綍瀵硅薄 lb_retest_result + * + * @author Lion Li + * @date 2025-03-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_retest_result") +public class LbRetestResult extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + private Long id; + + /** + * 鎵规鍙� + */ + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + private String testItem; + + /** + * 澶嶆祴娆℃暟 + */ + private String retestNum; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + private String userName; + + /** + * 鐜娓╁害 + */ + private String temp; + + /** + * 瀹為檯鐢靛帇 + */ + private Long voltage; + + /** + * 瀹為檯鐢垫祦 + */ + private Long loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + private Long stdDistance; + + /** + * 鎰熷簲鐗� + */ + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + private Long testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + private String testResult; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensor.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensor.java new file mode 100644 index 0000000..0071a2d --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensor.java @@ -0,0 +1,106 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 浼犳劅鍣ㄥ璞� lb_sensor + * + * @author bsw + * @date 2024-12-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_sensor") +public class LbSensor extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "prod_id") + private Long prodId; + + /** + * 浜у搧鍨嬪彿 + */ + private String prodModel; + + /** + * 浜у搧鏉$爜 + */ + private String prodBarcode; + + /** + * 浜у搧澶х被 + */ + private String prodClass; + + /** + * 浜у搧灏忕被 + */ + private String prodSubclass; + + /** + * 渚涚數鐢垫簮锛圖C-鐩存祦;AC-浜ゆ祦锛� + */ + private String supply; + + /** + * 渚涚數鐢靛帇楂樺�� + */ + private Long supplyHigh; + + /** + * 渚涚數鐢靛帇涓�� + */ + private Long supplyMiddle; + + /** + * 渚涚數鐢靛帇浣庡�� + */ + private Long supplyLow; + + /** + * 璐熻浇鐢垫祦 + */ + private Long loadCurrent; + + /** + * 寮曠嚎鏁伴噺 + */ + private Long wire; + + /** + * 杈撳嚭淇″彿锛堝紑鍏抽噺锛涙ā鎷熼噺锛� + */ + private String outputSignal; + + /** + * 杈撳嚭绫诲瀷锛圢O; NC锛� NO+NC锛� + */ + private String outputType; + + /** + * 杈撳嚭鏋佹�э紙NPN; PNP锛� + */ + private String outputPolarity; + + /** + * 鎰熷簲璺濈 + */ + private Long distance; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorResult.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorResult.java new file mode 100644 index 0000000..1ce276d --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorResult.java @@ -0,0 +1,71 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 鎵规鏄庣粏瀵硅薄 lb_sensor_result + * + * @author bsw + * @date 2024-12-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_sensor_result") +public class LbSensorResult extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 鎵规鍙� + */ + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + + private String testNum; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + private String userName; + + /** + * 鍒ゅ畾缁撴灉 + */ + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + private Long totalCount; + + /** + * OK椤规暟 + */ + private Long okCount; + + /** + * NG椤规暟 + */ + private Long ngCount; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorRetest.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorRetest.java new file mode 100644 index 0000000..58c9d5f --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbSensorRetest.java @@ -0,0 +1,75 @@ +package cn.shlanbao.qms.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 澶嶆祴璁板綍瀵硅薄 lb_sensor_retest + * + * @author bsw + * @date 2025-03-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_sensor_retest") +public class LbSensorRetest extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 鎵规鍙� + */ + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + private String testNum; + + /** + * 澶嶆祴娆℃暟 + */ + private String retestNum; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + private String userName; + + /** + * 鍒ゅ畾缁撴灉 + */ + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + private Long totalCount; + + /** + * OK椤规暟 + */ + private Long okCount; + + /** + * NG椤规暟 + */ + private Long ngCount; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbTestResult.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbTestResult.java new file mode 100644 index 0000000..dd2b131 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/LbTestResult.java @@ -0,0 +1,93 @@ +package cn.shlanbao.qms.domain; + +import cn.shlanbao.qms.handle.CustomEncodingTypeHandler; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 娴嬭瘯缁撴灉瀵硅薄 lb_test_result + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lb_test_result") +public class LbTestResult extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 鎵规鍙� + */ + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + @TableField(typeHandler = CustomEncodingTypeHandler.class) + private String testItem; + + /** + * 瀹為檯鐢靛帇 + */ + private Double voltage; + + /** + * 瀹為檯鐢垫祦 + */ + private Double loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + private Double stdDistance; + + /** + * 鎰熷簲鐗� + */ + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + private Double testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + private String testResult; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbBatchBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbBatchBo.java new file mode 100644 index 0000000..ac3989c --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbBatchBo.java @@ -0,0 +1,65 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbBatch; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 鎵规绠$悊涓氬姟瀵硅薄 lb_batch + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbBatch.class, reverseConvertGenerate = false) +public class LbBatchBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) + private Long id; + + /** + * 鎵规鍙� + */ + @NotBlank(message = "鎵规鍙蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String batchCode; + + /** + * 浜у搧鍨嬪彿 + */ + @NotBlank(message = "浜у搧鍨嬪彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String prodModel; + + /** + * 鐢ㄦ埛缂栧彿 + */ + @NotNull(message = "鐢ㄦ埛缂栧彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long userId; + + /** + * 璁惧鍙� + */ + @NotNull(message = "璁惧鍙蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String deviceCode; + + /** + * 鏁伴噺 + */ + @NotNull(message = "鏁伴噺涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long num; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbDeviceBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbDeviceBo.java new file mode 100644 index 0000000..1cccdb5 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbDeviceBo.java @@ -0,0 +1,65 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbDevice; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 娴嬭瘯浠笟鍔″璞� lb_device + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbDevice.class, reverseConvertGenerate = false) +public class LbDeviceBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) + private Long id; + + /** + * 璁惧绫诲瀷 + */ + @NotBlank(message = "璁惧绫诲瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String deviceType; + + /** + * 璁惧缂栧彿 + */ + @NotBlank(message = "璁惧缂栧彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String deviceCode; + + /** + * 鎵�鍦ㄧ粍 + */ + @NotBlank(message = "鎵�鍦ㄧ粍涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String deviceGroup; + + /** + * 鎵�鍦ㄩ儴闂� + */ + @NotBlank(message = "鎵�鍦ㄩ儴闂ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String deviceDept; + + /** + * 鎵�鍦ㄥ伐浣� + */ + @NotBlank(message = "鎵�鍦ㄥ伐浣嶄笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String deviceStation; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbRetestResultBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbRetestResultBo.java new file mode 100644 index 0000000..17edcd7 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbRetestResultBo.java @@ -0,0 +1,114 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbRetestResult; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 澶嶆祴璁板綍涓氬姟瀵硅薄 lb_retest_result + * + * @author Lion Li + * @date 2025-03-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbRetestResult.class, reverseConvertGenerate = false) +public class LbRetestResultBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long id; + + /** + * 鎵规鍙� + */ + @NotBlank(message = "鎵规鍙蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @NotBlank(message = "娴嬭瘯搴忓彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + @NotBlank(message = "娴嬭瘯椤圭洰涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String testItem; + + /** + * 澶嶆祴娆℃暟 + */ + @NotBlank(message = "澶嶆祴娆℃暟涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String retestNum; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + private String userName; + + /** + * 鐜娓╁害 + */ + private String temp; + + /** + * 瀹為檯鐢靛帇 + */ + private Long voltage; + + /** + * 瀹為檯鐢垫祦 + */ + private Long loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + private Long stdDistance; + + /** + * 鎰熷簲鐗� + */ + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + private Long testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + private String testResult; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorBo.java new file mode 100644 index 0000000..8632513 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorBo.java @@ -0,0 +1,115 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbSensor; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 浼犳劅鍣ㄤ笟鍔″璞� lb_sensor + * + * @author bsw + * @date 2024-12-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbSensor.class, reverseConvertGenerate = false) +public class LbSensorBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) + private Long prodId; + + /** + * 浜у搧鍨嬪彿 + */ + @NotBlank(message = "浜у搧鍨嬪彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String prodModel; + + /** + * 浜у搧鏉$爜 + */ + @NotBlank(message = "浜у搧鏉$爜涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String prodBarcode; + + /** + * 浜у搧澶х被 + */ + @NotBlank(message = "浜у搧澶х被涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String prodClass; + + /** + * 浜у搧灏忕被 + */ + @NotBlank(message = "浜у搧灏忕被涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String prodSubclass; + + /** + * 渚涚數鐢垫簮锛圖C-鐩存祦;AC-浜ゆ祦锛� + */ + @NotBlank(message = "渚涚數鐢垫簮锛圖C-鐩存祦;AC-浜ゆ祦锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String supply; + + /** + * 渚涚數鐢靛帇楂樺�� + */ + private Long supplyHigh; + + /** + * 渚涚數鐢靛帇涓�� + */ + private Long supplyMiddle; + + /** + * 渚涚數鐢靛帇浣庡�� + */ + private Long supplyLow; + + /** + * 璐熻浇鐢垫祦 + */ + @NotNull(message = "璐熻浇鐢垫祦涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long loadCurrent; + + /** + * 寮曠嚎鏁伴噺 + */ + @NotNull(message = "寮曠嚎鏁伴噺涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long wire; + + /** + * 杈撳嚭淇″彿锛堝紑鍏抽噺锛涙ā鎷熼噺锛� + */ + @NotBlank(message = "杈撳嚭淇″彿锛堝紑鍏抽噺锛涙ā鎷熼噺锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String outputSignal; + + /** + * 杈撳嚭绫诲瀷锛圢O; NC锛� NO+NC锛� + */ + @NotBlank(message = "杈撳嚭绫诲瀷锛圢O; NC锛� NO+NC锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String outputType; + + /** + * 杈撳嚭鏋佹�э紙NPN; PNP锛� + */ + @NotBlank(message = "杈撳嚭鏋佹�э紙NPN; PNP锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String outputPolarity; + + /** + * 鎰熷簲璺濈 + */ + private Long distance; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorResultBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorResultBo.java new file mode 100644 index 0000000..c0100e9 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorResultBo.java @@ -0,0 +1,60 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbSensorResult; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 鎵规鏄庣粏涓氬姟瀵硅薄 lb_sensor_result + * + * @author bsw + * @date 2024-12-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbSensorResult.class, reverseConvertGenerate = false) +public class LbSensorResultBo extends BaseEntity { + + /** + * 鎵规鍙� + */ + @NotBlank(message = "鎵规鍙蜂笉鑳戒负绌�", groups = { EditGroup.class }) + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @NotBlank(message = "娴嬭瘯搴忓彿涓嶈兘涓虹┖", groups = { EditGroup.class }) + private String testNum; + + /** + * 鍒ゅ畾缁撴灉 + */ + @NotBlank(message = "鍒ゅ畾缁撴灉涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + @NotNull(message = "鎬绘祴璇曢」鏁颁笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private Long totalCount; + + /** + * OK椤规暟 + */ + @NotNull(message = "OK椤规暟涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long okCount; + + /** + * NG椤规暟 + */ + @NotNull(message = "NG椤规暟涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Long ngCount; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorRetestBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorRetestBo.java new file mode 100644 index 0000000..e7a8035 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbSensorRetestBo.java @@ -0,0 +1,77 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbSensorRetest; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 澶嶆祴璁板綍涓氬姟瀵硅薄 lb_sensor_retest + * + * @author bsw + * @date 2025-03-10 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbSensorRetest.class, reverseConvertGenerate = false) +public class LbSensorRetestBo extends BaseEntity { + + /** + * 鎵规鍙� + */ + @NotBlank(message = "鎵规鍙蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @NotBlank(message = "娴嬭瘯搴忓彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String testNum; + + /** + * 澶嶆祴娆℃暟 + */ + @NotBlank(message = "澶嶆祴娆℃暟涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String retestNum; + + /** + * 璁惧鍙� + */ + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + private String userName; + + /** + * 鍒ゅ畾缁撴灉 + */ + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + private Long totalCount; + + /** + * OK椤规暟 + */ + private Long okCount; + + /** + * NG椤规暟 + */ + private Long ngCount; + + /** + * 澶囨敞 + */ + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbTestResultBo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbTestResultBo.java new file mode 100644 index 0000000..ecf4ba3 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/bo/LbTestResultBo.java @@ -0,0 +1,105 @@ +package cn.shlanbao.qms.domain.bo; + +import cn.shlanbao.qms.domain.LbTestResult; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.util.Date; + +/** + * 娴嬭瘯缁撴灉涓氬姟瀵硅薄 lb_test_result + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LbTestResult.class, reverseConvertGenerate = false) +public class LbTestResultBo extends BaseEntity { + + /** + * + */ + @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class }) + private Long id; + + /** + * 鎵规鍙� + */ + @NotBlank(message = "鎵规鍙蜂笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @NotBlank(message = "娴嬭瘯搴忓彿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + @NotBlank(message = "娴嬭瘯椤圭洰涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private String testItem; + + /** + * 瀹為檯鐢靛帇 + */ + @NotNull(message = "瀹為檯鐢靛帇涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Double voltage; + + /** + * 瀹為檯鐢垫祦 + */ + @NotNull(message = "瀹為檯鐢垫祦涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Double loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + @NotNull(message = "鏍囧噯璺濈涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Double stdDistance; + + /** + * 鎰熷簲鐗� + */ + @NotBlank(message = "鎰熷簲鐗╀笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + @NotBlank(message = "杈撳嚭寮曡剼锛堥粦锛涚櫧锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + @NotNull(message = "娴嬭瘯鏁版嵁涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class }) + private Double testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + @NotBlank(message = "鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + @NotBlank(message = "娴嬭瘯缁撴灉锛圤K; NG锛変笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class }) + private String testResult; + + /** + * 澶囨敞 + */ + private String remark; + + private String prodModel; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbBatchVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbBatchVo.java new file mode 100644 index 0000000..dbfbfff --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbBatchVo.java @@ -0,0 +1,84 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbBatch; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 鎵规绠$悊瑙嗗浘瀵硅薄 lb_batch + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbBatch.class) +public class LbBatchVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 鎵规鍙� + */ + @ExcelProperty(value = "鎵规鍙�") + private String batchCode; + + /** + * 浜у搧鍨嬪彿 + */ + @ExcelProperty(value = "浜у搧鍨嬪彿") + private String prodModel; + + /** + * 鐢ㄦ埛缂栧彿 + */ + @ExcelProperty(value = "鐢ㄦ埛缂栧彿") + private Long userId; + + /** + * 璁惧鍙� + */ + @ExcelProperty(value = "璁惧鍙�") + private String deviceCode; + + /** + * 鏁伴噺 + */ + @ExcelProperty(value = "鏁伴噺") + private Long num; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + // 鑹搧鏁伴噺 + private Long okNum; + // 涓嶈壇鍝佹暟閲� + private Long ngNum; + + + /** + * 鍒涘缓鏃堕棿 + */ + private Date createTime; + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbDeviceVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbDeviceVo.java new file mode 100644 index 0000000..4b801ee --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbDeviceVo.java @@ -0,0 +1,75 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbDevice; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 娴嬭瘯浠鍥惧璞� lb_device + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbDevice.class) +public class LbDeviceVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 璁惧绫诲瀷 + */ + @ExcelProperty(value = "璁惧绫诲瀷", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "lb_device_type") + private String deviceType; + + /** + * 璁惧缂栧彿 + */ + @ExcelProperty(value = "璁惧缂栧彿") + private String deviceCode; + + /** + * 鎵�鍦ㄧ粍 + */ + @ExcelProperty(value = "鎵�鍦ㄧ粍") + private String deviceGroup; + + /** + * 鎵�鍦ㄩ儴闂� + */ + @ExcelProperty(value = "鎵�鍦ㄩ儴闂�") + private String deviceDept; + + /** + * 鎵�鍦ㄥ伐浣� + */ + @ExcelProperty(value = "鎵�鍦ㄥ伐浣�") + private String deviceStation; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbRetestResultVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbRetestResultVo.java new file mode 100644 index 0000000..eb54206 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbRetestResultVo.java @@ -0,0 +1,137 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbRetestResult; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 澶嶆祴璁板綍瑙嗗浘瀵硅薄 lb_retest_result + * + * @author Lion Li + * @date 2025-03-10 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbRetestResult.class) +public class LbRetestResultVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 鎵规鍙� + */ + @ExcelProperty(value = "鎵规鍙�") + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @ExcelProperty(value = "娴嬭瘯搴忓彿") + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + @ExcelProperty(value = "娴嬭瘯椤圭洰") + private String testItem; + + /** + * 澶嶆祴娆℃暟 + */ + @ExcelProperty(value = "澶嶆祴娆℃暟") + private String retestNum; + + /** + * 璁惧鍙� + */ + @ExcelProperty(value = "璁惧鍙�") + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + @ExcelProperty(value = "鐢ㄦ埛甯愬彿") + private String userName; + + /** + * 鐜娓╁害 + */ + @ExcelProperty(value = "鐜娓╁害") + private String temp; + + /** + * 瀹為檯鐢靛帇 + */ + @ExcelProperty(value = "瀹為檯鐢靛帇") + private Long voltage; + + /** + * 瀹為檯鐢垫祦 + */ + @ExcelProperty(value = "瀹為檯鐢垫祦") + private Long loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + @ExcelProperty(value = "鏍囧噯璺濈") + private Long stdDistance; + + /** + * 鎰熷簲鐗� + */ + @ExcelProperty(value = "鎰熷簲鐗�") + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + @ExcelProperty(value = "杈撳嚭寮曡剼", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "榛�=锛涚櫧") + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + @ExcelProperty(value = "娴嬭瘯鏁版嵁") + private Long testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + @ExcelProperty(value = "鍒ゆ柇鏉′欢", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "鏈�=灏忓��<=鐪熷疄鍊�<=鏈�澶у��") + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + @ExcelProperty(value = "娴嬭瘯缁撴灉", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "O=K;,N=G") + private String testResult; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorResultVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorResultVo.java new file mode 100644 index 0000000..4a1f227 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorResultVo.java @@ -0,0 +1,69 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbSensorResult; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 鎵规鏄庣粏瑙嗗浘瀵硅薄 lb_sensor_result + * + * @author bsw + * @date 2024-12-27 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbSensorResult.class) +public class LbSensorResultVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 鎵规鍙� + */ + @ExcelProperty(value = "鎵规鍙�") + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @ExcelProperty(value = "娴嬭瘯搴忓彿") + private String testNum; + + /** + * 鍒ゅ畾缁撴灉 + */ + @ExcelProperty(value = "鍒ゅ畾缁撴灉") + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + @ExcelProperty(value = "鎬绘祴璇曢」鏁�") + private Long totalCount; + + /** + * OK椤规暟 + */ + @ExcelProperty(value = "OK椤规暟") + private Long okCount; + + /** + * NG椤规暟 + */ + @ExcelProperty(value = "NG椤规暟") + private Long ngCount; + + private List<LbSensorRetestVo> children; + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorRetestVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorRetestVo.java new file mode 100644 index 0000000..ab76fce --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorRetestVo.java @@ -0,0 +1,92 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbSensorRetest; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 澶嶆祴璁板綍瑙嗗浘瀵硅薄 lb_sensor_retest + * + * @author bsw + * @date 2025-03-10 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbSensorRetest.class) +public class LbSensorRetestVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 鎵规鍙� + */ + @ExcelProperty(value = "鎵规鍙�") + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @ExcelProperty(value = "娴嬭瘯搴忓彿") + private String testNum; + + /** + * 澶嶆祴娆℃暟 + */ + @ExcelProperty(value = "澶嶆祴娆℃暟") + private String retestNum; + + /** + * 璁惧鍙� + */ + @ExcelProperty(value = "璁惧鍙�") + private String deviceCode; + + /** + * 鐢ㄦ埛甯愬彿 + */ + @ExcelProperty(value = "鐢ㄦ埛甯愬彿") + private String userName; + + /** + * 鍒ゅ畾缁撴灉 + */ + @ExcelProperty(value = "鍒ゅ畾缁撴灉") + private String judgeResult; + + /** + * 鎬绘祴璇曢」鏁� + */ + @ExcelProperty(value = "鎬绘祴璇曢」鏁�") + private Long totalCount; + + /** + * OK椤规暟 + */ + @ExcelProperty(value = "OK椤规暟") + private Long okCount; + + /** + * NG椤规暟 + */ + @ExcelProperty(value = "NG椤规暟") + private Long ngCount; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorVo.java new file mode 100644 index 0000000..82dfeef --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbSensorVo.java @@ -0,0 +1,137 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbSensor; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 浼犳劅鍣ㄨ鍥惧璞� lb_sensor + * + * @author bsw + * @date 2024-12-11 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbSensor.class) +public class LbSensorVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long prodId; + + /** + * 浜у搧鍨嬪彿 + */ + @ExcelProperty(value = "浜у搧鍨嬪彿") + private String prodModel; + + /** + * 浜у搧鏉$爜 + */ + @ExcelProperty(value = "浜у搧鏉$爜") + private String prodBarcode; + + /** + * 浜у搧澶х被 + */ + @ExcelProperty(value = "浜у搧澶х被") + private String prodClass; + + /** + * 浜у搧灏忕被 + */ + @ExcelProperty(value = "浜у搧灏忕被") + private String prodSubclass; + + /** + * 渚涚數鐢垫簮锛圖C-鐩存祦;AC-浜ゆ祦锛� + */ + @ExcelProperty(value = "渚涚數鐢垫簮", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "D=C-鐩存祦;AC-浜ゆ祦") + private String supply; + + /** + * 渚涚數鐢靛帇楂樺�� + */ + @ExcelProperty(value = "渚涚數鐢靛帇楂樺��") + private Long supplyHigh; + + /** + * 渚涚數鐢靛帇涓�� + */ + @ExcelProperty(value = "渚涚數鐢靛帇涓��") + private Long supplyMiddle; + + /** + * 渚涚數鐢靛帇浣庡�� + */ + @ExcelProperty(value = "渚涚數鐢靛帇浣庡��") + private Long supplyLow; + + /** + * 璐熻浇鐢垫祦 + */ + @ExcelProperty(value = "璐熻浇鐢垫祦") + private Long loadCurrent; + + /** + * 寮曠嚎鏁伴噺 + */ + @ExcelProperty(value = "寮曠嚎鏁伴噺") + private Long wire; + + /** + * 杈撳嚭淇″彿锛堝紑鍏抽噺锛涙ā鎷熼噺锛� + */ + @ExcelProperty(value = "杈撳嚭淇″彿", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "寮�=鍏抽噺锛涙ā鎷熼噺") + private String outputSignal; + + /** + * 杈撳嚭绫诲瀷锛圢O; NC锛� NO+NC锛� + */ + @ExcelProperty(value = "杈撳嚭绫诲瀷", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "N=O;,N=C锛�,N=O+NC") + private String outputType; + + /** + * 杈撳嚭鏋佹�э紙NPN; PNP锛� + */ + @ExcelProperty(value = "杈撳嚭鏋佹��", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "N=PN;,P=NP") + private String outputPolarity; + + /** + * 鎰熷簲璺濈 + */ + @ExcelProperty(value = "鎰熷簲璺濈") + private Long distance; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + /** + * 鍒涘缓鏃堕棿 + */ + private Date createTime; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbTestResultVo.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbTestResultVo.java new file mode 100644 index 0000000..3b0b357 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/domain/vo/LbTestResultVo.java @@ -0,0 +1,118 @@ +package cn.shlanbao.qms.domain.vo; + +import cn.shlanbao.qms.domain.LbTestResult; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 娴嬭瘯缁撴灉瑙嗗浘瀵硅薄 lb_test_result + * + * @author bsw + * @date 2024-12-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LbTestResult.class) +public class LbTestResultVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * + */ + @ExcelProperty(value = "") + private Long id; + + /** + * 鎵规鍙� + */ + @ExcelProperty(value = "鎵规鍙�") + private String batchCode; + + /** + * 娴嬭瘯搴忓彿 + */ + @ExcelProperty(value = "娴嬭瘯搴忓彿") + private String testNum; + + /** + * 娴嬭瘯椤圭洰 + */ + @ExcelProperty(value = "娴嬭瘯椤圭洰") + private String testItem; + + /** + * 瀹為檯鐢靛帇 + */ + @ExcelProperty(value = "瀹為檯鐢靛帇") + private Double voltage; + + /** + * 瀹為檯鐢垫祦 + */ + @ExcelProperty(value = "瀹為檯鐢垫祦") + private Double loadCurrent; + + /** + * 鏍囧噯璺濈 + */ + @ExcelProperty(value = "鏍囧噯璺濈") + private Double stdDistance; + + /** + * 鎰熷簲鐗� + */ + @ExcelProperty(value = "鎰熷簲鐗�") + private String inductor; + + /** + * 杈撳嚭寮曡剼锛堥粦锛涚櫧锛� + */ + @ExcelProperty(value = "杈撳嚭寮曡剼", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "榛�=锛涚櫧") + private String output; + + /** + * 娴嬭瘯鏁版嵁 + */ + @ExcelProperty(value = "娴嬭瘯鏁版嵁") + private Double testValue; + + /** + * 鍒ゆ柇鏉′欢锛堟渶灏忓��<=鐪熷疄鍊�<=鏈�澶у�� 锛� + */ + @ExcelProperty(value = "鍒ゆ柇鏉′欢", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "鏈�=灏忓��<=鐪熷疄鍊�<=鏈�澶у��") + private String judgeDetail; + + /** + * 娴嬭瘯缁撴灉锛圤K; NG锛� + */ + @ExcelProperty(value = "娴嬭瘯缁撴灉", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "O=K;,N=G") + private String testResult; + + /** + * 澶囨敞 + */ + @ExcelProperty(value = "澶囨敞") + private String remark; + + /** + * 鍒涘缓鏃堕棿 + */ + private Date createTime; + + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/handle/CustomEncodingTypeHandler.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/handle/CustomEncodingTypeHandler.java new file mode 100644 index 0000000..e2f62bf --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/handle/CustomEncodingTypeHandler.java @@ -0,0 +1,52 @@ +package cn.shlanbao.qms.handle; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import org.apache.ibatis.type.MappedTypes; +import org.apache.ibatis.type.TypeHandler; +@MappedJdbcTypes(JdbcType.VARCHAR) +@MappedTypes(String.class) +public class CustomEncodingTypeHandler implements TypeHandler<String> { + @Override + public void setParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException { + // 涓�鑸敤浜庢彃鍏ユ垨鏇存柊鎿嶄綔锛岃繖閲屽彲鑳戒笉闇�瑕佺壒娈婄紪鐮佽缃� + ps.setString(i, parameter); + } + @Override + public String getResult(ResultSet rs, String columnName) throws SQLException { + String value = rs.getString(columnName); + try { + // 鍋囪鏁版嵁鏄疓B2312缂栫爜锛屽皢鍏惰浆鎹负UTF - 8 + byte[] gb2312Bytes = value.getBytes("ISO-8859-1"); + return new String(gb2312Bytes, "GB2312"); + } catch (Exception e) { + return value; + } + } + @Override + public String getResult(ResultSet rs, int columnIndex) throws SQLException { + String value = rs.getString(columnIndex); + try { + // 鍋囪鏁版嵁鏄疓B2312缂栫爜锛屽皢鍏惰浆鎹负UTF - 8 + byte[] gb2312Bytes = value.getBytes("ISO-8859-1"); + return new String(gb2312Bytes, "GB2312"); + } catch (Exception e) { + return value; + } + } + @Override + public String getResult(CallableStatement cs, int columnIndex) throws SQLException { + String value = cs.getString(columnIndex); + try { + // 鍋囪鏁版嵁鏄疓B2312缂栫爜锛屽皢鍏惰浆鎹负UTF - 8 + byte[] gb2312Bytes = value.getBytes("ISO-8859-1"); + return new String(gb2312Bytes, "GB2312"); + } catch (Exception e) { + return value; + } + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbBatchMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbBatchMapper.java new file mode 100644 index 0000000..ee2a17f --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbBatchMapper.java @@ -0,0 +1,26 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbBatch; +import cn.shlanbao.qms.domain.vo.LbBatchVo; +import org.apache.ibatis.annotations.Select; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 鎵规绠$悊Mapper鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface LbBatchMapper extends BaseMapperPlus<LbBatch, LbBatchVo> { + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈変骇鍝佸瀷鍙� + * + * @return 浜у搧鍨嬪彿鍒楄〃 + */ + @Select("SELECT DISTINCT prod_model FROM lb_batch") + List<String> selectDistinctProductModels(); + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbDeviceMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbDeviceMapper.java new file mode 100644 index 0000000..4da98cc --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbDeviceMapper.java @@ -0,0 +1,15 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbDevice; +import cn.shlanbao.qms.domain.vo.LbDeviceVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 娴嬭瘯浠狹apper鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface LbDeviceMapper extends BaseMapperPlus<LbDevice, LbDeviceVo> { + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbRetestResultMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbRetestResultMapper.java new file mode 100644 index 0000000..47c646e --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbRetestResultMapper.java @@ -0,0 +1,15 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbRetestResult; +import cn.shlanbao.qms.domain.vo.LbRetestResultVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 澶嶆祴璁板綍Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2025-03-10 + */ +public interface LbRetestResultMapper extends BaseMapperPlus<LbRetestResult, LbRetestResultVo> { + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorMapper.java new file mode 100644 index 0000000..c05e59c --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorMapper.java @@ -0,0 +1,15 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbSensor; +import cn.shlanbao.qms.domain.vo.LbSensorVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 浼犳劅鍣∕apper鎺ュ彛 + * + * @author bsw + * @date 2024-12-11 + */ +public interface LbSensorMapper extends BaseMapperPlus<LbSensor, LbSensorVo> { + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorResultMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorResultMapper.java new file mode 100644 index 0000000..cbd6e76 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorResultMapper.java @@ -0,0 +1,15 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbSensorResult; +import cn.shlanbao.qms.domain.vo.LbSensorResultVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 鎵规鏄庣粏Mapper鎺ュ彛 + * + * @author bsw + * @date 2024-12-27 + */ +public interface LbSensorResultMapper extends BaseMapperPlus<LbSensorResult, LbSensorResultVo> { + +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorRetestMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorRetestMapper.java new file mode 100644 index 0000000..441a1ed --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbSensorRetestMapper.java @@ -0,0 +1,27 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbSensorRetest; +import cn.shlanbao.qms.domain.vo.LbSensorRetestVo; +import org.apache.ibatis.annotations.Select; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 澶嶆祴璁板綍Mapper鎺ュ彛 + * + * @author bsw + * @date 2025-03-10 + */ +public interface LbSensorRetestMapper extends BaseMapperPlus<LbSensorRetest, LbSensorRetestVo> { + + /** + * 鏍规嵁鎵规鍙峰拰娴嬭瘯鍙锋煡璇㈠娴嬭褰� + * + * @param batchCode 鎵规鍙� + * @param testNum 娴嬭瘯鍙� + * @return 澶嶆祴璁板綍鍒楄〃 + */ + @Select("select * from lb_sensor_retest where batch_code = #{batchCode} and test_num = #{testNum}") + List<LbSensorRetestVo> selectRetestByBatchCodeAndTestNum(String batchCode, String testNum); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbTestResultMapper.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbTestResultMapper.java new file mode 100644 index 0000000..99b62dd --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/mapper/LbTestResultMapper.java @@ -0,0 +1,36 @@ +package cn.shlanbao.qms.mapper; + +import cn.shlanbao.qms.domain.LbTestResult; +import cn.shlanbao.qms.domain.bo.LbTestResultBo; +import cn.shlanbao.qms.domain.vo.LbTestResultVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +import java.util.List; + +/** + * 娴嬭瘯缁撴灉Mapper鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface LbTestResultMapper extends BaseMapperPlus<LbTestResult, LbTestResultVo> { + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈夋祴璇曢」鐩� + * + * @return 娴嬭瘯椤圭洰鍒楄〃 + */ + @Select("SELECT DISTINCT test_item FROM lb_test_result") + List<String> selectDistinctTestItems(); + + /** + * 鏍规嵁浜у搧鍨嬪彿銆佹壒娆″彿銆佹娴嬮」鐩拰 createTime 鏃堕棿娈垫煡璇㈡祴璇曠粨鏋� + * + * @param bo 鏌ヨ鏉′欢 + * @return 娴嬭瘯缁撴灉鍒楄〃 + */ + List<LbTestResultVo> selectByProdModelAndConditions(@Param("ew")LbTestResultBo bo); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbBatchService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbBatchService.java new file mode 100644 index 0000000..c66ec01 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbBatchService.java @@ -0,0 +1,75 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbBatchVo; +import cn.shlanbao.qms.domain.bo.LbBatchBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 鎵规绠$悊Service鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface ILbBatchService { + + /** + * 鏌ヨ鎵规绠$悊 + * + * @param id 涓婚敭 + * @return 鎵规绠$悊 + */ + LbBatchVo queryById(Long id); + + /** + * 鍒嗛〉鏌ヨ鎵规绠$悊鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 鎵规绠$悊鍒嗛〉鍒楄〃 + */ + TableDataInfo<LbBatchVo> queryPageList(LbBatchBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬壒娆$鐞嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 鎵规绠$悊鍒楄〃 + */ + List<LbBatchVo> queryList(LbBatchBo bo); + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈変骇鍝佸瀷鍙� + * + * @return 浜у搧鍨嬪彿鍒楄〃 + */ + List<String> queryDistinctProductModels(); + + /** + * 鏂板鎵规绠$悊 + * + * @param bo 鎵规绠$悊 + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbBatchBo bo); + + /** + * 淇敼鎵规绠$悊 + * + * @param bo 鎵规绠$悊 + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbBatchBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ壒娆$鐞嗕俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbDeviceService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbDeviceService.java new file mode 100644 index 0000000..dc4c3b2 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbDeviceService.java @@ -0,0 +1,68 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbDeviceVo; +import cn.shlanbao.qms.domain.bo.LbDeviceBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 娴嬭瘯浠猄ervice鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface ILbDeviceService { + + /** + * 鏌ヨ娴嬭瘯浠� + * + * @param id 涓婚敭 + * @return 娴嬭瘯浠� + */ + LbDeviceVo queryById(Long id); + + /** + * 鍒嗛〉鏌ヨ娴嬭瘯浠垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 娴嬭瘯浠垎椤靛垪琛� + */ + TableDataInfo<LbDeviceVo> queryPageList(LbDeviceBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬祴璇曚华鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 娴嬭瘯浠垪琛� + */ + List<LbDeviceVo> queryList(LbDeviceBo bo); + + /** + * 鏂板娴嬭瘯浠� + * + * @param bo 娴嬭瘯浠� + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbDeviceBo bo); + + /** + * 淇敼娴嬭瘯浠� + * + * @param bo 娴嬭瘯浠� + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbDeviceBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ祴璇曚华淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbRetestResultService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbRetestResultService.java new file mode 100644 index 0000000..b796ee6 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbRetestResultService.java @@ -0,0 +1,68 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbRetestResultVo; +import cn.shlanbao.qms.domain.bo.LbRetestResultBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 澶嶆祴璁板綍Service鎺ュ彛 + * + * @author Lion Li + * @date 2025-03-10 + */ +public interface ILbRetestResultService { + + /** + * 鏌ヨ澶嶆祴璁板綍 + * + * @param batchCode 涓婚敭 + * @return 澶嶆祴璁板綍 + */ + LbRetestResultVo queryById(String batchCode); + + /** + * 鍒嗛〉鏌ヨ澶嶆祴璁板綍鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶嶆祴璁板綍鍒嗛〉鍒楄〃 + */ + TableDataInfo<LbRetestResultVo> queryPageList(LbRetestResultBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫娴嬭褰曞垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶嶆祴璁板綍鍒楄〃 + */ + List<LbRetestResultVo> queryList(LbRetestResultBo bo); + + /** + * 鏂板澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbRetestResultBo bo); + + /** + * 淇敼澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbRetestResultBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ娴嬭褰曚俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorResultService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorResultService.java new file mode 100644 index 0000000..00c624f --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorResultService.java @@ -0,0 +1,68 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbSensorResultVo; +import cn.shlanbao.qms.domain.bo.LbSensorResultBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 鎵规鏄庣粏Service鎺ュ彛 + * + * @author bsw + * @date 2024-12-27 + */ +public interface ILbSensorResultService { + + /** + * 鏌ヨ鎵规鏄庣粏 + * + * @param batchCode 涓婚敭 + * @return 鎵规鏄庣粏 + */ + LbSensorResultVo queryById(String batchCode); + + /** + * 鍒嗛〉鏌ヨ鎵规鏄庣粏鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 鎵规鏄庣粏鍒嗛〉鍒楄〃 + */ + TableDataInfo<LbSensorResultVo> queryPageList(LbSensorResultBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬壒娆℃槑缁嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 鎵规鏄庣粏鍒楄〃 + */ + List<LbSensorResultVo> queryList(LbSensorResultBo bo); + + /** + * 鏂板鎵规鏄庣粏 + * + * @param bo 鎵规鏄庣粏 + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbSensorResultBo bo); + + /** + * 淇敼鎵规鏄庣粏 + * + * @param bo 鎵规鏄庣粏 + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbSensorResultBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ壒娆℃槑缁嗕俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorRetestService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorRetestService.java new file mode 100644 index 0000000..f1dd3a3 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorRetestService.java @@ -0,0 +1,68 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbSensorRetestVo; +import cn.shlanbao.qms.domain.bo.LbSensorRetestBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 澶嶆祴璁板綍Service鎺ュ彛 + * + * @author bsw + * @date 2025-03-10 + */ +public interface ILbSensorRetestService { + + /** + * 鏌ヨ澶嶆祴璁板綍 + * + * @param batchCode 涓婚敭 + * @return 澶嶆祴璁板綍 + */ + LbSensorRetestVo queryById(String batchCode); + + /** + * 鍒嗛〉鏌ヨ澶嶆祴璁板綍鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶嶆祴璁板綍鍒嗛〉鍒楄〃 + */ + TableDataInfo<LbSensorRetestVo> queryPageList(LbSensorRetestBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫娴嬭褰曞垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶嶆祴璁板綍鍒楄〃 + */ + List<LbSensorRetestVo> queryList(LbSensorRetestBo bo); + + /** + * 鏂板澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbSensorRetestBo bo); + + /** + * 淇敼澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbSensorRetestBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ娴嬭褰曚俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorService.java new file mode 100644 index 0000000..2104451 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbSensorService.java @@ -0,0 +1,68 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbSensorVo; +import cn.shlanbao.qms.domain.bo.LbSensorBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 浼犳劅鍣⊿ervice鎺ュ彛 + * + * @author bsw + * @date 2024-12-11 + */ +public interface ILbSensorService { + + /** + * 鏌ヨ浼犳劅鍣� + * + * @param prodId 涓婚敭 + * @return 浼犳劅鍣� + */ + LbSensorVo queryById(Long prodId); + + /** + * 鍒嗛〉鏌ヨ浼犳劅鍣ㄥ垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 浼犳劅鍣ㄥ垎椤靛垪琛� + */ + TableDataInfo<LbSensorVo> queryPageList(LbSensorBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勪紶鎰熷櫒鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 浼犳劅鍣ㄥ垪琛� + */ + List<LbSensorVo> queryList(LbSensorBo bo); + + /** + * 鏂板浼犳劅鍣� + * + * @param bo 浼犳劅鍣� + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbSensorBo bo); + + /** + * 淇敼浼犳劅鍣� + * + * @param bo 浼犳劅鍣� + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbSensorBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄や紶鎰熷櫒淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbTestResultService.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbTestResultService.java new file mode 100644 index 0000000..506de5c --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/ILbTestResultService.java @@ -0,0 +1,76 @@ +package cn.shlanbao.qms.service; + +import cn.shlanbao.qms.domain.vo.LbTestResultVo; +import cn.shlanbao.qms.domain.bo.LbTestResultBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 娴嬭瘯缁撴灉Service鎺ュ彛 + * + * @author bsw + * @date 2024-12-12 + */ +public interface ILbTestResultService { + + /** + * 鏌ヨ娴嬭瘯缁撴灉 + * + * @param id 涓婚敭 + * @return 娴嬭瘯缁撴灉 + */ + LbTestResultVo queryById(Long id); + + /** + * 鍒嗛〉鏌ヨ娴嬭瘯缁撴灉鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 娴嬭瘯缁撴灉鍒嗛〉鍒楄〃 + */ + TableDataInfo<LbTestResultVo> queryPageList(LbTestResultBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬祴璇曠粨鏋滃垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 娴嬭瘯缁撴灉鍒楄〃 + */ + List<LbTestResultVo> queryList(LbTestResultBo bo); + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈夋祴璇曢」鐩� + * + * @return 娴嬭瘯椤圭洰鍒楄〃 + */ + List<String> queryDistinctTestItems(); + + /** + * 鏂板娴嬭瘯缁撴灉 + * + * @param bo 娴嬭瘯缁撴灉 + * @return 鏄惁鏂板鎴愬姛 + */ + Boolean insertByBo(LbTestResultBo bo); + + /** + * 淇敼娴嬭瘯缁撴灉 + * + * @param bo 娴嬭瘯缁撴灉 + * @return 鏄惁淇敼鎴愬姛 + */ + Boolean updateByBo(LbTestResultBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ祴璇曠粨鏋滀俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbBatchServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbBatchServiceImpl.java new file mode 100644 index 0000000..38ae238 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbBatchServiceImpl.java @@ -0,0 +1,144 @@ +package cn.shlanbao.qms.service.impl; + +import cn.shlanbao.qms.service.ILbTestResultService; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbBatchBo; +import cn.shlanbao.qms.domain.vo.LbBatchVo; +import cn.shlanbao.qms.domain.LbBatch; +import cn.shlanbao.qms.mapper.LbBatchMapper; +import cn.shlanbao.qms.service.ILbBatchService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 鎵规绠$悊Service涓氬姟灞傚鐞� + * + * @author bsw + * @date 2024-12-12 + */ +@RequiredArgsConstructor +@Service +public class LbBatchServiceImpl implements ILbBatchService { + + private final LbBatchMapper baseMapper; + + private final ILbTestResultService testResultService; + + /** + * 鏌ヨ鎵规绠$悊 + * + * @param id 涓婚敭 + * @return 鎵规绠$悊 + */ + @Override + public LbBatchVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鍒嗛〉鏌ヨ鎵规绠$悊鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 鎵规绠$悊鍒嗛〉鍒楄〃 + */ + @Override + public TableDataInfo<LbBatchVo> queryPageList(LbBatchBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbBatch> lqw = buildQueryWrapper(bo); + Page<LbBatchVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(item -> { + + }); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬壒娆$鐞嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 鎵规绠$悊鍒楄〃 + */ + @Override + public List<LbBatchVo> queryList(LbBatchBo bo) { + LambdaQueryWrapper<LbBatch> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<LbBatch> buildQueryWrapper(LbBatchBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbBatch> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), LbBatch::getBatchCode, bo.getBatchCode()); + lqw.eq(StringUtils.isNotBlank(bo.getProdModel()), LbBatch::getProdModel, bo.getProdModel()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceCode()), LbBatch::getDeviceCode, bo.getDeviceCode()); + lqw.eq(bo.getUserId() != null, LbBatch::getUserId, bo.getUserId()); + lqw.eq(bo.getNum() != null, LbBatch::getNum, bo.getNum()); + return lqw; + } + + /** + * 鏂板鎵规绠$悊 + * + * @param bo 鎵规绠$悊 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbBatchBo bo) { + LbBatch add = MapstructUtils.convert(bo, LbBatch.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼鎵规绠$悊 + * + * @param bo 鎵规绠$悊 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbBatchBo bo) { + LbBatch update = MapstructUtils.convert(bo, LbBatch.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbBatch entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ壒娆$鐞嗕俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public List<String> queryDistinctProductModels() { + return baseMapper.selectDistinctProductModels(); + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbDeviceServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbDeviceServiceImpl.java new file mode 100644 index 0000000..f74e21b --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbDeviceServiceImpl.java @@ -0,0 +1,133 @@ +package cn.shlanbao.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbDeviceBo; +import cn.shlanbao.qms.domain.vo.LbDeviceVo; +import cn.shlanbao.qms.domain.LbDevice; +import cn.shlanbao.qms.mapper.LbDeviceMapper; +import cn.shlanbao.qms.service.ILbDeviceService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 娴嬭瘯浠猄ervice涓氬姟灞傚鐞� + * + * @author bsw + * @date 2024-12-12 + */ +@RequiredArgsConstructor +@Service +public class LbDeviceServiceImpl implements ILbDeviceService { + + private final LbDeviceMapper baseMapper; + + /** + * 鏌ヨ娴嬭瘯浠� + * + * @param id 涓婚敭 + * @return 娴嬭瘯浠� + */ + @Override + public LbDeviceVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鍒嗛〉鏌ヨ娴嬭瘯浠垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 娴嬭瘯浠垎椤靛垪琛� + */ + @Override + public TableDataInfo<LbDeviceVo> queryPageList(LbDeviceBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbDevice> lqw = buildQueryWrapper(bo); + Page<LbDeviceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬祴璇曚华鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 娴嬭瘯浠垪琛� + */ + @Override + public List<LbDeviceVo> queryList(LbDeviceBo bo) { + LambdaQueryWrapper<LbDevice> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<LbDevice> buildQueryWrapper(LbDeviceBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbDevice> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceType()), LbDevice::getDeviceType, bo.getDeviceType()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceCode()), LbDevice::getDeviceCode, bo.getDeviceCode()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceGroup()), LbDevice::getDeviceGroup, bo.getDeviceGroup()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceDept()), LbDevice::getDeviceDept, bo.getDeviceDept()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceStation()), LbDevice::getDeviceStation, bo.getDeviceStation()); + return lqw; + } + + /** + * 鏂板娴嬭瘯浠� + * + * @param bo 娴嬭瘯浠� + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbDeviceBo bo) { + LbDevice add = MapstructUtils.convert(bo, LbDevice.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼娴嬭瘯浠� + * + * @param bo 娴嬭瘯浠� + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbDeviceBo bo) { + LbDevice update = MapstructUtils.convert(bo, LbDevice.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbDevice entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ祴璇曚华淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbRetestResultServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbRetestResultServiceImpl.java new file mode 100644 index 0000000..a1a1160 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbRetestResultServiceImpl.java @@ -0,0 +1,134 @@ +package cn.shlanbao.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbRetestResultBo; +import cn.shlanbao.qms.domain.vo.LbRetestResultVo; +import cn.shlanbao.qms.domain.LbRetestResult; +import cn.shlanbao.qms.mapper.LbRetestResultMapper; +import cn.shlanbao.qms.service.ILbRetestResultService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 澶嶆祴璁板綍Service涓氬姟灞傚鐞� + * + * @author Lion Li + * @date 2025-03-10 + */ +@RequiredArgsConstructor +@Service +public class LbRetestResultServiceImpl implements ILbRetestResultService { + + private final LbRetestResultMapper baseMapper; + + /** + * 鏌ヨ澶嶆祴璁板綍 + * + * @param batchCode 涓婚敭 + * @return 澶嶆祴璁板綍 + */ + @Override + public LbRetestResultVo queryById(String batchCode){ + return baseMapper.selectVoById(batchCode); + } + + /** + * 鍒嗛〉鏌ヨ澶嶆祴璁板綍鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶嶆祴璁板綍鍒嗛〉鍒楄〃 + */ + @Override + public TableDataInfo<LbRetestResultVo> queryPageList(LbRetestResultBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbRetestResult> lqw = buildQueryWrapper(bo); + Page<LbRetestResultVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫娴嬭褰曞垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶嶆祴璁板綍鍒楄〃 + */ + @Override + public List<LbRetestResultVo> queryList(LbRetestResultBo bo) { + LambdaQueryWrapper<LbRetestResult> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<LbRetestResult> buildQueryWrapper(LbRetestResultBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbRetestResult> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), LbRetestResult::getBatchCode, bo.getBatchCode()); + lqw.eq(StringUtils.isNotBlank(bo.getTestNum()), LbRetestResult::getTestNum, bo.getTestNum()); + lqw.eq(StringUtils.isNotBlank(bo.getTestItem()), LbRetestResult::getTestItem, bo.getTestItem()); + lqw.eq(StringUtils.isNotBlank(bo.getRetestNum()), LbRetestResult::getRetestNum, bo.getRetestNum()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceCode()), LbRetestResult::getDeviceCode, bo.getDeviceCode()); + lqw.like(StringUtils.isNotBlank(bo.getUserName()), LbRetestResult::getUserName, bo.getUserName()); + return lqw; + } + + /** + * 鏂板澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbRetestResultBo bo) { + LbRetestResult add = MapstructUtils.convert(bo, LbRetestResult.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setBatchCode(add.getBatchCode()); + } + return flag; + } + + /** + * 淇敼澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbRetestResultBo bo) { + LbRetestResult update = MapstructUtils.convert(bo, LbRetestResult.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbRetestResult entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ娴嬭褰曚俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorResultServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorResultServiceImpl.java new file mode 100644 index 0000000..9360dc7 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorResultServiceImpl.java @@ -0,0 +1,158 @@ +package cn.shlanbao.qms.service.impl; + +import cn.shlanbao.qms.domain.LbSensorRetest; +import cn.shlanbao.qms.domain.vo.LbRetestResultVo; +import cn.shlanbao.qms.domain.vo.LbSensorRetestVo; +import cn.shlanbao.qms.mapper.LbSensorRetestMapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbSensorResultBo; +import cn.shlanbao.qms.domain.vo.LbSensorResultVo; +import cn.shlanbao.qms.domain.LbSensorResult; +import cn.shlanbao.qms.mapper.LbSensorResultMapper; +import cn.shlanbao.qms.service.ILbSensorResultService; + +import java.util.*; + +/** + * 鎵规鏄庣粏Service涓氬姟灞傚鐞� + * + * @author bsw + * @date 2024-12-27 + */ +@RequiredArgsConstructor +@Service +public class LbSensorResultServiceImpl implements ILbSensorResultService { + + private final LbSensorResultMapper baseMapper; + + private final LbSensorRetestMapper retestBaseMapper; + + /** + * 鏌ヨ鎵规鏄庣粏 + * + * @param batchCode 涓婚敭 + * @return 鎵规鏄庣粏 + */ + @Override + public LbSensorResultVo queryById(String batchCode){ + return baseMapper.selectVoById(batchCode); + } + + @Override + public TableDataInfo<LbSensorResultVo> queryPageList(LbSensorResultBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbSensorResult> lqw = buildQueryWrapper(bo); + Page<LbSensorResultVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List<LbSensorResultVo> records = result.getRecords(); + + + queryReTest(records); + return TableDataInfo.build(result); + } + + private void queryReTest(List<LbSensorResultVo> records) { + records.forEach(record -> { + // 鍒涘缓瀛愬厓绱犲垪琛� + List<LbSensorResultVo> children = new ArrayList<>(); + List<LbSensorRetestVo> retestRecords = retestBaseMapper.selectRetestByBatchCodeAndTestNum(record.getBatchCode(), record.getTestNum()); + retestRecords.forEach(retestRecord -> { + retestRecord.setBatchCode(retestRecord.getBatchCode()+"-"+retestRecord.getRetestNum()); + //retestRecord.setTestNum(retestRecord.getRetestNum()); // 鐢╮etestNum浠f浛testNum + LbSensorResultVo vo = new LbSensorResultVo(); + // 灏唕etestRecord鐨勫睘鎬у�兼嫹璐濆埌LbSensorResultVo + BeanUtils.copyProperties(retestRecord, vo); + children.add(vo); + }); + record.setChildren(retestRecords); + }); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬壒娆℃槑缁嗗垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 鎵规鏄庣粏鍒楄〃 + */ + @Override + public List<LbSensorResultVo> queryList(LbSensorResultBo bo) { + LambdaQueryWrapper<LbSensorResult> lqw = buildQueryWrapper(bo); + List<LbSensorResultVo> records = baseMapper.selectVoList(lqw); + + // 鏌ヨ澶嶆祴鏁版嵁骞舵寕杞藉埌瀵瑰簲鐨勫師濮嬫暟鎹笅 + queryReTest(records); + return records; + } + + private LambdaQueryWrapper<LbSensorResult> buildQueryWrapper(LbSensorResultBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbSensorResult> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getJudgeResult()), LbSensorResult::getJudgeResult, bo.getJudgeResult()); + lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), LbSensorResult::getBatchCode, bo.getBatchCode()); + lqw.eq(StringUtils.isNotBlank(bo.getTestNum()), LbSensorResult::getTestNum, bo.getTestNum()); + lqw.eq(bo.getTotalCount() != null, LbSensorResult::getTotalCount, bo.getTotalCount()); + lqw.eq(bo.getOkCount() != null, LbSensorResult::getOkCount, bo.getOkCount()); + lqw.eq(bo.getNgCount() != null, LbSensorResult::getNgCount, bo.getNgCount()); + return lqw; + } + + /** + * 鏂板鎵规鏄庣粏 + * + * @param bo 鎵规鏄庣粏 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbSensorResultBo bo) { + LbSensorResult add = MapstructUtils.convert(bo, LbSensorResult.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setBatchCode(add.getBatchCode()); + } + return flag; + } + + /** + * 淇敼鎵规鏄庣粏 + * + * @param bo 鎵规鏄庣粏 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbSensorResultBo bo) { + LbSensorResult update = MapstructUtils.convert(bo, LbSensorResult.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbSensorResult entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ壒娆℃槑缁嗕俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorRetestServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorRetestServiceImpl.java new file mode 100644 index 0000000..3fa49ca --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorRetestServiceImpl.java @@ -0,0 +1,133 @@ +package cn.shlanbao.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbSensorRetestBo; +import cn.shlanbao.qms.domain.vo.LbSensorRetestVo; +import cn.shlanbao.qms.domain.LbSensorRetest; +import cn.shlanbao.qms.mapper.LbSensorRetestMapper; +import cn.shlanbao.qms.service.ILbSensorRetestService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 澶嶆祴璁板綍Service涓氬姟灞傚鐞� + * + * @author bsw + * @date 2025-03-10 + */ +@RequiredArgsConstructor +@Service +public class LbSensorRetestServiceImpl implements ILbSensorRetestService { + + private final LbSensorRetestMapper baseMapper; + + /** + * 鏌ヨ澶嶆祴璁板綍 + * + * @param batchCode 涓婚敭 + * @return 澶嶆祴璁板綍 + */ + @Override + public LbSensorRetestVo queryById(String batchCode){ + return baseMapper.selectVoById(batchCode); + } + + /** + * 鍒嗛〉鏌ヨ澶嶆祴璁板綍鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 澶嶆祴璁板綍鍒嗛〉鍒楄〃 + */ + @Override + public TableDataInfo<LbSensorRetestVo> queryPageList(LbSensorRetestBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbSensorRetest> lqw = buildQueryWrapper(bo); + Page<LbSensorRetestVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勫娴嬭褰曞垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 澶嶆祴璁板綍鍒楄〃 + */ + @Override + public List<LbSensorRetestVo> queryList(LbSensorRetestBo bo) { + LambdaQueryWrapper<LbSensorRetest> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<LbSensorRetest> buildQueryWrapper(LbSensorRetestBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbSensorRetest> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), LbSensorRetest::getBatchCode, bo.getBatchCode()); + lqw.eq(StringUtils.isNotBlank(bo.getTestNum()), LbSensorRetest::getTestNum, bo.getTestNum()); + lqw.eq(StringUtils.isNotBlank(bo.getRetestNum()), LbSensorRetest::getRetestNum, bo.getRetestNum()); + lqw.eq(StringUtils.isNotBlank(bo.getDeviceCode()), LbSensorRetest::getDeviceCode, bo.getDeviceCode()); + lqw.like(StringUtils.isNotBlank(bo.getUserName()), LbSensorRetest::getUserName, bo.getUserName()); + return lqw; + } + + /** + * 鏂板澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbSensorRetestBo bo) { + LbSensorRetest add = MapstructUtils.convert(bo, LbSensorRetest.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setBatchCode(add.getBatchCode()); + } + return flag; + } + + /** + * 淇敼澶嶆祴璁板綍 + * + * @param bo 澶嶆祴璁板綍 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbSensorRetestBo bo) { + LbSensorRetest update = MapstructUtils.convert(bo, LbSensorRetest.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbSensorRetest entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ娴嬭褰曚俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorServiceImpl.java new file mode 100644 index 0000000..feae035 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbSensorServiceImpl.java @@ -0,0 +1,129 @@ +package cn.shlanbao.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbSensorBo; +import cn.shlanbao.qms.domain.vo.LbSensorVo; +import cn.shlanbao.qms.domain.LbSensor; +import cn.shlanbao.qms.mapper.LbSensorMapper; +import cn.shlanbao.qms.service.ILbSensorService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 浼犳劅鍣⊿ervice涓氬姟灞傚鐞� + * + * @author bsw + * @date 2024-12-11 + */ +@RequiredArgsConstructor +@Service +public class LbSensorServiceImpl implements ILbSensorService { + + private final LbSensorMapper baseMapper; + + /** + * 鏌ヨ浼犳劅鍣� + * + * @param prodId 涓婚敭 + * @return 浼犳劅鍣� + */ + @Override + public LbSensorVo queryById(Long prodId){ + return baseMapper.selectVoById(prodId); + } + + /** + * 鍒嗛〉鏌ヨ浼犳劅鍣ㄥ垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 浼犳劅鍣ㄥ垎椤靛垪琛� + */ + @Override + public TableDataInfo<LbSensorVo> queryPageList(LbSensorBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbSensor> lqw = buildQueryWrapper(bo); + Page<LbSensorVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勪紶鎰熷櫒鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @return 浼犳劅鍣ㄥ垪琛� + */ + @Override + public List<LbSensorVo> queryList(LbSensorBo bo) { + LambdaQueryWrapper<LbSensor> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper<LbSensor> buildQueryWrapper(LbSensorBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbSensor> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getProdModel()), LbSensor::getProdModel, bo.getProdModel()); + return lqw; + } + + /** + * 鏂板浼犳劅鍣� + * + * @param bo 浼犳劅鍣� + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbSensorBo bo) { + LbSensor add = MapstructUtils.convert(bo, LbSensor.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setProdId(add.getProdId()); + } + return flag; + } + + /** + * 淇敼浼犳劅鍣� + * + * @param bo 浼犳劅鍣� + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbSensorBo bo) { + LbSensor update = MapstructUtils.convert(bo, LbSensor.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbSensor entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄や紶鎰熷櫒淇℃伅 + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbTestResultServiceImpl.java b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbTestResultServiceImpl.java new file mode 100644 index 0000000..d4472b5 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/java/cn/shlanbao/qms/service/impl/LbTestResultServiceImpl.java @@ -0,0 +1,177 @@ +package cn.shlanbao.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import cn.shlanbao.qms.domain.bo.LbTestResultBo; +import cn.shlanbao.qms.domain.vo.LbTestResultVo; +import cn.shlanbao.qms.domain.LbTestResult; +import cn.shlanbao.qms.mapper.LbTestResultMapper; +import cn.shlanbao.qms.service.ILbTestResultService; + +import java.util.*; + +/** + * 娴嬭瘯缁撴灉Service涓氬姟灞傚鐞� + * + * @author bsw + * @date 2024-12-12 + */ +@RequiredArgsConstructor +@Service +public class LbTestResultServiceImpl implements ILbTestResultService { + + private final LbTestResultMapper baseMapper; + + /** + * 鏌ヨ娴嬭瘯缁撴灉 + * + * @param id 涓婚敭 + * @return 娴嬭瘯缁撴灉 + */ + @Override + public LbTestResultVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鍒嗛〉鏌ヨ娴嬭瘯缁撴灉鍒楄〃 + * + * @param bo 鏌ヨ鏉′欢 + * @param pageQuery 鍒嗛〉鍙傛暟 + * @return 娴嬭瘯缁撴灉鍒嗛〉鍒楄〃 + */ + @Override + public TableDataInfo<LbTestResultVo> queryPageList(LbTestResultBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<LbTestResult> lqw = buildQueryWrapper(bo); + Page<LbTestResultVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + result.getRecords().forEach(row -> { + // 灏� GB2312 缂栫爜杞崲鎴怳TF-8 + +// try { +// // String utf8 = new String(row.getJudgeDetail().getBytes(), "UTF-8"); +// byte[] gb2312s = row.getTestItem().getBytes("ISO-8859-1"); +// String gb2312 = new String(gb2312s, "gb2312"); +// row.setTestItem(gb2312); +// row.setJudgeDetail(new String(row.getJudgeDetail().getBytes("ISO-8859-1"),"GB2312")); +// } catch (UnsupportedEncodingException e) { +// throw new RuntimeException(e); +// } + }); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ绗﹀悎鏉′欢鐨勬祴璇曠粨鏋滃垪琛� + * + * @param bo 鏌ヨ鏉′欢 + * @return 娴嬭瘯缁撴灉鍒楄〃 + */ + @Override + public List<LbTestResultVo> queryList(LbTestResultBo bo) { + if (StringUtils.isNotBlank(bo.getProdModel())) { + return baseMapper.selectByProdModelAndConditions(bo); + } else { + LambdaQueryWrapper<LbTestResult> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + } + + /** + * 鏌ヨ鍒嗙粍鍘婚噸鍚庣殑鎵�鏈夋祴璇曢」鐩� + * + * @return 娴嬭瘯椤圭洰鍒楄〃 + */ + @Override + public List<String> queryDistinctTestItems() { + return baseMapper.selectDistinctTestItems(); + } + + private LambdaQueryWrapper<LbTestResult> buildQueryWrapper(LbTestResultBo bo) { + Map<String, Object> params = bo.getParams(); + LambdaQueryWrapper<LbTestResult> lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getBatchCode()), LbTestResult::getBatchCode, bo.getBatchCode()); + lqw.eq(StringUtils.isNotBlank(bo.getTestNum()), LbTestResult::getTestNum, bo.getTestNum()); + + // 淇敼锛氬鐞� testItem 鍙兘鏄�楀彿鍒嗛殧鐨勫瓧绗︿覆 + if (StringUtils.isNotBlank(bo.getTestItem())) { + if (bo.getTestItem().contains(",")) { + lqw.in(LbTestResult::getTestItem, Arrays.asList(bo.getTestItem().split(","))); + } else { + lqw.eq(LbTestResult::getTestItem, bo.getTestItem()); + } + } + + lqw.eq(bo.getVoltage() != null, LbTestResult::getVoltage, bo.getVoltage()); + lqw.eq(bo.getLoadCurrent() != null, LbTestResult::getLoadCurrent, bo.getLoadCurrent()); + lqw.eq(bo.getStdDistance() != null, LbTestResult::getStdDistance, bo.getStdDistance()); + lqw.eq(StringUtils.isNotBlank(bo.getInductor()), LbTestResult::getInductor, bo.getInductor()); + lqw.eq(StringUtils.isNotBlank(bo.getOutput()), LbTestResult::getOutput, bo.getOutput()); + lqw.eq(bo.getTestValue() != null, LbTestResult::getTestValue, bo.getTestValue()); + lqw.eq(StringUtils.isNotBlank(bo.getJudgeDetail()), LbTestResult::getJudgeDetail, bo.getJudgeDetail()); + lqw.eq(StringUtils.isNotBlank(bo.getTestResult()), LbTestResult::getTestResult, bo.getTestResult()); + lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, + LbTestResult::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")); + lqw.orderByAsc(LbTestResult::getCreateTime); + return lqw; + } + + /** + * 鏂板娴嬭瘯缁撴灉 + * + * @param bo 娴嬭瘯缁撴灉 + * @return 鏄惁鏂板鎴愬姛 + */ + @Override + public Boolean insertByBo(LbTestResultBo bo) { + LbTestResult add = MapstructUtils.convert(bo, LbTestResult.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 淇敼娴嬭瘯缁撴灉 + * + * @param bo 娴嬭瘯缁撴灉 + * @return 鏄惁淇敼鎴愬姛 + */ + @Override + public Boolean updateByBo(LbTestResultBo bo) { + LbTestResult update = MapstructUtils.convert(bo, LbTestResult.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 + */ + private void validEntityBeforeSave(LbTestResult entity){ + //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 + } + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゆ祴璇曠粨鏋滀俊鎭� + * + * @param ids 寰呭垹闄ょ殑涓婚敭闆嗗悎 + * @param isValid 鏄惁杩涜鏈夋晥鎬ф牎楠� + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteByIds(ids) > 0; + } + +} diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbBatchMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbBatchMapper.xml new file mode 100644 index 0000000..18926fb --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbBatchMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbBatchMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbDeviceMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbDeviceMapper.xml new file mode 100644 index 0000000..d6fecdc --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbDeviceMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbDeviceMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbRetestResultMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbRetestResultMapper.xml new file mode 100644 index 0000000..ef41a08 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbRetestResultMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbRetestResultMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorMapper.xml new file mode 100644 index 0000000..c3ee133 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbSensorMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorResultMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorResultMapper.xml new file mode 100644 index 0000000..9d79479 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorResultMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbSensorResultMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorRetestMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorRetestMapper.xml new file mode 100644 index 0000000..07e6eae --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbSensorRetestMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbSensorRetestMapper"> + +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbTestResultMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbTestResultMapper.xml new file mode 100644 index 0000000..b712e66 --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/qms/LbTestResultMapper.xml @@ -0,0 +1,37 @@ +<?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="cn.shlanbao.qms.mapper.LbTestResultMapper"> + <!-- 鏍规嵁浜у搧鍨嬪彿銆佹壒娆″彿銆佹娴嬮」鐩拰 createTime 鏃堕棿娈垫煡璇㈡祴璇曠粨鏋� --> + <select id="selectByProdModelAndConditions" resultType="cn.shlanbao.qms.domain.vo.LbTestResultVo"> + SELECT tr.* + FROM lb_test_result tr + JOIN lb_batch b ON tr.batch_code = b.batch_code + <where> + <if test="ew.prodModel != null and ew.prodModel != ''"> + AND b.prod_model = #{ew.prodModel} + </if> + <if test="ew.batchCode != null and ew.batchCode != ''"> + AND tr.batch_code LIKE CONCAT('%', #{ew.batchCode}, '%') + </if> + <if test="ew.testItem != null and ew.testItem != ''"> + <choose> + <when test="ew.testItem.contains(','.toString())"> + AND tr.test_item IN + <foreach collection="ew.testItem.split(',')" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </when> + <otherwise> + AND tr.test_item = #{ew.testItem} + </otherwise> + </choose> + </if> + <if test="ew.params.beginCreateTime != null and ew.params.endCreateTime != null"> + AND tr.create_time BETWEEN #{ew.params.beginCreateTime} AND #{ew.params.endCreateTime} + </if> + </where> + ORDER BY tr.create_time ASC + </select> +</mapper> diff --git a/ruoyi-modules/lb-qms/src/main/resources/mapper/system/LbDeviceMapper.xml b/ruoyi-modules/lb-qms/src/main/resources/mapper/system/LbDeviceMapper.xml new file mode 100644 index 0000000..d6fecdc --- /dev/null +++ b/ruoyi-modules/lb-qms/src/main/resources/mapper/system/LbDeviceMapper.xml @@ -0,0 +1,7 @@ +<?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="cn.shlanbao.qms.mapper.LbDeviceMapper"> + +</mapper> diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index daff497..3a1bed9 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -15,6 +15,7 @@ <module>ruoyi-job</module> <module>ruoyi-system</module> <module>ruoyi-workflow</module> + <module>lb-qms</module> </modules> <artifactId>ruoyi-modules</artifactId> -- Gitblit v1.9.3