From 835a4d179d4e3fcecc7e2a8cd63e6698bb3f16c4 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期一, 31 三月 2025 16:54:27 +0800 Subject: [PATCH] wcs电视机代码移植 --- src/main/java/com/zy/asrs/entity/result/LedCommand.java | 32 ++++++++ src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2 src/main/java/com/zy/asrs/service/LocDetlService.java | 2 src/main/java/com/zy/asrs/entity/result/MatDto.java | 47 +++++++++++ src/main/resources/mapper/LocDetlMapper.xml | 11 ++ src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 4 + src/main/java/com/zy/asrs/controller/TVController.java | 96 +++++++++++++++++++++++ 7 files changed, 192 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java index d61429f..da568cd 100644 --- a/src/main/java/com/zy/asrs/controller/TVController.java +++ b/src/main/java/com/zy/asrs/controller/TVController.java @@ -1,12 +1,23 @@ package com.zy.asrs.controller; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Arith; import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.domain.dto.AxisBean; import com.zy.asrs.domain.dto.WorkChartAxis; import com.zy.asrs.domain.vo.LocChartPie; +import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.entity.LocDetl; +import com.zy.asrs.entity.WrkDetl; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.result.LedCommand; +import com.zy.asrs.entity.result.MatDto; import com.zy.asrs.mapper.ReportQueryMapper; +import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.service.LocDetlService; +import com.zy.asrs.service.WrkDetlService; +import com.zy.asrs.service.WrkMastService; import com.zy.common.model.annotations.RateLimit; import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; @@ -31,7 +42,14 @@ @Autowired private ReportQueryMapper reportQueryMapper; @Autowired - private SlaveProperties slaveProperties; + private BasDevpService basDevpService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private LocDetlService locDetlService; + /** * 鑾峰彇褰撳墠鏃堕棿 @@ -191,7 +209,81 @@ */ @GetMapping("/led") public R monitorLed(@RequestParam("ledId") Integer ledId) { - return R.ok(); + BasDevp basDevp =basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",ledId)); + if(Cools.isEmpty(basDevp)){ + return R.ok(); + } + WrkMast wrkMast =wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + return R.ok(); + } + List<LedCommand> commands = new ArrayList<>(); + + // 缁勮鍛戒护 + LedCommand ledCommand = new LedCommand(); + ledCommand.setWorkNo(wrkMast.getWrkNo()); + ledCommand.setIoType(wrkMast.getIoType()); + // 鍑哄簱妯″紡 + switch (wrkMast.getIoType()) { + case 1: + ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); + break; + case 10: + ledCommand.setTitle("绌烘澘鍏ュ簱"); + break; + case 101: + ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); + break; + case 103: + ledCommand.setTitle("鎷f枡鍑哄簱"); + break; + case 104: + ledCommand.setTitle("骞舵澘鍑哄簱"); + break; + case 107: + ledCommand.setTitle("鐩樼偣鍑哄簱"); + break; + case 110: + ledCommand.setTitle("绌烘澘鍑哄簱"); + ledCommand.setEmptyMk(true); + break; + case 53: + ledCommand.setTitle("鎷f枡鍏ュ簱"); + break; + case 57: + ledCommand.setTitle("鐩樼偣鍏ュ簱"); + break; + case 54: + ledCommand.setTitle("骞舵澘鍏ュ簱"); + break; + default: + break; + } + ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); + ledCommand.setLocNo(wrkMast.getLocNo()); + ledCommand.setStaNo(wrkMast.getStaNo()); +// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); + if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + try{ + if (wrkMast.getIoType()>100){ + for (WrkDetl wrkDetl : wrkDetls){ + LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); + wrkDetl.setWeight(locDetl.getAnfme()); + } + }else { + for (WrkDetl wrkDetl : wrkDetls){ + wrkDetl.setWeight(wrkDetl.getAnfme()); + } + } + }catch (Exception e){ +// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); + } + wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getWeight(),wrkDetl.getSpecs()))); + } + commands.add(ledCommand); + + return R.ok().add(commands); } /** diff --git a/src/main/java/com/zy/asrs/entity/result/LedCommand.java b/src/main/java/com/zy/asrs/entity/result/LedCommand.java new file mode 100644 index 0000000..f9026e1 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/result/LedCommand.java @@ -0,0 +1,32 @@ +package com.zy.asrs.entity.result; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * led鍛戒护鎶ユ枃 + * Created by vincent on 2020/8/11 + */ +@Data +public class LedCommand extends Object { + + private String title; + + private Integer workNo; + + private Integer staNo; + + private Integer sourceStaNo; + + private String locNo; + + private String sourceLocNo; + + private List<MatDto> matDtos = new ArrayList<>(); + + private boolean emptyMk = false; + + private Integer ioType; +} diff --git a/src/main/java/com/zy/asrs/entity/result/MatDto.java b/src/main/java/com/zy/asrs/entity/result/MatDto.java new file mode 100644 index 0000000..06bf995 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/result/MatDto.java @@ -0,0 +1,47 @@ +package com.zy.asrs.entity.result; + +import lombok.Data; + +/** + * Created by vincent on 2020/8/6 + */ +@Data +public class MatDto { + + // 鐗╂枡缂栧彿 + private String matnr; + + // 鐗╂枡鍚嶇О + private String maknx; + + // 搴撲綅瑙勬牸 + private String specs; + + // 鐗╂枡鏁伴噺 + private Double count; + + // 搴撲綅鏁伴噺 + private Double total; + + public MatDto() { + } + + public MatDto(String matNo, String maknx, Double count) { + this.matnr = matNo; + this.maknx = maknx; + this.count = count; + } + public MatDto(String matNo, String maknx, Double count, String specs) { + this.specs = specs; + this.matnr = matNo; + this.maknx = maknx; + this.count = count; + } + public MatDto(String matNo, String maknx, Double count, Double total, String specs) { + this.specs = specs; + this.matnr = matNo; + this.maknx = maknx; + this.count = count; + this.total = total; + } +} diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java index 47df240..811ae94 100644 --- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java @@ -72,4 +72,6 @@ LocDetl selectByMatnr(String matnr); + LocDetl selectMatnrSpecs(@Param("matnr") String matnr, @Param("specs") String specs, @Param("locNo") String locNo); + } diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java index ce05fcb..4a72ba4 100644 --- a/src/main/java/com/zy/asrs/service/LocDetlService.java +++ b/src/main/java/com/zy/asrs/service/LocDetlService.java @@ -60,4 +60,6 @@ Double getLocDetlSumQty(String locNo); LocDetl selectByMatnr(String matnr); + + LocDetl selectMatnrSpecs(String matnr, String specs, String locNo); } diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java index 59bd94e..bdfdbae 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java @@ -125,4 +125,8 @@ public LocDetl selectByMatnr(String matnr) { return this.baseMapper.selectByMatnr(matnr); } + @Override + public LocDetl selectMatnrSpecs(String matnr, String specs, String locNo) { + return this.baseMapper.selectMatnrSpecs(matnr, specs, locNo); + } } diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index cad2e7f..81d23f3 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -327,4 +327,15 @@ <select id="selectByMatnr" resultType="com.zy.asrs.entity.LocDetl"> select * from asr_loc_detl where matnr=#{matnr} </select> + + <select id="selectMatnrSpecs" resultMap="BaseResultMap"> + select + top 1 * + from asr_loc_detl a + left join asr_loc_mast b on a.loc_no = b.loc_no + where 1=1 + and b.loc_no = #{locNo} + and a.matnr = #{matnr} + and a.specs = #{specs} + </select> </mapper> -- Gitblit v1.9.1