haungxing
1 year ago
34 changed files with 1049 additions and 6 deletions
@ -0,0 +1,36 @@
|
||||
package com.hnac.hzims.emParam.dto; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
import java.util.List; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份DTO对象") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsDTO extends ParamBackupsEntity implements Serializable { |
||||
|
||||
|
||||
@ApiModelProperty("开始时间") |
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
private LocalDateTime startTime; |
||||
|
||||
@ApiModelProperty("结束时间") |
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
private LocalDateTime endTime; |
||||
|
||||
@ApiModelProperty("参数备份详情列表") |
||||
private List<ParamBackupsDetailDTO> details; |
||||
|
||||
} |
@ -0,0 +1,15 @@
|
||||
package com.hnac.hzims.emParam.dto; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份详情DTO对象") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsDetailDTO extends ParamBackupsDetailEntity implements Serializable { |
||||
|
||||
} |
@ -0,0 +1,42 @@
|
||||
package com.hnac.hzims.emParam.dto; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@ApiModel("下发参数") |
||||
@Data |
||||
@EqualsAndHashCode |
||||
public class ParamDTO implements Serializable { |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
private String name; |
||||
|
||||
@ApiModelProperty("标识") |
||||
private String signage; |
||||
|
||||
@ApiModelProperty("关联设备") |
||||
private String facDeviceId; |
||||
|
||||
@ApiModelProperty("hz3000关联id") |
||||
private String facDeviceFuncId; |
||||
|
||||
@ApiModelProperty("参数标识") |
||||
private String parameterTag; |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
private String parameterName; |
||||
|
||||
@ApiModelProperty("值") |
||||
private String value; |
||||
|
||||
@ApiModelProperty("最大值") |
||||
private String maxValue; |
||||
|
||||
@ApiModelProperty("最小值") |
||||
private String minValue; |
||||
|
||||
} |
@ -0,0 +1,37 @@
|
||||
package com.hnac.hzims.emParam.dto; |
||||
|
||||
import com.hnac.hzims.emParam.vo.ParamVO; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import javax.validation.constraints.NotBlank; |
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
@ApiModel("参数下发请求体") |
||||
@Data |
||||
@EqualsAndHashCode |
||||
public class ParamDistributeDTO implements Serializable { |
||||
|
||||
@ApiModelProperty("站点编号") |
||||
@NotBlank |
||||
private String stationCode; |
||||
|
||||
@ApiModelProperty("设备编码") |
||||
@NotBlank |
||||
private String emCode; |
||||
|
||||
@ApiModelProperty("是否延迟发布") |
||||
private Boolean delay; |
||||
|
||||
@ApiModelProperty("机器码") |
||||
@NotBlank |
||||
private String machineCode; |
||||
|
||||
@ApiModelProperty("参数列表") |
||||
@NotBlank |
||||
private List<ParamDTO> paramList; |
||||
|
||||
} |
@ -0,0 +1,54 @@
|
||||
package com.hnac.hzims.emParam.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import org.springblade.core.mp.support.QueryField; |
||||
import org.springblade.core.mp.support.SqlCondition; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份详情表") |
||||
@TableName("HZIMS_PARAM_BACKUPS_DETAIL") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsDetailEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("备份主表ID") |
||||
private Long backupsId; |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String name; |
||||
|
||||
@ApiModelProperty("标识") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String signage; |
||||
|
||||
@ApiModelProperty("关联设备") |
||||
private String facDeviceId; |
||||
|
||||
@ApiModelProperty("hz3000关联id") |
||||
private String facDeviceFuncId; |
||||
|
||||
@ApiModelProperty("参数标识") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String parameterTag; |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String parameterName; |
||||
|
||||
@ApiModelProperty("值") |
||||
private String value; |
||||
|
||||
@ApiModelProperty("最大值") |
||||
private String maxValue; |
||||
|
||||
@ApiModelProperty("最小值") |
||||
private String minValue; |
||||
|
||||
} |
@ -0,0 +1,41 @@
|
||||
package com.hnac.hzims.emParam.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.SqlCondition; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import org.springblade.core.mp.support.QueryField; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份表") |
||||
@TableName("hzims_param_backups") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("备份名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String name; |
||||
|
||||
@ApiModelProperty("站点编号") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String stationCode; |
||||
|
||||
@ApiModelProperty("设备编号") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String emCode; |
||||
|
||||
@ApiModelProperty("是否延迟发布") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Boolean delay; |
||||
|
||||
@ApiModelProperty("机器码") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String machineCode; |
||||
|
||||
} |
@ -0,0 +1,63 @@
|
||||
package com.hnac.hzims.emParam.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.SqlCondition; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import org.springblade.core.mp.support.QueryField; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@ApiModel("HZ100C参数模板实体类") |
||||
@EqualsAndHashCode |
||||
@Data |
||||
@TableName("HZIMS_EM_PARAM_MODEL") |
||||
public class ParamModelEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("编号") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String code; |
||||
|
||||
@ApiModelProperty("名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String name; |
||||
|
||||
@ApiModelProperty("单位") |
||||
private String unit; |
||||
|
||||
@ApiModelProperty("小数位") |
||||
private Integer decimalDigit; |
||||
|
||||
@ApiModelProperty("最大值") |
||||
private Double maxValue; |
||||
|
||||
@ApiModelProperty("最小值") |
||||
private Double minValue; |
||||
|
||||
@ApiModelProperty("宽度") |
||||
private Double width; |
||||
|
||||
@ApiModelProperty("类型") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Integer type; |
||||
|
||||
@ApiModelProperty("数据类型") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Integer dataType; |
||||
|
||||
@ApiModelProperty("地址") |
||||
private Integer address; |
||||
|
||||
@ApiModelProperty("起始位") |
||||
private Integer initDigital; |
||||
|
||||
@ApiModelProperty("所在显示组") |
||||
private Integer group; |
||||
|
||||
@ApiModelProperty("注释") |
||||
private String remark; |
||||
|
||||
} |
@ -0,0 +1 @@
|
||||
### HZ100C 参数下发功能 |
@ -0,0 +1,15 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份详情VO对象") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsDetailVO extends ParamBackupsDetailEntity implements Serializable { |
||||
|
||||
} |
@ -0,0 +1,20 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
@Data |
||||
@ApiModel("下发参数备份VO对象") |
||||
@EqualsAndHashCode |
||||
public class ParamBackupsVO extends ParamBackupsEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("下发参数备份参数列表") |
||||
private List<ParamBackupsDetailVO> detailList; |
||||
|
||||
} |
@ -0,0 +1,21 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("HZ100C参数分组VO") |
||||
@EqualsAndHashCode |
||||
public class ParamGroupVO implements Serializable { |
||||
|
||||
@ApiModelProperty("参数分组ID") |
||||
private String groupId; |
||||
|
||||
@ApiModelProperty("参数分组名称") |
||||
private String groupName; |
||||
|
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
@Data |
||||
@ApiModel("HZ100C参数树VO") |
||||
@EqualsAndHashCode |
||||
public class ParamTreeVO implements Serializable { |
||||
|
||||
@ApiModelProperty("参数分组") |
||||
private ParamGroupVO paramGroup; |
||||
|
||||
@ApiModelProperty("参数列表") |
||||
private List<ParamVO> paramList; |
||||
|
||||
} |
@ -0,0 +1,64 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName ParamVO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-17 14:13 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("HZ100C参数VO") |
||||
@EqualsAndHashCode |
||||
public class ParamVO implements Serializable { |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
private String name; |
||||
|
||||
@ApiModelProperty("标识") |
||||
private String signage; |
||||
|
||||
@ApiModelProperty("关联设备") |
||||
private String facDeviceId; |
||||
|
||||
@ApiModelProperty("hz3000关联id") |
||||
private String facDeviceAttrId; |
||||
|
||||
@ApiModelProperty("参数标识") |
||||
private String parameterTag; |
||||
|
||||
@ApiModelProperty("参数名称") |
||||
private String parameterName; |
||||
|
||||
@ApiModelProperty("是否只读") |
||||
private Integer isReadOnly; |
||||
|
||||
@ApiModelProperty("数据类型") |
||||
private String dbType; |
||||
|
||||
@ApiModelProperty("参数分组") |
||||
private Long modelClassifyId; |
||||
|
||||
@ApiModelProperty("参数分组名称") |
||||
private String modelClassifyName; |
||||
|
||||
@ApiModelProperty("单位") |
||||
private String units; |
||||
|
||||
@ApiModelProperty("值") |
||||
private String value; |
||||
|
||||
@ApiModelProperty("最大值") |
||||
private String maxValue; |
||||
|
||||
@ApiModelProperty("最小值") |
||||
private String minValue; |
||||
|
||||
} |
@ -0,0 +1,27 @@
|
||||
package com.hnac.hzims.emParam.vo; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@Data |
||||
@ApiModel("实时数据VO对象") |
||||
@EqualsAndHashCode |
||||
public class RealDataVO implements Serializable { |
||||
|
||||
@ApiModelProperty("采集点ID") |
||||
private String realId; |
||||
|
||||
@ApiModelProperty("采集点实时数据") |
||||
private String value; |
||||
|
||||
@ApiModelProperty("采集点时间") |
||||
private String time; |
||||
|
||||
@ApiModelProperty("有效值") |
||||
private String q; |
||||
|
||||
} |
@ -0,0 +1,26 @@
|
||||
package com.hnac.hzims.emParam.wrapper; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsDetailVO; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsVO; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
|
||||
/** |
||||
* @ClassName ParamBackupsDetailWrapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-17 17:07 |
||||
* @Version 4.0 |
||||
**/ |
||||
public class ParamBackupsDetailWrapper extends BaseEntityWrapper<ParamBackupsDetailEntity, ParamBackupsDetailVO> { |
||||
public static ParamBackupsDetailWrapper build() { |
||||
return new ParamBackupsDetailWrapper(); |
||||
} |
||||
@Override |
||||
public ParamBackupsDetailVO entityVO(ParamBackupsDetailEntity entity) { |
||||
ParamBackupsDetailVO vo = BeanUtil.copy(entity, ParamBackupsDetailVO.class); |
||||
return vo; |
||||
} |
||||
} |
@ -0,0 +1,21 @@
|
||||
package com.hnac.hzims.emParam.wrapper; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsVO; |
||||
import org.apache.ibatis.reflection.wrapper.BaseWrapper; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
|
||||
|
||||
public class ParamBackupsWrapper extends BaseEntityWrapper<ParamBackupsEntity,ParamBackupsVO> { |
||||
|
||||
public static ParamBackupsWrapper build() { |
||||
return new ParamBackupsWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public ParamBackupsVO entityVO(ParamBackupsEntity entity) { |
||||
ParamBackupsVO vo = BeanUtil.copy(entity,ParamBackupsVO.class); |
||||
return vo; |
||||
} |
||||
} |
@ -0,0 +1,67 @@
|
||||
package com.hnac.hzims.emParam.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||
import com.hnac.hzims.common.utils.Condition; |
||||
import com.hnac.hzims.emParam.dto.ParamBackupsDTO; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import com.hnac.hzims.emParam.service.IParamBackupsService; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsVO; |
||||
import com.hnac.hzims.emParam.wrapper.ParamBackupsWrapper; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiParam; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springblade.core.boot.ctrl.BladeController; |
||||
import org.springblade.core.mp.support.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
@RestController |
||||
@RequestMapping("/emParam/backups") |
||||
@Api(value = "HZ100C参数下发备份管理",tags = "HZ100C参数下发备份管理") |
||||
@AllArgsConstructor |
||||
public class ParamBackupsController extends BladeController { |
||||
|
||||
private final IParamBackupsService paramBackupsService; |
||||
|
||||
@GetMapping("/listPage") |
||||
@ApiOperation("分页查询") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<IPage> listPage(ParamBackupsDTO request, Query query) { |
||||
IPage page = paramBackupsService.page(Condition.getPage(query),paramBackupsService.getQueryWrapper(request)); |
||||
page.setRecords(ParamBackupsWrapper.build().listVO(page.getRecords())); |
||||
return R.data(page); |
||||
} |
||||
|
||||
@DeleteMapping("/remove/{ids}") |
||||
@ApiOperation("删除备份") |
||||
@ApiOperationSupport(order = 2) |
||||
public R remove(@PathVariable @ApiParam("主键,按,分隔") String ids) { |
||||
return R.status(paramBackupsService.removeByIds(Func.toLongList(",",ids))); |
||||
} |
||||
|
||||
@PostMapping("/save") |
||||
@ApiOperation("新增") |
||||
@ApiOperationSupport(order = 3) |
||||
public R save(@RequestBody ParamBackupsDTO request) { |
||||
return R.status(paramBackupsService.save(request)); |
||||
} |
||||
|
||||
@GetMapping("/detail/{id}") |
||||
@ApiOperation("查看详情") |
||||
@ApiOperationSupport(order = 4) |
||||
public R<ParamBackupsVO> detail(@PathVariable @ApiParam("主键") Long id) { |
||||
return R.data(paramBackupsService.detail(id)); |
||||
} |
||||
|
||||
@PutMapping("/updateById") |
||||
@ApiOperation("编辑") |
||||
@ApiOperationSupport(order = 5) |
||||
public R updateById(@RequestBody ParamBackupsDTO request) { |
||||
return R.status(paramBackupsService.updateById(request)); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,39 @@
|
||||
package com.hnac.hzims.emParam.controller; |
||||
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||
import com.hnac.hzims.emParam.dto.ParamDistributeDTO; |
||||
import com.hnac.hzims.emParam.service.IParamService; |
||||
import com.hnac.hzims.emParam.vo.ParamTreeVO; |
||||
import com.hnac.hzinfo.sdk.core.response.Result; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springblade.core.boot.ctrl.BladeController; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.List; |
||||
|
||||
@RequestMapping("/param") |
||||
@AllArgsConstructor |
||||
@RestController |
||||
@Api(value = "参数下发管理",tags = "参数下发管理") |
||||
public class ParamController extends BladeController { |
||||
|
||||
private final IParamService paramService; |
||||
|
||||
@GetMapping("/recall") |
||||
@ApiOperation("召回参数") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<List<ParamTreeVO>> recall(String emCode, String stationCode) { |
||||
return R.data(paramService.recall(emCode,stationCode)); |
||||
} |
||||
|
||||
@PostMapping("/distribute") |
||||
@ApiOperation("下发参数") |
||||
@ApiOperationSupport(order = 2) |
||||
public Result<Object> distribute(@RequestBody ParamDistributeDTO req) { |
||||
return paramService.distribute(req); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,8 @@
|
||||
package com.hnac.hzims.emParam.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
|
||||
public interface ParamBackupsDetailMapper extends BaseMapper<ParamBackupsDetailEntity> { |
||||
} |
@ -0,0 +1,9 @@
|
||||
package com.hnac.hzims.emParam.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import org.apache.ibatis.reflection.wrapper.BaseWrapper; |
||||
|
||||
public interface ParamBackupsMapper extends BaseMapper<ParamBackupsEntity> { |
||||
|
||||
} |
@ -0,0 +1,10 @@
|
||||
package com.hnac.hzims.emParam.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.emParam.entity.ParamModelEntity; |
||||
|
||||
public interface ParamModelMapper extends BaseMapper<ParamModelEntity> { |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1 @@
|
||||
### HZ100C 参数下发功能 |
@ -0,0 +1,8 @@
|
||||
package com.hnac.hzims.emParam.service; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
public interface IParamBackupsDetailService extends BaseService<ParamBackupsDetailEntity> { |
||||
|
||||
} |
@ -0,0 +1,30 @@
|
||||
package com.hnac.hzims.emParam.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.hnac.hzims.common.utils.Condition; |
||||
import com.hnac.hzims.emParam.dto.ParamBackupsDTO; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsVO; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
||||
public interface IParamBackupsService extends BaseService<ParamBackupsEntity> { |
||||
|
||||
Boolean save(ParamBackupsDTO request); |
||||
|
||||
ParamBackupsVO detail(Long id); |
||||
|
||||
Boolean updateById(ParamBackupsDTO request); |
||||
|
||||
default LambdaQueryWrapper<ParamBackupsEntity> getQueryWrapper(ParamBackupsDTO request) { |
||||
ParamBackupsEntity paramBackupsEntity = BeanUtil.copy(request, ParamBackupsEntity.class); |
||||
LambdaQueryWrapper<ParamBackupsEntity> queryWrapper = Condition.getQueryWrapper(ParamBackupsEntity.class, paramBackupsEntity); |
||||
queryWrapper.ge(Func.isNotEmpty(request.getStartTime()),ParamBackupsEntity::getCreateTime,request.getStartTime()); |
||||
queryWrapper.le(Func.isNotEmpty(request.getEndTime()),ParamBackupsEntity::getCreateTime,request.getEndTime()); |
||||
queryWrapper.orderByDesc(ParamBackupsEntity::getCreateTime); |
||||
return queryWrapper; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,7 @@
|
||||
package com.hnac.hzims.emParam.service; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamModelEntity; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
public interface IParamModelService extends BaseService<ParamModelEntity> { |
||||
} |
@ -0,0 +1,13 @@
|
||||
package com.hnac.hzims.emParam.service; |
||||
|
||||
import com.hnac.hzims.emParam.dto.ParamDistributeDTO; |
||||
import com.hnac.hzims.emParam.vo.ParamTreeVO; |
||||
import com.hnac.hzinfo.sdk.core.response.Result; |
||||
|
||||
import java.util.List; |
||||
|
||||
public interface IParamService { |
||||
List<ParamTreeVO> recall(String emCode, String stationCode); |
||||
|
||||
Result<Object> distribute(ParamDistributeDTO req); |
||||
} |
@ -0,0 +1,18 @@
|
||||
package com.hnac.hzims.emParam.service.impl; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import com.hnac.hzims.emParam.mapper.ParamBackupsDetailMapper; |
||||
import com.hnac.hzims.emParam.service.IParamBackupsDetailService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class ParamBackupsDetailServiceImpl extends BaseServiceImpl<ParamBackupsDetailMapper, ParamBackupsDetailEntity> implements IParamBackupsDetailService { |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,90 @@
|
||||
package com.hnac.hzims.emParam.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.emParam.dto.ParamBackupsDTO; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsDetailEntity; |
||||
import com.hnac.hzims.emParam.entity.ParamBackupsEntity; |
||||
import com.hnac.hzims.emParam.mapper.ParamBackupsDetailMapper; |
||||
import com.hnac.hzims.emParam.mapper.ParamBackupsMapper; |
||||
import com.hnac.hzims.emParam.service.IParamBackupsDetailService; |
||||
import com.hnac.hzims.emParam.service.IParamBackupsService; |
||||
import com.hnac.hzims.emParam.vo.ParamBackupsVO; |
||||
import com.hnac.hzims.emParam.wrapper.ParamBackupsDetailWrapper; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springblade.core.tool.utils.ObjectUtil; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
import org.springframework.util.Assert; |
||||
|
||||
import javax.sql.rowset.serial.SerialException; |
||||
import java.util.List; |
||||
import java.util.Objects; |
||||
import java.util.stream.Collectors; |
||||
|
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class ParamBackupsServiceImpl extends BaseServiceImpl<ParamBackupsMapper, ParamBackupsEntity> implements IParamBackupsService { |
||||
|
||||
private final IParamBackupsDetailService detailService; |
||||
|
||||
@Override |
||||
@Transactional |
||||
public Boolean save(ParamBackupsDTO request) { |
||||
Assert.isTrue(CollectionUtil.isNotEmpty(request.getDetails()),() -> { |
||||
throw new ServiceException("备份参数不能为空!"); |
||||
}); |
||||
ParamBackupsEntity paramBackupsEntity = BeanUtil.copy(request,ParamBackupsEntity.class); |
||||
if(this.save(paramBackupsEntity)) { |
||||
List<ParamBackupsDetailEntity> detailList = request.getDetails().stream() |
||||
.map(d -> BeanUtil.copy(d, ParamBackupsDetailEntity.class)).filter(Objects::nonNull) |
||||
.peek(d -> d.setBackupsId(paramBackupsEntity.getId())).collect(Collectors.toList()); |
||||
Assert.isTrue(detailService.saveBatch(detailList),() -> { |
||||
throw new ServiceException("保存备份参数列表失败!"); |
||||
}); |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public ParamBackupsVO detail(Long id) { |
||||
ParamBackupsEntity paramBackupsEntity = this.getById(id); |
||||
Assert.isTrue(Func.isNotEmpty(paramBackupsEntity),() -> { |
||||
throw new ServiceException("未查询到相关记录!"); |
||||
}); |
||||
ParamBackupsVO result = BeanUtil.copy(paramBackupsEntity,ParamBackupsVO.class); |
||||
LambdaQueryWrapper<ParamBackupsDetailEntity> detailQuery = Wrappers.<ParamBackupsDetailEntity>lambdaQuery().eq(ParamBackupsDetailEntity::getBackupsId, id); |
||||
List<ParamBackupsDetailEntity> detailList = detailService.list(detailQuery); |
||||
result.setDetailList(ParamBackupsDetailWrapper.build().listVO(detailList)); |
||||
return result; |
||||
} |
||||
|
||||
@Override |
||||
@Transactional |
||||
public Boolean updateById(ParamBackupsDTO request) { |
||||
Assert.isTrue(CollectionUtil.isNotEmpty(request.getDetails()),() -> { |
||||
throw new ServiceException("备份参数不能为空!"); |
||||
}); |
||||
ParamBackupsEntity paramBackupsEntity = BeanUtil.copy(request,ParamBackupsEntity.class); |
||||
if(this.updateById(paramBackupsEntity)) { |
||||
List<ParamBackupsDetailEntity> detailList = request.getDetails().stream() |
||||
.map(d -> BeanUtil.copy(d, ParamBackupsDetailEntity.class)).filter(Objects::nonNull) |
||||
.peek(d -> d.setBackupsId(paramBackupsEntity.getId())).collect(Collectors.toList()); |
||||
Assert.isTrue(detailService.saveOrUpdateBatch(detailList),() -> { |
||||
throw new ServiceException("保存备份参数列表失败!"); |
||||
}); |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
|
||||
} |
@ -0,0 +1,17 @@
|
||||
package com.hnac.hzims.emParam.service.impl; |
||||
|
||||
import com.hnac.hzims.emParam.entity.ParamModelEntity; |
||||
import com.hnac.hzims.emParam.mapper.ParamModelMapper; |
||||
import com.hnac.hzims.emParam.service.IParamModelService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class ParamModelServiceImpl extends BaseServiceImpl<ParamModelMapper, ParamModelEntity> implements IParamModelService { |
||||
|
||||
} |
@ -0,0 +1,166 @@
|
||||
package com.hnac.hzims.emParam.service.impl; |
||||
|
||||
import com.alibaba.fastjson.JSON; |
||||
import com.alibaba.fastjson.JSONArray; |
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.google.common.collect.Lists; |
||||
import com.hnac.hzims.emParam.dto.ParamDTO; |
||||
import com.hnac.hzims.emParam.dto.ParamDistributeDTO; |
||||
import com.hnac.hzims.emParam.service.IParamService; |
||||
import com.hnac.hzims.emParam.vo.ParamGroupVO; |
||||
import com.hnac.hzims.emParam.vo.ParamTreeVO; |
||||
import com.hnac.hzims.emParam.vo.ParamVO; |
||||
import com.hnac.hzims.emParam.vo.RealDataVO; |
||||
import com.hnac.hzims.equipment.entity.EmInfoEntity; |
||||
import com.hnac.hzims.equipment.service.IEmInfoService; |
||||
import com.hnac.hzinfo.datasearch.analyse.IAnalyseDataSearchClient; |
||||
import com.hnac.hzinfo.datasearch.analyse.domain.FieldsData; |
||||
import com.hnac.hzinfo.datasearch.real.po.RealDataSearchPO; |
||||
import com.hnac.hzinfo.sdk.core.response.Result; |
||||
import com.hnac.hzinfo.sdk.v5.control.ControlClient; |
||||
import com.hnac.hzinfo.sdk.v5.control.dto.ControlBatchDTO; |
||||
import com.hnac.hzinfo.sdk.v5.control.dto.Ctrl; |
||||
import com.hnac.hzinfo.sdk.v5.device.DeviceDataClient; |
||||
import com.hnac.hzinfo.sdk.v5.device.client.DeviceClient; |
||||
import com.hnac.hzinfo.sdk.v5.device.dto.DeviceDataDTO; |
||||
import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceAttrVO; |
||||
import com.hnac.hzinfo.sdk.v5.device.vo.DeviceInstanceFuncVO; |
||||
import com.hnac.hzinfo.sdk.v5.redis.RedisClient; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springblade.core.log.logger.BladeLogger; |
||||
import org.springblade.core.secure.utils.AuthUtil; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springblade.core.tool.utils.StringUtil; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.util.Assert; |
||||
import java.time.LocalDateTime; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.Optional; |
||||
import java.util.stream.Collectors; |
||||
|
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class ParamServiceImpl implements IParamService { |
||||
|
||||
private final ControlClient controlClient; |
||||
private final DeviceClient deviceClient; |
||||
private final RedisClient redisClient; |
||||
private final BladeLogger logger; |
||||
private final IEmInfoService emInfoService; |
||||
private final DeviceDataClient deviceDataClient; |
||||
private final IAnalyseDataSearchClient analyseDataSearchClient; |
||||
|
||||
/** |
||||
* 参数召回 |
||||
* @param emCode 设备编号 |
||||
* @param stationCode 站点编号 |
||||
* @return 召回参数渲染对象 |
||||
*/ |
||||
@Override |
||||
public List<ParamTreeVO> recall(String emCode,String stationCode) { |
||||
List<ParamTreeVO> result = Lists.newArrayList(); |
||||
// 获取设备物模型中是参数的属性
|
||||
Result<List<DeviceInstanceAttrVO>> paramDeviceAttrR = deviceDataClient.getIsParamDeviceAttr(emCode); |
||||
Assert.isTrue(paramDeviceAttrR.isSuccess() && CollectionUtil.isNotEmpty(paramDeviceAttrR.getData()),() -> { |
||||
throw new ServiceException("获取设备实例物模型属性失败!"); |
||||
}); |
||||
// 获取实时数据
|
||||
List<String> signageList = paramDeviceAttrR.getData().stream().map(DeviceInstanceAttrVO::getSignage).filter(StringUtil::isNotBlank).collect(Collectors.toList()); |
||||
Result<DeviceDataDTO> realDataR = deviceDataClient.getDeviceRealDataByCode(emCode, signageList); |
||||
Assert.isTrue(realDataR.isSuccess(),() -> { |
||||
throw new ServiceException("参数召回获取实时数据失败"); |
||||
}); |
||||
Map<ParamGroupVO, List<ParamVO>> paramGroupVOListMap = paramDeviceAttrR.getData().stream().map(this::convert).collect(Collectors.groupingBy(p -> { |
||||
ParamGroupVO paramGroupVO = new ParamGroupVO(); |
||||
paramGroupVO.setGroupId(String.valueOf(p.getModelClassifyId())); |
||||
paramGroupVO.setGroupName(p.getModelClassifyName()); |
||||
return paramGroupVO; |
||||
})); |
||||
paramGroupVOListMap.forEach((groupVO,list) -> { |
||||
ParamTreeVO paramTreeVO = new ParamTreeVO(); |
||||
paramTreeVO.setParamGroup(groupVO); |
||||
list.stream().filter(p -> realDataR.getData().getDataMap().containsKey(p.getSignage())).forEach(p -> { |
||||
String realData = JSON.toJSONString(realDataR.getData().getDataMap().get(p.getSignage())); |
||||
if("0".equals(JSONObject.parseObject(realData).getString("q"))) { |
||||
p.setValue(JSONObject.parseObject(realData).getString("v")); |
||||
} |
||||
}); |
||||
paramTreeVO.setParamList(list); |
||||
result.add(paramTreeVO); |
||||
}); |
||||
return result; |
||||
} |
||||
|
||||
/** |
||||
* 参数下发 |
||||
* @param req 下发参数 |
||||
* @return 下发结果 |
||||
*/ |
||||
@Override |
||||
public Result<Object> distribute(ParamDistributeDTO req) { |
||||
Assert.isTrue(Func.isNotEmpty(AuthUtil.getUserId()),() -> { |
||||
throw new ServiceException("未获取到当前登录人,无法下发参数!"); |
||||
}); |
||||
ControlBatchDTO controlBatchDTO = new ControlBatchDTO(); |
||||
controlBatchDTO.setProjectId(req.getStationCode()); |
||||
controlBatchDTO.setDeviceCode(req.getEmCode()); |
||||
controlBatchDTO.setDelay(req.getDelay()); |
||||
controlBatchDTO.setOperator(String.valueOf(AuthUtil.getUserId())); |
||||
controlBatchDTO.setMachineCode(req.getMachineCode()); |
||||
List<Ctrl> ctrl = req.getParamList().stream().map(this::convert).collect(Collectors.toList()); |
||||
controlBatchDTO.setCtrls(ctrl); |
||||
log.info("{}",JSON.toJSONString(controlBatchDTO)); |
||||
Result<Object> result = controlClient.batchSendToDevice(controlBatchDTO); |
||||
if(!result.isSuccess()) { |
||||
logger.error("equipment:ParamServiceImpl:distribute","下发参数传参为:"+JSON.toJSONString(controlBatchDTO)+";下发结果为:"+JSON.toJSONString(result)); |
||||
return result; |
||||
} |
||||
LambdaUpdateWrapper<EmInfoEntity> updateWrapper = Wrappers.<EmInfoEntity>lambdaUpdate().set(EmInfoEntity::getLastDistributeTime, LocalDateTime.now()).eq(EmInfoEntity::getNumber, req.getEmCode()); |
||||
emInfoService.update(updateWrapper); |
||||
return result; |
||||
} |
||||
|
||||
/** |
||||
* 参数转换为下发参数传参格式 |
||||
* @param param 参数 |
||||
* @return 下发参数传参格式 |
||||
*/ |
||||
private Ctrl convert(ParamDTO param) { |
||||
Ctrl result = new Ctrl(); |
||||
result.setSignage(param.getSignage()); |
||||
Map params = new HashMap(1){{ |
||||
put(param.getSignage(),param.getValue()); |
||||
}}; |
||||
result.setParams(params); |
||||
return result; |
||||
} |
||||
|
||||
private ParamVO convert(DeviceInstanceAttrVO instanceAttrVO) { |
||||
ParamVO paramVO = BeanUtil.copy(instanceAttrVO, ParamVO.class); |
||||
paramVO.setMaxValue(String.valueOf(instanceAttrVO.getUpperLimit())); |
||||
paramVO.setMinValue(String.valueOf(instanceAttrVO.getLowerLimit())); |
||||
return paramVO; |
||||
} |
||||
|
||||
/** |
||||
* 设备实例功能对象转换为参数VO对象 |
||||
* @param funcVO 设备实例功能对象 |
||||
* @return 参数VO对象 |
||||
*/ |
||||
private ParamVO convert(DeviceInstanceFuncVO funcVO) { |
||||
ParamVO paramVO = BeanUtil.copy(funcVO, ParamVO.class); |
||||
return paramVO; |
||||
} |
||||
|
||||
|
||||
} |
@ -1 +1,47 @@
|
||||
alter table hzims_em_param add COLUMN NAME VARCHAR(100) comment '参数名称'; |
||||
alter table hzims_em_param add COLUMN NAME VARCHAR(100) comment '参数名称'; |
||||
|
||||
-- HZ100C参数下发 设备表添加参数最后下发时间字段 |
||||
alter table `hzims_em_info` add column `LAST_DISTRIBUTE_TIME` DATETIME DEFAULT NULL COMMENT '最后下发时间'; |
||||
-- HZ100C参数下发 设备表添加字段机组类别 |
||||
alter table `hzims_em_info` add column `SET_CATEGORY` VARCHAR(2) DEFAULT NULL COMMENT '机组类别'; |
||||
|
||||
CREATE TABLE `hzims_param_backups` ( |
||||
`ID` bigint(20) NOT NULL, |
||||
`NAME` varchar(255) DEFAULT NULL, |
||||
`STATION_CODE` varchar(64) DEFAULT NULL, |
||||
`EM_CODE` varchar(64) DEFAULT NULL, |
||||
`DELAY` tinyint(1) DEFAULT NULL, |
||||
`MACHINE_CODE` varchar(255) DEFAULT NULL, |
||||
`TENANT_ID` varchar(12) DEFAULT NULL COMMENT '租户ID', |
||||
`CREATE_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间', |
||||
`CREATE_USER` bigint(20) NOT NULL COMMENT '创建人', |
||||
`UPDATE_USER` bigint(20) DEFAULT NULL COMMENT '更新人', |
||||
`IS_DELETED` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除', |
||||
`STATUS` tinyint(4) DEFAULT NULL COMMENT '状态 ', |
||||
`CREATE_DEPT` bigint(20) DEFAULT NULL COMMENT '创建部门', |
||||
PRIMARY KEY (`ID`) USING BTREE |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; |
||||
|
||||
CREATE TABLE `hzims_param_backups_detail` ( |
||||
`ID` bigint(20) NOT NULL, |
||||
`BACKUPS_ID` bigint(20) DEFAULT NULL COMMENT '备份主表ID', |
||||
`NAME` varchar(255) DEFAULT NULL COMMENT '参数名称', |
||||
`SIGNAGE` varchar(128) DEFAULT NULL COMMENT '标识', |
||||
`FAC_DEVICE_ID` varchar(64) DEFAULT NULL COMMENT '关联设备', |
||||
`FAC_DEVICE_FUNC_ID` varchar(64) DEFAULT NULL COMMENT 'hz3000关联id', |
||||
`PARAMETER_TAG` varchar(128) DEFAULT NULL COMMENT '参数标识', |
||||
`PARAMETER_NAME` varchar(255) DEFAULT NULL COMMENT '参数名称', |
||||
`VALUE` varchar(16) DEFAULT NULL COMMENT '值', |
||||
`MAX_VALUE` varchar(16) DEFAULT NULL COMMENT '最大值', |
||||
`MIN_VALUE` varchar(16) DEFAULT NULL COMMENT '最小值', |
||||
`TENANT_ID` varchar(12) DEFAULT NULL COMMENT '租户ID', |
||||
`CREATE_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间', |
||||
`CREATE_USER` bigint(20) NOT NULL COMMENT '创建人', |
||||
`UPDATE_USER` bigint(20) DEFAULT NULL COMMENT '更新人', |
||||
`IS_DELETED` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除', |
||||
`STATUS` tinyint(4) DEFAULT NULL COMMENT '状态 ', |
||||
`CREATE_DEPT` bigint(20) DEFAULT NULL COMMENT '创建部门', |
||||
PRIMARY KEY (`ID`) |
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Loading…
Reference in new issue