wu
2024-04-22 61fa79a2268f1d7dc4e362fd8446503a4deca5ac
增加暂停开始任务接口
7个文件已修改
6个文件已添加
291 ■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -22,10 +22,10 @@
        // 2、全局配置
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir("D:\\Documents\\hangzhoumesParent1\\");
        gc.setOutputDir("D:\\Documents\\hangzhoumesParent2\\");
        gc.setServiceName("%sService");    //去掉Service接口的首字母I
        gc.setAuthor("zhoush");
        gc.setAuthor("wu");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);
@@ -41,7 +41,7 @@
        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.mes");
        pc.setModuleName("userinfo"); //模块名
        pc.setModuleName("engineering"); //模块名
        pc.setController("controller");
        pc.setService("service");
        pc.setMapper("mapper");
@@ -50,7 +50,7 @@
        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("up_patten_usage");
        strategy.setInclude("engineering");
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
New file
@@ -0,0 +1,37 @@
package com.mes.engineering.controller;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.impl.EngineeringServiceImpl;
import com.mes.utils.Result;
import com.mes.workstation.service.UpWorkstationService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mes.engineering.service.EngineeringService;
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
@RestController
@Slf4j
@RequestMapping("/engineering/engineering")
public class EngineeringController {
    @Autowired
    private EngineeringService engineeringService;
    @ApiOperation("开始/暂停任务/传递工程号和状态,开始是1 暂停是0")
    @PostMapping("/changeTask") //调用上片任务
    @ResponseBody
    public Result <Engineering> changeTask(String projectId , Integer state) {
        boolean work=engineeringService.changeTask(projectId,state);
        log.info("开始任务返回:{}", work);
        return Result.build(200, "",null);
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
New file
@@ -0,0 +1,100 @@
package com.mes.engineering.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 *
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Engineering implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工程表id
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 工程号
     */
    private String  engineerId;
    /**
     * 工程名称
     */
    private String engineerName;
    /**
     * 平均利用率
     */
    private Double avgAvailability;
    /**
     * 有效利用率
     */
    private Double validAvailability;
    /**
     * 尾片利用率
     */
    private Double lastAvailability;
    /**
     * 状态
     */
    private Integer state;
    /**
     * 小片总数
     */
    private Integer glassTotal;
    /**
     * 小片总面积
     */
    private Double glassTotalArea;
    /**
     * 计划原片总数
     */
    private Integer planPatternTotal;
    /**
     * 计划原片总面积
     */
    private Double planPatternTotalArea;
    /**
     * 实际原片总数
     */
    private Integer realityPatternTotal;
    /**
     * 实际原片总面积
     */
    private Double realityPatternTotalArea;
    /**
     * 膜系id
     */
    private Integer filmsId;
    /**
     * 备注
     */
    private String notes;
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
New file
@@ -0,0 +1,16 @@
package com.mes.engineering.mapper;
import com.mes.engineering.entity.Engineering;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
public interface EngineeringMapper extends BaseMapper<Engineering> {
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
New file
@@ -0,0 +1,5 @@
<?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.mes.engineering.mapper.EngineeringMapper">
</mapper>
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
New file
@@ -0,0 +1,17 @@
package com.mes.engineering.service;
import com.mes.engineering.entity.Engineering;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
public interface EngineeringService extends IService<Engineering> {
    boolean  changeTask(String projectId,Integer state);
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
New file
@@ -0,0 +1,29 @@
package com.mes.engineering.service.impl;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.engineering.service.EngineeringService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
@Service
public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
    //开始/暂停任务
    @Override
    public  boolean  changeTask(String projectId, Integer state) {
        LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
        wrapper.set(Engineering::getState,state);
        wrapper.eq(Engineering::getEngineerId,projectId);
        return  wrapper.update();
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
@@ -3,6 +3,7 @@
import com.mes.utils.Result;
import com.mes.workstation.entity.GlassInfo;
import com.mes.workstation.entity.UpWorkSequence;
import com.mes.workstation.entity.UpWorkstation;
import com.mes.workstation.service.UpWorkstationService;
import io.swagger.annotations.ApiOperation;
@@ -26,7 +27,6 @@
public class UpWorkstationController {
    @Autowired
    private UpWorkstationService upWorkstationService;
    private GlassInfo glassInfo;
    @ApiOperation("显示工位上的玻璃信息")
    @GetMapping("/list") //查询现在上片机的玻璃信息
    public Result<List<UpWorkstation>> list() {
@@ -40,15 +40,19 @@
    @ApiOperation("修改工位表增加玻璃信息或者删除玻璃信息,传递Upworkstation类,只修改宽高厚数量膜系")
    @PostMapping("/updateGlassMessage")
    @ResponseBody
    public void updateGlassMessage(@RequestBody UpWorkstation upwork) {
    public Result<UpWorkstation> updateGlassMessage(@RequestBody UpWorkstation upwork) {
        upWorkstationService.updateGlassMessage(upwork);
        return Result.build(200, "", upwork);
    }
    @ApiOperation("开始上片任务")
    @PostMapping("/selectPriority") //开始上片任务
    @PostMapping("/selectPriority") //调用上片任务
    @ResponseBody
    public void selectPriority() {
        upWorkstationService.selectPriority();
        UpWorkSequence work=upWorkstationService.selectPriority();
        log.info("显示可上的玻璃信息:{}", work);
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java
@@ -9,7 +9,7 @@
public class UpWorkSequence {
    private int sequence;
    private int workId;
    private int number;
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -16,7 +16,8 @@
 * @since 2024-04-07
 */
public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> {
    //获取工位信息
    UpWorkSequence selectPriority(@Param("id") int id);
    List<UpWorkSequence> selectPriority(@Param("id") int id);
    //获取下一片玻璃信息
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
@@ -1,6 +1,7 @@
package com.mes.workstation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.workstation.entity.UpWorkSequence;
import com.mes.workstation.entity.UpWorkstation;
/**
@@ -14,12 +15,10 @@
public interface UpWorkstationService extends IService<UpWorkstation> {
    //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
    //删除人工搬走的玻璃信息
//    public void deleteGlass(int id);
    //判断是否可以吸片进行任务
    //判断优先吸片位置后发送出片任务
    public void selectPriority();
    public UpWorkSequence selectPriority();
    //查询正在进行的工程
@@ -29,5 +28,9 @@
     *
     * @param upwork
     */
    //修改工位表增加玻璃信息或者删除玻璃信息
    void updateGlassMessage(UpWorkstation upwork);
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -33,29 +33,14 @@
    //判断优先吸片位置后发送出片任务
    public void selectPriority() {
        //todo:判断是否可以吸片进行任务
//        String loadstart="吸片信号";//plcmes.getPlcParameter("吸片信号").getValue();
//        if (!"1".equals(loadstart)) {
//            return;
//        }
        UpWorkSequence loadid1 = this.baseMapper.selectPriority(1).get(0);
        UpWorkSequence loadid2 = this.baseMapper.selectPriority(2).get(0);
        //判断一二号工位哪边的顺序更先
//        if(loadid1.getSequence()>loadid2.getSequence()) {
//            S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
//        }else if(loadid1.getSequence()==loadid2.getSequence()){
//            //当两个工位上的玻璃数相同时,判断哪个工位上的玻璃数更少,优先清空一个架子
//            int glassnum1=loadid1.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
//            int glassnum2=loadid2.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
//            if(glassnum1>glassnum2){
//                S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2);
//            }else{
//                S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
//            }
//        }else{
//            S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1);
//        }
    public UpWorkSequence selectPriority() {
        UpWorkSequence upwork= this.baseMapper.selectPriority(1);
        String start = "吸片信号";//plcmes.getPlcParameter("吸片信号").getValue();
        if(upwork!=null&&start.equals("1")){
            //发送出片任务
            //plcmes.getPlcParameter("出片信号").setValue("1");
        }
        return upwork;
    }
    /**
@@ -69,4 +54,5 @@
        int update = this.baseMapper.update(upwork, updateWrapper);
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml
@@ -3,20 +3,19 @@
<mapper namespace="com.mes.workstation.mapper.UpWorkstationMapper">
    <resultMap id="sequenceMap" type="com.mes.workstation.entity.UpWorkSequence">
        <id property="sequence" column="layout_sequence"/>
        <result property="number" column="number"/>
        <id property="workId" column="workstation_id"/>
<!--        <result property="number" column="number"/>-->
    </resultMap>
    <select id="selectPriority" resultMap="sequenceMap">
        SELECT
            b.layout_sequence,a."number"
            b.workstation_id
        FROM
            up_workstation a
                LEFT JOIN up_patten_usage b ON a.pattern_width = b.width
                AND a.pattern_heigth = b.width
                AND a.pattern_thickness = b.thickness
        WHERE
            a.workstation_id = #{id}
            ( SELECT * FROM up_patten_usage a WHERE state = 1 ORDER BY a.layout_sequence  LIMIT 1 )as a
                LEFT JOIN up_workstation b ON a.width =b.pattern_width
                AND a.height = b.pattern_heigth
                AND a.thickness = b.pattern_thickness
                AND a.films_id = b.films_id
    </select>