4a51067b4612f348f602c33b82355afa7fc24e54..73d19affacfe22aa0a8c1b92bbf588c7240ed746
2024-09-06 cl
添加报工失败二次报工
73d19a 对比 | 目录
2024-09-06 cl
修改电芯挡位功能
be28fb 对比 | 目录
已修改7个文件
62 ■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/constant/Constants.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/cellData/mapper/DaCellDataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/cellData/service/IDaCellDataService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/cellData/service/impl/DaCellDataServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/da/cellData/DaCellDataMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/constant/Constants.java
@@ -57,6 +57,8 @@
    public static final String OP210= "M2OP210";
    public static final String OP220= "M2OP220";
    public static String OLD_CELL_GEAR = "";
    public static final Integer INT_ONE= 1;
    public static final Integer INT_TWO= 2;
    public static final Integer INT_THREE= 3;
jcdm-main/src/main/java/com/jcdm/main/da/cellData/mapper/DaCellDataMapper.java
@@ -63,4 +63,6 @@
    public int deleteDaCellDataByIds(Long[] ids);
    void deleteDaCellDataByGbCellCode(@Param("gbCellCode") String gbCellCode);
    void deleteDaCellDataByCellSerial(@Param("cellSerial") String cellSerial);
}
jcdm-main/src/main/java/com/jcdm/main/da/cellData/service/IDaCellDataService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.main.da.cellData.domain.DaCellData;
import org.apache.ibatis.annotations.Param;
/**
 * 电芯数据Service接口
@@ -64,4 +65,6 @@
    void insertBatch(List<DaCellData> daCellDataList);
    void deleteDaCellDataByGbCellCode(String gbCellCode);
    void deleteDaCellDataByCellSerial(String cellSerial);
}
jcdm-main/src/main/java/com/jcdm/main/da/cellData/service/impl/DaCellDataServiceImpl.java
@@ -109,4 +109,10 @@
        daCellDataMapper.deleteDaCellDataByGbCellCode(gbCellCode);
    }
    @Override
    public void deleteDaCellDataByCellSerial(String cellSerial) {
        daCellDataMapper.deleteDaCellDataByCellSerial(cellSerial);
    }
}
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -321,7 +321,8 @@
                        CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
                            logger.info("OP100报工开始-工厂MES异步方法");
                            String stationCode = "M2P100";//因为上层系统只支持6位,所有报工工位为M2P100
                            String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), stationCode, format.format(new Date()));
                            //String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), stationCode, format.format(new Date()));
                            String reportResult = OPCUaSubscription.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), stationCode, format.format(new Date()));
                            JSONObject jsonObject = new JSONObject(reportResult);
                            String code = jsonObject.getStr("code");
                            if("success".equals(code)){
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -166,8 +166,9 @@
                            result = 16;//电芯挡位为空
                        }else{
                            String cellGear = cellGearObjcet.toString();
                      /*      List<String> cellCodeList = readCellCodeList(thoroughfare, device);
                            result = checkCellGear(thoroughfare, device,cellCodeList,cellGear);//校验电芯挡位和组别*/
                            List<String> cellCodeList = readCellCodeList(thoroughfare, device);
                            result = checkCellGear(thoroughfare, device,cellCodeList,cellGear);//校验电芯挡位和组别
                            Constants.OLD_CELL_GEAR = cellGear;//挡位赋值
                        }
                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build());
@@ -864,7 +865,7 @@
     */
    private Integer checkCellGear(String thoroughfare, String device,List<String> cellCodeList,String cellGear) throws Exception {
        Integer result = 11;
        String cellSerial = "";
        for(int i = 0; i < cellCodeList.size(); i ++){
            Integer cellStatus = 1;
            String cellCode = cellCodeList.get(i);
@@ -874,20 +875,31 @@
                if(CollUtil.isNotEmpty(list)){
                    DaCellData daCellData = list.get(0);
                    String cellValue = daCellData.getCellValue();//数据库中电芯挡位
                    String cellSerial = daCellData.getCellSerial();//数据库中电芯组别
                    cellSerial = daCellData.getCellSerial();//数据库中电芯组别
                    if(!cellValue.isEmpty() && cellValue.equals(cellGear)){
                        cellStatus = 1;
                    }else {
                        cellStatus = 2;
                        result = 16;//挡位校验不合格
                        log.info("电芯挡位校验不合格:电芯码为{},PLC设置挡位为{},工厂MES下发挡位为:{}",cellCode,cellGear,cellValue);
                    }
                }/*else {
                }else {
                    cellStatus = 2;
                    result = 17;//查不到要校验的挡位
                }*/
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_"+(i+1)).value(cellStatus).build());
                    result = 16;//查不到要校验的挡位
                    log.info("电芯挡位校验不合格:电芯码为{},PLC设置挡位为{},工厂MES下发挡位为空,查询不到该数据",cellCode,cellGear);
                }
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Cell_Status_"+(i+1)).value(cellStatus).build());
            }
        }
        //当电芯挡位发生变化时,并且老的挡位不为空,删除当前电芯批次
        if(!Constants.OLD_CELL_GEAR.isEmpty() && !cellGear.equals(Constants.OLD_CELL_GEAR)){
            if(!cellSerial.isEmpty()){
                daCellDataService.deleteDaCellDataByCellSerial(cellSerial);
            }
            log.info("电芯挡位发生改变,老的挡位为:{},新的挡位为:{},批次号为{}",Constants.OLD_CELL_GEAR,cellGear,cellSerial);
        }
        return result;
    }
@@ -1047,14 +1059,21 @@
    public static String getWorkReportResultFeedback(String productNum,String stationCode,String confirmTime)
    {
        String result = "";
        String url = Constants.FACTORY_EMS_UAT_GET_RUL + "workReportResultFeedback?siteCode="+Constants.FACTORY_EMS_SITE_CODE+"&stationCode="+stationCode+"&productNum="+productNum+"&confirmTime="+confirmTime;
        try {
            String url = Constants.FACTORY_EMS_UAT_GET_RUL + "workReportResultFeedback?siteCode="+Constants.FACTORY_EMS_SITE_CODE+"&stationCode="+stationCode+"&productNum="+productNum+"&confirmTime="+confirmTime;
            log.info("执行工厂MES报工方法start,序列号{}工位号{}url{}",productNum,stationCode ,url);
            HttpResponse response = HttpRequest.get(url).execute();
           /* HttpRequest httpRequest = HttpRequest.get(url);*/
            //HttpRequest httpRequest = HttpRequest.get(url);
            result =  response.body();
            log.info("执行工厂MES报工方法第一次end,序列号{}工位号{}返回数据{}",productNum,stationCode ,result);
        }catch (Exception e){
            throw new RuntimeException(e);
        }finally {
            if(result.isEmpty()){
                HttpResponse response = HttpRequest.get(url).execute();
                result =  response.body();
                log.info("执行工厂MES报工方法第二次end,序列号{}工位号{}返回数据{}",productNum,stationCode ,result);
            }
            return result;
        }
    }
jcdm-main/src/main/resources/mapper/da/cellData/DaCellDataMapper.xml
@@ -147,4 +147,11 @@
        WHERE
            gb_cell_code = #{gbCellCode}
    </delete>
    <delete id="deleteDaCellDataByCellSerial" parameterType="String">
        DELETE
        FROM
            da_cell_data
        WHERE
            cell_serial = #{cellSerial}
    </delete>
</mapper>