自动化立体仓库 - WMS系统
野心家
2025-03-31 835a4d179d4e3fcecc7e2a8cd63e6698bb3f16c4
wcs电视机代码移植
2个文件已添加
5个文件已修改
194 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/TVController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/result/LedCommand.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/result/MatDto.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("拣料出库");
                break;
            case 104:
                ledCommand.setTitle("并板出库");
                break;
            case 107:
                ledCommand.setTitle("盘点出库");
                break;
            case 110:
                ledCommand.setTitle("空板出库");
                ledCommand.setEmptyMk(true);
                break;
            case 53:
                ledCommand.setTitle("拣料入库");
                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("工作档案明细输入电视机失败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);
    }
    /**
src/main/java/com/zy/asrs/entity/result/LedCommand.java
New file
@@ -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;
}
src/main/java/com/zy/asrs/entity/result/MatDto.java
New file
@@ -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;
    }
}
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);
}
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);
}
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);
    }
}
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>