feat():设定值查询,实绩查询
This commit is contained in:
@@ -97,6 +97,12 @@
|
|||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!--websocket-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-websocket</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>com.alibaba</groupId>
|
||||||
<artifactId>fastjson</artifactId>
|
<artifactId>fastjson</artifactId>
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.fizz.business.constants;
|
||||||
|
|
||||||
|
public class CommonConstants {
|
||||||
|
|
||||||
|
public static final double RO = 7.86; //硅钢密度
|
||||||
|
|
||||||
|
public static class RocketMQ {
|
||||||
|
public static final String CONSUMER_GROUP_RECEIVE_ALARM_ZR1 = "C-ZG-ZR1-ALARM";
|
||||||
|
public static final String CONSUMER_GROUP_RECEIVE_ALARM_ZR2 = "C-ZG-ZR2-ALARM";
|
||||||
|
|
||||||
|
public static final String TOPIC_RECEIVE_ALARM_FROM_PLAT_ZR1 = "ZG-ZR1-ALARM";
|
||||||
|
public static final String TOPIC_RECEIVE_ALARM_FROM_PLAT_ZR2 = "ZG-ZR2-ALARM";
|
||||||
|
|
||||||
|
public static final String CONSUMER_GROUP_COIL_POINT_DATA_ZR1 = "C-ZG-ZR1-COIL-POINT-DATA";
|
||||||
|
public static final String CONSUMER_GROUP_COIL_POINT_DATA_ZR2 = "C-ZG-ZR2-COIL-POINT-DATA";
|
||||||
|
|
||||||
|
public static final String TOPIC_RECEIVE_COIL_POINT_DATA_ZR1 = "ZG-ZR1-COIL-POINT-DATA";
|
||||||
|
public static final String TOPIC_RECEIVE_COIL_POINT_DATA_ZR2 = "ZG-ZR2-COIL-POINT-DATA";
|
||||||
|
|
||||||
|
public static final String TOPIC_COIL_OUTPUT = "JH_PRODUCTION_PLAN_OUT";
|
||||||
|
|
||||||
|
public static final String TOPIC_COIL_DEFECT = "ZG-COIL-DEFECT";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
package com.fizz.business.constants.enums;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IEnum;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonValue;
|
||||||
|
import com.fizz.business.form.ChangePlanStatusForm;
|
||||||
|
import com.fizz.business.form.WebOperateMatForm;
|
||||||
|
import com.fizz.business.service.client.PdiPlanClient;
|
||||||
|
import com.fizz.business.service.impl.BeanFactory;
|
||||||
|
import com.fizz.business.utils.WebSocketUtil;
|
||||||
|
import com.fizz.business.vo.CrmPdiPlanVO;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Slf4j
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum WebMatOperateEnum implements IEnum<String> {
|
||||||
|
ONLINE("上线") {
|
||||||
|
@Override
|
||||||
|
public void operate(WebOperateMatForm form) {
|
||||||
|
|
||||||
|
CrmPdiPlanVO crmPdiPlanVO = ONLINE.syncPlanStatus(form.getId());
|
||||||
|
WebSocketUtil.sendMatmapMsg(crmPdiPlanVO);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
READY("回退") {
|
||||||
|
@Override
|
||||||
|
public void operate(WebOperateMatForm form) {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
PRODUCT("卸卷并封闭") {
|
||||||
|
@Override
|
||||||
|
public void operate(WebOperateMatForm form) {
|
||||||
|
super.operate(form);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
private static final Map<String, WebMatOperateEnum> MAP = new HashMap<>(16);
|
||||||
|
|
||||||
|
static {
|
||||||
|
for (WebMatOperateEnum e : WebMatOperateEnum.values()) {
|
||||||
|
MAP.put(e.getValue(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||||
|
public static WebMatOperateEnum getByValue(String value) {
|
||||||
|
return MAP.get(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonValue
|
||||||
|
@Override
|
||||||
|
public String getValue() {
|
||||||
|
return this.name();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void operate(WebOperateMatForm form) {
|
||||||
|
PdiPlanClient planClient = BeanFactory.getBean(PdiPlanClient.class);
|
||||||
|
planClient.changeStatus(ChangePlanStatusForm.builder()
|
||||||
|
.operation(this.name())
|
||||||
|
.id(form.getId())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步计划状态
|
||||||
|
*
|
||||||
|
* @param planId 计划id
|
||||||
|
*/
|
||||||
|
private CrmPdiPlanVO syncPlanStatus(Long planId) {
|
||||||
|
PdiPlanClient planClient = BeanFactory.getBean(PdiPlanClient.class);
|
||||||
|
|
||||||
|
return planClient.changeStatus(ChangePlanStatusForm.builder()
|
||||||
|
.operation(this.name())
|
||||||
|
.id(planId)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.fizz.business.constants.enums;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonValue;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* websocket type
|
||||||
|
*
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/04/24
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum WsTypeEnum {
|
||||||
|
alarm, track_position, track_measure, track_signal, track_matmap;
|
||||||
|
|
||||||
|
private static final Map<String, WsTypeEnum> MAP = new HashMap<>(8);
|
||||||
|
|
||||||
|
static {
|
||||||
|
for (WsTypeEnum e : WsTypeEnum.values()) {
|
||||||
|
MAP.put(e.getValue(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||||
|
public static WsTypeEnum getByValue(String value) {
|
||||||
|
return MAP.get(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonValue
|
||||||
|
public String getValue() {
|
||||||
|
return this.name();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,9 @@ package com.fizz.business.controller;
|
|||||||
import com.fizz.business.domain.CrmPdiPlan;
|
import com.fizz.business.domain.CrmPdiPlan;
|
||||||
import com.fizz.business.form.PlanQueryForm;
|
import com.fizz.business.form.PlanQueryForm;
|
||||||
import com.fizz.business.service.CrmPdiPlanService;
|
import com.fizz.business.service.CrmPdiPlanService;
|
||||||
|
import com.fizz.business.service.ModSetupResultService;
|
||||||
import com.fizz.business.vo.CrmPdiPlanVO;
|
import com.fizz.business.vo.CrmPdiPlanVO;
|
||||||
|
import com.fizz.business.vo.ModSetupResultVO;
|
||||||
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -24,7 +26,7 @@ public class CrmPdiPlanController {
|
|||||||
private CrmPdiPlanService crmPdiPlanService;
|
private CrmPdiPlanService crmPdiPlanService;
|
||||||
|
|
||||||
@GetMapping("/get/{coilid}")
|
@GetMapping("/get/{coilid}")
|
||||||
@ApiOperation("通过钢卷号查询计划")
|
@ApiOperation("通过钢卷号或者状态查询计划")
|
||||||
public R<CrmPdiPlanVO> getByCoilId(@PathVariable String coilid) {
|
public R<CrmPdiPlanVO> getByCoilId(@PathVariable String coilid) {
|
||||||
return R.ok(crmPdiPlanService.getByCoilIdAndOperId(coilid));
|
return R.ok(crmPdiPlanService.getByCoilIdAndOperId(coilid));
|
||||||
}
|
}
|
||||||
@@ -52,4 +54,5 @@ public class CrmPdiPlanController {
|
|||||||
public R<List<CrmPdiPlanVO>> list(@RequestBody PlanQueryForm form) {
|
public R<List<CrmPdiPlanVO>> list(@RequestBody PlanQueryForm form) {
|
||||||
return R.ok(crmPdiPlanService.listAll(form));
|
return R.ok(crmPdiPlanService.listAll(form));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.fizz.business.controller;
|
package com.fizz.business.controller;
|
||||||
|
|
||||||
import com.fizz.business.domain.CrmPdoExcoil;
|
import com.fizz.business.domain.CrmPdoExcoil;
|
||||||
|
import com.fizz.business.form.CrmPdoExcoilForm;
|
||||||
import com.fizz.business.service.CrmPdoExcoilService;
|
import com.fizz.business.service.CrmPdoExcoilService;
|
||||||
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
@@ -45,9 +46,9 @@ public class CrmPdoExcoilController {
|
|||||||
return R.ok(crmPdoExcoilService.deleteCrmPdoExcoil(excoilid, operid));
|
return R.ok(crmPdoExcoilService.deleteCrmPdoExcoil(excoilid, operid));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/list")
|
@PostMapping("/list")
|
||||||
@ApiOperation("查询实绩列表")
|
@ApiOperation("查询实绩列表")
|
||||||
public R<List<CrmPdoExcoil>> list() {
|
public R<List<CrmPdoExcoil>> list(@RequestBody CrmPdoExcoilForm form) {
|
||||||
return R.ok(crmPdoExcoilService.listAll());
|
return R.ok(crmPdoExcoilService.listAll(form));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.fizz.business.controller;
|
||||||
|
|
||||||
|
import com.fizz.business.domain.ModSetupResult;
|
||||||
|
import com.fizz.business.form.ModSetupResultForm;
|
||||||
|
import com.fizz.business.service.ModSetupResultService;
|
||||||
|
import com.fizz.business.vo.ModSetupResultVO;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/setup")
|
||||||
|
@Api("南钢设定值接口")
|
||||||
|
public class ModSetupResultController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ModSetupResultService modSetupResultService;
|
||||||
|
|
||||||
|
// 查询所有记录
|
||||||
|
@PostMapping("/list")
|
||||||
|
@ApiOperation("查询设定值列表")
|
||||||
|
public R<List<ModSetupResultVO>> list(@RequestBody ModSetupResultForm form) {
|
||||||
|
return R.ok(modSetupResultService.list(form));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/calc")
|
||||||
|
@ApiOperation("计算设定值")
|
||||||
|
public R<String> calcSetup(@RequestBody ModSetupResultForm form) {
|
||||||
|
return R.ok(modSetupResultService.calcSetup(form));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.fizz.business.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fizz.business.form.WebOperateMatForm;
|
||||||
|
import com.fizz.business.service.TrackService;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author baomidou
|
||||||
|
* @since 2023-05-17
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/track")
|
||||||
|
@Api(value = "过程跟踪页面", tags = "过程跟踪")
|
||||||
|
public class TrackController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
TrackService trackService;
|
||||||
|
|
||||||
|
@PostMapping("/manual/operate/mat")
|
||||||
|
@ApiOperation(value = "页面手动操作钢卷 上线,回退")
|
||||||
|
public R<String> manualOperateMat(@RequestBody @Valid WebOperateMatForm form) {
|
||||||
|
trackService.operateMatWeb(form);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/manual/tr/unload")
|
||||||
|
@ApiOperation(value = "页面卷取机手动卸卷登记产出")
|
||||||
|
public R<String> manualtrUnload(@RequestBody @Valid WebOperateMatForm form) {
|
||||||
|
trackService.trUnload(form);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -44,16 +44,16 @@ public class CrmPdiPlan implements Serializable {
|
|||||||
private Integer annealThick;
|
private Integer annealThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口厚度")
|
@ApiModelProperty(value = "入口厚度")
|
||||||
private Float entryThick;
|
private Double entryThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口宽度")
|
@ApiModelProperty(value = "入口宽度")
|
||||||
private Float entryWidth;
|
private Double entryWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口重量")
|
@ApiModelProperty(value = "入口重量")
|
||||||
private Float entryWeight;
|
private Double entryWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口长度")
|
@ApiModelProperty(value = "入口长度")
|
||||||
private Float entryLength;
|
private Double entryLength;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口内径")
|
@ApiModelProperty(value = "入口内径")
|
||||||
private Integer entryInnerDiameter;
|
private Integer entryInnerDiameter;
|
||||||
@@ -74,34 +74,34 @@ public class CrmPdiPlan implements Serializable {
|
|||||||
private Integer cutMode;
|
private Integer cutMode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量1")
|
@ApiModelProperty(value = "出口重量1")
|
||||||
private Float exitValue1;
|
private Double exitValue1;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量2")
|
@ApiModelProperty(value = "出口重量2")
|
||||||
private Float exitValue2;
|
private Double exitValue2;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量3")
|
@ApiModelProperty(value = "出口重量3")
|
||||||
private Float exitValue3;
|
private Double exitValue3;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量4")
|
@ApiModelProperty(value = "出口重量4")
|
||||||
private Float exitValue4;
|
private Double exitValue4;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量5")
|
@ApiModelProperty(value = "出口重量5")
|
||||||
private Float exitValue5;
|
private Double exitValue5;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量6")
|
@ApiModelProperty(value = "出口重量6")
|
||||||
private Float exitValue6;
|
private Double exitValue6;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量")
|
@ApiModelProperty(value = "出口重量")
|
||||||
private Float exitWeight;
|
private Double exitWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口长度")
|
@ApiModelProperty(value = "出口长度")
|
||||||
private Float exitLength;
|
private Double exitLength;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口厚度")
|
@ApiModelProperty(value = "出口厚度")
|
||||||
private Float exitThick;
|
private Double exitThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口宽度")
|
@ApiModelProperty(value = "出口宽度")
|
||||||
private Float exitWidth;
|
private Double exitWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "钢种")
|
@ApiModelProperty(value = "钢种")
|
||||||
private String grade;
|
private String grade;
|
||||||
@@ -119,16 +119,16 @@ public class CrmPdiPlan implements Serializable {
|
|||||||
private String planNo;
|
private String planNo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "压下率")
|
@ApiModelProperty(value = "压下率")
|
||||||
private Float reductionRate;
|
private Double reductionRate;
|
||||||
|
|
||||||
@ApiModelProperty(value = "热卷温度")
|
@ApiModelProperty(value = "热卷温度")
|
||||||
private Float hotCoilTemp;
|
private Double hotCoilTemp;
|
||||||
|
|
||||||
@ApiModelProperty(value = "厚度正偏差")
|
@ApiModelProperty(value = "厚度正偏差")
|
||||||
private Float entryThickMaxtol;
|
private Double entryThickMaxtol;
|
||||||
|
|
||||||
@ApiModelProperty(value = "厚度正偏差")
|
@ApiModelProperty(value = "厚度正偏差")
|
||||||
private Float entryThickMintol;
|
private Double entryThickMintol;
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "计划日期")
|
@ApiModelProperty(value = "计划日期")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.fizz.business.domain;
|
package com.fizz.business.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
@@ -14,9 +15,12 @@ import java.time.LocalDateTime;
|
|||||||
@TableName("crm_pdo_excoil")
|
@TableName("crm_pdo_excoil")
|
||||||
public class CrmPdoExcoil implements Serializable {
|
public class CrmPdoExcoil implements Serializable {
|
||||||
|
|
||||||
@TableId
|
@TableId(type = IdType.AUTO)
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
@ApiModelProperty(value = "成品卷ID")
|
@ApiModelProperty(value = "成品卷ID")
|
||||||
private String excoilid;
|
private String exitCoilid;
|
||||||
|
|
||||||
@ApiModelProperty(value = "进入卷ID")
|
@ApiModelProperty(value = "进入卷ID")
|
||||||
private String encoilid;
|
private String encoilid;
|
||||||
@@ -31,10 +35,10 @@ public class CrmPdoExcoil implements Serializable {
|
|||||||
private Integer subid;
|
private Integer subid;
|
||||||
|
|
||||||
@ApiModelProperty(value = "头部位置")
|
@ApiModelProperty(value = "头部位置")
|
||||||
private Float headpos;
|
private Double headpos;
|
||||||
|
|
||||||
@ApiModelProperty(value = "尾部位置")
|
@ApiModelProperty(value = "尾部位置")
|
||||||
private Float tailpos;
|
private Double tailpos;
|
||||||
|
|
||||||
@ApiModelProperty(value = "班次")
|
@ApiModelProperty(value = "班次")
|
||||||
private String shift;
|
private String shift;
|
||||||
@@ -43,37 +47,37 @@ public class CrmPdoExcoil implements Serializable {
|
|||||||
private String crew;
|
private String crew;
|
||||||
|
|
||||||
@ApiModelProperty(value = "退火厚度")
|
@ApiModelProperty(value = "退火厚度")
|
||||||
private Float annealThick;
|
private Double annealThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口厚度")
|
@ApiModelProperty(value = "入口厚度")
|
||||||
private Float entryThick;
|
private Double entryThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口宽度")
|
@ApiModelProperty(value = "入口宽度")
|
||||||
private Float entryWidth;
|
private Double entryWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口重量")
|
@ApiModelProperty(value = "入口重量")
|
||||||
private Float entryWeight;
|
private Double entryWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "成品厚度")
|
@ApiModelProperty(value = "成品厚度")
|
||||||
private Float exitThick;
|
private Double exitThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "成品宽度")
|
@ApiModelProperty(value = "成品宽度")
|
||||||
private Float exitWidth;
|
private Double exitWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "成品长度")
|
@ApiModelProperty(value = "成品长度")
|
||||||
private Float exitLength;
|
private Double exitLength;
|
||||||
|
|
||||||
@ApiModelProperty(value = "成品内径")
|
@ApiModelProperty(value = "成品内径")
|
||||||
private Float exitInnerDiameter;
|
private Double exitInnerDiameter;
|
||||||
|
|
||||||
@ApiModelProperty(value = "理论出口重量")
|
@ApiModelProperty(value = "理论出口重量")
|
||||||
private Float calcExitWeight;
|
private Double calcExitWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "实际出口重量")
|
@ApiModelProperty(value = "实际出口重量")
|
||||||
private Float measExitWeight;
|
private Double measExitWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "外径")
|
@ApiModelProperty(value = "外径")
|
||||||
private Float outerDiameter;
|
private Double outerDiameter;
|
||||||
|
|
||||||
@ApiModelProperty(value = "状态")
|
@ApiModelProperty(value = "状态")
|
||||||
private String status;
|
private String status;
|
||||||
@@ -94,7 +98,7 @@ public class CrmPdoExcoil implements Serializable {
|
|||||||
private LocalDateTime insdate;
|
private LocalDateTime insdate;
|
||||||
|
|
||||||
@ApiModelProperty(value = "质量")
|
@ApiModelProperty(value = "质量")
|
||||||
private Float quality;
|
private Double quality;
|
||||||
|
|
||||||
@ApiModelProperty(value = "热卷ID")
|
@ApiModelProperty(value = "热卷ID")
|
||||||
private String hotCoilid;
|
private String hotCoilid;
|
||||||
|
|||||||
@@ -0,0 +1,189 @@
|
|||||||
|
package com.fizz.business.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName("mod_setup_result")
|
||||||
|
@ApiModel(value = "ModSetupResult对象", description = "轧机设置结果实体类")
|
||||||
|
public class ModSetupResult {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "自增主键")
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "logid")
|
||||||
|
private Integer logId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢卷ID")
|
||||||
|
private String coilId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "道次号")
|
||||||
|
private Integer passId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "机架号")
|
||||||
|
private Integer standId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "断面ID")
|
||||||
|
private Integer fractId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "速度限制")
|
||||||
|
private Integer speedLimit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "力限制")
|
||||||
|
private Integer forceLimit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "功率限制")
|
||||||
|
private Integer powerLimit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口厚度")
|
||||||
|
private Float entryThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口厚度")
|
||||||
|
private Float exitThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小厚度")
|
||||||
|
private Float minThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "压下率")
|
||||||
|
private Float reduction;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "摩擦系数")
|
||||||
|
private Float friction;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口凸度")
|
||||||
|
private Float entryCrown;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口凸度")
|
||||||
|
private Float exitCrown;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口张力")
|
||||||
|
private Float entryTension;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口张力")
|
||||||
|
private Float exitTension;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口应力")
|
||||||
|
private Float entryTenstress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口应力")
|
||||||
|
private Float exitTenstress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "速度比")
|
||||||
|
private Float speedFract;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口速度")
|
||||||
|
private Float entrySpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口速度")
|
||||||
|
private Float exitSpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制速度")
|
||||||
|
private Float rollSpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口应变")
|
||||||
|
private Float sigmae;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口应变")
|
||||||
|
private Float sigmas;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "平均应变")
|
||||||
|
private Float sigmaave;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制力")
|
||||||
|
private Float rollForce;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧辊间隙")
|
||||||
|
private Float rollgap;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "超出间隙")
|
||||||
|
private Float overgap;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧机刚度")
|
||||||
|
private Float millModulus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "滑移")
|
||||||
|
private Float slip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "变形半径")
|
||||||
|
private Float rdef;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制角度")
|
||||||
|
private Float angle;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "中心流量")
|
||||||
|
private Float centerFlow;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "边缘流量")
|
||||||
|
private Float edgeFlow;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "中心压力")
|
||||||
|
private Float centerPress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "边缘压力")
|
||||||
|
private Float edgePress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口温度")
|
||||||
|
private Float entryTemp;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口温度")
|
||||||
|
private Float exitTemp;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工作辊弯曲")
|
||||||
|
private Float wrbend;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "支撑辊弯曲")
|
||||||
|
private Float irbend;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "支撑辊位移")
|
||||||
|
private Float irshift;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电机电流")
|
||||||
|
private Float motorCurrent;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电机电压")
|
||||||
|
private Float motorVoltage;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制扭矩")
|
||||||
|
private Float rollTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "总轧制扭矩")
|
||||||
|
private Float totalRollTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电机扭矩")
|
||||||
|
private Float motorTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "扭矩比")
|
||||||
|
private Float torqueRatio;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "比扭矩")
|
||||||
|
private Float specTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "功率")
|
||||||
|
private Float power;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "负载比")
|
||||||
|
private Float loadRatio;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "计算ID 实际用的这个值")
|
||||||
|
private String calcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "记录插入时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime insdate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
}
|
||||||
@@ -1 +0,0 @@
|
|||||||
11111
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.fizz.business.form;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态变更form
|
||||||
|
*
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/04/27
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ChangePlanStatusForm implements Serializable {
|
||||||
|
|
||||||
|
@NotNull(message = "状态变更类型不能为空")
|
||||||
|
@ApiModelProperty("ONLINE-钢卷上线,UNLOAD-手动卸卷,PRODUCT-生产完成")
|
||||||
|
private String operation;
|
||||||
|
|
||||||
|
@NotNull(message = "计划id不能为空")
|
||||||
|
@ApiModelProperty("计划id集合")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.fizz.business.form;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CrmPdoExcoilForm {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢卷号")
|
||||||
|
private String encoilid;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "开始日期")
|
||||||
|
private LocalDateTime startDate;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "结束日期")
|
||||||
|
private LocalDateTime endDate;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.fizz.business.form;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ModSetupResultForm {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢卷ID")
|
||||||
|
private String coilId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢种")
|
||||||
|
private String grade;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "道次号")
|
||||||
|
private Integer passId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "退火厚度")
|
||||||
|
private Integer annealThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口厚度")
|
||||||
|
private Double entryThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口厚度")
|
||||||
|
private Double exitThick;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.fizz.business.form;
|
||||||
|
|
||||||
|
import com.fizz.business.constants.enums.WebMatOperateEnum;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态变更form
|
||||||
|
*
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/04/27
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class WebOperateMatForm implements Serializable {
|
||||||
|
|
||||||
|
@NotNull(message = "操作不存在")
|
||||||
|
@ApiModelProperty("ONLINE-钢卷上线,READY-回退,PRODUCT-生成完成")
|
||||||
|
private WebMatOperateEnum operation;
|
||||||
|
|
||||||
|
@NotNull(message = "计划id不能为空")
|
||||||
|
@ApiModelProperty("计划id集合")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@NotBlank(message = "钢卷号不能为空")
|
||||||
|
@ApiModelProperty(value = "钢卷号")
|
||||||
|
private String entryMatId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "计划号")
|
||||||
|
private String planNo;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.fizz.business.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.fizz.business.domain.ModSetupResult;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface ModSetupResultMapper extends BaseMapper<ModSetupResult> {
|
||||||
|
// 如果需要自定义查询或操作,可在此处添加相应的接口方法
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package com.fizz.business.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.fizz.business.domain.CrmPdiPlan;
|
import com.fizz.business.domain.CrmPdiPlan;
|
||||||
|
import com.fizz.business.form.ChangePlanStatusForm;
|
||||||
import com.fizz.business.form.PlanQueryForm;
|
import com.fizz.business.form.PlanQueryForm;
|
||||||
import com.fizz.business.vo.CrmPdiPlanVO;
|
import com.fizz.business.vo.CrmPdiPlanVO;
|
||||||
|
|
||||||
@@ -18,4 +19,6 @@ public interface CrmPdiPlanService extends IService<CrmPdiPlan> {
|
|||||||
public boolean deleteCrmPdiPlan(List<Long> coilid);
|
public boolean deleteCrmPdiPlan(List<Long> coilid);
|
||||||
|
|
||||||
public List<CrmPdiPlanVO> listAll(PlanQueryForm form);
|
public List<CrmPdiPlanVO> listAll(PlanQueryForm form);
|
||||||
|
|
||||||
|
CrmPdiPlanVO updateCrmPdiPlanById(ChangePlanStatusForm form);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.fizz.business.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.fizz.business.domain.CrmPdoExcoil;
|
import com.fizz.business.domain.CrmPdoExcoil;
|
||||||
|
import com.fizz.business.form.CrmPdoExcoilForm;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -14,6 +15,6 @@ public interface CrmPdoExcoilService extends IService<CrmPdoExcoil> {
|
|||||||
|
|
||||||
boolean deleteCrmPdoExcoil(String excoilid, Integer operid);
|
boolean deleteCrmPdoExcoil(String excoilid, Integer operid);
|
||||||
|
|
||||||
List<CrmPdoExcoil> listAll();
|
List<CrmPdoExcoil> listAll(CrmPdoExcoilForm form);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.fizz.business.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.fizz.business.domain.ModSetupResult;
|
||||||
|
import com.fizz.business.form.ModSetupResultForm;
|
||||||
|
import com.fizz.business.vo.ModSetupResultVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ModSetupResultService extends IService<ModSetupResult> {
|
||||||
|
List<ModSetupResultVO> list(ModSetupResultForm form);
|
||||||
|
|
||||||
|
String calcSetup(ModSetupResultForm form);
|
||||||
|
// 可在此处添加自定义业务方法
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.fizz.business.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fizz.business.form.WebOperateMatForm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/17
|
||||||
|
*/
|
||||||
|
public interface TrackService {
|
||||||
|
|
||||||
|
void operateMatWeb(WebOperateMatForm form);
|
||||||
|
|
||||||
|
void trUnload(WebOperateMatForm form);
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
package com.fizz.business.service.client;
|
||||||
|
|
||||||
|
import com.fizz.business.form.ChangePlanStatusForm;
|
||||||
|
import com.fizz.business.service.CrmPdiPlanService;
|
||||||
|
import com.fizz.business.vo.CrmPdiPlanVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划执行接口
|
||||||
|
*
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/17
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class PdiPlanClient {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CrmPdiPlanService crmPdiPlanService;
|
||||||
|
|
||||||
|
public List<CrmPdiPlanVO> queryTrackPlanList() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CrmPdiPlanVO queryTrackPlanFirst() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CrmPdiPlanVO detail(Long planId) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CrmPdiPlanVO changeStatus(ChangePlanStatusForm form) {
|
||||||
|
|
||||||
|
return crmPdiPlanService.updateCrmPdiPlanById(form);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package com.fizz.business.service.client;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.socket.CloseStatus;
|
||||||
|
import org.springframework.web.socket.TextMessage;
|
||||||
|
import org.springframework.web.socket.WebSocketSession;
|
||||||
|
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/19
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class TrackWsHandler extends AbstractWebSocketHandler {
|
||||||
|
|
||||||
|
private static final ConcurrentHashMap<String, Map<String, WebSocketSession>> clients = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* socket 建立成功事件
|
||||||
|
*
|
||||||
|
* @param session
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void afterConnectionEstablished(WebSocketSession session) {
|
||||||
|
try {
|
||||||
|
String sid = session.getId();
|
||||||
|
String type = (String) session.getAttributes().get("type");
|
||||||
|
Map<String, WebSocketSession> sessionMap = clients.get(type);
|
||||||
|
if (Objects.isNull(sessionMap)) {
|
||||||
|
sessionMap = new ConcurrentHashMap<>();
|
||||||
|
}
|
||||||
|
sessionMap.put(sid, session);
|
||||||
|
// 添加 session
|
||||||
|
clients.put(type, sessionMap);
|
||||||
|
log.info("[websocket]建立连接:{}", type + sid);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("[websocket]建立连接错误:{}", e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收消息事件
|
||||||
|
*
|
||||||
|
* @param session
|
||||||
|
* @param message
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
|
||||||
|
String payload = message.getPayload();
|
||||||
|
log.info("[websocket]收到客户端[{}]的消息:{}", session.getAttributes().get("type") + "-" + session.getId(), payload);
|
||||||
|
// 心跳
|
||||||
|
if (payload.equals("ping")) {
|
||||||
|
session.sendMessage(new TextMessage("pong"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* socket 断开连接时
|
||||||
|
*
|
||||||
|
* @param session
|
||||||
|
* @param status
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
|
||||||
|
onClose(session);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
|
||||||
|
log.error("[websocket]连接异常:{}", session.getAttributes().get("type") + "-" + session.getId(), exception);
|
||||||
|
onClose(session);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ConcurrentHashMap<String, Map<String, WebSocketSession>> getClients() {
|
||||||
|
return clients;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void onClose(WebSocketSession session) {
|
||||||
|
try {
|
||||||
|
String sid = session.getId();
|
||||||
|
String type = (String) session.getAttributes().get("type");
|
||||||
|
if (clients.containsKey(type) && clients.get(type).containsKey(sid)) {
|
||||||
|
WebSocketSession webSocketSession = clients.get(type).remove(sid);
|
||||||
|
if (webSocketSession != null) {
|
||||||
|
webSocketSession.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log.info("[websocket]连接关闭:{}", type + "-" + sid);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("[websocket]连接关闭错误:{}", e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.fizz.business.service.impl;
|
||||||
|
|
||||||
|
import org.springframework.beans.BeansException;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/18
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class BeanFactory implements ApplicationContextAware {
|
||||||
|
|
||||||
|
private static ApplicationContext applicationContext;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
|
BeanFactory.applicationContext = applicationContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> T getBean(Class<T> var1, Object... var2) {
|
||||||
|
return applicationContext.getBean(var1, var2);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.fizz.business.service.impl;
|
package com.fizz.business.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.fizz.business.domain.CrmPdiPlan;
|
import com.fizz.business.domain.CrmPdiPlan;
|
||||||
|
import com.fizz.business.form.ChangePlanStatusForm;
|
||||||
import com.fizz.business.form.PlanQueryForm;
|
import com.fizz.business.form.PlanQueryForm;
|
||||||
import com.fizz.business.mapper.CrmPdiPlanMapper;
|
import com.fizz.business.mapper.CrmPdiPlanMapper;
|
||||||
import com.fizz.business.service.CrmPdiPlanService;
|
import com.fizz.business.service.CrmPdiPlanService;
|
||||||
@@ -23,7 +25,15 @@ public class CrmPdiPlanServiceImpl extends ServiceImpl<CrmPdiPlanMapper, CrmPdiP
|
|||||||
* @return 查询到的CrmPdiPlan对象
|
* @return 查询到的CrmPdiPlan对象
|
||||||
*/
|
*/
|
||||||
public CrmPdiPlanVO getByCoilIdAndOperId(String coilid) {
|
public CrmPdiPlanVO getByCoilIdAndOperId(String coilid) {
|
||||||
|
|
||||||
QueryWrapper<CrmPdiPlan> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<CrmPdiPlan> queryWrapper = new QueryWrapper<>();
|
||||||
|
if (coilid.equals("online")){
|
||||||
|
queryWrapper.eq("STATUS", coilid);
|
||||||
|
CrmPdiPlan one = this.getOne(queryWrapper);
|
||||||
|
return BeanUtil.copyProperties(one, CrmPdiPlanVO.class);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
queryWrapper.like("coilid", coilid);
|
queryWrapper.like("coilid", coilid);
|
||||||
CrmPdiPlan one = this.getOne(queryWrapper);
|
CrmPdiPlan one = this.getOne(queryWrapper);
|
||||||
|
|
||||||
@@ -70,4 +80,17 @@ public class CrmPdiPlanServiceImpl extends ServiceImpl<CrmPdiPlanMapper, CrmPdiP
|
|||||||
return BeanUtil.copyToList(this.list(), CrmPdiPlanVO.class);
|
return BeanUtil.copyToList(this.list(), CrmPdiPlanVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CrmPdiPlanVO updateCrmPdiPlanById(ChangePlanStatusForm form) {
|
||||||
|
|
||||||
|
|
||||||
|
CrmPdiPlan crmPdiPlan = this.getById(form.getId());
|
||||||
|
|
||||||
|
crmPdiPlan.setStatus(form.getOperation());
|
||||||
|
|
||||||
|
this.updateById(crmPdiPlan);
|
||||||
|
|
||||||
|
return BeanUtil.toBean(crmPdiPlan, CrmPdiPlanVO.class);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,10 @@ package com.fizz.business.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.fizz.business.domain.CrmPdoExcoil;
|
import com.fizz.business.domain.CrmPdoExcoil;
|
||||||
|
import com.fizz.business.form.CrmPdoExcoilForm;
|
||||||
import com.fizz.business.mapper.CrmPdoExcoilMapper;
|
import com.fizz.business.mapper.CrmPdoExcoilMapper;
|
||||||
import com.fizz.business.service.CrmPdoExcoilService;
|
import com.fizz.business.service.CrmPdoExcoilService;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -58,7 +60,16 @@ public class CrmPdoExcoilServiceImpl extends ServiceImpl<CrmPdoExcoilMapper, Crm
|
|||||||
* 查询所有记录
|
* 查询所有记录
|
||||||
* @return CrmPdoExcoil对象的列表
|
* @return CrmPdoExcoil对象的列表
|
||||||
*/
|
*/
|
||||||
public List<CrmPdoExcoil> listAll() {
|
public List<CrmPdoExcoil> listAll(CrmPdoExcoilForm form) {
|
||||||
return this.list();
|
|
||||||
|
QueryWrapper<CrmPdoExcoil> queryWrapper = new QueryWrapper<>();
|
||||||
|
if (!StringUtils.isEmpty(form.getEncoilid())){
|
||||||
|
queryWrapper.eq("exit_coilid", form.getEncoilid()).eq("encoilid", form.getEncoilid());
|
||||||
|
}
|
||||||
|
|
||||||
|
queryWrapper.ge("start_date", form.getStartDate() + "00:00:00");
|
||||||
|
queryWrapper.le("start_date", form.getStartDate() + "23:59:59");
|
||||||
|
|
||||||
|
return baseMapper.selectList(queryWrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.fizz.business.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.fizz.business.domain.ModSetupResult;
|
||||||
|
import com.fizz.business.form.ModSetupResultForm;
|
||||||
|
import com.fizz.business.mapper.ModSetupResultMapper;
|
||||||
|
import com.fizz.business.service.ModSetupResultService;
|
||||||
|
import com.fizz.business.vo.ModSetupResultVO;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class ModSetupResultServiceImpl extends ServiceImpl<ModSetupResultMapper, ModSetupResult> implements ModSetupResultService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ModSetupResultVO> list(ModSetupResultForm form) {
|
||||||
|
|
||||||
|
// 确保各个字段的非空验证
|
||||||
|
if (StringUtils.isEmpty(form.getGrade()) || form.getAnnealThick() == null ||
|
||||||
|
form.getEntryThick() == null || form.getExitThick() == null || form.getPassId() == null) {
|
||||||
|
throw new IllegalArgumentException("必要的字段缺失");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 去除Double类型的字段的小数位
|
||||||
|
int annealThick = form.getAnnealThick();
|
||||||
|
int entryThick = form.getEntryThick().intValue(); // 去除小数位
|
||||||
|
int exitThick = form.getExitThick().intValue(); // 去除小数位
|
||||||
|
int passId = form.getPassId();
|
||||||
|
|
||||||
|
// 根据字段构建 calcId
|
||||||
|
String calcId = form.getGrade() + annealThick + entryThick + exitThick + passId;
|
||||||
|
|
||||||
|
// 实际查询代码(根据 calcId 查询数据)
|
||||||
|
// 这里假设查询方法为根据 calcId 查找结果
|
||||||
|
LambdaQueryWrapper<ModSetupResult> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(ModSetupResult::getCalcId,calcId);
|
||||||
|
|
||||||
|
List<ModSetupResult> results = this.baseMapper.selectList(queryWrapper);
|
||||||
|
|
||||||
|
|
||||||
|
return BeanUtil.copyToList(results, ModSetupResultVO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String calcSetup(ModSetupResultForm form) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package com.fizz.business.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.fizz.business.domain.CrmPdiPlan;
|
||||||
|
import com.fizz.business.domain.CrmPdoExcoil;
|
||||||
|
import com.fizz.business.form.WebOperateMatForm;
|
||||||
|
import com.fizz.business.mapper.CrmPdiPlanMapper;
|
||||||
|
import com.fizz.business.service.CrmPdoExcoilService;
|
||||||
|
import com.fizz.business.service.TrackService;
|
||||||
|
import com.fizz.business.utils.CalcUtil;
|
||||||
|
import com.fizz.business.vo.Plan2PdoVO;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/18
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class TrackServiceImpl implements TrackService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CrmPdiPlanMapper crmPdiPlanMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
CrmPdoExcoilService crmPdoExcoilService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void operateMatWeb(WebOperateMatForm form) {
|
||||||
|
|
||||||
|
log.info("unitCode:{}, hand operate mat by Web: {}", form.getPlanNo(), JSON.toJSONString(form));
|
||||||
|
form.getOperation().operate(form);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void trUnload(WebOperateMatForm form) {
|
||||||
|
if (StringUtils.compare(form.getOperation().getValue(),"PRODUCT") != 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CrmPdiPlan pdiPlan = crmPdiPlanMapper.selectById(form.getId());
|
||||||
|
Plan2PdoVO bean = BeanUtil.toBean(pdiPlan, Plan2PdoVO.class);
|
||||||
|
|
||||||
|
CrmPdoExcoil excoil = BeanUtil.toBean(bean, CrmPdoExcoil.class);
|
||||||
|
|
||||||
|
double calcCoilWeight = CalcUtil.calcCoilWeight(excoil.getExitLength(), excoil.getEntryThick(), excoil.getEntryWidth());
|
||||||
|
excoil.setCalcExitWeight(calcCoilWeight);
|
||||||
|
excoil.setMeasExitWeight(calcCoilWeight);
|
||||||
|
excoil.setHeadpos(0d);
|
||||||
|
excoil.setTailpos(excoil.getExitLength());
|
||||||
|
excoil.setSubid(1);
|
||||||
|
excoil.setOuterDiameter(Double.valueOf(bean.getEntryOuterDiameter()));
|
||||||
|
excoil.setStatus("PRODUCT");
|
||||||
|
|
||||||
|
crmPdoExcoilService.addCrmPdoExcoil(excoil);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1 +0,0 @@
|
|||||||
11111
|
|
||||||
53
business/src/main/java/com/fizz/business/utils/CalcUtil.java
Normal file
53
business/src/main/java/com/fizz/business/utils/CalcUtil.java
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
package com.fizz.business.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import com.fizz.business.constants.CommonConstants;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author chenhao
|
||||||
|
* @date 2023/05/15
|
||||||
|
*/
|
||||||
|
public class CalcUtil {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算带钢长度
|
||||||
|
*
|
||||||
|
* @param weight 重量[T]
|
||||||
|
* @param thick 厚度[mm]
|
||||||
|
* @param width 宽度[mm]
|
||||||
|
* @return 长度[m]
|
||||||
|
*/
|
||||||
|
public static double calcCoilLength(double weight, double thick, double width) {
|
||||||
|
double v = weight / (thick * width * CommonConstants.RO) * 1000 * 1000;
|
||||||
|
return NumberUtil.round(v, 0).doubleValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算带钢重量
|
||||||
|
*
|
||||||
|
* @param length 长度[m]
|
||||||
|
* @param thick 厚度[mm]
|
||||||
|
* @param width 宽度[mm]
|
||||||
|
* @return 重量[T]
|
||||||
|
*/
|
||||||
|
public static double calcCoilWeight(double length, double thick, double width) {
|
||||||
|
double v = thick * width * length * CommonConstants.RO / (1000 * 1000);
|
||||||
|
return NumberUtil.round(v, 3).doubleValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算钢卷外径
|
||||||
|
*
|
||||||
|
* @param weight 重量[T]
|
||||||
|
* @param width 宽度[mm]
|
||||||
|
* @param innerDiameter 内径[mm]
|
||||||
|
* @return 外径[mm]
|
||||||
|
*/
|
||||||
|
public static double calcOuterDiameter(double weight, double width, double innerDiameter) {
|
||||||
|
double innerRadius = (innerDiameter / 1000) / 2;
|
||||||
|
double v = 2 * Math.sqrt(((weight * 1000) / (width * CommonConstants.RO) + Math.PI * Math.pow(innerRadius, 2)) / Math.PI) * 1000;
|
||||||
|
return NumberUtil.round(v, 0).doubleValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package com.fizz.business.utils;
|
||||||
|
|
||||||
|
import com.alibaba.druid.support.json.JSONUtils;
|
||||||
|
import com.fizz.business.constants.enums.WsTypeEnum;
|
||||||
|
import com.fizz.business.service.client.TrackWsHandler;
|
||||||
|
import com.fizz.business.vo.CrmPdiPlanVO;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.socket.TextMessage;
|
||||||
|
import org.springframework.web.socket.WebSocketSession;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class WebSocketUtil {
|
||||||
|
|
||||||
|
private static TrackWsHandler trackWsHandler;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setTrackWsHandler(TrackWsHandler trackWsHandler) {
|
||||||
|
WebSocketUtil.trackWsHandler = trackWsHandler;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendMessage(WsTypeEnum type, String text) {
|
||||||
|
Map<String, WebSocketSession> clients = trackWsHandler.getClients().getOrDefault(type.name(), Maps.newConcurrentMap());
|
||||||
|
TextMessage message = new TextMessage(text);
|
||||||
|
clients.values().forEach(s -> {
|
||||||
|
try {
|
||||||
|
s.sendMessage(message);
|
||||||
|
// log.info("[websocket]向客户端[{}]推送消息:{}", type + "-" + s.getId(), text);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("[websocket]向客户端[{}]推送消息异常:{}", type + "-" + s.getId(), text);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendMatmapMsg(CrmPdiPlanVO crmPdiPlanVO) {
|
||||||
|
|
||||||
|
sendMessage(WsTypeEnum.valueOf(WsTypeEnum.track_matmap.getValue()), JSONUtils.toJSONString(crmPdiPlanVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -38,16 +38,16 @@ public class CrmPdiPlanVO {
|
|||||||
private Integer annealThick;
|
private Integer annealThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口厚度")
|
@ApiModelProperty(value = "入口厚度")
|
||||||
private Float entryThick;
|
private Double entryThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口宽度")
|
@ApiModelProperty(value = "入口宽度")
|
||||||
private Float entryWidth;
|
private Double entryWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口重量")
|
@ApiModelProperty(value = "入口重量")
|
||||||
private Float entryWeight;
|
private Double entryWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口长度")
|
@ApiModelProperty(value = "入口长度")
|
||||||
private Float entryLength;
|
private Double entryLength;
|
||||||
|
|
||||||
@ApiModelProperty(value = "入口内径")
|
@ApiModelProperty(value = "入口内径")
|
||||||
private Integer entryInnerDiameter;
|
private Integer entryInnerDiameter;
|
||||||
@@ -68,34 +68,34 @@ public class CrmPdiPlanVO {
|
|||||||
private Integer cutMode;
|
private Integer cutMode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量1")
|
@ApiModelProperty(value = "出口重量1")
|
||||||
private Float exitValue1;
|
private Double exitValue1;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量2")
|
@ApiModelProperty(value = "出口重量2")
|
||||||
private Float exitValue2;
|
private Double exitValue2;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量3")
|
@ApiModelProperty(value = "出口重量3")
|
||||||
private Float exitValue3;
|
private Double exitValue3;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量4")
|
@ApiModelProperty(value = "出口重量4")
|
||||||
private Float exitValue4;
|
private Double exitValue4;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量5")
|
@ApiModelProperty(value = "出口重量5")
|
||||||
private Float exitValue5;
|
private Double exitValue5;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量6")
|
@ApiModelProperty(value = "出口重量6")
|
||||||
private Float exitValue6;
|
private Double exitValue6;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口重量")
|
@ApiModelProperty(value = "出口重量")
|
||||||
private Float exitWeight;
|
private Double exitWeight;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口长度")
|
@ApiModelProperty(value = "出口长度")
|
||||||
private Float exitLength;
|
private Double exitLength;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口厚度")
|
@ApiModelProperty(value = "出口厚度")
|
||||||
private Float exitThick;
|
private Double exitThick;
|
||||||
|
|
||||||
@ApiModelProperty(value = "出口宽度")
|
@ApiModelProperty(value = "出口宽度")
|
||||||
private Float exitWidth;
|
private Double exitWidth;
|
||||||
|
|
||||||
@ApiModelProperty(value = "钢种")
|
@ApiModelProperty(value = "钢种")
|
||||||
private String grade;
|
private String grade;
|
||||||
@@ -113,16 +113,16 @@ public class CrmPdiPlanVO {
|
|||||||
private String planNo;
|
private String planNo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "压下率")
|
@ApiModelProperty(value = "压下率")
|
||||||
private Float reductionRate;
|
private Double reductionRate;
|
||||||
|
|
||||||
@ApiModelProperty(value = "热卷温度")
|
@ApiModelProperty(value = "热卷温度")
|
||||||
private Float hotCoilTemp;
|
private Double hotCoilTemp;
|
||||||
|
|
||||||
@ApiModelProperty(value = "厚度正偏差")
|
@ApiModelProperty(value = "厚度正偏差")
|
||||||
private Float entryThickMaxtol;
|
private Double entryThickMaxtol;
|
||||||
|
|
||||||
@ApiModelProperty(value = "厚度正偏差")
|
@ApiModelProperty(value = "厚度正偏差")
|
||||||
private Float entryThickMintol;
|
private Double entryThickMintol;
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "计划日期")
|
@ApiModelProperty(value = "计划日期")
|
||||||
|
|||||||
@@ -0,0 +1,118 @@
|
|||||||
|
package com.fizz.business.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ModSetupResultVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "自增主键")
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "logid")
|
||||||
|
private Integer logId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢卷ID")
|
||||||
|
private String coilId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "道次号")
|
||||||
|
private Integer passId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口厚度")
|
||||||
|
private Float entryThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口厚度")
|
||||||
|
private Float exitThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "压下率")
|
||||||
|
private Float reduction;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口张力")
|
||||||
|
private Float entryTension;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口张力")
|
||||||
|
private Float exitTension;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口应力")
|
||||||
|
private Float entryTenstress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口应力")
|
||||||
|
private Float exitTenstress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "速度比")
|
||||||
|
private Float speedFract;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口速度")
|
||||||
|
private Float entrySpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口速度")
|
||||||
|
private Float exitSpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制速度")
|
||||||
|
private Float rollSpeed;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制力")
|
||||||
|
private Float rollForce;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧辊间隙")
|
||||||
|
private Float rollgap;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "超出间隙")
|
||||||
|
private Float overgap;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧机刚度")
|
||||||
|
private Float millModulus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "前滑")
|
||||||
|
private Float slip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工作辊弯辊力")
|
||||||
|
private Float wrbend;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "支撑辊弯辊力")
|
||||||
|
private Float irbend;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "轧制扭矩")
|
||||||
|
private Float rollTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "总轧制扭矩")
|
||||||
|
private Float totalRollTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "电机扭矩")
|
||||||
|
private Float motorTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "扭矩比")
|
||||||
|
private Float torqueRatio;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "比扭矩")
|
||||||
|
private Float specTorque;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "功率")
|
||||||
|
private Float power;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "负载比")
|
||||||
|
private Float loadRatio;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "计算ID 实际用的这个值")
|
||||||
|
private String calcId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "记录插入时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime insdate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
}
|
||||||
87
business/src/main/java/com/fizz/business/vo/Plan2PdoVO.java
Normal file
87
business/src/main/java/com/fizz/business/vo/Plan2PdoVO.java
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
package com.fizz.business.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Plan2PdoVO {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "多火轧制次数")
|
||||||
|
private Integer operid;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢卷id")
|
||||||
|
private String coilid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "热轧卷ID")
|
||||||
|
private String hotCoilid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "道次数")
|
||||||
|
private Integer passno;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "退火厚度")
|
||||||
|
private Integer annealThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口厚度")
|
||||||
|
private Double entryThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口宽度")
|
||||||
|
private Double entryWidth;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口重量")
|
||||||
|
private Double entryWeight;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口长度")
|
||||||
|
private Double entryLength;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口内径")
|
||||||
|
private Integer entryInnerDiameter;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "入口外径")
|
||||||
|
private Integer entryOuterDiameter;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口卷号")
|
||||||
|
private String exitCoilid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "下工序代码")
|
||||||
|
private String nextUnit;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口长度")
|
||||||
|
private Double exitLength;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口厚度")
|
||||||
|
private Double exitThick;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出口宽度")
|
||||||
|
private Double exitWidth;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钢种")
|
||||||
|
private String grade;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "屈服强度")
|
||||||
|
private Integer yieldStrength;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "抗拉强度")
|
||||||
|
private Integer tensileStrength;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "计划号")
|
||||||
|
private String planNo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "压下率")
|
||||||
|
private Double reductionRate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "热卷温度")
|
||||||
|
private Double hotCoilTemp;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user