#
18516761980
2022-08-11 d9d35401bf3153e96dafc00b83db13ed554c6d5c
#
6个文件已修改
6个文件已添加
412 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/TestMast.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/TestMastMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/TestMastService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/TestMastServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/CodeBuilder.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/TestDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/TestMastMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/TestMast.java
New file
@@ -0,0 +1,195 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotations.TableField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModelProperty;
import java.text.SimpleDateFormat;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import java.text.SimpleDateFormat;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
@TableName("asr_test_mast")
public class TestMast implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @ApiModelProperty(value= "编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 通道
     */
    @ApiModelProperty(value= "")
    private Integer channel;
    /**
     * 库位号
     */
    @ApiModelProperty(value= "库位号")
    @TableField("loc_no")
    private String locNo;
    /**
     * PACK码
     */
    @ApiModelProperty(value= "PACK码")
    private String barcode;
    /**
     * 用户码
     */
    @ApiModelProperty(value= "用户码")
    private String userId;
    /**
     * 状态 0: 待申请  1: 申请中  2: 已复核;3.测试中;4
     */
    @ApiModelProperty(value= "状态 0: 待申请  1: 申请中  2: 已复核 3:测试中 4:完成")
    private Integer status;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    public TestMast() {}
    public TestMast(String locNo,String barcode,String userId,Integer status,Date modiTime,Date appeTime) {
        this.locNo = locNo;
        this.barcode = barcode;
        this.userId = userId;
        this.status = status;
        this.modiTime = modiTime;
        this.appeTime = appeTime;
    }
//    TestMast testMast = new TestMast(
//            null,    // 库位号[非空]
//            null,    // PACK码
//            null,    // 用户码
//            null,    // 状态
//            null,    // 修改时间
//            null    // 添加时间
//    );
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Integer getChannel() {
        return channel;
    }
    public void setChannel(Integer channel) {
        this.channel = channel;
    }
    public String getLocNo() {
        return locNo;
    }
    public void setLocNo(String locNo) {
        this.locNo = locNo;
    }
    public String getBarcode() {
        return barcode;
    }
    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public Integer getStatus() {
        return status;
    }
    public String getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 0:
                return "待申请";
            case 1:
                return "申请中";
            case 2:
                return "已复核";
            case 3:
                return "测试中";
            case 4:
                return "完成";
            default:
                return String.valueOf(this.status);
        }
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getModiTime() {
        return modiTime;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public void setModiTime(Date modiTime) {
        this.modiTime = modiTime;
    }
    public Date getAppeTime() {
        return appeTime;
    }
    public String getAppeTime$(){
        if (Cools.isEmpty(this.appeTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public void setAppeTime(Date appeTime) {
        this.appeTime = appeTime;
    }
}
src/main/java/com/zy/asrs/mapper/TestMastMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.TestMast;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface TestMastMapper extends BaseMapper<TestMast> {
}
src/main/java/com/zy/asrs/service/TestMastService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.TestMast;
import com.baomidou.mybatisplus.service.IService;
public interface TestMastService extends IService<TestMast> {
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -9,15 +9,13 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.TestMastMapper;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.MatDto;
import com.zy.common.model.SearchLocParam;
import com.zy.common.model.StartupDto;
import com.zy.common.model.*;
import com.zy.common.service.CommonService;
import com.zy.common.utils.CollectionUtils;
import com.zy.common.utils.HttpHandler;
@@ -87,9 +85,14 @@
    private BasErrLogService basErrLogService;
    @Autowired
    private BasCrnErrorMapper basCrnErrorMapper;
    @Autowired
    private TestMastService testMastService;
    @Value("${wms.url}")
    private String wmsUrl;
    @Value("${test.url}")
    private String testUrl;
    /**
     * 组托
@@ -1886,8 +1889,6 @@
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void outOfDevp() {
@@ -1903,5 +1904,54 @@
        }
    }
    /**
     * 根据PLC按钮测试信号,发送启动申请到测试系统
     */
    public void startTest() {
        try {
            // 根据输送线plc遍历
            for (DevpSlave devp : slaveProperties.getDevp()) {
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                if(null != devpThread){
                    if (devpThread.startSignal1 == 1){
                        TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                        .eq("channel",1).eq("status",0));
                        if(null != testMast){
                            Date now = new Date();
                            //http请求测试
                            TestDto testDto = new TestDto();
                            testDto.setLocNo(testMast.getLocNo());
                            testDto.setBarcode(testMast.getBarcode());
                            testDto.setUserId(testMast.getUserId());
                            testDto.setRequestTime(DateUtils.convert(now));
                            String response = new HttpHandler.Builder()
                                    .setUri(testUrl)
                                    .setPath("/testUrlPath")
                                    .setJson(JSON.toJSONString(testDto))
                                    .build()
                                    .doPost();
                            JSONObject jsonObject = JSON.parseObject(response);
                            if (jsonObject.getInteger("code").equals(200)) {
                                //更新测试表状态
                                testMast.setStatus(1);
                                testMast.setModiTime(now);
                                testMastService.update(testMast,new EntityWrapper<TestMast>()
                                        .eq("channel",1).eq("status",0));
                                //复位PLC信号
                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, 0));
                            } else {
                                log.error("请求接口失败!!!url:{},request:{},response:{}", testUrl+"/rpc/pakin/loc/v1", JSON.toJSONString(testDto), response);
                            }
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
src/main/java/com/zy/asrs/service/impl/TestMastServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.TestMastMapper;
import com.zy.asrs.entity.TestMast;
import com.zy.asrs.service.TestMastService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("testMastService")
public class TestMastServiceImpl extends ServiceImpl<TestMastMapper, TestMast> implements TestMastService {
}
src/main/java/com/zy/common/CodeBuilder.java
@@ -18,8 +18,9 @@
        generator.url="192.168.4.15:1433;databasename=gzynasrs";
        generator.username="sa";
        generator.password="sa@123";
        generator.table="asr_fire_log";
        generator.table="asr_test_mast";
        generator.packagePath="com.zy.asrs";
        generator.controller=false;
        generator.htmlDetail=false;
        generator.html=false;
        generator.js=false;
src/main/java/com/zy/common/model/TestDto.java
New file
@@ -0,0 +1,23 @@
package com.zy.common.model;
import lombok.Data;
/**
 * Created by vincent on 2020/8/6
 */
@Data
public class TestDto {
    // 库位号
    private String locNo;
    // 用户码
    private String userId;
    // pack码
    private String barcode;
    //请求时间
    private String requestTime;
}
src/main/java/com/zy/core/MainProcess.java
@@ -45,9 +45,9 @@
//                    mainService.ioConvert();
                    // 入库  ===>> 入库站到堆垛机站,根据条码扫描生成入库工作档
                    mainService.generateStoreWrkFile(); // 组托
                    mainService.generateStoreWrkFile0(); // WMS入库
//                    mainService.generateStoreWrkFile0(); // WMS入库
                    // 拣料、并板、盘点再入库
                    mainService.stnToCrnStnPick();
//                    mainService.stnToCrnStnPick();
                    // 出库  ===>>  堆垛机出库站到出库站
                    mainService.crnStnToOutStn();
                    // 入出库  ===>>  堆垛机入出库作业下发
@@ -67,6 +67,9 @@
                    mainService.outOfDevp();
                    //启动测试系统测试
                    mainService.startTest();
                } catch (Exception e) {
                    e.printStackTrace();
                }
src/main/java/com/zy/core/ServerBootstrap.java
@@ -103,13 +103,13 @@
            SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
        }
        // 初始化条码扫描仪线程
        log.info("初始化Socket线程...................................................");
        for (SocketSlave socket : slaveProperties.getSocket()) {
            SocketThread socketThread = new SocketThread(socket);
            new Thread(socketThread).start();
            SlaveConnection.put(SlaveType.Socket, socket.getId(), socketThread);
        }
//        // 初始化条码扫描仪线程
//        log.info("初始化Socket线程...................................................");
//        for (SocketSlave socket : slaveProperties.getSocket()) {
//            SocketThread socketThread = new SocketThread(socket);
//            new Thread(socketThread).start();
//            SlaveConnection.put(SlaveType.Socket, socket.getId(), socketThread);
//        }
//        // 初始化LED线程
//        log.info("初始化LED线程...................................................");
//        for (LedSlave led : slaveProperties.getLed()) {
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -82,6 +82,10 @@
                    case 2:
                        write((StaProtocol)task.getData());
                        break;
                    //复位测试信号
                    case 3:
                        siemensS7Net.Write("DB100." + (150 + ((int)task.getData()) * 2), 0);
                        break;
                    default:
                        break;
                }
src/main/resources/application.yml
@@ -58,15 +58,33 @@
    crnInStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 103
      row: 3
      row: 1
      bay: 1
      lev: 1
    crnInStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 108
      row: 1
      bay: 19
      lev: 1
    # 堆垛机出库站点
    crnOutStn[0]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 101
      staNo: 107
      row: 2
      bay: 1
      lev: 1
    crnOutStn[1]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 108
      row: 1
      bay: 19
      lev: 1
    crnOutStn[2]:
      devpPlcId: ${wcs-slave.devp[0].id}
      staNo: 109
      row: 2
      bay: 19
      lev: 1
  # 输送线
@@ -85,7 +103,7 @@
      staNo: 103
    # 出库口1
    outSta[0]:
      staNo: 102
      staNo: 104
#    # 拣料入库口1
#    pickSta[0]:
#      staNo: 103
@@ -95,19 +113,19 @@
    id: 1
    ip: 10.10.10.52
    port: 51236
   # LED1
  led[0]:
    id: 1
    ip: 10.10.10.60
    port: 5005
    devpPlcId: ${wcs-slave.devp[0].id}
    staArr: 110
  #socket
  socket[0]:
    id: 1
    ip: 10.10.10.100
    port: 10001
#   # LED1
#  led[0]:
#    id: 1
#    ip: 10.10.10.60
#    port: 5005
#    devpPlcId: ${wcs-slave.devp[0].id}
#    staArr: 110
#
#  #socket
#  socket[0]:
#    id: 1
#    ip: 10.10.10.100
#    port: 10001
# tcp服务端配置
tcp:
@@ -126,4 +144,7 @@
  #上下行日志打印
  printPacLog: true
  #条码长度
  barcodeLen: 8
  barcodeLen: 8
test:
  url: 127.0.0.1:8080/test
src/main/resources/mapper/TestMastMapper.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.TestMastMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.TestMast">
        <id column="id" property="id" />
        <result column="loc_no" property="locNo" />
        <result column="barcode" property="barcode" />
        <result column="userId" property="userId" />
        <result column="status" property="status" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_time" property="appeTime" />
    </resultMap>
</mapper>