zhoushihao
2024-07-11 a4cc855f17c36f6ceda20100bc491bc6a0071c27
下片:人工下片表字段改为其他
大理片:新增读取plc数据计时功能
4个文件已修改
51 ■■■■ 已修改文件
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -4,6 +4,9 @@
import com.mes.device.PlcParameterObject;
import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
/**
@@ -11,6 +14,7 @@
 * @Date: 2024/4/9 15:13
 * @Description:
 */
@Slf4j
public class S7object extends Thread {
    public S7control plccontrol; // PLC通讯类实例
    private EPlcType plcType = EPlcType.S1200; // 西门子PLC类型
@@ -52,8 +56,11 @@
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Date startDate = new Date();
            log.info("大理片笼读取plc数据开始时间:{}", startDate);
            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
            Date endDate = new Date();
            log.info("大理片笼读取plc数据结束时间:{},共耗时:{}ms,结束扫码任务", endDate, endDate.getTime() - startDate.getTime());
            if (getplcvlues != null) {
                PlcMesObject.setPlcParameterList(getplcvlues);
            }
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -70,7 +70,7 @@
    /**
     * 人工下片数量
     */
    private Integer artificialNumber;
    private Integer otherNumber;
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -34,7 +34,7 @@
    @Autowired
    private DownWorkstationMapper downWorkstationMapper;
    @Autowired(required=false)
    @Autowired(required = false)
    private DownWorkstationTaskMapper downWorkstationTaskMapper;
    @Autowired
    private DownGlassInfoService downGlassInfoService;
@@ -67,7 +67,7 @@
    //工位显示
    @Override
    public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start,int end) {
    public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start, int end) {
        MPJQueryWrapper<DownWorkstation> queryWrapper = new MPJQueryWrapper<>();
        queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight")
                .leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
@@ -76,8 +76,8 @@
        ;
    List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
       // List<DownWorkstionAndDownGlassinfo> workstationList = null;
        List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
        // List<DownWorkstionAndDownGlassinfo> workstationList = null;
        List<Map<String, Object>> result = new ArrayList<>();
        for (DownWorkstionAndDownGlassinfo downWorkstionAndDownGlassinfo : workstationList) {
            Map<String, Object> rack = new HashMap<>();
@@ -94,7 +94,7 @@
            List<DownGlassInfo> downGlassInfoList = downGlassInfoMapper.selectList(glassInfoQueryWrapper);
         if (!downGlassInfoList.isEmpty()) {
            if (!downGlassInfoList.isEmpty()) {
                item.put("downGlassInfoList", downGlassInfoList);
@@ -103,7 +103,7 @@
            rack.put("item", item);
            result.add(rack);
        }
        log.info("result"+(result));
        log.info("result" + (result));
        return result; // 返回最终结果
    }
@@ -141,21 +141,21 @@
    @Override
    public int updateFlowCardIdAndCount(String flowCardId,  int workstationId,int layer) {
        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId,layer);
    public int updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
        QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("process_id", flowCardId);
        queryWrapper.eq("technology_number", layer);
       int artificialnumber=damageservice.count(queryWrapper);
        int otherNumber = damageservice.count(queryWrapper);
        UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
        updateWrapper.set("total_quantity", glassInfoCount)
                .set("flow_card_id", flowCardId)
                .set("layer", layer)
                .set("artificial_number", artificialnumber)
                .set("other_number", otherNumber)
                .eq("workstation_id", workstationId);
        return baseMapper.update(new DownWorkstation(), updateWrapper);
        this.update(updateWrapper);
        return 1;
    }
    @Override
@@ -168,9 +168,6 @@
        baseMapper.update(new DownWorkstation(), updateWrapper);
    }
    @Override
@@ -191,8 +188,6 @@
        List<DownWorkstationTask> downWorkstationTasks = downWorkstationTaskMapper.selectList();
    }
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -164,10 +164,7 @@
                if (CollectionUtils.isNotEmpty(list)) {
                    log.info("有空架子,将流程卡与架子好绑定,执行进片任务 结束");
                    //绑定流程卡
                    downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>()
                            .set(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId())
                            .set(DownWorkstation::getLayer, glassInfo.getLayer())
                            .eq(DownWorkstation::getWorkstationId, list.get(0).getWorkstationId()));
                    downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), glassInfo.getLayer(), list.get(0).getWorkstationId());
                    checkFlag = Boolean.TRUE;
                }
            }
@@ -458,9 +455,7 @@
                    .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId).last("limit 1"));
            if (null != emptyDownWorkstation) {
                log.info("获取到空架子信息,绑定流程卡");
                emptyDownWorkstation.setFlowCardId(downStorageCageDetails.getFlowCardId());
                emptyDownWorkstation.setLayer(downStorageCageDetails.getLayer());
                downWorkstationService.updateById(emptyDownWorkstation);
                downWorkstationService.updateFlowCardIdAndCount(downStorageCageDetails.getFlowCardId(), downStorageCageDetails.getLayer(), emptyDownWorkstation.getWorkstationId());
                endCell = emptyDownWorkstation.getWorkstationId();
            } else {
                log.info("没有空架子信息,无法绑定流程卡");
@@ -482,7 +477,7 @@
        //更新落架玻璃数量
        if (endCell == 7) {
            downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
                    .eq("layer", downStorageCageDetails.getLayer()).setSql("artificial_number = artificial_number +1"));
                    .eq("layer", downStorageCageDetails.getLayer()).setSql("other_number = other_number +1"));
        } else {
            downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
                    .eq("layer", downStorageCageDetails.getLayer()).setSql("racks_number = racks_number +1"));