wujian
2024-05-24 09ef66abe6ffc1325c5d23055ed6f3f4cb88b625
add mainCode
已修改13个文件
已添加19个文件
1558 ■■■■■ 文件已修改
jcdm-admin/src/main/resources/application-druid.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-admin/src/main/resources/application.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/constant/Constants.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/domain/DaCollectionParamConf.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderChild.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderQuery.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java 593 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/controller/KeyCodeCheckController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/domain/KeyCodeCheck.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/domain/KeyCodeRelation.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/domain/WorkOrder.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/mapper/KeyCodeCheckMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/mapper/KeyCodeRelationMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/mapper/WorkOrderMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/KeyCodeCheckService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/KeyCodeRelationService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/WorkOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/KeyCodeCheckServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/KeyCodeRelationServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/WorkOrderServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/work/KeyCodeCheckMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/work/KeyCodeRelationMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/work/WorkOrderMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-admin/src/main/resources/application-druid.yml
@@ -18,12 +18,12 @@
            master:
#                url: jdbc:sqlserver://192.168.0.189:1433;DataBaseName=Jcdm042-Mes
#                url: jdbc:sqlserver://183.134.244.158:1433;DataBaseName=Jcdm042-Mes
                url: jdbc:sqlserver://127.0.0.1:1433;DataBaseName=Jcdm042-Mes
                url: jdbc:sqlserver://127.0.0.1:1433;DataBaseName=Jcdm042-Mes-module
                username: sa
#                password: JCDM@2023
                password: admin@123
#                password: admin@123
#                password: 1!deshine
#                password: 123456
                password: 123456
            # ä»Žåº“数据源
jcdm-admin/src/main/resources/application.yml
@@ -18,7 +18,7 @@
# å¼€å‘环境配置
server:
  # æœåŠ¡å™¨çš„HTTP端口,默认为8080
  port: 8080
  port: 8085
  servlet:
    # åº”用的访问路径
    context-path: /
@@ -223,4 +223,5 @@
    config:
      default:
        endpoint: opc.tcp://127.0.0.1:49320
        security-policy: none
        security-policy: none
orderLineUrl: "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration"
jcdm-main/src/main/java/com/jcdm/main/constant/Constants.java
@@ -4,8 +4,39 @@
    public static final String IN_BOUND_TIME_CODE = "PAT_INT";
    public static final String OUT_BOUND_TIME_CODE = "PAT_INT";
    public static final String SUCCESS = "success";
    public static final String NG = "2";
    public static final String UN_PASS= "不合格";
    public static final String PASS= "合格";
    public static final String OK= "OK";
    public static final Integer USE_ING= 0;
    public static final String RECORD_CHECK_CODE= "RecordCheckCode";
    public static final String RECORD_CHECK_CODE_1= "RecordCheckCode1";
    public static final String RECORD_CHECK_CODE_2= "RecordCheckCode2";
    public static final String RECORD_DATA= "RecordData";
    public static final String RECORD_SN= "RecordSN";
    public static final String ONE= "1";
    public static final String ZERO= "0";
    public static final String TWO= "2";
    public static final String OP070= "M1OP070";
    public static final String OP110= "M1OP110";
    public static final String OP010= "M1OP010";
    public static final String OP020= "M1OP020";
    public static final String OP030= "M1OP030";
    public static final String OP040= "M1OP040";
    public static final String OP050= "M1OP050";
    public static final String OP060= "M1OP060";
    public static final String OP065= "M1OP065";
    public static final String OP100_1= "M1OP100-1";
    public static final String OP100_2= "M1OP100-2";
    public static final Integer INT_ONE= 1;
    public static final Integer INT_TWO= 2;
    public static final Integer INT_THREE= 3;
    public static final Integer INT_FOUR= 4;
    public static final Integer INT_ZERO= 0;
}
jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/domain/DaCollectionParamConf.java
@@ -2,6 +2,7 @@
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -11,6 +12,7 @@
 * @author ruimin
 * @date 2023-12-25
 */
@Data
public class DaCollectionParamConf extends BaseEntity
{
    private static final long serialVersionUID = 1L;
@@ -18,6 +20,8 @@
    /** ä¸»é”®id */
    private Long id;
    private Integer keyNum;
    /** å·¥åºç¼–号 */
    @Excel(name = "工序编号")
    private String processesCode;
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
@@ -4,11 +4,8 @@
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
import java.util.Objects;
/**
 * è®¾å¤‡äº§å“è¿‡ç¨‹å‚数采集对象 da_param_collection
@@ -27,6 +24,8 @@
    /** å·¥å•ç¼–号 */
    @Excel(name = "工单编号")
    private String workOrderNo;
    private String keyCode;
    /** æ€»æˆåºåˆ—号 */
    @Excel(name = "总成序列号")
@@ -114,245 +113,4 @@
    @TableField(exist = false)
    private String yzSfcCode;
    public String getTightenTheArray() {
        return tightenTheArray;
    }
    public void setTightenTheArray(String tightenTheArray) {
        this.tightenTheArray = tightenTheArray;
    }
    public String getProductBarcode() {
        return productBarcode;
    }
    public void setProductBarcode(String productBarcode) {
        this.productBarcode = productBarcode;
    }
    public String getModel() {
        return model;
    }
    public void setModel(String model) {
        this.model = model;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setWorkOrderNo(String workOrderNo)
    {
        this.workOrderNo = workOrderNo;
    }
    public String getWorkOrderNo()
    {
        return workOrderNo;
    }
    public void setSfcCode(String sfcCode)
    {
        this.sfcCode = sfcCode;
    }
    public String getSfcCode()
    {
        return sfcCode;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }
    public String getProductCode()
    {
        return productCode;
    }
    public void setProductionLine(String productionLine)
    {
        this.productionLine = productionLine;
    }
    public String getProductionLine()
    {
        return productionLine;
    }
    public void setLocationCode(String locationCode)
    {
        this.locationCode = locationCode;
    }
    public String getLocationCode()
    {
        return locationCode;
    }
    public void setEquipmentNo(String equipmentNo)
    {
        this.equipmentNo = equipmentNo;
    }
    public String getEquipmentNo()
    {
        return equipmentNo;
    }
    public void setParamCode(String paramCode)
    {
        this.paramCode = paramCode;
    }
    public String getParamCode()
    {
        return paramCode;
    }
    public void setParamValue(String paramValue)
    {
        this.paramValue = paramValue;
    }
    public String getParamValue()
    {
        return paramValue;
    }
    public void setParamUpper(String paramUpper)
    {
        this.paramUpper = paramUpper;
    }
    public String getParamUpper()
    {
        return paramUpper;
    }
    public void setParamLower(String paramLower)
    {
        this.paramLower = paramLower;
    }
    public String getParamLower()
    {
        return paramLower;
    }
    public void setParamStandard(String paramStandard)
    {
        this.paramStandard = paramStandard;
    }
    public String getParamStandard()
    {
        return paramStandard;
    }
    public void setCollectionTime(Date collectionTime)
    {
        this.collectionTime = collectionTime;
    }
    public Date getCollectionTime()
    {
        return collectionTime;
    }
    public String getModuleCode() {
        return moduleCode;
    }
    public void setModuleCode(String moduleCode) {
        this.moduleCode = moduleCode;
    }
    public void setSpareField2(String spareField2)
    {
        this.spareField2 = spareField2;
    }
    public String getSpareField2()
    {
        return spareField2;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }
    public String getCreateUser()
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser)
    {
        this.updateUser = updateUser;
    }
    public String getUpdateUser()
    {
        return updateUser;
    }
    public void setState(String state)
    {
        this.state = state;
    }
    public String getState()
    {
        return state;
    }
    public void setParamName(String paramName)
    {
        this.paramName = paramName;
    }
    public String getParamName()
    {
        return paramName;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }
    public String getUnit()
    {
        return unit;
    }
    public void setType(String type)
    {
        this.type = type;
    }
    public String getType()
    {
        return type;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("workOrderNo", getWorkOrderNo())
            .append("sfcCode", getSfcCode())
            .append("productCode", getProductCode())
            .append("productionLine", getProductionLine())
            .append("locationCode", getLocationCode())
            .append("equipmentNo", getEquipmentNo())
            .append("paramCode", getParamCode())
            .append("paramValue", getParamValue())
            .append("paramUpper", getParamUpper())
            .append("paramLower", getParamLower())
            .append("paramStandard", getParamStandard())
            .append("collectionTime", getCollectionTime())
            .append("spareField2", getSpareField2())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("state", getState())
            .append("paramName", getParamName())
            .append("unit", getUnit())
            .append("type", getType())
            .toString();
    }
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
@@ -9,6 +9,8 @@
import com.jcdm.common.utils.DateUtils;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderQuery;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderVO;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -138,4 +140,10 @@
    {
        return toAjax(daPassingStationCollectionService.deleteDaPassingStationCollectionByIds(ids));
    }
    @GetMapping("/queryMessFromLine")
    public R queryMessFromLine(ProductOrderQuery query){
        ProductOrderVO vo = daPassingStationCollectionService.queryMessFromLine(query);
        return R.ok(vo);
    }
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
@@ -1,9 +1,9 @@
package com.jcdm.main.da.passingStationCollection.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import lombok.Data;
import java.util.Date;
@@ -13,6 +13,7 @@
 * @author yyt
 * @date 2023-12-12
 */
@Data
public class DaPassingStationCollection extends BaseEntity
{
    private static final long serialVersionUID = 1L;
@@ -75,11 +76,11 @@
    @Excel(name = "采集时间")
    private Date collectionTime;
    /** é¢„留字段1 */
    private String spareField1;
    private String moduleCode;
    /** é¢„留字段2 */
    private String spareField2;
    /** ç”µèŠ¯ç  */
    private String keyCode;
    /** åˆ›å»ºç”¨æˆ· */
    private String createUser;
@@ -91,212 +92,7 @@
    @Excel(name = "节拍时间")
    private String beatTime;
    @TableField(exist = false)
    private Long[] ids;
    public Long[] getIds() {
        return ids;
    }
    public void setIds(Long[] ids) {
        this.ids = ids;
    }
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setWorkOrderNo(String workOrderNo)
    {
        this.workOrderNo = workOrderNo;
    }
    public String getWorkOrderNo()
    {
        return workOrderNo;
    }
    public void setSfcCode(String sfcCode)
    {
        this.sfcCode = sfcCode;
    }
    public String getSfcCode()
    {
        return sfcCode;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }
    public String getProductCode()
    {
        return productCode;
    }
    public void setProductionLine(String productionLine)
    {
        this.productionLine = productionLine;
    }
    public String getProductionLine()
    {
        return productionLine;
    }
    public void setLocationCode(String locationCode)
    {
        this.locationCode = locationCode;
    }
    public String getLocationCode()
    {
        return locationCode;
    }
    public void setEquipmentNo(String equipmentNo)
    {
        this.equipmentNo = equipmentNo;
    }
    public String getEquipmentNo()
    {
        return equipmentNo;
    }
    public void setInboundTime(Date inboundTime)
    {
        this.inboundTime = inboundTime;
    }
    public Date getInboundTime()
    {
        return inboundTime;
    }
    public void setOutboundTime(Date outboundTime)
    {
        this.outboundTime = outboundTime;
    }
    public Date getOutboundTime()
    {
        return outboundTime;
    }
    public void setInRsSign(String inRsSign)
    {
        this.inRsSign = inRsSign;
    }
    public String getInRsSign()
    {
        return inRsSign;
    }
    public void setInMsgSign(String inMsgSign)
    {
        this.inMsgSign = inMsgSign;
    }
    public String getInMsgSign()
    {
        return inMsgSign;
    }
    public void setOutRsSign(String outRsSign)
    {
        this.outRsSign = outRsSign;
    }
    public String getOutRsSign()
    {
        return outRsSign;
    }
    public void setOutMsgSign(String outMsgSign)
    {
        this.outMsgSign = outMsgSign;
    }
    public String getOutMsgSign()
    {
        return outMsgSign;
    }
    public void setCollectionTime(Date collectionTime)
    {
        this.collectionTime = collectionTime;
    }
    public Date getCollectionTime()
    {
        return collectionTime;
    }
    public void setSpareField1(String spareField1)
    {
        this.spareField1 = spareField1;
    }
    public String getSpareField1()
    {
        return spareField1;
    }
    public void setSpareField2(String spareField2)
    {
        this.spareField2 = spareField2;
    }
    public String getSpareField2()
    {
        return spareField2;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }
    public String getCreateUser()
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser)
    {
        this.updateUser = updateUser;
    }
    public String getUpdateUser()
    {
        return updateUser;
    }
    public void setBeatTime(String beatTime)
    {
        this.beatTime = beatTime;
    }
    public String getBeatTime()
    {
        return beatTime;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("workOrderNo", getWorkOrderNo())
            .append("sfcCode", getSfcCode())
            .append("productCode", getProductCode())
            .append("productionLine", getProductionLine())
            .append("locationCode", getLocationCode())
            .append("equipmentNo", getEquipmentNo())
            .append("inboundTime", getInboundTime())
            .append("outboundTime", getOutboundTime())
            .append("inRsSign", getInRsSign())
            .append("inMsgSign", getInMsgSign())
            .append("outRsSign", getOutRsSign())
            .append("outMsgSign", getOutMsgSign())
            .append("collectionTime", getCollectionTime())
            .append("spareField1", getSpareField1())
            .append("spareField2", getSpareField2())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("beatTime", getBeatTime())
            .toString();
    }
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderChild.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.jcdm.main.da.passingStationCollection.query;
import lombok.Data;
@Data
public class ProductOrderChild {
    private String productNum;
    private String stationCode;
    private String materialCode;
    private String productionOrderNum;
    private String model;
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderQuery.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.jcdm.main.da.passingStationCollection.query;
import lombok.Data;
@Data
public class ProductOrderQuery {
    private String siteCode;
    private String stationCode;
    private String productNum;
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/query/ProductOrderVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.jcdm.main.da.passingStationCollection.query;
import lombok.Data;
@Data
public class ProductOrderVO {
    private String code;
    private String message;
    private ProductOrderChild data;
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderQuery;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderVO;
import java.util.List;
@@ -72,4 +74,8 @@
    void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection);
    int jrmAddPassingStationCollection(DaPassingStationCollection daPassingStationCollection);
    ProductOrderVO queryMessFromLine(ProductOrderQuery query);
    void insertBatch(List<DaPassingStationCollection> confList);
}
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
@@ -1,21 +1,23 @@
package com.jcdm.main.da.passingStationCollection.service.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.common.utils.DateUtils;
//import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
//import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper;
//import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderQuery;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderVO;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord;
import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
@@ -36,6 +38,9 @@
    @Autowired
    private RmRepairRecordMapper rmRepairRecordMapper;
    @Value("${orderLineUrl}")
    private String orderLineUrl;
//    @Autowired
//    private BsOrderSchedulingMapper bsOrderSchedulingMapper;
//
@@ -157,4 +162,31 @@
        }
        return 1;
    }
    @Override
    public ProductOrderVO queryMessFromLine(ProductOrderQuery query){
        ProductOrderVO vo = new ProductOrderVO();
        String jsonStr = JSONUtil.toJsonStr(query);
        String url = orderLineUrl + "/productionWorkOrderRequest?siteCode="+query.getSiteCode()+"&stationCode="+query.getStationCode()+"&productNum="+query.getProductNum();
//        String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/productionWorkOrderRequest?siteCode=3983&stationCode=OP230&productNum=0RSPB001139E3AE5B0000011";
        HttpResponse execute = HttpRequest.get(url).execute();
        String body = execute.body();
        if (StrUtil.isNotBlank(body)){
//            JSONObject jsonObject = new JSONObject(body);
            vo = JSON.parseObject(body, ProductOrderVO.class);
        }
        return vo;
    }
    @Override
    public void insertBatch(List<DaPassingStationCollection> confList){
        try{
            this.saveBatch(confList);
        }catch (Exception e){
            return;
        }
    }
}
jcdm-main/src/main/java/com/jcdm/main/plcserver/CustomRunner.java
@@ -1,20 +1,27 @@
package com.jcdm.main.plcserver;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jcdm.main.constant.Constants;
import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
import com.jcdm.main.plcserver.conf.OPCElement;
import com.jcdm.main.plcserver.sub.OPCUaSubscription;
import com.jcdm.main.work.service.KeyCodeCheckService;
import com.jcdm.main.work.service.KeyCodeRelationService;
import com.jcdm.main.work.service.WorkOrderService;
import com.kangaroohy.milo.service.MiloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class CustomRunner implements ApplicationRunner {
@@ -37,6 +44,18 @@
    @Autowired
    private IOmProductionOrdeInfoService omProductionOrdeInfoService;
    @Resource
    private KeyCodeCheckService keyCodeCheckService;
    @Resource
    private WorkOrderService workOrderService;
    @Resource
    private IDaOpcuaConfigService daOpcuaConfigService;
    @Resource
    private KeyCodeRelationService keyCodeRelationService;
    @Override
    public void run(ApplicationArguments args) throws Exception {
@@ -45,7 +64,10 @@
                daPassingStationCollectionService,
                collectionParamConfService,
                daParamCollectionService,
                omProductionOrdeInfoService);
                omProductionOrdeInfoService,
                workOrderService,
                keyCodeCheckService,
                keyCodeRelationService);
        List<String> lists = getSubList();
        System.out.println("订阅内容:"+lists);
@@ -57,61 +79,9 @@
     * è®¢é˜…内容
     */
    public List<String> getSubList(){
        List<String> lists = new ArrayList<>();
        lists.add(OPCElement.PACK_OP230_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP240_RecordData);//请求记录数据.
        lists.add(OPCElement.PACK_OP240_AngleResult);//请求记录数据
//        lists.add(OPCElement.PACK_OP2502_RecordData);//请求记录数据.
        lists.add(OPCElement.PACK_OP2501_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP2502_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP2503_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP260_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP260_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP270_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP270_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP290_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP290_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP300A_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP300B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP310A_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP310B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP330A_RecordData);//请求记录数据
//        lists.add(OPCElement.PACK_OP330B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP380_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP380_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP400_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP400_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP410_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP410_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP4301_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP4302_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP4303_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP4304_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP440_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP450_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP450_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP460_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP460_AngleResult);//请求记录数据
        lists.add(OPCElement.PACK_OP4801_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP4802_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP4803_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP500_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP500_AngleResult);//请求记录数据
//
        lists.add(OPCElement.PACK_OP280_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP320A_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP320B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP340A_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP340B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP350A_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP350B_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP360_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP365_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP370_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP390_RecordData);//请求记录数据
        lists.add(OPCElement.PACK_OP470_RecordData);//请求记录数据
        List<String> lists = daOpcuaConfigService.list(new LambdaQueryWrapper<DaOpcuaConfig>()
                .eq(DaOpcuaConfig::getState, Constants.USE_ING))
                .stream().map(DaOpcuaConfig::getNode).collect(Collectors.toList());
        return lists;
    }
}
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -2,12 +2,10 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jcdm.common.utils.StringUtils;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.constant.Constants;
import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
@@ -15,16 +13,23 @@
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderChild;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderQuery;
import com.jcdm.main.da.passingStationCollection.query.ProductOrderVO;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
import com.jcdm.main.plcserver.conf.OPCElement;
import com.jcdm.main.plcserver.util.TimeUtil;
import com.jcdm.main.restful.factoryMes.service.RestfulService;
import com.jcdm.main.work.domain.KeyCodeRelation;
import com.jcdm.main.work.domain.WorkOrder;
import com.jcdm.main.work.service.KeyCodeCheckService;
import com.jcdm.main.work.service.KeyCodeRelationService;
import com.jcdm.main.work.service.WorkOrderService;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
import com.kangaroohy.milo.service.MiloService;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.websocket.Session;
@@ -33,6 +38,7 @@
import java.util.stream.Collectors;
@Slf4j
@Component
public class OPCUaSubscription implements SubscriptionCallback {
@@ -73,17 +79,27 @@
    public static IDaParamCollectionService daParamCollectionService;
    public static IOmProductionOrdeInfoService omProductionOrdeInfoService;
    public static WorkOrderService workOrderService;
    public static KeyCodeCheckService keyCodeCheckService;
    public static KeyCodeRelationService keyCodeRelationService;
    public OPCUaSubscription(MiloService miloService,
                             IDaPassingStationCollectionService daPassingStationCollectionService,
                             IDaCollectionParamConfService collectionParamConfService,
                             IDaParamCollectionService daParamCollectionService,
                             IOmProductionOrdeInfoService omProductionOrdeInfoService) {
                             IOmProductionOrdeInfoService omProductionOrdeInfoService,
                             WorkOrderService workOrderService,
                             KeyCodeCheckService keyCodeCheckService,
                             KeyCodeRelationService keyCodeRelationService) {
        OPCUaSubscription.miloService = miloService;
        this.daPassingStationCollectionService = daPassingStationCollectionService;
        OPCUaSubscription.collectionParamConfService = collectionParamConfService;
        OPCUaSubscription.daParamCollectionService = daParamCollectionService;
        OPCUaSubscription.omProductionOrdeInfoService = omProductionOrdeInfoService;
        OPCUaSubscription.workOrderService = workOrderService;
        OPCUaSubscription.keyCodeCheckService = keyCodeCheckService;
        OPCUaSubscription.keyCodeRelationService = keyCodeRelationService;
    }
@@ -91,124 +107,482 @@
    public void onSubscribe(String identifier, Object value) {
        try {
            if(null != value && Integer.valueOf(value.toString())!= 0) {
            if(null != value && !Constants.ZERO.equals(value.toString())) {
                String[] nodes = identifier.split("[.]");
                String thoroughfare = nodes[0];//通道
                String device = nodes[1];//设备
                String tab = nodes[2];//标记
                String tabVlaue = value.toString();//地址值
                if (("RecordData").equals(tab)) {
                    String recordDataDoneValue = "";
                    if("1".equals(tabVlaue)){
                        //请求工单
//                        if(device.equals("OP230")){
//                            getFactoryOrder("OP230");
//                        }
                        //自动工位
                        if(automaticList.stream().anyMatch(s -> s.equals(device))){
                            //plc给我们一个模组码,拿模组码校验出型号
                            if(moduleCodeList.stream().anyMatch(s -> s.equals(device))) {
                                String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                                //读模组码
                                Object moduleCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue();
                                if(moduleCode!=null){
                                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
                                }else {
                                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
                                }
                            }else {
                                if(agvId.stream().anyMatch(s -> s.equals(device))){
                                    Object agvIdObject = miloService.readFromOpcUa(thoroughfare + "." + device + ".AGVID").getValue();
                                    //agvId å°è½¦ç æ˜¯å¦ä¸ºç©º
                                    if(agvIdObject!=null){
                                        String PACKCode = thoroughfare + "." + device + ".MPACKCode";
                                        OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getTrolleyYard, agvIdObject.toString()));
                                        //小车码查找工单是否为空
                                        if(one!=null){
                                            String packId = one.getProductNum();
                                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(PACKCode).value(packId).build());
                                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
                                        }else {
                                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build());
                                        }
                                    }else {
                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build());
                                    }
                                }else {
                                    String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                                    Object packCodeObject = miloService.readFromOpcUa(thoroughfare + "." + device + ".PACKCode").getValue();
                                    if(packCodeObject!=null){
                                        //pack å¦‚果区分型号的话就要处理
                                        //记录数据完成
                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
                                    }else {
                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
                                    }
                                }
                            }
                        }else {
                            //手动工位处理逻辑
                            WebSocketUsers.sendMessageToUserByText(map.get(device), "IN");
                            String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
                        }
                    }else if("2".equals(tabVlaue)){
                        if(automaticList.stream().anyMatch(s -> s.equals(device))){
                            //自动工位
                            //出站保存数据
                            recordDataDoneValue = outSaveDate(thoroughfare,device);
                            //记录数据完成
                            String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(Integer.valueOf(recordDataDoneValue)).build());
                        }else {
                            //手动工位
                            if(device.contains("OP330")){
                                String str = device.substring(0,5);
                                WebSocketUsers.sendMessageToUserByText(map.get(str), "END");
                            }else {
                                WebSocketUsers.sendMessageToUserByText(map.get(device), "END");
                            }
                            if(testList.stream().anyMatch(s -> s.equals(device))){
                                String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(21).build());
                String valueString = value.toString();//地址值
                if (Constants.RECORD_CHECK_CODE.equals(tab)){
                    if (Constants.ONE.equals(valueString)){
                        Integer scanResult = 11;
                        if (Constants.OP010.equals(device) || Constants.OP030.equals(device)){
                            //OP010工位电芯条码校验||OP030工位电芯条码校验
                            Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue();
                            if (ObjectUtil.isNotNull(value1)){
                                String keyCode = value1.toString();
                                log.info("读取到工位{}的Scaner数据:{}",device,keyCode);
                                //仅校验长度是否合格
//                                List<KeyCodeCheck> collect = keyCodeCheckService.list().stream().filter(x -> x.getKeyCode().contains(keyCode)).collect(Collectors.toList());
//                                if (CollUtil.isNotEmpty(collect)){
//                                    scanResult = 11;
//                                }
                            }
                        }
                    }else {
                        System.out.println("^");
                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult1").value(scanResult).build());
                        log.info("写入到工位{}的ScanerResult1数据:{}",device,scanResult);
                    }
                }
                //保存拧紧数据
                else if (("AngleResult").equals(tab)) {
                    if("1".equals(tabVlaue)||"2".equals(tabVlaue)){
                        List<String> list = new ArrayList<>();
                        String[] suffixes = {"Torque", "Angle", "TorqueResult", "AngleResult"};
                        for (String suffix : suffixes) {
                            String string = thoroughfare + "." + device + "." + suffix;
                            list.add(string);
                }else if (Constants.RECORD_DATA.equals(tab)){
                    if (Constants.ONE.equals(valueString)){
                        //1:告知MES托盘已到站,请求下发进站状态
                        if (Constants.OP030.equals(device)){
                            //反馈电芯ocv检测结果
                            boolean b = OCVResultFeedBack(thoroughfare, device);
                            if (b){
                                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
                                log.info("写入到工位{}的RecordDataDone数据:{}",device,11);
                            }else {
                                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build());
                                log.info("写入到工位{}的RecordDataDone数据:{}",device,12);
                            }
                        } else {
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
                            log.info("写入到工位{}的RecordDataDone数据:{}",device,11);
                        }
                        List<ReadWriteEntity> list1 = miloService.readFromOpcUa(list);
                        List<Object> collect = list1.stream().map(ReadWriteEntity::getValue).collect(Collectors.toList());
                        String joinedString = String.join(",", collect.toString());
                        WebSocketUsers.sendMessageToUserByText(map.get(device), TightenTheConversionOkNg(joinedString));
                    }else if (Constants.TWO.equals(valueString)){
                        //分段010-065段
                        List<String> PART1 = new ArrayList<>();
                        PART1.add(Constants.OP020);
                        PART1.add(Constants.OP030);
                        PART1.add(Constants.OP040);
                        PART1.add(Constants.OP050);
                        PART1.add(Constants.OP060);
                        PART1.add(Constants.OP065);
                        if (Constants.OP010.equals(device)){
                            //010工位无过站记录,只给放行信号
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build());
                            log.info("写入到工位{}的RecordDataDone数据:{}",device,21);
                        }else if (PART1.contains(device)){
                            //020工位保存过站记录+参数数据
                            List<DaPassingStationCollection> passingList = getDaPassingStationCollections(thoroughfare, device);
                            if (CollUtil.isNotEmpty(passingList)){
                                daPassingStationCollectionService.insertBatch(passingList);
                            }
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build());
                            log.info("写入到工位{}的RecordDataDone数据:{}",device,21);
                        } else if (Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device)){
                            //下发刻码信息-为模组码
                            ProductOrderQuery query = new ProductOrderQuery();
                            query.setSiteCode("3983");
                            query.setStationCode(device);
                            List<WorkOrder> collect = workOrderService.list().stream()
                                    .sorted(Comparator.comparing(WorkOrder::getCreateTime).reversed())
                                    .collect(Collectors.toList());
                            if (CollUtil.isNotEmpty(collect)){
                                query.setProductNum(collect.get(0).getProductNum());
                            }
                            ProductOrderVO vo = daPassingStationCollectionService.queryMessFromLine(query);
                            if (Constants.SUCCESS.equals(vo.getCode())){
                                WorkOrder workOrder = new WorkOrder();
                                ProductOrderChild data = vo.getData();
                                workOrder.setProductNum(data.getProductNum());
                                workOrder.setProductionOrderNum(data.getProductionOrderNum());
                                workOrder.setStationCode(data.getStationCode());
                                workOrder.setMaterialCode(data.getMaterialCode());
                                workOrder.setModel(data.getModel());
                                workOrderService.save(workOrder);
                                //写入模组码、工单号、产品型号到plc
                                log.info("写入模组码、工单号、产品型号到plc");
                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(data.getModel()).build());
                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(data.getProductionOrderNum()).build());
                                //这里plc录入的产品型号类型是int类型,工厂mes返回数据不是int类型,可能会出现问题
                                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ProductType").value(data.getProductNum()).build());
                                //绑定模组码和电芯码数据
                                List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
                                        .eq(DaCollectionParamConf::getProcessesCode, device)
                                        .eq(DaCollectionParamConf::getRemarks,Constants.ONE));
                                List<String> collect3 = list.stream().filter(x -> Constants.INT_ZERO.equals(x.getKeyNum())).map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
                                List<String> collect1 = list.stream().filter(x -> Constants.INT_ONE.equals(x.getKeyNum())|| Constants.INT_TWO.equals(x.getKeyNum()))
                                        .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
//                                List<String> collect2 = list.stream().filter(x -> Constants.INT_TWO.equals(x.getKeyNum()))
//                                        .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
                                List<ReadWriteEntity> paramCollectionList1 = miloService.readFromOpcUa(collect1);
                                List<ReadWriteEntity> paramCollectionList3 = miloService.readFromOpcUa(collect3);
                                if (CollUtil.isNotEmpty(paramCollectionList1)){
                                    List<KeyCodeRelation> relationList = new ArrayList<>();
                                    for (ReadWriteEntity readWriteEntity : paramCollectionList1) {
                                        if (ObjectUtil.isNotNull(readWriteEntity.getValue())){
                                            KeyCodeRelation keyCodeRelation = new KeyCodeRelation();
                                            keyCodeRelation.setModuleCode(data.getModel());
                                            keyCodeRelation.setKeyCode(readWriteEntity.getValue().toString());
                                            keyCodeRelation.setProductionOrderNum(data.getProductionOrderNum());
                                            keyCodeRelation.setProductNum(data.getProductNum());
                                            keyCodeRelation.setCreateTime(new Date());
                                            relationList.add(keyCodeRelation);
                                        }
                                    }
                                    if (CollUtil.isNotEmpty(relationList)){
                                        keyCodeRelationService.insertBatch(relationList);
                                    }
                                }
                                if (CollUtil.isNotEmpty(paramCollectionList3)){
                                    QueryPLCData(device,thoroughfare,collect3);
                                }
                                //保存过站记录
                                DaPassingStationCollection passingStationCollection = new DaPassingStationCollection();
                                passingStationCollection.setModuleCode(data.getModel());
                                passingStationCollection.setLocationCode(device);
                                passingStationCollection.setInboundTime(new Date());
                                String stationStatus = Constants.PASS;
                                ReadWriteEntity stationStatusRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus");
                                if (ObjectUtil.isNotNull(stationStatusRead.getValue())){
                                    String string = stationStatusRead.getValue().toString();
                                    log.info("读取工位{}StationStatus:{}",device,string);
                                    if (Constants.TWO.equals(string)){
                                        stationStatus = Constants.UN_PASS;
                                    }
                                }
                                passingStationCollection.setOutRsSign(stationStatus);
                                passingStationCollection.setCreateTime(new Date());
                                daPassingStationCollectionService.save(passingStationCollection);
                            }
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build());
                            log.info("写入到工位{}的RecordDataDone数据:{}",device,21);
                        } else {
                            //2:告知MES工位工作完成,请求记录工位数据
                            //保存参数采集记录
                            saveParamPassingData(device,thoroughfare);
                            //保存过站记录
                            DaPassingStationCollection passingStationCollection = new DaPassingStationCollection();
                            Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue();
                            String moduleCode = null;
                            if (ObjectUtil.isNotNull(value1)){
                                moduleCode = value1.toString();
                                log.info("读取工位{}的ModuleCode数据:{}",device,moduleCode);
                            }
                            passingStationCollection.setModuleCode(moduleCode);
                            passingStationCollection.setLocationCode(device);
                            passingStationCollection.setInboundTime(new Date());
                            String stationStatus = Constants.PASS;
                            ReadWriteEntity stationStatusRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus");
                            if (ObjectUtil.isNotNull(stationStatusRead.getValue())){
                                String string = stationStatusRead.getValue().toString();
                                if (Constants.TWO.equals(string)){
                                    stationStatus = Constants.UN_PASS;
                                }
                            }
                            passingStationCollection.setOutRsSign(stationStatus);
                            passingStationCollection.setCreateTime(new Date());
                            daPassingStationCollectionService.save(passingStationCollection);
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build());
                            log.info("写入到工位{}的RecordDataDone数据:{}",device,21);
                        }
                    }
                } else if (Constants.RECORD_SN.equals(tab)){
                    if (Constants.ONE.equals(valueString)){
                        if (Constants.OP070.equals(device)){
                            //OP070下发产品模组码
                            String string = UUID.randomUUID().toString();
                            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(string).build());
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(1).build());
                        }
                    }
                } else if (Constants.RECORD_CHECK_CODE_1.equals(tab)) {
                    if (Constants.OP100_1.equals(device)){
                        //钢带条码校验--发送给工厂mes
                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult11").value(11).build());
                    } else if (Constants.OP100_2.equals(device)) {
                        //PET带条码校验--发送给工厂mes
                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult12").value(11).build());
                    }
                }
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
            log.info(e.getMessage());
        }
    }
    /**
     * ä¿å­˜ç”µèŠ¯è¿‡ç«™è®°å½•
     * @param thoroughfare é€šé“
     * @param device å·¥ä½
     * @return list
     * @throws Exception e
     */
    private static List<DaPassingStationCollection> getDaPassingStationCollections(String thoroughfare, String device) throws Exception {
        List<String> readList = new ArrayList<>();
        readList.add(thoroughfare + "." + device +".CellCode_1");
        readList.add(thoroughfare + "." + device +".CellCode_2");
        readList.add(thoroughfare + "." + device +".CellCode_3");
        readList.add(thoroughfare + "." + device +".CellCode_4");
        List<String> keyCodeList = new ArrayList<>();
        List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(readList);
        List<DaPassingStationCollection> passingList = new ArrayList<>();
        for (ReadWriteEntity readWriteEntity : readWriteEntityList) {
            DaPassingStationCollection passingStationCollection = new DaPassingStationCollection();
            passingStationCollection.setLocationCode(device);
            passingStationCollection.setInboundTime(new Date());
            if (ObjectUtil.isNotNull(readWriteEntity.getValue())){
                passingStationCollection.setKeyCode(readWriteEntity.getValue().toString());
                keyCodeList.add(readWriteEntity.getValue().toString());
            }
            String stationStatus = Constants.PASS;
            ReadWriteEntity stationStatusRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus");
            if (ObjectUtil.isNotNull(stationStatusRead.getValue())){
                String string = stationStatusRead.getValue().toString();
                if (Constants.TWO.equals(string)){
                    stationStatus = Constants.UN_PASS;
                }
            }
            passingStationCollection.setOutRsSign(stationStatus);
            passingStationCollection.setCreateTime(new Date());
            passingList.add(passingStationCollection);
        }
        //参数采集
        //保存参数采集数据
        List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
                .eq(DaCollectionParamConf::getProcessesCode, device)
                .eq(DaCollectionParamConf::getRemarks, Constants.ONE));
        if (CollUtil.isNotEmpty(list)){
            List<DaParamCollection> saveParamList = new ArrayList<>();
            List<String> collect1 = list.stream().filter(x -> Constants.INT_ONE.equals(x.getKeyNum()))
                    .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
            List<ReadWriteEntity> paramCollectionList1 = miloService.readFromOpcUa(collect1);
            List<String> collect2 = list.stream().filter(x -> Constants.INT_TWO.equals(x.getKeyNum()))
                    .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
            List<ReadWriteEntity> paramCollectionList2 = miloService.readFromOpcUa(collect2);
            List<String> collect3 = list.stream().filter(x -> Constants.INT_THREE.equals(x.getKeyNum()))
                    .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
            List<ReadWriteEntity> paramCollectionList3 = miloService.readFromOpcUa(collect3);
            List<String> collect4 = list.stream().filter(x -> Constants.INT_FOUR.equals(x.getKeyNum()))
                    .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
            List<ReadWriteEntity> paramCollectionList4 = miloService.readFromOpcUa(collect4);
            List<String> collect0 = list.stream().filter(x -> Constants.INT_ZERO.equals(x.getKeyNum()))
                    .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList());
            List<ReadWriteEntity> paramCollectionList0 = miloService.readFromOpcUa(collect0);
            if (CollUtil.isNotEmpty(paramCollectionList1)){
                for (int i = 0; i < paramCollectionList1.size(); i++) {
                    DaParamCollection daParamCollection = new DaParamCollection();
                    if (CollUtil.isNotEmpty(keyCodeList) && keyCodeList.size() == 4){
                        daParamCollection.setKeyCode(keyCodeList.get(0));
                    }
                    daParamCollection.setParamCode(paramCollectionList1.get(i).getIdentifier());
                    String paramValue = "";
                    if (ObjectUtil.isNotNull(paramCollectionList1.get(i).getValue())){
                        paramValue = paramCollectionList1.get(i).getValue().toString();
                    }
                    daParamCollection.setParamValue(paramValue);
                    daParamCollection.setLocationCode(device);
                    daParamCollection.setCollectionTime(new Date());
                    saveParamList.add(daParamCollection);
                }
            }
            if (CollUtil.isNotEmpty(paramCollectionList2)){
                for (int i = 0; i < paramCollectionList2.size(); i++) {
                    DaParamCollection daParamCollection = new DaParamCollection();
                    if (CollUtil.isNotEmpty(keyCodeList) && keyCodeList.size() == 4){
                        daParamCollection.setKeyCode(keyCodeList.get(1));
                    }
                    daParamCollection.setParamCode(paramCollectionList2.get(i).getIdentifier());
                    String paramValue = "";
                    if (ObjectUtil.isNotNull(paramCollectionList2.get(i).getValue())){
                        paramValue = paramCollectionList2.get(i).getValue().toString();
                    }
                    daParamCollection.setParamValue(paramValue);
                    daParamCollection.setLocationCode(device);
                    daParamCollection.setCollectionTime(new Date());
                    saveParamList.add(daParamCollection);
                }
            }
            if (CollUtil.isNotEmpty(paramCollectionList3)){
                for (int i = 0; i < paramCollectionList3.size(); i++) {
                    DaParamCollection daParamCollection = new DaParamCollection();
                    if (CollUtil.isNotEmpty(keyCodeList) && keyCodeList.size() == 4){
                        daParamCollection.setKeyCode(keyCodeList.get(2));
                    }
                    daParamCollection.setParamCode(paramCollectionList3.get(i).getIdentifier());
                    String paramValue = "";
                    if (ObjectUtil.isNotNull(paramCollectionList3.get(i).getValue())){
                        paramValue = paramCollectionList3.get(i).getValue().toString();
                    }
                    daParamCollection.setParamValue(paramValue);
                    daParamCollection.setLocationCode(device);
                    daParamCollection.setCollectionTime(new Date());
                    saveParamList.add(daParamCollection);
                }
            }
            if (CollUtil.isNotEmpty(paramCollectionList4)){
                for (int i = 0; i < paramCollectionList4.size(); i++) {
                    DaParamCollection daParamCollection = new DaParamCollection();
                    if (CollUtil.isNotEmpty(keyCodeList) && keyCodeList.size() == 4){
                        daParamCollection.setKeyCode(keyCodeList.get(3));
                    }
                    daParamCollection.setParamCode(paramCollectionList4.get(i).getIdentifier());
                    String paramValue = "";
                    if (ObjectUtil.isNotNull(paramCollectionList4.get(i).getValue())){
                        paramValue = paramCollectionList4.get(i).getValue().toString();
                    }
                    daParamCollection.setParamValue(paramValue);
                    daParamCollection.setLocationCode(device);
                    daParamCollection.setCollectionTime(new Date());
                    saveParamList.add(daParamCollection);
                }
            }
            if (CollUtil.isNotEmpty(paramCollectionList0)){
                for (int i = 0; i < paramCollectionList0.size(); i++) {
                    if (CollUtil.isNotEmpty(keyCodeList) && keyCodeList.size() == 4){
                        for (String s : keyCodeList) {
                            DaParamCollection daParamCollection = new DaParamCollection();
                            daParamCollection.setKeyCode(s);
                            daParamCollection.setParamCode(paramCollectionList0.get(i).getIdentifier());
                            String paramValue = "";
                            if (ObjectUtil.isNotNull(paramCollectionList0.get(i).getValue())){
                                paramValue = paramCollectionList0.get(i).getValue().toString();
                            }
                            daParamCollection.setParamValue(paramValue);
                            daParamCollection.setLocationCode(device);
                            daParamCollection.setCollectionTime(new Date());
                            saveParamList.add(daParamCollection);
                        }
                    }
                }
            }
                daParamCollectionService.insertBatch(saveParamList);
            }
        return passingList;
    }
    /**
     * 030工位返回ocv测试结果
     * @param thoroughfare
     * @param device
     * @throws Exception
     */
    private boolean OCVResultFeedBack(String thoroughfare, String device) throws Exception {
        boolean flag = true;
        Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_1").getValue();
        if (ObjectUtil.isNotNull(value1)){
            String string = value1.toString();
            List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>()
                    .eq(DaParamCollection::getKeyCode, string));
            if (CollUtil.isNotEmpty(list)){
                DaParamCollection daParamCollection = list.get(0);
                if (Constants.ONE.equals(daParamCollection.getState())){
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(1).build());
                }else {
                    flag = false;
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(2).build());
                }
            }
        }
        Object value2 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_2").getValue();
        if (ObjectUtil.isNotNull(value2)){
            String string = value2.toString();
            List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>()
                    .eq(DaParamCollection::getKeyCode, string));
            if (CollUtil.isNotEmpty(list)){
                DaParamCollection paramCollection = list.get(0);
                if (Constants.ONE.equals(paramCollection.getState())){
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(1).build());
                }else {
                    flag = false;
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(2).build());
                }
            }
        }
        Object value3 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_3").getValue();
        if (ObjectUtil.isNotNull(value3)){
            String string = value3.toString();
            List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>()
                    .eq(DaParamCollection::getKeyCode, string));
            if (CollUtil.isNotEmpty(list)){
                DaParamCollection paramCollection = list.get(0);
                if (Constants.ONE.equals(paramCollection.getState())){
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(1).build());
                }else {
                    flag = false;
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(2).build());
                }
            }
        }
        Object value4 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_4").getValue();
        if (ObjectUtil.isNotNull(value4)){
            String string = value4.toString();
            List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>()
                    .eq(DaParamCollection::getKeyCode, string));
            if (CollUtil.isNotEmpty(list)){
                DaParamCollection paramCollection = list.get(0);
                if (Constants.ONE.equals(paramCollection.getState())){
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(1).build());
                }else {
                    flag = false;
                    miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(2).build());
                }
            }
        }
        return flag;
    }
    /**
     * ä¿å­˜è¿‡ç«™æ•°æ®å’Œå‚数保存数据
     * @param device å·¥ä½å·
     * @throws Exception
     */
    private void saveParamPassingData(String device,String thoroughfare) throws Exception {
        //保存参数采集数据
        List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
                .eq(DaCollectionParamConf::getProcessesCode, device)
                .eq(DaCollectionParamConf::getRemarks, Constants.ONE));
        if (CollUtil.isNotEmpty(list)){
            List<String> collect = list.stream().map(DaCollectionParamConf::getGatherAddress)
                    .filter(Objects::nonNull).distinct()
                    .collect(Collectors.toList());
            QueryPLCData(device,thoroughfare,collect);
        }
    }
    /**
     * æ‰¹é‡æŸ¥è¯¢plc站点数据
     * @param device ç«™ç‚¹
     * @param collect ç‚¹ä½
     * @throws Exception
     */
    private static void QueryPLCData(String device,String thoroughfare,List<String> collect) throws Exception {
        List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(collect);
        if (CollUtil.isNotEmpty(readWriteEntityList)){
            List<DaParamCollection> collectionList = new ArrayList<>();
            Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue();
            String moduleCode = null;
            if (ObjectUtil.isNotNull(value1)){
                moduleCode = value1.toString();
            }
            for (int i = 0; i < readWriteEntityList.size(); i++) {
                DaParamCollection daParamCollection = new DaParamCollection();
                if (StrUtil.isNotBlank(moduleCode)){
                    daParamCollection.setModuleCode(moduleCode);
                }
                daParamCollection.setParamCode(collect.get(i));
                String paramValue = "";
                if (ObjectUtil.isNotNull(readWriteEntityList.get(i).getValue())){
                    paramValue = readWriteEntityList.get(i).getValue().toString();
                }
                daParamCollection.setParamValue(paramValue);
                daParamCollection.setLocationCode(device);
                daParamCollection.setCollectionTime(new Date());
                collectionList.add(daParamCollection);
            }
            daParamCollectionService.insertBatch(collectionList);
        }
    }
    /**
@@ -399,7 +773,8 @@
        map.forEach((key, value) -> {
            List<DaCollectionParamConf> daCollectionParamConfs = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>()
                    .eq(DaCollectionParamConf::getProcessesCode,locationCode)
                    .like(DaCollectionParamConf::getCollectParameterId,key));
                    .like(DaCollectionParamConf::getCollectParameterId,key)
                    .eq(DaCollectionParamConf::getRemarks,Constants.ONE));
            DaParamCollection saveData = new DaParamCollection();
            saveData.setWorkOrderNo(workOrderNo);
            saveData.setProductCode(productCode);
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
@@ -47,10 +47,41 @@
    String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
    @PostMapping("/deviceResultFeedback")
    public AjaxResult qinYanDeviceData(@RequestBody ParentVO parentVO){
        //保存参数数据
        String productNum = parentVO.getProductNum();
        //参数保存
        List<DaParamCollection> paramCollectionList = new ArrayList<>();
        List<ChildVO> checkList = parentVO.getCheckList();
        for (ChildVO childVO : checkList) {
            DaParamCollection daParamCollection = new DaParamCollection();
            daParamCollection.setKeyCode(productNum);
            daParamCollection.setProductCode(parentVO.getProductNum());
            daParamCollection.setLocationCode(parentVO.getStationCode());
            daParamCollection.setParamCode(childVO.getItemCode());
            daParamCollection.setParamValue(childVO.getItemValue());
            daParamCollection.setCollectionTime(new Date());
            daParamCollection.setParamName(childVO.getItemText());
            daParamCollection.setState(childVO.getCheckResult());
            paramCollectionList.add(daParamCollection);
        }
        if (CollUtil.isNotEmpty(paramCollectionList)){
            daParamCollectionService.insertBatch(paramCollectionList);
        }
//        HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
        return AjaxResult.success();
    }
    /**
     * å¯¼å‡ºç‚¹æ£€ä»»åŠ¡åˆ—表
     */
    @PostMapping("/deviceResultFeedback")
    @PostMapping("/deviceResultFeedback222")
    public AjaxResult hdy(@RequestBody ParentVO parentVO)
    {
        //保存
@@ -63,6 +94,7 @@
                DaPassingStationCollection passingStationCollection = new DaPassingStationCollection();
                passingStationCollection.setWorkOrderNo(omProductionOrdeInfo.getWorkOrderNo());
                passingStationCollection.setSfcCode(productNum);
                passingStationCollection.setKeyCode(productNum);
                passingStationCollection.setProductCode(omProductionOrdeInfo.getProductCode());
                passingStationCollection.setLocationCode(parentVO.getStationCode());
                passingStationCollection.setOutRsSign(parentVO.getTotalResult());
jcdm-main/src/main/java/com/jcdm/main/work/controller/KeyCodeCheckController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.jcdm.main.work.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/keyCodeCheck")
public class KeyCodeCheckController {
}
jcdm-main/src/main/java/com/jcdm/main/work/domain/KeyCodeCheck.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.jcdm.main.work.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class KeyCodeCheck {
    private Long id;
    private String keyCode;
    /** åˆ›å»ºç”¨æˆ· */
    private String createUser;
    /** æ›´æ”¹ç”¨æˆ· */
    private String updateUser;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
jcdm-main/src/main/java/com/jcdm/main/work/domain/KeyCodeRelation.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package com.jcdm.main.work.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class KeyCodeRelation {
    private Long id;
    private String keyCode;
    private String moduleCode;
    private String productionOrderNum;
    private String productNum;
    /** åˆ›å»ºç”¨æˆ· */
    private String createUser;
    /** æ›´æ”¹ç”¨æˆ· */
    private String updateUser;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
jcdm-main/src/main/java/com/jcdm/main/work/domain/WorkOrder.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.jcdm.main.work.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class WorkOrder {
    private Long id;
    private String productNum;
    private String stationCode;
    private String materialCode;
    private String productionOrderNum;
    private String model;
    /** åˆ›å»ºç”¨æˆ· */
    private String createUser;
    /** æ›´æ”¹ç”¨æˆ· */
    private String updateUser;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    private Integer keyNum;
    private Integer installedKeyNum;
    private String installedKeyCode;
}
jcdm-main/src/main/java/com/jcdm/main/work/mapper/KeyCodeCheckMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package com.jcdm.main.work.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jcdm.main.work.domain.KeyCodeCheck;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface KeyCodeCheckMapper extends BaseMapper<KeyCodeCheck> {
}
jcdm-main/src/main/java/com/jcdm/main/work/mapper/KeyCodeRelationMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.jcdm.main.work.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jcdm.main.work.domain.KeyCodeCheck;
import com.jcdm.main.work.domain.KeyCodeRelation;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface KeyCodeRelationMapper extends BaseMapper<KeyCodeRelation> {
}
jcdm-main/src/main/java/com/jcdm/main/work/mapper/WorkOrderMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package com.jcdm.main.work.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jcdm.main.work.domain.WorkOrder;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WorkOrderMapper extends BaseMapper<WorkOrder> {
}
jcdm-main/src/main/java/com/jcdm/main/work/service/KeyCodeCheckService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
package com.jcdm.main.work.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.main.work.domain.KeyCodeCheck;
import com.jcdm.main.work.domain.WorkOrder;
public interface KeyCodeCheckService extends IService<KeyCodeCheck> {
}
jcdm-main/src/main/java/com/jcdm/main/work/service/KeyCodeRelationService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.jcdm.main.work.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.main.work.domain.KeyCodeCheck;
import com.jcdm.main.work.domain.KeyCodeRelation;
import java.util.List;
public interface KeyCodeRelationService extends IService<KeyCodeRelation> {
    public void insertBatch(List<KeyCodeRelation> confList);
}
jcdm-main/src/main/java/com/jcdm/main/work/service/WorkOrderService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.jcdm.main.work.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.main.work.domain.WorkOrder;
public interface WorkOrderService extends IService<WorkOrder> {
}
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/KeyCodeCheckServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.jcdm.main.work.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.main.work.domain.KeyCodeCheck;
import com.jcdm.main.work.mapper.KeyCodeCheckMapper;
import com.jcdm.main.work.service.KeyCodeCheckService;
import org.springframework.stereotype.Service;
@Service
public class KeyCodeCheckServiceImpl extends ServiceImpl<KeyCodeCheckMapper, KeyCodeCheck> implements KeyCodeCheckService {
}
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/KeyCodeRelationServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.jcdm.main.work.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.work.domain.KeyCodeCheck;
import com.jcdm.main.work.domain.KeyCodeRelation;
import com.jcdm.main.work.mapper.KeyCodeCheckMapper;
import com.jcdm.main.work.mapper.KeyCodeRelationMapper;
import com.jcdm.main.work.service.KeyCodeCheckService;
import com.jcdm.main.work.service.KeyCodeRelationService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class KeyCodeRelationServiceImpl extends ServiceImpl<KeyCodeRelationMapper, KeyCodeRelation> implements KeyCodeRelationService {
    @Override
    public void insertBatch(List<KeyCodeRelation> confList){
        try{
            this.saveBatch(confList);
        }catch (Exception e){
            return;
        }
    }
}
jcdm-main/src/main/java/com/jcdm/main/work/service/impl/WorkOrderServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.jcdm.main.work.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jcdm.main.work.domain.WorkOrder;
import com.jcdm.main.work.mapper.WorkOrderMapper;
import com.jcdm.main.work.service.WorkOrderService;
import org.springframework.stereotype.Service;
@Service
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
}
jcdm-main/src/main/resources/mapper/work/KeyCodeCheckMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
<?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.jcdm.main.work.mapper.KeyCodeCheckMapper">
</mapper>
jcdm-main/src/main/resources/mapper/work/KeyCodeRelationMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
<?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.jcdm.main.work.mapper.KeyCodeRelationMapper">
</mapper>
jcdm-main/src/main/resources/mapper/work/WorkOrderMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
<?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.jcdm.main.work.mapper.WorkOrderMapper">
</mapper>
jcdm-ui/vue.config.js
@@ -34,7 +34,7 @@
    open: true,
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: `http://localhost:8080`,
        target: `http://localhost:8085`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''