wangfei
2024-10-09 33308e16bbb153d9aac76fd703ec0f38ea7e344a
Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
14个文件已修改
127 ■■■■ 已修改文件
UI-Project/src/views/Caching/cachingbefore.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Caching/cachingbefore.vue
@@ -63,9 +63,9 @@
    );  
    if (confirmResult === 'confirm') {  
      var url="/cacheGlass/edgStorageCage/edgStorageCageGlass?edgStorageCageId="+row.id;
      console.log(url);
      console.log(row);
      const response = await request.post(url, {
        esdId: row.esdId
        glassId:row.glass_id
    })
    if (response.code === 200) {
      ElMessage.success(response.message);
UI-Project/src/views/Slicecage/slicecage.vue
@@ -79,6 +79,7 @@
const selectedRow = ref(null); // 存储选中的行数据  
const temperingtotal = ref(0);
const glasstotal = ref(0);
const fulltotals = ref(0);
const temperingengineerId=ref('');
    // 当前页码和每页显示的条数
    const currentPage = ref(1);
@@ -624,11 +625,17 @@
      ElMessage.success(response.message);
      tableDatagh.value = response.data
      temperingtotal.value = response.data.length
      let totalCount = 0;
      let totalCount = 0;
      let fullCount = 0;
      response.data.forEach(item => { 
        totalCount += item.count2 || 0;
        totalCount += item.count1 || 0;
        if(item.count2-item.count1-item.count4==0){
          fullCount+=1;
        }
      });
      glasstotal.value = totalCount;
      fulltotals.value = fullCount;
    } else {
      ElMessage.error(response.message);
    }
@@ -1524,6 +1531,13 @@
          </el-col>
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('满炉数量')"  style="width: 14vw">
                {{ fulltotals }}
              </el-form-item>
              </div>
          </el-col>
          <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('当前指定工程')"  style="width: 14vw">
                {{ temperingengineerId }}
              </el-form-item>
@@ -1544,6 +1558,7 @@
          <el-table-column prop="count2" align="center" :label="$t('总数量')" min-width="150" />
          <el-table-column prop="count1" align="center" :label="$t('笼子内数量')" min-width="150" />
          <el-table-column prop="count3" align="center" :label="$t('缺少数量')" min-width="150" />
          <el-table-column prop="count4" align="center" :label="$t('破损/拿走数量')" min-width="150" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="brokee(scope.row)">{{ $t('searchOrder.specifytempering') }}</el-button>
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -44,7 +44,7 @@
    @PostMapping("/submitDamage")
    public Result submitDamage(@RequestBody List<Damage> damageList) {
        damageService.submitDamage(damageList);
        damageList.forEach(damage -> damage.setStatus(2));
        damageList.forEach(damage -> damage.setStatus(3));
        damageService.updateBatchById(damageList);
        return Result.build(200,"报工成功",1);
    }
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -206,7 +206,7 @@
            }
            if (damage.getType() == 1) {
                if (submitReport(damage)) {
                    damage.setStatus(2);
                    damage.setStatus(3);
                } else {
                    damage.setStatus(1);
                }
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -88,7 +88,7 @@
        wrapper.select("tempering_layout_id,engineer_id,max(id) as id")
                .eq("state",2)
                .groupBy("tempering_layout_id,engineer_id")
                .orderByDesc("id");
                .orderByAsc("id");
        return temperingMapper.selectList(wrapper);
    }
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -129,13 +129,13 @@
    @Override
    public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage) {
        EdgStorageCage edgItem = baseMapper.selectById(edgStorageCage.getId());
        if(edgItem!=null){
        if (edgItem != null) {
            edgItem.setEnableState(edgStorageCage.getEnableState());
            baseMapper.updateById(edgItem);
            log.info("卧室缓存:【启用/禁用】 参数:{} 结果:成功",edgStorageCage);
            log.info("卧室缓存:【启用/禁用】 参数:{} 结果:成功", edgStorageCage);
            return true;
        }
        log.info("卧室缓存:【启用/禁用】 参数:{} 结果:失败",edgStorageCage);
        log.info("卧室缓存:【启用/禁用】 参数:{} 结果:失败", edgStorageCage);
        return false;
    }
@@ -153,15 +153,20 @@
        EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
        if (edgItem != null) {
            //移除  (破损,目前两个概念混合在一起,建议拆开)
            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(
                    new MPJLambdaWrapper<EdgStorageCageDetails>()
                            .eq(EdgStorageCageDetails::getSlot, edgStorageCageId)
                            .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
            );
            if (result != null) {
                result.setSlot(0);
                result.setState(201);
                Damage damage =new Damage();
                Damage damage = new Damage();
                damage.setGlassId(edgStorageCageDetails.getGlassId());
                damage.setLine(1002);
                damage.setWorkingProcedure("卧式理片");
                damage.setStatus(2);
                damage.setLine(2001);
                damage.setWorkingProcedure("磨边");
                damage.setStatus(1);
                damage.setType(8);
                damageService.insertDamage(damage);
                edgStorageCageDetailsMapper.updateById(result);
            }
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
@@ -9,6 +9,7 @@
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -28,7 +29,7 @@
    public BigStorageCageOutTask() {
    }
    public BigStorageCageOutTask(String glassId, Integer startSlot, Integer endSlot, double width, double height, Integer trainNumber, Integer serialNumber, Integer taskState) {
    public BigStorageCageOutTask(String glassId, Integer startSlot, Integer endSlot, double width, double height, Integer trainNumber, Integer serialNumber, Integer taskState, Date createTime) {
        this.glassId = glassId;
        this.startSlot = startSlot;
        this.endSlot = endSlot;
@@ -37,6 +38,7 @@
        this.trainNumber = trainNumber;
        this.serialNumber = serialNumber;
        this.taskState = taskState;
        this.createTime = createTime;
    }
    /**
@@ -92,6 +94,12 @@
    @ApiModelProperty(value = "任务状态", position = 8)
    private Integer taskState;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", position = 9)
    private Date createTime;
    @TableLogic
    private int deleted;
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -317,7 +317,7 @@
                //玻璃到齐包括已出片的
                //到齐,将玻璃小片数据存入钢化小片表,逻辑生成出片任务  结束
                for (TemperingLayoutDTO item : temperingLayoutDTOList) {
                    if(redisUtil.getCacheObject("temperingengineerId").equals(item.getEngineerId())){
                    if (redisUtil.getCacheObject("temperingengineerId").equals(item.getEngineerId())) {
                        List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class)
                                .selectAll(GlassInfo.class)
                                .select("-1 as state")
@@ -358,7 +358,7 @@
                            int serialNumber = 1;
                            for (BigStorageCageDetails item : list) {
                                outTasks.add(new BigStorageCageOutTask(item.getGlassId(), first.getSlot(), second.getSlot(),
                                        item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW));
                                        item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
                            }
                            //新增调度任务
                            bigStorageCageOutTaskService.saveBatch(outTasks);
@@ -437,6 +437,16 @@
            List<BigStorageCageOutTask> outSuccessGlass = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
                    .in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL));
            if (CollectionUtils.isNotEmpty(outSuccessGlass)) {
                for (BigStorageCageOutTask bigStorageCageOutTask:outSuccessGlass
                     ) {
                    if(bigStorageCageOutTask.getEndSlot().equals(Const.ARTIFICIAL_OUT_TARGET_POSITION)){
                        temperingGlassInfoService.update(
                                new LambdaUpdateWrapper<TemperingGlassInfo>()
                                        .set(TemperingGlassInfo::getState,Const.TEMPERING_END)
                                        .eq(TemperingGlassInfo::getGlassId,bigStorageCageOutTask.getGlassId())
                        );
                    }
                }
                log.info("3、获取出片已完成的玻璃信息id:{}", outSuccessGlass);
                List<UpdateBigStorageCageDTO> storageCageDTOList = outSuccessGlass.stream().map(e -> {
                    UpdateBigStorageCageDTO storageCageDTO = new UpdateBigStorageCageDTO();
@@ -666,7 +676,7 @@
        bigStorageCageFeedTask.setCreateTime(new Date());
        //删除理片笼表拿走/破损数据数据
        damageService.deleteByGlassId(glassId);
        Damage damage=new Damage();
        Damage damage = new Damage();
        damage.setGlassId(glassId);
        damage.setWorkingProcedure("磨边");
        damage.setLine(line);
@@ -796,7 +806,7 @@
                int minLength = Math.min((int) e.getWidth(), (int) e.getHeight());
                if (maxX + minLength <= xMaxSize) {
                    bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
                            e.getWidth() * 10, e.getHeight() * 10, 0, 0, 1));
                            e.getWidth() * 10, e.getHeight() * 10, 0, 0, 1, new Date()));
                    maxX = Math.max(maxX, e.getXCoordinate());
                } else {
                    break;
@@ -804,7 +814,7 @@
            } else {
                bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION,
                        e.getWidth() * 10, e.getHeight(), 0, 0, 1));
                        e.getWidth() * 10, e.getHeight(), 0, 0, 1, new Date()));
            }
        }
        Assert.isFalse(CollectionUtils.isEmpty(bigStorageCageOutTaskList), "未获取出片数据,结束出片任务");
@@ -855,7 +865,7 @@
                int minLength = Math.min((int) e.getWidth(), (int) e.getHeight());
                if (maxX + minLength <= xMaxSize) {
                    bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
                            e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1));
                            e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1, new Date()));
                    maxX = Math.max(maxX, e.getXCoordinate());
                } else {
                    remainWidth = carWidth - maxLength - glassGap;
@@ -863,16 +873,20 @@
                    serialNumber = 1;
                    maxX = e.getXCoordinate();
                    bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
                            e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1));
                            e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date()));
                }
            } else {
                bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION,
                        e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1));
                        e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date()));
            }
        }
        Assert.isFalse(CollectionUtils.isEmpty(bigStorageCageOutTaskList), "未获取出片数据,结束出片任务");
        log.info("获取出片任务数据{}条,执行保存", bigStorageCageOutTaskList.size());
        bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList);
        for (BigStorageCageOutTask bigStorageCageOutTask : bigStorageCageOutTaskList
        ) {
            bigStorageCageOutTaskService.save(bigStorageCageOutTask);
        }
//        bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList);
        List<String> glassIds = bigStorageCageOutTaskList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
        log.info("将出片玻璃{}玻璃状态改为已出片", glassIds);
        bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -93,11 +93,13 @@
    </update>
    <select id="selectTemperingGlassCount" resultType="java.util.Map">
        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3 from
        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4 from
            (select engineer_id,tempering_layout_id,count(*) as count1 from big_storage_cage_details where state=100 group by engineer_id,tempering_layout_id) as a
                left join
            (select engineer_id,tempering_layout_id,count(*) as count2 from glass_info group by engineer_id,tempering_layout_id) as b
            on a.engineer_id=b.engineer_id and a.tempering_layout_id=b.tempering_layout_id
                left join damage as c on a.engineer_id=c.engineer_id and a.tempering_layout_id=c.tempering_layout_id and (type = 8 or type = 9)
        group by a.engineer_id,a.tempering_layout_id
        order by a.engineer_id,a.tempering_layout_id
    </select>
</mapper>
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -88,7 +88,11 @@
            boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            return Result.build(200, "保存成功", work);
            if (work) {
                return Result.build(200, "保存成功"+engineering.getEngineerId(), true);
            }else {
                return Result.build(200, "保存失败"+engineering.getEngineerId(), false);
            }
        }
    }
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -49,11 +49,11 @@
        temperingGlassInfo.setState(damage.getStatus());
        temperingGlassInfo.setGlassId(damage.getGlassId());
        int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
        if(damage.getStatus()>5) {
            damage.setType(damage.getStatus());
            damage.setStatus(1);
            damageService.insertDamage(damage);
        }
//        if(damage.getStatus()>5) {
//            damage.setType(damage.getStatus());
//            damage.setStatus(1);
//            damageService.insertDamage(damage);
//        }
        return Result.build(200, "破损成功", result);
    }
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -2,11 +2,11 @@
  port: 8084
spring:
  profiles:
    active: prod
    active: cz
  application:
    name: temperingGlass
  liquibase:
    enabled: true
    enabled: false
    change-log: classpath:changelog/changelog.sql
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -135,7 +135,7 @@
        PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
        if (CollectionUtils.isNotEmpty(list)) {
            s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
        }else{
        } else {
            s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 0);
        }
    }
@@ -197,7 +197,10 @@
            //更新工位其他玻璃信息的数量
            QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("process_id", downWorkstation.getFlowCardId());
            queryWrapper.eq("technology_number", downWorkstation.getLayer());
            queryWrapper.gt("type", 3);
            if (downWorkstation.getLayer() != 0) {
                queryWrapper.eq("technology_number", downWorkstation.getLayer());
            }
            int otherNumber = damageService.count(queryWrapper);
            downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getOtherNumber, otherNumber)
                    .eq(DownWorkstation::getWorkstationId, downWorkstation.getWorkstationId()));
@@ -708,7 +711,7 @@
        downGlassTask.setCreateTime(new Date());
        downGlassTaskService.save(downGlassTask);
        //添加报工数据
        Damage damage=new Damage();
        Damage damage = new Damage();
        damage.setGlassId(glassInfo.getGlassId());
        damage.setWorkingProcedure("钢化");
        damage.setLine(4001);
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -210,9 +210,9 @@
    @Scheduled(fixedDelay = Long.MAX_VALUE)
    public void scanCodeTask() {
        JSONObject jsonObject = new JSONObject();
        log.info("扫描任务已启动");
        while (true) {
            JSONObject jsonObject = new JSONObject();
            try (Socket socket = new Socket(scanIp, scanPort);
                 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
                // 接收服务器响应