yang_shj
1 year ago
61 changed files with 1816 additions and 43 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 '参数名称'; |
||||
|
||||
-- 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; |
@ -0,0 +1,14 @@
|
||||
package com.hnac.hzims.scheduled.mapper.operation; |
||||
|
||||
import com.hnac.hzims.operational.fill.entity.StorageEntity; |
||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||
|
||||
/** |
||||
* @author ysj |
||||
* @date 2023/03/09 16:12:22 |
||||
* @version 4.0.0 |
||||
*/ |
||||
public interface StorageMapper extends UserDataScopeBaseMapper<StorageEntity> { |
||||
|
||||
|
||||
} |
@ -0,0 +1,11 @@
|
||||
package com.hnac.hzims.scheduled.mapper.operation; |
||||
|
||||
import com.hnac.hzims.operational.fill.entity.WindEntity; |
||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||
|
||||
/** |
||||
* @author ysj |
||||
*/ |
||||
public interface WindMapper extends UserDataScopeBaseMapper<WindEntity> { |
||||
|
||||
} |
@ -0,0 +1,20 @@
|
||||
package com.hnac.hzims.scheduled.service.operation.fill; |
||||
|
||||
import com.hnac.hzims.operational.fill.entity.StorageEntity; |
||||
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author ysj |
||||
* @date 2023/03/09 16:12:22 |
||||
* @version 4.0.0 |
||||
*/ |
||||
|
||||
/** |
||||
* 接入电站历史发电量填报 |
||||
*/ |
||||
public interface StorageService extends BaseService<StorageEntity> { |
||||
List<PowerMonthVo> generateThreeYear(String start, String end, Long station); |
||||
} |
@ -0,0 +1,15 @@
|
||||
package com.hnac.hzims.scheduled.service.operation.fill; |
||||
|
||||
import com.hnac.hzims.operational.fill.entity.WindEntity; |
||||
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author ysj |
||||
*/ |
||||
public interface WindService extends BaseService<WindEntity> { |
||||
List<PowerMonthVo> generateThreeYear(String start, String end, Long station); |
||||
|
||||
} |
@ -0,0 +1,51 @@
|
||||
package com.hnac.hzims.scheduled.service.operation.fill.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.operational.fill.entity.StorageEntity; |
||||
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||
import com.hnac.hzims.scheduled.mapper.operation.StorageMapper; |
||||
import com.hnac.hzims.scheduled.service.operation.fill.StorageService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @author ysj |
||||
* @date 2023/03/09 16:12:22 |
||||
* @version 4.0.0 |
||||
*/ |
||||
@Slf4j |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class StorageServiceImpl extends BaseServiceImpl<StorageMapper, StorageEntity> implements StorageService { |
||||
|
||||
@Override |
||||
public List<PowerMonthVo> generateThreeYear(String start, String end, Long station) { |
||||
List<StorageEntity> fills = this.list(Wrappers.<StorageEntity>lambdaQuery() |
||||
.between(StorageEntity::getFillDate,start,end) |
||||
.eq(StorageEntity::getCreateDept,station) |
||||
); |
||||
if(CollectionUtil.isEmpty(fills)){ |
||||
return new ArrayList<>(); |
||||
|
||||
} |
||||
return fills.stream().map(fill->{ |
||||
PowerMonthVo mon = new PowerMonthVo(); |
||||
mon.setStrMonth(DateUtil.format(fill.getFillDate(),DateUtil.PATTERN_DATE)); |
||||
if(Math.abs(fill.getPower().intValue()) <= 0){ |
||||
mon.setPower(0f); |
||||
}else{ |
||||
mon.setPower(Float.parseFloat(fill.getPower().toString())); |
||||
} |
||||
return mon; |
||||
}).collect(Collectors.toList()); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,52 @@
|
||||
package com.hnac.hzims.scheduled.service.operation.fill.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.operational.fill.entity.WindEntity; |
||||
import com.hnac.hzims.operational.main.vo.PowerMonthVo; |
||||
import com.hnac.hzims.scheduled.mapper.operation.WindMapper; |
||||
import com.hnac.hzims.scheduled.service.operation.fill.WindService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @author ysj |
||||
* @date 2023/04/10 11:16:07 |
||||
* @version 4.0.0 |
||||
*/ |
||||
@Slf4j |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class WindServiceImpl extends BaseServiceImpl<WindMapper, WindEntity> implements WindService { |
||||
|
||||
|
||||
@Override |
||||
public List<PowerMonthVo> generateThreeYear(String start, String end, Long station) { |
||||
List<WindEntity> fills = this.list(Wrappers.<WindEntity>lambdaQuery() |
||||
.between(WindEntity::getFillDate,start,end) |
||||
.eq(WindEntity::getCreateDept,station) |
||||
); |
||||
if(CollectionUtil.isEmpty(fills)){ |
||||
return new ArrayList<>(); |
||||
|
||||
} |
||||
return fills.stream().map(fill->{ |
||||
PowerMonthVo mon = new PowerMonthVo(); |
||||
mon.setStrMonth(DateUtil.format(DateUtil.parse(fill.getFillDate(),DateUtil.PATTERN_DATE),DateUtil.PATTERN_DATE)); |
||||
if(Math.abs(fill.getPower()) <= 0){ |
||||
mon.setPower(0f); |
||||
}else{ |
||||
mon.setPower(Float.parseFloat(fill.getPower().toString())); |
||||
} |
||||
return mon; |
||||
}).collect(Collectors.toList()); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,4 @@
|
||||
<?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="com.hnac.hzims.scheduled.mapper.operation.StorageMapper"> |
||||
</mapper> |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
||||
<mapper namespace="com.hnac.hzims.scheduled.mapper.operation.WindMapper"> |
||||
|
||||
</mapper> |
@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"> |
||||
<process id="defectCheck" name="消缺处理流程" isExecutable="true"> |
||||
<startEvent id="startEvent1"></startEvent> |
||||
<userTask id="sid-F8BDAAE3-B2FE-496F-B159-2B07E6F2D107" name="甄别问题" flowable:candidateGroups="1402433611392647169"> |
||||
<extensionElements> |
||||
<flowable:taskListener event="create" class="org.springblade.flow.engine.listener.DynamicTaskUserListener"></flowable:taskListener> |
||||
<modeler:group-info-name-1402433611392647169 xmlns:modeler="http://flowable.org/modeler"><![CDATA[检修组长(甄别)]]></modeler:group-info-name-1402433611392647169> |
||||
<modeler:activiti-idm-candidate-group xmlns:modeler="http://flowable.org/modeler"><![CDATA[true]]></modeler:activiti-idm-candidate-group> |
||||
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete> |
||||
</extensionElements> |
||||
</userTask> |
||||
<exclusiveGateway id="sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A"></exclusiveGateway> |
||||
<userTask id="sid-62B7E521-0A01-4D0E-85F6-7A237DC01E12" name="缺陷处理" flowable:candidateUsers="${flowHandler}"></userTask> |
||||
<endEvent id="sid-7A78DE5C-0379-471E-A096-6E5466E42AA1"></endEvent> |
||||
<userTask id="sid-450C8BF7-FDD6-43D0-AEBD-EAFAFF8480C3" name="缺陷定论" flowable:candidateGroups="1380691110248099841"> |
||||
<extensionElements> |
||||
<flowable:taskListener event="create" class="org.springblade.flow.engine.listener.DynamicTaskUserListener"></flowable:taskListener> |
||||
<modeler:group-info-name-1380691110248099841 xmlns:modeler="http://flowable.org/modeler"><![CDATA[项目经理]]></modeler:group-info-name-1380691110248099841> |
||||
<modeler:activiti-idm-candidate-group xmlns:modeler="http://flowable.org/modeler"><![CDATA[true]]></modeler:activiti-idm-candidate-group> |
||||
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete> |
||||
</extensionElements> |
||||
</userTask> |
||||
<sequenceFlow id="sid-798A609C-7834-4D8D-88BC-AA6A03433AE3" sourceRef="sid-62B7E521-0A01-4D0E-85F6-7A237DC01E12" targetRef="sid-450C8BF7-FDD6-43D0-AEBD-EAFAFF8480C3"></sequenceFlow> |
||||
<endEvent id="sid-7833F4F9-CCB9-4FA3-A1FD-EBB3DECD8A3A"></endEvent> |
||||
<sequenceFlow id="sid-C7E275D3-2E92-4201-9B14-2F7FFA9E7BEA" sourceRef="sid-450C8BF7-FDD6-43D0-AEBD-EAFAFF8480C3" targetRef="sid-7833F4F9-CCB9-4FA3-A1FD-EBB3DECD8A3A"></sequenceFlow> |
||||
<sequenceFlow id="sid-9FAF85B3-288B-42EB-9119-8A2469CC3073" sourceRef="startEvent1" targetRef="sid-F8BDAAE3-B2FE-496F-B159-2B07E6F2D107"></sequenceFlow> |
||||
<sequenceFlow id="sid-E27C35CD-5D61-43D8-A05C-5CFBC3E98332" sourceRef="sid-F8BDAAE3-B2FE-496F-B159-2B07E6F2D107" targetRef="sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A"></sequenceFlow> |
||||
<sequenceFlow id="sid-32973C9C-76A1-447C-9D14-62A1EC3D15B7" name="是缺陷" sourceRef="sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A" targetRef="sid-62B7E521-0A01-4D0E-85F6-7A237DC01E12"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${isDefect==1}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
<sequenceFlow id="sid-AC6E6DDC-820F-4110-8450-5067B6E1CD18" name="非缺陷" sourceRef="sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A" targetRef="sid-7A78DE5C-0379-471E-A096-6E5466E42AA1"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${isDefect==0}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
</process> |
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_defectCheck"> |
||||
<bpmndi:BPMNPlane bpmnElement="defectCheck" id="BPMNPlane_defectCheck"> |
||||
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"> |
||||
<omgdc:Bounds height="30.0" width="30.0" x="74.99999776482586" y="150.0000196216333"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-F8BDAAE3-B2FE-496F-B159-2B07E6F2D107" id="BPMNShape_sid-F8BDAAE3-B2FE-496F-B159-2B07E6F2D107"> |
||||
<omgdc:Bounds height="80.00000000000003" width="100.0" x="179.99999195337318" y="125.00000183725928"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A" id="BPMNShape_sid-5E44F7E3-8279-4DDA-9E3E-77A4AF6DF35A"> |
||||
<omgdc:Bounds height="40.0" width="40.0" x="360.00000903871654" y="145.00000369990445"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-62B7E521-0A01-4D0E-85F6-7A237DC01E12" id="BPMNShape_sid-62B7E521-0A01-4D0E-85F6-7A237DC01E12"> |
||||
<omgdc:Bounds height="80.0" width="100.0" x="450.0" y="125.00000183725928"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-7A78DE5C-0379-471E-A096-6E5466E42AA1" id="BPMNShape_sid-7A78DE5C-0379-471E-A096-6E5466E42AA1"> |
||||
<omgdc:Bounds height="27.999999999999993" width="28.0" x="366.0000166681108" y="60.00000275505963"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-450C8BF7-FDD6-43D0-AEBD-EAFAFF8480C3" id="BPMNShape_sid-450C8BF7-FDD6-43D0-AEBD-EAFAFF8480C3"> |
||||
<omgdc:Bounds height="80.0" width="100.0" x="645.0000148084454" y="125.000018390024"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-7833F4F9-CCB9-4FA3-A1FD-EBB3DECD8A3A" id="BPMNShape_sid-7833F4F9-CCB9-4FA3-A1FD-EBB3DECD8A3A"> |
||||
<omgdc:Bounds height="28.0" width="28.0" x="825.0000189410348" y="151.00002185680776"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-AC6E6DDC-820F-4110-8450-5067B6E1CD18" id="BPMNEdge_sid-AC6E6DDC-820F-4110-8450-5067B6E1CD18"> |
||||
<omgdi:waypoint x="380.00001071131436" y="145.00000537669428"></omgdi:waypoint> |
||||
<omgdi:waypoint x="380.00001541940827" y="87.9499398138724"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-32973C9C-76A1-447C-9D14-62A1EC3D15B7" id="BPMNEdge_sid-32973C9C-76A1-447C-9D14-62A1EC3D15B7"> |
||||
<omgdi:waypoint x="399.94170376868516" y="165.00000338946361"></omgdi:waypoint> |
||||
<omgdi:waypoint x="449.9999984255562" y="165.00000261258538"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-E27C35CD-5D61-43D8-A05C-5CFBC3E98332" id="BPMNEdge_sid-E27C35CD-5D61-43D8-A05C-5CFBC3E98332"> |
||||
<omgdi:waypoint x="279.94999195332866" y="165.00000245752005"></omgdi:waypoint> |
||||
<omgdi:waypoint x="360.00000903871654" y="165.0000034515518"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-C7E275D3-2E92-4201-9B14-2F7FFA9E7BEA" id="BPMNEdge_sid-C7E275D3-2E92-4201-9B14-2F7FFA9E7BEA"> |
||||
<omgdi:waypoint x="744.950014360429" y="165.00001959256457"></omgdi:waypoint> |
||||
<omgdi:waypoint x="825.0000186376348" y="165.00002151975934"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-798A609C-7834-4D8D-88BC-AA6A03433AE3" id="BPMNEdge_sid-798A609C-7834-4D8D-88BC-AA6A03433AE3"> |
||||
<omgdi:waypoint x="549.9499998297176" y="165.0000060773133"></omgdi:waypoint> |
||||
<omgdi:waypoint x="645.000014808418" y="165.0000141457257"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-9FAF85B3-288B-42EB-9119-8A2469CC3073" id="BPMNEdge_sid-9FAF85B3-288B-42EB-9119-8A2469CC3073"> |
||||
<omgdi:waypoint x="104.9499968330837" y="165.00001771616456"></omgdi:waypoint> |
||||
<omgdi:waypoint x="179.99999180749393" y="165.00000818247014"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
</bpmndi:BPMNPlane> |
||||
</bpmndi:BPMNDiagram> |
||||
</definitions> |
@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"> |
||||
<process id="hiddenDangerCheck" name="隐患排查治理流程" isExecutable="true"> |
||||
<startEvent id="startEvent1" name="隐患上报"> |
||||
<extensionElements> |
||||
<flowable:formProperty id="new_property_1" type="string" default="start"></flowable:formProperty> |
||||
</extensionElements> |
||||
</startEvent> |
||||
<userTask id="sid-1CA1FF60-2EAF-45B3-808A-520B8CABCC35" name="隐患判定" flowable:candidateUsers="${judgeFlow}"> |
||||
<extensionElements> |
||||
<flowable:formProperty id="new_property_1" type="string" default="1"></flowable:formProperty> |
||||
</extensionElements> |
||||
</userTask> |
||||
<userTask id="sid-BBF1AC02-F5EA-4A29-8924-20F6CBFF7563" name="隐患核查" flowable:candidateUsers="${checkPeopleFlow}"> |
||||
<extensionElements> |
||||
<flowable:formProperty id="new_property_1" type="string" default="2"></flowable:formProperty> |
||||
</extensionElements> |
||||
</userTask> |
||||
<userTask id="sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2" name="隐患整改" flowable:candidateUsers="${rectifierFlow}"> |
||||
<extensionElements> |
||||
<flowable:formProperty id="new_property_1" type="string" default="3"></flowable:formProperty> |
||||
</extensionElements> |
||||
</userTask> |
||||
<exclusiveGateway id="sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1"></exclusiveGateway> |
||||
<userTask id="sid-76242BA7-1758-42C2-94C3-0843718D4A48" name="隐患验收" flowable:candidateUsers="${conclusionPeopleFlow}"> |
||||
<extensionElements> |
||||
<flowable:formProperty id="new_property_1" type="string" default="4"></flowable:formProperty> |
||||
</extensionElements> |
||||
</userTask> |
||||
<endEvent id="sid-3687F74B-82AE-4680-AE4F-02FBBF349DB0"></endEvent> |
||||
<exclusiveGateway id="sid-17C75D03-E494-4A91-87FB-D3F89E399019"></exclusiveGateway> |
||||
<sequenceFlow id="sid-D338E1F1-49BC-4C1E-9692-4DE85B5672D9" sourceRef="sid-1CA1FF60-2EAF-45B3-808A-520B8CABCC35" targetRef="sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1"></sequenceFlow> |
||||
<sequenceFlow id="sid-3FD90637-D17D-496E-901B-F8C4504900A0" sourceRef="sid-BBF1AC02-F5EA-4A29-8924-20F6CBFF7563" targetRef="sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2"></sequenceFlow> |
||||
<sequenceFlow id="sid-09D94D7E-EDA3-4CBA-BB6C-DE18C1A166FB" sourceRef="sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2" targetRef="sid-76242BA7-1758-42C2-94C3-0843718D4A48"></sequenceFlow> |
||||
<sequenceFlow id="sid-214DD9DA-EEFB-406A-94FC-30295DCECABA" sourceRef="sid-76242BA7-1758-42C2-94C3-0843718D4A48" targetRef="sid-17C75D03-E494-4A91-87FB-D3F89E399019"></sequenceFlow> |
||||
<sequenceFlow id="sid-7DF139A0-50B9-488D-BB45-07F0500D3C8E" name="是隐患" sourceRef="sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1" targetRef="sid-BBF1AC02-F5EA-4A29-8924-20F6CBFF7563"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${judgeRes==1}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
<sequenceFlow id="sid-9DAD4E3F-EEDF-47CA-A0AC-3438BF769C4B" name="非是隐患" sourceRef="sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1" targetRef="sid-3687F74B-82AE-4680-AE4F-02FBBF349DB0"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${judgeRes==0}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
<sequenceFlow id="sid-E1F8433C-F368-436A-8FBD-3F5C801ED721" name="验收不通过" sourceRef="sid-17C75D03-E494-4A91-87FB-D3F89E399019" targetRef="sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${conclusionRes==0}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
<sequenceFlow id="sid-5A5C84CA-4E2E-4890-9793-ED0861254301" name="验收通过" sourceRef="sid-17C75D03-E494-4A91-87FB-D3F89E399019" targetRef="sid-3687F74B-82AE-4680-AE4F-02FBBF349DB0"> |
||||
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${conclusionRes==1}]]></conditionExpression> |
||||
</sequenceFlow> |
||||
<sequenceFlow id="sid-27BC2662-8441-40E2-89D2-E7EFAAF850A9" sourceRef="startEvent1" targetRef="sid-1CA1FF60-2EAF-45B3-808A-520B8CABCC35"></sequenceFlow> |
||||
</process> |
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_hiddenDangerCheck"> |
||||
<bpmndi:BPMNPlane bpmnElement="hiddenDangerCheck" id="BPMNPlane_hiddenDangerCheck"> |
||||
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1"> |
||||
<omgdc:Bounds height="30.0" width="30.0" x="134.9999959766866" y="374.9999665319939"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-1CA1FF60-2EAF-45B3-808A-520B8CABCC35" id="BPMNShape_sid-1CA1FF60-2EAF-45B3-808A-520B8CABCC35"> |
||||
<omgdc:Bounds height="48.00000047683716" width="71.00000043213367" x="254.9999810010204" y="365.9999553859266"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-BBF1AC02-F5EA-4A29-8924-20F6CBFF7563" id="BPMNShape_sid-BBF1AC02-F5EA-4A29-8924-20F6CBFF7563"> |
||||
<omgdc:Bounds height="46.00000049173832" width="74.00000038743025" x="479.9999713897718" y="367.99995559454277"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2" id="BPMNShape_sid-6B0EC9BD-6783-4226-9191-B2A31C7E91D2"> |
||||
<omgdc:Bounds height="49.000000476837215" width="73.00000040233147" x="644.9999519437577" y="366.4999665543455"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1" id="BPMNShape_sid-404D825E-656A-47F7-ADEF-F8EC1F5C3EB1"> |
||||
<omgdc:Bounds height="40.0" width="40.0" x="389.999982565642" y="369.99997770786376"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-76242BA7-1758-42C2-94C3-0843718D4A48" id="BPMNShape_sid-76242BA7-1758-42C2-94C3-0843718D4A48"> |
||||
<omgdc:Bounds height="51.000000432133675" width="67.00000050663948" x="779.999965131284" y="365.4999665915984"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-3687F74B-82AE-4680-AE4F-02FBBF349DB0" id="BPMNShape_sid-3687F74B-82AE-4680-AE4F-02FBBF349DB0"> |
||||
<omgdc:Bounds height="28.0" width="28.0" x="1064.9998889118506" y="376.999955572191"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNShape bpmnElement="sid-17C75D03-E494-4A91-87FB-D3F89E399019" id="BPMNShape_sid-17C75D03-E494-4A91-87FB-D3F89E399019"> |
||||
<omgdc:Bounds height="40.0" width="40.0" x="914.999959096314" y="370.99995575100496"></omgdc:Bounds> |
||||
</bpmndi:BPMNShape> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-27BC2662-8441-40E2-89D2-E7EFAAF850A9" id="BPMNEdge_sid-27BC2662-8441-40E2-89D2-E7EFAAF850A9"> |
||||
<omgdi:waypoint x="164.94999505130716" y="389.9999653674761"></omgdi:waypoint> |
||||
<omgdi:waypoint x="254.99998094146997" y="389.9999583764889"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-09D94D7E-EDA3-4CBA-BB6C-DE18C1A166FB" id="BPMNEdge_sid-09D94D7E-EDA3-4CBA-BB6C-DE18C1A166FB"> |
||||
<omgdi:waypoint x="717.9497086084729" y="390.9999667968788"></omgdi:waypoint> |
||||
<omgdi:waypoint x="779.9994432256531" y="390.99996680388347"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-9DAD4E3F-EEDF-47CA-A0AC-3438BF769C4B" id="BPMNEdge_sid-9DAD4E3F-EEDF-47CA-A0AC-3438BF769C4B"> |
||||
<omgdi:waypoint x="410.499982565642" y="409.4365570322147"></omgdi:waypoint> |
||||
<omgdi:waypoint x="410.499982565642" y="461.0"></omgdi:waypoint> |
||||
<omgdi:waypoint x="1078.9998889118503" y="461.0"></omgdi:waypoint> |
||||
<omgdi:waypoint x="1078.9998889118503" y="404.94989926185485"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-E1F8433C-F368-436A-8FBD-3F5C801ED721" id="BPMNEdge_sid-E1F8433C-F368-436A-8FBD-3F5C801ED721"> |
||||
<omgdi:waypoint x="935.499959096314" y="371.499955751005"></omgdi:waypoint> |
||||
<omgdi:waypoint x="935.499959096314" y="325.0"></omgdi:waypoint> |
||||
<omgdi:waypoint x="680.5" y="325.0"></omgdi:waypoint> |
||||
<omgdi:waypoint x="680.5" y="366.4999665543455"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-5A5C84CA-4E2E-4890-9793-ED0861254301" id="BPMNEdge_sid-5A5C84CA-4E2E-4890-9793-ED0861254301"> |
||||
<omgdi:waypoint x="954.509550344249" y="391.4335221281242"></omgdi:waypoint> |
||||
<omgdi:waypoint x="1064.9999718500032" y="391.04856165832416"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-3FD90637-D17D-496E-901B-F8C4504900A0" id="BPMNEdge_sid-3FD90637-D17D-496E-901B-F8C4504900A0"> |
||||
<omgdi:waypoint x="553.9499717770799" y="390.9999601076708"></omgdi:waypoint> |
||||
<omgdi:waypoint x="644.9999519437577" y="390.9999667201396"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-D338E1F1-49BC-4C1E-9692-4DE85B5672D9" id="BPMNEdge_sid-D338E1F1-49BC-4C1E-9692-4DE85B5672D9"> |
||||
<omgdi:waypoint x="325.9499814331541" y="390.49995644172753"></omgdi:waypoint> |
||||
<omgdi:waypoint x="390.49997753521234" y="390.49997267743413"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-7DF139A0-50B9-488D-BB45-07F0500D3C8E" id="BPMNEdge_sid-7DF139A0-50B9-488D-BB45-07F0500D3C8E"> |
||||
<omgdi:waypoint x="428.5259741729652" y="391.41772516429126"></omgdi:waypoint> |
||||
<omgdi:waypoint x="479.9999707887046" y="391.41771813407576"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
<bpmndi:BPMNEdge bpmnElement="sid-214DD9DA-EEFB-406A-94FC-30295DCECABA" id="BPMNEdge_sid-214DD9DA-EEFB-406A-94FC-30295DCECABA"> |
||||
<omgdi:waypoint x="846.9499656379227" y="391.13705394818504"></omgdi:waypoint> |
||||
<omgdi:waypoint x="915.4176563928215" y="391.4176530475125"></omgdi:waypoint> |
||||
</bpmndi:BPMNEdge> |
||||
</bpmndi:BPMNPlane> |
||||
</bpmndi:BPMNDiagram> |
||||
</definitions> |
Loading…
Reference in new issue