hdy
2025-03-11 f23e2ce66fdf032b2560d5547c77f30eb8de0c75
修改
已修改6个文件
401 ■■■■ 文件已修改
billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-ui/src/views/main/bs/bomInfo/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/controller/DaParamCollectionController.java
@@ -5,7 +5,6 @@
import com.billion.common.core.domain.AjaxResult;
import com.billion.common.core.page.TableDataInfo;
import com.billion.common.enums.BusinessType;
import com.billion.common.utils.DateUtils;
import com.billion.common.utils.poi.ExcelUtil;
import com.billion.main.da.domain.DaParamCollection;
import com.billion.main.da.service.IDaParamCollectionService;
@@ -72,8 +71,6 @@
    @PostMapping
    public AjaxResult add(@RequestBody DaParamCollection daParamCollection)
    {
        daParamCollection.setCreateBy(getUsername());
        daParamCollection.setCreateTime(DateUtils.getNowDate());
        return toAjax(daParamCollectionService.insertDaParamCollection(daParamCollection));
    }
@@ -85,8 +82,6 @@
    @PutMapping
    public AjaxResult edit(@RequestBody DaParamCollection daParamCollection)
    {
        daParamCollection.setUpdateBy(getUsername());
        daParamCollection.setUpdateTime(DateUtils.getNowDate());
        return toAjax(daParamCollectionService.updateDaParamCollection(daParamCollection));
    }
billion-main/src/main/java/com/billion/main/da/domain/DaParamCollection.java
@@ -1,16 +1,8 @@
package com.billion.main.da.domain;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.billion.common.annotation.Excel;
import com.billion.main.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -21,42 +13,21 @@
 * @date 2024-11-20
 */
@Data
@ExcelIgnoreUnannotated
@ColumnWidth(16)
@HeadRowHeight(14)
@HeadFontStyle(fontHeightInPoints = 11)
public class DaParamCollection extends BaseEntity
public class DaParamCollection
{
    private static final long serialVersionUID = 1L;
    /** 主键id */
    private Long id;
    /** 工单编号 */
    @Excel(name = "工单编号")
    private String workOrderNo;
    private String repairFlag;
    /** 总成序列号 */
    @Excel(name = "箱体编码")
    @Excel(name = "总成序列号")
    private String sfcCode;
    /** 产品编号 */
    @Excel(name = "产品编号")
    private String productCode;
    /** 产线编号 */
    @Excel(name = "产线编号")
    private String productionLine;
    /** 工位编号 */
    @Excel(name = "工位编号")
    private String locationCode;
    /** 设备编号 */
    @Excel(name = "设备编号")
    private String equipmentNo;
    /** 参数编码 */
    @Excel(name = "参数编码")
@@ -66,295 +37,19 @@
    @Excel(name = "参数值")
    private String paramValue;
    /** 参数上限 */
    @Excel(name = "参数上限")
    private String paramUpper;
    /** 参数下限 */
    @Excel(name = "参数下限")
    private String paramLower;
    /** 标准值 */
    @Excel(name = "标准值")
    private String paramStandard;
    /** 采集时间 */
    @Excel(name = "采集时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date collectionTime;
    @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date collectTime;
    /** 预留字段1 */
    private String spareField1;
    /** 预留字段2 */
    private String spareField2;
    /** 创建用户 */
    private String createUser;
    /** 更改用户 */
    private String updateUser;
    /** 状态(1合格、2不合格) */
    @Excel(name = "状态", readConverterExp = "1=合格、2不合格")
    private String state;
    /** 参数名称 */
    @Excel(name = "参数名称")
    private String paramName;
    /** 单位 */
    @Excel(name = "单位")
    private String unit;
    /** 类型 */
    @Excel(name = "类型")
    private String type;
    private String[] dateConditions;
    private String startTime;
    private String endTime;
    public String[] getDateConditions() {
        return dateConditions;
    }
    public void setDateConditions(String[] dateConditions) {
        this.dateConditions = dateConditions;
    }
    public String getStartTime() {return startTime;}
    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }
    public String getEndTime() {
        return endTime;
    }
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    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 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 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("spareField1", getSpareField1())
                .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();
    }
}
billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java
@@ -1,6 +1,5 @@
package com.billion.main.da.service.impl;
import com.billion.common.utils.DateUtils;
import com.billion.main.da.domain.DaParamCollection;
import com.billion.main.da.mapper.DaParamCollectionMapper;
import com.billion.main.da.service.IDaParamCollectionService;
@@ -54,11 +53,6 @@
    @Override
    public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection)
    {
        if(daParamCollection.getDateConditions()!=null){
            String[] conditions = daParamCollection.getDateConditions();
            daParamCollection.setStartTime(conditions[0]);
            daParamCollection.setEndTime(conditions[1]);
        }
        return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection);
    }
@@ -71,7 +65,6 @@
    @Override
    public int insertDaParamCollection(DaParamCollection daParamCollection)
    {
        daParamCollection.setCreateTime(DateUtils.getNowDate());
        return daParamCollectionMapper.insertDaParamCollection(daParamCollection);
    }
billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java
@@ -16,6 +16,7 @@
import com.billion.main.om.domain.OmProductionOrderInfo;
import com.billion.main.om.service.IOmOrderSchedulingService;
import com.billion.main.om.service.IOmProductionOrderInfoService;
import com.billion.main.plcServer.util.TimeUtil;
import com.billion.main.sys.domain.SysCount;
import com.billion.main.sys.service.ISysCountService;
import com.kangaroohy.milo.model.ReadWriteEntity;
@@ -23,7 +24,6 @@
import com.kangaroohy.milo.service.MiloService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import com.billion.main.plcServer.util.TimeUtil;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
@@ -140,6 +140,11 @@
                        omOrderScheduling.setWorkOrderNo(workOrderNumber.toString());
                        omOrderScheduling.setNowQty(nowQty.toString());
                        omOrderScheduling.setSfcCode(SFCCode.toString());
                        Date Time = new Date();
                        ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime");
                        Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString())));
                        omOrderScheduling.setOnlineTime(Time);
                        omOrderScheduling.setStatus("1");
                        //托盘绑定SFCCode和工单和产线
                        if(Constants.OP005.equals(device)){
                            omOrderScheduling.setRemarks("Body");
@@ -149,6 +154,11 @@
                        }
                        omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling);
                    }else if(Constants.OFFLINE.contains(device)){
                        Date Time = new Date();
                        ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");
                        Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString())));
                        omOrderScheduling.setOfflineTime(Time);
                        omOrderScheduling.setStatus("2");
                        if(Constants.C060.equals(device)){
                            omOrderScheduling.setRemarks("Head");
                            omOrderScheduling.setSfcCode(SFCCode.toString());
@@ -203,38 +213,50 @@
                    //查询descriptive字段等于1的采集项保存到扫码保存到da_material_collection表里
                    DaCollectionParamConf daCollectionParamConf1 = new DaCollectionParamConf();
                    daCollectionParamConf1.setProcessesCode(device);
                    daCollectionParamConf1.setDescriptive("3");
                    daCollectionParamConf1.setDescriptive("1");
                    List<DaCollectionParamConf> daCollectionParamConfList1 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf1);
                    for (DaCollectionParamConf conf : daCollectionParamConfList1) {
                        String gatherAddress = conf.getGatherAddress();
                        Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 获取原始值对象‌:ml-citation{ref="4" data="citationList"}
                        if (valueObj != null ) {
                        String valueObj = miloService.readFromOpcUa(gatherAddress).getValue().toString(); // 获取原始值对象‌:ml-citation{ref="4" data="citationList"}
                        if (!Objects.equals(valueObj, "                                                  ")) {
                            DaMaterialCollection materialCollection = new DaMaterialCollection();
                            materialCollection.setSfcCode(SFCCode.toString());
                            materialCollection.setLocationCode(device);
                            materialCollection.setParamName(conf.getParameterSetName());
                            materialCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
                            materialCollection.setCollectTime(new Date());
                            materialCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString());
                            Date Time = new Date();
                            ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");
                            Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString())));
                            materialCollection.setCollectTime(Time);
                            daMaterialCollectionService.insertDaMaterialCollection(materialCollection);
                        }
                        else {
                            log.debug("采集项为空: {}", gatherAddress);
                        }
                    }
                    //查询descriptive字段等于2的采集项保存到扫码保存到da_param_collection表里
//                    查询descriptive字段等于2的采集项保存到扫码保存到da_param_collection表里
                    DaCollectionParamConf daCollectionParamConf2 = new DaCollectionParamConf();
                    daCollectionParamConf2.setProcessesCode(device);
                    daCollectionParamConf2.setDescriptive("4");
                    daCollectionParamConf2.setDescriptive("2");
                    List<DaCollectionParamConf> daCollectionParamConfList2 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf2);
                    for (DaCollectionParamConf conf : daCollectionParamConfList2) {
                        String gatherAddress = conf.getGatherAddress();
                        Object valueObj = miloService.readFromOpcUa(gatherAddress).getValue(); // 获取原始值对象‌:ml-citation{ref="4" data="citationList"}
                        if (valueObj != null ) {
                        String valueObj = miloService.readFromOpcUa(gatherAddress).getValue().toString(); // 获取原始值对象‌:ml-citation{ref="4" data="citationList"}
                        if (!Objects.equals(valueObj, "0.0") && !Objects.equals(valueObj, "0")) {
                            DaParamCollection paramCollection = new DaParamCollection();
                            paramCollection.setSfcCode(SFCCode.toString());
                            paramCollection.setLocationCode(device);
                            paramCollection.setParamName(conf.getParameterSetName());
                            paramCollection.setParamValue((String) miloService.readFromOpcUa(gatherAddress).getValue());
                            paramCollection.setCollectionTime(new Date());
                            paramCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString());
                            Date Time = new Date();
                            ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");
                            Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString())));
                            paramCollection.setCollectTime(Time);
                            daParamCollectionService.insertDaParamCollection(paramCollection);
                        }
                        else {
                            log.debug("采集项为空: {}", gatherAddress);
                        }
                    }
                    DaStationCollection daStationCollection = new DaStationCollection();
                    daStationCollection.setLocationCode(device);
billion-main/src/main/resources/mapper/da/DaParamCollectionMapper.xml
@@ -38,21 +38,21 @@
    <insert id="insertDaParamCollection" parameterType="DaParamCollection" useGeneratedKeys="true" keyProperty="id">
        insert into da_param_collection
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="sfcCode != null and sfcCode != ''">sfc_code,</if>
            <if test="locationCode != null and locationCode != ''">location_code,</if>
            <if test="paramCode != null and paramCode != ''">param_code,</if>
            <if test="sfcCode != null">sfc_code,</if>
            <if test="locationCode != null">location_code,</if>
            <if test="paramCode != null">param_code,</if>
            <if test="paramName != null">param_name,</if>
            <if test="paramValue != null and paramValue != ''">param_value,</if>
            <if test="paramValue != null">param_value,</if>
            <if test="collectTime != null">collect_time,</if>
         </trim>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sfcCode != null and sfcCode != ''">#{sfcCode},</if>
            <if test="locationCode != null and locationCode != ''">#{locationCode},</if>
            <if test="paramCode != null and paramCode != ''">#{paramCode},</if>
            <if test="sfcCode != null">#{sfcCode},</if>
            <if test="locationCode != null">#{locationCode},</if>
            <if test="paramCode != null">#{paramCode},</if>
            <if test="paramName != null">#{paramName},</if>
            <if test="paramValue != null and paramValue != ''">#{paramValue},</if>
            <if test="paramValue != null">#{paramValue},</if>
            <if test="collectTime != null">#{collectTime},</if>
         </trim>
        </trim>
    </insert>
    <update id="updateDaParamCollection" parameterType="DaParamCollection">
billion-ui/src/views/main/bs/bomInfo/index.vue
@@ -74,16 +74,6 @@
      </el-col>
      <el-col :span="1.5">
        <el-button
          plain
          icon="el-icon-setting"
          size="mini"
          :disabled="multiple"
          @click="statusChange"
          v-hasPermi="['bs:bomInfo:remove']"
        >状态变更</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"