diff --git a/business/src/main/java/com/fizz/business/controller/CrmPdiPlanController.java b/business/src/main/java/com/fizz/business/controller/CrmPdiPlanController.java index 696fb12..9c80cc0 100644 --- a/business/src/main/java/com/fizz/business/controller/CrmPdiPlanController.java +++ b/business/src/main/java/com/fizz/business/controller/CrmPdiPlanController.java @@ -1,17 +1,15 @@ package com.fizz.business.controller; import com.fizz.business.domain.CrmPdiPlan; +import com.fizz.business.form.CalcPdiPlanForm; +import com.fizz.business.form.CrmPdiPlanForm; import com.fizz.business.form.PlanQueryForm; import com.fizz.business.service.CrmPdiPlanService; -import com.fizz.business.service.ModSetupResultService; import com.fizz.business.vo.CrmPdiPlanVO; -import com.fizz.business.vo.ModSetupResultVO; -import com.ruoyi.common.annotation.Anonymous; +import com.fizz.business.vo.PdiPlanSetupInfoVO; import com.ruoyi.common.core.domain.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -31,6 +29,35 @@ public class CrmPdiPlanController { return R.ok(crmPdiPlanService.getByCoilIdAndOperId(coilid)); } + + @GetMapping("/getCoilInfoAndSetupList") + @ApiOperation("通过钢卷号获取钢卷信息和设定值列表") + public R getCoilInfoAndSetupList(@RequestParam String coilid) { + return R.ok(crmPdiPlanService.getCoilInfoAndSetupList(coilid)); + } + + @PostMapping("/save/coilInfo") + @ApiOperation("保存钢卷信息") + public R editCoilInfo(@RequestBody CrmPdiPlanForm coilid) { + + if (crmPdiPlanService.editCoilInfo(coilid)) { + + return R.ok(); + } else { + return R.fail("新增或更新失败"); + } + + } + + @PostMapping("/calc") + @ApiOperation("计算设定值") + public R editCoilInfo(@RequestBody CalcPdiPlanForm coilid) { + + crmPdiPlanService.calcSetup(coilid); + return R.ok(); + } + + @PostMapping("/add") @ApiOperation("新增计划") public R add(@RequestBody CrmPdiPlan crmPdiPlan) { diff --git a/business/src/main/java/com/fizz/business/controller/ModSetupResultController.java b/business/src/main/java/com/fizz/business/controller/ModSetupResultController.java index 7ef2ded..8e94733 100644 --- a/business/src/main/java/com/fizz/business/controller/ModSetupResultController.java +++ b/business/src/main/java/com/fizz/business/controller/ModSetupResultController.java @@ -1,6 +1,7 @@ package com.fizz.business.controller; import com.fizz.business.domain.ModSetupResult; +import com.fizz.business.form.CalcPdiPlanForm; import com.fizz.business.form.ModSetupResultForm; import com.fizz.business.service.ModSetupResultService; import com.fizz.business.vo.ModSetupResultVO; @@ -30,7 +31,7 @@ public class ModSetupResultController { @PostMapping("/calc") @ApiOperation("计算设定值") - public R calcSetup(@RequestBody ModSetupResultForm form) { + public R calcSetup(@RequestBody CalcPdiPlanForm form) { return R.ok(modSetupResultService.calcSetup(form)); } diff --git a/business/src/main/java/com/fizz/business/form/CalcPdiPlanForm.java b/business/src/main/java/com/fizz/business/form/CalcPdiPlanForm.java new file mode 100644 index 0000000..a13c6f2 --- /dev/null +++ b/business/src/main/java/com/fizz/business/form/CalcPdiPlanForm.java @@ -0,0 +1,43 @@ +package com.fizz.business.form; + + +import com.fizz.business.vo.ModSetupResultVO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class CalcPdiPlanForm { + + @ApiModelProperty(value = "多火轧制次数") + private Integer operid; + + @ApiModelProperty(value = "轧制模式 1轧制力 2延伸率") + private Integer operMode; + + @ApiModelProperty(value = "钢种") + private String grade; + + @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 exitThick; + + @ApiModelProperty(value = "设定值列表") + List lists; + +} diff --git a/business/src/main/java/com/fizz/business/form/CrmPdiPlanForm.java b/business/src/main/java/com/fizz/business/form/CrmPdiPlanForm.java new file mode 100644 index 0000000..af83500 --- /dev/null +++ b/business/src/main/java/com/fizz/business/form/CrmPdiPlanForm.java @@ -0,0 +1,124 @@ +package com.fizz.business.form; + +import com.fizz.business.vo.ModSetupResultVO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +public class CrmPdiPlanForm { + + @ApiModelProperty(value = "序列号") + private Integer seqid; + + @ApiModelProperty(value = "多火轧制次数") + private Integer operid; + + @ApiModelProperty(value = "轧制模式 1轧制力 2延伸率") + private Integer operMode; + + @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 = "下工序代码 1冷硬卷 2退火卷 3其他 ") + private String nextUnit; + + @ApiModelProperty(value = "分割数量") + private Integer splitNum; + + @ApiModelProperty(value = "切割模式") + private Integer cutMode; + + @ApiModelProperty(value = "出口重量1") + private Double exitValue1; + + @ApiModelProperty(value = "出口重量2") + private Double exitValue2; + + @ApiModelProperty(value = "出口重量3") + private Double exitValue3; + + @ApiModelProperty(value = "出口重量4") + private Double exitValue4; + + @ApiModelProperty(value = "出口重量5") + private Double exitValue5; + + @ApiModelProperty(value = "出口重量6") + private Double exitValue6; + + @ApiModelProperty(value = "出口重量") + private Double exitWeight; + + @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 = "状态 NEW READY ONLINE PRODUCING PRODUCT") + private String status; + + @ApiModelProperty(value = "计划号") + private String planNo; + + @ApiModelProperty(value = "压下率") + private Double reductionRate; + + @ApiModelProperty(value = "热卷温度") + private Double hotCoilTemp; + + @ApiModelProperty(value = "厚度正偏差") + private Double entryThickMaxtol; + + @ApiModelProperty(value = "厚度正偏差") + private Double entryThickMintol; + + @ApiModelProperty(value = "设定值列表") + List lists; + +} diff --git a/business/src/main/java/com/fizz/business/service/CrmPdiPlanService.java b/business/src/main/java/com/fizz/business/service/CrmPdiPlanService.java index 3900038..0563e6f 100644 --- a/business/src/main/java/com/fizz/business/service/CrmPdiPlanService.java +++ b/business/src/main/java/com/fizz/business/service/CrmPdiPlanService.java @@ -2,15 +2,19 @@ package com.fizz.business.service; import com.baomidou.mybatisplus.extension.service.IService; import com.fizz.business.domain.CrmPdiPlan; +import com.fizz.business.form.CalcPdiPlanForm; import com.fizz.business.form.ChangePlanStatusForm; +import com.fizz.business.form.CrmPdiPlanForm; import com.fizz.business.form.PlanQueryForm; import com.fizz.business.vo.CrmPdiPlanVO; +import com.fizz.business.vo.PdiPlanSetupInfoVO; import java.util.List; public interface CrmPdiPlanService extends IService { public CrmPdiPlanVO getByCoilIdAndOperId(String coilid); + public PdiPlanSetupInfoVO getCoilInfoAndSetupList(String coilid); public boolean addCrmPdiPlan(CrmPdiPlan crmPdiPlan); @@ -21,4 +25,8 @@ public interface CrmPdiPlanService extends IService { public List listAll(PlanQueryForm form); void updateCrmPdiPlanById(ChangePlanStatusForm form); + + boolean editCoilInfo(CrmPdiPlanForm coilid); + + void calcSetup(CalcPdiPlanForm coilid); } diff --git a/business/src/main/java/com/fizz/business/service/ModSetupResultService.java b/business/src/main/java/com/fizz/business/service/ModSetupResultService.java index 7c2c499..286a1ce 100644 --- a/business/src/main/java/com/fizz/business/service/ModSetupResultService.java +++ b/business/src/main/java/com/fizz/business/service/ModSetupResultService.java @@ -2,6 +2,8 @@ package com.fizz.business.service; import com.baomidou.mybatisplus.extension.service.IService; import com.fizz.business.domain.ModSetupResult; +import com.fizz.business.form.CalcPdiPlanForm; +import com.fizz.business.form.CrmPdiPlanForm; import com.fizz.business.form.ModSetupResultForm; import com.fizz.business.vo.ModSetupResultVO; @@ -10,8 +12,10 @@ import java.util.List; public interface ModSetupResultService extends IService { List list(ModSetupResultForm form); - String calcSetup(ModSetupResultForm form); + String calcSetup(CalcPdiPlanForm form); String retrySetup(String coilid); + + List getSetupByCoilid(String coilid); // 可在此处添加自定义业务方法 } diff --git a/business/src/main/java/com/fizz/business/service/impl/CrmPdiPlanServiceImpl.java b/business/src/main/java/com/fizz/business/service/impl/CrmPdiPlanServiceImpl.java index e65a328..5618d0b 100644 --- a/business/src/main/java/com/fizz/business/service/impl/CrmPdiPlanServiceImpl.java +++ b/business/src/main/java/com/fizz/business/service/impl/CrmPdiPlanServiceImpl.java @@ -5,12 +5,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fizz.business.domain.CrmPdiPlan; -import com.fizz.business.form.ChangePlanStatusForm; -import com.fizz.business.form.PlanQueryForm; +import com.fizz.business.form.*; import com.fizz.business.mapper.CrmPdiPlanMapper; import com.fizz.business.service.CrmPdiPlanService; import com.fizz.business.service.ModSetupResultService; import com.fizz.business.vo.CrmPdiPlanVO; +import com.fizz.business.vo.ModSetupResultVO; +import com.fizz.business.vo.PdiPlanSetupInfoVO; import com.ruoyi.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -48,6 +49,18 @@ public class CrmPdiPlanServiceImpl extends ServiceImpl setup = modSetupResultService.getSetupByCoilid(coilid); + setupInfoVO.setLists(setup); + + return setupInfoVO; + } + /** * 添加新记录 * @param crmPdiPlan 要添加的CrmPdiPlan对象 @@ -104,4 +117,54 @@ public class CrmPdiPlanServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CrmPdiPlan::getCoilid,coilid); + + CrmPdiPlan one = this.getOne(queryWrapper); + + boolean flag; + if (one == null){ + + CrmPdiPlan bean = BeanUtil.toBean(coilid, CrmPdiPlan.class); + + bean.setStatus("NEW"); + bean.setSeqid(bean.getSeqid()+ 1); + + flag = this.save(bean); + + }else { + + BeanUtil.copyProperties(coilid,one); + one.setStatus("NEW"); + flag = this.updateById(one); + + } + + + CalcPdiPlanForm calcPdiPlanForm = new CalcPdiPlanForm(); + + calcPdiPlanForm.setGrade(coilid.getGrade()); + calcPdiPlanForm.setOperid(coilid.getOperid()); + calcPdiPlanForm.setAnnealThick(coilid.getAnnealThick()); + calcPdiPlanForm.setExitThick(coilid.getExitThick()); + calcPdiPlanForm.setPassno(coilid.getPassno()); + calcPdiPlanForm.setEntryThick(coilid.getEntryThick()); + calcPdiPlanForm.setOperMode(coilid.getOperMode()); + calcPdiPlanForm.setLists(coilid.getLists()); + + modSetupResultService.calcSetup(calcPdiPlanForm); + + return flag; + } + + @Override + public void calcSetup(CalcPdiPlanForm coilid) { + + modSetupResultService.calcSetup(coilid); + + } + } diff --git a/business/src/main/java/com/fizz/business/service/impl/ModSetupResultServiceImpl.java b/business/src/main/java/com/fizz/business/service/impl/ModSetupResultServiceImpl.java index c16148f..6937be0 100644 --- a/business/src/main/java/com/fizz/business/service/impl/ModSetupResultServiceImpl.java +++ b/business/src/main/java/com/fizz/business/service/impl/ModSetupResultServiceImpl.java @@ -1,11 +1,13 @@ package com.fizz.business.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONUtil; 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.constants.CommonConstants; import com.fizz.business.domain.ModSetupResult; +import com.fizz.business.form.CalcPdiPlanForm; import com.fizz.business.form.ModSetupResultForm; import com.fizz.business.mapper.ModSetupResultMapper; import com.fizz.business.service.ModSetupResultService; @@ -62,7 +64,15 @@ public class ModSetupResultServiceImpl extends ServiceImpl getSetupByCoilid(String coilid) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ModSetupResult::getCoilId,coilid); + + List results = this.baseMapper.selectList(queryWrapper); + + + return BeanUtil.copyToList(results, ModSetupResultVO.class); + } + + + } \ No newline at end of file diff --git a/business/src/main/java/com/fizz/business/vo/PdiPlanSetupInfoVO.java b/business/src/main/java/com/fizz/business/vo/PdiPlanSetupInfoVO.java new file mode 100644 index 0000000..9e41c32 --- /dev/null +++ b/business/src/main/java/com/fizz/business/vo/PdiPlanSetupInfoVO.java @@ -0,0 +1,148 @@ +package com.fizz.business.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class PdiPlanSetupInfoVO { + + @ApiModelProperty(value = "id") + private Long id; + + @ApiModelProperty(value = "序列号") + private Integer seqid; + + @ApiModelProperty(value = "多火轧制次数") + private Integer operid; + + @ApiModelProperty(value = "轧制模式 1轧制力 2延伸率") + private Integer operMode; + + @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 = "下工序代码 1冷硬卷 2退火卷 3其他 ") + private String nextUnit; + + @ApiModelProperty(value = "分割数量") + private Integer splitNum; + + @ApiModelProperty(value = "切割模式") + private Integer cutMode; + + @ApiModelProperty(value = "出口重量1") + private Double exitValue1; + + @ApiModelProperty(value = "出口重量2") + private Double exitValue2; + + @ApiModelProperty(value = "出口重量3") + private Double exitValue3; + + @ApiModelProperty(value = "出口重量4") + private Double exitValue4; + + @ApiModelProperty(value = "出口重量5") + private Double exitValue5; + + @ApiModelProperty(value = "出口重量6") + private Double exitValue6; + + @ApiModelProperty(value = "出口重量") + private Double exitWeight; + + @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 = "状态 NEW READY ONLINE PRODUCING PRODUCT") + private String status; + + @ApiModelProperty(value = "计划号") + private String planNo; + + @ApiModelProperty(value = "压下率") + private Double reductionRate; + + @ApiModelProperty(value = "热卷温度") + private Double hotCoilTemp; + + @ApiModelProperty(value = "厚度正偏差") + private Double entryThickMaxtol; + + @ApiModelProperty(value = "厚度正偏差") + private Double entryThickMintol; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "计划日期") + private LocalDateTime createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "记录日期") + private LocalDateTime insdate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "上线时间") + private LocalDateTime onlineTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "开始日期") + private LocalDateTime startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "结束日期") + private LocalDateTime endDate; + + @ApiModelProperty(value = "设定值列表") + List lists; + +}