plp
kkk-ops 1 week ago
commit 2f0d11ac29

@ -25,6 +25,7 @@
<module>yudao-module-erp</module>
<module>yudao-module-mes</module>
<module>yudao-module-iot</module>
<module>yudao-module-common</module>
</modules>
<name>${project.artifactId}</name>
<description>芋道项目基础脚手架</description>

@ -0,0 +1,14 @@
package cn.iocoder.yudao.framework.common.pojo;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class DeviceEdgeData {
private Long deviceId;
private LocalDateTime firstTs;
private String firstData;
private LocalDateTime lastTs;
private String lastData;
}

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<modules>
<module>yudao-module-common-api</module>
<module>yudao-module-common-biz</module>
</modules>
<artifactId>yudao-module-common</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>
common 模块下,存放通用的业务逻辑和工具类,供其他模块调用。
</description>
</project>

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yudao-module-common</artifactId>
<groupId>cn.iocoder.boot</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-common-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>common 模块 API暴露给其它模块调用</description>
<dependencies>
<!-- 核心库 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-common</artifactId>
</dependency>
<!-- Validation -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.common.api.mold;
import cn.iocoder.yudao.module.common.api.mold.dto.MoldRespDTO;
import java.util.Collection;
import java.util.List;
/**
* API
*/
public interface MoldApi {
/**
* ID
*
* @param id ID
* @return
*/
MoldRespDTO getMoldById(Long id);
/**
* ID
*
* @param ids ID
* @return
*/
List<MoldRespDTO> getMoldListByIds(Collection<Long> ids);
}

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.common.api.mold;
import cn.iocoder.yudao.module.common.api.mold.dto.MoldRepairRespDTO;
import java.util.List;
/**
* API
*/
public interface MoldRepairApi {
/**
* ID
*
* @param moldId ID
* @return
*/
List<MoldRepairRespDTO> getRepairListByMoldId(Long moldId);
}

@ -0,0 +1,62 @@
package cn.iocoder.yudao.module.common.api.mold.dto;
import lombok.Data;
import java.time.LocalDateTime;
/**
*
*/
@Data
public class MoldRepairRespDTO {
/**
* ID
*/
private Long id;
/**
*
*/
private String repairCode;
/**
*
*/
private String repairName;
/**
* ID
*/
private Long moldId;
/**
*
*/
private String moldCode;
/**
*
*/
private String moldName;
/**
*
*/
private LocalDateTime requireDate;
/**
*
*/
private LocalDateTime finishDate;
/**
*
*/
private String repairResult;
/**
*
*/
private Integer status;
}

@ -0,0 +1,73 @@
package cn.iocoder.yudao.module.common.api.mold.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
*
*/
@Data
public class MoldRespDTO {
/**
* ID
*/
private Long id;
/**
*
*/
private String code;
/**
*
*/
private String name;
/**
*
*/
private String unitName;
/**
* ID
*/
private Long machineId;
/**
*
*/
private String machineName;
/**
* 使()
*/
private BigDecimal useTime;
/**
*
*/
private LocalDateTime inTime;
/**
*
*/
private Integer status;
/**
* ID
*/
private Long brandId;
/**
*
*/
private String brandName;
/**
*
*/
private Boolean isEnable;
}

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yudao-module-common</artifactId>
<groupId>cn.iocoder.boot</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yudao-module-common-biz</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>common 模块业务实现</description>
<dependencies>
<!-- 模块自身 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-common-api</artifactId>
<version>${revision}</version> <!-- 添加这一行 -->
</dependency>
<!-- 框架相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-redis</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-web</artifactId>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId>
</dependency>
<!-- 工具类 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-excel</artifactId>
</dependency>
</dependencies>
</project>

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,15 +1,16 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 模具型号 Response VO")

@ -1,11 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.*;
import java.math.BigDecimal;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 模具型号新增/修改 Request VO")
@Data

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,12 +1,18 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@Schema(description = "管理后台 - 模具 Response VO")
@Data
@ExcelIgnoreUnannotated

@ -1,17 +1,18 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 模具 Response VO")
@Data
@ -32,6 +33,7 @@ public class MoldRespVO {
@Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19527")
private Long unitId;
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "个")
// @ExcelProperty("单位")
private String unitName;
@ -66,7 +68,7 @@ public class MoldRespVO {
private String remark;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
// @ExcelProperty("是否启用")
@ExcelProperty("是否启用")
private Boolean isEnable;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
package cn.iocoder.yudao.module.common.controller.admin.mold.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldrepair.enums;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.enums;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldrepair.enums;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
@ -79,8 +79,8 @@ public class MoldRepairRespVO {
private String confirmBy;
@Schema(description = "单据状态", example = "1")
@ExcelProperty(value = "单据状态 0-待完成 1-已完成")
@DictFormat("mes_mold_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
// @ExcelProperty(value = "单据状态 0-待完成 1-已完成")
// @DictFormat("mes_mold_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Integer status;
@Schema(description = "单据状态", example = "1")
@ -106,5 +106,12 @@ public class MoldRepairRespVO {
@Schema(description = "关键件Id", example = "你猜")
private Long componentId;
@Schema(description = "维修状态 0-待完成 1-通过 2-不通过")
private Integer repairStatus;
@Schema(description = "维修状态")
@ExcelProperty("维修状态")
private String repairStatusName;
}

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldticketmanagement.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.vo;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketresults.enums;
package cn.iocoder.yudao.module.common.controller.admin.moldticketresults.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketresults.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketresults.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketresults.vo;
package cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@ -0,0 +1,6 @@
/**
* RESTful API
* 1. admin yudao-ui-admin
* 2. app APP yudao-ui-app Controller VO App
*/
package cn.iocoder.yudao.module.common.controller;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.mold;
package cn.iocoder.yudao.module.common.dal.dataobject.mold;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import io.swagger.v3.oas.annotations.media.Schema;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.mold;
package cn.iocoder.yudao.module.common.dal.dataobject.mold;
import lombok.*;
import java.util.*;
@ -9,8 +9,8 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO;
/**
* DO

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair;
package cn.iocoder.yudao.module.common.dal.dataobject.moldrepair;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import org.apache.ibatis.type.Alias;
import java.time.LocalDateTime;
@ -22,7 +21,6 @@ import java.time.LocalDateTime;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Alias("ErpMoldRepairDO")
public class MoldRepairDO extends BaseDO {
/**
@ -114,4 +112,9 @@ public class MoldRepairDO extends BaseDO {
*/
private Long componentId;
/**
* 0- 1- 2-
*/
private Integer repairStatus;
}

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair;
package cn.iocoder.yudao.module.common.dal.dataobject.moldrepair;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import org.apache.ibatis.type.Alias;
/**
* DO
@ -20,7 +19,6 @@ import org.apache.ibatis.type.Alias;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Alias("ErpMoldRepairLineDO")
public class MoldRepairLineDO extends BaseDO {
/**
@ -73,4 +71,9 @@ public class MoldRepairLineDO extends BaseDO {
*/
private String remark;
/**
* 0- 1- 2-
*/
private Integer result;
}

@ -1,5 +1,9 @@
package cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement;
package cn.iocoder.yudao.module.common.dal.dataobject.moldticketmanagement;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@ -7,13 +11,8 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*

@ -1,10 +1,13 @@
package cn.iocoder.yudao.module.mes.dal.dataobject.moldticketresults;
package cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO

@ -1,13 +1,13 @@
package cn.iocoder.yudao.module.erp.dal.mysql.mold;
package cn.iocoder.yudao.module.common.dal.mysql.mold;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldBrandPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldBrandPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import java.util.Arrays;
import java.util.List;

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.erp.dal.mysql.mold;
package cn.iocoder.yudao.module.common.dal.mysql.mold;
import java.util.*;
@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import org.apache.ibatis.annotations.Mapper;
/**

@ -0,0 +1,78 @@
package cn.iocoder.yudao.module.common.dal.mysql.mold;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* Mapper
*
* @author
*/
@Mapper
public interface MoldMapper extends BaseMapperX<MoldDO> {
default PageResult<MoldDO> selectPage(MoldPageReqVO reqVO) {
LambdaQueryWrapperX<MoldDO> wrapper = new LambdaQueryWrapperX<>();
wrapper
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getUnitId, reqVO.getUnitId())
.eqIfPresent(MoldDO::getMachineId, reqVO.getMachineId())
.likeIfPresent(MoldDO::getMachineName, reqVO.getMachineName())
.eqIfPresent(MoldDO::getUseTime, reqVO.getUseTime())
.betweenIfPresent(MoldDO::getInTime, reqVO.getInTime())
.eqIfPresent(MoldDO::getStatus, reqVO.getStatus())
.likeIfPresent(MoldDO::getImages, reqVO.getImages())
.likeIfPresent(MoldDO::getRemark, reqVO.getRemark())
.eqIfPresent(MoldDO::getIsEnable, reqVO.getIsEnable())
.betweenIfPresent(MoldDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.likeIfPresent(MoldDO::getFileUrl, reqVO.getFileUrl())
.orderByDesc(MoldDO::getId);
if (StringUtils.isNotBlank(reqVO.getIds())) {
List<Long> idList = Arrays.stream(reqVO.getIds().split(","))
.map(String::trim)
.map(Long::valueOf)
.collect(Collectors.toList());
wrapper.in(MoldDO::getId, idList);
}
return selectPage(reqVO, wrapper);
}
// 保持原有方法以兼容旧代码
default PageResult<MoldDO> selectPage(PageParam reqVO, Long brandId) {
return selectPage(reqVO, new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
default int deleteByBrandId(Long brandId) {
return delete(MoldDO::getBrandId, brandId);
}
default List<MoldDO> selectBy(MoldDO reqVO) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.orderByDesc(MoldDO::getId));
}
default List<MoldDO> selectBy(Long brandId) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eq(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
}

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.erp.dal.mysql.moldrepair;
package cn.iocoder.yudao.module.common.dal.mysql.moldrepair;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@ -13,7 +13,7 @@ import java.util.List;
* @author
*/
@Mapper
@Repository("erpMoldRepairLineMapper")
@Repository
public interface MoldRepairLineMapper extends BaseMapperX<MoldRepairLineDO> {
default List<MoldRepairLineDO> selectListByRepairId(Long repairId) {

@ -1,10 +1,10 @@
package cn.iocoder.yudao.module.erp.dal.mysql.moldrepair;
package cn.iocoder.yudao.module.common.dal.mysql.moldrepair;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.moldrepair.vo.MoldRepairPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@ -19,7 +19,7 @@ import java.util.stream.Collectors;
* @author
*/
@Mapper
@Repository("erpMoldRepairMapper")
@Repository
public interface MoldRepairMapper extends BaseMapperX<MoldRepairDO> {
default PageResult<MoldRepairDO> selectPage(MoldRepairPageReqVO reqVO) {

@ -1,18 +1,18 @@
package cn.iocoder.yudao.module.mes.dal.mysql.moldticketmanagement;
import java.util.*;
import java.util.stream.Collectors;
package cn.iocoder.yudao.module.common.dal.mysql.moldticketmanagement;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldtaskmanagement.MoldTaskManagementDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement.MoldTicketManagementDO;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.vo.MoldTicketManagementPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketmanagement.MoldTicketManagementDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mes.controller.admin.moldticketmanagement.vo.*;
import org.apache.ibatis.annotations.Param;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* Mapper
*

@ -1,23 +1,22 @@
package cn.iocoder.yudao.module.mes.dal.mysql.moldticketresults;
import java.util.*;
package cn.iocoder.yudao.module.common.dal.mysql.moldticketresults;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.common.controller.admin.moldticketresults.vo.MoldTicketResultsPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mes.controller.admin.moldticketresults.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author
*/
@Mapper
@Repository("mesMoldTicketResultsMapper")
public interface MoldTicketResultsMapper extends BaseMapperX<MoldTicketResultsDO> {
default PageResult<MoldTicketResultsDO> selectPage(MoldTicketResultsPageReqVO reqVO) {

@ -0,0 +1,10 @@
/**
* erp Enterprise Resource Planning
*
*
* 1. Controller URL /erp/ Module
* 2. DataObject erp_ 便
*
* Erp Erp ~
*/
package cn.iocoder.yudao.module.common.service;

@ -1,6 +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="cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper">
<mapper namespace="cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。

@ -1,6 +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="cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper">
<mapper namespace="cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。

@ -1,6 +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="cn.iocoder.yudao.module.mes.dal.mysql.moldticketmanagement.MoldTicketManagementMapper">
<mapper namespace="cn.iocoder.yudao.module.common.dal.mysql.moldticketmanagement.MoldTicketManagementMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。

@ -1,6 +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="cn.iocoder.yudao.module.mes.dal.mysql.moldticketresults.MoldTicketResultsMapper">
<mapper namespace="cn.iocoder.yudao.module.common.dal.mysql.moldticketresults.MoldTicketResultsMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
@ -10,7 +10,7 @@
-->
<select id="findByMoldIdAndPlanType"
resultType="cn.iocoder.yudao.module.mes.dal.dataobject.moldticketresults.MoldTicketResultsDO">
resultType="cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO">
SELECT
mtr.*,
mtm.task_time,

@ -28,6 +28,9 @@
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

@ -63,6 +63,12 @@
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-common-biz</artifactId>
<version>2.3.0-jdk8-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

@ -6,11 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairPageReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRespVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -112,12 +116,12 @@ public class MoldBrandController {
@GetMapping("/mold/page")
@Operation(summary = "获得模具分页")
@Parameter(name = "brandId", description = "型号id")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<PageResult<MoldRespVO>> getMoldPage(PageParam pageReqVO, @RequestParam(value = "brandId", required = false) Long brandId) {
return success(moldBrandService.getMoldPage(pageReqVO, brandId));
public CommonResult<PageResult<MoldRespVO>> getMoldPage(@Valid MoldPageReqVO pageReqVO) {
return success(moldBrandService.getMoldPage(pageReqVO));
}
@GetMapping("/mold/list")
@Operation(summary = "获得模具列表")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
@ -158,6 +162,20 @@ public class MoldBrandController {
return success(moldBrandService.getMold(id));
}
@GetMapping("/mold/export-excel")
@Operation(summary = "导出模具 Excel")
@Parameter(name = "brandId", description = "型号ID", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
@ApiAccessLog(operateType = EXPORT)
public void exportMoldExcel(@Valid MoldPageReqVO pageReqVO,
HttpServletResponse response, @RequestParam("brandId") Long brandId) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
pageReqVO.setBrandId(brandId); // 将brandId设置到pageReqVO中
List<MoldRespVO> list = moldBrandService.getMoldPage(pageReqVO).getList(); // 调用正确的方法
// 导出 Excel
ExcelUtils.write(response, "模具.xls", "数据", MoldRespVO.class, list);
}
// ==================== 子表(模具产品) ====================
@GetMapping("/mold-brand-product/page")

@ -24,8 +24,8 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.service.mold.MoldService;
import javax.annotation.Resource;

@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.erp.controller.admin.mold.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@ -61,7 +61,6 @@ public class MoldPageReqVO extends PageParam {
@Schema(description = "id集合导出用")
private String ids;
@Schema(description = "附件地址")
private String fileUrl;

@ -1,20 +0,0 @@
package cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
// 1. 新增请求VO
@Data
public class MoldTicketManagementBatchUpdateReqVO {
@Schema(description = "工单ID列表用逗号分隔", example = "1,2,3")
@NotBlank(message = "工单ID不能为空")
private String ids;
@Schema(description = "作业状态", example = "2")
@NotNull(message = "作业状态不能为空")
private Integer jobStatus ; // 默认值为2
}

@ -8,7 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInRespVO;

@ -8,7 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutRespVO;

@ -1,70 +0,0 @@
package cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import org.apache.ibatis.type.Alias;
import java.time.LocalDateTime;
/**
* DO
*
* @author
*/
@TableName("mes_mold_ticket_results")
@KeySequence("mes_mold_ticket_results_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Alias("ErpMoldTicketResultsDO")
public class MoldTicketResultsDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
*
*/
private String inspectionItemName;
/**
*
*/
private String inspectionMethod;
/**
*
*/
private String judgmentCriteria;
/**
* 0- 1- 2-
*/
private Integer inspectionResult;
/**
*
*/
private String images;
/**
*
*/
private String remark;
/**
*
*/
private LocalDateTime inspectionTime;
/**
*
*/
private Long managementId;
/**
* id
*/
private Long moldId;
}

@ -7,7 +7,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.autocode.AutocodePartDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import org.apache.ibatis.annotations.Mapper;
/**

@ -1,47 +0,0 @@
package cn.iocoder.yudao.module.erp.dal.mysql.mold;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Mapper
*
* @author
*/
@Mapper
public interface MoldMapper extends BaseMapperX<MoldDO> {
default PageResult<MoldDO> selectPage(PageParam reqVO, Long brandId) {
return selectPage(reqVO, new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
default int deleteByBrandId(Long brandId) {
return delete(MoldDO::getBrandId, brandId);
}
default List<MoldDO> selectBy(MoldDO reqVO) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.orderByDesc(MoldDO::getId));
}
default List<MoldDO> selectBy(Long brandId) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eq(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
}

@ -1,38 +0,0 @@
package cn.iocoder.yudao.module.erp.dal.mysql.moldticketresults;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.moldticketresults.vo.MoldTicketResultsPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Mapper
*
* @author
*/
@Mapper
@Repository("erpMoldTicketResultsMapper")
public interface MoldTicketResultsMapper extends BaseMapperX<MoldTicketResultsDO> {
default PageResult<MoldTicketResultsDO> selectPage(MoldTicketResultsPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<MoldTicketResultsDO>()
.likeIfPresent(MoldTicketResultsDO::getInspectionItemName, reqVO.getInspectionItemName())
.eqIfPresent(MoldTicketResultsDO::getInspectionMethod, reqVO.getInspectionMethod())
.eqIfPresent(MoldTicketResultsDO::getJudgmentCriteria, reqVO.getJudgmentCriteria())
.eqIfPresent(MoldTicketResultsDO::getInspectionResult, reqVO.getInspectionResult())
.eqIfPresent(MoldTicketResultsDO::getImages, reqVO.getImages())
.eqIfPresent(MoldTicketResultsDO::getRemark, reqVO.getRemark())
.betweenIfPresent(MoldTicketResultsDO::getInspectionTime, reqVO.getInspectionTime())
.eqIfPresent(MoldTicketResultsDO::getManagementId, reqVO.getManagementId())
.betweenIfPresent(MoldTicketResultsDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MoldTicketResultsDO::getId));
}
List<MoldTicketResultsDO> findByMoldIdAndPlanType(@Param("moldId") Long moldId,@Param("planType") Integer planType);
}

@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductCategoryDO;
import javax.validation.Valid;
@ -79,7 +79,13 @@ public interface MoldBrandService {
* @return
*/
PageResult<MoldRespVO> getMoldPage(PageParam pageReqVO, Long brandId);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<MoldRespVO> getMoldPage(MoldPageReqVO pageReqVO);
List<MoldDO> getMoldList();
/**

@ -5,22 +5,22 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandProductMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairLineMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldticketresults.MoldTicketResultsMapper;
import cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.enums.MoldPlanTypeEnum;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandProductMapper;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldrepair.MoldRepairLineMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldrepair.MoldRepairMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldticketresults.MoldTicketResultsMapper;
import cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.enums.MoldPlanTypeEnum;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@ -135,6 +135,11 @@ public class MoldBrandServiceImpl implements MoldBrandService {
PageResult<MoldDO> pageResult = moldMapper.selectPage(pageReqVO, brandId);
return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public PageResult<MoldRespVO> getMoldPage(MoldPageReqVO pageReqVO) {
PageResult<MoldDO> pageResult = moldMapper.selectPage(pageReqVO);
return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public List<MoldDO> getMoldList() {
@ -191,13 +196,13 @@ public class MoldBrandServiceImpl implements MoldBrandService {
}
//点检列表
List<MoldTicketResultsDO> inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode());
List<MoldTicketResultsDO> inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode(),null,null,null);
if(CollectionUtils.isNotEmpty(inspectionList)){
moldDO.setInspectionList(inspectionList);
}
//保养列表
List<MoldTicketResultsDO> maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode());
List<MoldTicketResultsDO> maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode(),null,null,null);
if(CollectionUtils.isNotEmpty(maintainList)){
moldDO.setMaintainList(maintainList);
}

@ -3,11 +3,11 @@ package cn.iocoder.yudao.module.erp.service.mold;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldSaveReqVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldPageReqVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldSaveReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import javax.validation.Valid;

@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.erp.service.mold;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductCategoryDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
@ -13,13 +12,13 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper;
import javax.annotation.Resource;

@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInSaveReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO;

@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.number.MoneyUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutSaveReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutItemDO;

@ -1,30 +0,0 @@
<?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.iocoder.yudao.module.erp.dal.mysql.moldticketresults.MoldTicketResultsMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="findByMoldIdAndPlanType"
resultType="cn.iocoder.yudao.module.mes.dal.dataobject.moldticketresults.MoldTicketResultsDO">
SELECT
mtr.*
from
besure.mes_mold_ticket_results mtr
left join besure.mes_mold_ticket_management mtm on mtm.id = mtr.management_id
WHERE 1=1
<!-- 必填条件 -->
<if test="moldId != null and moldId != ''">
and mtr.mold_id = #{moldId}
</if>
<if test="planType != null and planType != ''">
and mtm.plan_type= #{planType}
</if>
order by mtr.create_time desc
</select>
</mapper>

@ -7,9 +7,9 @@ import org.springframework.boot.test.mock.mockito.MockBean;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import org.springframework.context.annotation.Import;

@ -1,3 +1,4 @@
/*
package cn.iocoder.yudao.module.erp.service.mold;
import org.junit.jupiter.api.Disabled;
@ -8,8 +9,8 @@ import org.springframework.boot.test.mock.mockito.MockBean;
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -30,11 +31,13 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
*/
/**
* {@link MoldServiceImpl}
*
* @author
*/
*//*
@Import(MoldServiceImpl.class)
public class MoldServiceImplTest extends BaseDbUnitTest {
@ -173,4 +176,4 @@ public class MoldServiceImplTest extends BaseDbUnitTest {
assertPojoEquals(dbMold, pageResult.getList().get(0));
}
}
}*/

@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.infra.service.job.JobService;
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.*;
@ -37,7 +36,6 @@ import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
@Tag(name = "管理后台 - 物联设备")
@RestController

@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.milo.opcua.sdk.client.OpcUaClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -32,11 +31,6 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@Component
@Slf4j

@ -22,12 +22,12 @@ public class LineDeviceRespVO {
@Schema(description = "设备Id")
private Long deviceId;
@Schema(description = "产线编码")
@ExcelProperty("产线编码")
@Schema(description = "组织编码")
@ExcelProperty("组织编码")
private String lineNode;
@Schema(description = "产线名称")
@ExcelProperty("产线名称")
@Schema(description = "组织名称")
@ExcelProperty("组织名称")
private String lineName;
@Schema(description = "设备编码")

@ -71,21 +71,22 @@ public class RecipeController {
return success(BeanUtils.toBean(recipe, RecipeRespVO.class));
}
// @GetMapping("/page")
// @GetMapping("/page")
// @Operation(summary = "获得配方管理主分页")
// @PreAuthorize("@ss.hasPermission('iot:recipe:query')")
// public CommonResult<PageResult<RecipeRespVO>> getRecipePage(@Valid RecipePageReqVO pageReqVO) {
// PageResult<RecipeDO> pageResult = recipeService.getRecipePage(pageReqVO);
// return success(BeanUtils.toBean(pageResult, RecipeRespVO.class));
// }
@GetMapping("/page")
@Operation(summary = "获得配方管理主分页")
@PreAuthorize("@ss.hasPermission('iot:recipe:query')")
public CommonResult<PageResult<RecipeRespVO>> getRecipePage(@Valid RecipePageReqVO pageReqVO) {
// 直接调用实现类的方法,无类型转换
PageResult<RecipeRespVO> pageResult = recipeService.getRecipePageWithDeviceId(pageReqVO);
return success(pageResult);
}
@GetMapping("/page")
@Operation(summary = "获得配方管理主分页")
@PreAuthorize("@ss.hasPermission('iot:recipe:query')")
public CommonResult<PageResult<RecipeRespVO>> getRecipePage(@Valid RecipePageReqVO pageReqVO) {
// 直接调用实现类的方法,无类型转换
PageResult<RecipeRespVO> pageResult = recipeService.getRecipePageWithDeviceId(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出配方管理主 Excel")

@ -9,7 +9,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;

@ -1,10 +1,10 @@
package cn.iocoder.yudao.module.iot.service.device;
import cn.iocoder.yudao.framework.common.pojo.DeviceEdgeData;
import com.alibaba.fastjson.JSON;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.taosdata.jdbc.utils.BlobUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
@ -15,11 +15,11 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.sql.Blob;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
@Service
@ -387,4 +387,145 @@ public class TDengineService {
return Collections.singletonList(createEmptyResult(id));
}
}
/**
* TDengine
*
*
* 1. TDengine d_{deviceId}
* 2.
* 3. latest
*
* @param deviceId ID
* @param startTime null
* @param endTime null
* @param latest true false
* @return timestamp / deviceId / queryData
*/
@DS("tdengine")
public Map<String, Object> getDeviceEdgeData(
Long deviceId,
String startTime,
String endTime,
boolean latest) {
// TDengine 子表名d_设备ID
String tableName = "d_" + deviceId;
// 构建 SQL
StringBuilder sql = new StringBuilder();
sql.append("SELECT ts, query_data ")
.append("FROM besure.").append(tableName)
.append(" WHERE 1=1 ");
// 起始时间条件
if (startTime != null) {
sql.append(" AND ts >= '").append(startTime).append("' ");
}
// 结束时间条件
if (endTime != null) {
sql.append(" AND ts <= '").append(endTime).append("' ");
}
// 根据 latest 决定排序方式
// latest = true -> 按时间倒序,取最新一条
// latest = false -> 按时间正序,取最早一条
sql.append(" ORDER BY ts ")
.append(latest ? "DESC" : "ASC")
.append(" LIMIT 1");
try {
return jdbcTemplate.query(sql.toString(), rs -> {
// 没有数据直接返回 null
if (!rs.next()) {
return null;
}
Map<String, Object> result = new HashMap<>();
result.put("timestamp", rs.getTimestamp("ts"));
result.put("deviceId", deviceId);
// 读取 query_data二进制字段
byte[] blob = rs.getBytes("query_data");
if (blob != null) {
// 转为字符串
String json = new String(blob, StandardCharsets.UTF_8).trim();
// 去除 TDengine 中可能存在的外层双引号
if (json.startsWith("\"") && json.endsWith("\"")) {
json = json.substring(1, json.length() - 1);
}
// 如果是十六进制字符串,先解码
if (isHexString(json)) {
json = hexToString(json);
}
// 统一约定queryData 始终返回 String由上层决定是否解析 JSON
result.put("queryData", json);
} else {
// 没有数据时返回空数组字符串
result.put("queryData", "[]");
}
return result;
});
} catch (Exception e) {
log.error("TDengine 查询失败deviceId={} td表不存在", deviceId);
return null;
}
}
/**
*
* @param deviceIds ID
* @param startTime , yyyy-MM-dd HH:mm:ss
* @param endTime , yyyy-MM-dd HH:mm:ss
* @return Map<deviceId, DeviceEdgeData>
*/
@DS("tdengine")
public Map<Long, DeviceEdgeData> queryDeviceFirstAndLast(Set<Long> deviceIds, String startTime, String endTime) {
if (deviceIds == null || deviceIds.isEmpty()) {
return Collections.emptyMap();
}
Map<Long, DeviceEdgeData> result = new HashMap<>();
for (Long deviceId : deviceIds) {
try {
// 查询首条数据
List<Map<String, Object>> firstList = getstDeviceDataOrderByTimeDesc(deviceId, startTime, endTime, 1);
Map<String, Object> firstData = firstList.isEmpty() ? null : firstList.get(0);
// 查询末条数据
List<Map<String, Object>> lastList = getstDeviceDataOrderByTimeDesc(deviceId, startTime, endTime, 1);
Map<String, Object> lastData = lastList.isEmpty() ? null : lastList.get(0);
DeviceEdgeData edgeData = new DeviceEdgeData();
edgeData.setDeviceId(deviceId);
if (firstData != null) {
edgeData.setFirstTs(((Timestamp) firstData.get("timestamp")).toLocalDateTime());
edgeData.setFirstData(JSON.toJSONString(firstData.get("queryData")));
}
if (lastData != null) {
edgeData.setLastTs(((Timestamp) lastData.get("timestamp")).toLocalDateTime());
edgeData.setLastData(JSON.toJSONString(lastData.get("queryData")));
}
result.put(deviceId, edgeData);
} catch (Exception e) {
log.error("查询设备首末数据失败, deviceId={}", deviceId, e);
}
}
return result;
}
}

@ -1,8 +1,6 @@
package cn.iocoder.yudao.module.iot.service.devicemodelattribute;
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
import cn.iocoder.yudao.module.iot.dal.dataobject.deviceattributetype.DeviceAttributeTypeDO;
import cn.iocoder.yudao.module.iot.dal.dataobject.devicemodel.DeviceModelDO;
import cn.iocoder.yudao.module.iot.dal.mysql.deviceattributetype.DeviceAttributeTypeMapper;
import cn.iocoder.yudao.module.iot.service.device.TDengineService;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -16,7 +14,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.sql.Wrapper;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -24,7 +21,6 @@ import java.util.stream.Collectors;
import cn.iocoder.yudao.module.iot.controller.admin.devicemodelattribute.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.devicemodelattribute.DeviceModelAttributeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.iot.dal.mysql.devicemodelattribute.DeviceModelAttributeMapper;

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.iot.service.recipedeviceattribute;
import cn.iocoder.yudao.module.iot.dal.dataobject.deviceattributetype.DeviceAttributeTypeDO;
import cn.iocoder.yudao.module.iot.service.device.TDengineService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
@ -13,14 +12,11 @@ import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
import cn.iocoder.yudao.module.iot.controller.admin.recipedeviceattribute.vo.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.recipedeviceattribute.RecipeDeviceAttributeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.iot.dal.mysql.recipedeviceattribute.RecipeDeviceAttributeMapper;

@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.mes.api.moldrepair;
import cn.iocoder.yudao.module.mes.api.moldrepair.dto.MoldRepairRespDTO;
import java.util.List;
/**
* API
*
* @author
*/
public interface MoldRepairApi {
/**
* ID
*
* @param moldId ID
* @return
*/
List<MoldRepairRespDTO> getRepairListByMoldId(Long moldId);
}

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.mes.api.moldrepair.dto;
import lombok.Data;
import java.time.LocalDateTime;
/**
* Response DTO
*
* @author
*/
@Data
public class MoldRepairRespDTO {
/**
* ID
*/
private Long id;
/**
*
*/
private String repairCode;
/**
*
*/
private String repairName;
/**
* ID
*/
private Long moldId;
/**
*
*/
private String moldCode;
/**
*
*/
private String moldName;
/**
*
*/
private LocalDateTime requireDate;
/**
*
*/
private LocalDateTime finishDate;
/**
*
*/
private String repairResult;
/**
* 0- 1-
*/
private Integer status;
}

@ -1,3 +0,0 @@
// TODO 待办:请将下面的错误码复制到 yudao-module-mes-api 模块的 ErrorCodeConstants 类中。注意请给“TODO 补充编号”设置一个错误码编号!!!
// ========== 质量管理-检验类型 TODO 补充编号 ==========
ErrorCode ZJ_TYPE_NOT_EXISTS = new ErrorCode(TODO , "质量管理-检验类型不存在");

@ -4,9 +4,9 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.iot.dal.mysql.device.DeviceMapper;
@ -14,8 +14,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketmanagement.MoldTicketManagementDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketmanagement.MoldTicketManagementDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO;
@ -27,7 +27,7 @@ import cn.iocoder.yudao.module.mes.dal.mysql.task.TaskMapper;
import cn.iocoder.yudao.module.mes.service.deviceledger.DeviceLedgerService;
import cn.iocoder.yudao.module.mes.service.devicetype.DeviceTypeService;
import cn.iocoder.yudao.module.mes.service.dvrepair.DvRepairService;
import cn.iocoder.yudao.module.mes.service.mold.MoldService;
import cn.iocoder.yudao.module.erp.service.mold.MoldService;
import cn.iocoder.yudao.module.mes.service.moldrepair.MoldRepairService;
import cn.iocoder.yudao.module.mes.service.moldticketmanagement.MoldTicketManagementService;
import cn.iocoder.yudao.module.mes.service.organization.OrganizationService;

@ -0,0 +1,49 @@
package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - 大屏各任务数统计 VO")
@Data
@ToString(callSuper = true)
public class EventStatisticsVO {
@Schema(description = "设备点检")
private int deviceInspection;
@Schema(description = "设备点检占比")
private String deviceInspectionProportion;
@Schema(description = "模具点检")
private int moldInspection;
@Schema(description = "模具点检占比")
private String moldInspectionProportion;
@Schema(description = "设备保养")
private int deviceMaintenance;
@Schema(description = "设备保养占比")
private String deviceMaintenanceProportion;
@Schema(description = "模具保养")
private int moldMaintenance;
@Schema(description = "模具保养占比")
private String moldMaintenanceProportion;
@Schema(description = "设备维修")
private int deviceRepair;
@Schema(description = "设备维修占比")
private String deviceRepairProportion;
@Schema(description = "模具维修")
private int moldRepair;
@Schema(description = "模具维修占比")
private String moldRepairProportion;
}

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo.dashboard;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
@Schema(description = "管理后台 - 大屏任务返回 VO")
@Data
@ToString(callSuper = true)
public class TaskVO {
@Schema(description = "编码")
private String code;
@Schema(description = "名称")
private String name;
@Schema(description = "类型")
private String type;
@Schema(description = "完成状态 0-待完成 1-已完成 2-已取消")
private String finishStatus;
@Schema(description = "完成结果 1-通过 2-不通过")
private int resultStatus;
}

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.mes.controller.admin.deviceledger;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.utils.ResumeNameUtils;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;

@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.criticalcomponent.CriticalComponentDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairLineDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.ticketresults.TicketResultsDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
@ -131,7 +131,7 @@ public class DeviceLedgerRespVO extends BaseDO {
private List<ErpProductDO> beijianList;
@Schema(description = "模具列表")
private List<MesMoldDO> moldList;
private List<MoldDO> moldList;
@Schema(description = "附件地址")
// @ExcelProperty("附件地址")

@ -7,13 +7,10 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairEnum;
import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.StatusEnum;
import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.enums.RepairStatusEnum;
import cn.iocoder.yudao.module.mes.controller.admin.dvrepair.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.vo.TicketInspectionExportVO;
import cn.iocoder.yudao.module.mes.controller.admin.ticketresults.vo.TicketResultsSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.dvrepair.DvRepairLineDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.ticketresults.TicketResultsDO;
import cn.iocoder.yudao.module.mes.service.dvrepair.DvRepairService;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@ -117,7 +114,7 @@ public class DvRepairController {
dvSubjectRespVO.setConfirmBy("(" + user.getUsername() + ")" + user.getNickname());
}
if (dvSubjectRespVO.getStatus() !=null) {
String statusName = StatusEnum.getDescriptionByCode(dvSubjectRespVO.getStatus());
String statusName = RepairStatusEnum.getDescriptionByCode(dvSubjectRespVO.getStatus());
dvSubjectRespVO.setStatusName(statusName);
}
if (dvSubjectRespVO.getRepairStatus() !=null) {

@ -13,7 +13,7 @@ import java.util.stream.Collectors;
* 0- 1-
*/
@Getter
public enum StatusEnum {
public enum RepairStatusEnum {
PENDING(0, "待完成"),
COMPLETED(1, "已完成");
@ -21,7 +21,7 @@ public enum StatusEnum {
private final Integer code;
private final String description;
StatusEnum(Integer code, String description) {
RepairStatusEnum(Integer code, String description) {
this.code = code;
this.description = description;
}
@ -29,11 +29,11 @@ public enum StatusEnum {
/**
* code
*/
public static StatusEnum getByCode(Integer code) {
public static RepairStatusEnum getByCode(Integer code) {
if (code == null) {
return null;
}
for (StatusEnum status : values()) {
for (RepairStatusEnum status : values()) {
if (status.getCode().equals(code)) {
return status;
}
@ -45,7 +45,7 @@ public enum StatusEnum {
* code
*/
public static String getDescriptionByCode(Integer code) {
StatusEnum status = getByCode(code);
RepairStatusEnum status = getByCode(code);
return status != null ? status.getDescription() : "未知";
}
@ -61,7 +61,7 @@ public enum StatusEnum {
*/
public static List<Integer> getAllCodes() {
return Arrays.stream(values())
.map(StatusEnum::getCode)
.map(RepairStatusEnum::getCode)
.collect(Collectors.toList());
}
@ -70,7 +70,7 @@ public enum StatusEnum {
*/
public static List<String> getAllDescriptions() {
return Arrays.stream(values())
.map(StatusEnum::getDescription)
.map(RepairStatusEnum::getDescription)
.collect(Collectors.toList());
}
@ -79,7 +79,7 @@ public enum StatusEnum {
*/
public static Map<Integer, String> getCodeDescriptionMap() {
Map<Integer, String> map = new LinkedHashMap<>();
for (StatusEnum status : values()) {
for (RepairStatusEnum status : values()) {
map.put(status.getCode(), status.getDescription());
}
return map;

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.energydevice.vo;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Map;
@Data
public class TimePointCache {
private LocalDateTime timestamp;
private String queryData;
private Map<Long, JSONObject> pointIndex;
}

@ -1,206 +0,0 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldBrandDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldBrandProductDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldDO;
import cn.iocoder.yudao.module.mes.service.mold.MoldBrandService;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 模具型号")
@RestController("mesMoldBrandController")
@RequestMapping("/mes/mold-brand")
@Validated
public class MoldBrandController {
@Resource
private MoldBrandService moldBrandService;
@PostMapping("/create")
@Operation(summary = "创建模具型号")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:create')")
public CommonResult<Long> createMoldBrand(@Valid @RequestBody MoldBrandSaveReqVO createReqVO) {
return success(moldBrandService.createMoldBrand(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新模具型号")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:update')")
public CommonResult<Boolean> updateMoldBrand(@Valid @RequestBody MoldBrandSaveReqVO updateReqVO) {
moldBrandService.updateMoldBrand(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除模具型号")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold-brand:delete')")
public CommonResult<Boolean> deleteMoldBrand(@RequestParam("id") Long id) {
moldBrandService.deleteMoldBrand(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得模具型号")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<MoldBrandRespVO> getMoldBrand(@RequestParam("id") Long id) {
MesMoldBrandDO moldBrand = moldBrandService.getMoldBrand(id);
return success(BeanUtils.toBean(moldBrand, MoldBrandRespVO.class));
}
@GetMapping("/getBrandList")
@Operation(summary = "获得模具型号列表")
public CommonResult<List<MesMoldBrandDO>> getBrandList(MoldBrandPageReqVO pageReqVO) {
List<MesMoldBrandDO> brandDOList = moldBrandService.selectBy(pageReqVO);
return success(brandDOList);
}
@GetMapping("/page")
@Operation(summary = "获得模具型号分页")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<PageResult<MoldBrandRespVO>> getMoldBrandPage(@Valid MoldBrandPageReqVO pageReqVO) {
PageResult<MoldBrandRespVO> pageResult = moldBrandService.getMoldBrandPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出模具型号 Excel")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMoldBrandExcel(@Valid MoldBrandPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<MoldBrandRespVO> list = moldBrandService.getMoldBrandPage(pageReqVO).getList();
List<MoldBrandRespVO> moldBrandRespVOS = BeanUtils.toBean(list, MoldBrandRespVO.class);
// 导出 Excel
ExcelUtils.write(response, "模具型号.xls", "数据", MoldBrandRespVO.class, moldBrandRespVOS);
}
// ==================== 子表(模具) ====================
@GetMapping("/getMoldList")
@Operation(summary = "获得模具型号")
public CommonResult<List<MesMoldDO>> getMoldList(MesMoldDO moldDO) {
List<MesMoldDO> doList = moldBrandService.selectBy(moldDO);
return success(doList);
}
@GetMapping("/getMoldAllList")
@Operation(summary = "获得模具型号")
public CommonResult<List<MesMoldDO>> getMoldAllList() {
List<MesMoldDO> doList = moldBrandService.getAllList();
return success(doList);
}
@GetMapping("/mold/page")
@Operation(summary = "获得模具分页")
@Parameter(name = "brandId", description = "型号id")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<PageResult<MoldRespVO>> getMoldPage(PageParam pageReqVO, @RequestParam(value = "brandId", required = false) Long brandId) {
return success(moldBrandService.getMoldPage(pageReqVO, brandId));
}
@GetMapping("/mold/list")
@Operation(summary = "获得模具列表")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<List<MesMoldDO>> getMoldList() {
List<MesMoldDO> moldDOList = moldBrandService.getMoldList();
return success(moldDOList);
}
@PostMapping("/mold/create")
@Operation(summary = "创建模具")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:create')")
public CommonResult<Long> createMold(@Valid @RequestBody MesMoldDO mold) {
return success(moldBrandService.createMold(mold));
}
@PutMapping("/mold/update")
@Operation(summary = "更新模具")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:update')")
public CommonResult<Boolean> updateMold(@Valid @RequestBody MesMoldDO mold) {
moldBrandService.updateMold(mold);
return success(true);
}
@DeleteMapping("/mold/delete")
@Parameter(name = "id", description = "编号", required = true)
@Operation(summary = "删除模具")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:delete')")
public CommonResult<Boolean> deleteMold(@RequestParam("id") Long id) {
moldBrandService.deleteMold(id);
return success(true);
}
@GetMapping("/mold/get")
@Operation(summary = "获得模具")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<MesMoldDO> getMold(@RequestParam("id") Long id) {
return success(moldBrandService.getMold(id));
}
// ==================== 子表(模具产品) ====================
@GetMapping("/mold-brand-product/page")
@Operation(summary = "获得模具产品分页")
@Parameter(name = "brandId", description = "型号ID")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<PageResult<MoldProductRespVO>> getMoldBrandProductPage(PageParam pageReqVO,
@RequestParam("brandId") Long brandId) {
PageResult<MesMoldBrandProductDO> pageResult = moldBrandService.getMoldBrandProductPage(pageReqVO, brandId);
PageResult<MoldProductRespVO> result = new PageResult<>(moldBrandService.buildProduct(pageResult.getList()),pageResult.getTotal());
return success(result);
}
@PostMapping("/mold-brand-product/create")
@Operation(summary = "创建模具产品")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:create')")
public CommonResult<Long> createMoldBrandProduct(@Valid @RequestBody MesMoldBrandProductDO moldBrandProduct) {
return success(moldBrandService.createMoldBrandProduct(moldBrandProduct));
}
@PutMapping("/mold-brand-product/update")
@Operation(summary = "更新模具产品")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:update')")
public CommonResult<Boolean> updateMoldBrandProduct(@Valid @RequestBody MesMoldBrandProductDO moldBrandProduct) {
moldBrandService.updateMoldBrandProduct(moldBrandProduct);
return success(true);
}
@DeleteMapping("/mold-brand-product/delete")
@Parameter(name = "id", description = "编号", required = true)
@Operation(summary = "删除模具产品")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:delete')")
public CommonResult<Boolean> deleteMoldBrandProduct(@RequestParam("id") Long id) {
moldBrandService.deleteMoldBrandProduct(id);
return success(true);
}
@GetMapping("/mold-brand-product/get")
@Operation(summary = "获得模具产品")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<MesMoldBrandProductDO> getMoldBrandProduct(@RequestParam("id") Long id) {
return success(moldBrandService.getMoldBrandProduct(id));
}
}

@ -1,94 +0,0 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldDO;
import cn.iocoder.yudao.module.mes.service.mold.MoldService;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.MoldPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.MoldSaveReqVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 模具")
@RestController("mesMoldController")
@RequestMapping("/mes/mold")
@Validated
public class MoldController {
@Resource
private MoldService moldService;
@PostMapping("/create")
@Operation(summary = "创建模具")
@PreAuthorize("@ss.hasPermission('erp:mold:create')")
public CommonResult<Long> createMold(@Valid @RequestBody MoldSaveReqVO createReqVO) {
return success(moldService.createMold(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新模具")
@PreAuthorize("@ss.hasPermission('erp:mold:update')")
public CommonResult<Boolean> updateMold(@Valid @RequestBody MoldSaveReqVO updateReqVO) {
moldService.updateMold(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除模具")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold:delete')")
public CommonResult<Boolean> deleteMold(@RequestParam("id") Long id) {
moldService.deleteMold(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得模具")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('erp:mold:query')")
public CommonResult<MoldRespVO> getMold(@RequestParam("id") Long id) {
MesMoldDO mold = moldService.getMold(id);
return success(BeanUtils.toBean(mold, MoldRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得模具分页")
@PreAuthorize("@ss.hasPermission('erp:mold:query')")
public CommonResult<PageResult<MoldRespVO>> getMoldPage(@Valid MoldPageReqVO pageReqVO) {
PageResult<MesMoldDO> pageResult = moldService.getMoldPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, MoldRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出模具 Excel")
@PreAuthorize("@ss.hasPermission('erp:mold:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMoldExcel(@Valid MoldPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<MesMoldDO> list = moldService.getMoldPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "模具.xls", "数据", MoldRespVO.class,
BeanUtils.toBean(list, MoldRespVO.class));
}
}

@ -1,35 +0,0 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrgTypeStatusEnum {
zhijiang("zhijiang", "制浆"),
duidie("duidie", "堆叠"),
chengxing("chengxing", "成型"),
honggan("honggan", "烘干"),
zhuanyi("zhuanyi", "转移"),
jiashi("jiashi", "加湿"),
reya("reya", "热压"),
qiebian("qiebian", "切边"),
pinjian("pinjian", "品检"),
dabao("dabao", "打包"),
tiebiao("tiebiao", "贴标"),
sufeng("sufeng", "塑封"),
pinyin("pinyin", "品印");
private final String orgtype;
private final String description;
public static OrgTypeStatusEnum getByCode(String code) {
for (OrgTypeStatusEnum status : values()) {
if (status.getOrgtype().equals(code)) {
return status;
}
}
return null;
}
}

@ -1,86 +0,0 @@
package cn.iocoder.yudao.module.mes.controller.admin.mold.vo;
import cn.iocoder.yudao.module.mes.controller.admin.mold.enums.OrgTypeStatusEnum;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import org.springframework.stereotype.Component;
/**
*
*/
@Component("mesOrgTypeConverter")
public class OrgTypeConverter implements Converter<String> { // 泛型改为 String对应英文字符串
/**
* ExcelExcel/ Java
*/
@Override
public String convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
String cellValue = cellData.getStringValue();
if (cellValue == null || cellValue.trim().isEmpty()) {
return null;
}
// 优先匹配中文 → 转换为对应的英文常量名
for (OrgTypeStatusEnum status : OrgTypeStatusEnum.values()) {
if (status.getDescription().equals(cellValue)) { // 注意枚举的描述方法是 getDesc
return status.name(); // 返回枚举的英文常量名(如 IN_USE
}
}
// 匹配英文 → 直接返回兼容Excel中填英文的场景
for (OrgTypeStatusEnum status : OrgTypeStatusEnum.values()) {
if (status.name().equals(cellValue)) {
return cellValue;
}
}
// 无匹配则抛出异常
throw new IllegalArgumentException("设备状态格式错误: " + cellValue + ",仅支持中文(在机/在库/维修中/保养中/报废或英文IN_USE/IN_STOCK/UNDER_REPAIR/UNDER_MAINTENANCE/SCRAPPED");
}
/**
* ExcelJava Excel
*/
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
if (value == null || value.trim().isEmpty()) {
return new WriteCellData<>("");
}
// 根据英文常量名匹配枚举,转换为中文
OrgTypeStatusEnum status = null;
try {
status = OrgTypeStatusEnum.valueOf(value); // 通过英文名称获取枚举
} catch (IllegalArgumentException e) {
// 若英文匹配失败,尝试兜底匹配中文(兼容异常场景)
for (OrgTypeStatusEnum s : OrgTypeStatusEnum.values()) {
if (s.getDescription().equals(value)) {
status = s;
break;
}
}
}
String text = status != null ? status.getDescription() : "未知";
return new WriteCellData<>(text);
}
// 必须实现的接口方法指定转换的Java类型
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
// 必须实现的接口方法指定Excel单元格类型
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
}

@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.moldoperate;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.mold.vo.MoldSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.mold.MesMoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldSaveReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO;
import cn.iocoder.yudao.module.mes.service.mold.MoldService;
import cn.iocoder.yudao.module.erp.service.mold.MoldService;
import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.vo.DeviceLedgerRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.vo.DeviceLedgerSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
@ -66,7 +66,7 @@ public class MoldOperateController {
public CommonResult<Long> createMoldOperate(@Valid @RequestBody MoldOperateSaveReqVO createReqVO) {
if (Objects.equals(createReqVO.getOperateType(), "1")) {
DeviceLedgerDO deviceLedger = deviceLedgerService.getDeviceLedger(createReqVO.getDeviceId());
MesMoldDO moldDO = moldService.getMold(createReqVO.getMoldId());
MoldDO moldDO = moldService.getMold(createReqVO.getMoldId());
moldDO.setMachineId(createReqVO.getDeviceId());
moldDO.setMachineName(deviceLedger.getDeviceName());
moldDO.setStatus(0); // 在机 0 在库 1
@ -76,7 +76,7 @@ public class MoldOperateController {
} else {
DeviceLedgerDO deviceLedger = deviceLedgerService.getDeviceLedger(createReqVO.getDeviceId());
createReqVO.setMoldId(Long.parseLong(deviceLedger.getMoldId()));
MesMoldDO moldDO = moldService.getMold(Long.parseLong(deviceLedger.getMoldId()));
MoldDO moldDO = moldService.getMold(Long.parseLong(deviceLedger.getMoldId()));
moldDO.setMachineId(0L);
moldDO.setMachineName("");
moldDO.setStatus(3); // 在机 0 在库 1

@ -6,12 +6,12 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairUpdateReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineRespVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairLineSaveReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairUpdateReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.mes.service.moldrepair.MoldRepairService;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save