RuoYi-Vue-Plus/ruoyi-admin/pom.xml
@@ -25,15 +25,15 @@ <!-- <!– mpæ¯æçæ°æ®åºåæ¯æ åªéè¦å¢å 对åºçjdbcä¾èµå³å¯ –>--> <!-- <!– Oracle –>--> <!-- <dependency>--> <!-- <groupId>com.oracle.database.jdbc</groupId>--> <!-- <artifactId>ojdbc8</artifactId>--> <!-- </dependency>--> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> </dependency> <!-- <!– å ¼å®¹oracleä½çæ¬ –>--> <!-- <dependency>--> <!-- <groupId>com.oracle.database.nls</groupId>--> <!-- <artifactId>orai18n</artifactId>--> <!-- </dependency>--> <dependency> <groupId>com.oracle.database.nls</groupId> <artifactId>orai18n</artifactId> </dependency> <!-- PostgreSql --> <dependency> <groupId>org.postgresql</groupId> RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application-dev.yml
@@ -64,12 +64,12 @@ # 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 # username: # password: # oracle: # type: ${spring.datasource.type} # driverClassName: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@//localhost:1521/XE # username: ROOT # password: root oracle: type: ${spring.datasource.type} driverClassName: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@192.168.2.26:1521:orcl username: gfsc password: lbit # postgres: # type: ${spring.datasource.type} # driverClassName: org.postgresql.Driver RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/pom.xml
@@ -66,11 +66,11 @@ </dependency> <!-- anylineæ¯æ100+ç§ç±»åæ°æ®åº æ·»å 对åºçjdbcä¾èµä¸anylineå¯¹åºæ°æ®åºä¾èµå å³å¯ --> <!-- <dependency>--> <!-- <groupId>org.anyline</groupId>--> <!-- <artifactId>anyline-data-jdbc-oracle</artifactId>--> <!-- <version>${anyline.version}</version>--> <!-- </dependency>--> <dependency> <groupId>org.anyline</groupId> <artifactId>anyline-data-jdbc-oracle</artifactId> <version>${anyline.version}</version> </dependency> <dependency> <groupId>org.anyline</groupId> RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/controller/FeedmatchTimeDataController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,106 @@ package org.dromara.analy.controller; import java.util.Date; 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 org.dromara.analy.domain.vo.FeedmatchTimeDataVo; import org.dromara.analy.domain.bo.FeedmatchTimeDataBo; import org.dromara.analy.service.IFeedmatchTimeDataService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** * å䏿ºå¯¹åºå ³ç³» * * @author zhuguifei * @date 2026-03-02 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/analy/feedMatch") public class FeedmatchTimeDataController extends BaseController { private final IFeedmatchTimeDataService feedmatchTimeDataService; /** * æ¥è¯¢å䏿ºå¯¹åºå ³ç³»å表 */ @SaCheckPermission("analy:feedMatch:list") @GetMapping("/list") public TableDataInfo<FeedmatchTimeDataVo> list(FeedmatchTimeDataBo bo, PageQuery pageQuery) { return feedmatchTimeDataService.queryPageList(bo, pageQuery); } /** * 导åºå䏿ºå¯¹åºå ³ç³»å表 */ @SaCheckPermission("analy:feedMatch:export") @Log(title = "å䏿ºå¯¹åºå ³ç³»", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(FeedmatchTimeDataBo bo, HttpServletResponse response) { List<FeedmatchTimeDataVo> list = feedmatchTimeDataService.queryList(bo); ExcelUtil.exportExcel(list, "å䏿ºå¯¹åºå ³ç³»", FeedmatchTimeDataVo.class, response); } /** * è·åå䏿ºå¯¹åºå ³ç³»è¯¦ç»ä¿¡æ¯ * * @param time ä¸»é® */ @SaCheckPermission("analy:feedMatch:query") @GetMapping("/{time}") public R<FeedmatchTimeDataVo> getInfo(@NotNull(message = "主é®ä¸è½ä¸ºç©º") @PathVariable Date time) { return R.ok(feedmatchTimeDataService.queryById(time)); } /** * æ°å¢å䏿ºå¯¹åºå ³ç³» */ @SaCheckPermission("analy:feedMatch:add") @Log(title = "å䏿ºå¯¹åºå ³ç³»", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R<Void> add(@Validated(AddGroup.class) @RequestBody FeedmatchTimeDataBo bo) { return toAjax(feedmatchTimeDataService.insertByBo(bo)); } /** * ä¿®æ¹å䏿ºå¯¹åºå ³ç³» */ @SaCheckPermission("analy:feedMatch:edit") @Log(title = "å䏿ºå¯¹åºå ³ç³»", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R<Void> edit(@Validated(EditGroup.class) @RequestBody FeedmatchTimeDataBo bo) { return toAjax(feedmatchTimeDataService.updateByBo(bo)); } /** * å é¤å䏿ºå¯¹åºå ³ç³» * * @param times 主é®ä¸² */ @SaCheckPermission("analy:feedMatch:remove") @Log(title = "å䏿ºå¯¹åºå ³ç³»", businessType = BusinessType.DELETE) @DeleteMapping("/{times}") public R<Void> remove(@NotEmpty(message = "主é®ä¸è½ä¸ºç©º") @PathVariable Date[] times) { return toAjax(feedmatchTimeDataService.deleteWithValidByIds(List.of(times), true)); } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/controller/StoreSilkInfoController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,106 @@ package org.dromara.analy.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 org.dromara.analy.domain.vo.StoreSilkInfoVo; import org.dromara.analy.domain.bo.StoreSilkInfoBo; import org.dromara.analy.service.IStoreSilkInfoService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** * å¨ä¸æäº§é * * @author zhuguifei * @date 2026-03-02 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/analy/storeSilk") public class StoreSilkInfoController extends BaseController { private final IStoreSilkInfoService storeSilkInfoService; /** * æ¥è¯¢å¨ä¸æäº§éå表 */ @SaCheckPermission("analy:storeSilk:list") @GetMapping("/list") public TableDataInfo<StoreSilkInfoVo> list(StoreSilkInfoBo bo, PageQuery pageQuery) { return storeSilkInfoService.queryPageList(bo, pageQuery); } /** * 导åºå¨ä¸æäº§éå表 */ @SaCheckPermission("analy:storeSilk:export") @Log(title = "å¨ä¸æäº§é", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(StoreSilkInfoBo bo, HttpServletResponse response) { List<StoreSilkInfoVo> list = storeSilkInfoService.queryList(bo); ExcelUtil.exportExcel(list, "å¨ä¸æäº§é", StoreSilkInfoVo.class, response); } /** * è·åå¨ä¸æäº§é详ç»ä¿¡æ¯ * * @param id ä¸»é® */ @SaCheckPermission("analy:storeSilk:query") @GetMapping("/{id}") public R<StoreSilkInfoVo> getInfo(@NotNull(message = "主é®ä¸è½ä¸ºç©º") @PathVariable Long id) { return R.ok(storeSilkInfoService.queryById(id)); } /** * æ°å¢å¨ä¸æäº§é */ @SaCheckPermission("analy:storeSilk:add") @Log(title = "å¨ä¸æäº§é", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R<Void> add(@Validated(AddGroup.class) @RequestBody StoreSilkInfoBo bo) { return toAjax(storeSilkInfoService.insertByBo(bo)); } /** * ä¿®æ¹å¨ä¸æäº§é */ @SaCheckPermission("analy:storeSilk:edit") @Log(title = "å¨ä¸æäº§é", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R<Void> edit(@Validated(EditGroup.class) @RequestBody StoreSilkInfoBo bo) { return toAjax(storeSilkInfoService.updateByBo(bo)); } /** * å é¤å¨ä¸æäº§é * * @param ids 主é®ä¸² */ @SaCheckPermission("analy:storeSilk:remove") @Log(title = "å¨ä¸æäº§é", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R<Void> remove(@NotEmpty(message = "主é®ä¸è½ä¸ºç©º") @PathVariable Long[] ids) { return toAjax(storeSilkInfoService.deleteWithValidByIds(List.of(ids), true)); } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/FeedmatchTimeData.javaold mode 100755 new mode 100644
@@ -5,13 +5,15 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; /** * å䏿ºåæå¯¹è±¡ feedmatch_time_data * å䏿ºå¯¹åºå ³ç³»å¯¹è±¡ feedmatch_time_data * * @author zhuguifei * @date 2026-01-29 * @date 2026-03-02 */ @Data @EqualsAndHashCode(callSuper = true) @@ -22,24 +24,14 @@ private static final long serialVersionUID = 1L; /** * æ¶é´ * æ¶é´æ³ */ private Date time; /** * Key * çæ¬¡+æºå° */ private String key; /** * çæ¬¡ (1使°å) */ private Integer shift; /** * 设å¤å· (3使°å) */ private Integer equNo; /** * æ°æ®æ´æ°æ¶é´ @@ -49,106 +41,122 @@ /** * 1#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private Integer fs11; private String fs11; /** * 1#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private Integer fs12; private String fs12; /** * 2#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private Integer fs21; private String fs21; /** * 2#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private Integer fs22; private String fs22; /** * 3#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private Integer fs31; private String fs31; /** * 3#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private Integer fs32; private String fs32; /** * 4#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private Integer fs41; private String fs41; /** * 4#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private Integer fs42; private String fs42; /** * 1#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe01; private Long pipe01; /** * 2#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe02; private Long pipe02; /** * 3#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe03; private Long pipe03; /** * 4#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe04; private Long pipe04; /** * 5#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe05; private Long pipe05; /** * 6#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe06; private Long pipe06; /** * 7#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe07; private Long pipe07; /** * 8#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe08; private Long pipe08; /** * 9#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe09; private Long pipe09; /** * 10#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe10; private Long pipe10; /** * 11#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe11; private Long pipe11; /** * 12#æºç»å¯¹åºçå䏿ºå管é */ private Integer pipe12; private Long pipe12; /** * å䏿ºç¶æ 1-è¿æ¥ 0-æå¼ */ private Integer wsjState; private Long wsjState; /** * çæ¬¡ */ private Long shift; /** * æºå° */ private Long equNo; /** * 夿³¨ */ private String remark; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/StoreSilkInfo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,82 @@ package org.dromara.analy.domain; import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; /** * å¨ä¸æäº§é对象 oracle_store_silk * * @author zhuguifei * @date 2026-03-02 */ @Data @TableName("oracle_store_silk") public class StoreSilkInfo { @Serial private static final long serialVersionUID = 1L; /** * id */ @TableId(value = "id") private Long id; /** * çå· */ private String materialname; /** * æ¹æ¬¡å· */ private String batchcode; /** * æææ¥æ */ private Date actualstarttime; /** * ææéé */ private Long jobinput; /** * æèéé */ private Long weightloss; /** * åºå¶ä¸ç */ private Long slkrate; /** * å¨ä¸æéé */ private Long weight; /** * å¨ä¸æåºæå¼å§æ¶é´ */ private Date distimebegin; /** * å¨ä¸æåºæç»ææ¶é´ */ private Date distimeend; /** * æåå·(æ«ä½) */ private String siloid; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/bo/FeedmatchTimeDataBo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,163 @@ package org.dromara.analy.domain.bo; import org.dromara.analy.domain.FeedmatchTimeData; 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; import com.fasterxml.jackson.annotation.JsonFormat; /** * å䏿ºå¯¹åºå ³ç³»ä¸å¡å¯¹è±¡ feedmatch_time_data * * @author zhuguifei * @date 2026-03-02 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = FeedmatchTimeData.class, reverseConvertGenerate = false) public class FeedmatchTimeDataBo extends BaseEntity { /** * æ¶é´æ³ */ @NotNull(message = "æ¶é´æ³ä¸è½ä¸ºç©º", groups = { AddGroup.class, EditGroup.class }) private Date time; /** * çæ¬¡+æºå° */ @NotBlank(message = "çæ¬¡+æºå°ä¸è½ä¸ºç©º", groups = { AddGroup.class, EditGroup.class }) private String key; /** * æ°æ®æ´æ°æ¶é´ */ private String dacUpTime; /** * 1#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private String fs11; /** * 1#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private String fs12; /** * 2#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private String fs21; /** * 2#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private String fs22; /** * 3#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private String fs31; /** * 3#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private String fs32; /** * 4#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ private String fs41; /** * 4#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ private String fs42; /** * 1#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe01; /** * 2#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe02; /** * 3#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe03; /** * 4#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe04; /** * 5#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe05; /** * 6#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe06; /** * 7#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe07; /** * 8#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe08; /** * 9#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe09; /** * 10#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe10; /** * 11#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe11; /** * 12#æºç»å¯¹åºçå䏿ºå管é */ private Long pipe12; /** * å䏿ºç¶æ 1-è¿æ¥ 0-æå¼ */ private Long wsjState; /** * çæ¬¡ */ private Long shift; /** * æºå° */ private Long equNo; /** * 夿³¨ */ private String remark; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/bo/StoreSilkInfoBo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,84 @@ package org.dromara.analy.domain.bo; import org.dromara.analy.domain.StoreSilkInfo; 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; import com.fasterxml.jackson.annotation.JsonFormat; /** * å¨ä¸æäº§éä¸å¡å¯¹è±¡ oracle_store_silk * * @author zhuguifei * @date 2026-03-02 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = StoreSilkInfo.class, reverseConvertGenerate = false) public class StoreSilkInfoBo extends BaseEntity { /** * id */ @NotNull(message = "idä¸è½ä¸ºç©º", groups = { EditGroup.class }) private Long id; /** * çå· */ @NotBlank(message = "çå·ä¸è½ä¸ºç©º", groups = { AddGroup.class, EditGroup.class }) private String materialname; /** * æ¹æ¬¡å· */ @NotBlank(message = "æ¹æ¬¡å·ä¸è½ä¸ºç©º", groups = { AddGroup.class, EditGroup.class }) private String batchcode; /** * æææ¥æ */ private Date actualstarttime; /** * ææéé */ private Long jobinput; /** * æèéé */ private Long weightloss; /** * åºå¶ä¸ç */ private Long slkrate; /** * å¨ä¸æéé */ private Long weight; /** * å¨ä¸æåºæå¼å§æ¶é´ */ private Date distimebegin; /** * å¨ä¸æåºæç»ææ¶é´ */ private Date distimeend; /** * æåå·(æ«ä½) */ private String siloid; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/vo/FeedmatchTimeDataVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,196 @@ package org.dromara.analy.domain.vo; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.analy.domain.FeedmatchTimeData; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.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; /** * å䏿ºå¯¹åºå ³ç³»è§å¾å¯¹è±¡ feedmatch_time_data * * @author zhuguifei * @date 2026-03-02 */ @Data @ExcelIgnoreUnannotated @AutoMapper(target = FeedmatchTimeData.class) public class FeedmatchTimeDataVo implements Serializable { @Serial private static final long serialVersionUID = 1L; /** * æ¶é´æ³ */ @ExcelProperty(value = "æ¶é´æ³") private Date time; /** * çæ¬¡+æºå° */ @ExcelProperty(value = "çæ¬¡+æºå°") private String key; /** * æ°æ®æ´æ°æ¶é´ */ @ExcelProperty(value = "æ°æ®æ´æ°æ¶é´") private String dacUpTime; /** * 1#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ @ExcelProperty(value = "1#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ") private String fs11; /** * 1#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ @ExcelProperty(value = "1#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ") private String fs12; /** * 2#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ @ExcelProperty(value = "2#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ") private String fs21; /** * 2#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ @ExcelProperty(value = "2#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ") private String fs22; /** * 3#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ @ExcelProperty(value = "3#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ") private String fs31; /** * 3#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ @ExcelProperty(value = "3#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ") private String fs32; /** * 4#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ */ @ExcelProperty(value = "4#å䏿ºå¯¹åºç第ä¸ä¸ªå¨ä¸æ") private String fs41; /** * 4#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ */ @ExcelProperty(value = "4#å䏿ºå¯¹åºç第äºä¸ªå¨ä¸æ") private String fs42; /** * 1#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "1#æºç»å¯¹åºçå䏿ºå管é") private Long pipe01; /** * 2#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "2#æºç»å¯¹åºçå䏿ºå管é") private Long pipe02; /** * 3#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "3#æºç»å¯¹åºçå䏿ºå管é") private Long pipe03; /** * 4#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "4#æºç»å¯¹åºçå䏿ºå管é") private Long pipe04; /** * 5#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "5#æºç»å¯¹åºçå䏿ºå管é") private Long pipe05; /** * 6#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "6#æºç»å¯¹åºçå䏿ºå管é") private Long pipe06; /** * 7#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "7#æºç»å¯¹åºçå䏿ºå管é") private Long pipe07; /** * 8#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "8#æºç»å¯¹åºçå䏿ºå管é") private Long pipe08; /** * 9#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "9#æºç»å¯¹åºçå䏿ºå管é") private Long pipe09; /** * 10#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "10#æºç»å¯¹åºçå䏿ºå管é") private Long pipe10; /** * 11#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "11#æºç»å¯¹åºçå䏿ºå管é") private Long pipe11; /** * 12#æºç»å¯¹åºçå䏿ºå管é */ @ExcelProperty(value = "12#æºç»å¯¹åºçå䏿ºå管é") private Long pipe12; /** * å䏿ºç¶æ 1-è¿æ¥ 0-æå¼ */ @ExcelProperty(value = "å䏿ºç¶æ 1-è¿æ¥ 0-æå¼") private Long wsjState; /** * çæ¬¡ */ @ExcelProperty(value = "çæ¬¡") private Long shift; /** * æºå° */ @ExcelProperty(value = "æºå°") private Long equNo; /** * 夿³¨ */ @ExcelProperty(value = "夿³¨") private String remark; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/domain/vo/StoreSilkInfoVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,100 @@ package org.dromara.analy.domain.vo; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.analy.domain.StoreSilkInfo; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.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; /** * å¨ä¸æäº§éè§å¾å¯¹è±¡ oracle_store_silk * * @author zhuguifei * @date 2026-03-02 */ @Data @ExcelIgnoreUnannotated @AutoMapper(target = StoreSilkInfo.class) public class StoreSilkInfoVo implements Serializable { @Serial private static final long serialVersionUID = 1L; /** * id */ @ExcelProperty(value = "id") private Long id; /** * çå· */ @ExcelProperty(value = "çå·") private String materialname; /** * æ¹æ¬¡å· */ @ExcelProperty(value = "æ¹æ¬¡å·") private String batchcode; /** * æææ¥æ */ @ExcelProperty(value = "æææ¥æ") private Date actualstarttime; /** * ææéé */ @ExcelProperty(value = "ææéé") private Long jobinput; /** * æèéé */ @ExcelProperty(value = "æèéé") private Long weightloss; /** * åºå¶ä¸ç */ @ExcelProperty(value = "åºå¶ä¸ç") private Long slkrate; /** * å¨ä¸æéé */ @ExcelProperty(value = "å¨ä¸æéé") private Long weight; /** * å¨ä¸æåºæå¼å§æ¶é´ */ @ExcelProperty(value = "å¨ä¸æåºæå¼å§æ¶é´") private Date distimebegin; /** * å¨ä¸æåºæç»ææ¶é´ */ @ExcelProperty(value = "å¨ä¸æåºæç»ææ¶é´") private Date distimeend; /** * æåå·(æ«ä½) */ @ExcelProperty(value = "æåå·(æ«ä½)") private String siloid; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/mapper/FeedmatchTimeDataMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package org.dromara.analy.mapper; import org.dromara.analy.domain.FeedmatchTimeData; import org.dromara.analy.domain.vo.FeedmatchTimeDataVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * å䏿ºå¯¹åºå ³ç³»Mapperæ¥å£ * * @author zhuguifei * @date 2026-03-02 */ public interface FeedmatchTimeDataMapper extends BaseMapperPlus<FeedmatchTimeData, FeedmatchTimeDataVo> { } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/mapper/StoreSilkInfoMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package org.dromara.analy.mapper; import org.dromara.analy.domain.StoreSilkInfo; import org.dromara.analy.domain.vo.StoreSilkInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * å¨ä¸æäº§éMapperæ¥å£ * * @author zhuguifei * @date 2026-03-02 */ public interface StoreSilkInfoMapper extends BaseMapperPlus<StoreSilkInfo, StoreSilkInfoVo> { } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/service/IFeedmatchTimeDataService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package org.dromara.analy.service; import org.dromara.analy.domain.vo.FeedmatchTimeDataVo; import org.dromara.analy.domain.bo.FeedmatchTimeDataBo; 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 zhuguifei * @date 2026-03-02 */ public interface IFeedmatchTimeDataService { /** * æ¥è¯¢å䏿ºå¯¹åºå ³ç³» * * @param time ä¸»é® * @return å䏿ºå¯¹åºå ³ç³» */ FeedmatchTimeDataVo queryById(Date time); /** * å页æ¥è¯¢å䏿ºå¯¹åºå ³ç³»å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return å䏿ºå¯¹åºå ³ç³»å页å表 */ TableDataInfo<FeedmatchTimeDataVo> queryPageList(FeedmatchTimeDataBo bo, PageQuery pageQuery); /** * æ¥è¯¢ç¬¦åæ¡ä»¶çå䏿ºå¯¹åºå ³ç³»å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return å䏿ºå¯¹åºå ³ç³»å表 */ List<FeedmatchTimeDataVo> queryList(FeedmatchTimeDataBo bo); /** * æ°å¢å䏿ºå¯¹åºå ³ç³» * * @param bo å䏿ºå¯¹åºå ³ç³» * @return æ¯å¦æ°å¢æå */ Boolean insertByBo(FeedmatchTimeDataBo bo); /** * ä¿®æ¹å䏿ºå¯¹åºå ³ç³» * * @param bo å䏿ºå¯¹åºå ³ç³» * @return æ¯å¦ä¿®æ¹æå */ Boolean updateByBo(FeedmatchTimeDataBo bo); /** * æ ¡éªå¹¶æ¹éå é¤å䏿ºå¯¹åºå ³ç³»ä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ Boolean deleteWithValidByIds(Collection<Date> ids, Boolean isValid); } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/service/IStoreSilkInfoService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package org.dromara.analy.service; import org.dromara.analy.domain.vo.StoreSilkInfoVo; import org.dromara.analy.domain.bo.StoreSilkInfoBo; 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 zhuguifei * @date 2026-03-02 */ public interface IStoreSilkInfoService { /** * æ¥è¯¢å¨ä¸æäº§é * * @param id ä¸»é® * @return å¨ä¸æäº§é */ StoreSilkInfoVo queryById(Long id); /** * å页æ¥è¯¢å¨ä¸æäº§éå表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return å¨ä¸æäº§éå页å表 */ TableDataInfo<StoreSilkInfoVo> queryPageList(StoreSilkInfoBo bo, PageQuery pageQuery); /** * æ¥è¯¢ç¬¦åæ¡ä»¶çå¨ä¸æäº§éå表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return å¨ä¸æäº§éå表 */ List<StoreSilkInfoVo> queryList(StoreSilkInfoBo bo); /** * æ°å¢å¨ä¸æäº§é * * @param bo å¨ä¸æäº§é * @return æ¯å¦æ°å¢æå */ Boolean insertByBo(StoreSilkInfoBo bo); /** * ä¿®æ¹å¨ä¸æäº§é * * @param bo å¨ä¸æäº§é * @return æ¯å¦ä¿®æ¹æå */ Boolean updateByBo(StoreSilkInfoBo bo); /** * æ ¡éªå¹¶æ¹éå é¤å¨ä¸æäº§éä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/service/impl/FeedmatchTimeDataServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,133 @@ package org.dromara.analy.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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.dromara.analy.domain.bo.FeedmatchTimeDataBo; import org.dromara.analy.domain.vo.FeedmatchTimeDataVo; import org.dromara.analy.domain.FeedmatchTimeData; import org.dromara.analy.mapper.FeedmatchTimeDataMapper; import org.dromara.analy.service.IFeedmatchTimeDataService; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Collection; /** * å䏿ºå¯¹åºå ³ç³»Serviceä¸å¡å±å¤ç * * @author zhuguifei * @date 2026-03-02 */ @Slf4j @RequiredArgsConstructor @Service public class FeedmatchTimeDataServiceImpl implements IFeedmatchTimeDataService { private final FeedmatchTimeDataMapper baseMapper; /** * æ¥è¯¢å䏿ºå¯¹åºå ³ç³» * * @param time ä¸»é® * @return å䏿ºå¯¹åºå ³ç³» */ @Override public FeedmatchTimeDataVo queryById(Date time){ return baseMapper.selectVoById(time); } /** * å页æ¥è¯¢å䏿ºå¯¹åºå ³ç³»å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return å䏿ºå¯¹åºå ³ç³»å页å表 */ @Override public TableDataInfo<FeedmatchTimeDataVo> queryPageList(FeedmatchTimeDataBo bo, PageQuery pageQuery) { LambdaQueryWrapper<FeedmatchTimeData> lqw = buildQueryWrapper(bo); Page<FeedmatchTimeDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } /** * æ¥è¯¢ç¬¦åæ¡ä»¶çå䏿ºå¯¹åºå ³ç³»å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return å䏿ºå¯¹åºå ³ç³»å表 */ @Override public List<FeedmatchTimeDataVo> queryList(FeedmatchTimeDataBo bo) { LambdaQueryWrapper<FeedmatchTimeData> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper<FeedmatchTimeData> buildQueryWrapper(FeedmatchTimeDataBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<FeedmatchTimeData> lqw = Wrappers.lambdaQuery(); lqw.eq(bo.getTime() != null, FeedmatchTimeData::getTime, bo.getTime()); lqw.eq(StringUtils.isNotBlank(bo.getKey()), FeedmatchTimeData::getKey, bo.getKey()); return lqw; } /** * æ°å¢å䏿ºå¯¹åºå ³ç³» * * @param bo å䏿ºå¯¹åºå ³ç³» * @return æ¯å¦æ°å¢æå */ @Override public Boolean insertByBo(FeedmatchTimeDataBo bo) { FeedmatchTimeData add = MapstructUtils.convert(bo, FeedmatchTimeData.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setTime(add.getTime()); } return flag; } /** * ä¿®æ¹å䏿ºå¯¹åºå ³ç³» * * @param bo å䏿ºå¯¹åºå ³ç³» * @return æ¯å¦ä¿®æ¹æå */ @Override public Boolean updateByBo(FeedmatchTimeDataBo bo) { FeedmatchTimeData update = MapstructUtils.convert(bo, FeedmatchTimeData.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * ä¿ååçæ°æ®æ ¡éª */ private void validEntityBeforeSave(FeedmatchTimeData entity){ //TODO åä¸äºæ°æ®æ ¡éª,å¦å¯ä¸çº¦æ } /** * æ ¡éªå¹¶æ¹éå é¤å䏿ºå¯¹åºå ³ç³»ä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ @Override public Boolean deleteWithValidByIds(Collection<Date> ids, Boolean isValid) { if(isValid){ //TODO åä¸äºä¸å¡ä¸çæ ¡éª,夿æ¯å¦éè¦æ ¡éª } return baseMapper.deleteByIds(ids) > 0; } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/analy/service/impl/StoreSilkInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,156 @@ package org.dromara.analy.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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.dromara.analy.domain.bo.StoreSilkInfoBo; import org.dromara.analy.domain.vo.StoreSilkInfoVo; import org.dromara.analy.domain.StoreSilkInfo; import org.dromara.analy.mapper.StoreSilkInfoMapper; import org.dromara.analy.service.IStoreSilkInfoService; import org.dromara.analy.mapper.FeedmatchTimeDataMapper; import org.dromara.analy.domain.FeedmatchTimeData; import java.util.List; import java.util.Map; import java.util.Collection; import java.util.HashMap; /** * å¨ä¸æäº§éServiceä¸å¡å±å¤ç * * @author zhuguifei * @date 2026-03-02 */ @Slf4j @RequiredArgsConstructor @Service public class StoreSilkInfoServiceImpl implements IStoreSilkInfoService { private final StoreSilkInfoMapper baseMapper; private final FeedmatchTimeDataMapper feedmatchTimeDataMapper; /** * æ¥è¯¢å¨ä¸æäº§é * * @param id ä¸»é® * @return å¨ä¸æäº§é */ @Override public StoreSilkInfoVo queryById(Long id){ return baseMapper.selectVoById(id); } /** * å页æ¥è¯¢å¨ä¸æäº§éå表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return å¨ä¸æäº§éå页å表 */ @Override public TableDataInfo<StoreSilkInfoVo> queryPageList(StoreSilkInfoBo bo, PageQuery pageQuery) { LambdaQueryWrapper<StoreSilkInfo> lqw = buildQueryWrapper(bo); Page<StoreSilkInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); queryFeedmatchData(result); return TableDataInfo.build(result); } private void queryFeedmatchData(Page<StoreSilkInfoVo> page) { if (page == null || page.getRecords() == null || page.getRecords().isEmpty()) { return; } List<StoreSilkInfoVo> storeSilkInfoList = page.getRecords(); for (int i = 0; i < storeSilkInfoList.size(); i++) { StoreSilkInfoVo storeSilkInfoVo = storeSilkInfoList.get(i); } } /** * æ¥è¯¢ç¬¦åæ¡ä»¶çå¨ä¸æäº§éå表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return å¨ä¸æäº§éå表 */ @Override public List<StoreSilkInfoVo> queryList(StoreSilkInfoBo bo) { LambdaQueryWrapper<StoreSilkInfo> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper<StoreSilkInfo> buildQueryWrapper(StoreSilkInfoBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<StoreSilkInfo> lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(StoreSilkInfo::getId); lqw.like(StringUtils.isNotBlank(bo.getMaterialname()), StoreSilkInfo::getMaterialname, bo.getMaterialname()); lqw.eq(StringUtils.isNotBlank(bo.getBatchcode()), StoreSilkInfo::getBatchcode, bo.getBatchcode()); lqw.eq(bo.getActualstarttime() != null, StoreSilkInfo::getActualstarttime, bo.getActualstarttime()); lqw.eq(bo.getDistimebegin() != null, StoreSilkInfo::getDistimebegin, bo.getDistimebegin()); lqw.eq(bo.getDistimeend() != null, StoreSilkInfo::getDistimeend, bo.getDistimeend()); lqw.eq(StringUtils.isNotBlank(bo.getSiloid()), StoreSilkInfo::getSiloid, bo.getSiloid()); return lqw; } /** * æ°å¢å¨ä¸æäº§é * * @param bo å¨ä¸æäº§é * @return æ¯å¦æ°å¢æå */ @Override public Boolean insertByBo(StoreSilkInfoBo bo) { StoreSilkInfo add = MapstructUtils.convert(bo, StoreSilkInfo.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } return flag; } /** * ä¿®æ¹å¨ä¸æäº§é * * @param bo å¨ä¸æäº§é * @return æ¯å¦ä¿®æ¹æå */ @Override public Boolean updateByBo(StoreSilkInfoBo bo) { StoreSilkInfo update = MapstructUtils.convert(bo, StoreSilkInfo.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * ä¿ååçæ°æ®æ ¡éª */ private void validEntityBeforeSave(StoreSilkInfo entity){ //TODO åä¸äºæ°æ®æ ¡éª,å¦å¯ä¸çº¦æ } /** * æ ¡éªå¹¶æ¹éå é¤å¨ä¸æäº§éä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ @Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { if(isValid){ //TODO åä¸äºä¸å¡ä¸çæ ¡éª,夿æ¯å¦éè¦æ ¡éª } return baseMapper.deleteByIds(ids) > 0; } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/controller/MdShiftController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,105 @@ package org.dromara.md.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 org.dromara.md.domain.vo.MdShiftVo; import org.dromara.md.domain.bo.MdShiftBo; import org.dromara.md.service.IMdShiftService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** * çæ¬¡ * * @author zhuguifei * @date 2026-03-04 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/md/shift") public class MdShiftController extends BaseController { private final IMdShiftService mdShiftService; /** * æ¥è¯¢ç次å表 */ @SaCheckPermission("md:shift:list") @GetMapping("/list") public TableDataInfo<MdShiftVo> list(MdShiftBo bo, PageQuery pageQuery) { return mdShiftService.queryPageList(bo, pageQuery); } /** * 导åºç次å表 */ @SaCheckPermission("md:shift:export") @Log(title = "çæ¬¡", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(MdShiftBo bo, HttpServletResponse response) { List<MdShiftVo> list = mdShiftService.queryList(bo); ExcelUtil.exportExcel(list, "çæ¬¡", MdShiftVo.class, response); } /** * è·åçæ¬¡è¯¦ç»ä¿¡æ¯ * * @param id ä¸»é® */ @SaCheckPermission("md:shift:query") @GetMapping("/{id}") public R<MdShiftVo> getInfo(@NotNull(message = "主é®ä¸è½ä¸ºç©º") @PathVariable String id) { return R.ok(mdShiftService.queryById(id)); } /** * æ°å¢ç次 */ @SaCheckPermission("md:shift:add") @Log(title = "çæ¬¡", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R<Void> add(@Validated(AddGroup.class) @RequestBody MdShiftBo bo) { return toAjax(mdShiftService.insertByBo(bo)); } /** * ä¿®æ¹ç次 */ @SaCheckPermission("md:shift:edit") @Log(title = "çæ¬¡", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R<Void> edit(@Validated(EditGroup.class) @RequestBody MdShiftBo bo) { return toAjax(mdShiftService.updateByBo(bo)); } /** * å é¤ç次 * * @param ids 主é®ä¸² */ @SaCheckPermission("md:shift:remove") @Log(title = "çæ¬¡", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R<Void> remove(@NotEmpty(message = "主é®ä¸è½ä¸ºç©º") @PathVariable String[] ids) { return toAjax(mdShiftService.deleteWithValidByIds(List.of(ids), true)); } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/domain/MdShift.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ package org.dromara.md.domain; import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; /** * çæ¬¡å¯¹è±¡ MD_SHIFT * * @author zhuguifei * @date 2026-03-04 */ @Data @EqualsAndHashCode(callSuper = true) @TableName("MD_SHIFT") public class MdShift extends BaseEntity { @Serial private static final long serialVersionUID = 1L; /** * ud */ @TableId(value = "ID") private String id; /** * 车é´å¤é® */ private String wsId; /** * ç¼ç */ private String code; /** * åç§° */ private String name; /** * çæ¬¡å¼å§æ¶é´ */ private String stim; /** * çæ¬¡ç»ææ¶é´ */ private String etim; /** * æåº */ private Long seq; /** * å¯ç¨ */ private Long enable; /** * å é¤ */ private Long del; /** * åå»ºç¨æ· */ private String createUserName; /** * å建æ¶é´ */ private Date createUserTime; /** * æ´æ°ç¨æ· */ private String updateUserName; /** * æ´æ°æ¶é´ */ private Date updateUserTime; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/domain/bo/MdShiftBo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,92 @@ package org.dromara.md.domain.bo; import org.dromara.md.domain.MdShift; 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; import com.fasterxml.jackson.annotation.JsonFormat; /** * çæ¬¡ä¸å¡å¯¹è±¡ MD_SHIFT * * @author zhuguifei * @date 2026-03-04 */ @Data @EqualsAndHashCode(callSuper = true) @AutoMapper(target = MdShift.class, reverseConvertGenerate = false) public class MdShiftBo extends BaseEntity { /** * ud */ @NotBlank(message = "udä¸è½ä¸ºç©º", groups = { EditGroup.class }) private String id; /** * 车é´å¤é® */ private String wsId; /** * ç¼ç */ private String code; /** * åç§° */ private String name; /** * çæ¬¡å¼å§æ¶é´ */ private String stim; /** * çæ¬¡ç»ææ¶é´ */ private String etim; /** * æåº */ private Long seq; /** * å¯ç¨ */ private Long enable; /** * å é¤ */ private Long del; /** * åå»ºç¨æ· */ private String createUserName; /** * å建æ¶é´ */ private Date createUserTime; /** * æ´æ°ç¨æ· */ private String updateUserName; /** * æ´æ°æ¶é´ */ private Date updateUserTime; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/domain/vo/MdShiftVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,112 @@ package org.dromara.md.domain.vo; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.md.domain.MdShift; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.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; /** * çæ¬¡è§å¾å¯¹è±¡ MD_SHIFT * * @author zhuguifei * @date 2026-03-04 */ @Data @ExcelIgnoreUnannotated @AutoMapper(target = MdShift.class) public class MdShiftVo implements Serializable { @Serial private static final long serialVersionUID = 1L; /** * ud */ @ExcelProperty(value = "ud") private String id; /** * 车é´å¤é® */ @ExcelProperty(value = "车é´å¤é®") private String wsId; /** * ç¼ç */ @ExcelProperty(value = "ç¼ç ") private String code; /** * åç§° */ @ExcelProperty(value = "åç§°") private String name; /** * çæ¬¡å¼å§æ¶é´ */ @ExcelProperty(value = "çæ¬¡å¼å§æ¶é´") private String stim; /** * çæ¬¡ç»ææ¶é´ */ @ExcelProperty(value = "çæ¬¡ç»ææ¶é´") private String etim; /** * æåº */ @ExcelProperty(value = "æåº") private Long seq; /** * å¯ç¨ */ @ExcelProperty(value = "å¯ç¨") private Long enable; /** * å é¤ */ @ExcelProperty(value = "å é¤") private Long del; /** * åå»ºç¨æ· */ @ExcelProperty(value = "åå»ºç¨æ·") private String createUserName; /** * å建æ¶é´ */ @ExcelProperty(value = "å建æ¶é´") private Date createUserTime; /** * æ´æ°ç¨æ· */ @ExcelProperty(value = "æ´æ°ç¨æ·") private String updateUserName; /** * æ´æ°æ¶é´ */ @ExcelProperty(value = "æ´æ°æ¶é´") private Date updateUserTime; } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/mapper/MdShiftMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package org.dromara.md.mapper; import org.dromara.md.domain.MdShift; import org.dromara.md.domain.vo.MdShiftVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * çæ¬¡Mapperæ¥å£ * * @author zhuguifei * @date 2026-03-04 */ public interface MdShiftMapper extends BaseMapperPlus<MdShift, MdShiftVo> { } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/service/IMdShiftService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package org.dromara.md.service; import org.dromara.md.domain.vo.MdShiftVo; import org.dromara.md.domain.bo.MdShiftBo; 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 zhuguifei * @date 2026-03-04 */ public interface IMdShiftService { /** * æ¥è¯¢ç次 * * @param id ä¸»é® * @return çæ¬¡ */ MdShiftVo queryById(String id); /** * å页æ¥è¯¢ç次å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return çæ¬¡å页å表 */ TableDataInfo<MdShiftVo> queryPageList(MdShiftBo bo, PageQuery pageQuery); /** * æ¥è¯¢ç¬¦åæ¡ä»¶ççæ¬¡å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return çæ¬¡å表 */ List<MdShiftVo> queryList(MdShiftBo bo); /** * æ°å¢ç次 * * @param bo çæ¬¡ * @return æ¯å¦æ°å¢æå */ Boolean insertByBo(MdShiftBo bo); /** * ä¿®æ¹ç次 * * @param bo çæ¬¡ * @return æ¯å¦ä¿®æ¹æå */ Boolean updateByBo(MdShiftBo bo); /** * æ ¡éªå¹¶æ¹éå é¤çæ¬¡ä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/java/org/dromara/md/service/impl/MdShiftServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,134 @@ package org.dromara.md.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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.dromara.md.domain.bo.MdShiftBo; import org.dromara.md.domain.vo.MdShiftVo; import org.dromara.md.domain.MdShift; import org.dromara.md.mapper.MdShiftMapper; import org.dromara.md.service.IMdShiftService; import java.util.List; import java.util.Map; import java.util.Collection; /** * çæ¬¡Serviceä¸å¡å±å¤ç * * @author zhuguifei * @date 2026-03-04 */ @Slf4j @RequiredArgsConstructor @Service public class MdShiftServiceImpl implements IMdShiftService { private final MdShiftMapper baseMapper; /** * æ¥è¯¢ç次 * * @param id ä¸»é® * @return çæ¬¡ */ @Override public MdShiftVo queryById(String id){ return baseMapper.selectVoById(id); } /** * å页æ¥è¯¢ç次å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @param pageQuery å页忰 * @return çæ¬¡å页å表 */ @Override public TableDataInfo<MdShiftVo> queryPageList(MdShiftBo bo, PageQuery pageQuery) { LambdaQueryWrapper<MdShift> lqw = buildQueryWrapper(bo); Page<MdShiftVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } /** * æ¥è¯¢ç¬¦åæ¡ä»¶ççæ¬¡å表 * * @param bo æ¥è¯¢æ¡ä»¶ * @return çæ¬¡å表 */ @Override public List<MdShiftVo> queryList(MdShiftBo bo) { LambdaQueryWrapper<MdShift> lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper<MdShift> buildQueryWrapper(MdShiftBo bo) { Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<MdShift> lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(MdShift::getId); lqw.eq(StringUtils.isNotBlank(bo.getCode()), MdShift::getCode, bo.getCode()); lqw.like(StringUtils.isNotBlank(bo.getName()), MdShift::getName, bo.getName()); lqw.eq(bo.getEnable() != null, MdShift::getEnable, bo.getEnable()); return lqw; } /** * æ°å¢ç次 * * @param bo çæ¬¡ * @return æ¯å¦æ°å¢æå */ @Override public Boolean insertByBo(MdShiftBo bo) { MdShift add = MapstructUtils.convert(bo, MdShift.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); } return flag; } /** * ä¿®æ¹ç次 * * @param bo çæ¬¡ * @return æ¯å¦ä¿®æ¹æå */ @Override public Boolean updateByBo(MdShiftBo bo) { MdShift update = MapstructUtils.convert(bo, MdShift.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * ä¿ååçæ°æ®æ ¡éª */ private void validEntityBeforeSave(MdShift entity){ //TODO åä¸äºæ°æ®æ ¡éª,å¦å¯ä¸çº¦æ } /** * æ ¡éªå¹¶æ¹éå é¤çæ¬¡ä¿¡æ¯ * * @param ids å¾ å é¤ç主é®éå * @param isValid æ¯å¦è¿è¡æææ§æ ¡éª * @return æ¯å¦å 餿å */ @Override public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { if(isValid){ //TODO åä¸äºä¸å¡ä¸çæ ¡éª,夿æ¯å¦éè¦æ ¡éª } return baseMapper.deleteByIds(ids) > 0; } } RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/resources/mapper/analy/FeedmatchTimeDataMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.analy.mapper.FeedmatchTimeDataMapper"> </mapper> RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/resources/mapper/analy/StoreSilkInfoMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.analy.mapper.StoreSilkInfoMapper"> </mapper> RuoYi-Vue-Plus/ruoyi-modules/ruoyi-qa/src/main/resources/mapper/md/MdShiftMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.dromara.md.mapper.MdShiftMapper"> </mapper>